NDSS 15: AAAL: Detecting Privacy Leakages via Enhanced Data-flow Analysis and Peer Voting
AAAL是检测Android App信息泄露的工具,相比其他工具,主要不同体现在:
在查找Source到sink路径的基础上,会额外做:
(1)重构source/sink的string参数,比如ContentResolver.query()中第一个参数content的URI,根据这个参数判断source所属的内容范围,减少误报。(技术一:Opportunistic Constant Evaluation)
(2)对sink进行data flow分析,分析所有相关代码片段,确认所用sink函数具体类型(比如是文件写还是网络发送)(技术二:Object Origin Inference)
(3)联合数据流分析,将子path结合起来,分析联合数据流的source和sink(技术三:Joint Flow Tracking)
在找到source和sink的基础上,会利用Google play推荐,找出属于同一类别的其他app,利用其他app的信息泄露与该app进行比较,如果都一致,忽略该信息泄露,减少误报。(技术四:Peer Voting Mechanism)
背景知识:
Android静态程序分析中,source是指获取用户信息的函数,如getDeviceID,sink是指将信息发送/保存的函数,如文件写,网络发送。
source和sink函数之间的路径path,包含了从信息获取,到将信息发送出去的整个过程所有代码,称为信息泄露(Privacy Leakage)。
Related URL: