网站出现挂马的主要原因为系统、防火墙出现漏洞或者网站应用程序出现漏洞所致。网络管理员是负责审核网站和维护网站正常运行的人员,文章从网络管理员的角度,谈谈如何加强审计与监测,防范网站挂马。
加强各部门提交网页审计
一直以来,对于网络中心的网管人员来说,要想不被挂马,首先肯定要发现网站应用程序是否存在安全漏洞。对网站应用程序进行审计通常有人工检测、专业系统检测和安全审计工具检测方法。
人工代码审查流于形式
人工检测主要是网管人员,通过详细阅读代码,然后发现网站应用程序是否存在安全漏洞。例如在某个页面发现如下代码:<iframe src=”http://127.0.0.1/test.htm” width=”0” height=”0” frameborder=”0”></iframe>,这个时候,src参数后面的就可能是网页木马的地址。当我们打开这个网站的首页后,会弹出网页木马的页面,这个页面我们是无法看到的,因为我们在代码中设置了弹出页面的窗口长宽各为0。此时木马也已经悄悄下载到本机并运行了。
人工检测要求网管人员必须精通常见的动态网站开发语言,如PHP、jsp等等,另外还要知道漏洞的表现形式。实际上,能够达到这种水平的网管人员非常少。另外,对一个个网页一句句进行代码审查,由于网页代码庞大,无法人工逐个分析或者无法彻底铲除。所以从现实角度来看,很多学校虽然规定了网管人员必须进行人工审查。但是由于以上原因,使得网页的审计往往只是内容上进行草草审计而流于形式。
专业检测系统效果好、价格贵
目前,很多公司推出了专业的网站监测产品,如智恒联盟的WebPecker V8专业版网站安全统一监控平台,赛尔的全国高校招生安全检测平台等等。这些检测平台,可以提供挂马检测 、SQL注入检测、XSS跨站漏洞检测以及敏感信息告警等功能。这些工具,对木马检测通常采用沙箱技术和客户端蜜罐技术,对提交的网站挂马情况扫描分析。
SQL 注入漏洞会导致网站数据库信息被窃取、篡改、删除,进一步导致网站被挂马,甚至被攻击者获取到网站服务器管理权限。这些工具通过渗透测试等检测方法,检测网站是否存在SQL 注入漏洞。作为辅助功能,专业工具提供了敏感信息监控功能,对网站的敏感字段通过爬虫技术进行分析,及时发现网站中出现的敏感信息。
这些检测系统优点是检测效果较好,但是价格比较贵,对于不少学校来说是一个负担。另外,由于木马技术的发展,特别是最近推出的木马,增加了反虚拟机的代码,因此,完全依赖使用沙箱这种技术来检测挂马,效果有待实践检验。因此,笔者建议今后要采用上述的综合方法来防止挂马。
免费的安全审计工具
由于网络攻击的增多和人们对审计工具缺乏信任,因此开源的Web安全审计工具以其开源、免费深受大家的喜欢。这里推荐Nikto工具。Nikto是一个开源的Web服务器扫描程序,目前最新版本为2.1.1(http://cirt.net/nikto2),它可以对Web服务器的多种项目(包括6100个潜在的危险文件,以及超过950个服务器版本)进行全面的测试,成为网管人员常用的工具。
提起Web安全审计工具,当然离不开IBM Rational AppScan和 HP WebInspect。 Rational AppScan 使用比较简单,基本上属于黑盒测试工具,测试人员不需要了解 Web 应用本身的结构。AppScan可以成功检查跨站脚本、注入漏洞等,并给出解决该漏洞的方法,帮助开发人员迅速修复程序安全隐患。对于采用Web 2.0技术的网站来说,可以使用HP 公司的WebInspect,它可以很好的对网站执行Web 应用程序安全测试和评估。