代码改变世界

2017-2018-2 《密码与安全新技术》第5周作业

2018-05-16 18:01  20179226任逸飞  阅读(312)  评论(0编辑  收藏  举报

20179226 2017-2018-2 《密码与安全新技术》第5周作业

课程:《密码与安全新技术》
班级: 1792
姓名: 任逸飞
学号:20179226
上课教师:谢四江
上课日期:2018年5月10日
必修/选修: 必修

学习内容总结

一、引言

1.安全漏洞:指信息系统在设计、实现或者运行管理过程中存在的缺陷或不足,从而使攻击者能够在未授权的情况下利用这些缺陷破坏系统的安全策略。
2.几个安全事件
1)OpenSSL爆出重大漏洞,攻击者可以利用memcpy不检查用户输入内容长度字段的漏洞获取用户的账号密码信息。例如攻击者可以通过这个漏洞获得用户支付宝账号和密码造成严重危害。
2)Bash软件被爆出一系列存在数十年的漏洞,该漏洞导致攻击者可以远程在系统上执行任意代码。
3)棱镜门:美国直接从微软、谷歌、苹果等多家公司收集信息,中国也成为了攻击主要目标之一。
3.总结:网络安全事件的根本原因在于安全漏洞

二、常见漏洞挖掘技术

1.手工测试

手工测试是由测试人员手工分析和测试被测目标,发现漏洞的过程,是最原始的漏洞挖掘方法。
优点:能发挥人的主观能动性
缺点:人无规律可循、不可大规模

2.补丁对比

补丁对比是一种通过对比补丁之间差异来挖掘漏洞的技术。
优点:发现速度快
缺点:只能发现已知的漏洞

3.程序分析

静态:在不运行程序的条件下,通过一系列分析的技术对代码进行扫描。
动态:在运行计算机程序的条件下,验证代码是否满足规范性、安全性等指标的一种代码分析技术。
优点:覆盖率100%,自动化程度高
缺点:容易有漏报和误报

4.二进制审核

二进制审核是源代码不可得,通过逆向获取二进制代码,在二进制代码层次上进行安全评估
优点:覆盖率高,自动化程度高
缺点:逆向导致信息丢失,可能会引入逻辑错误。

5.模糊测试

模糊测试是通过向被测目标输入大量的畸形数据并检测异常来发现漏洞。
优点:无须源码、误报低、自动化程度高
缺点:覆盖率低

三、漏洞挖掘示例

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漏洞挖掘
以手机为例,系统架构如图:

结果:

四、攻防示例

1.路由器:

2.NFC

3.被动防御

路由器:
过滤特殊字符,eg. 科来网络分析系统对\x的处理;
限制特定端口的传输速率;
阻塞SNMP请求的端口;
折中:编写ACL


NFC
协议解析:检查长度字段、数值范围、格式化字符串、特殊字符等;
设计缺陷:修改设计逻辑,例如,蓝牙、wifi、屏幕亮度等;

4.主动防御
针对路由器和软件成熟产品:入侵检测、防火墙、杀毒软件

学习中的问题和解决过程

问题1:补丁比对发现的漏洞不是已经被修复了么?那发现还有什么意义呢?
问题1解决方案:通过已发现的漏洞可以思考分析出别的漏洞

其他

通过这一次基于模糊测试的漏洞挖掘与攻防技术的学习,对漏洞挖掘相关的一些基本概念有了一定了解,对漏洞挖掘的一些常用技术也有了一些掌握,最后还了解了路由器和NFC的一些攻防示例以及漏洞挖掘的一些工具,收获很大。