检测网络攻击用HTTP解析器[网络技术]
本文“检测网络攻击用HTTP解析器[网络技术]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
我们就以HTTP协议为例,结合KIDS(金诺网安入侵检测系统)中利用的HTTP解析器,对这两种办法举行对比阐明.
GET/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dirHTTP/1.0
一个针对IIS的Unicode攻击的第一步普通是通过浏览器送出近似下面这样一个HTTP恳求:
TCPdport:80;content:“%c1%1c”/i;alert:“IISUnicodeDirectoryTraversal”
TCPdport:80;content:“cmd.exe”/i;alert:“Attempttoexecutecmd”
利用情势匹配的入侵检测系统会利用近似于下面的法则举行检测:
第一条法则表示,假如检测到一个TCP包发向80端口,并且此中含有字符串“%c1%1c”,系统就发出报警“IISUnicodeTraversal”;第二条法则表示,假如检测到一个TCP包发向80端口,并且此中含有字符串“cmd.exe”(忽视大小写),系统就发出报警“Attempttoexecutecmd”.
抛开实现上的优化等问题,这样一个系统有着下面两个严重缺陷:
●误报 这个办法不考虑TCP衔接能否已成立,也不考虑匹配字串会不会大概是合理数据的一部份.分外是后一情形尤为严重.拿换码序列“%c1%1c”来说,它完好可以是Cookie或GET/POST数据中的合理成员.
●漏报 这一检测办法要求匹配字串呈目前同一数据包中,攻击者完好可以利用多个数据包来实施这一攻击.利用Telnet目标主机80,然后直接在号令行上输入上面的HTTP恳求并加上两个回车,便可以发出攻击,而这样的攻击大概利用了多至64个数据包.攻击者也可以对“cmd.exe”举行换码处理——如利用“%63md.exe”,上面的第二条检测法则就完好没用了.
KIDS中的HTTP解析器恰好是针对这两个缺陷计划的.它具有以下特点:
●利用插件方法运行时动态载入 假如不需求对HTTP举行监测,可以不加载HTTP解析器以节俭网络传感器的内存开销.
●KIDS引擎的TCP流重组本领:可对分离在多个数据包中的HTTP恳求举行解析处理.
●完好获得整个HTTP恳求:可对恳求超长(大概为缓冲区溢出攻击)举行判断,即便一个HTTP恳求超越了多个TCP包.
●完好解析HTTP0.9、HTTP1.0和HTTP1.1协议:可对一个HTTP衔接中的多个HTTP恳求辨别举行解析处理.
●可对向代理服务器发出的HTTP恳求举行解析处理.
●把HTTP恳求分化为办法、主机、途径、查询字串等部份辨别举行解析处理.对途径部份会举行解码处理,并对解码前后的途径辨别举行查验.
HTTP解析器里的法则是以XML的方法分层举行组织.我们主要关心的HTTP办法是“GET”、“HEAD”和“POST”,所以我们在Method中对此举行了规定;这意味着,我们只对这三种范例之一的完好HTTP恳求举行解析处理.HTTP及其代理的常用端口80、3128和8080在network部份用port标签举行了规定.rules部份中的host可规定禁止拜候的网站(以域名情势).path部份规定了若何对解码前的途径举行查验,而path_decoded部份规定了若何对解码后的途径举行查验.关于包含“%63md.exe”的途径,HTTP解析器解码后会先得到“cmd.exe”,然后很简单就可以在法则中匹配到,并产生编号为1056的事件.HTTP解析器会把事件号和相关信息以统一的格局递交给呼应模块做下一步处理.
综上所述,KIDS中的HTTP解析器以独立的检测器模块方法工作,对HTTP恳求举行解析处理,可以更坚固、更有效地对通过HTTP协议发动的攻击举行检测.明显,以模块化的方法对高层协议举行解析处理,将是将来入侵检测的方向.
以上是“检测网络攻击用HTTP解析器[网络技术]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |