网络安全得到狭义定义:
信息安全的目标是在信息产生、传输、存储的过程中,保证信息的机密性、完整性、可用性。在信息的传输环节,保障其安全,就是狭义的网络安全。
- 机密性的保障:信息加密(看不懂),访问控制(看不到)。
- 完整性的保障:完整性包含数据完整性(身份认证)、来源完整性(消息认证)、不可否认性(数字签名)。
- 可用性的保障:Dos/DDos攻击等(基于统计模型建模、备份、恢复机制)。
信息安全风险:
风险 = 威胁(外因) + 脆弱性(内因),风险是指,安全事件发生的概率以及与其产生的后果的组合。其三要素是资产,威胁、脆弱点。
对策,是针对内因的,即降低脆弱性。信息安全的基本思想是控制风险,降低到可接受的范围。
Dolev、Yao的网络安全模型:
主要的贡献:建立了攻击者模型、将安全协议和具体采用的密码系统分开。
网络安全攻击:
- 被动攻击(窃听、检测、流量分析,倾向于预防)和主动攻击(假冒、重放、消息篡改,倾向于检测)。
- 假冒:冒充其他实体,通过冒充有权限的实体,获得访问权限。
- 重放:将获得的信息再次发送产生非授权的效果。
- 消息篡改:修改合法信息的一部分或者顺序达到非授权的效果。
- 抵赖:是一种特殊的攻击,不是攻击者的行为,是发送方与接收方之间的抵赖行为。
OSI安全框架
安全攻击:窃听、假冒、重放、消息篡改、否认、抵赖。
安全服务:认证、访问控制、数据完整性、数据保密性、抗抵赖五类,五类一共有14特定服务。
安全机制:加密、数字签名、访问控制机制、数据完整新机制、数据交换、业务流填充、路由控制、公证。
网络安全协议:
完成一次安全的网络通信。需要通过网络技术和密码技术(身份认证、秘钥分配、消息认证)。
两个阶段:
- 握手阶段:身份认证、算法协商、秘钥生成。
- 加密通信阶段:业务数据通信。
要点:理解一个网络安全协议要从应用背景、协议栈层次、秘钥使用三个方面去学习。
常见的网络协议攻击:
ARP欺骗(链路层协议攻击)。
Smurf攻击(网络层协议攻击):结合IP地址欺骗和icmp回复方法,攻击者将源地址改为被攻击的目标系统,目的地址改为一个由大量端的网络的广播地址,发送Ping分组,产生echo响应,从而导致拒绝服务攻击。
ICMP路由欺骗(网络层协议攻击):终端机中有一张路由表,ICMP重定向报文向发送者报告另一条特定路由的更短路由,攻击者向目标主机发送ICMP重定向报文,改变目标的特定路由,使其能够监听通信。原因是缺乏对路由协议的鉴别。
IP碎片攻击(网络层协议攻击):泪滴攻击,当分片的数据组装时,当重叠时会有一段修复程序,当构造合适的片后,会使修复后的片的长度变成负数,并且会被memcpy函数使用,由于负数使用的反码,产生一个非常大的值,这时候系统就出错了。
Syn Flood攻击(传输层协议攻击):发送大量的syn,浪费目标系统资源,最后就导致堆栈溢出等。
LAND攻击(传输层协议攻击):攻击者将目标的ip作为源和目的IP,发送一个序列号A,目标主机建立自己的序列号B,确认号A+1,然后又发送给自己,但是目标主机希望自己接受的确认号是B+1,但是是A+1,这时候丢弃重发,由于TCP是具有高优先级的内核进程,所以很快就消耗系统资源。
TCP序列号猜测攻击(传输层协议攻击)。
TCP会话劫持(传输层协议攻击)。
DNS欺骗(应用层协议攻击):攻击者监听到目标主机的DNS查询报文(发往DNS服务器,DNS服务器向其他DNS请求查询),攻击者将域名查询的ip修改为自己的IP,然后发送给DNS服务器,实现DNS欺骗。