入侵检测系统“Snort”发现漏洞
美国当地时间4月17日,CERT/CC发布警告称:在开放源码类攻击入侵检测系统(IDS)软件“Snort”中发现2个安全漏洞。受其影响的版本是1.8至2.0RC1。该漏洞如果被恶意使用的话,攻击者就有可能远程夺取运行Snort软件的机器管理员权限。安全对策是将IDS升级至2.0版本等。
Snort为了能使用户自行追加功能,集成了各种模块(预处理模块)。在默认条件下设置为有效的“stream4预处理”和“RPC预处理”模块中分别发现了不同的安全漏洞。
stream4预处理模块中的漏洞由CORE安全技术公司(CORE Security Technologies)发现、并于4月15日公布。stream4预处理模块是指在Snort软件中具有重组(还原数据包)TCP数据包功能的模块。
stream4预处理模块存在缓冲区溢出的安全漏洞。因此如果有人发送了做了手脚的数据包的话,就可能运行嵌入在数据包中的任意代码。由于代码是在运行Snort权限--通常为管理员(根,root)权限下运行,事实上就等于是夺取了运行Snort的机器的管理权限。1.8到2.0RC1之间的版本将受到此漏洞的影响。
RPC预处理模块中的漏洞由国际安全系统公司(ISS)发现、并于3月3日公布。作为绕过IDS的攻击手段,有一种就是使用片段式RPC数据包。而RPC预处理模块则可检测出这种攻击数据包,Snort 1.8以上版本支持这一功能。
由于RPC预处理模块也存在缓冲区溢出的漏洞,因此如果有人向机器发送做过手脚的数据包的话,就可能在管理员权限下执行任意代码。受此安全漏洞影响的是1.8、1.9.1和2.0 Beta。
对策是升级到已修正安全漏洞的2.0版本。可以由Snort.org的下载页面下载源代码和二进制码。
此外,还可以将stream4和RPC预处理模块设置为无效来避免被攻击。具体而言:把Snort设置文件“snort.conf”中的“preprocessor stream4_reassemble”和“preprocessor rpc_decode: 111 32771”的程序行变成注释(在程序行前面加“#”)。不过,尽管这样做能够避免受到漏洞的影响,但这些模块所具有的功能自然也就无法使用了,因此这一点需多加注意。
网友评论