[发明专利]一种Android混合应用代码注入的漏洞检测系统及方法有效
申请号: | 201810473411.0 | 申请日: | 2018-05-17 |
公开(公告)号: | CN108647517B | 公开(公告)日: | 2021-02-09 |
发明(设计)人: | 李瑞轩;涂建伟;汤俊伟;韩洪木;辜希武;张婧;代德顺 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F21/55 | 分类号: | G06F21/55;G06F21/56;G06F21/57 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 曹葆青;李智 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 android 混合 应用 代码 注入 漏洞 检测 系统 方法 | ||
1.一种Android混合应用代码注入的漏洞检测系统,其特征在于,包括:
权限特征提取模块(110),用于从待检测混合应用代码的配置应用代码提取出待检测混合应用的敏感权限申请集;
数据通道特征提取模块(120),用于从待检测混合应用代码中用于实现应用界面和业务逻辑代码中提取出数据通道的源点集和接收点集;以及
漏洞检测模块(130),其第一输入端同权限特征提取模块(110)的输出端连接,其第二输入端同数据通道特征提取模块(120)的输出端连接,用于根据敏感权限申请集和数据通道的源点集和接收点集,利用漏洞检测模型判定待检测混合应用是否存在漏洞代码注入;
其中,漏洞检测模型通过对无漏洞混合应用代码的特征和有漏洞混合应用代码的特征进行学习后获得,特征包括敏感权限申请集和数据通道的源点集及接收点集;
数据通道特征提取模块(120)包括第二数据预处理单元及输入端同第二数据预处理单元的输出端连接的通道首末点提取单元;
第二数据预处理单元用于将用于实现应用界面和业务逻辑代码根据调用关系分解为多个代码片,通道首末点提取单元用于从每个代码片中提取出插件函数作为代码片数据通道的源点,将触发插件所传输数据中脚本代码的API作为代码片数据通道的接收点,并将所有代码片的代码数据通道的源点和接收点合并作为数据通道的源点集及接收点集输出;
所述权限特征提取模块(110)从待检测混合应用代码的配置应用代码提取出待检测混合应用的敏感权限申请集的具体方式包括:根据WebView中的JavaScript代码访问设备资源时使用的插件API和权限申请之间的对应关系确定预设敏感权限集,提取出待检测混合应用中可能使用外部、内部通道进行数据传输时使用全部权限申请,比较待检测混合应用的权限申请和预设敏感权限集,将待检测混合应用的权限申请中存在的预设敏感权限集中预设敏感申请作为的待检测混合应用的敏感权限集,获得待检测混合应用的敏感权限申请集;
所述漏洞检测模型的获取方式包括:
对于敏感权限申请集和数据通道的源点集及接收点集构成的特征向量,使用朴素贝叶斯、SVM、决策树、随机树和随机森林算法多种机器学习算法对特征向量进行训练,构建漏洞检测模型;
利用用于训练的无漏洞混合应用代码特征和有漏洞混合应用代码特征进行漏洞预测,统计各个混合应用代码的TP、TN、FP、FN值,并计算漏洞预测结果的准确率、召回率、精确率和F值;
对漏洞预测结果进行分析,分析每个混合应用代码特征的数据散点图和分布图,筛选、组合特征,调整特征的参数,获得多个优化预测模型;
对多个优化后的模型,利用测试混合应用代码特征再进行预测,对比预测效果,选择最佳的优化预测模型作为获得最终的漏洞检测模型。
2.如权利要求1所述的漏洞检测系统,其特征在于,权限特征提取模块(110)包括第一数据预处理单元和输入端同第一数据预处理单元的输出端连接的敏感权限特征提取单元;
第一数据预处理单元用于从待检测混合应用代码中提取出配置应用代码,敏感权限特征提取单元用于根据预设敏感权限集从待检测混合应用代码的配置应用代码中提取出敏感权限申请集。
3.如权利要求1或2所述的漏洞检测系统,其特征在于,数据通道特征提取模块(120)还包括输出端同第二数据预处理单元的输入端连接的数据过滤单元,用于从实现应用界面和业务逻辑代码中剔除插件库函数代码、JQuery的API函数代码注释代码以及混淆代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810473411.0/1.html,转载请声明来源钻瓜专利网。