Windows系统下常遇木马预防技巧
木马程序是目前比较流行的一类病毒文件,它与一般的病毒不同,它不会自我繁殖,也并不刻意地去感染其他文件。它通过将自身伪装吸引用户下载执行,或以捆绑在网页中的形式,当用户浏览网页时受害。木马程序向施种木马者提供打开被种者电脑的门户,使施种者可以任意毁坏、窃取被种者的文件和隐私,甚至远程操控被种者的电脑。木马的原理和计算机网络中常常要用到的远程控制软件相似,但由于远程控制软件是“善意”的控制,因此通常不具有隐蔽性;而木马程序则完全相反,木马要达到的是“偷窃”性的远程控制,如果没有很强的隐蔽性的话,那就是毫无价值的。
木马通常有两个可执行程序:一个是客户端,即控制端,另一个是服务端,即被控制端。木马的设计者为了防止木马被发现,而采用多种手段隐藏木马。木马的服务一旦运行,电脑就会有一个或几个端口被打开,黑客就可以利用控制端进入运行了服务端的电脑,甚至可以控制被种者的电脑,所以被种者的安全和个人隐私也就全无保障了!
随着微软的操作系统从Win9X过渡到WinNT系统(包括2000/xp/2003),微软的任务管理器也一下子“脱胎换骨”,变得“火眼金睛”起来 (在Win9X中,只需要将进程注册为系统服务就能够从进程查看器中隐形,可是这一切在WinNT中却完全不同,无论木马从端口、启动文件上如何巧妙地隐藏自己,始终都不能欺骗WinNT的任务管理器),这使得以前在win9X操作系统下靠将进程注册为系统服务就能够从任务管理器中隐形的木马面临前所未有的危机,所以木马的开发者及时调整了开发思路,转入了开发可以躲避WinNT的任务管理器的进程查询的动态嵌入式DLL木马。
要弄清楚什么是动态嵌入式DLL木马,我们必须要先了解Windows系统的另一种“可执行文件”——DLL,DLL是Dynamic Link Library(动态链接库)的缩写,DLL文件是Windows的基础,因为所有的API函数都是在DLL中实现的。DLL文件没有程序逻辑,是由多个功能函数构成,它并不能独立运行,DLL文件一般都是由进程加载并调用的。
因为DLL文件不能独立运行,所以在进程列表中并不会出现DLL。所以木马的开发者就通过编写动态嵌入式DLL木马,并且通过别的进程来运行它,那么无论是入侵检测软件还是进程列表中,都只会出现那个进程而并不会出现那个DLL木马。如果那个进程是可信进程(例如资源管理器Explorer.exe),那么就没人会怀疑DLL文件也是个木马了。从而木马就又实现了自己的隐蔽性的功能,所以,预防DLL木马也是相当重要的。