网络安全期末复习整理
1教材上的术语和讲义上讲的⼀些术语
2掌握TCP/IP 协议的分层结构及各层的功能;理解地址和寻址,路由;掌握数据包嗅探和伪造⽅式
TCP/IP四层结构,从下向上依次是:
物理层:提供比特位的透明传输,数据链路层根据物理介质的特点屏蔽它的上层,只负责数据包的传输
网络层:提供网际间数据包的路由,并关注全球范围内的地址空间,提供无连接的服务,负责数据包的传输
传输层:提供端到端的数据传输,并使用网络层提供的传输数据包的服务与对等的传输层进行通信,同时对IP层无连接的服务进行了补偿
应用层:会话层协调层之间的会话,进行会话建立与管理,表示层把数据转换成对等层可以翻译的普通格式,应用层执行协议以执行应用功能。
层提供的功能有:拆分与重组,封装,连接控制,顺序交付,流量控制,差错控制,复用。
地址是用来识别计算机、应用、协议以及其他任何实体的地址。
寻址就是给应用提供目标计算机的地址,同时提供目标应用的地址,把数据发送出去找到正确地址的过程。
路由就是在寻址过程中,数据包总是在某一局域网中,如果目的地在局域网中则直接交付,如果不在就要通过路由寻找下一个网络。
网络控制器有一个混杂模式,开启混杂模式后就根据目标地址过滤数据包,而是接收全部的数据包,从而能够嗅探。伪造就要根据数据包的结构特点,伪造地址等头部信息。
3.漏洞分类
理解并掌握与协议头有关的漏洞,针对协议交互逻辑的漏洞,与认证有关的漏洞,与流量有关的漏洞(嗅探,拒绝服务等)的定义及相关的实例
1与协议头有关的漏洞:
协议头部与标准发生了冲突
物理层:
在头部中设置无效的值,导致无效的数据包,例如
物理层硬件地址攻击中,将源地址设置成与目标地址相同,有些交换机不知道如何处理这种数据包导致混乱。
目标地址设为广播地址,导致洪泛
无线以太网中在帧控制器中设置值,以混淆其他无线设备,可能导致设备与AP连接异常。
网络层:
IP层死亡之ping,偏移量为65528的数据包,长度大于7,导致缓冲区溢出
源地址目的地址相同,使设备崩溃
ARP和ICMP没啥头部攻击
DHCP作为UDP载荷,没啥
传输层:
攻击者发送无效的头部信息,扰乱TCP层的运行
攻击者使用回应发送无效头部,作为探测操作系统的方法。操作系统指纹技术
UDP:没啥
DNS:没啥
应用层以及电子邮件:
头部一般是非限制性的,缓冲区溢出
MIME:电子邮件隐藏实际内容,宣称图片实际代码,超链接钓鱼等等
2与协议交互逻辑有关的漏洞
所有的数据包都是有效的,但是它们与协议实际执行时有冲突
物理层:
有线:硬件实现,没啥
无线:wardriving探测或钓鱼。通过使用无线网络的计算机和软件探测AP无线访问接入点的是否存在、SSID,位置,类型等信息
网络层:
路由跟踪攻击,发现到目标设备的路由
ICMP错误消息导致服务拒绝
ICMP重定向到错误设备
给ARP错误的消息,使错误的消息填满缓冲区(缓存中毒)
给ARP错误的消息,将流量重定向(缓存中毒)
SMURF攻击:ping目标网络的广播地址,造成大量流量(基于流量
假装受害者ping大量主机造成大量回复(基于认证,基于流量
DHCP:
DHCP饥饿攻击:使用多个虚假的硬件地址发送查找数据包,消耗动态池中的IP
伪装成客户端向服务器释放IP(基于验证、协议
传输层
SYN洪泛攻击
TCP RST攻击
会话劫持攻击
UDP没啥
DNS:伪装服务器(验证
应用层电子邮件:
SMTP:没啥
POP IMAP:没啥
MIME:附带恶意文件,蠕虫,病毒
3基于认证的漏洞:
物理层
硬件地址欺骗
ARP中毒
发送带有不同源地址的数据包,填满交换机
假装是连接交换机的另一台设备
使用交换机另一端口的地址,可以嗅探流量
无线:
恶意访问接入点和非法访问接入点
网络层
IP地址欺骗
DOS:假装受害者ping各个主机,造成大量流量(基于流量,发广播包
欺骗性ICMP消息
DHCP:欺骗性DHCP服务器
传输层:
TCP不支持验证,限制端口,UDP也一样
DNS缓存中毒
应用层电子邮件:
SMTP:
电子邮件欺骗,垃圾邮件、恶意邮件
假装受害者给无效地址发邮件造成大量返回邮件填满磁盘
伪造返回地址
用户名探测,类似端口扫描
POP/IMAP
用户名密码验证,猜测密码
MIME:
伪装成正经的机构
补丁追踪
4基于流量的漏洞
物理层:
混杂模式嗅探(WEP,WPA
广播洪泛
网络层:
嗅探
雪崩
传输层:
嗅探
雪崩
电子邮件:
嗅探邮件
嗅探用户名密码
大尺寸邮件
4物理层
硬件地址欺骗
发送带有源硬件地址的数据包,这个源硬件地址与发送设备的地址不一致,以欺骗其他主机
物理攻击
网络电缆问题,电缆闭环,网络控制器问题,俩控制器一个地址
CSMA/CD载波监听多路访问冲突检测
CSMA/CA载波监听多路访问冲突避免
协议头攻击
使用源地址和目的地址相同的数据包,有些交换机不知道如何处理:直接扔掉
使用广播地址,造成流量问题:尽量控制流量
在帧控制器中设置值,混淆无线设备:没啥对策
协议逻辑攻击:
有线:没有协议
无线:是否传递数据包引起拒绝服务,忽略协议来干扰信号
钓鱼或探测:通过使用无线网的计算机和软件去发现无线访问接入点,登录SSID,类型、位置:加密手段、NAC网络访问控制。
基于认证的攻击
硬件地址欺骗
ARP中毒:NAC网络访问控制
发送带有不同源地址的数据包,填满交换机
使用交换机另一端口的地址,可以嗅探流量:监控端口和地址间的映射
无线:
恶意访问接入点:由有效用户设置的访问介入点,但是没有告知接入单位,机构未发觉的访问接入点。有可能会被攻击者利用,嗅探到流量,绕过安全机制,导致网络安全性下降。
使用有线网络停止授权的方法,如NAC或其他上层协议,使用无线信号扫描
非法访问接入点:由攻击者安装,伪装成合法的接入点,允许攻击者捕获流量
加密AP,改默认密码,上层安全协议。
基于流量的攻击:
流量嗅探:使用交换式网络环境,VLAN将流量隔离到虚拟网
使用大量的流量造成网络崩溃
无线网络嗅探:
WEP有线对等私钥
WPA Wi-fi访问保护
ARP攻击原理与缓解机制
攻击者试图欺骗网络中的计算机,使其将网络流量发送到错误的目标。
静态ARP表格设置: 在网络设备上配置静态ARP表,将IP地址与相应的MAC地址进行手动映射,防止被攻击者发送虚假的ARP响应
ARP缓存超时设置: 缩短ARP缓存的超时时间,使得ARP缓存更频繁地更新,减少攻击者持续欺骗的机会
使用静态ARP绑定: 在网络设备上配置静态ARP绑定,将特定IP地址与MAC地址绑定,确保只有指定的MAC地址可以与特定IP通信。
Wardriving攻击缓解机制:
使用无线网的计算机以及软件,发现无线访问接入点,登录SSID,访问接入点类型。主机位置等等
启用加密: 使用强大的加密算法(例如WPA3)保护Wi-Fi网络,以防止未经授权的访问和数据窃取。
隐藏SSID: 隐藏无线网络的SSID,使其不可见。这样可以减少被动扫描攻击者发现网络的可能性。
网络监控和检测: 使用网络监控工具和入侵检测系统来检测异常活动,及时发现Wardriving攻击。
访问接入点:
恶意访问接入点:由有效用户设置的访问介入点,但是没有告知接入单位,机构未发觉的访问接入点。有可能会被攻击者利用,嗅探到流量,绕过安全机制,导致网络安全性下降。
使用有线网络停止授权的方法,防止未授权的用户访问无线网,如NAC或其他上层协议,使用无线信号扫描
非法访问接入点:由攻击者安装,伪装成合法的接入点,允许攻击者捕获流量
加密AP,改默认密码,增强认证,NAC/上层安全协议。
网络层:
路由跟踪攻击
使用IP/ICMP协议发现到目标设备的路由:不好减灾
报文分片攻击
通过向目标设备发送分片出错的报文,使目标设备处理错误时崩溃,消耗大量资源,带来损失
分片数量巨大:判断同一报文分配,如果大于8189就丢弃
offset巨大,判断offset是否大于65528,丢弃
重复分片攻击:保留首片,其余丢弃
teardrop攻击:第二片在第一片内,导致系统崩溃或重启:直接丢弃
Smurf攻击
假装受害者ping广播地址,收到大量回复
ICMP重定向攻击
使用ICMP重定向消息将流量重定向到错误的地方
ICMP Redirect攻击是通过发送伪造的ICMP Redirect消息给目标主机,告诉它将特定的IP流量通过攻击者指定的网关发送,而不是默认的合法网关。攻击者可以利用这个漏洞来中间人攻击、数据包嗅探或引导流量到受害者不希望的位置。
静态路由设置: 在主机上配置静态路由表,手动指定合法的网关,而不依赖动态的ICMP Redirect消息
网络监控和检测: 使用网络监控工具和入侵检测系统来检测异常的ICMP Redirect消息,及时发现并应对攻击。
禁用ICMP Redirect: 在网络设备上禁用对ICMP Redirect消息的处理,阻止攻击者发送伪造的重定向消息。
IP地址欺骗
攻击者通过伪装或修改数据包的源IP地址,使其看起来像是合法的通信。这样可以欺骗网络设备,使其认为数据包是从受信任的来源发出的,从而绕过访问控制机制。
过滤源IP地址: 在网络边界设备上配置过滤规则,只允许合法的源IP地址通过。这样可以防止攻击者发送伪造的数据包。
使用加密和身份验证: 在通信中使用加密协议和强制身份验证,以确保通信的机密性和真实性
网络监控: 配置网络监控工具,实时监测异常流量和源IP地址,及时发现并应对欺骗攻击。
DHCP饥饿攻击
使用多个虚假的硬件地址发送查找数据包,消耗动态池中的IP
DHCP Snooping: 在网络交换机上启用DHCP Snooping,限制只有授权的端口能够提供DHCP服务,防止攻击者在未经授权的端口上发送DHCP请求
端口安全: 使用端口安全机制,限制每个端口上能够连接的设备数量,防止攻击者通过多个设备占用所有IP地址
DHCP服务器监控: 监控DHCP服务器的运行状态,及时检测异常的DHCP请求和分配情况。
DHCP中毒
攻击者通常会伪造DHCP服务器或者发送伪造的DHCP响应,欺骗网络上的客户端,使其获取恶意配置的IP地址、网关、DNS等信息。攻击者可以通过这种方式中断合法DHCP过程,导致受害者设备连接到攻击者控制的网络。
静态DHCP分配: 配置DHCP服务器使用静态IP地址分配,将IP地址与MAC地址绑定,防止攻击者通过伪造DHCP响应实施攻击。
DHCP Snooping: 在网络交换机上启用DHCP Snooping,限制只有授权的端口能够提供DHCP服务,防止攻击者在未经授权的端口上发送DHCP请求
端口安全: 使用端口安全机制,限制每个端口上能够连接的设备数量,防止攻击者通过多个设备占用所有IP地址
NAT
网络地址转换,允许大量的设备公用少量的公共地址,静态NAT一对一映射,动态NAT内部设备多于公共地址
只有在映射表中的数据包才能进入网络(隧道)
IP过滤
过滤某些地址和端口
VPN
虚拟专用网:提供双方设备间的加密和验证通信信道
IPsec
为IPv6设置的加密和验证的协议,一个头部验证,一个头部加密和验证,减少嗅探,密钥分发问题
6传输层
端口扫描技术
SYN扫描:发送syn消息,如果端口打开会得到synack的回应,端口关闭得到rst回应
优点:速度快,如果不被防火墙过滤基本都能得到回应
缺点:扫描行为容易被发现,不可靠容易丢包
FIN扫描:发送fin包,如果端口打开没有任何回应,如果端口关闭有rst回应
优点:隐蔽性好,速度快
缺点:只适用于linux
UDP扫描:发送长度为0的UDP报文,如果端口关闭则有ICMP不可达消息
可能很慢,因为堆栈对消息错误率的限制
指纹技术
允许人们通过检查对精心设计的数据包的反应来确定操作系统
用户精心设计的数据包,不同的操作系统对其处理方式不同,可以用于头部攻击探测操作系统的类型
指纹:对初始序列号的处理、初始窗口大小、对FIN的错误应答、各种头部标志的组合
SYN洪泛攻击
只发SYN请求,不回应,服务器缓冲区满,引起拒绝服务
措施:
限制同一IP地址半打开连接数量
安装侦察网络过滤器,检测攻击并阻止
增加TCP连接队列大小
启用SYN Cookie保护
使用负载均衡器分配流量
使用IDS/IPS检测和阻止SYN洪泛攻击
使用防火墙过滤SYN数据包
TCP RST攻击
假装一方向另一方发送RST包,主动断开连接
加密技术防止嗅探,严格检查序列号
网络过滤器
IDS
会话劫持攻击
向一方发送RST包,然后伪装成它,继续与另一方通信
加密
TLS
验证
DNS缓存中毒攻击
攻击者通过发送虚假的DNS响应,将恶意域名与虚假的IP地址绑定,然后将这些虚假的响应缓存在DNS服务器中。当合法用户向DNS服务器查询相同的域名时,DNS服务器会返回缓存中的虚假响应,导致用户被重定向到攻击者指定的恶意网站。
本地DNS中毒:
当本地DNS服务器接收到一个查询时,它首先从自己的缓存中查找答案,如果存在答案,DNS服务器将简单地回复其缓存中的信息。如果答案不在缓存中,则DNS服务器将尝试从其他DNS服务器中获取答案,然后存在自己的缓存中,因此下次它就不需要再询问其他服务器了。
因此如果攻击者能够欺骗其他DNS服务器的响应,本地DNS服务器将在其缓存中保留一段时间。下次当用户的机器希望解析相同的主机名时,它将从缓存中得到欺骗的响应,这样攻击者只需欺骗一次,这种欺骗信息 影响将持续到缓存中的信息过期为止,这种攻击被称为DNS缓存中毒
可以进一步欺骗响应中的权威部分,更改权威DNS服务器为恶意服务器
远程DNS中毒
向远程的一个DNS服务器发起查询,查询一个不存在的名称,这样远程服务器就会向其他服务器例如example.com进行查询,攻击者就要伪造example DNS服务器的响应.发送了大量欺骗的DNS响应流,每个响应都尝试不同的事务ID,希望其中一个是正确的。在响应中,攻击者不仅提供了不存在名称的IP解析,还提供了一个“权威域名服 务器”记录,表明ns.attacker32.com作为example.com域的域名服务器。如果欺骗的回应的事务ID符合了请求,受害服务器将接受并缓存欺骗回应,导致DNS缓存被污染,如果攻击成功,在受害者服务器的DNS缓存中,example.com的名称服务器将被攻击者的名称服务器ns.attacker32.com所取代。
DNS DoS攻击:
通过向DNS服务器发送大量请求来淹没它,或者通过欺骗DNS服务器来使其无法响应请求。
DNS DoS攻击通常包括以下一些技术手段:
- DNS请求洪泛: 攻击者向目标DNS服务器发送大量无效的DNS请求,消耗服务器资源,降低其正常服务能力。
- DNS响应洪泛: 攻击者伪造大量的DNS响应,包含虚假的信息,使DNS服务器花费大量时间和资源处理这些虚假响应。
DNSSEC: 启用DNSSEC,通过数字签名验证DNS响应的真实性,防止虚假的DNS响应被缓存在DNS服务器中,验证DNS数据的完整性和来源。
DNS缓存设置: 减少DNS缓存的生存时间(TTL),使虚假的DNS响应在缓存中存储的时间更短,减小攻击者成功中毒的可能性。
DNS监控和日志记录: 配置DNS服务器进行监控,并记录DNS查询和响应的日志,及时发现异常的DNS响应
防火墙规则: 在网络边界上配置防火墙规则,仅允许信任的DNS服务器提供DNS响应,阻止未经授权的DNS响应
增加DNS服务器的总流量容量。
建立多个冗余DNS服务器并在一个服务器开始表现不佳时使用负载平衡将DNS请求路由到健康服务器。
通过使用DNS防火墙可以过滤或限制网络流量。
TLS传输层安全、SSL安全套接层
协议、交换证书、交换密钥、加密
7电子邮件
SMTP简单邮件传输协议,用于MTA之间的邮件传输
头部:缓冲区溢出
协议:无
验证:电子邮件欺骗,垃圾邮件,恶意邮件,利用中继伪造返回地址,用户名探测
流量:嗅探,洪泛:假装用户向无效地址发邮件造成大量回复,占满消息队列
用户使用网络协议访问和传输电子邮件消息给远程用户代理
POP邮局协议:负责将电子邮件从某个MTA传输到用户计算机,提供预览和有限的管理功能。
IMAP网际消息访问协议:负责将电子邮件从某个MTA传输到用户计算机,也允许对MTA上的邮件进行生成维护和管理,支持电子邮件消息在客户端和服务器文件夹之间的移动,可以搜索和管理服务器文件夹
验证:用户名密码攻击:限制用户的验证,如从用户计算机的IP地址入手,只允许一定范围内的IP地址,防火墙过滤地址,VPN加密验证连接
嗅探:加密,使用TLS
MIME多用途网际电子邮件扩充协议:一种消息格式,用于支持电子邮件消息中的非文本内容,可以用于传输任何类型的数据,但是也可能传递蠕虫、病毒、恶意代码等
钓鱼是指攻击者伪装成合法的机构发送邮件,诱导用户通过邮件进行一系列不安全的操作。
由于邮件的SMTP中缺少验证,可以使用电子邮件欺骗的方式发送广告等垃圾邮件或者恶意邮件
头部:隐藏实际信息,宣称图片实际代码,诱惑点击超链接
协议:附件携带恶意文件,蠕虫、病毒:让直接浏览附件的功能失去作用,显示正文之前过滤恶意附件,基于主机扫描限制病毒传播的防火墙,基于主机的防火墙防止未授权的应用访问网络
验证:不直接支持验证,但是可以欺骗验证:补丁追踪电子邮件:图片何时打开
流量:大尺寸的电子邮件:设置大小限制:发送大量小邮件
PGP(绝对私密协议)是一种电子邮件加密和验证的协议,允许用户产生签名并加密电子邮件消息
电子邮件过滤:侦察钓鱼邮件和垃圾邮件,检测恶意邮件,垃圾标志、放入垃圾箱
黑名单:需要不断地维护,因为垃圾邮件总是不断地变化
白名单:一般用于机构内部,适用于较严格的网络
灰名单:垃圾邮件总是发送失败就寻找下一个目标,如果一直坚持发送,则认定不是垃圾邮件
内容过滤:病毒扫描程序、去除恶意内容
取证:追溯消息的发送者,分析利用MIME头部追溯到发送者的MTA
8防火墙
P2DR模型:Policy(政策),protect(保护),Detection(检测)response(响应)
包过滤防火墙:根据数据包头部的一些信息如IP地址,端口、协议类型等等过滤数据包
优点:简单,快速,高性能,对用户透明
缺点:不灵活,可以IP欺骗,状态无关,无法跟踪连接状态,无法深入理解应用层协议
会话过滤防火墙:基于会话状态来检测和控制数据流。不同于简单的包过滤防火墙,会话过滤防火墙能够追踪网络连接的状态,对属于同一会话的数据包进行智能处理。以下是一些会话过滤防火墙的特点和实现机制
优点:能够追踪网络的连接状态,对同一会话的数据包进行智能处理,能根据会话状态动态调整防火墙规则,更加灵活
缺点:管理复杂,性能开销
**应用层防火墙:**作为应用网关,代理服务器,能够检查和控制特定应用程序、协议或服务的数据流。
优点:能够深度检查应用层协议,对协议的语法和语义进行分析,有助于发现和防御高级的应用层攻击,能够识别和控制特定的应用程序,提供更精细的应用层访问控制。一些应用层防火墙支持用户身份验证功能,加强对用户的访问控制
缺点:性能开销 :由于需要深度检查应用层数据,可能会引入一定的性能开销,不如包过滤防火墙那样高效。复杂配置 :配置和管理应用层防火墙通常较为复杂,需要深入了解网络应用和协议。
堡垒主机的概念:被防火墙管理员认定为网络安全强项的系统,是一种强化的系统,可以作为应用层网关,作为进入网络的一个检查点,可能暴露于敌对元素,不必要的功能尽可能少,被信任的系统。将安全问题集中到堡垒主机上解决,省时省力,不用考虑其他主机的安全目的
双主堡垒主机:同时实现数据包和应用层过滤,入侵者必须进入两个独立的子系统才能进入内网,灵活
防火墙的部署方式:网络过滤器,hook函数,iptables
入侵检测系统:一种防御系统,通过监控和收集计算机或者网络中的事件,分析事件发现可能的攻击行为并且排斥它的系统
目标:阻止攻击、取证、减少损失、了解攻击,提高系统的安全性
基于主机HIDS:对单个计算机系统的消息进行检测,操作系统日志等。
优点:能够检测到NIDS检测不到的入侵,在加密前解密后进行,不受加密数据的影响。可以检测到基于软件完整性的漏洞比如特洛伊木马,不受交换机网络的影响
缺点:必须为每个主机配置管理信息,又可能会成为攻击的目标,会给监测的主机带来性能开销
基于网络NIDS:在网络中部署多个传感器或主机,捕获流量并本地分析,并向中央汇报
优点:传感器只用来IDS,容易防御攻击,隐形模式难以发现。使用被动的接口捕获流量并分析,有一个中心站点,方便管理,小型的安全团队就可以管理大型机构网络,可以很好地扩展到网络保护中,独立于操作系统,提供更好的防DOS
缺点:被加密的数据不能扫描,在交换网络上困难,不能有效处理高速网络,基于预定义的攻击,往往比新的攻击落后
误用检测技术基于签名的,定义可能与某一攻击行为相关的签名规则,比如缓冲区溢出,模式匹配则认为是攻击
优点:准确度高,相对成熟,便于系统维护
缺点:通常非常具体的攻击,容易错过攻击的变体,入侵信息收集和更新困难,难以检测本地和新的入侵行为,维护特征库工作量巨大。
异常入侵检测技术定义一个描述正常行为的配置文件,可能是统计学的,用机器学习数据分析等方法,标记与正常行为出现的偏差
优点:可以检测未知的入侵行为,不需要维护特定的特征库,漏报率低
解攻击,提高系统的安全性
基于主机HIDS:对单个计算机系统的消息进行检测,操作系统日志等。
优点:能够检测到NIDS检测不到的入侵,在加密前解密后进行,不受加密数据的影响。可以检测到基于软件完整性的漏洞比如特洛伊木马,不受交换机网络的影响
缺点:必须为每个主机配置管理信息,又可能会成为攻击的目标,会给监测的主机带来性能开销
基于网络NIDS:在网络中部署多个传感器或主机,捕获流量并本地分析,并向中央汇报
优点:传感器只用来IDS,容易防御攻击,隐形模式难以发现。使用被动的接口捕获流量并分析,有一个中心站点,方便管理,小型的安全团队就可以管理大型机构网络,可以很好地扩展到网络保护中,独立于操作系统,提供更好的防DOS
缺点:被加密的数据不能扫描,在交换网络上困难,不能有效处理高速网络,基于预定义的攻击,往往比新的攻击落后
误用检测技术基于签名的,定义可能与某一攻击行为相关的签名规则,比如缓冲区溢出,模式匹配则认为是攻击
优点:准确度高,相对成熟,便于系统维护
缺点:通常非常具体的攻击,容易错过攻击的变体,入侵信息收集和更新困难,难以检测本地和新的入侵行为,维护特征库工作量巨大。
异常入侵检测技术定义一个描述正常行为的配置文件,可能是统计学的,用机器学习数据分析等方法,标记与正常行为出现的偏差
优点:可以检测未知的入侵行为,不需要维护特定的特征库,漏报率低
缺点:准确度低,难以区分正常的异常行为和恶意的异常行为,可能会被攻击者利用使其接受不正常的行为。