2013年 Aug月 1日
引导扇区的模型。
2013年8月1日
尤金•卡巴斯基
我的力量驾驭着你
越来越强
(с) 安德鲁•洛伊德•韦伯 – 歌剧魅影
恶意软件技术与反恶意软件技术之间进行着持续的斗争,上演了一场反复较量的有趣游戏 – 城堡之王。
规则很简单:谁先进入计算机存储器,取得“杠杆”的控制权并免受其他应用程序的干扰,谁就是赢家。站在城堡的顶端,您可以冷静地审视周围,保护系统的有效运行(或者反之,如果是恶意软件,您可以制造混乱,并且可以避开注意和免受惩罚)。
简而言之,赢的一方可以得到一切,即控制整个计算机。
网络罪犯一直对引导扇区不怀好意,不断寻找一个理想的方式来隐藏计算机被感染的事实。他们通常使用一种特殊的恶意软件 – bootkits。
想要成为启动过程的应用程序列表首先始于(如名称所示)引导扇区。引导扇区是磁盘中的一个特殊区域,存储了所有加载名称、加载时间及加载位置的指令。而且更为重要的是,操作系统也包括在这一列表内。难怪网络罪犯长期以来都对这一扇区虎视眈眈,因为占据这一扇区就是赢得游戏最理想的方法,而且还能隐藏计算机被感染的事实。因此,网络罪犯们通过借助一种特殊的恶意软件 – bootkits来达到该目的。
计算机加载方法
电源 基本输入/输出系统(计算机启动指令) 主引导记录(引导扇区) 操作系统(OS) 驱动器 引用程序
想知道什么是bootkits以及我们如何保护您的计算机免受其攻击 – 往下看…
事实上,bootkits已经存在很长一段时间了。
早在八十年代中期,bootkits已经成为一种最重要的病毒。DOS病毒-Brain就是最早的一种bootkits。但是这种病毒很快就被病毒猎手攻破了;因此病毒制造者迅速转移了注意力并转向对他们来说更有效的方法,如微软办公软件的宏病毒和网络蠕虫。
Bootkits展开的第二轮攻击在2007年末,一种新型的特洛伊间谍软件Sinowal开始盛行,它可以感染引导扇区。这对一些反病毒软件公司造成了严重一击,很多公司自九十年代末起都把这种病毒当成了过去式,因此他们开发的一些产品完全失去了保护启动扇区的能力。
尽管bootkits没有成为一种世界规模的流行病,但我们的报告显示这些bootkits有着稳定且显著的隐形公害。而且那些地下计算机总是想出新的花招…
您可能会想既然这些bootkits是如此的狡猾且难以察觉,为什么它们不扩散至更大的范围呢?它们真值得我们耗费如此大的精力吗?我们需要担心我们是否能开发出保护程序来阻止它们吗?
首先,我们估计世界上被各种bootkits感染的计算机数量约为一千万台,这个数量也许会被认为只是一个小问题,因此防御这个问题也就可能会被忽视。
第二,这种感染方法广泛用于国家发起的复杂的有针对性的袭击(如臭名昭著的FinSpy)。您应该也不想成为网络战争和特种部队的受害者。
第三,开发一种bootkit需要深厚的系统编程知识,这是目前看来每一位网络坏人所具备的。Bootkits确实很狡猾也难以检测,但也并不是不可战胜的。与该种软件抗争绝非易事。然而,我们还是解决了,而且还很成功。下面就是我们解决的方法…
2013年Bootkit感染
(仅根据卡巴斯基实验室的产品用户数据)
首先介绍一下bootkit的生命周期。
通常,Bootkit通过安装在电脑中的操作系统或软件漏洞来展开攻击。只要你访问某个网站,Bootkit就会对您的电脑进行侦测,一旦发现任何弱点就会进行攻击。特别是它将秘密下载一个文件至电脑上,然后开始感染电脑。
感染后,Bootkit将自身写入到引导扇区,并将引导扇区的原有内容移动到硬盘上的一个隐蔽位置,并对其进行加密。从此每次电脑开机时,Bootkit将其自身的模块加载到内存内,这些模块包含各种恶意的有效载荷(如银行木马)及其隐藏手段 – Rootkit。Rootkit是隐瞒电脑被感染的事实的重要程序。当操作系统或其他应用程序(包括防病毒程序)尝试对引导扇区的内容进行检查时,Rootkit可以识别出来,并且只需将原有内容从隐蔽位置放回引导扇区即可隐瞒过去!你瞧 – 这样看起来仿佛一切都保持原样!
对于这样一个被网络感染完全控制的系统,似乎只能通过另一个含有未被感染的操作系统以及强大杀毒软件的磁盘来启动,才能清除这种感染。这当然是其中一个选择。但是,我们已经开发出一种无需对电脑进行“手术”即可帮助对抗Bootkits(包括未知的Bootkits!)的技术 – 可以帮助电脑自动恢复。
启动仿真器创造一个复制计算机启动程序的人工环境。Bootkit会以为到时间可以展开行动了,然后启动其标准攻击程序…就在这时我们扑向它将其抓获。
在我们的企业产品和个人产品内部都有一个启动仿真器。与操作系统和浏览器的仿真器类似,这款启动仿真器创造了一个复制计算机启动程序的环境。然后智能地绕着所有被拦截的磁盘功能运行,收集所有所需扇区,形成一个特殊的启动容器并在该环境下运行。bootkit会以为是时候可以展开行动了然后启动其标准程序…就在这时我们扑向并截获它。我们将可疑对象通过基于云的反恶意软件服务的卡巴斯基安全网络(KSN)发送给我们的病毒分析人员,由他们开发出相应的保护程序并更新病毒数据库;然后就是技术问题了:由反病毒程序破译原始启动扇区,删除bootkit及其所有模块,并修复系统。如果您等不及,可以试试我们的免费KVRT工具修复电脑。
该项技术真正出色的地方在于它能够防范未知bootkits的攻击。
首先,我们利用本地启发式分析检测启动仿真环境中的可疑活动。其次,利用我们的卡巴斯基安全网络云通过统计方法统计相同容器以检测bootkit的异常现象。
与其他仿真器一样,实际上启动计算机是一个十分耗费资源的过程。但是,为什么您会经常要对引导扇区进行深入分析?所以,我们找到了两全其美的方法 – 按计划(例如在夜间)根据需要扫描引导扇区,或当计算机处于闲置状态时扫描引导扇区。这样既可以保护计算机,又不会影响人们的工作。
那么接下来呢?
毫无疑问,bootkits会进一步发展变得更加先进。一个明显的例子就是多态流氓软件XPAJ,它可以在甚至是最新引进的Windows防御功能中方便地进行传播并掩盖其bootkit模块。我们甚至发现了bioskits – 一种能够更加深入感染系统的病毒。
显然,这类恶意软件仍将是小部分网络罪犯团体的攻击武器之选,呆在隐蔽的地方使自己逻辑上更不被注意。
他们还有另外一个保护体 – 许多流行的防病毒产品都忽略了抵御bootkits这一块。下表即证明了这一事实:下表是最近的各种反病毒程序对抗各种常见bootkits的主动感染的对比测试。从图片反映的结果看,现状很不乐观,但还是可以挽救的…
总之,事情会变得越来越有趣。期间,我们也没有闲着。我们思考、操纵、发明、引入、检测、处理问题…并拯救世界。