Facebook开源马里亚纳海沟静态分析器

Facebook推出了一款新的开源静态分析器Mariana Trench,旨在识别Android应用程序和Java程序中的漏洞。 可以在没有源代码的情况下分析项目,因为只有 Dalvik 虚拟机的字节码可用。 另一个优点是它非常高的执行速度(分析几百万行代码大约需要 10 秒),这允许您使用马里亚纳海沟在所有建议的更改到达时进行检查。 该项目代码是用 C++ 编写的,并根据 MIT 许可证分发。

该分析器是作为 Facebook、Instagram 和 Whatsapp 移动应用程序源文本审查流程自动化项目的一部分而开发的。 2021 年上半年,Facebook 移动应用程序中的所有漏洞中有一半是使用自动分析工具识别的。 马里亚纳海沟代码与 Facebook 的其他项目紧密相连;例如,使用 Redex 字节码优化器来解析字节码,使用 SPARTA 库对静态分析结果进行可视化解释和研究。

通过分析应用程序执行期间的数据流来识别潜在的漏洞和隐私问题,以识别以危险结构处理原始外部数据的情况,例如 SQL 查询、文件操作和触发外部程序的调用。

分析器的工作归结为识别数据源和不应使用源数据的危险调用 - 分析器通过函数调用链跟踪数据通道,并将源数据与代码中潜在危险的位置连接起来。 例如,通过调用 Intent.getData 接收的数据被认为需要源跟踪,而对 Log.w 和 Runtime.exec 的调用被认为是危险用途。

Facebook开源马里亚纳海沟静态分析器


来源: opennet.ru

添加评论