主权项 |
基于安卓程序应用间攻击的自动化补丁方法,其特征在于,包括如下步骤:步骤一、配置初始化:通过定义外部配置文件和分析安卓程序得到其中所有的关键点:源点、沉淀点、入口点和出口点;通过解析形成关键点数据结构,将数据存入内存;所述源点定义为与权限相关的API调用代码片段,所述沉淀点定义为发生数据传送出设备的代码片段,所述入口点定义为进入一个应用的入口方法,所述出口点定义为跳转到应用内其他组件或者跳转到其他应用组件的代码片段;步骤二、路径提取:根据已有的四种关键点,设定开始点和结束点;然后构造控制流图,在安卓应用程序中找出所有符合条件的开始点和结束点;使用静态污点分析,通过向前分析和向后分析找出所有存在的数据流;构造从开始点至结束点的关键路径;将关键路径记录至路径文件中;步骤三、关键点定位:根据步骤二提供的关键路径,对入口点、出口点和沉淀点进行定位,定位关键点时根据其所在的关键路径,查找出所有可能存在越权攻击的关键点;步骤四、应用间攻击补丁:包括越权攻击分析步骤、信息泄露分析步骤和合谋攻击分析步骤,所述越权攻击分析步骤包括:在入口点针对越权攻击进行补丁,通过在入口点至源点的路径中使用权限聚集算法,获取入口点方法上所有的权限,对外部调用者进行权限切割,起到防护作用;所述信息泄露分析步骤包括:分析源点至沉淀点的路径识别应用内泄露并阻止泄漏,分析入口点至沉淀点的路径通过获取入口点中所包含的参数,判断其是否存在敏感信息,进而判断出该路径是否存在应用间信息泄露的风险,如存在风险则阻止泄漏;所述合谋攻击分析步骤包括:对合谋攻击可能发生的出口点进行补丁,将源点的信息添加进应用间通信的消息句柄中,同时将可能通过该应用进行合谋的通道给阻断。 |