2014年12月王琦被評為“上海IT青年十大新銳”,領(lǐng)獎那天,他遲遲未到,同伴焦急地問他為何遲到,他說:“我找不到西裝了?!?/p>
王琦是KeenTeam(下簡稱Keen)信息安全研究團(tuán)隊(duì)創(chuàng)始人,這個(gè)團(tuán)隊(duì)由信息安全理論和技術(shù)研究方面全球領(lǐng)先的中國“白帽”安全專家組成。他自認(rèn)為在團(tuán)隊(duì)中,他還是個(gè)正常人。
黑客也分黑白兩道:“白帽子”不會惡意利用計(jì)算機(jī)系統(tǒng)或網(wǎng)絡(luò)系統(tǒng)中的安全漏洞,而是通過提示和公布等方式,促進(jìn)漏洞的修補(bǔ);“黑帽子”指研究攻擊技術(shù)并將之用來惹是生非的黑客。
大牛蛙不愿提起別人看來傲人的過往,只有他的同事會小聲嘀咕:他是微軟在海外開設(shè)的第一個(gè)安全應(yīng)急響應(yīng)中心(CNMSRC)創(chuàng)始人和負(fù)責(zé)人,負(fù)責(zé)將漏洞報(bào)給總部的微軟安全響應(yīng)中心(MSRC)。在安全社區(qū),王琦名叫大牛蛙,作為長相干凈俊朗的國內(nèi)第一批黑客,他在圈內(nèi)擁躉無數(shù)。
Keen成立雖僅三年,但在此前的十?dāng)?shù)年中,其團(tuán)隊(duì)成員在首席科學(xué)家吳石的帶領(lǐng)下已為谷歌、微軟、蘋果等公司的流行軟件提供了數(shù)百個(gè)嚴(yán)重安全漏洞的挖掘成果,連續(xù)三年獲得ZDI全球漏洞計(jì)算機(jī)挖掘白金貢獻(xiàn)獎,吳石還獲得了全球頂級安全會議Blackhat卓越安全研究成果Pwnies獎的提名,《福布斯》雜志評價(jià)吳石“發(fā)現(xiàn)的漏洞是蘋果整個(gè)安全團(tuán)隊(duì)的兩倍還多”。
三年里Keen參加過兩次Pwn2Own大賽,三次在與全球頂級黑客的競爭中攻破了Mac等系統(tǒng)奪得冠軍。自年前開始,Keen研究團(tuán)隊(duì)又進(jìn)入備戰(zhàn)今年加拿大Pwn2Own大賽的閉關(guān)期。
2014年1月,美國第三方AndroidROM團(tuán)隊(duì)CyanogenMod與KeenTeam達(dá)成合作。12月正式成為GoogleProjectZero亞洲第一個(gè)正式合作伙伴,意味著中國安全研究團(tuán)隊(duì)的實(shí)力獲得世界最高水平安全社區(qū)的認(rèn)可。
KEEN的早期團(tuán)隊(duì)
GeekPWN:民間黑客的星光大道
盡管Keen在安全圈已經(jīng)名聲大震,為大眾所知卻還是去年的事。2014年10月24日,由Keen主辦的第一屆GeekPwn大賽在北京進(jìn)行。在這次大賽中,各路民間黑客實(shí)現(xiàn)了一連串令人驚嘆的事實(shí):用微信“無人駕駛”特斯拉;通過已經(jīng)關(guān)機(jī)的手機(jī)自動拍照,監(jiān)聽現(xiàn)場聲音;無需木馬或釣魚,讓打到別人賬戶的錢在途中悄無聲息轉(zhuǎn)到黑客賬戶……很多籍籍無名的民間黑客以其偏執(zhí)的關(guān)注點(diǎn),發(fā)現(xiàn)了智能生活中的安全漏洞,他們走上了由Keen鋪就的星光大道。
GeekPWN中文全名是“極棒安全極客嘉年華”,是全球首個(gè)關(guān)注智能生活的安全極客嘉年華,也是國內(nèi)信息安全領(lǐng)域最具權(quán)威性和影響力的活動。
但是發(fā)起這次活動,卻讓大牛蛙大費(fèi)了一番周折。他要尋找智能產(chǎn)品商家合作。但他發(fā)現(xiàn)國內(nèi)沒有商家支持他,要組織黑客來尋找這些商家產(chǎn)品的漏洞,他們看起來更像是“找茬收保護(hù)費(fèi)”的。
“最初只有微軟和谷歌支持,國外商家早就有了承認(rèn)、接受甚至花錢購買安全漏洞分析的姿態(tài)。”大牛蛙跟這兩家談到四五月份,發(fā)現(xiàn)微軟windows從政府采購名單里清除了,“說明他跟中國政府關(guān)系變差了,把它趕出去,很大一個(gè)原因是說微軟的東西可能會影響國家信息安全?!?/p>
國內(nèi)企業(yè)的安全觀并未國際接軌,國內(nèi)的氛圍是發(fā)現(xiàn)漏洞就是不安全。大牛蛙在心里打鼓:“天哪,還有沒有人支持我們!”
大牛蛙在心里打鼓:“天哪,沒人支持我們了!”緊接著6月,谷歌全面被封?!稗k不下去了,沒辦法辦了!”他幾乎就要放棄。他決定:合同不能用“黑客”兩字,不能用“攻破”一詞,甚至連“漏洞”都不要提。活動宣傳人員犯了難:那還寫什么稿子宣傳讓人來參加??!
最后他們用“極客”來代替“黑客”,用“安全問題”代替了“漏洞”。這樣的招募讓整個(gè)團(tuán)隊(duì)擔(dān)心:萬一沒有人來參加怎么辦?
第一個(gè)報(bào)名的是過安檢的X光機(jī),可以帶把刀,帶把槍過安檢,讓X光機(jī)完全穿透,看不出來?!暗谝粋€(gè)就給我們出了一個(gè)難題,當(dāng)時(shí)云南昆明火車站砍人事件才過去沒多久,要不要接受?”出于各種考慮,這位報(bào)名者最后并未被接受。
接著報(bào)名的是劫持他人車?yán)锏能囕dGPS,干擾另外一個(gè)人的GPS,傳遞一個(gè)錯(cuò)誤信息,比如,傳達(dá)一個(gè)“北京二環(huán)現(xiàn)在是暢通的消息”,車就全部涌過去了,這樣整個(gè)城就可能癱瘓。
但炫技并不是大牛蛙極力發(fā)起這次比賽的初衷,他的愿望是:通過攻破并發(fā)現(xiàn)智能設(shè)備的漏洞,推動廠商提高產(chǎn)品的安全性,為消費(fèi)者使用安全提供保障。同時(shí)也能發(fā)現(xiàn)更多的安全極客人才,保護(hù)人們的未來生活。GeekPwn提倡新的安全觀:“產(chǎn)品被發(fā)現(xiàn)和消滅的安全問題越多,產(chǎn)品越安全?!?/p>
在比賽前,大牛蛙一直想找到代表人們未來生活的智能設(shè)備,找出其安全漏洞。最后他找到了特斯拉。托人去北京看,“它確實(shí)是一種智能車。最初想不買車,太貴了,想著能不能在美國買個(gè)車載電腦,但沒地方賣。”
大牛蛙覺得要做事情,得下血本。那時(shí)特斯拉不容易買到,他是加價(jià)10萬才買下的。和最初攻破iphone5一樣,沒人知道能不能成功,“但是你要是不奔著那個(gè)目標(biāo),怎么知道不成功呢?”
他看電影《中國合伙人》,記住了一句話:“害怕失敗的人永遠(yuǎn)不會失敗,因?yàn)樗婚_始就失敗了?!?/p>
車子開了四天,從北京開回上海。中途沒電,找地方充電,充一天電,開一天。即便是車買了,他還是想放棄。“做這個(gè)并不能為團(tuán)隊(duì)帶來業(yè)務(wù)發(fā)展,要研究它,需要很多人一起去做。還要不要干別的事?萬一失敗了怎么辦?畢竟不是一個(gè)興趣小組,或者有錢燒沒關(guān)系?!闭遄迷偃?,Keen還是取得統(tǒng)一意見:要做。
準(zhǔn)備把車子大卸八塊前,大牛蛙看到,買回來后在上海郊區(qū)大馬路邊放了四個(gè)月的車子已經(jīng)面目全非:中控平臺被螺絲刀弄破了,氣囊也壞了。
這期間,大牛蛙去北京時(shí)發(fā)現(xiàn),特斯拉中國總部就在360馬路對面。在Keen開始研究它的漏洞之前,360通過研究特斯拉APP的漏洞實(shí)現(xiàn)車子開啟車門、鳴笛閃燈,并大張旗鼓宣傳:360控制特斯拉。
大牛蛙覺得車白買了,“人家已經(jīng)說攻破了,以后你說什么都沒用,都是拾人牙慧。”但是最終Keen團(tuán)隊(duì)還是決定不放棄,全力以赴。
團(tuán)隊(duì)兵分兩路,一路沿襲2014年黑帽大會上提出的思路,對車輛“內(nèi)網(wǎng)”和通信協(xié)議進(jìn)行分析研究,另一路發(fā)揮漏洞挖掘優(yōu)勢,將特斯拉的標(biāo)志之一——中控平臺作為目標(biāo),在瀏覽器中找到不少安全隱患。“360只是找到了安裝在手機(jī)上的特斯拉APP的初級漏洞,攻破了手機(jī)而非攻破了特斯拉,而Keen則是真正車子本身中控系統(tǒng)的漏洞,安全級別要遠(yuǎn)遠(yuǎn)在其之上?!?/p>
10個(gè)人研究3個(gè)月,“這么高的成本,意義在于:摸到了未來的東西?!笔潞螅厮估瓕τ贙een的努力表達(dá)了贊賞和認(rèn)可,其安全負(fù)責(zé)人特意訪華拜訪Keen,頒發(fā)了四枚最高安全榮譽(yù)勛章?!斑@在國內(nèi)安全圈尚屬首次?!?/p>
“所以,熊貓燒香算什么?”幾乎安全社區(qū)所有人都不屑談起“熊貓燒香”,但是大牛蛙每次都忍不住要提起“以正視聽”:“這種技術(shù)能力很初級。我寫了病毒生怕人知道,他生怕人不知道;我把別人東西偷走,都不留名,他急著告訴你:我叫熊貓燒香,叫李俊,畢業(yè)于武漢……這和“白帽”的初衷背道而馳,就是為了出名?!?/p>
大牛蛙對外界將熊貓燒香這種小黑客寫的病毒捧成神,有著強(qiáng)烈不理解。他不理解的還有:“甚至有人在討論,要不要把整個(gè)中國互聯(lián)網(wǎng)封閉起來,如果有人攻擊,咔碴斷掉,把中國互聯(lián)網(wǎng)做成局域網(wǎng),中華公網(wǎng),以為是最安全的。這無非是閉關(guān)鎖國。”
大牛蛙承認(rèn)心里“白帽”與“黑帽”的分界嶺,并非只是正義感和道德感?!拔乙部梢酝狄黄焙萌R塢明星的照片,然后去夏威夷度假,遠(yuǎn)走高飛。不是不愿意干壞事,憑心而論是膽小,萬一被抓了怎么辦?我說的是人的本性。此外我們對暴富的訴求沒那么強(qiáng)烈?!?/p>
特斯拉贈送給KEEN的安全勛章
那些逆向思維的怪才
與行外“小白”聊起行內(nèi)事,翹楚必然是與喬布斯創(chuàng)立蘋果的沃茲,這是大牛蛙和Samuel一定會提及的人物。
“他是一個(gè)典型的黑客,邋里邋遢,但對電子技術(shù)狂熱,話少,逆向思維多,不講究個(gè)人衛(wèi)生,也沒什么朋友?!痹谡I鐣?,這類人是不會有社會地位的,“他真的和掃大街一樣,什么都沒有,甚至沒有丈母娘。但是沃茲在安全土壤健康的美國和喬布斯成立了蘋果,如果缺少這樣的土壤,這樣的天才很可能就走偏成為黑帽子?!?/p>
八年前,大牛蛙與Keen團(tuán)隊(duì)的另一位研究員老王一起坐地鐵,遇見一位乞討者,老王習(xí)慣性地給錢,說:“我想不清楚為什么有人要飯?”大牛蛙解釋:“每個(gè)人背后可能都有你知道或者不知道的悲慘經(jīng)歷?!?/p>
老王好奇:“我都沒感覺我有什么悲慘的經(jīng)歷?!贝笈M茏尷贤趸貞浺幌伦孕〉酱蟮膫氖隆@贤跸氚胩?,說:“我小學(xué)四年級的時(shí)候不想活了。原來一直是雙百分,那一次數(shù)學(xué)只考了80多分,我都不想活了。”這是35歲的老王能想起來的人生最大挫折。
1994年,老王還是小王時(shí),在《科幻世界》發(fā)表連載科幻小說,遇到了當(dāng)時(shí)特別崇拜他的女孩,后來成為他的妻子,成為一對高考狀元夫婦。但老王依然不善與人溝通,“因?yàn)樯顩]有要求我們,自己本身的性格也不太喜歡。與常人不太相同之處,就是逆向思維到讓人抓狂?!?/p>
他們?nèi)绱私忉屇嫦蛩季S:比如給一個(gè)輸入銀行卡的界面,別人不會去想別的,輸密碼就是輸密碼,我們就會想要輸個(gè)別的會是什么情況呢?你打開滴滴打車,找一個(gè)出租車司機(jī),司機(jī)給你返回一個(gè)頭像,正常思維是:有一個(gè)頭像過來,逆向思維是:如果它不是個(gè)頭像呢,如果偽造一個(gè)東西反饋過來,如果這個(gè)程序里面沒有考慮到這種情況,就改變了他的執(zhí)行流程。本來要出一個(gè)頭像,可是我讓它流程跑到別的地方,拿一個(gè)照片出來。
這種逆向思維表現(xiàn)在生活中,就會把事實(shí)反過來去思考事實(shí)背后:比如別人告訴我一句話,我會想他為什么這么說?他為什么在這個(gè)時(shí)間說?他為什么說這樣一句話,不是說那樣一句話?
大牛蛙承認(rèn)這是一種沒有安全感的表現(xiàn):“本質(zhì)上做這行的人都是缺乏安全感的,他會覺得很多東西都是有問題,缺乏安全感,但是偏偏又是做安全的。
大牛蛙認(rèn)為世間最大的不安全是坐飛機(jī)。他會專門搜集空難和車禍的電影來看,提醒自己:沒有人死之前知道自己會死,所有的都是意外。“為什么怕坐飛機(jī),我覺得這個(gè)世界上有很多人是不嚴(yán)謹(jǐn)?shù)?,我們坐飛機(jī)是一種僥幸,我想當(dāng)然認(rèn)為機(jī)械師、機(jī)長是認(rèn)真負(fù)責(zé)的,他們所有檢查都做了,但還是有意外,有疏忽。”
陳良是Keen三奪Pwn2Own冠軍的主攻手。除了技術(shù),1986年出生的陳良最感興趣的是金融。他看了一個(gè)月書,考了美國注冊管理會計(jì)師(CMA),這是很多人讀幾年書都通不過的考試。
吳石是Keen的技術(shù)核心。他的聲名隨2010年《福布斯》對他的采訪廣為人知,但之后他不僅閉門謝客,而且也要求慕名而來拜師學(xué)藝的學(xué)徒們潛心鉆研,拒絕外擾。
2015年1月11日,他在朋友圈里轉(zhuǎn)發(fā)了一篇題為《數(shù)學(xué)界的掃地僧們》,評論說:“搞學(xué)問要宅,就算你智商200,現(xiàn)在這個(gè)環(huán)境下不努力不靜心也是不行的。送給天才少年們?!?/p>
五年前的一次安全更新中,蘋果公司針對iPhone操作系統(tǒng)發(fā)布了64個(gè)新補(bǔ)丁,其中15個(gè)漏洞都是由吳石發(fā)現(xiàn),而由蘋果內(nèi)部研究人員發(fā)現(xiàn)的漏洞只有6個(gè)?!陡2妓埂吩u價(jià)稱:“自2007年以來,這位家住上海的35歲研究員已經(jīng)發(fā)現(xiàn)并報(bào)告了IE、Safari和Chrome等瀏覽器中存在的100多個(gè)嚴(yán)重漏洞……這表明吳石一年匯報(bào)給ZDI和iDefense的漏洞比全世界任何一個(gè)研究人員都多?!?/p>
吳石的日常作息是美國時(shí)間,同事們常很久不見他,突然再見時(shí)發(fā)現(xiàn)皮膚都白很多,“因?yàn)樗麖膩矶疾怀鲩T,都不曬太陽,成果就是沒日沒夜對著電腦這么做出來的。”
大牛蛙與吳石同樣的星座,同樣的血型,同樣在微軟打過工?!熬W(wǎng)上傳黑客都是金牛座,微軟公司70%都是B型血,B型血的人可能更適合當(dāng)工程師?!盞een的另一個(gè)特點(diǎn)是,大多數(shù)成員是名校理工科高考狀元,智商高,情商低。
一群如此相同的人在一起相處,自然是論各自“武功”高低。此外,吃飯必需有肉,時(shí)常也會喝白酒,吃菜必然要辣椒。
從“正規(guī)軍”到“散兵”
出生在河南的大牛蛙在父親去世十多年后,仍記著他說的話:“東方不亮西方亮,雞蛋不放在一個(gè)籃子里?!彼愿赣H創(chuàng)業(yè)去了,而他按部就班讀大學(xué)等著找個(gè)好工作。
大牛蛙在中學(xué)并非特別優(yōu)秀的天才少年,“就是從來不聽課,對著黑板發(fā)呆想東想西?!钡礁呷l(fā)現(xiàn)很多東西都是第一次學(xué),第一次聽說。就靠著突擊努力,他考上了浙江大學(xué)電子專業(yè)。
最初萌生一點(diǎn)創(chuàng)業(yè)想法的時(shí)候,是第一份工作干了三四個(gè)月被辭退。“公司倒閉,我是第一個(gè)被辭退的。”他認(rèn)定一定要自己去做點(diǎn)這個(gè)東西。
被辭退后,他去了盛大面試。盛大找一個(gè)安全人員,大牛蛙到那里一看,公司才30多個(gè)人。他去樓上面試,問盛大在幾樓?保安說,你是找流行密碼的嗎?我沒聽懂,那是個(gè)客服,要到另外一層。他們問我:你知道我們公司嗎?我說我不知道。最后大牛蛙并沒有被錄用。
在微軟后期,大牛蛙越來越感覺到:“我開發(fā)的安全軟件,其實(shí)并不解決真正的問題,做的東西太過時(shí),我做的安全并不能讓這個(gè)公司更成功?!盫ista在中國發(fā)布時(shí),XP的流氓軟件太多,而360還沒起來,那時(shí)大牛蛙做的一件事情是:在微軟Vista里面發(fā)布一個(gè)防病毒的反間諜軟件——windowsdefender,就是殺這種軟件的?!翱墒敲绹瞬涣私庵袊牧髅ボ浖卸鄲毫?。把電腦插的全都是”。他帶領(lǐng)陳良等Keen初創(chuàng)成員,向當(dāng)時(shí)的CNMSRC安全團(tuán)隊(duì)提交了1000多份中國流氓軟件,希望能夠幫助微軟在中國更成功。他并未如愿。因?yàn)槊绹偛空f:這不是正常的軟件嗎?3721,視頻小插件,都是正常軟件?!八麄儾焕斫庋b的過程是流氓的,是沒經(jīng)過用戶同意的,卸載還卸載不了?!?/p>
隨后360崛起。一年多之后,微軟美國總部才反應(yīng)過來,但是已經(jīng)晚了,360已經(jīng)搶占了市場?!拔蚁M麕退晒Γ且蝗蛟诿藁ㄉ??!?/p>
兩年后,微軟發(fā)布亞洲地區(qū)惡意軟件排行榜,前25個(gè)軟件中,有12個(gè)是大牛蛙提交的?!拔覀兌际悄瑹o聞的,當(dāng)時(shí)我就覺得在那待著沒太大意義了”,他提出辭職被他當(dāng)時(shí)的老板、現(xiàn)在的同事Samuel挽留。
大牛蛙那時(shí)的工作內(nèi)容是:微軟哪個(gè)地區(qū)大客戶被黑客入侵了,他就去調(diào)查?!耙?yàn)檫€沒失手過,所以那份工作也很快厭倦了。你問幾個(gè)問題,大概就知道,看幾個(gè)現(xiàn)象就知道對方大概什么方法入侵的。在我看來已經(jīng)是重復(fù)性的工作了?!?/p>
此外大牛蛙認(rèn)為微軟應(yīng)該打敗Google,此時(shí)必應(yīng)發(fā)布了,CNMSRC幫著做必應(yīng)的惡意網(wǎng)址屏蔽。“技術(shù)滿足感是夠了,可是并沒有因?yàn)檫@個(gè)打敗Google,又感覺一拳打在棉花上?!?/p>
當(dāng)大牛蛙跟伙伴說想出去做點(diǎn)事情時(shí),他認(rèn)為那個(gè)火候點(diǎn)到了。“沒有人知道哪個(gè)事情一定會成功,但我想一定要做未來方向的東西。移動是我看好的,當(dāng)時(shí)決定離開微軟的時(shí)候,我對這個(gè)行業(yè)有點(diǎn)失望了。”
2002年凌晨五點(diǎn)準(zhǔn)備洗洗睡覺時(shí),偶然一看新聞,“陳天橋當(dāng)首富了!”他發(fā)現(xiàn)自己一直在鉆研技術(shù),早上醒來陳天橋卻成了首富,“這對我是一個(gè)小刺激,倒并不是財(cái)富。那時(shí)候發(fā)現(xiàn)我對滿足自我的成就感不需要了,因?yàn)檫@只是偷著樂,只能越來越悶騷?!?/p>
另一個(gè)刺激是2005年,早上準(zhǔn)備睡覺時(shí)發(fā)現(xiàn)“神5”上天了?!斑@才是做科學(xué)。我天天以為我做的是高精尖的東西,實(shí)際上它沒有發(fā)揮什么價(jià)值。”
之后一系列事件讓他產(chǎn)生了思考:晚上七八點(diǎn),一對情侶被劫了,到第二天早上4點(diǎn)鐘被殺,整七八個(gè)小時(shí),為什么沒人能夠救他們?他們?yōu)槭裁床荒芊懦鲂盘??有沒有什么樣的智能設(shè)備可以幫他完成這件事情?公交車爆燃,為什么人逃不出去?公交車會死掉那么多人,原因是什么?能不能做一個(gè)緊急逃生裝置?
“你會發(fā)現(xiàn)想法里面更多的是對這個(gè)東西感興趣,你想去做這個(gè)東西,所以我要回歸到信息安全?!贝笈M芤粋€(gè)人離開了微軟。此時(shí)他家中,母親一個(gè)月900塊錢退休金,姐姐一個(gè)月1200塊,“這是我們家所有的收入,我出來之后,家里要斷糧?!庇腥烁f,這是拿全家人賭。他卻認(rèn)定會成功的。
被同學(xué)說成是投機(jī)分子,他回駁:“你們在買房的時(shí)候,我在寫代碼;你們泡妞的時(shí)候,我在寫代碼;你們炒股的時(shí)候,我還在寫代碼;你們生了孩子,我還在寫代碼。到底是我投機(jī),還是你們在投機(jī)?”
大牛蛙在Keen內(nèi)部說:“你是個(gè)男人,就應(yīng)該成為一座靠山。每個(gè)人都成為你們家里的靠山。什么叫靠山?你們家里人想干嘛就干嘛,不想干嘛就不干嘛,因?yàn)橛心阍?。公司的目?biāo)就是成為大家的靠山,你們想做什么就做什么,只要能做到第一,不想做什么就不做什么?!彼倪@種說法,被指為:典型鳳凰男。他還特意去網(wǎng)上查什么叫“鳳凰男”。
十三四歲離家住宿,大牛蛙最怕面對的是,每隔幾年,身邊的家人就有人不在了,“看著整個(gè)家往下走。放假回家,就有人跟我說:誰誰快不行了。到最后都不敢回家。你覺得沒人幫得了你。還好這些事情年輕時(shí)都遇到過,所以后來看所有的事,都覺得不是個(gè)事?!?/p>
所以大牛蛙的目標(biāo)是要成為一座靠山:“一個(gè)人要過得快樂是最容易的事,自己天天對著電腦,發(fā)了工資就出去喝酒,吃燒烤,是最舒服的事情。對物質(zhì)生活要求極低的人更容易滿足,精神生活可以通過玩技術(shù)獲得,這是自私的快樂,其實(shí)是缺乏責(zé)任感的。你應(yīng)該想到身上背著很多人的期望和責(zé)任??可竭@個(gè)詞確實(shí)是生活告訴我的?!?nbsp;