对木马隐藏技术的研究
计算机病毒、木马以及网络蠕虫等恶意程序对网络安全构成了巨大的威胁。
其中木马的破坏最大,它能在高隐蔽性的状态下窃取网民的隐私信息。
通常,被感染木马的计算机用户并不知道自己的计算机已被感染,这是由于木马程序具有很高的隐蔽性。
木马的隐藏技术主要由以下三种:
1、程序隐蔽
木马程序隐藏通常指利用各种手段伪装木马程序,让一般用户无法从表面上直接识别出木马程序。
要达到这一目的可以通过程序捆绑的方式实现。
程序捆绑方式是将多个exe 程序链接在一起组合成一个exe 文件,当运行该exe 文件时,多个程序同时运行。
程序捆绑有多种方式,如将多个exe 文件以资源形式组合到一个exe 文件中或者利用专用的安装打包工具将多个exe 文件进行组合,这也是许多程序捆绑流氓软件的做法。
2、进程隐蔽
隐藏木马程序的进程的显示能防止用户通过任务管理器查看到木马程序的进程,从而提高木马程序的隐蔽性。
目前,隐藏木马进程主要有如下两种方式:(1)API拦截
API 拦截技术属于进程伪隐藏方式。
它通过利用Hook技术监控并截获系统中某些程序对进程显示的API 函数调用,然后修改函数返回的进程信息,将自己从结果中删除,导致任务管理器等工具无法显示该木马进程。
具体实现过程是,木马程序建立一个后台的系统钩子(Hook),拦截PSAPI的EnumProcessModules 等相关函数的调用,当检测到结果为该木马程序的进程ID(PID)的时候直接跳过,这样进程信息中就不会包含该木马程序的进程,从而达到了隐藏木马进程的目的。
(2)远程线程注入
远程线程注入属于进程真隐藏方式。
它主要是利用CreateRemoteThread 函数在某一个目标进程中创建远程线程,共享目标进程的地址空间,并获得目标进程的相关权限,从而修改目标进程内部数据和启动DLL 木马。
通过这种方式启动的DLL 木马占用的是目标进程的地址空间,而且自身是作为目标进程的一个线程,所以它不会出现在进程列表中。
3、通信隐藏
进程隐藏可以进一步加强其隐蔽性。
但是仍然可以从通信连接的状况中发现木马程序的踪迹。
因此,很有必要实现木马程序的通信隐藏。
本文给出了以下两种通信隐藏技术的实现思想。
4、协同隐藏
木马协同隐藏思想通常是综合利用各种木马隐藏技术,通过木马子程序或者木马程序之间相互协作,实现更高的隐蔽性。
木马协同隐藏技术摆脱了传统隐藏技术仅靠单一木马、单一技术的方式,它能够从宏观整体出发,设计更加强大的木马协作隐藏模型。
“灰鸽子”木马病毒
常见木马机器隐藏技术
以灰鸽子变种木马为例,灰鸽子变种木马运行后,会自我复制到Windows 目录下,并自行将安装程序删除。
修改注册表,将病毒文件注册为服务项实现开机自启。
木马程序还会注入所有的进程中,隐藏自我,防止被杀毒软件查杀。
自
动开启IE浏览器,以便与外界进行通信,侦听黑客指令,在用户不知情的情况下连接黑客指定站点,盗取用户信息、下载其它特定程序。