应用层协议概览
RIP协议的安全问题与防护措施
动态路由选择协议(Routing Information Protocol,RIP)是一种动态内部路由/网关协议,用于自治系统内的路由信息的传递。
安全问题:
- 启动:路由器启动时只包含了其直连网络路由信息,随后定期以RIP报文和相邻路由器交换路由信息。
- 接收:路由器根据收到的RIP报文更新路由表。
- 更新:若路由信息相同,则更新;若路由信息不同,则添加。
- 完成:经过路由更新,每个路由器都具有一张完整的路由表。
攻击者可以伪造RIP路由更新信息,并向邻居路由器发送,伪造内容为目的网络地址、子网掩码地址与下一条地址, 经过若干轮路由更新,网络通信将面临瘫痪的风险。
此外,攻击者会利用一些网络嗅探工具(tcpdump和rprobe等)来获得远程网络的RIP路由表,通过欺骗工具(如srip) 伪造RIP报文,再利用重定向工具(如fragroute)截取、修改和重写向外发送的报文,以控制网络中报文信息。
此外,攻击者会利用一些网络嗅探工具(tcpdump和rprobe等)来获得远程网络的RIP路由表,通过欺骗工具(如srip) 伪造RIP报文,再利用重定向工具(如fragroute)截取、修改和重写向外发送的报文,以控制网络中报文信息。
防护措施:
针对RIP的不安全因素,中小型网络通常采取以下两种防护措施。
- 将路由器的某些接口配置为被动接口,之后该接口停止向它所在的网络广播路由更新报文,但是允许它接收来自其他路由器的更新报文。
- 配置路由器的访问控制列表,只允许某些源IP地址的路由更新报文进入列表。
HTTP协议的安全问题及防护措施
超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个客户端和服务器端请求和应答的标准,是互联网上应用最广泛的一种网络协议。
HTTP协议中数据是直接通过明文进行传输的,不提供任何方式的数据加密,因此存在较大的安全缺陷。
【安全隐患1】
攻击者可以通过网络嗅探工具轻易获得明文的传输数据,从而分析出特定的敏感信息如用户的登录口令、手机号码和信用卡号码等重要资料。
攻击者可以通过网络嗅探工具轻易获得明文的传输数据,从而分析出特定的敏感信息如用户的登录口令、手机号码和信用卡号码等重要资料。
【安全隐患2】
HTTP协议是一种无状态连接,在传输客户端请求和服务器响应时,唯一的完整性检验是报文头部的数据传输长度,而未对传输内容进行消息完整性检测。攻击者可以轻易篡改传输数据,发动中间人攻击。
HTTP协议是一种无状态连接,在传输客户端请求和服务器响应时,唯一的完整性检验是报文头部的数据传输长度,而未对传输内容进行消息完整性检测。攻击者可以轻易篡改传输数据,发动中间人攻击。
- 防护措施:在HTTP协议和TCP协议之间增加安全层来增强安全性。安全层主要通过安全套接层(SSL)及其替代协议传输层安全协议(TLS)实现。其中SSL协议通过443端口进行传输,主要包含记录协议和握手协议。
- HTTPS协议及其安全性:HTTPS协议通过增加安全层,可实现双向身份认证、生成会话密钥、传输数据加密、数据完整性验证和防止数据包重放攻击等安全功能。针对HTTPS协议的攻击方式主要是发生在SSL连接还未发生时的中间人攻击。
TELNET协议
远程登录协议(Teletype Network,TELNET)是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。
安全问题:Telnet提供了简单终端到某台主机的访问。主叫用户输入帐户名称和口令来进行登录。Telnet程 序可能会泄露秘密信息,攻击者可以通过Sniffer记录用户名和口令组合,或者记录整个会话。攻击者还可以采取主动的攻击方式,比如劫持Telnet会话并在认证完成后篡改或插入一些命令。黑客可以使用TCP劫持I具在某种条件下劫持Telnet对话。
防护措施:对Telnet会 话进行加密。目前出现了几种Telnet的加密解决方案,它们分别为Stel、SSLtelnet、Stelnet、SSH等协议。其中SSH已经成为远程登录的标准协议。
防护措施:对Telnet会 话进行加密。目前出现了几种Telnet的加密解决方案,它们分别为Stel、SSLtelnet、Stelnet、SSH等协议。其中SSH已经成为远程登录的标准协议。
SSH协议的安全问题及防护措施
安全壳协议(Secure Shell,SSH)是一种在不安全的网络上建立安全的远程登录或其他安全网络服务的协议。
- SSH支持身份认证和数据加密,对所有传输的数据进行加密处理,并采用“挑战/响应”机制替代传统的主机名和口令认证。
- 它既可以代替TeInet作为安全的远程登录方式,又可以为FTP POP等服务提供一一个安全的“隧道”,能够有效防止中间人攻击。
第一类问题:服务器认证
- 问题描述:SSH协议在不安全的网络环境中没有可信的认证机构对服务器的真实性进行验证;SSH协议提供了可选功能使得客户机第一次连接到服务器时可以不对服务器主机密钥验证。
- 防护措施:必须检验主机密钥来验证服务器的正确性。
第二类问题:协议版本协商
- 问题描述:SSH协议运行第一步是进行服务器与客户端协议版本的协商。如果攻击者采用有安全漏洞的版本建立连接,则可能采取进一步攻击。
- 防护措施:对采用有安全问题软件的通信方,服务器可以中断TCP连接。
第三类问题:主机密钥文件安全
- 问题描述:SSH协议服务器的主机密钥存储在一个主机密钥文件中,若该文件被窃取或篡改,则会对协议的认证机制造成严重威胁,进一步实施假冒、重放和中间人攻击等。
- 防护措施:增强安全机制进行主机密钥文件的管理。
DNS协议的安全问题及防护措施
域名系统(Domain Name System,DNS)是一一个分布式数据库系统,用来实现域名与IP地址之间的映射。
问题:
- DNS欺骗攻击:攻击者假冒域名服务器的一种欺骗行为。
- DNS缓存中毒攻击:攻击者给DNS服务器注入非法网络域名地址,若服务器接受此非法地址,此后域名请求的响应将会受黑客控制。当非法地址写入服务器缓存,用户就会跳转到DNS指定的非法地址。
- DNS重定向攻击:攻击者将DNS名称查询重定向到恶意DNS服务器上,域名解析就会被劫持,完全处在攻击者的控制之下。
解决方案:
- 强烈建议那些暴露的主机不要采用基于名称的认证。基于地址的认证虽然也很脆弱,但要优于前者。
- 攻击者可以从主机名中找出有用的信息,因此不要把秘密的信息放在主机名中。
- 抵御DNS攻击的有效方法是采用DNSsec新标准,但目前此,协议还存在很多问题,从而延缓推广。
SMTP协议的安全问题及防护措施
简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
安全问题:SMTP自身是完全无害的,但它可能成为拒绝服务攻击(DoS) 的发源地,攻击者可以采用DoS攻击阻止合法用户使用该邮件服务器;邮件的别名有时也会给黑客提供一些有用的信息;“开放中继"允许在任何人之间进行邮件传递,这是非常危险的。
防护措施:使用SMTP认证,并与加密SMTP会话结合使用,从而避免“开放中继”。
MIME协议的安全问题及防护措施
多用途网间邮件扩充协议(Multipurpose Internet E mail Extention,MIME)是广泛应用的一种电子邮件技术规范。
安全问题:
- 当MIME应用于电子邮件系统时,自动运行MIME编码消息隐藏着巨大的风险,这些消息中被编码的结构信息能够指示客户端软件要采取何种行动;
- 对MIME存在一种分段攻击;
- MIME的其它安全风险:邮递可执行程序或邮件含有危险的PostScript文件,是传播蠕虫和病毒的主要途径。
防护措施:
- 禁用MIME客户端的自动运行功能
- 拒收不完整邮件
- 禁止下载带有可执行程序的MIME消息
POP3协议的安全问题及防护措施
邮局协议(Post Office Protocol,POP)是一个邮件协议,它的第3个版本称为POP3。
安全问题:
- POP3协议非常简单,甚至可采用PerI脚本程序非常容易地实现,所以非常不安全。
- POP3口令以明文传输,使用sniffer等网络监听软件很容易捕获用户口令。
- 采用APOP对用户名和口令进行"挑战/响应”机制进行身份认证,但对邮件内容没有加密保护。
- 口令以明文形式存储在服务器上,一旦服务器受到攻击,口令也被黑客窃取。
防护措施:
- 在***上对邮件服务器的访问进行限制。
- 对POP3服务器的用户数据库进行安全加固。
- 采用IMAP4协议替代POP3协议,***L/TLS对传输的数据进行加密。
IMAP4协议的安全问题及防护措施
消息访问协议(Internet Message Access Protocol,IMAP)是一个邮件获取协议,第4个版本是IMAP4。
主要特点:
IMAP4与POP3一样,是收邮件协议,它具有对邮箱更强大的访问控制能力。它可方便地提供邮件下载服务,支持离线阅读;支持在线/离线传输数据服务器端采用分布式存储邮件方式;支持用户对服务器的远程加密访问。
安全问题:
IMAP4与POP3一样,是收邮件协议,它具有对邮箱更强大的访问控制能力。它可方便地提供邮件下载服务,支持离线阅读;支持在线/离线传输数据服务器端采用分布式存储邮件方式;支持用户对服务器的远程加密访问。
安全问题:
IMAP4采用"挑战/响应"机制实现用户认证,但这一机制用到保存在服务器端的共享秘密信息,一旦服务器被攻破,用户的秘密信息被黑客窃取。
防护措施:
防护措施:
使用杂凑函数将共享秘密进行杂凑运算,消除共享秘密的等值性。
PGP协议的安全问题及防护措施
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压缩 |
电子邮件兼容 | Base64转换 | 为了对电子邮件应用提供透明性,一个加密消息可以用基数64转换为ACSII串 |
分段 | —— | 为了符合最大消息尺寸限制,PGP执行分段和重新组装 |
第一类问题:公钥篡改
问题描述:随着PGP的普及,多用户系统上也出现了PGP,因此暴露密钥和口令的可能性增大,篡改公钥将导致合法通信者无法解密文件,或导致攻击者可以伪造签名。
防护措施:采用数字证书技术确保公钥的可信性。
防护措施:采用数字证书技术确保公钥的可信性。
第二类问题:时戳不可信
问题描述:攻击者可以通过修改系统时间,对时戳进行伪造,从而攻击者可实施重放攻击。
防护措施:建立第三方时间公证体系,由公证方在邮件上签上标准时间。采用国际标准时戳协议RFC3161。
第三类问题:信任模型缺陷
防护措施:建立第三方时间公证体系,由公证方在邮件上签上标准时间。采用国际标准时戳协议RFC3161。
问题描述:为得到未核实身份的通信对方的有效公钥,PGP中引入了第三方,这带来了对第三方的信任问题。此外,PGP没有采用有效的PKI证书管理体系。
防护措施:对用户的信任度进行规范设置;建立有效的PGP证书管理体系。
防护措施:对用户的信任度进行规范设置;建立有效的PGP证书管理体系。
FTP协议的安全问题及防护措施
文件传输协议(File Transfer Protocol,FTP)是Internet文件传送的基础,是TCP/IP协议族的重要协议之一。
安全问题:
- 控制连接:在整个会话期间一直保持打开,客户发送的传送请求通过控制连接发送给服务器端的控制进程。
- 数据连接:用于传输文件。
- FTP反弹攻击就是攻击者利用FTP协议的PORT命令,将数据发送到第三方,攻击者可利用FTP服务器对其他机器进行端口扫描和发送数据。
- 攻击者可以将Java程序伪装成FTP客户机发动攻击。
- 客户机与服务器之间的消息是以明文的形式传输的,运行FTP协议时,访问FTP服务器的口令很容易被探测或猜测到。
- ftpd后台守护程序开始时以root用户权限运行,若攻击者取得了root权限,就可以为所欲为。
防护措施:
- 主动模式下,FTP服务器限制PORT命令的IP地址为客户端IP且端口大于1024。在被动模式下,可使用PASV命令。
- 禁止运行含有Java的脚本程序。
- 使用SFTP协议对用户名和口令进行加密传输。
TFTP协议的安全问题及防护措施
简单文件传输协议(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
NFS协议的安全问题及防护措施
网络文件系统(Network File System,NFS)是一个基于TCP/IP网络的文件共享协议。
- NFS允许一个系统在网络上与他人共享目录和文件。
- 通过NFS协议,用户可以像访问本地文件一样访问远端系统 上的文件,在远端系统的共享文件进行创建、修改和删除操作。
- NFS协议采用基于远程过程调用的分布式文件系统结构。
NFS协议缺乏用户验证机制(NFS只验证RPC/Mount请求,此类访问控制措施不安全),所以加强客户端访问控制。
2049号端口处于无特权范围(2049端口属于无特权端口,容易分配给其他普通进程),使***禁止其它进程访问2049。
客户机可对服务器实施DoS攻击(客户机可伪造返回数据包,创建setuid程序来发动DoS攻击),利用禁止加载不可信资源选项。
服务器可对客户机植入恶意程序(服务器很容易在客户机上植入木马和病毒程序),对外来文件进行病毒木马查杀。
SNMP协议的安全问题及防护措施
简单网络管理协议(Simple Network Management Protocol,SNMP)是用于支持网络管理系统的协议。
SNMP模型构成:管理节点、管理站、管理信息库、管理协议。
- SNMP协议的应用范围广泛,被应用于诸多种类的网络设备、软件和系统中,被认为是首选管理协议。
- SNMP的主要作用是控制路由器、网桥及其他网络单元,用来读/写各种设备信息,如操作系统、版本、路由表、默认的TTL、流量统计、接口名称和ARP映射表等,其中有些信息是非常敏感的。
SNMP v1、v2版本的安全问题
- SNMPv1和v2中代理可被多个管理站管理,管理站合法性认证依靠团体名和源地址检查。团体名为固定长度字符串,易被穷举攻击。
- SNMP数据被封装在UDP中传输,攻击者通过嗅探监听,捕获管理站与被管设备之间的交互信息,即可获得SNMP消息中的明文团体名。
- 攻击者通过嗅探监听截获管理站发往被管系统的管理消息后,通过对消息数据恶意重组、延迟和重放即可实现对被管设备的攻击。
防护措施
- 在不必要情况下关闭SNMP代理,不提供SNMP服务。
- 修改设备缺失的团体名,设置为相对复杂的SNMP团体名。
- 管理站IP地址限定,只有SNMP管理站的IP地址可以发起SNMP请求。
- 设置访问控制,限制被管设备利用TFTP, FTP,和RCP等方式下载上传文件。
- SNMP已经出到v3版本,其认证和加密机制更加完善。
DHCP协议的安全问题及防护措施
动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)用于分配IP地址、提供启动计算机其他信息的协议。- 出于安全性的考虑,此协议只能在本地网络上使用。
- 由于DHCP服务器通常没有对查询信息进行认证,所以查询响应容易受到中间人攻击和拒绝服务(DoS) 攻击。
- 此外,攻击者可用假冒的DHCP服务器压制合法的服务器,对查询提供响应并导致各种类型的攻击。
H.323协议的安全问题及防护措施
H.323是一种用于VoIP (Voice over IP)在分组网上提供实时音频、视频和数据通信的标准(NetMeting)。- 拒绝服务:在通信过程中,要求使用H.323协议的终端开放特定端口时刻处于监听状态,易受DoS攻击。
- 注册劫持:攻击者在注册环节截获终端的标识信息,并向网关发送取消注册消息,再冒用该合法用户的身份注册。
- 会话中断:会话控制和管理的指令以明文传送,攻击者可截获并伪造结束会话的数据包,强制中断合法用户会话。
SIP协议的安全问题及防护措施
会话启动协议(Session Initiation Protocol,SIP)是由IETF制定的基于文本编码的多媒体通信协议(如VoLTE)
SIP实体构成:SIP用户代理、SIP注册服务器、SIP代理服务器、SIP重定向服务器。
安全问题:注册劫持、伪装服务器、篡改消息、恶意修改或结束对话、拒绝服务。
防护措施:网络层和传输层的安全保护;HTTP摘要认证;应用层端到端加密。
防护措施:网络层和传输层的安全保护;HTTP摘要认证;应用层端到端加密。
NTP协议的安全问题及防护措施
网络时间协议(Network Time Protocol,NTP)可在分布式时间服务器和客户端之间进行时间同步。
安全问题:
- 修改系统时间,将已过期或已撤销证书变为有效证书。
- 修改系统时间,使连接DNSSEC服务器的用户密钥和签名失效。
- 绕过时间戳检验,达到发动重放攻击的目的。
- 伪造受害主机向NTP服务器不断发送monlist请求,发动DoS攻击。
防护措施:
- 采用密码技术对消息进行认证
- 对本地时间源到其他时间源直至根时间源的连接加以认证
- 管理员合理配置NTP守护程序,拒绝来自外部的跟踪请求
FINGER协议的安全问题及防护措施
Finger协议可以帮助用户查询系统中某一个用户的细节, 如其全名、住址、电话号码、登录细节等。
安全问题:
- 利用Finger协议可获得的用户信息或用户登录信息,可以被黑客用来调查并发现潜在的攻击目标。
- 它所提供的信息,很可能被黑客用来实施口令猜测攻击。
- 黑客可以发现用户最近与哪个实体相连,这个实体可能成为潜在的攻击目标;黑客还可以发现用户最后使用的是哪个账号。
防护措施:
- 使用***使其无法运行。
- 关闭Finger后台程序,或限制Finger协议的功能。
Whois协议的安全问题及防护措施
Whois协议是用来查询域名的IP以及所有者等信息的传输协议。
在Whois标签中,在地址框中输入"www.sina.com.cn",在query框中输入"Whois-Server ", 单击Go按钮,得到最新的Whois服务器列表。只有在对象所属区域内的Whois服务器上查询,才有可能查到正确的结果。
LDAP协议的安全问题及防护措施
轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)是基于X.500的目录访问协议,以目录的形式来管理资源。- 信息数据:适合于小数据的存取操作
- 目录访问:提供基于属性的目录访问
- 适合读操作:适合于读操作更多的应用
- 便于应用加载:为定制应用程序加上LDAP的支持
- 跨平台访问:可以提供跨平台的访问
- 用户认证:保证客户的身份与客户所声明身份相同。
- 数据完整:保证服务器收到的数据没有被篡改。
- 数据保密:在可能使数据暴露的地方,对数据进行加密。
- 用户授权:保证用户的请求在用户的授权范围内得到允许。
NNTP协议的安全问题及防护措施
网络消息通常通过网络消息传输协议NNTP进行传输,采用的会话与SMTP相类似,接收和发送的消息条目通过网关来处理和转发。这种协议只用来阅读新闻。
安全性缺陷
- 网络消息非常耗费系统资源。
- 所有的这些程序可能会带来安全漏洞。
- 很多的***结构在设计时假设网关可能遭受攻击。
- 若传递消息的NNTP存在漏洞,消息主机会很危险。
措施
- 增加对相邻节点的认证,从而拒绝恶意的连接请求。