关于网络防火墙防范溢出策略分析 |
发布时间: 2012/7/3 18:45:51 |
“溢出”一直以来都是很多黑帽子黑客最常用(或者说是最喜欢用)的手段之一,随安全文化的逐步普及,大量的公开shellcode(“溢出”代码)与溢出攻击原理都可以随意在各大的网络安全网站中找得到,由此衍生了一系列的安全隐患...小黑黑使用它们来进行非法的攻击、恶意程序员使用它们来制造蠕虫等等...而网络防火墙作为人们最喜欢的网络安全“设施”之一,它又能如何“拦截”这一类型的攻击呢? 目前大多的防火墙系统都是针对包过滤规则进行安全防御的,这类型的防火墙再高也只能工作在传输层,而溢出程序的shellcode是放在应用层的,因此对这类攻击就无能为力了。打个比方:前段时间比较火热的IIS WEBDAV溢出漏洞,若黑客攻击成功能直接得到ROOTSHELL(命令行管理员控制台),它是在正常提供HTTP服务的情况下产生的溢出漏洞,若在不打补丁与手工处理的情况下一台防火墙又能做到什么呢?相信你除了把访问该服务器TCP80端口(提供正常地HTTP服务的情况下)的包过滤掉以外就什么都不会去做了,当然,这样也会使你的HTTP服务无法正常地开放(等于没有提供服务...)。下面就以这个漏洞为“论点&题材”,说说自己的解决方案。 1)对希望保护的主机实行“单独开放端口”访问控制策略 所谓“单独开放端口”就是指只开放需要提供的端口,对于不需要提供服务的端口实行过滤策略。打个比方,现在我们需要保护一台存在WebDAV缺陷的WEB服务器,如何能令它不被骇客入侵呢?答案是:在这台WEB服务器的前端防火墙中加入一个“只允许其他机器访问此机的TCP80端口”的包过滤规则(至于阁下的防火墙能否实现这样的规则就另当别论了)。加上这个规则又会有怎样的效果呢?经常做入侵渗透测试的朋友应该比我还清楚远程溢出的攻击实施流程了吧? ①使用缺陷扫描器找到存在远程溢出漏洞的主机-》②确认其版本号(如果有需要的话)-》③使用exploit(攻击程序)发送shellcode-》④确认远程溢出成功后使用NC或TELNET等程序连接被溢出主机的端口-》⑤得到SHELL 使用“单独开放端口”策略的解决方案对整个远程溢出过程所发生的前三步都是无能为力的,但来到第四步这个策略能有效地阻止骇客连上有缺陷主机的被溢出端口,从而切断了骇客的恶意攻击手段。 优点:操作简单,一般的网络/系统管理员就能完成相关的操作。 缺点:对溢出后使用端口复用进行控制的EXPLOITS就无能为力了;对现实中的溢出后得到反向连接控制的EPLOITS也是无能为力;不能阻止D.o.S方面的溢出攻击。 亿恩科技地址(ADD):郑州市黄河路129号天一大厦608室 邮编(ZIP):450008 传真(FAX):0371-60123888 本文出自:亿恩科技【www.enkj.com】 |