专栏名称: 安在
人物、热点、互动、传播,最有内涵的信息安全新媒体。
目录
相关文章推荐
元素和同位素地球化学  ·  重磅!地球系统科学全球排名揭晓,美国依然占绝 ... ·  昨天  
元素和同位素地球化学  ·  重磅!地球系统科学全球排名揭晓,美国依然占绝 ... ·  昨天  
JRS玩机社  ·  玩机社双11:外设 手机 笔记本 ... ·  3 天前  
JRS玩机社  ·  玩机社双11:外设 手机 笔记本 ... ·  3 天前  
吾爱破解论坛  ·  编写Markdown文章批量上传图片发布到论坛方法 ·  4 天前  
译中人  ·  15-23k·14薪, 携程本地化翻译 ·  5 天前  
安天集团  ·  app Miner挖矿木马活动分析 ·  5 天前  
51好读  ›  专栏  ›  安在

【回顾】TK,不会开锁的医生不是个好黑客

安在  · 公众号  · 互联网安全  · 2016-08-25 08:15

正文



他是全球赢得微软安全技术挑战悬赏奖金数量最多的人,他被尊为“黑客教主”,他是TK(Tombkeeper),他叫于旸。







临近午时,北京市海淀区中关村创业大街的餐厅里人群汹涌,没有人会注意到某个咖啡馆的角落里正在发生的奇特一幕:一个男人拿着一把钥匙,沿着凹凸面缓缓抚摸,又举起它对着光凝视了一会儿,随后报出了一串数字。

这是钥匙的“口令”,只要记住这串数字和钥匙的制式,便能造出一把一模一样的来。因此,他把钥匙归还的时候,特别嘱咐:“永远不要把你的钥匙给别人看。”


这个男子叫于旸,知晓他身份的人,想必不会对他刚才所展现的神奇能力太过吃惊。在安全圈,于旸有一个更广为人知的名字:Tombkeeper,简称TK。


37岁的TK,年纪不算大,却处处留下传说:十多年前,还在医学院读书的他,靠着自学涉足安全圈,随后一步步成为中国技术最强、身价最高的白帽子之一,并被业内尊为“黑客教主”。即使从全球范围中看,于旸也已盛名久负,今年8月,在微软发布的全球黑客贡献排行榜上,他位列第二——这并不意外,他是全球赢得微软安全技术挑战悬赏奖金数量最高的人,该挑战被视为证明黑客技术实力的标准之一。


研究网络蠕虫的医科生

腾讯玄武实验室坐落在北京海淀区的银科大厦里,于旸常常比规定的上班时间到得更早些。他的办公室面积不大,布置素净,书架上摆放着的大半是技术类书籍,此外最为夺目的,还有两个代表着腾讯形象的企鹅玩偶。


2014年,于旸从绿盟“转会”腾讯,创立玄武实验室的时候,曾有传闻说,腾讯为其开出“千万年薪”。后来,它也成为了属于TK的诸多传说中的一个,尽管于旸本人表示了否认,但从某种程度上来说,这个传闻代表着中国安全圈对顶尖人才所能贡献的价值的期待,而于旸本人,正是这一代顶级黑客的象征和标杆。


于旸的成长经历极富代表性。他1978年出生,上大学时正好与互联网时代相遇,如果将今天的互联网比作谁都难免置身其中的“浪潮”,当时就连“水花”的程度都及不上。于旸形容说,他在医科大学读书时,电脑课还局限于“开关机、打打字”的水平,老师自己重装系统时还要带一份“攻略”,跟着上面的步骤一步步做,然而,“只要会重装系统,你就是老师了”。


这样的环境,对中国安全圈的第一批高手而言并不陌生。事实上,在这段互联网发展的蛮荒岁月中,有无数年轻人像TK那样,凭着兴趣和不懈钻研,在多年后成为互联网时代的中流砥柱。但在所有的故事中,TK的经历仍然具有浓厚的传奇色彩:2001年前后,“红色代码”蠕虫席卷全世界,标志着安全威胁开始由病毒转向蠕虫,TK在自己的电脑上架设了一个蜜罐,想要研究这种蠕虫。


结果,他却在蜜罐中发现了一种新蠕虫,和红色代码完全不同,而且危害更大——事后,这被证明是正在全球蔓延的、传播性非常强的尼姆达蠕虫。当时,于旸把自己的研究写成了一份报告,随后凭着对安全行业仅有的常识,他猜测“这种事是杀毒公司管的”,于是将它发送给了金山毒霸,后者送了他一套毒霸软件作为谢礼。


此后几年间,国内其他安全研究者撰写蠕虫分析报告时,竟然都参照于旸撰写尼姆达蠕虫报告时所用的格式。这件事给了他极大的信心,并最终决定了其职业发展的方向。



一把锁有多少种开法?

由于大学里读的是医学,圈内人常以“妇科圣手”戏谑于旸。调侃之余,也带着肃然起敬的意味:一个医科出身的人,竟然能在安全领域走得那么远。早些年,于旸的故事是许多人投身信息安全的榜样和动力;现在形势发生了些变化,随着信息安全科班教育的呼声越来越高,越来越多的从业人员更希望年轻人将他的经历视为“异类”:“因为并非所有人都有TK这样的天赋,能够靠着自我摸索取得这么大的成就。”



连于旸本人都是这样想的,他的传奇很难复制。从小他就醉心于各种研究和探索,“十几岁以后,我家里再也没有任何东西拿出去修过,因为我已经能够全部搞定了。”他的能工善巧渐渐出了名,连亲戚和父母的同事也会找上门来,请他帮忙修理坏掉的电器。


对万物本质原理的旺盛好奇心,使于旸投身信息安全,成为一个偶然又必然的事件。十几岁时,家里搞装修,剩下几把锁芯,他自己琢磨着就习得了开锁的原理。直到如今,于旸还常以开锁作为教学案例,启发实验室的年轻人对“攻击界面”的认识:“如果没有钥匙,又要开这把锁,有几种方法?”


最传统的方法是被称作“单钩”的万能钥匙——那是一组细长的钩子,配合一根L形钢片。用L形钢片对锁芯施加合适的扭力,用“单钩”将锁芯内的弹子顶到恰当的位置,锁就打开了。


但开锁的方法并不止这一种。于旸用钩子将所有弹子全部顶到最高位置,锁也被打开了。“事实上,你观察以后还会发现,挂锁的原理是:弹子控制锁芯的旋转,而锁芯通过锁舌控制锁梁的开闭。因此,除了锁芯里的弹子,还有一个攻击目标,就是锁舌。而更进一步分析会发现对锁舌的攻击又可分为外部发起和内部发起两种。外部攻击的方法很多人都知道,但内部攻击我还没见有人提出过”。他一边说,一边将钩子插进锁眼,往左右各轻轻一拨,锁又打开了。


“开一把锁的过程,包含着很多安全攻防的思想:一把工艺完美的锁是不可能通过拨弹子的方式打开的。能通过拨动弹子开锁,本质上是因为理想的设计往往不能被理想地实现,这和信息安全是一样的。很多懂安全理论但没搞过实践的人都想不明白这些。从攻击角度看,你可以复制钥匙,也可以模拟钥匙,但最好的方法可能是根本不理会钥匙-锁芯这套安全机制,甚至根本不理会整个锁——开锁不一定用钥匙,开门不一定先开锁,进屋不一定要走门”,于旸说。这些他十几岁开始逐渐领悟的朴素的方法论,现在仍然是他攻防思想的基础。


“黑客教主”是怎样炼成的?

在科学领域,于旸自小就爱好广泛:“当时想不出大学志愿怎么填,觉得学什么都行,都喜欢。后来因为家里有人从医,父母便帮我做了主,于是就去了医科大学。”



进大学以后,家里买了电脑。喜欢将一切都拆开来看个究竟的于旸,自然也不会放过研究这个新事物的机会,然而不一样的是,这一回他着迷甚深。“之前所见万物都有边界,唯有计算机的世界是没有穷尽的。”他举例说,小时候把电视机拆开来,看电路布局、元件功能,都能一一弄清,没有什么可探索的了,但计算机不一样,这台机器里包含着的信息量极为巨大,因为可以通过安装软件,近于无限地扩展信息量,“和其他的一切都不一样”。


在探索的过程中,于旸很快就触及了安全领域。相比应用软件,安全是一个更底层、更本质的东西,因此它也注定成为于旸更愿意投身研究的领域。那时,他把在学校社团赚得的稿费省下来,走2公里去中科大附近一家专卖计算机类书籍的书店:“安全类的书籍只有一排,其中就有《黑客大曝光》。”


就这样,靠着自学,这个连C语言都没学过的医学生,在对尼姆达蠕虫的研究中一战成名,并且自此被“安全圈”所关注。


大学毕业时,于旸决定去绿盟,成为一名安全研究员。之所以把信息安全而非医科专业当做自己的事业,涉猎广泛、擅长极多的于旸表示:“它很有意思,和做医学实验不一样,既可以一次次推翻重来,所需物质门槛也非常低”。


“黑客教主”的江湖地位,就是在绿盟科技工作的那段时间中确认的。


并非科班出身,参加工作时连编程语言都没学过的于旸,是怎样补足那些基础知识,并在信息安全专业研究领域快速崛起的?于旸平静地说,自己从未被学习新事物所困。


“一个比较重要的原因是从小读书,我的阅读速度比一般人快,对于特别喜欢读书的人来说,看书的时候会有一种如饥似渴的感觉,特别希望能够快速地把书读完。我从小就把读书速度给练出来了,可以非常快地进行资料的阅读和检索。”他说,“换句话说,我能很快找到解决问题所需要的信息,随后开始一行行细嚼慢咽地阅读。”


早些年,他就把这样的心得写在了网上。因为那会儿常有人求大牛的技术指点:“怎样才能获得你的毕生功力?”于旸写道,学Windows的方法有三步,没有诀窍,也不用花钱买书:“一、先把Windows的帮助文件从头到尾看一遍;二、在Windows目录下搜索*.txt、*.htm?、*.log、*.ini,把每一个文件内容都看一遍;三、把注册表浏览一遍。”


把他说的这两点结合起来,便知“黑客教主”是怎样炼成的——那便是“刻苦”,以及“对自身天赋的善加利用”:“其中刻苦是必须的,因为聪明的人太多了。但也不能忽略自己的优势和特质,比如我的优势就在于阅读、表达、好奇和另辟蹊径的探索方式。”


过硬的技术加出众的表达能力,使于旸脱颖而出,成为绿盟科技研究部的代言人。业内其他人提到他时都觉得震惊,一个学医出身的年轻人,在那么短的时间里就取得了那么快的进步,实在是不可思议。


于是,在安全焦点的某个峰会上,TK就被“刁难”了。那个会议的最后一项议程,是请几个人上台回答观众的提问。有人拿出许多刁钻古怪的问题,向于旸发问,都被他一一化解,最后主持人笑言:“在这个世界上,我只佩服两个人,一个是芙蓉姐姐,还有一个就是TK。”


“芙蓉姐姐那时很红,她不是有个绰号叫‘芙蓉教主’么?所以我之后就被叫作‘黑客教主’,‘教主’之类的,不是尊称,更近似戏谑。”于旸笑道。


获得微软大奖如“探囊取物”

他的声名真正从国内流传出去,并为世界安全圈所周知,则是源于2013年的一系列事件。当时,于旸在CanSecWest介绍了一套技术,能够非常简单地突破被视作“无懈可击”的Windows 7系统。



“从Windows XP SP2到Windows Vista再到Windows 7,微软把自己积累多年的漏洞防御思想慢慢都在里面进行了实现,并逐步完善。当时,安全研究届不少人曾一度绝望,觉得‘没饭吃了’。因为在当时看来,Windows系统的漏洞变得几乎不可能被利用,不太需要其它安全措施了”,于旸说。但早在几年之前,他就一直在关注漏洞通用防御和攻击,并研究出了相应的技术。


这套攻击技术在CanSecWest上公布之后,微软在自己的防御软件EMET中加入了相应的措施。紧接着,于旸研究了这个防御软件,结果马上发现了这个软件的问题:“它确实做到了防范,但是在做防御的同时,又引入了一个新的问题。就好像是锁好了门,但在墙上又开了一个更大的洞。”在将这个新问题报告给微软之后,微软在官方的blog里特别致谢了于旸。虽然微软每月发布漏洞的时候都会例行在公告中致谢,但单独在官方blog里致谢,是很少见的。


这件事也促成了Mitigation Bypass Bounty项目的设立。现在,它已成为微软常设的安全技术悬赏项目。第一个10万美元大奖是被一个英国人拿走的,于旸说自己的妻子得知后有些不忿:“这个奖项明明是因为你而设立的,却被其他人拿走了。”于旸安慰说别着急,“我也给你拿一个回来”。


果然,在几个月的满负荷研究后,于旸也拿到了微软的10万美元大奖。“还是有些遗憾,总觉得没拿到第一,于是今年决定在量上取胜。”他说起来轻描淡写,“总想把这个第一抱在中国人的手里。”


微软定下的悬赏标准相当苛刻,满足条件的技术必须是稳定、高风险且通用的。如果将防御系统具象化,微软的要求不是发现一个偷懒的士兵,而是战略布局的纰漏,此外“它必须是全新的技术,不能包含之前任何的发现”。于旸形容自己第二次拿奖的难度:“就好比世界纪录的保持者,他要打破的是自己的极限。”好在这一次,他又突破了。


对于旸而言,攻防对抗是一场又一场人与人之间的智力较量,“这个领域的每道关卡都是别人帮你设下的。攻击时,你要去挑战对方的顶级高手布下的重重难关;防御时,你要考虑攻击者的思维方式。就像周伯通的‘左右互搏’,自己打自己,武学才逐渐精进。这是很有意思的事情。”


在各种场合,于旸不止一次将技术比喻成武学,“黑客相当于习武之人。强盗、飞贼、保镖、捕快是习武之人的职业”。武者醉心于个人功力的精进,便能够不为外物所困,因而于旸喜欢投身于常人所不能及的领域和高度——“要做就去做困难的事情,如果一个工作门槛低,人人做得了,那你将必然耗费大量的精力在与本职无关的事情上。”


投身安全行业13年,于旸从未感觉厌倦。腾讯的玄武实验室,也是他所起的名字——“玄武”是北方神兽,龟蛇一体,紧紧缠绕。“蛇”即是攻击,“龟”便是防御,攻防并进,推动行业的不断发展。在“黑客教主”TK的心中,这就是信息安全所具有的、最迷人的特质。