SPRD:Android重打包应用的UI与程序依赖图检测技术

0 下载量 110 浏览量 更新于2024-08-29 收藏 869KB PDF 举报
"SPRD:基于应用UI和程序依赖图的Android重打包应用快速检测方法" 在移动设备领域,Android应用程序的安全性一直是一个重要的议题。尤其是重打包应用(repacked apps),它们是合法应用的恶意变体,通过篡改源代码注入恶意行为,对用户隐私和系统安全构成威胁。针对这一问题,研究人员提出了SPRD(scalable and precise repacking detection)方法,这是一种高效且准确的检测重打包应用的技术。 SPRD方法主要基于应用的用户界面(UI)和程序依赖图(program dependency graph, PDG)进行分析。由于重打包应用通常保留原始应用的UI结构,该方法首先利用UI的抽象表示构建散列值,以进行快速的相似性检测。通过对应用的UI元素进行抽象和哈希处理,可以快速识别出UI结构相似的可疑应用,这一步骤有效地缩小了潜在重打包应用的范围。 在初步筛选出可能的重打包应用后,SPRD方法进一步通过程序依赖图来实现细粒度的代码克隆检测。PDG能够反映代码间的控制流和数据依赖关系,通过分析这些关系,可以精准地识别出被篡改或添加的恶意代码段。这种方法提高了检测的精度,减少了误报的可能性。 SPRD系统的实现和实验表明,该方法具有良好的可扩展性和准确性。它能有效地应用于大规模的应用市场,处理百万级应用和亿万级代码的数据量。这意味着SPRD对于维护Android应用市场的安全性和用户隐私具有重大意义,能够帮助开发者和安全机构快速定位并消除潜在的恶意应用。 关键词:重打包;代码克隆;用户界面;程序依赖图;安全与隐私 这个研究工作不仅提供了一种新的检测工具,也为未来对抗移动应用安全威胁的研究提供了新的思路和方法。通过结合UI和代码分析,SPRD展示了在复杂的应用环境中如何实现高效的恶意软件检测,为提升Android应用的安全环境做出了贡献。

编译安卓代码有如下报错怎么解决FAILED: out/soong/build.ninja cd "$(dirname "out/host/linux-x86/bin/soong_build")" && BUILDER="$PWD/$(basename "out/host/linux-x86/bin/soong_build")" && cd / && env -i "$BUILDER" --top "$TOP" --soong_out "out/soong" --out "out" -o out/soong/build.ninja --globListDir build --globFile out/soong/globs-build.ninja -t -l out/.module_paths/Android.bp.list --available_env out/soong/soong.environment.available --used_env out/soong/soong.environment.used.build Android.bp InitTmsEnv: err1 = open vendor/tms/proprietary/conf/nfc/hw/tms_env.sh: no such file or directory InitTmsEnv: path1 = vendor/tms/proprietary/conf/nfc/hw/tms_env.sh GetCrootPath: path = /home/joey/my_work/sprd/C9000U/out/host/linux-x86/bin/../../../.. sven version name : 13 sven version number: 13 binSeGetProps: USE_C1= binSeGetProps: USE_TMS_NFC= true lib7816GetProps: USE_C1= lib7816GetProps: USE_TMS_NFC= true libTmsDlCommonGetProps: USE_C1= libTmsDlCommonGetProps: USE_TMS_NFC= true camera device DEBUG_MALLOC Off libTmsDlReeGetProps: USE_C1= libTmsDlReeGetProps: USE_TMS_NFC= true libTmsDlTeeGetProps: USE_C1= libTmsDlTeeGetProps: USE_TMS_NFC= true DEBUG_MALLOC_OFF Killed 07:23:12 soong bootstrap failed with: exit status 1 ninja: build stopped: subcommand failed. #### failed to build some targets (19:09 (mm:ss)) #### ===============BUILD TIME ANALYSIS=============== [total build time 0:34:21 (hh:mm:ss)] bsp build time: 0:15:12(44.25%) android build time: 0:19:09(55.75%) [android build]regen: 0:19:09(100.00%) [android build]real build: 0:00:00(0.00%) [android build time details] startup: 99.50ms(0.00%) find modules: 371.32ms(0.02%) [total]path: 430.37ms(0.02%) [total]dumpvars: 9,391.34ms(0.46%) [total][soong]blueprint bootstrap: 4,858.69ms(0.24%) [total][soong]environment check: 0.02ms(0.00%) [total][soong]bpglob: 313.70ms(0.02%) [total][soong]bootstrap: 1,133,323.78ms(54.99%) [total]soong: 1,138,498.31ms(55.24%) [total]dist: 0.56ms(0.00%) total: 1,148,322.27ms(55.72%) upload_metrics: 0.05ms(0.00%) [build command] build/soong/soong_ui.bash --make-mode -j64 ===============BUILD TIME ANALYSIS===============

2023-06-07 上传