发布时间:2014-08-13 15:58:30作者:知识屋
在局域网中,Sniffer是一个很大的威胁。恶意用户可以籍此看到一些机密文件和及一些个人的隐私。Sniffer对安全有如此的威胁,但它可以方便的在因特网上下免费下栽并安装在PC上。但是,目前为止,还没有很好的方法来检测谁的PC安装了Sniffer软件。这篇文档将讨论利用ARP包来检测那些在公司和学校局域网内Sniffing的恶意用户。
网卡混杂模式:为Sniffer窃取信息开后门
局域网通常是以太网组成的。在以太网上用的是IPV4协议,数据是明文传输的,除非用了软件。当用户发信息到网络上时,他只希望网络另一端的用户能接收到。不幸的是,以太网的机制给未被授权的用户提供了窃听信息的机会。
我们知道,在以太网中,信息会发送到网络中所有的节点,有些节点会接收这些信息,同时有些节点会简单的丢弃这些信息。接收或丢弃信息由网卡来控制。网卡不会接收所有发到局域网的数据包,即使它连在以太网上;相反它会过滤掉一些特定的数据包。在这篇文档里,我们将称这种过滤为网卡的硬件过滤。Sniffer会被网卡设置成特定的模式,这样网卡就可以接收所有到达的数据包了,而不管它是不是这些包指定的目的地址。这种网卡的模式称为混杂模式。
Sniffer接收所有的数据包,而不是发送一些非法包。所以它不会干扰网络的正常运行,因此很难检测到这种恶意行为。虽然如此,网卡的混杂模式显然是不同于正常模式的。一个本来应该被过滤的包在这种模式下会被允许到达内核。是不是做出响应取决于系统内核。
寻找Sniffer窃取者的致命弱点
我们把检测混杂模式的方法用一个现实世界的例子来模拟。假设会议室里正在开会。一个窃听者用他的一只耳朵靠着会议室的墙壁。当他正在窃听的时候,他会屏住呼吸,静静的听着会议室的所有对话。但是如果有人在会议里喊他的名字,“MR. **?”窃听者有时候会应声“YES!”这种类比看起来有些荒谬,但确实是应用在检测网络的SNIFFING上了。因为SINFFER接收所有的数据包,包括那些本来不是发给它的,所以它可能会对那些本来应该被网卡过滤的包错误地做出响应。所以,我们对混杂模式的检测建立在以下的基础上:向网络上所有的节点发送ARP请求包,检查是不是有ARP响应包。
为了解释这个原理,首先,我们从网卡的混杂模式和普通模式的区别开始。所有以太网卡都有6字节的硬件地址。厂商分配这些地址,而且每个地址都是唯一的。从理论上说,不存在两块硬件地址一样的网卡。以太网上信息的交流是建立在硬件地址的基础上的。但是网卡为了接收不同类型的数据包,可以建立不同的过滤机制。现对网卡的各种过滤机制说明如下:
单播(UNICAST)
接收所有目标地址和网卡的硬件地址一样的包。
广播(Broadcast)
接收所有的广播包。广播包的目的地址是FFFFFFFFFFFF。这种模式是为了能收到那些希望能到达网络所有节点的包。
组播(Multicast)
接收所有预先注册好的特定组的包。只有那些预先注册的组才会被网卡接收。
所有的组播(All Multicast)
接收所有的组播。这种模式和上层的协议有关联,这种模式会接收所有组播位设为1的包。
混杂(Promiscuous)
接收所有的数据包而不管它的目的地址是什么。
上图示意了在正常模式和混杂模式下硬件过滤的操作方式。通常情况下,网卡的硬件过滤会设置成单播,广播和组播1模式。网卡只接收目的地址和它的硬件地址一样,广播地址(FF:FF:FF:FF:FF:FF)和组播地址1(01:00:5E:00:00:01)。
ARP检测包找出混杂模式节点
|
GR BIT
|
NORMAL MODE
|
PROMISCUOUS MODE
|
||||
HW FILTER
|
SW FILTER
|
RES
|
HW FILTER
|
SW FILTER
|
RES
|
||
TO_US
|
OFF
|
PASS
|
PASS
|
Y
|
PASS
|
PASS
|
Y
|
OTHERHOST
|
REJECT
|
-
|
N
|
PASS
|
REJECT
|
N
|
|
BROADCAST
|
ON
|
PASS
|
PASS
2011-06-17 电脑开机时出现lass.exe进程是病毒吗? 自拍须谨慎!教你如何通过照片定位查看拍摄地点 电脑病毒最基础知识 黑客学员必须了解的C语言技术 精典详细内网渗透专题文章 教你破解Tp-Link的无线路由密码 解决SecureCRT中文显示乱码 QQ电脑管家和360哪个好?横评实测对比 攻防实战:无线网络路由入侵过程 |