腾讯电脑管家刘钊:如何手撕一个木马
- 发布时间:2016-05-06 13:11:23 来源:光明网 责任编辑:张洁欣
在进入腾讯之前,刘钊和木马病毒并没有什么“交情”。他印象中唯一一次和病毒亲密接触就是1998年,他的电脑突然无法开机。“现在回想起来应该是中了 CIH 病毒,因为那天正好是26号。”如今已经成为反病毒安全专家的他对雷锋网回忆。(作者注:CIH 病毒是一种能够破坏计算机系统硬件的恶性病毒,曾在1998年广为流传,作者为陈盈豪。)
2010年,研究生学习信息地质学的刘钊加入了腾讯,负责电脑管家的界面开发。然而没过多久他就发现,在电脑管家里有着一种远比设计界面更加有趣的工种,那就是为电脑管家提供“炮弹”——用各种姿势绞杀木马。
而一旦亲手摸到病毒和木马,这个汉子的天赋异禀便喷薄而出,从此义无反顾地踏上了反病毒木马这条“不归路”。
腾讯电脑管家 安全专家刘钊
木马“收割机”
木马和恐怖片里的僵尸有着一个共同的特点,那就是:如果你选择一对一的徒手搏击,对方在数量级的优势绝对会让你死相凄惨。
每天全世界的黑客都会如细胞分裂般地制造出无数木马。而“优秀”的木马又会产生成百上千的变种。面对木马的海洋,安全研究员需要一个“联合收割机”。
刘钊参与研发的这台“木马收割机”名为哈勃分析系统,是腾讯电脑管家的后方“火力支援”。如同天文望远镜哈勃一样,这个哈勃也拥有无数的镜组,这些镜组就是判定恶意程序的“规则”。每天,全世界的全量样本都会经过系统自动筛查,那些已知的木马和完全无害的程序通过无数条已知的规则筛查,会被瞬间分进“黑”“白”两个名单。而少数系统无法判断的灰色程序,就是刘钊们的任务。
他必须使用各种姿势对其中典型程序的行为进行研究,直到明确了这些程序的真实身份——非黑即白。针对这些恶意程序添加新的识别规则之后,系统就完成了一次升级。
说到底,刘钊和同事们用来驱动哈勃的无数条“规则”才是对抗木马的“终极大杀器”。
做软件界面开发的时候,你是在和电脑交流,是严谨而精准的。
做一般产品的时候,你是在和用户交流,就像是在和朋友聊天。
而对抗木马的时候,你是在和木马的作者——一个活生生的黑客打交道。我的对手在千方百计地逃过追踪,而我是要千方百计地抓住他。这不是在聊天,而是在斗争。
这项工作在刘钊心中的魅力正在于此。
代码背后的“黑影”
借助手上各种自动化工具,一个简单的新型木马只需要几分钟就可以被识别出来;然而对于“高手”的作品,也许要花上刘钊几天时间。
在刘钊眼里,这些病毒木马背后的黑客们的水平可谓参差不齐,有些欺骗用户的方法甚至很“质朴”。他举了几个例子:
我们知道图标的样子并不代表文件的后缀名。有一些木马选用了一个压缩包的图标,但实际上是一个可执行文件。这种方法自从有 Windows 那年就存在了,但是直到现在依然有木马使用,也依然有用户上当。
很多人清楚“.exe”“.com”文件是可执行文件,点击的时候会慎重。但是他们不知道“.scr”也是可执行文件。如果木马伪装成这个 Windows 的屏保类文件,可以轻松骗过很多人。
还有很多木马被黑客设置成隐藏文件,和一个“.bat”的批处理文件或快捷方式放在同一个压缩包里。很多小白并不知道,只要打开系统选项,就可以轻易看到藏身于此的木马。一旦点击了指向木马的文件,就会瞬间中招。
在办公室里,经常传来刘钊的惋惜。
在看到这类木马的时候,我第一时间不会想到木马的作者是什么样的人。反而是想到的是受害的用户,因为没有养成良好的安全习惯,才会上了这种简单骗局的圈套。
黑客袭击乌克兰电站的内藏宏病毒的 Excel 文件
然而,刘钊所代表的安全研究队伍正在迅速壮大,他们的专业技术可以迅速赋能管家类软件,用户利用防护软件可以轻易查杀这些“简易木马”。这种情况反而倒逼黑客不断升级自己的“武器”。这两年,黑客和安全研究员之间的“神魔斗法”突然变得白热化,开发木马的黑客们已经把欺骗的对象从用户转移到安全研究员身上。
常见的宏病毒,是在Office文档中加入一段 VB 代码。然而现在很多黑客并不在常规的代码位防止恶意代码,而是放在窗体的文字里,这就可以逃避一些自动工具的查杀。然而,为了逃避安全研究员的手动查杀,他们还会把代码文字的大小缩到最小号,当安全人员打开代码查看的时候,什么都看不到。
另外,有一些黑客还会为木马的指令进行“加花”——采用CPU指令集里面非常冷门的指令。本来用一句“滚犊子”就能说明白的指令偏偏被说成“翻滚吧牛宝宝”。对于计算机来说,这些“加花指令”和正常的指令没有区别;但是对于屏幕前的安全研究员来说,满眼都是忧桑。
很多木马会被作者隐藏在正常的应用程序之中,他们仅仅改动程序中的几行代码,就能达到恶意的目的。而对于这种“带病的”程序,其中恶意代码只占非常小的比例。当那些“不说人话”的指令夹杂在数万行正常程序的代码中的时候,手动找到这些“李鬼”就只有理论上的可能性了。这个时候,最有效的办法是把木马放在沙箱中执行,在动态中观察木马究竟会做出哪些行为。
简单说来,沙箱就是一个封闭的虚拟环境,恶意的程序会以为自己成功感染了用户的系统,从而开始恶意行动。这样就让它们瞬间露出马脚,现出原形。
然而,神魔斗法还远没有停息。很多木马“进化”出了一项功能,那就是检测自己是否在沙箱之中,或者检测自己是否被安全研究员用动态调试器所控制。
很多木马在沙箱中会摆出一副人畜无害的姿态,或者一旦遇到调试器就自动崩溃。这个时候我们就需要审查木马的代码,检查其中的“反制”代码,然后选择性地跳过这些代码,再让木马跑一次。
刘钊所做的一切,都是为了最终抓住木马“现形”的证据。而一旦掌握了它的行为,就可以满心仇恨地用正确的方法“手撕”木马了。一般的木马会被提交到杀毒引擎中进行查杀,而对于“特立独行”的木马,则需要开发专杀工具。
哈勃分析系统上线的木马专杀工具
然而事实是残酷的。从安全研究员开发查杀规则到用户可以使用查杀工具,一定存在一个哪怕十分微小的时间差。
事后的补救永远是下策。
如果木马足够“野蛮”,很可能在你查杀的时候,它已经成功把你的资金转走,或者成功地破坏了你的文件。面对这些情况,我们也无能为力。所以最好的办法是防患于未然。当人们都能提高警惕,不运行非官方的程序,不点击可疑邮件或链接的时候,木马才会无计可施。
“凶残”的对手
身为安全专家,刘钊并不能战胜所有的对手。这是一个事实。
敲诈木马就是刘钊面对的“凶残对手”。这类源自于国外的木马一旦成功感染,就会锁住用户的设备或文件。然后会在设备上显示敲诈信息。用户在支付了“赎金”之后就会从黑客手里得到解锁密码。
敲诈木马Jigsaw发作的界面
2015年流行的 Android 手机锁屏敲诈木马会采用诱骗的手段获得用户的授权,然后在屏幕的顶端覆盖一层蒙版,使得用户所有的点击行为全部失效。
然而,这类敲诈木马并没能击败他。经过研究,他和团队发现,只要连接电脑,就可以通过调试模式对手机发送指令,关掉顶层的蒙版,进而杀掉这个木马。如果手机没有设置调试模式,也可以重启进入安全模式,抑制所有第三方程序的请求,从而干掉木马。为此,哈勃系统还专门推出了查杀这类木马的专杀工具。
Android 手机敲诈木马
真正可怕的对手,是“电脑密锁”类的敲诈木马。这是于2015年初开始流行的敲诈木马。它的可怕之处并不在于木马本身的技术,而在于其中一些采用了 RSA 加密算法对用户的文件进行加密。不要小看这个 RSA 算法,大多数银行都在采用这种加密算法保护用户的数据安全。
一个足够长度的 RSA 密钥,如果采取暴力破解的方法,需要最好的计算机集群连续工作上千年。截至目前,世界上所有的黑客都没有发现这个加密算法的弱点。换句话说,如果这种加密算法存在漏洞,那么我们所有人的银行账户都会暴露在危险之中。
敲诈木马 CTB-Locker 的索要赎金界面
对于这类木马,唯一的解决方案就是在它发作之前清除掉。如果不幸被袭击,受害者除了乖乖按照黑客的指示通过地下暗网缴纳比特币赎金,似乎没有更好的选择。不过,刘钊告诉雷锋网(搜索“雷锋网”公众号关注),在这波席卷全球的密锁类木马大潮中,中国大陆成为了唯一未被“玷污”的净土。
目前还没有检测到大规模传播的PC密锁类敲诈木马,一个重要的原因就是中国的用户没有办法连接到暗网,所以就算想支付赎金都没有办法。。。
面对这么“恶劣”的土壤,木马作者似乎没有任何动力把敲诈木马翻译成简体中文。这对刘钊来说也许是个尴尬的好消息。
“宅男”或“铁汉”
很多人会觉得刘钊有一张标准的宅男脸。但在代码世界里,他却是一个站在在我们身前和木马病毒死磕的“铁汉”。
我们每日坐在钢筋楼宇中,觉得安全无虞;殊不知网络世界仍处蛮荒。这些信奉丛林法则的黑客一手炮制的木马,想要掠夺的是我们每一个人的金钱财产、珍贵资料,以及对互联网世界的信任。如果你了解了刘钊和木马之间的战争。相信你也会得出这样的结论:
这场战争并不是儿戏,容不得半点疏忽。
也许下一次腾讯电脑管家又弹出木马警告的时候,你会想到,在这场无休止的战争中,刘钊和他的同事们又打了一次胜仗。