安全问题1:IP数据报在传递过程中易被攻击者监听、窃取。这是一种被动攻击,攻击者可截取数据报,解析数据净荷,从而获得数据内容。
防护措施1:对IP数据报进行加密。
安全问题2:由于IP层并没有采用任何机制保证数据净荷传输的正确性,攻击者可能截取数据报,修改数据报中的内容后,将修改结果发送给接收方。
防护措施2:对IP数据报净荷部分实行完整性检测机制。
安全问题3:IP层不能保证IP数据报一定是从源地址发送的。攻击者可伪装成另一个网络主机,发送含有伪造源地址的数据包欺骗接受者。此攻击称为IP欺骗攻击。
防护措施3:通过源地址鉴别机制加以防御。
安全问题4:IP数据报在传输过程中要经历被分段和重组的过程,攻击者可以在包过滤器中注入大量病态的小数据报,来破坏包过滤器的正常工作。
防护措施4:许多防火墙能够重组分段的IP数据报,以检查其内容。
安全问题5:使用特殊的目的地址发送IP数据报也会引入安全问题。如攻击者可使用目的地址为定向广播地址的IP数据报来攻击许多不同类型的主机。
防护措施5:配置路由器时启用禁止发送定向广播数据包的功能。
在主机A询问主机B的MAC地址时,主机C会伪造ARP响应告诉主机A主机B的MAC地址为攻击者(主机C)的MAC地址
同样在主机B询问主机A的MAC地址时,主机C会伪造ARP响应告诉主机B主机A的MAC地址为攻击者(主机C)的MAC地址
这样在主机A和主机B向对方发送数据时都会被转发给攻击者C,攻击者就可以拿到A,B通信的数据报
防火措施
参考:icmp超详细讲解
网际控制报文协议(Internet Control Message Protocol,ICMP)是一个重要的错误处理和信息处理协议
攻击者可以利用ICMP对消息进行重定向,使得目标机器遭受连接劫持和拒绝服务等攻击。
攻击原理
这里首先假设有两台电脑,正常情况下,两台机器互相进行网络交流的时候需要经过路由,但是路由器有一个策略,就是当发现网络中有一台机器使用的是非优化路由的时候,路由就会向那台机器发送一个ICMP重定向的特殊报文,告诉机器改变路由,让机器的路由改为最优的,这个优化和非优化可以理解两点直接直线最短,怎么快就怎么弄,这本身是一个对网络有益的机制。
但是这个更改路由的ICMP重定向特殊报文是可以伪造的,并且不需要经过一些校验,合法性检查。也就是说攻击者完全可以向他向受害主机发送ICMP重定向报文,迫使受害主机更改路由表。
危害
ICMP重定向攻击的数据包可以迫使主机更改路由为攻击者的主机,那么主机的流量就需要经过攻击者的主机。攻击者就可以截获、提取、分析、修改、重放用户user的数据包,对流量进行嗅探劫持、中间人代理,造成多种安全威胁。
防护
一般情况下现有网络的设计是很少发出重定向,那么我们可以禁止网关发出重定向消息,主机不处理重定向。华为设备已经取消发送 ICMP 重定向和接受ICMP重定向数据包
在进行路由发现时,ICMP并不对应答方进行认证,使得它可能遭受严重的中间人攻击。攻击者假冒正常的路由器,使用伪造信息应答ICMP询问。由于ICMP并不对应答方进行认证,因此接收方无法知道响应式伪造的。
通过防火墙穿越攻击技术(Firewalking),攻击者能够穿越某个防火墙的访问控制列表和规则集,进而确定该防火墙过滤的内容和具体的过滤方式。尽管防火墙面临启用ICMP所带来的风险,但由于主机采用Path MTU的机制,因此在防火墙封堵所有ICMP消息并不妥当。
ping泛洪
它利用ping的原理,向目标服务器发送大量的ICMP回送请求。这是黑客向特定的机器连续发送大量的ICMP回送请求报文。目标机器回答到达的ICMP回送请求已经用尽全力了,原来的通信处理就变得很不稳定了。进一步,目标机器连接的网络也可能由于大量的ICMP数据包而陷入不可使用的状态。
smurf
黑客恶意的使用ICMP回送请求报文。这一点同ping泛洪是相同的。不过在smurf,对ICMP回送请求实施了一些加工。源IP地址被伪装成攻击对象服务器的地址,目标地址也不是攻击对象服务器的地址,而是成为中转台的网络的广播地址。
黑客发送伪装了的ICMP 回送请求后,到达在作为踏板的网络的入口处的路由器。这样,路由器将回送请求转发给网内所有的计算机(同2)。假如有100 台计算机,回送请求将到达100 台所有的计算机。收到回送请求的计算机对此作出反应,送出回送回答报文(同3)。这样,黑客送出的一个ICMP回送请求报文,一下子增加到了100 倍。
这样增加的ICMP 回送回答报文面向的不是黑客的计算机,而是伪装成回送请求的源IP 地址的攻击对象服务器。变成到达了,从几百台计算机发出的巨大数量的ICMP 回送回答。smurf 与ping 洪水攻击不同,因为到达服务器的是ICMP 回送回答,服务器不用返回回答。但是为了处理大量的ICMP,服务器承受了大量的负载。网路被撑爆了也是一样的(同4)
网际组管理协议(Internet Group Management Protocol,IGMP)是TCP/IP协议族中负责IP组播成员管理的协议
当具有较低IP地址的路由器发送伪造的查询报文,那么当前的查询方就认为,查询任务由伪造的查询方执行,当前的查询方转变为响应查询请求,并且不再发出查询报文。
子网内非法用户通过截获某个合法用户信息来发送伪造的IGMP离开报文,组播路由器接受报文后误认为该合法用户已经撤离该组播组,则不再向该用户发送询问请求,从而造成拒绝服务攻击。
非法用户伪装报告报文,或截获合法用户的报告报文向组播路由器发送伪造报文,使组播路由器误认为有新用户加入,于是将组播树扩展到非法用户所在的子网。
开放最短路径优先协议(Open Shortest Path First,OSPF)是一个内部网关协议,用于在单一自治系统内决策路由。
OSPF是分布式的链路状态路由协议
在该协议中,只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送路由信息,每个路由器都有一个保存全网链路信息的链路状态数据库。
OSPF协议中规定了认证域(authentication),但其作用非常有限
边界网关协议(Border Gateway Protocol,BGP)将单一管理的网络转化为由多个自治系统分散互连的网络。
安全问题
BGP缺乏一个安全可信的路由认证机制,无法对所传播的路由信息的安全性进行验证。
解决方案
路由认证类方案:MD5 BGP认证技术、S-BGP方案、soBGP方案等
前缀劫持检测类方案:多源AS检测技术、主动探测技术
传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的传输层通信协议。
TCP连接是一个三次握手过程,在服务器收到初始的SYN数据包后,该连接处于半开放状态。此后,服务器返回自己的序号,并等待第三个确认数据包确认。最后,客户机发送确认数据包,在客户机和服务器之间建立连接。
SYN Flood攻击
攻击者不断向服务器的监听端口发送建立TCP连接的请求SYN数据包,使服务器一直处于半开放连接状态,无法接受其他正常的连接请求。这种攻击属于拒绝服务(DoS)攻击。
防护措施
在服务器前端部署网络安全设备(防火墙)进行数据包过滤
针对TCP协议不对数据包加密和认证的漏洞发起的TCP会话劫持攻击
攻击描述
TCP协议确认数据包的真实性主要依据是判断数据包中独有的32位序列号是否正确。如果攻击者能够预测目标主机的起始序号,就可以欺骗该目标主机。
防护措施
在TCP连接建立时采用一个随机数作为初始序列号
针对TCP的拥塞控制机制的特性,在TCP连接建立后的数据阶段攻击
攻击描述
拥塞控制功能旨在防止过多的数据注入网络。有经验的攻击者可以利用拥塞机制的特性,周期性地制造网络关键节点的拥塞,不断触发拥塞窗口的慢启动过程,最终达到降低正常传输能力的目的。
防护措施
网关实时监测网络异常流量
用户数据报协议(User Datagram Protocol,UDP)是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务
无需连接,传输高效;无拥塞控制的不可靠交付;数据报首部仅8字节;网络拥塞不会降低发送速率
安全问题
最常见的UDP攻击为DoS攻击,而UDP Flood攻击又是DoS攻击中最普遍的流量型攻击。
攻击原理
攻击源发送大量的UDP小包到攻击目标,目标可以是服务器或网络设备,使其忙于处理和回应UDP报文,系统资源使用率飙高,最后导致该设备不能提供正常服务或者直接死机,严重的会造成全网瘫痪。
载荷检查和指纹学习
UDP协议的防护措施
UDP协议与TCP协议不同,是无连接状态的协议,并且UDP应用协议五花八门,差异极大,因此针对UDP Flood的防护非常困难。其防护要根据具体情况对待?
协议栈
端口:UDP 520
动态路由选择协议(Routing Information Protocol,RIP)是一种动态内部路由/网关协议,用于自治系统内的路由信息的传递。
安全问题
攻击者可以伪造RIP路由更新信息,并向邻居路由器发送,伪造内容为目的网络地址、子网掩码地址与下一跳地址,经过若干轮路由更新,网络通信将面临瘫痪的风险。
此外,攻击者会利用一些网络嗅探工具(tcpdump和rprobe等)来获得远程网路的RIP路由表,通过欺骗工具(如srip)伪造RIP报文,再利用重定向工具(如fragroute)截取、修改和重写向外发送的报文,以控制网络中报文信息
防护措施
针对RIP的不安全因素,中小型网络通常采取以下两种防护措施
端口:TCP 80
超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个客户端和服务器端请求和应答的标准,是互联网上应用最广泛的一种网络协议。
安全问题
HTTP协议中数据是直接通过明文进行传输的,不提供任何方式的数据加密,因此存在较大的安全缺陷。
防护措施
在HTTP协议和TCP协议之间增加安全层来增强安全性。安全层主要通过安全套接层(SSL)及其替代协议传输层安全协议(TLS)实现,其中SSL协议通过443端口进行传输,主要包含记录协议和握手协议。
HTTPS协议及其安全性
HTTPS协议通过增加安全层,可实现双向身份认证、生成会话密钥、传输数据加密、数据完整性验证和防止数据包重放攻击等安全功能。针对HTTPS协议的攻击方式主要是发生在SSL连接还未发生时的中间人攻击。
端口:TCP23
远程登录协议(Teletype Network,TELNET)是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。
安全问题
Telnet提供了简单终端到某台主机的访问。主叫用户输入账户名称和口令来进行登录。Telnet程序可能会泄露秘密信息,攻击者可以通过Sniffer记录用户名和口令组合,或者记录整个会话。攻击者还可以采取主动的攻击方式,比如劫持Telnet会话并在认证完成后篡改或插入一些命令。
黑客可以使用TCP劫持攻击在某种条件下劫持Telnet会话。
防护措施
对Telnet会话进行加密。目前出现了几种Telnet的加密解决方案,它们分别为Stel、SSLtelnet、Stelnet、SSH等协议。其中SSH已经成为远程登录的标准协议。
端口:TCP 22
安全壳协议(Secure Shell,SSH)是一种在不安全的网络上建立安全的远程登录或其他安全网络服务的协议。
SSH支持身份认证和数据加密,对所有传输的数据进行加密处理,并采用“挑战/响应”机制替代传统的主机名和口令认证,它既可以代替Telnet作为安全的远程登录方式,又可以为FTP、POP等服务提供一个安全的“隧道”,能够有效防止中间人攻击。
SSH通信流程
建立TCP连接->版本协商->算法协商->密钥建立和服务器认证->用户认证->通信会话
安全问题及防护措施
端口:UDP 53
域名系统(Domain Name System,DNS)是一个分布式数据库系统,用来实现域名与IP地址之间的映射。
安全问题
防护措施
端口:TCP 25
简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
安全问题
SMTP自身是完全无害的,但它可能成为拒绝服务攻击(DoS)的发源地,攻击者可以采用DoS攻击阻止合法用户使用该邮件服务器;邮件的别名有时也会给黑客提供一些有用的信息;“开放中继”允许在任何人之间进行邮件传递,这是非常危险的。
防护措施
使用SMTP认证,并与加密SMTP会话结合使用,从而避免“开放中继”。
多用途网间邮件扩充协议(Multipurpose Internet E-mail Extention,MIME)是广泛应用的一种电子邮件技术规范。
安全问题
防护措施
端口:TCP 110
邮局协议(Post Office Protocol,POP)是一个邮件协议,它的第三个版本称为POP3.
安全问题
防护措施
端口:TCP 110,993
消息访问协议(Internet Message Access Protocol,IMAP)是一个邮件获取协议,第4个版本是IMAP4
主要特点
IMAP4与POP3一样,是收邮件协议,它具有对邮箱更强大的访问控制能力,它可方便地提供邮件下载服务,支持离线阅读;支持在线/离线传输数据;服务器端采用分布式存储邮件方式;支持用户对服务器的远程加密访问。
安全问题
IMAP4采用“挑战/响应”机制实现用户认证,但这一机制用到保存在服务器端的共享秘密信息,一旦服务器被攻破,用户的秘密信息将被黑客窃取。
防护措施
使用杂凑函数将共享秘密进行杂凑运算,消除共享秘密的等值性。
PGP(Pretty Good Privacy)协议是常用的安全电子邮件标准。PGP包括5种服务:认证、保密、压缩、电子邮件兼容和分段。
功能 | 使用算法 | 描述 |
---|---|---|
数字签名 | DSS/SHA或RSA/SHA | 消息的hash码利用SHA-1产生,将此消息摘要和消息一起用发送方的私钥按DSS或RSA加密 |
消息加密 | CAST或IDEA或使用3DES或RSA | 将消息用发送方生成的一次性会话密钥按CAST-128或IDEA或3DES加密。用接收方公钥按DH或RSA加密会话密钥,并与消息一起加密 |
压缩 | ZIP | 消息在传送或存储时可用ZIP压缩 |
电子邮件兼容 | 基数64转换 | 为了对电子邮件应用提供透明性,一个加密消息可以用基数64转换为ASCII串 |
分段 | 为了符合最大消息尺寸限制,PGP执行分段和重新组装 |
安全问题及防范措施
端口:TCP 20/21
文件传输协议(File Transfer Protocol,FTP)是Internet文件传送的基础,是TCP/IP协议族的重要协议之一。
安全问题
防护措施
端口:UDP 69
简单文件传输协议(Trivial File Transfer Protocol,TFTP)是用来在客户机与服务器之间进行简单文件传输的协议
TFTP用于提供简单、开销较小的文件传输服务,采用UDP协议,提供不可靠的数据流传输服务,不提供授权与认证机制,使用超时重传方式来保证数据的到达。
安全问题
只提供文件传输而不验证文件是否成功传送,在可靠性与安全性上没有保证。
防护措施
除非真的需要此协议,否则不应该在任何机器上运行该协议;若要使用应确保对其正确的配置,严禁上传配置文件。
口令破解攻击实例
$ tftp target.cs.boofhead.edu
tftp> get /etc/passwd /tmp/passwd (下载密码)
Received 1205 bytes in 0.5 seconds
Tftp> quit
$ crack </tmp/passwd(密码破译)
端口:UDP 2049
网络文件系统(Network File System,NFS)是一个基于TCP/IP网络的文件共享协议。
NFS允许一个系统在网络上与他人共享目录和文件。
通过NFS协议,用户可以像访问本地文件一样访问远端系统上的文件,在远端系统的共享文件金西行创建、修改和删除操作。
NFS协议采用基于远程过程调用的分布式文件系统结构
安全问题及防护措施
端口:UDP 161/162
简单网络管理协议(Simple Network Management Protocol,SNMP)是用于支持网络管理系统的协议。
SNMP协议的应用范围广泛,被应用于诸多种类的网络设备、软件和系统中,被认为是首选管理协议。
SNMP的主要作用是控制路由器、网桥及其他网络单元,用来读/写各种设备信息,如操作系统、版本、路由表、默认的TTL、流量统计、接口名称和ARP映射表等,其中有些信息时非常敏感的。
SNMP v1、v2版本的安全问题
防护措施
端口:UDP 67/68
动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)用于分配IP地址、提供启动计算机其他信息的协议。
- 提供动态制定IP地址和配置参数的机制;
- 能够提供大量信息;
- 服务器对IP地址提供集中化管理,简化了管理任务。
H.323是一种用于VoIP(Voice over IP)在分组网上提供实时音频、视频和数据通信的标准(NetMeeting)。
安全问题
会话启动协议(Session Initiation Protocol,SIP)是由IETF制定的基于文本编码的多媒体通信协议(如VoLTE)
安全问题
注册劫持、伪装服务器、篡改消息、恶意修改或结束会话、拒绝服务
防护措施
网络层和传输层的安全保护;HTTP摘要认证;应用层端到端加密。
端口:UDP 123
网络时间协议(Network Time Protocol,NTP)可在分布式时间服务器和客户端之间进行时间同步。
安全问题
防护措施
端口:UDP 79
Finger协议可以帮助用户查询系统中某一个用户的细节,如其全名、住址、电话号码、登录细节等。
安全问题
防护措施
端口:TCP 43
Whois协议是用来查询域名的IP以及所有者等信息的传输协议。
Whois查询
端口:TCP 389
轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)是基于X.500的目录访问协议,以目录的形式来管理资源。
信息数据:适合于小数据的存取操作
目录访问:提供基于属性的目录访问
适合读操作:适合于读操作更多的应用
便于应用加载:为定制应用程序加上LDAP的支持
跨平台访问:可以提供跨平台的访问
协议用途
防护措施
端口:TCP 119
网络新闻传输协议(Network News Transfer Protocol,NNTP)是一个用于阅读和张贴新闻文章到Usenet上的Internet应用协议。
网络消息通常通过网络消息传输协议NNTP进行传输,采用的会话与SMTP相类似,接收和发送的消息条目通过网关来处理和转发。这种协议只用来阅读新闻。
安全性缺陷
防护措施
增加对相邻节点的认证,从而拒绝恶意的连接请求