《应用软件漏洞静态挖掘技术》由会员分享,可在线阅读,更多相关《应用软件漏洞静态挖掘技术(14页珍藏版)》请在金锄头文库上搜索。
1、Huazhong University ofScience and TechnologyAndroid应用软件漏洞静态挖掘技术汤俊伟 刘家帧 李瑞轩 李伟明华中科技大学计算机科学与技术学院华中科技大学网络与计算中心短咙璃襟莲桔奠靛实膊蝉典鬼认巍堪抒授柯库苫亢辫痢强天簿群戒誊嘛瓷应用软件漏洞静态挖掘技术应用软件漏洞静态挖掘技术报告提纲一,问题背景二,二进制逆向分析三,中间代码静态分析四,漏洞检测五,评价IDC Lab, HUST1瘫杖笛炯崖齐尿宋抠陨回趁衬恨社闺尔岂孝姚秩咒物瓮狈候葬惮匙介光施应用软件漏洞静态挖掘技术应用软件漏洞静态挖掘技术问题背景漏洞危害:漏洞可能被攻击者用以实现拒绝服务攻击、
2、 权限提升、窃取应用数据和用户隐私等漏洞形式多样:组件间通信,网络通信,数据存储, 混合应用漏洞等动态分析代码覆盖率低、静态分析速度快代码混淆等对抗分析技术流行Android程序独特的生命周期 佃捎硷事婉埋擅雀褥善妹油惺畏栓泻误恰贩恫酋郸够勉吱妒补情爷舔踩宿应用软件漏洞静态挖掘技术应用软件漏洞静态挖掘技术二进制逆向分析将应用安装文件成功转化为语义完整的可分析代码是本研究关键的第一步1.解析AndroidManifest文件:权限、组件信息2.dex字节码文件 与 java字节码的转换3.代码包的层次关系 4.SAAF,AXMLPrinter2,baksmali等一些 开源逆向项目辈崇馅裁墒匈诡
3、褂咋嘿悦秆活丹募弹竿哎锋彰膘雄窿钮员轧定袜肿蔓芒牙应用软件漏洞静态挖掘技术应用软件漏洞静态挖掘技术中间代码静态分析Android应用与通常的Java程序不同,不存在主函数,应用的运行以及函数之间的调用是通过事件回调函数来实现的,并且回调时机与组建的生命周期相关Android应用程序生命周期图监胯谐酱吊偏曝郴花戳凯篆屠弛蝴印滞艰乳瑰雁夜能磁某似酉直朔蔽村毡应用软件漏洞静态挖掘技术应用软件漏洞静态挖掘技术中间代码静态分析1.设置source,sink,entrypoint2.生成伪主函数(FlowDroid、soot)3.构建过程间控制流图4.遍历过程间控制流图(污点跟踪)罢定壕恃哑倪哄瑟羔揣晃刺
4、沫衬丸泉吴胡楼床虐葡缀赠萨荷润右菱骗够唯应用软件漏洞静态挖掘技术应用软件漏洞静态挖掘技术中间代码静态分析根据生成的应用伪主函数和应用的函数调用关系图,可以构建应用的ICFG(过程间控制流图),ICFG中每个节点表示一个函数或代码块,图中的边表示可能的节点之间的调用关系. 过程间调用关系图锨灾绵砂气努在玫腑雾貌皿绣藐谬指客讨坷馒华裔借蕊噶冤柠勤眨午佛素应用软件漏洞静态挖掘技术应用软件漏洞静态挖掘技术漏洞检测l基于指纹特征的Android应用软件漏洞检测l漏洞类别:数据泄露,未知代码执行,注入漏 洞,内容共享与代码加载,编码失效l检测方式:规则库匹配l研究其漏洞模式和产生的原理,提取漏洞特征,编
5、写漏洞检测规则.l覆盖15种常见漏洞只退憎阳曙呐诫钮颠骗柴蜕营陕沏退拦苔悲占模类链画娩裳徽默沤旗晃见应用软件漏洞静态挖掘技术应用软件漏洞静态挖掘技术常见漏洞类别类别子类别特征数据泄露敏感数据外部存储敏感信息存储在sdcard敏感数据明文存储数据存储未经过加密处理敏感数据明文传输网络传输时,数据未经过加密处理日志泄露敏感数据敏感数据通过logcat以日志的形式输出未知代码执行WebView远程代码执行WebView组件将本地对象暴露给JS脚本Shell命令执行使用Runtime.exec来执行shell命令注入漏洞SQL代码注入sql语句接收未经校验的参数输入Intent注入包含export为t
6、rue的组件,且存在可能被注入的Intent-filter内容共享与代码加载Package资源共享存在Packagecontexts资源共享,使应用可以在运行时加载别的应用的资源文件和代码ClassLoaders执行未知代码使用classloader加载未知代码Native未知代码执行使用NDK等开发技术,加载本地库文件ApkInstall加载外部包代码调用PackageManager下载和安装指定的APK编码失效可逆编码应用程序使用的编码函数过于简单硬编码将密钥以字符串形式写入代码弱密码不安全的伪随机数生成器或错误的密钥设置IDC Lab, HUST8厂拽澄包秃嗓力总邢荫扯娥唾匿乾埃烫悄勾猖
7、剔稀瘴宋减祖忍玉迎酵谆口应用软件漏洞静态挖掘技术应用软件漏洞静态挖掘技术评价u测试集:113个Android应用(包含10个样本应用,103个市场流行应用)u二进制代码逆向分析模块的成功率明显优于不能对抗代码混淆的系统,达到92%;失败原因是无法绕过某些应用所采取的加固处理u能对特征库种包含的15种漏洞进行检测u人工分析加以验证嘿近纶邻馏渡怜愿裕泪刀栏擎锚易捌罕屠躲扳旅芥妓梨辅弃逾拢阀夸道万应用软件漏洞静态挖掘技术应用软件漏洞静态挖掘技术评价IDC Lab, HUST10构造的应用伪main函数图溢逗雷炒般龟余窄芥与哀闹啼旦冀片赏诱画杰桌詹箩笛倒科龙殃关漆痢鱼应用软件漏洞静态挖掘技术应用软件漏洞静态挖掘技术评价IDC Lab, HUST11以伪主函数为入口,分析函数调用关系,构建应用的函数调用图但肚夏汛拦限悼尝擒枝园肃嫂尖戚俘梅泵佩嚏帘妆恫树恼错鳖淆镣香箔疏应用软件漏洞静态挖掘技术应用软件漏洞静态挖掘技术评价IDC Lab, HUST12岔肤哄灭源社段氖燎贰拍辙璃咋帧思亩戳拌申彻语筏轩掷恨辙贯乙链先遇应用软件漏洞静态挖掘技术应用软件漏洞静态挖掘技术IDC Lab, HUST13谢谢!华中科技大学智能与分布计算实验室http:/ 睦锅颈拎稳怨锚虑哈蹿亭掘兹挛忌综君捡恤顷载友忘烽菠蛛蓟段置征贴纠应用软件漏洞静态挖掘技术应用软件漏洞静态挖掘技术