流氓软件技术篇:技术角度解析流氓软件
2007-08-08 13:07:26 来源:WEB开发网核心提示: 但是,这些都是初级的隐藏技术,流氓软件技术篇:技术角度解析流氓软件(2),对电脑熟悉的用户,只要利用系统提供的工具就可以找到这些流氓软件的蛛丝马迹,采用线程注入技术的流氓软件由于已经并入了正常程序的内存空间,即使是防火墙程序也不会拦截,或者安装一个防火墙软件,只要有程序访问网络
但是,这些都是初级的隐藏技术,对电脑熟悉的用户,只要利用系统提供的工具就可以找到这些流氓软件的蛛丝马迹,或者安装一个防火墙软件,只要有程序访问网络,立刻就会报警,从而能够暴露流氓软件的行踪。
我中有你-流氓软件的线程插入技术
为了更好地隐藏自己,流氓软件开始大量采用线程插入技术。
上面讲到,一个程序进入系统中,会首先产生文件,该文件运行时,会产生窗口,在内存中产生进程。进程说白了就是一个被激活了的程序文件。而进程又会产生许多线程。
线程是Windows系统为程序提供的并行处理机制,它允许一个程序在同一时间建立不同的线程,完成不同的操作。另外,由于Windows操作系统为了提高软件的复用性,减少重复开发的开销,采用了动态链接库机制,即将一些公用的程序放在DLL文件中,程序不用包括这些代码,只要在运行时对这些DLL文件直接进行调用就可以完成各种功能,因此每一个可执行程序除了自身的程序体外,还包括许多外部的模块。如果我们用一些内存查看工具的话,能看到每一个应用程序都包含了大量的DLL动态链接库文件。
而流氓软件正是利用了这一点。他们的可执行程序并不是EXE形式的,而是DLL形式,这类文件一般是存在于系统中,由可执行程序进行调用。
而流氓则是将DLL文件载入内存,然后通过“线程插入”的方式,插入到某个进程的地址空间。一般地,如果流氓软件想控制浏览器,则它们往往会将自己注入到浏览器(explorer.exe)的进程空间,只要浏览器运行,就会自动调用该流氓软件。
由于浏览器程序本身会调用大量的DLL文件,因此即使用户用第三方进程查看工具,也分辨不清哪个DLL是流氓软件。面且,采用线程注入技术的流氓软件由于已经并入了正常程序的内存空间,即使是防火墙程序也不会拦截,从而可以在用户电脑自由出入。
[]
更多精彩
赞助商链接