胡里胡涂

学无止境,不进则退~

导航

Win32.Induc 系列病毒,Delphi程序员的梦魇!

  金山云安全中心近日在国内率先截获了一个针对计算机程序员、尤其是Delphi使用者的病毒“Delphi梦魇”(Win32.Induc.b.820224 ),简单描述该毒行为,就是:它专门感染Delphi程序员的电脑,一旦成功,程序员今后写出的任何程序,都将带有该毒!
  
  噩梦的成长过程
  当随着被感染文件进入电脑系统,“Delphi梦魇”就开始检验系统中是否有Delphi环境。它通过循环检测注册表键值的方法查找dephi的安装目录,如果找到dephi这个冤大头,就将恶意代码前排插入SysConst.pas文件,这个文件编译的时候,会生成SysConst.dcu,而这个文件会被添加到每个新的dephi工程中。
  于是,程序员们所编写的程序就全部带毒了,一个个隐秘的“病毒兵工厂”就这样诞生,
  更可怕的是,通过对受感染文件的分析,金山毒霸反病毒工程师发现,该毒在全球网络中已经传播了多月,目前已知受感染最早的系统,在2008年的年末就已中招。
  而根据金山毒霸云安全系统的监测,目前已有多家知名软件厂商的产品感染了该毒,所影响的用户数量庞大,甚至难以在短时间内统计得出。

  
  不幸中的万幸
  虽然已有大量的Delphi程序员和软件产品中招,但通过对“Delphi梦魇”(Win32.Induc.b.820224 )代码的分析,金山毒霸反病毒工程师发现,该毒作者的用意似乎并不在破坏,只是静默地实现感染,不断传播代码的主体。病毒就这样不断传播,直到遍及全球所有基于Delphi环境的电脑,而对没有安装Delphi相关软件的普通电脑,则是完全无效。我们尚不清楚作者是在怎样的条件下编写出该毒的,但如果他是醉心于纯技术研究的人,那么该毒的大面积感染一定会是个能让他觉得十分有成就感的过程。

  
  国内无良黑客的兴奋剂
  虽说病毒原作者看上去没啥坏心,但是金山毒霸反病毒工程师很担心,在国内广大唯利是图的黑客(病毒作者)眼中,这无疑是一份大大的馅饼。自三月份刑法新条例出台、政府部门对病毒木马编写以及黑客行为加大打击后,不法黑客的生意越来越难做,突然出现这种有助降低犯罪技术门槛的安全事件,他们绝不会愿意放过。目前,“Delphi梦魇”(Win32.Induc.b.820224 )的源代码已经在网络中完全公布流传,金山毒霸反病毒工程师认为,无法排除国内病毒作者对其进行改造、进化的可能。如果他们对该毒加入下载木马、盗号等恶意行为指令,很难说会DIY出怎样的猛毒。
  
  安全方案
  值得庆幸的是,金山毒霸已经出台了针对“Delphi梦魇”(Win32.Induc.b.820224 )的解决方案,金山毒霸能彻底防御和查杀该病毒!
  用户只需使用金山毒霸2009并升级到最新版本,然后全盘扫描,即可彻底清除该毒和修复被它感染的delphi程序。而更详尽彻底的解决方案,请大家留意金山毒霸随后即将放出的“Delphi梦魇”专杀工具。
  另外,对习惯手动解决问题的Delphi程序员,我们需要提醒一下,这个病毒具有二次感染能力,也就是说原来你编译出来的所有Delphi程序都可以再次感染你机器上的Delphi库文件,如果使用自己编写的查杀工具,请一定要检查你所写出的工具是否也含毒,否则将陷入一个死循环。

  金山毒霸反病毒工程师建议,要彻底清除该病毒,需做到以下几点:
  

  1、使用杀软扫描所有的Delphi编写的可执行文件并清除病毒。(或直接删除所有Delphi编写的可执行文件,包括从网上下载的)
  2、将文件 %DelphiInstallPath%\Lib\SysConst.dcu 删掉,然后执行步骤4 或 步骤5和6。
  3、将文件 %DelphiInstallPath%\Lib\SysConst.bak 改名为 SysConst.dcu,结束。
  4、调用 DCC32.exe 编译出新的 SysConst.dcu ,编译命令如下: %DelphiInstallPath%\bin\DCC32.exe “%DelphiInstallPath%\\Source\Rtl\Sys\SysConst.pas”
  5、将新编译的SysConst.dcu(在%DelphiInstallPath%\\Source\Rtl\Sys\目录下)文件复制到 %DelphiInstallPath%\Lib\ 目录,结束。
  6、使用金山毒霸2009并升级到最新版本全盘扫描清除已经被感染的delphi程序 。


附,Delphi梦魇分析报告(Win32.Induc.b.820224、Win32.Induc.a.820224)

一、文件信息
  文件大小:163840字节
加壳类型:ASPack 2.12
编写语言:Borland Delphi 6.0
病毒类型:感染型

二、病毒描述
该样本为Delphi感染型病毒,通过感染Delphi库文件中的SysConst.dcu文件,使用户在使用被感染的库文件编程后,生成的文件均被感染。

病毒行为
病毒在第N次处理初始化表时(Call StartExe)进行操作,即完成在程序加载正常Delphi文件前执行病毒代码。(数字N根据被感染用户的Delphi版本不同有所不同)。
循环检测注册表键值HKLM\software\Borland\Delphi\ X.0 判断当前机器是否安装Delphi。检测版本(4.0  5.0  6.0  7.0)。如本机未安装则直接跳出病毒代码进行正常的初始化工作,不进行感染。
如安装了Delphi则通过访问注册表得到用户的Delphi安装路径。
根据用户安装路径将源文件夹中的SysConst.pas和库文件夹中的SysConst.dcu备份
即%%\Source\Rtl\Sys\SysConst.pas  与%%\Lib\SysConst.dcu。
将Delphi源码代码写入源文件SysConst.pas中
调用%%Bin\dcc32.exe 将感染后的源码文件SysConst.pas 生成本地库文件放入\Lib替换SysConst.dcu文件。
将正常SysConst.pas备份恢复,删除源码中感染的文件。
更改库文件中被替换后的SysConst.dcu文件时间,使其与其他文件一致。

病毒危害程度

该病毒实际上并不具有危害性,只是其更改了库文件后使编译生成的所有程序均带有不正常代码,而其代码行为即为以上描述,但对其变种可能出现的行为无法预估,该病毒改造难度较低,很容易被恶意利用。
因为其将Delphi库文件修改使其使用Delphi语言编译后的文件均被感染,所以被感染文件大小不一,加壳情况也各异,本分析样本只是从中随机挑选,样本大小与加壳类型都不具有代表性。

posted on 2010-01-10 10:13  B.T.Q  阅读(1111)  评论(1编辑  收藏  举报