android应用软件漏洞静态挖掘技术.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
android应用软件漏洞静态挖掘技术

Huazhong University of Science and Technology Android应用软件漏洞静态挖掘技术 汤俊伟 刘家帧 李瑞轩 李伟明 华中科技大学计算机科学与技术学院 华中科技大学网络与计算中心 报告提纲 一,问题背景 二,二进制逆向分析 三,中间代码静态分析 四,漏洞检测 五,评价 IDC Lab, HUST * 问题背景 漏洞危害:漏洞可能被攻击者用以实现拒绝服务攻击、 权限提升、窃取应用数据和用户隐私等 漏洞形式多样:组件间通信,网络通信,数据存储, 混合应用漏洞等 动态分析代码覆盖率低、静态分析速度快 代码混淆等对抗分析技术流行 Android程序独特的生命周期 …… 二进制逆向分析 将应用安装文件成功转化为语义完整的可分析 代码是本研究关键的第一步 解析AndroidManifest文件:权限、组件信息 dex字节码文件 与 java字节码的转换 代码包的层次关系 SAAF,AXMLPrinter2,baksmali等一些 开源逆向项目 中间代码静态分析 Android应用与通常的Java程序不同,不存在主函数,应用的运行以及函数之间的调用是通过事件回调函数来实现的,并且回调时机与组建的生命周期相关 Android应用程序生命周期图 中间代码静态分析 设置source,sink,entrypoint 生成伪主函数(FlowDroid、soot) 构建过程间控制流图 遍历过程间控制流图(污点跟踪) 中间代码静态分析 根据生成的应用伪主函数和应用的函数调用关系图,可以构建应用的ICFG(过程间控制流图),ICFG中每个节点表示一个函数或代码块,图中的边表示可能的节点之间的调用关系. 过程间调用关系图 漏洞检测 基于指纹特征的Android应用软件漏洞检测 漏洞类别:数据泄露,未知代码执行,注入漏 洞,内容共享与代码加载,编码失效 检测方式:规则库匹配 研究其漏洞模式和产生的原理,提取漏洞特征,编 写漏洞检测规则. 覆盖15种常见漏洞 常见漏洞类别 类别 子类别 特征 数据泄露 ? 敏感数据外部存储 敏感信息存储在sdcard 敏感数据明文存储 数据存储未经过加密处理 敏感数据明文传输 网络传输时,数据未经过加密处理 日志泄露敏感数据 敏感数据通过logcat以日志的形式输出 未知代码执行 WebView远程代码执行 WebView组件将本地对象暴露给JS脚本 Shell命令执行 使用Runtime.exec来执行shell命令 注入漏洞 SQL代码注入 sql语句接收未经校验的参数输入 Intent注入 包含export为true的组件,且存在可能被注入的Intent-filter 内容共享与代码加载 Package资源共享 存在Package contexts资源共享,使应用可以在运行时加载别的应用的资源文件和代码 ClassLoaders执行未知代码 使用classloader加载未知代码 Native未知代码执行 使用NDK等开发技术,加载本地库文件 ApkInstall加载外部包代码 调用PackageManager下载和安装指定的APK 编码失效 可逆编码 应用程序使用的编码函数过于简单 硬编码 将密钥以字符串形式写入代码 弱密码 不安全的伪随机数生成器或错误的密钥设置 IDC Lab, HUST * 评价 测试集:113个Android应用(包含10个样本应用,103个 市场流行应用) 二进制代码逆向分析模块的成功率明显优于不能对抗 代码混淆的系统,达到92% ;失败原因是无法绕过某 些应用所采取的加固处理 能对特征库种包含的15种漏洞进行检测 人工分析加以验证 评价 IDC Lab, HUST * 构造的应用伪main函数图 评价 IDC Lab, HUST * 以伪主函数为入口,分析函数调用关系,构建应用的函数调用图 评价 IDC Lab, HUST * IDC Lab, HUST * 谢谢! 华中科技大学智能与分布计算实验室 * 针对Android应用软件的代码静态分析主要采用缺陷模式匹配和数据流分析技术,分析与用户隐私相关的敏感数据在应用代码中的使用和传播情况.Android应用与传统的Java程序不同,不存在唯一的Main函数,其运行是基于组件的生命周期和事件响应机制的 * 1,sink点和entrypoint进行检测;这些点是人工按照一定的安全经验知识定义的。source点是指敏感数据的获取点,主要是获取敏感数据的API函数(如getDeviceID等),sink点是指数据传出点,主要是

文档评论(0)

zhaoxiaoj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档