浅析网络入侵监测系统-IDS的应用
(2)执行式样比对
使用ngrep拦截网络资料往来很简单。然而,分析捕捉到的资料并从中抽取URL则略具难度。因为ngrep将资料输出拆成一行一行的,所以我们必须额外耗费很多精力,去重组输出的资料,并将该资料中的URL与已知的网络攻击行为模式做比对。
此时,我向大家介绍另一个用来监测网页传送的犀利工具软件了。这个软件就叫做urlsnarf,它是由Dug Song写成的dsniff工具软件套件的一部份。urlsnarf 从所拦截的网络资料传送中,捕捉所有的 HTTP 回询,并且将结果以共享日记文件格式(Common Log Format ,CLF)显示出来,这种格式就跟市面上的网页服务器,诸如Apache或者是IIS所用的格式一样。
跟当初我们用ngrep的方式一样,我们使用urlsnarf并且在 10.1.1.2 的服务器上执行Whisker,所得到的结果如下:
# urlsnarf
urlsnarf: listening on eth0
10.1.1.21 - - [16/02/2001:03:58:43 +0530] "HEAD http://10.1.1.2/ HTTP/1.0" - - "http://10.1.1.2/" "Mozilla/5.0 [en] (Win95; U)"
10.1.1.21 - - [16/02/2001:03:58:43 +0530] "GET http://10.1.1.2/cfdocs/ HTTP/1.0" - - "http://10.1.1.2/" "Mozilla/5.0 [en] (Win95; U)"
10.1.1.21 - - [16/02/2001:03:58:45 +0530] "GET http://10.1.1.2/scripts/ HTTP/1.0" - - "http://10.1.1.2/" "Mozilla/5.0 [en] (Win95; U)"
10.1.1.21 - - [16/02/2001:03:58:45 +0530] "GET http://10.1.1.2/scripts/cfcache.map HTTP/1.0" - - "http://10.1.1.2/" "Mozilla/5.0 [en] (Win95; U)"
10.1.1.21 - - [16/02/2001:03:58:48 +0530] "GET http://10.1.1.2/cfcache.map HTTP/1.0" - - "http://10.1.1.2/" "Mozilla/5.0 [en] (Win95; U)"
10.1.1.21 - - [16/02/2001:03:58:50+0530]"GET
http://10.1.1.2/cfide/Administrator/startstop.html HTTP/1.0" - - "http://10.1.1.2/" "Mozilla/5.0 [en] (Win95; U)"
10.1.1.21 - - [16/02/2001:03:58:52 +0530] "GET http://10.1.1.2/cfappman/index.cfm HTTP/1.0" - - "http://10.1.1.2/" "Mozilla/5.0 [en] (Win95; U)"
使用urlsnarf唯一的缺点是,它现在的程序是写死的,只监听TCP通讯端口80(纯文字HTTP),3128(MS-proxy)以及8080(generic/squid proxy)。从其它通讯端口传输的HTTP协议资料则完全被忽略。要想改变这种限制,你必须在urlsnarf的原始程序代码中做一些小小的改变。然而,光是urlsnarf所提供的功能,就已经远远的超过它所给我们的限制了。
因为urlsnarf以CLF格式产生日记,我们可以将它的输出结果,转送到任何在网页服务器上使用CLF格式分析日记的日记分析软件。