一、病毒和木马
1、病毒概述
2011年上半年,瑞星“云安全”系统共截获新增病毒样本5286791个,病毒总体数量与去年同期相比上升25.2%。其中木马病毒4024499个,占据总体病毒比例的76.12%,紧随其后的病毒依次为感染型病毒(win32)、后门、病毒释放器(Dropper)和广告程序。
2、十大病毒排行
上半年共逾7.4亿人次网民被病毒感染,平均每天411万人次网民中毒,按感染人数、变种数量和代表性进行综合评估,瑞星评选出了2011年上半年的十大病毒。
3、病毒技术趋势分析
通过对1--6月新增样本的病毒行为分析发现,病毒正在由传统的低级汇编语言编写,逐渐转变为兼并使用低级和高级语言混合撰写的方式,由汇编语言编写的引导部分去加载由高级语言编写的病毒主体。由于使用高级语言编写,成本更低、开发周期更短,使得这种“混合型病毒”在总体病毒中的比例增加极多。
报告期内,瑞星共截获感染型病毒(win32)445957个,占据总体病毒比例的8.44%,已经成为继木马之后的第二大类病毒类型。
感染型病毒结构趋于简单化 编写更简单功能更强
报告期内,瑞星截获了一批后缀为.dll的感染型病毒样本。这种后缀为.dll的文件是Windows下的动态库文件,这些后缀为.dll文件的宿主文件,通常是Windows操作系统的系统动态库。病毒会骗取操作系统或者应用程序的信任。当用户要运行某些需要加载系统动态链接库的正常程序时,,程序会加载“带毒的系统动态库”,从而使得电脑中毒。
此类新病毒操作简单,代码短小,所以很容易实现;被修改的宿主程序的变化不大,隐蔽性好;短小的汇编代码又更容易编写,且更容易使用变形引擎做变形躲避杀毒软件的查杀。而病毒的主要功能则转移到另一dll文件,只要使用常规的软件开发工具和高级语言就可以快速实现各种功能,且变种繁多。
高级语言编写的病毒开始流行
传统的病毒通常使用汇编语言编写,但是由于汇编语言难度很大,普通黑客一般不会去花费时间学习这种“用处不大”的语言,即使能掌握此语言,编写一个病毒也要花费很长时间。而且往往这种精雕细琢的病毒出现后,虽然有着变形引擎的保护,但如果特征上存在着一些共性,就很容易被杀毒软件公司通杀。
病毒一旦写好,再做大幅度的修改来躲避查杀的成本又过大。所以在与杀毒厂商抗衡的过程中,病毒的制作者,逐渐地引进了高级语言来协助快速地开发感染型病毒。目前最早发现使用高级语言编写的感染型病毒之一是Kuku,它使用了内嵌C++语言编写病毒主体,外层使用了汇编编写一个PE加载器来自己加载内嵌的病毒体。
当宿主程序执行时,病毒会截获到执行权限,将执行流程跳转到事先编写的加载器上,通过加载器来加载高级语言生成的病毒主体,其主要的病毒功能就是在这里实现。由于使用了高级语言来实现主要功能,所以一些曾经不可思议的高级功能都可以由这个病毒主体来实现,同时这些病毒还可以使用正常软件的功能代码,如Win32.Kuku家族的病毒主体中就包含着一套类似常规P2P下载软件的网络传输引擎,用于在不同的主机中实现病毒更新和信息共享。
感染型病毒功能趋于多元化
传统的感染型病毒,通常的危害性指标是传播途径、传播速度。而现在的新型感染病毒,则加入了更多的功能,以求实现自己的目的。比如,Win32.Crypt.p病毒就拥有盗号木马的特征,它会截取用户的屏幕、记录用户键盘输入的信息,并偷偷把这些用户信息发送给病毒编写者。
还有的感染型病毒包含有后门功能,如Virut变种病毒,就含有一个小型的后门客户端,用于获取用户操作系统信息、系统运行情况,同时还具有下载运行指定应用程序等功能。
4、手机病毒
随着安卓系统的盛行,安卓系统的手机数量从2010年初开始迅速增长,基于安卓系统的病毒也随之迅猛增加。在极短的时间内,安卓病毒数量就占据了整体病毒数量的20%。而且由于安卓系统的应用与原有的塞班系统不同,导致两个平台的手机病毒有极大不同。
由上图可以看出,安卓病毒的66.14%是流氓程序,主要通过与其它安卓应用捆绑来侵入用户电脑;而窃取隐私的病毒占据了总体数量的10.61%。而塞班病毒则主要窃取用户隐私,和通过传播、耗费电池来危害用户手机。之所以产生此类不同,是因为安卓系统更加开放,应用在安卓系统上可以实现更多的功能,从而导致泄露隐私的机会增加。
2011年6月,10余个含有Rootkit功能的应用被放到了google电子市场中。瑞星公司的研究发现,这些含毒应用到电脑之后,有的会尝试突破系统权限(ROOT安卓系统),有的利用Dalvik类装载能力保持隐身,逃避杀毒软件的追杀。
7月初,瑞星截获了一个安卓系统手机病毒——“安卓杀手”,病毒主要影响Android 2.0至2.2三个版本的系统,用户一旦中毒,病毒将拦截10086发送到手机上的任何短信、上传手机设备信息、手机sim卡信息,最终会定制大量短信增值服务,扣取高额话费。