网页挂马的分析与对策
2012-04-29王新柳
王新柳
网页挂马就是攻击者在正常的页面中插入一段代码,当浏览者打开该网页时,这段代码就会被执行,同时下载并运行所调用的木马服务器端程序,进而控制浏览者的主机,以便对用户实施各种攻击。
黑客;网页挂马;检测方法;预防对策
1.网页挂马的概念
网页挂马又称之为网页隐藏式恶意连结。网页挂马与钓鱼网站(Phishing)不同之处,钓鱼网站通常是设置一个以假乱真的网站,来欺骗网络浏览者上当;网页挂马则是攻击一个正常的网站,利用网路浏览者对于正常网站的信任感,让使用者在不知不觉中被植入木马程式,或者是骇客自行设立一个网站或虚设部落格,以各种方式吸引民众浏览,再送出恶意程式。
2.网页挂马的危害
如果一台正常的网络服务器被恶意用户入侵,其网页被挂马,在一定程度上可以说是网页被篡改,其危害是巨大的,对于服务器而言,其一方面是带宽与系统资源的占用巨大,另一方面直接导致该服务器成为木马传播之源,而对于受害网民来说,个人资料信息的安全将成为公众目标,其电子银行帐户和密码、游戏帐号和密码、邮箱帐户和密码、QQ/MSN帐号和密码等都不再安全。
3.网页挂马的方式
网页挂马中所使用的木马隐蔽性都很高。黑客为躲避杀毒软件对所挂木马的查杀,常使用2种方法对所挂木马进行特殊处理:加壳处理,即对源文件经过特殊的算法进行压缩、变形,经过这道工序后木马程序就会逃过大部分杀毒软件的查杀;修改特征码,即黑客对木马中特征码部分的代码进行修改,将其加密或使用汇编指令将其跳转,致使杀毒软件无法找到病毒特征码,从而不能将其判定为病毒。
常见的挂马方式如下:将木马伪装为页面元素,木马则会被浏览器自动下载到本地;利用脚本运行的漏洞下载木马;利用脚本运行的漏洞释放隐含在网页脚本中的木马;将木马伪装为缺失的组件,或和缺失的组件捆绑在一起(例如:flash播放插件)这样既达到了下载的目的,下载的组件又会被浏览器自动执行;通过脚本运行调用某些com组件,利用其漏洞下载木马;在渲染页面内容的过程中,利用格式溢出放木马;在渲染页面内容的过程中,利用格式溢出下载木马。
木马的执行方法。木马在完成下载之后,执行的方式有:利用页面元素渲染过程中的格式溢出执行shellcode进一步下载的木马;利用脚本运行的漏洞执行木马;伪装成缺失组件的安装包被浏览器自动执行;通过脚本调用com组件利用其漏洞执行木马;利用页面元素渲染过程中的格式溢出直接执行木马;利用com组件与外部其他程序通讯,通过其他程序启动木马。
为了躲开杀毒软件的查杀,一些网马还会进行以下操作:修改系统时间,使杀毒软件失效;摘除杀毒软件的HOOK挂钩,使杀毒软件检测失效;修改杀毒软件病毒库,使之检测不到恶意代码;通过溢出漏洞不直接执行恶意代码,而是执行一段调用脚本,以躲避杀毒软件对父进程的检测。
4.网页挂马的防御及预防
网页木马的检测及防御。网页的漏洞主要有注入漏洞、跨站漏洞、旁注漏洞、上传漏洞、暴库漏洞和程序漏洞等等,网站管理员要利用入侵检测等安全工具定期对自己的网站进行安全性检测,及时对安全设置错误或代码进行修证与改写。
网页挂马的检测。检测伪装文件格式。通过对文件格式精确的识别,判断页面元素是否为伪装的恶意代码。检查页面元素来源是否为长期散布网页挂马的站点。
检测特定函数调用堆栈实现。
区分用户下载文件,浏览器自动下载文件。
检测已知缓冲区漏洞。
检测进程创建调用堆栈、调用参数是否和浏览器常规一致,以检测未知漏洞造成的文件执行。对文件执行进行监控,检测文件执行参数等特征。对部分目录写文件操作进行监控。
检测系统时钟修改。检测对系统DLL内存镜像修改(导入、导出表、函数体内容)。检查PE文件和CAB包裹的数字签名。特定文件格式检测,检测已知的格式溢出。通过对以上几项的加权处理,可以实现有效对已知和未知网页挂马的检测。
客户端检测防御方式。特征匹配。将网页挂马的脚本按脚本病毒处理进行检测。但由于网页脚本变形方式、加密方式比起传统的PE格式病毒更为多样,检测起来也更加困难。主动防御,禁止浏览器安装危险小插件。当浏览器要做出某些动作时,会做出提示,例如:下载了某插件的安装包,会提示是否运行,比如浏览器创建一个暴风影音播放器时,提示是否允许运行。在多数情况下用户都会点击是,网页木马会因此得到执行。检查父进程是否为浏览器。许多木马很容易躲过这种方法,并且会对很多插件造成误报。及时补漏。网页木马的运行原理是利用IE浏览器的漏洞,因此用户要开启系统“自动更新”功能,或者使用360安全卫士或其他专业检测工具对系统及应用软件进行实时漏洞扫描,及时打上最新漏洞补丁,并定期检查各种应用软件的更新,以杜绝木马利用应用软件的漏洞进行传播。
网站防御方法。合理设置服务器,反注册,卸载危险组件。对网站首页及其他主要页面的源代码进行检查,用记事本打开这些页面,检查是否有挂马代码。建议用户通过ftp来上传、维护网页,尽量不安装asp的上传程序。对asp上传程序的调用一定要进行身份认证,并只允许信任的人使用上传程序。这其中包括各种新闻发布、商城及论坛程序,只要可以上传文件的asp都要进行身份认证!asp程序管理员的用户名和密码要有一定复杂性,不能过于简单,要注意定期更换。到正规网站下载asp程序,下载后要对其数据库名称和存放路径进行修改,数据库文件名称应具有一定的复杂性。要尽量保持程序为最新版本。不要在网页上加注后台管理程序登陆页面的链接。为防止程序有未知漏洞,可以在维护后删除后台管理程序的登陆页面,下次维护时再通过ftp上传即可。要时常备份数据库等重要文件。日常要多维护,并注意空间中是否有来历不明的asp文件。一旦发现被入侵,除非自己能识别出所有木马文件,否则要删除所有文件。重新上传文件前,所有asp程序用户名和密码都要重置,并要重新修改程序数据库名称和存放路径以及后台管理程序的路径。定期利用网站挂马检测软件进行检测。
网站挂马恢复措施。整站被挂马,最快速的恢复方法是:除开数据库、上传目录之外,替换掉其他所有文件;仔细检查网站上传目录存放的文件,很多木马伪装成图片保存在上传目录,你直接把上传文件夹下载到本地,用缩略图的形式,查看是不是图片,如果不显示,则一律删除;数据库里面存在木马,则把数据库的木马代码清除!可以采用查找替换;如果网站源文件没有,则需要FTP下载网站文件,然后再DW里面,用替换清除的方式一个个清除,注意网站的木马数,如果被挂了很多不同的,必须多多检查!
5.避免网页挂马的安全措施
加强教育和宣传,提高公众网络的安全意识。信息安全意识是指人们在上网的过程中,对信息安全重要性的认识水平,发现影响网络安全行为的敏锐性,维护网络安全的主动性。采用多重网络技术,保证网络信息安全。目前,常用的网络安全技术,主要包括:防火墙,物理隔离,VPN(虚拟专用网)。
运用密码技术,强化通信安全。应围绕数字证书应用,为电子政府信息网络中各种业务应用提供信息的真实性、完整性、机密性和不可否认性保证。在业务系统中建立有效的信任管理机制、授权控制机制和严密的责任机制。
加强技术管理,努力做到使用安全。在内部严格控制企业内部人员对网络共享资源的随意使用。在内网中,除有特殊需要不要轻易开放共享目录,对有经常交换信息要求的用户,在共享时应该加密,即只有通过密码的认证才允许访问数据。
健全法律,严格执法。目前我国在网络信息法律法规方面还有很多缺失,不能有效地保护公众的合法权益,给一些犯罪分子带来了可乘之机。我国立法部门应加快立法进程,使网络安全管理走上法制化轨道。