最近《北京女子图鉴》很火。不过看这篇文章之前,你要做好几个心理准备:
1.雷锋网这篇文章不是讲黑客男主如何在北京遇上12个女主“打怪升级”的故事。
2.因为我们的采访地点在望京的阿里中心,所以我。。。稍微开了个脑洞,取了这个标题,但标题和文章这次终于是相关的了。在这篇《望京黑客图鉴(一)》中,我只重点讲讲两个白帽黑客的故事,并不能代表整个望京地区的黑客形象。如果你读完觉得不尽兴,欢迎推荐望京、通州、西北旺、丰台。。。甚至是深圳、杭州、四川等祖国大江南北的黑客给我,说不定(二)(三)(四)就出来了。
作者:雷锋网网络专栏主笔,李勤,qinqin0511
1
在《北京女子图鉴》里,女主陈可在这几集中遇到了好不容易下定决心买房,但是限购政策一出来,梦想泡汤的困境。
对阿里安全猎户座实验室的蒸米来说,这不是一个问题。
三年前,蒸米从香港中文大学博士毕业时,接到了好几个互联网巨头企业的offer,最后,他从1万多名应聘者中脱颖而出,成为了阿里当年录取的1000多个应届生中唯二的“阿里星”,不仅每年有和阿里高层吃饭谈心的机会,还顺利地跨过了在北京长期发展的最关键的门槛——北京户口,并在北京买了一套房。
如果“望京黑客图鉴”的价值观是“成功、钱、户口”的话,蒸米在北京闯荡的起点要比很多人高,按照他自己的话来说,就是“简直不能更顺了,这可能才是这些年他遇到的最大挫折”。
但是,我们要讲的并不是一个这样的故事。
采访前,我印象中的蒸米浑身闪着“blingbling”的光:阿里安全猎户座实验室研究成员,OverSky、 蓝莲花和 Insight-lab 的成员,他还分析并命名了XcodeGhost 和WormHole 。
哦,对了,他是新浪微博上有 4 万活粉的互联网博主。
看上去,“安全网红”这个标签是撕不掉了。
事实正相反,蒸米展现出的这一面是:对抗、不服、执拗,拥有随时随地 diss 一切的“反骨”特质,但这些特质背后,也许与他一直追求的东西有关。
2
蒸米从小就习惯了对抗。
那时候的他太爱玩游戏,父母不允许,设了各种系统密码,甚至把那个电脑电源藏起来,蒸米因此学会了焊接、破解,最后无论父母怎么设置,他都能把上了锁的电脑复原,继续玩游戏,父母直接怒了,就让蒸米转学了。
这次对抗的直接后果是,蒸米和初恋女朋友分手了,游戏和女孩之间,他选择了前者,被扔到了“没有个人电脑”的寄宿学校。
他不甘心,和寄宿学校的机房老师打好了关系,天天跑到机房打游戏。“为了能打游戏,我学习了很多的黑客技术。”这就是这名望京黑客的故事开端,更是一名黑客“对抗”历程的开始。
这一次,他要“对抗”的是破解的寂寞、“局限的视野”以及开发人员的“人性”。
比如,针对XcodeGhost 病毒样本的分析,他花了一天,这个影响1亿人的重大安全事件背后,并不是发现者的“运气爆棚”,因为针对这一类东西,他都会第一时间进行分析,每一个都没有错过,“总会碰上重大的东西”。
“你要有一颗耐得住寂寞的心,要深入,能够在某一点上坚持做研究,不能浮躁。”蒸米觉得,自己还在“三级黑客”的通道上攀爬着,也没达到这个点。
当然,这里的“三级”跟一些演员没什么关系。在他眼中,初级黑客只能挖洞,不知道为何会有漏洞,如何利用漏洞;二级黑客懂得如何夺取控制权,不但知道为什么这个漏洞会使系统崩溃,还知道如何利用这个漏洞来控制整套系统;三级黑客对系统非常熟悉,甚至比开发人员还要清楚系统如何运作,不但能发现漏洞、利用漏洞,还能够发现新类型的漏洞,找到系统的缺陷。
蒸米觉得,太多人被局限在了初级和二级黑客的视野中,登顶一览众山的黑客实在太少。
他对这种“局限”有着强烈反抗,diss 一切停留在开始而不往上攀登的行为。
在实验室里,蒸米和他的搭档小龙主要研究 iOS 和 macOS 的系统特点,不断与苹果的开发人员较量。
蒸米把这种工作称之为一种“对抗”,“开发人员可能只追求效率和完成任务,但不考虑一些系统机制上的风险。”
“可是,你们的对手是苹果的开发人员。”我强调了一次。蒸米毫不忌讳地说:“对,这样才让我们的工作有挑战性。”
从我之前采访一些黑客的经历看,很少有人直接把“被研究对象和公司”摆在自己的对立面,因为“黑客”这一词有时被太多负面标签所束缚,如果不想给自己的研究职业造成阻碍,“帮助对方进行安全建设”是一种风险较小的说法——事实也是如此,有着正经安全研究工作和真正黑客精神的人从来不屑于做“真正对抗”的事情。
与蒸米特质相反的小龙立马给他“找补”:“其实,也不能说是苹果的开发人员是我们的对手,我们是帮助苹果团队。我觉得说跟人是对立面这个点,其实不是特别确切。准确地说,是跟人的常识的对立。”
同为 89 年生的小龙从清华博士毕业,与蒸米搭档了半年,两人一激烈一沉稳的性格形成鲜明对比。两人正处在“甜蜜搭档期”,还好他和小龙性格互补,不然就会“干起来”,如此截然不同的两个人倒是对“对抗人性与常识”认知一致。
小龙说:“程序毕竟是人写的,每个人写程序时,都有一些自己的理解和经验,或多或少放进自己的一些习惯。我们要做的事情,就是找到人的习惯可能产生的问题。这种问题经常发生,以我们要对抗人的常识,用反方向思路攻破。把整个系统攻破只是一个结果,最主要目的,是希望能让整个业界对我们所做的系统安全有更新的认知。”
比如,很多人协作写一个系统,因为这个程序是这个人写的,他对这个程序的感悟是这样的,但他不会把所有感悟都交给下一个人,导致两个人的思路完全错开。这种时候,就会现安全漏洞。
我反问小龙和蒸米:“你们也要搭档搞破解,你们的思路就一定完全对得上吗?”
蒸米:“不能,我们也是人啊。”
“对,但这有一个问题,我们是做攻击技术研究的,研究过程中,如果出问题了,只是导致攻击失效。但是,如果开发人员沟通之间出了问题,就会导致这个系统出错。我们只是让攻击失效,这一点无所谓。”小龙说。
3
蒸米和小龙最近在欧洲信息安全会议HACK IN THE BOX(HITB)完成了一个“小项目”:macOS 的两个漏洞和利用机制,简单来说,是在最新版的苹果macOS上,利用一个普通用户的权限拿到内核控制权,然后再操控整台电脑。
这对他们而言不是什么难事,但项目内外依然是“对抗”。
苹果的开发人员最近给试图挑战的黑客提升了破解的门槛,比如,他们设计了内核地址随机化,里面很多值在开机时是随机的。如果黑客试图突破系统,猜错一次值,系统会重启崩溃。
这样的难度相当于在茫茫大海里捞出一根针。开发人员在猜对手的能力:这样你都能猜到?不太可能的。
蒸米和小龙则在对抗这种“随机”,就像蝴蝶轻轻煽动一下翅膀,就可能引发一场暴风雨。一切看上去不确定的因素之间有没有某种关联,从而导致“随机数”就是“随机数”?
他们发现,有些东西可以反推出合格随机数,这是漏洞之一。
再者,因为之前提到的开发人员为了提升效率,百密也有一疏:某些关键值没有加锁,第二个漏洞产生了。在正常情况下,一个函数执行没有问题,但是,如果有多个线程同时执行某个函数,函数中一些共享的资源则可能出现问题。
就像两个人都要喝这杯水,在正常情况下,苹果要先加锁,另一个人在前一个人已经申请拿到这杯水的同时不能碰这杯水。但是,苹果忘了加锁,导致两个人同时在伸手拿水。
这就触发了问题。
小龙说,这意味着黑客还能在用户不知不觉的情况下,把他以为要拿到手里的水替换成一杯毒药。也就是说,黑客利用这两个漏洞,不仅可以完全获取macOS的内核控制权,调取隐私信息,还能植入恶意的应用。
项目内,是高手过招,关于系统安全的对抗。
项目外,则是博弈。这项成果是他们认为的“一个伟大的项目当中的一个阶段性成果。”这两个黑客手中,还有更多 iOS 的漏洞,蒸米和小龙并不想把这些漏洞都放出去。一则这些漏洞详情一旦被披露,很多同一系列的、类型的洞就会被开发人员修复——他们并不在意一城一地的得失,但是“持久地博弈”才能让自己像开发人员一般思考,甚至比开发人员更了解这个系统,这才是促进整个系统越来越安全的动力所在。
他们不满足于仅仅做一个“提升安全”的黑客,他们的野心还要更大一些——也许是成为系统的设计师。
“万变不离其宗。其实所有操作系统都差不多,如果我们能够研究出一种安全机制,更好做一些系统防护,虽然在Windows、iOS、安卓上具体实现不一样,但这个机制的本质是一样的,如果它能在所有系统上都这么用,对安全防护的帮助是很大的,并且对于系统的性能影响比较小。”蒸米说。
4
不是所有黑客可以登顶望京阿里中心 A 座 34 楼。
他们各自行路,一边作伴,也都有负重。
小龙博士毕业后,从学术界转向工业届半年,顾不上看周围人怎么行走,还在奋力攀爬,不断探究系统问题产生的根本原因是什么——小龙认为,这种思路区别于着眼于漏洞,就只看到漏洞的角度,至少,对于他们上述的大计划和系统设计师的梦想是有益的。
对阿里这个电商帝国而言,所有安全工作,甚至包括研究都要围绕业务来做。这意味着,你看到的他们的研究成果也许只是其工作的三分之一,另外那些则要在庞大体系里与不同团队磨合。
无论是在阿里的安全人员,还是已经从阿里走出开始下一段精彩的安全从业者,都曾告诉我,能将安全与业务炼化得炉火纯青的人少之又少,要达到这个程度一定会“备受折磨”,但成功者会感激那段独特的“试炼”。
安全跟商业化之间,可能不是那么容易转换,蒸米还在“磨练”。
但外人不曾这么想。
蒸米认为,自从挖人风气大涨后,一些人“比着狮子大开口”,但能力却没有相应提升,好像一切都唾手可得一样。还有一些以前颇有成就的“老人”停了下来,没有跟上最新的研究。
在这种浮躁的氛围中,他时不时“掐”自己一把,“你可千万不能成为这样的人,哪怕将来再有钱,再厉害,也不能忘记了要搞安全研究”。
作者:雷锋网(公众号:雷锋网)网络专栏主笔,李勤,qinqin0511
。
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/113064.html