毒师周军:我如何创造一只“杀毒神兽”
周军,前瑞星内核团队负责人,火绒安全联合创始人。 这位“技术宅”的最大热情就是反病毒技术的研究。当杀毒软件之间进行暗黑攻伐的时候,他在研究病毒样本;当杀毒软件纷纷用免费方式流量变现时,他在研究反病毒技术;当杀毒软件纷纷成为“入室管家”时,他仍旧在专心致志地打磨杀毒引擎。 所谓天道酬痴,大抵正是如此。“毒师”周军和伙伴们用数年时间,饲养了一只“杀毒神兽”,在这只神兽眼中,所有的病毒都无处遁形。 【周军】 口述/周军 | 文/史中 我是一个以杀毒为职业的人。 杀毒这件事,从来不像看上去那么简单。这就像数学,一切都源于简单的加减乘除,最终发展出的数学理论却浩瀚无比。也更像医学,庸医也许大动干戈,神医可能轻描淡写。病人,从某种程度上来说都无法判断医生医术的好坏。 自从电脑占据普通人的客厅或书房,病毒和杀毒软件就先后出现了。上个世纪末,杀毒软件甚至成为像我一样的年轻人认识 PC 的一个入口。 这些杀毒软件背后的人,大概被统称为安全研究员。他们的工作说来也简单:制造一套系统,让它能够识别尽可能多的病毒。 这套系统就是杀毒引擎。 如果用警察来做比喻的话,警察抓坏人的方法有两种:
杀毒引擎也是同样的道理,“根据已知的信息找到未知的所在”。只不过对我来说,我更倾心于刚才所说的第二种方法,用我们的行话来讲,叫做“特征+行为分析”。我的理想,就是不断完善我们饲养的这头“杀毒神兽”。 (一) 我生在北京。第一次接触病毒,是在高中的时候。和很多人一样,大名鼎鼎的 CIH 病毒闯进了我的视野。这是我第一次听说病毒这个词儿。一个小小的程序竟然可以搞垮一台电脑,其中肯定会有很特殊又很神奇的原理。当时我想,如果能够做病毒研究,这事还是挺牛X的。 所以,我报考了北京工业大学的计算机科学与技术专业。 但是,在技术研究这条路上,第一个坑却是我的老师。汇编课的老师在开学第一天就对我们说:“学这个东西没用。老实说不是学校非要开,我不爱讲。”听到这句话,我当时就走了。既然老师都是这种态度,那我何必浪费时间呢? 我并不相信这门课没有用。虽然在大学,但其实对于底层语言和编程基础,大部分都来自我的自学。 我的专业会接触相对宽泛的计算机领域,所以实际上在大学期间我做了很多不同的方向,甚至有相当长的时间,我在做图形学相关的。到了大三的时候我突然意识到,我必须找到一个我真正热爱的方向作为终身的选择。 我回想过往的经历,虽然接触过很多方面的计算机技术,但是当年的 CIH 病毒还是出现在我的思维里。围绕反病毒的逆向、驱动、代码这些底层技术,让我觉得可以在计算机上制造一个自由的空间。在这个虚拟又广袤的空间里和病毒制造者用数字和代码进行对抗,这种快乐恐怕只有像我一样的“技术宅”才能体会吧。 相比初见 CIH 时的无处下手,临近大学毕业时我已经掌握了足够的武器可以和病毒同台作战了,我觉得是时候加入反病毒专家的队伍了。 当时国内的安全公司寥寥无几,要做安全当然就要去最好的公司。我挑选了一个当时风头正劲的投去了简历。这家公司就是瑞星。我顺利通过了面试,不过由于我还在大三,公司告诉我只能以实习的方式来工作,没有工资。我说,没有工资我也干。 我开始了在瑞星的“毒师”生涯,这一干就是六年。 (二) 我是个搞技术的,所以不太会宣传自己。我总觉得人的精力是有限的,如果花精力在宣传上,真正做技术的精力就会减少。 在瑞星的时候,有一件事让我印象很深刻。 当时国外流行一种病毒,叫做“viking”威金。这种蠕虫病毒会感染用户的程序,通过文件拼接的手法“寄生”在宿主程序上进行传播。这种病毒虽然传播广泛,但是在技术上并不难对抗。 有一天我分析病毒样本,突然发现了一个感染手法和 Viking 类似的“过程感染型蠕虫”。在虚拟机上跑了一下,我发现这种病毒的制造水平很粗糙,感染过程也就是简单地进行文件拼接。从开始分析到把样本加入病毒库,只花了我不到半小时。 我觉得这个病毒也太简单了,随手在内部命名标签里写上了“nimaya”(你妈呀),表达了一下愤怒。 然而,就是这么一个简单的病毒,却很快肆虐了半个中国。 过了几天,市场部找到我,说要用这个病毒炒作一下,让我给病毒命个名。我看了下内部名称,好像不太雅观。我说,要不就叫“尼姆亚”吧。后来,这个病毒有了一个更广为人知的名字:熊猫烧香。 后来,我看到了市场部发出去的文章,大意是“我们的分析师用了三天三夜时间,废寝忘食地研究对抗策略,现在终于可以完全清除这类病毒了。” 看到这篇文章,我觉得很丢脸。瑞星的安全分析师很辛苦,圈内人会觉得连这么一个病毒你瑞星都要搞三天三夜,这实在让我脸上挂不住。 说白了,作为一个技术出身的人,我很看重自己和团队的技术声誉。在瑞星的日子里,虽然有时会遭到公关战的“高级黑”,我和同事们还是保持了杀毒水平的领先。并且我也认识了很多志同道合的朋友,这其中,就有当时瑞星的 CTO 刘刚、主机安全研究分部负责人毛钧。 我们三个都是技术出身。我们的爱好就是钻研反病毒技术,改进杀毒引擎。但是,我越来越发现,在瑞星有很多框架和历史包袱不是我们依靠一己之力能改变的。 与其可能在技术上受限制,不如我们几个人一起从零开始。当时头脑一热,我们一起辞职,和更早离开瑞星的市场总监马刚一起成立了“火绒安全”。 【火绒安全团队(左起):产品经理李幸、联合创始人毛钧、联合创始人兼CEO刘刚、联合创始人周军、联合创始人马刚】 (三) 我们买了一张桌子,几把椅子,撸起袖子开干。这张桌子现在还摆在会议室里。 能够按照自己的意图去做喜欢的东西,这种自由的感觉简直太好了。 终端安全,尤其是杀毒引擎需要大量的数据积累,而2011年我们成立火绒的时候,手上只有我们几个人的技术。于是我们决定,先不急着做杀毒引擎,先做个分析工具。 杀毒引擎会利用内置的病毒库和识别规则,精确判别病毒。而防御工具则是尽可能地把程序的进程关系和对电脑的动作步骤呈现出来,相当于对运行的程序做X光或 CT。 这个工具就是火绒剑。 火绒剑可以展示系统内部正在运转的详细情况,包括内核进程、驱动状态和网络状态。总之,可以辅助“电脑高手”来检查系统的“健康情况”。 (编辑:ASP站长网) |