從這四方面入手,做一個(gè)牛逼的CTO
這是一場看不見的戰(zhàn)爭。麻煩制造者的名字是一個(gè)代號(hào)——“XcodeGhost-Auther”。一個(gè)月前,他還默默無聞,但現(xiàn)在程序員群體中,還有幾個(gè)人不知道他這個(gè)代號(hào)呢?
對(duì)于這個(gè)神秘的名字,Wellington和他的團(tuán)隊(duì)8人幾乎一無所知,他們面對(duì)的只是一堆數(shù)字,但最終卻不得不用一整天的時(shí)間來清理“XcodeGhost-Auther”帶來的問題。
這是一串惡意代碼,被命名為XcodeGhost。Wellington把這串代碼稱之為“源碼病毒”,他不知道這款受到感染的APP已經(jīng)被多少用戶下載,也不清楚這串代碼已經(jīng)存在了多長時(shí)間。他對(duì)“源碼病毒”幾個(gè)字的唯一印象,是大學(xué)教科書的某個(gè)角落,很短一行字的介紹。
Wellington畢業(yè)十年了,做了十年的程序開發(fā)工作。他現(xiàn)在是北京一家知名互聯(lián)網(wǎng)公司iOS開發(fā)主管,手下管理著一個(gè)近百人的團(tuán)隊(duì)。
XcodeGhost 在 19 日引起了軒然大波
9月19日,星期六,Wellington躺在床上向女友承諾未來他一定能在北京五環(huán)內(nèi)買一套房時(shí),他的手機(jī)響了。公司CTO發(fā)來一則國家互聯(lián)網(wǎng)應(yīng)急中心的通知,“我們的APP在感染名單里。”
Wellington起床,穿好衣服,等待著領(lǐng)導(dǎo)指示。負(fù)責(zé)APP發(fā)布的主管被連夜喊回公司,處理此事。Wellington接到任務(wù),下周一去破譯這串代碼。
如果不是騰訊安全團(tuán)隊(duì)一周前在無意中發(fā)現(xiàn)了這串被植入的惡意代碼,沒有人知道它還能繼續(xù)隱藏多久。
各大安全中心迅速出動(dòng),發(fā)現(xiàn)最早的感染源能上溯至今年3月份。一個(gè)名為“codeFun”的賬戶名被鎖定,幾乎所有帶有惡意編碼的鏈接都是由這個(gè)賬號(hào)在各大網(wǎng)站發(fā)布。
9月17日,阿里移動(dòng)安全發(fā)布了首篇分析報(bào)告——《Xcode編譯器里有鬼——XcodeGhost樣本分析》,并將此代碼樣本命名為 XcodeGhost。
此后的一周時(shí)間,Wellington的朋友圈里全是對(duì)XcodeGhost的分析解讀。很快,被植入惡意代碼的APP曝光,其中涉及微信、滴滴打車、高德地圖、同花順、網(wǎng)易云音樂、12306等常用APP。
這個(gè)代碼的背后,充滿著程序員式的神秘感,代碼不具備情感,并不能透過這些數(shù)據(jù)掌握麻煩制造者的心理。
Wellington反編譯后臺(tái)之后,驚異于這串代碼的隱秘性,“他們的手腳很干凈,做得不留痕跡。這是一個(gè)老練的團(tuán)隊(duì),經(jīng)驗(yàn)豐富。”
9月19日,惡意代碼的制作者現(xiàn)身,他注冊(cè)了一個(gè)名為“XcodeGhost-Auther”的微博賬號(hào),聲明這次事件沒有任何威脅性,“這只是苦逼iOS開發(fā)者的一次意外發(fā)現(xiàn),……它不會(huì)對(duì)任何人有任何影響,以后只會(huì)是一段已經(jīng)死亡的代碼。”
Appthority信息安全公司確定被XcodeGhost代碼影響的應(yīng)用達(dá)到了476個(gè),遠(yuǎn)超之前預(yù)期的40多個(gè)
Appthority顯示,感染最早暴發(fā)于今年4月,感染數(shù)量在隨后的5個(gè)月持續(xù)增長
但對(duì)于經(jīng)驗(yàn)豐富的技術(shù)主管,這并不是一種技術(shù)上實(shí)現(xiàn)自我的手段。他顯得不那么光明正大。一家互聯(lián)網(wǎng)公司的技術(shù)主管強(qiáng)調(diào),“XcodeGhost-Auther”的行為或者不乏新意,但看起來只是旁門左道。
“這能證明什么?”這名技術(shù)主管認(rèn)為,技術(shù)人員最大的成就感應(yīng)該來自于創(chuàng)造,他不希望自己的團(tuán)隊(duì)中有人渴望成為一個(gè)破壞者。
對(duì)于一家互聯(lián)網(wǎng)公司而言,技術(shù)人員占據(jù)著重要的位置,互聯(lián)網(wǎng)需要怎樣的程序員呢?這是個(gè)值得思考的問題。Lagou找了些業(yè)界大牛,提供了一些成為優(yōu)秀程序員的必備建議。
技術(shù)過硬
Arron是一家正在快速成長的互聯(lián)網(wǎng)公司的CTO,他帶領(lǐng)著一個(gè)一百多人的技術(shù)團(tuán)隊(duì),并且還在不斷地招兵買馬。他看重技術(shù),這直接關(guān)系著產(chǎn)品的優(yōu)劣。
“技術(shù)永遠(yuǎn)是第一位的,好的技術(shù)才能實(shí)現(xiàn)好的想法。”由于這是在面試與筆試中,最容易被衡量與測試出的專業(yè)能力,所以,技術(shù)過硬,是程序員的立命之本。
職業(yè)道德
Arron堅(jiān)信善良比聰明更重要。
“在技術(shù)界里當(dāng)一個(gè)好人挺難,因?yàn)槔婢薮蟆?rdquo;黑市上,用戶數(shù)據(jù)被明碼標(biāo)價(jià),如果哪天你看到一個(gè)程序員一夜之間買了房買了車,那么可能他干了一票。
Wellington會(huì)常常擔(dān)心的一件事情是,他的團(tuán)隊(duì)里會(huì)不會(huì)有人把網(wǎng)站所有的用戶信息打包賣出去。“你知道的,總是有那么十幾個(gè)人有權(quán)限接觸到所有的信息。”
專業(yè)技術(shù)與職業(yè)道德,缺一不可。“不過,如果是個(gè)好看的妹子,品格上不能降低要求,但在技術(shù)上差一點(diǎn)也沒關(guān)系。”Wellington笑著對(duì)Lagou說,程序媛比程序員更容易找到工作。
了解安全知識(shí)
烏云網(wǎng)的白帽子王彪持續(xù)關(guān)注著XcodeGhost事件,他對(duì)合格工程師的定義是,一定要懂一些互聯(lián)網(wǎng)安全知識(shí)。“去官方網(wǎng)站下載軟件是基本原則,尤其是涉及公司業(yè)務(wù)的軟件。從第三方源下載,不校驗(yàn)哈希值,這是最基礎(chǔ)的常識(shí)失誤。”
Arron能夠理解那些通過非官方渠道下載Xcode的程序員們,雖然他決不允許自己的團(tuán)隊(duì)經(jīng)由非官方途徑下載。“效率與安全一直是一對(duì)矛盾,非官方途徑的便利足以讓人放松警惕。而對(duì)大多數(shù)互聯(lián)網(wǎng)創(chuàng)業(yè)公司而言,組建一只專門的安全團(tuán)隊(duì)很難,要掏錢,卻沒有實(shí)際產(chǎn)出。”
蘋果稱,將把Xcode的下載源放在中國。這減少了源碼病毒的威脅,但互聯(lián)網(wǎng)世界依舊危機(jī)四伏。
堅(jiān)持學(xué)習(xí)
王彪告訴Lagou,他眼中的互聯(lián)網(wǎng)安全不是溫室里的花朵,而是真真切切由血的教訓(xùn)積累而成經(jīng)驗(yàn)。“每次事件的血都不會(huì)白流,它將形成我們?nèi)蘸蟾邩?biāo)準(zhǔn)的準(zhǔn)入措施。好的程序員,不要在同一個(gè)地方跌倒兩次。”
“一個(gè)優(yōu)秀的程序員,和一個(gè)優(yōu)秀的碼農(nóng)的區(qū)別,只有兩個(gè)字——學(xué)習(xí)!”
Paul Graham曾經(jīng)在《偉大的黑客》一書中寫道:
“牛逼的黑客能夠在大腦中裝進(jìn)很多上下文,當(dāng)他看一行代碼時(shí),不僅僅是這行代碼,還包括這行代碼相關(guān)的整個(gè)程序。”
通過學(xué)習(xí),碼農(nóng)能擴(kuò)大自己的工作記憶,讓大腦中裝進(jìn)更多的上下文,最終達(dá)到在大腦中跑程序,成為程序員。
Arron逼著公司里所有的技術(shù)人員學(xué)習(xí),他對(duì)Lagou講道:程序員不學(xué)習(xí),毋寧死。
本文作者:西岳,拉勾網(wǎng)原創(chuàng)出品