AppShark:一款针对Android应用程序的静态分析与漏洞扫描框架
关于AppShark
AppShark是一款针对Android应用程序的安全测试框架,该工具本质上是一个静态污点分析平台,可以用于扫描Android应用程序中的漏洞。
AppShark除了实现行业普遍应用的数据流分
|
关于AppShark AppShark是一款针对Android应用程序的安全测试框架,该工具本质上是一个静态污点分析平台,可以用于扫描Android应用程序中的漏洞。 AppShark除了实现行业普遍应用的数据流分析,还将指针分析与数据流分析融合,因而漏洞建模上更精准,规则更灵活app应用程序,在误报率和漏报率方面有了比较大的改进。Appshark可以作为公司内部的Android App的自动化检测工具,辅助企业发现App的安全漏洞及隐私合规风险,也可以作为白帽子日常App漏洞挖掘的助手,提高漏洞挖掘的效率及产出。 工具要求 AppShark需要使用指定版本的JDK,即JDK11。经过测试后,我们发现该工具不支持其他的LTS版本,比如说JDK8和JDK16。 工具下载 广大研究人员可以使用下列命令将该项目源码克隆至本地: git?clone?https://github.com/bytedance/appshark.git 项目构建与编译 打开命令行终端,然后切换到项目目录下,并使用gradle工具完成项目代码的构建和编译: $ ./gradlew build ?-x test 执行上述命令之后,我们将会在项目目录的build/libs中查看到生成的jar文件:AppShark-0.1.1-all.jar。 AppShark运行 在命令行终端中切换到项目根目录下,然后运行下列命令并使用配置文件来执行AppShark: $ java -jar build/libs/AppShark-0.1.1-all.jar ?config/config.json5 config.json5文件的配置内容如下所示: {
??"apkPath": "/Users/apks/app1.apk",
??"out": "out",
??"rules": "unZipSlip.json",
??"maxPointerAnalyzeTime": 600
}
其中的每一个JSON字段解释如下: apkPath:需要分析的apk文件路径; out:输出目录路径; rules:规则文件的路径地址,可以指定多条; maxPointerAnalyzeTime:从每一个入口点执行分析的超时时间间隔; debugRule:指定调试过程中启用日志记录的规则名称; 结果解析 下面给出的是一个results.json文件示例: {
??"AppInfo": {
????"AppName": "test",
????"PackageName": "net.bytedance.security.app",
????"min_sdk": 17,
????"target_sdk": 28,
????"versionCode": 1000,
????"versionName": "1.0.0"
??},
??"SecurityInfo": {
????"FileRisk": {
??????"unZipSlip": {
????????"category": "FileRisk",
????????"detail": "",
????????"model": "2",
????????"name": "unZipSlip",
????????"possibility": "4",
????????"vulners": [
??????????{
????????????"details": {
??????????????"position": "
许可证协议 本项目的开发与发布遵循Apache-2.0开源许可证协议。 项目地址 AppShark:【GitHub传送门】 参考资料 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

