前阵子做一个访谈,采访者说有人评价我“能在别人的领域里发现安全问题”。我听了虽然窃喜,却可惜不能领受,因为事实并非如此。 在一个方向做到比较深入的时候,是有可能从精研一术而悟万法之道,从形而下抽象出形而上,跨领域指导工作,给别人以指导和启发。但即使到了这个阶段,也不太可能自己直接跨领域出成果。内力再强,没见过的招数也是使不出来的。那位朋友说的“能在别人的领域里发现安全问题”,可能是指我在过去几年里,除了内存破坏类漏洞这个方向上的研究外,还搞过伪造指纹通过 iPhone 登陆验证、BadBarcode、BadTunnel 等研究。而他可能认为我一直在从事内存破坏类漏洞研究。刚进入安全行业的时候,我写了很长一段时间 IDS 签名。而且刚开始的时候主要是分析古老的漏洞和冷门的木马,然后写一些可能永远不会被触发的签名。这种工作现在通常被归作“搬砖”。但在这个过程里,我了解了各类漏洞的原理,看到了各种系统可能出问题的地方,学会了很多分析工具的使用方法,熟悉了大量通用的和私有的网络协议。所以像 BadTunnel 所涉及的 NetBios 协议,从协议设计到系统实现,我在 2003 年就开始研究了,2004 年发过一篇简单的研究成果:http://www.xfocus.net/releases/200408/a723.html。所以实在不是“别人的领域”,这就是我的领域。搞技术有诀窍,但没有捷径。曾有人问我是怎么想到某个特性可能存在安全问题的,我告诉他我曾把这个产品组历史上的所有 Blog 全看了一遍,研发负责人出去演讲的 PPT 也全都找来看了。搞安全研究,就要像跟踪狂对待疯狂爱恋的目标一样去收集研究对象的信息。这几天,IT 技术圈内出现好几篇从不同角度谈 IT 技术人员职业生涯的文字。正巧,我上周在滴滴安全沙龙分享了一个主题,叫《安全研究者的自我修养》。当时也讲了上面这个搬砖的事。年轻人刚参加工作的时候,可能会做一些搬砖和打杂的工作,但这对成长可能是有好处的。这个阶段是积累阶段。多接触一些东西,多学一些东西,将来路也会宽一些。这可能和求学类似。读小学、中学的时候,需要学很多方面的知识。到本科阶段,才会分一个专业。研究生、博士,才会聚焦在一个点上。早早就分专业的,那就是中专了。事实上,我在参加工作若干年之后,也仍然还承担了很多本职之外的前场支持工作:渗透测试、应急响应、培训交流、售前售后……前场技术部门没把握的事,最后会找我们支持。而百分之八十的情况下,这些工作会交给我。因为大部分做研究的人不擅长交流,需要接触客户的工作基本就交给了我。对此,我当时其实有不少意见,因为我一直希望能不被打扰,专心搞研究。但后来逐渐体会到在这些工作中的积累给自己带来的益处。一方面是能学习到很多知识,接触了很多业务和系统。更重要的是在行业里积累了口碑。慢慢地,有些客户开始点名要我去支持项目。最后发展到有些之前没接触过我的客户来公司参观,也要求到我的工位上来看看,令销售部门的同事大为惊讶。这还是相当有成就感的。在滴滴安全沙龙的分享里,我也提到了技术人员培养表达、沟通能力的重要性。搞技术的人常常会忽略这一点,甚至内心有抵触。然而,我年龄越大越体会到这类能力的重要。所以自己其实也一直还在默默地练习。在我们实验室内部培训中,我除了讲思维方法、学习诀窍,最常讲的就是沟通、表达能力的培养。因为到我这儿来的同学,我都希望他们将来能发展好,在行业里有一片天地,而不是希望他们老老实实当做干活的卒子。当然,即使在技术上做好了积累,又培养了多方面的综合能力,也没人能保证你一定能怎么样。这是必要条件,不是充分条件。只能说:欲练神功,挥刀自宫。虽然自宫,未必成功。若不自宫,必不成功。
微信公众号
打杂和搬砖
2017-01-17链接