2017-2018-2 《密码与安全新技术》第3周作业
课程:《密码与安全新技术》
班级:2017级92班
学号:20179225
上课教师:谢四江
主讲教师:王志强
上课日期:2018年5月10日
必修/选修: 必修
主要内容:基于模糊测试的漏洞挖掘及攻防技术
一、背景及意义
1 安全漏洞定义:
简单来说安全漏洞就为存在的缺陷与不足,使别人容易攻破或着入侵电脑。
精确定义:是指信息系统在设计、实现或者运行管理过程中存在的缺陷或不足,从而使攻击者能够在未授权的情况下利用这些缺陷破坏系统的安全策略。
安全漏洞是网络攻击与防御的关键点
可能由于服务器的漏洞的存在会将用户的账号密码随返回的内容一起输出,导致账号密码泄露。
2 安全漏洞事件
openssl (心脏出血)
bash:原因是未检查输入边界
脱裤门:主要包括天涯、CSDN、人人、多玩、cnbeta、QQ关系数据库、携程……
棱镜门
影响:危害大、范围广
二 、常见的漏洞挖掘技术
1 手工测试(最原始):
由测试人员手工分析和测试被测目标,发现漏洞的过程。
优点:人-主观能动性-显而易见和复杂不易见
明显没有、没有明显
缺点:人-无规律可循、不可大规模等
使用于简单、小型、直观的系统或软件。
2 补丁对比:
一种通过对比补丁之间的差异来挖掘漏洞的技术。
优点:发现速度快
缺点:已知漏洞
补丁技术是实际漏洞挖掘中运用得十分普遍,对于定位漏洞的具体位置、寻找漏洞解决方式具有十分积极的现实意义。
3 程序分析:
指在不运行计算机程序的条件下,通过词法分析、语法分析、语义分析、控制流分析、污点分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性等指标的一种代码分析技术。
优点:覆盖率100%,自动化程度高
缺点:漏报和误报(RICE,程序分析问题不可判定)
程序分析包括静态和动态
静态
基本思想:对测试的目标系统或软件的源代码进行静态分析、扫描,重点是检查函数的调用、边界检测和缓冲区检测,也是对容易在安全方面出现的漏洞代码进行重点的查找、分析,发现问题。
动态
主要思想:在特定的容器中运行目标程序,通过目标程序在执行过程中的状态信息发现潜在问题,这些状态问题包括当前内存使用状况、CPU寄存器的值等方面。
4 二进制审核:
源代码不可得,通过逆向获取二进制代码,在二进制代码层次上进行安全评估
逆向导致信息丢失,理解困难,甚至引入逻辑错误。
5 模糊测试
通过向被测目标输入大量的畸形数据并监测其异常来发现漏洞
优点:无须源码、误报低、自动化程度高
缺点:覆盖率低
三、漏洞挖掘示例
1 路由器
在路由器漏洞挖掘技术中,由于系统的封闭性,所以基本上是得不到源代码的。可以使用IDA等汇编工具帮助我们将二进制代码转换为可读性更好的汇编代码,以便对代码进行汇编层次的审计。
2 NFC漏洞挖掘
NFC的使用越来越广泛,其中最常见的便是使用手机刷交通卡。因此对此部分比较有兴趣
系统架构
四、攻防示例
1 路由器
被动防御
过滤特殊字符,eg. 科来网络分析系统对\x的处理;
限制特定端口的传输速率;
阻塞SNMP请求的端口;
折中:编写AC
2 NFC
协议解析:检查长度字段、数值范围、格式化字符串、特殊字符等;
设计缺陷:修改设计逻辑,例如,蓝牙、wifi、屏幕亮度等;
学习中的问题和解决过程
目前的漏洞挖掘技术的发展趋势
运算并行化
由于漏洞挖掘越来越复杂,因此需要大量的计算机运算。
智能化挖掘
漏洞存在的方式呈现出多样化的特点,目前尽管已经有智能体、神经网络等新的识别技术,但智能化的挖掘还需要进一步的发展才能适应不断发发展的漏洞挖掘需求。
综合的漏洞挖掘方案
单一的漏洞挖掘技术已经越来越难挖掘日益复杂、隐蔽的系统漏洞。
NFC怎么写入信息
首先你要有一个支持NFC读写的设备,手机如Sony LT26i, GALAXY Note等
安装一个NFC读写的程序,如NDEFWriter等,去市场搜下就有
去设置里打开NFC
在NDEFWriter里打开写信息这个功能
把NFC标签靠近在手机的NFC天线处
感想
一直感觉NFC很神奇,手机可以刷公交卡,查了一下如何将信息写入NFC
通过这节课发现手机上的信息很容易被窃取。