摘要

小程序以弱类型的JavaScript语言作为开发语言,对弱类型语言数据流和控制流的分析是准确构建函数调用图的关键。但由于小程序框架代码闭源,现有工具无法分析出其框架代码和业务代码交互的数据流和控制流信息,使其无法准确构建出函数调用图。为此本文提出了融合指针分析和关系图谱的小程序函数调用图构建方法,该方法先对文档知识进行抽取和融合构建初始关系图谱模型,再通过对代码逻辑数据流的分析来完善关系图谱,最后利用关系图谱整合和挖掘出的交互信息来指导指针分析算法对小程序函数调用图进行构建。基于该方法本文实现了小程序静态分析工具MiniDroid,实验表明MiniDroid构建的小程序函数调用图准确性达到89%,与现有工具相比提升了39%。MiniDroid对敏感API检测准确率为92%,相比于前人检测方法提升了14%。