越来越多的人开始关注起网页挂马,为了让大家对真正的反挂马技术有所了解,下面简单介绍下:
1.恶意域名的对抗(优点:非常简单,有效;缺点:实时性差,不能防御新的恶意网站)
由于操作系统在访问网站的时候会优先去检查hosts文件是否已经包含该网站的映射,因此我们可以做做手脚让恶意域名不能访问,从而使得后续的恶意代码无法下载,可以说这是网马进入电脑的第一道防线(比较有代表性的就是360安全卫士,目前360安全卫士从这层防御网马入侵);金山云安全中心发现挂马网站利用挂马通常换域名时间为一天一个,此方法躲避传统的拦截方式已经有所突破。
2. 网马触发关键区域的拦截(优点:可以防范采用同一类技术的漏洞;缺点:挂马采用了新的技术将失去拦截能力)
通常采取的是堆栈占坑,代码返回地址检查等技术,但目前大多的挂马方式都是采用此堆栈溢出方式进行挂马。
3.漏洞攻击代码的防御(优点:针对性强,防御效果好;缺点:有可能会误报正常网站)
通常大部分网页防挂马功能使用的是网页脚本特征来防御,简单的说把网页脚本当作文件来查杀,缺点就显而易见来,容易误报,网页一修改就不报毒了,如卡巴斯基、畅游巡警等是一个非常典型的例子。而一些真正意义上的网页防挂马软件,会分析漏洞的执行原理然后针对性的防御,如金山网盾采用的高级脚本引擎分析技术。
4.木马下载器的防御(优点:拦截一切所有可疑程序;缺点:误报大,影响正常使用)
如果以上防御都已经失效了,木马下载器的防御就是最后一道防御,网页防挂马软件会在这个环节将一些敏感的系统函数hook(就是接管)比如URLDownloadToCacheFile,URLDownloadToFile等网马常用的函数,接管这些函数就可以拦截木马下载器的下载。 但是比较遗憾的是很多正常程序下载文件也会用到这些程序,通常很难很准确的断定用到这些程序下载文件的是不是木马下载器(有害程序),同时现在的木马下载器“逃过”此方法的检测也有很多办法。