嗅探器
出自 MBA智库百科(https://wiki.mbalib.com/)
嗅探器(Sniffer)
目录 |
嗅探器是指是一种监视网络数据运行的软件设备,协议分析器既能用于合法网络管理也能用于窃取网络信息。网络运作和维护都可以采用协议分析器:如监视网络流量、分析数据包、监视网络资源利用、执行网络安全操作规则、鉴定分析网络数据以及诊断并修复网络问题等等。非法嗅探器严重威胁网络安全性,这是因为它实质上不能进行探测行为且容易随处插入,所以网络黑客常将它作为攻击武器。
分析网络信息流通量
探测企图入侵网络的攻击
探测由内部和外部的用户滥用网络资源
探测网络入侵后的影响
监测链接互联网宽频流量
监测网络使用流量(包括内部用户,外部用户和系统)
监测互联网和用户电脑的安全状态
获取帐号一般为管理员帐号与密码等机密信息
渗透与欺骗
嗅探器的工作原理[1]
简单的一个回答是你发现不了。因为他们根本就没有留下任何痕迹。
因为嗅探是如此嚣张又安静,如何知道有没有嗅探存在,这也是一个很难说明的问题,比较有说服力的理由证明你的网络有嗅探目前有这么两条:
网络通讯掉包率反常的高
通过一些网络软件,可以看到信息包传送情况(不是嗅探),向ping这样的命令会告诉你掉了百分几的包。如果网络中有人在Listen,那么信息包传送将无法每次都顺畅的流到目的地。(这是由于嗅探拦截每个包导致的)
网络带宽出现反常
通过某些带宽控制器(通常是防火墙所带),可以实时看到目前网络带宽的分布情况,如果某台机器长时间的占用了较大的带宽,这台机器就有可能在监听。在非高速信道上,如56Kddn等,如果网络中存在嗅探,你应该也可以察觉出网络通讯速度的变化。
还有一个办法是看看计算机上当前正在运行的所有程序。但这通常并不可靠,但你可以控制哪个程序可以在你的计算机上运行。
在Unix系统下使用下面的命令: ps -aux 或: ps -augx。 这个命令列出当前的所有进程,启动这些进程的用户,它们占用CPU的时间,占用内存的多少等等。
Windows系统下,按下Ctrl+Alt+Del,看一下任务列表。不过,编程技巧高的嗅探即使正在运行,也不会出现在这里的。
另一个方法就是在系统中搜索,查找可疑的文件。但可能入侵者用的是他们自己写的程序,所以都会给发现嗅探造成相当大的困难。
还有许多工具,能用来看看你的系统会不会在杂收模式。从而发现是否有一个嗅探正在运行。
对于嗅探器如此强大的“灵敏度”,我们力求作到:
检测和消灭嗅探器
会话加密
将数据隐藏,使嗅探器无法发现
加密
你最关心的可能是传输一些比较敏感的数据,如用户ID或口令等等。有些数据是没有经过处理的,一旦被嗅探,就能获得这些信息。解决这些问题的办法是加密。
我们介绍以下SSH,它又叫Secure Shell。SSH是一个在应用程序中提供安全通信的协议。它是建立在客户机/服务器模型上的。SSH服务器的分配的端口是22。连接是通过使用一种来自RSA的算法建立的。在授权完成后,接下来的通信数据是用IDEA技术来加密的。这通常是较强的,适合与任何非秘密和非经典的通讯。
SSH后来发展成为F-SSH,提供了高层次的,军方级别的对通信过程的加密。它为通过TCP/IP网络通信提供了通用的最强的加密。如果某个站点使用F-SSH,用户名和口令成为不是很重要的一点。目前,还没有人突破过这种加密方法。即使是嗅探,收集到的信息将不再有价值。当然最关键的是怎样使用它。
SSH和F-SSH都有商业或自由软件版本存在。
其他的方法
另一个比较容易接受的是使用安全拓扑结构。这听上去很简单,但实现起来花销是很大的。
在我们小的时候也许都玩过一种智力游戏,它通常由一系列数字组成。游戏的目的是要安排好数字,用最少的步骤,把它们按递减顺序排好。当处理网络拓扑时,就和玩这个游戏一样。
这样的拓扑结构需要有这样的规则:一个网络段必须有足够的理由才能信任另一网络段。网络段应该考虑你的数据之间的信任关系上来设计,而不是硬件需要。
让我们开始处理这个网络拓扑,来看看:
第一点:一个网络段是仅由能互相信任的计算机组成的。通常它们在同一个房间里,或在同一个办公室里。比如你的财务信息,应该固定在某一节点,就象你的财务部门被安排在办公区域的的一个不常变动的地方。
注意每台机器是通过硬连接线接到Hub的。Hub再接到交换机上。由于网络分段了,数据包只能在这个网段上被嗅探。其余的网段将不可能被嗅探。
所有的问题都归结到信任上面。计算机为了和其他计算机进行通信,它就必须信任那台计算机。作为系统管理员,你的工作是决定一个方法,使得计算机之间的信任关系很小。这样,就建立了一种框架,可以告诉你什么时候放置了一个嗅探,它放在那里了,是谁放的等等。
如果你的局域网要和INTERNET相连,仅仅使用防火墙是不够的。入侵者已经能从一个防火墙后面扫描,并探测正在运行的服务。你要关心的是一旦入侵者进入系统,他能得到些什么。你必须考虑一条这样的路径,即信任关系有多长。举个例子,假设你的WEB服务器对某一计算机A是信任的。那么有多少计算机是A信任的呢。又有多少计算机是受这些计算机信任的呢?在信任关系中,这台计算机之前的任何一台计算机都可能对你的计算机进行攻击,并成功。你的任务就是保证一旦出现的嗅探,它只对最小范围有效。
嗅探往往是攻击者在侵入系统后使用的,用来收集有用的信息。因此,防止系统被突破是关键。系统安全管理员要定期的对所管理的网络进行安全测试,防止安全隐患。同时要控制拥有相当权限的用户的数量。请记住,许多攻击往往来自网络内部。