基于模糊测试的漏洞挖掘及攻防技术
Posted dongdong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于模糊测试的漏洞挖掘及攻防技术相关的知识,希望对你有一定的参考价值。
- 课程:《密码与安全新技术》
- 班级: 1792班
- 姓名: 李栋
- 学号:20179210
- 上课教师:谢四江
- 主讲人:王志强
- 上课日期:2018年5月10日
- 必修/选修: 必修
常见漏洞挖掘技术
手工测试
- 补丁比对
- 定义:一种通过对比补丁之间的差异来挖掘漏洞的技术。
- 优点:发现速度快
- 缺点:已知漏洞
- 常见工具:PatchDiff2、bindiff
- 程序分析
- 静态
- 定义:是指在不运行计算机程序的条件下,通过词法分析、语法分析、语义分析、控制流分析、污点分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性等指标的一种代码分析技术。
- 优点:覆盖率100%,自动化程度高
- 缺点:漏报和误报(RICE,程序分析问题不可判定)
- 动态
- 定义:在运行计算机程序的条件下,验 证代码是否满足规范性、安全性等指标的一种代码分析技术。一般通过插桩技术分析程序的异常行为。
- 插桩技术是指在保证被测程序逻辑完整性的基础上在程序的关键位置插入一些“桩”,即加入一些测试代码,然后执行插桩后的程序,通过“桩”的执行获取程序的控制流和数据流信息,进而分析程序的异常行为。
- 优点:自动化程度高、覆盖率较高
- 缺点:漏报和误报(RICE,程序分析问题不可判定)
- 工具:android:Xposed
- 静态
- 二进制审核
- 定义:源代码不可得,通过逆向获取二进制代码,在二进制代码层次上进行安全评估
- 优点:缺点: 同静态审核
- 逆向导致信息丢失,理解困难,甚至引入逻辑错误。
- 二进制及编辑工具:IDA Pro、Ollydbg、UltraEdit、Hex Workshop以及WinHex
- 模糊测试
- 定义:通过向被测目标输入大量的畸形数据并监测其异常来发现漏洞
- 关键:测试用例构造,自动化。
- 优点:无须源码、误报低、自动化程度高
- 缺点:覆盖率低
- 工具:Peach、Sulley、Autodafe、SPIKE等
漏洞挖掘示例
- 路由器协议漏洞挖掘
- NFC漏洞挖掘
- NFC(Near Field Communication)技术是一种近距离的双向高频无线通信技术,能够在移动终端、智能标签(Tag)等设备间进行非接触式数据交换。
- NFC技术具有通信距离短、一次只和一台设备连接(1V1)、硬件安全模块加密等特点,具有较好的保密性和安全性
- 微信XSS漏洞
Android常用工具
- 静态分析工具
- JEB 收费
- Androwarn—静态分析APK的Dalvik字节码(smali),并把潜在的恶意行为提示给用户。
- Androguard是一个静态工具集。功能:反汇编/反编译/静态分析apk/相似度对比/测试混淆程度/恶意代码检测/
- DroidBox—Android应用程序动态分析工具
- 动态分析工具
- Mercury—是一个开源的Android APP应用安全评估框架,它最赞的功能是可以动态的与android设备中的应用进行IPC(组件通信)[包括Activity,Broadcast receivers,Content providers与Services]交互。
- Drozer是一款针对Android系统的安全测试框架。
- TaintDroid —是一动态实时的隐私监控工具。它是利用动态污点分析技术检测隐私数据的。
- 逆向分析工具
- Smali/Baksmali:DEX文件汇编和反汇编工具。
- Apktool:是GOOGLE提供的APK编译工具。可用于修改APK文件后,重新打包
- Dex2Jar:把apk文件转换成.jar包,配合JD-GUI工具查看和分析java源代码。
- JD、Dedexer、Redexer…
以上是关于基于模糊测试的漏洞挖掘及攻防技术的主要内容,如果未能解决你的问题,请参考以下文章
2017-2018-2 20179225 《密码与安全新技术专题》 第5周作业