2017-2018-2 20179215 《密码与安全新技术》第5周做业html
课程:《密码与安全新技术》java
班级: 1792python
姓名: 袁琳android
学号:20179215编程
上课教师:谢四江windows
上课日期:2018年5月10日sass
必修/选修: 必修安全
安全漏洞:是指信息系统在设计、实现或者运行管理过程当中存在的缺陷或不足,从而使攻击者可以在未受权的状况下利用这些缺陷破坏系统的安全策略。安全漏洞是网络攻击和防护的关键点。网络
(1)手工测试数据结构
手工测试是由测试人员手工分析和测试被测目标,发现漏洞的过程,是最原始的漏洞挖掘方法。
(2)补丁比对
补丁对比是一种经过对比补丁之间差别来挖掘漏洞的技术。
常见工具:PatchDiff二、bindiff
(3)程序分析
包括静态和动态。
定义:是指在不运行计算机程序的条件下,经过词法分析、语法分析、语义分析、控制流分析、污点分析等技术对程序代码进行扫描,验证代码是否知足规范性、安全性等指标的一种代码分析技术。
工具:
(4)二进制审核
定义:源代码不可得,经过逆向获取二进制代码,在二进制代码层次上进行安全评估
二进制及编辑工具:IDA Pro、Ollydbg、UltraEdit、Hex Workshop以及WinHex
(5)模糊测试
定义:经过向被测目标输入大量的畸形数据并监测其异常来发现漏洞
关键:测试用例构造,自动化。
工具:Peach、Sulley、Autodafe、SPIKE等
(1)路由器协议漏洞挖掘
目标选择:Cisco为例
系统架构
当远程向路由器的161端口发送大量畸形SNMP Get/Set请求报文时,Cisco路由器和华为路由器的进程Agent出现CPU使用率异常,分别为98%和100%。
当远程发送SNMP空数据包时,Cisco路由器和华为路由器的CPU使用率出现异常,但远小于100%,发生“轻度拒绝服务”。
当远程发送一个畸形ASN.1/BER编码(超长字符串)的SNMP数据包时,wireshark捕获并解析数据包,致使wireshark 1.4等多个版本栈溢出,致使空指针引用并崩溃。
当向SNMP协议端口(161)远程发送一个使用“\x”等字符构造的畸形UDP数据包,科来网络分析系统7.2.1及之前版本均会因边界条件检查不严致使崩溃。
(2)NFC漏洞挖掘
NFC(Near Field Communication)技术是一种近距离的双向高频无线通讯技术,可以在移动终端、智能标签(Tag)等设备间进行非接触式数据交换。
NFC技术具备通讯距离短、一次只和一台设备链接(1V1)、硬件安全模块加密等特色,具备较好的保密性和安全性
(1)静态分析工具
Androguard是一个静态工具集。
包含Androaxml、Androapkinfo、Androcsign、Androdd、Androdump、Androgexf、Androlyze、Andromercury、Androrisk、Androsign、Androsim、Androxgmml、Apkviewer;
功能:反汇编/反编译/静态分析apk/类似度对比/测试混淆程度/恶意代码检测/………………………
http://code.google.com/p/androguard
(2)动态分析工具
DroidBox—Android应用程序动态分析工具
Mercury—是一个开源的Android APP应用安全评估框架,它最赞的功能是能够动态的与android设备中的应用进行IPC(组件通讯)包括Activity。
TaintDroid —是一动态实时的隐私监控工具。它是利用动态污点分析技术检测隐私数据的。http://appanalysis.org/index.html
(3)逆向分析工具
.dex .smali
assembler/disassembler!
http://code.google.com/p/smali/
http://code.google.com/p/android-apktool/
http://code.google.com/p/dex2jar
从被动防护方面来看:
路由器:
NFC:
主动防护:
一、antiparser
antiparser框架以python语言编写,是一个专门帮助模糊测试器建立随机数据的API。该工具能够跨平台,仅仅要求有python解释器就行。
你能够在这个网站获得该框架的源码和一些文档:http://antiparser.sourceforge.net/
说明:
该框架很简单,且缺乏一些自动化功能,文档较少。总的来讲,他不适合作一些复杂的工做。
二、Dfuz
该框架是Diego Bauche用C开发的,常常更新。该框架已经发现了不少漏洞。Dfuz是开源的,能够下载。可是该框架的源代码采用了一种严格的开原许可,未获得做者的容许不可使用复制该框架的源代码。
网站:http://www.genexx.org/dfuz/
说明:
该框架学习曲线比较平坦,开发效率比较高,Dfuz要求开发者彻底使用框架的脚本语言来进行编程,无法利用成熟的语言发挥更大的威力。不过总的来讲仍是能够的。
三、SPIKE
最普遍使用最知名的一个框架。使用C语言编写,提供了一系列容许快速和高效的开发网络协议模糊测试器的API。在SPIKE中,数据结构被分解表示成块,也叫SPIKE,这个块同时包含二进制数据和块大小。
说明:
SPIKE只有零星的文档,一些仍是废弃的,可是咱们能够找到不少工做样例。SPIKE缺少对windows的支持。最大的贡献就是基于块的模糊测试方法。不少其余的模糊测试框架也采用了这样的方法。
四、Peach
python编写的,是一个开源的框架。
Peach体系结构容许研究者聚焦于一个个的特定的协议的子组件,而后组合起来建立完整的模糊测试器。这种方法可能不如基于块的开发速度,可是对代码的复用的支持比其余模糊测试工具好。
说明:
Peach处于活跃开发中,可是文档少,学习起来比较困难。
五、通用目的模糊测试器(GPF)
GPF能够产生无数个测试,无数个变异。(其余的根据规则不会是无数个),该框架主要的有点是能够用很低的成本创建并运行一个模糊测试器,经过GPF的多种模式对外提供功能。
六、Autodafe
这个框架能够简单的描述成下一带的SPIKE,该框架可以对网络协议和文件格式进行模糊测试。他最吸引人的就是调试组件。
经过这一次基于模糊测试的漏洞挖掘与攻防技术的学习,对漏洞挖掘相关的一些基本概念有了必定了解。在将来的若干年中模糊测试技术仍将会是软件测试领域的一个研究热点,甚至可能延伸到硬件测试领域,该领域将会有大量的技术问题值得研究工做者开展进行一步的研究和探讨。