当前位置: 首页 > 科技观察

MarianaTrench:针对Android和Java应用程序的静态代码分析工具

时间:2023-03-15 15:05:44 科技观察

关于MarianaTrenchMarianaTrench是一个强大的静态代码分析平台,借助该工具,研究人员可以轻松地针对Android和Java应用程序进行静态代码分析。在这篇文章中,我们将指导您在自己的设备上安装和配置MarianaTrench,然后利用MarianaTrench查找一个小型App中的远程代码执行漏洞。依赖组件MarianaTrench的正常运行需要在本地安装并配置最新版本的Python环境。在macOS上,我们可以通过homebrew获取最新版本的Python:$brewinstallpython3在Debian系统(Ubuntu、Mint、Debian)上,我们可以使用apt-get来完成Python安装:$sudoapt-getinstallpython3python3-pippython3-venv注意:您还需要在本地设备上安装和配置AndroidSDK,并设置“$ANDROID_SDK”环境变量指向SDK安装路径。另外,我们还需要在虚拟环境中运行,这一步可以通过以下命令来实现:$python3-mvenv~/.venvs/mariana-trench$source~/.venvs/mariana-trench/bin/activate(mariana-trench)$如果终端窗口的命令提示符前面显示虚拟环境的名称,则表示您的虚拟环境已成功激活。工具安装在虚拟环境中安装MarianaTrench非常简单,只需运行以下命令:(mariana-trench)$gitclonehttps://github.com/facebook/mariana-trench(mariana-trench)$cdmariana-trench/documentation/sample-app接下来我们可以进行静态代码分析了:(mariana-沟槽)$mariana-trench\--system-jar-configuration-path=$ANDROID_SDK/platforms/android-30/android.jar\--apk-path=sample-app-debug.apk\---source-root-directory=app/src/main/java#...INFO在4.04秒内分析了68886个模型。Found4issues!#...使用MarianaTrench分析测试App后,会发现4个安全问题problem,分析的输出会包含应用中每个方法的相关信息。进一步处理分析的输出不是人类可读的,所以我们需要进一步处理信息,这里我们将使用SAPP:(mariana-trench)$sapp--tool=mariana-trenchanalyze.(mariana-trench)$sapp--database-name=sapp.dbserver--source-directory=app/src/main/java#...2021-05-1212:27:22,867[INFO]*运行在http://最后一行oflocalhost:5000/(PressCTRL+Ctoquit)的输出说明SAPP已经启动了一个本地的web服务器,我们可以直接查看分析结果。工具运行结果许可协议本项目的开发和发布遵循MIT开源许可协议。项目地址马里亚纳海沟:[GitHub传送门]