朋友,您听说过嗅探一词吗?一般而言,它是指:秘密地调查某些内容,以检索出机密的信息。而从信息安全的角度来看,嗅探是指:窃听流量,或将流量路由到可以捕获,分析和监控的目标处。如果用在“正道”上,我们可以通过执行嗅探,来分析网络的使用情况,对网络问题进行故障排查,以及通过监控会话来进行各种开发与测试。不过,我们在此讨论的是被“用歪了”的嗅探攻击,及其如何从复杂数据集中提取有意义的信息。
定义嗅探攻击
在互联网世界中,攻击者可以使用应用程序、网络、以及主机级别的硬件设备,通过执行嗅探,以读取或截获任何网络数据包中的文本信息。此类信息包括:用户名、密码、密钥、银行账号、交易记录等任何有价值的内容。我们可以简单地将此类攻击在技术上等同于物理窃取。
嗅探动机:
- 获取用户名和密码。
- 窃取银行和交易的相关信息。
- 监控电子邮件和聊天消息。
- 实施身份信息盗窃。
嗅探的类型
嗅探可分为主动和被动两种。顾名思义,主动是指:攻击者为了获取信息而进行的一系列活动或交互。而在被动状态下,攻击者只是隐蔽且被动地获取信息。下面,让我们看看两者的特点:
(1) 被动嗅探:
此类嗅探往往发生在集线器(hub)上。由于集线器设备可以在某个端口上接收流量,然后在所有其他端口上重新转发该流量,因此,如果攻击者将嗅探器放置在集线器上,则可以直接捕获所有流经集线器的网络流量。而且,嗅探器可以长时间“安静”地在那里监控网络中的一举一动。不过,如今随着集线器使用的减少,以及被交换机所取代,这种攻击方式已显得比较老套了。
(2) 主动嗅探:
交换机能够学习带有目标MAC地址的CAM(二层交换机地址)表。根据该表,交换机可以决定将哪个网络数据包发送到何处。在主动嗅探时,嗅探器将使用大量虚假的请求发往交换机,以填满CAM表。CAM满后,交换机将不得不把网络流量,以“合法”的形式发往所有端口,进而方便攻击者进行嗅探。
网络攻击的种类
- MAC泛洪:如上文所述,大量的MAC地址涌入交换机,以使CAM表溢出,并方便嗅探的执行。
- DNS缓存中毒:攻击者通过更改DNS的缓存记录,以便将请求重定向到恶意网站,进而捕获这些流量。由于这些恶意网站在外观上酷似真实的合法网站,因此极具欺骗性。用户一旦输入与账户相关的登录信息,就会立即被嗅探到。
- 邪恶双胞胎攻击(Evil Twin Attack):攻击者通过恶意软件来更改受害者的DNS,并通过设置一对DNS,来响应各种请求。据此,攻击者可以轻松地嗅探流量,并将其重新路由到自己设定的目标网站。
- MAC欺骗:为了收集到所有连接着交换机的MAC地址,攻击者将嗅探设备的MAC地址,设置为与目标主机相同,以嗅探并截获发往目标主机的消息。
如何识别嗅探器?
嗅探器既可能是安装在某个系统上的软件,又可能是嵌入式的硬件设备,还可能是DNS级别的嗅探器或其他网络节点。如您所知,网络在逻辑上被分为7层,每一层都有着各自的专属任务。那么嗅探攻击到底发生在哪一层上呢?总的说来,嗅探器可以从各个层次上捕获PDU(协议数据单元),其中最常见的是第3层(网络)和第7层(应用)。而针对每一层的协议,目前都存在着非安全版本,以及对应的安全版本。下面我们来讨论那些容易受到嗅探攻击的协议:
(1) HTTP:
超文本传输协议位于OSI模型的第7层。作为一个应用层协议,它以纯文本形式传输信息,这一般适用于静态的、或不需要用户输入任何信息的网站。其显著缺点是:任何人都可以在通信双方之间设置一个中间人攻击(Man-in-the-Middle Attack,MITM)的代理,用来接受所有流量,甚至修改某些数据流。随着Web 2.O时代的到来,为了用户之间交互的安全性,我们需要使用HTTP的安全版本(即HTTPS),来保证数据流在离开第7层时就已经被加密了。
(2) TELNET:
Telnet是一种客户端-服务器协议,它可以通过虚拟终端来提供通信功能。由于Telnet在默认情况下并不加密通信内容,因此那些有权访问到客户端和服务器所连接的交换机或集线器的攻击者,都可以嗅探到Telnet的通信内容,进而获取用户名和密码等信息。用作不安全Telnet的替代协议,SSH能够对流量进行加密,进而保证数据的机密性和完整性。
(3) FTP:
FTP常被用于在客户端和服务器之间传输文件。为了进行身份验证,FTP使用了纯文本的用户名和密码机制。不过,和Telnet类似,攻击者完全可以通过嗅探流量,以获取身份凭据,进而访问到服务器上的所有文件。FTP既可以通过SSL/TLS来进行加固,也可以被更安全的SFTP(SSH的文件传输协议)所代替。
(4) POP:
电子邮件客户端可以使用POP协议,从邮件服务器上下载邮件。由于同样使用纯文本机制进行通信,因此该协议也容易受到嗅探攻击。其后续的版本–POP2和POP3,都比原始版本要安全得多。
(5) SNMP:
简单网络管理协议(SNMP)可被用于与网络上的受管理设备进行通信。对于通信过程中的各种往来消息,SNMP使用社区字符串(community string)来执行客户端的身份验证。由于community string传输的是明文形式的密码,因此SNMP早已被SNMP V2和V3所取代,其中V3被认为是最新且最安全的。
优秀嗅探工具
(1) Wireshark:
作为一款开源的数据包捕获器和分析器,Wireshark支持Windows和Linux等操作系统。而作为Tcpdump的替代品,该工具是基于GUI的。Wireshark使用pcap去监控和捕获那些来自网络接口的数据包,并根据IP地址、协议和许多其他参数,对数据包进行过滤。不同的数据包可以基于相关性被分组或标记。据此,我们可以按需进行选择和分解。
(2) dSniff:
dSniff可以被用于对各种网络协议进行分析和密码嗅探。它可以从FTP、Telnet、POP、rLogin、Microsoft SMB、SNMP、以及IMAP等协议中获取信息。
(3) Microsoft network monitor:
顾名思义,它可以被用于针对网络数据包进行捕获、分析、以及故障排查。在功能上,该软件支持大量(300多种)协议、无线监控模式、以及碎片消息的重组等。
(4) Debookee:
它是一款付费工具,可用于监控和分析网络。不论目标设备是笔记本电脑、网络设备、甚至是电视,它都可以拦截和分析来自其所在子网中数据流量。通常,Debookee能够提供如下三种模块:
- 网络分析模块:扫描已连接的设备,拦截子网中的流量,扫描TCP端口,对HTTP、DNS、TCP、以及DHCP协议在网络层面上进行分析和监控,分析VoIP呼叫等。
- WiFi监控模块:提供覆盖范围内的各种AP、无线客户端、WiFi统计等详细信息。
- SSL/TLS解密模块:支持监控和分析各种安全协议。
防范嗅探攻击的措施
(1) 连接到受信任的网络中:请不要为了“蹭网”,连接隔壁咖啡店提供的不受信任的免费Wi-Fi。攻击者往往会利用用户缺乏网络安全意识的特点,在公共网络中实施流量嗅探,或者自行创建与既有网络ID相似的新网络,以诱骗受害者“入局”。特别是在机场,您会发现有许多名称类似“免费机场Wi-Fi”的无线网络。说不定其中就暗藏着攻击者的嗅探器节点。因此,请您只连接到家庭或办公室之类受信任的网络中。
(2) 加密!加密!加密!重要的事情说三遍:请对离开本系统的所有流量进行加密,以确保即使流量被嗅探到,攻击者也将无法理解其“字面意思”。例如:使用了HTTPS协议加密流量的网站,显然比只使用HTTP的网站更加安全。当然,值得注意的是:单纯的加密也并非万无一失,攻击者很可能会通过捕获大量的数据,运用解密工具来寻找特征,进而破解。因此,请您根据深度防御原则(defense in depth principle),做好多层次的安全加固。
(3) 网络扫描和监控:您必须定期对目标网络进行扫描,以查找可能以span模式捕获流量的入侵尝试,或是任何类型的恶意设备。此外,我们还需要实时监控目标网络,以尽早发现那些处于混杂模式的设备,以及网络中被安置的嗅探器。
原标题:What Is a Sniffing Attack? ,作者:Abhinav cynix
转载请注明:IT运维空间 » 安全防护 » 咱们来把嗅探攻击说个清楚
发表评论