1
本文作者: 史中 | 2016-06-20 08:50 | 專題:100個(gè)頂級(jí)黑客的故事 |
如果你是一位京東的新員工,那么你要小心了。
當(dāng)你打開自家企業(yè)的BBS,很可能看到一個(gè)帖子,提示點(diǎn)擊進(jìn)去就可以領(lǐng)取京東內(nèi)部福利。
當(dāng)你的工作郵箱收到一封郵件,提示你密碼已經(jīng)過期,需要你使用舊密碼重置。
沒錯(cuò),你遇到了騙子。你登陸了虛假的“釣魚網(wǎng)站”,把信息泄露給騙子。然而劇情在此刻華麗反轉(zhuǎn),這個(gè)“騙子”居然是京東自己的安全部門。如果你不幸上當(dāng),等待你的是被關(guān)進(jìn)“小黑屋”,接受“安全再教育”。
如此“釣魚執(zhí)法”血腥得讓人欲哭無淚。正所謂“一入京東深似海,從此惡習(xí)全能改?!边@些“釣魚執(zhí)法”的發(fā)明人,就是京東安全第一人,京東安全應(yīng)急響應(yīng)中心 JSRC 的老大李學(xué)慶。
【京東應(yīng)急安全響應(yīng)中心(JSRC)負(fù)責(zé)人 李學(xué)慶】
和自己的員工“逗悶子”當(dāng)然不是 JSRC 的全部任務(wù)。作為一個(gè)安全應(yīng)急響應(yīng)中心,和騰訊的 TSRC、百度的 BSRC、阿里巴巴的 ASRC 一樣,京東的 JSRC 有一個(gè)主要任務(wù)——堵住一切有可能產(chǎn)生破壞的漏洞。
形象地來說,京東就像一艘在深海中航行的郵輪,船板掉漆、船艙銹蝕每時(shí)每刻都在發(fā)生,JSRC 就像在巨輪上下巡回的工程隊(duì),不斷對(duì)它進(jìn)行修補(bǔ),保證這個(gè)賽博世界的百貨商店從里到外的光潔堅(jiān)固。
如果你是一名黑客,確切地說是一名白帽黑客,你研究出的任何可以攻擊京東的漏洞,都可以通過 JSRC 提交給京東。而你能獲得的,將是頗為實(shí)惠的獎(jiǎng)勵(lì),例如價(jià)值1000元的京東購物卡神馬的。
嚴(yán)重漏洞1天,高危漏洞3天,中危漏洞7天,低危漏洞14天。這是我們對(duì)于不同漏洞的修復(fù)時(shí)間。
李學(xué)慶告訴雷鋒網(wǎng),根據(jù)白帽子提交的漏洞等級(jí)不同,他們會(huì)得到相應(yīng)的獎(jiǎng)勵(lì),而且在重大促銷或者節(jié)假日前夕,為了充分保障系統(tǒng)的正常運(yùn)轉(zhuǎn),還會(huì)有翻倍獎(jiǎng)勵(lì)?!袄缃衲?6.18 之前,我們搞了一個(gè)雙倍積分的活動(dòng),白帽子提交高危漏洞,最高可以得到折合12000元價(jià)值的獎(jiǎng)勵(lì)。”
對(duì)于同樣是白帽黑客出身的李學(xué)慶來說,JSRC 更像是京東和黑客江湖溝通的一間茶室。他帶領(lǐng)30多位關(guān)注京東的黑客組成了核心白帽群,不僅經(jīng)常溝通他們發(fā)現(xiàn)的漏洞詳情,還定期邀請(qǐng)業(yè)內(nèi)大牛進(jìn)行技術(shù)講座。
以上這些玩法,是他經(jīng)歷了血的教訓(xùn)才習(xí)得的。某種程度上說,“黑客江湖”是大公司的“朝野”不得忽視的力量,因?yàn)樾袀b仗義的“俠客”們往往能攪動(dòng)巨大的且不容忽視的波瀾。
早在JSRC建立之前的2011年。剛剛加盟京東不久的李學(xué)慶就遭遇了一次危機(jī)。那就是當(dāng)時(shí)業(yè)界的信息泄露事件,很多公司都遭受了這次事件帶來的余震。彼時(shí)由于京東沒有 JSRC 這樣專門處理漏洞的部門,白帽子發(fā)現(xiàn)漏洞之后并不能直接提交給京東,導(dǎo)致雙方交流不暢,最終并不愉快。
這次沖突對(duì)于京東和黑客江湖來說都很傷元?dú)?。這也讓李學(xué)慶堅(jiān)定了要推動(dòng)成立 JSRC 這個(gè)“總理各路黑客衙門”。
JSRC中的每個(gè)成員對(duì)應(yīng)京東的一條業(yè)務(wù)線。一旦確認(rèn)漏洞,就會(huì)緊盯著相關(guān)部門“縫漁網(wǎng)”。
因?yàn)榘踩珦p失是沒有辦法估量的。
李學(xué)慶說,對(duì)于高危漏洞,如果出現(xiàn)業(yè)務(wù)和安全打架的問題,要首先處理安全問題,沒有商量的余地?!斑@流程是經(jīng)過高管討論之后,形成的剛性制度?!?/p>
【京東內(nèi)部漏洞響應(yīng)系統(tǒng)流程】
從 JSRC 成立到今天,大致有五年時(shí)間。今天來看,京東的業(yè)務(wù)線安全性已經(jīng)具備了標(biāo)準(zhǔn)的防御力,真正危險(xiǎn)的漏洞即使偶爾被找到,也會(huì)在當(dāng)天被修復(fù)。但是作為電商,京東實(shí)際上面臨著一些特別的威脅:
用“樹大招風(fēng)”來形容這個(gè)一線電商比較貼切。說來無奈,騙子使用的手段并不高明,無非是偽裝成京東客服給用戶打電話行騙,或者偽造一個(gè)類似京東的釣魚網(wǎng)站騙取用戶錢財(cái)。
當(dāng)然,做這些詐騙動(dòng)作的前提是,騙子要掌握用戶的登陸密碼和個(gè)人信息。李學(xué)慶告訴雷鋒網(wǎng),根據(jù)他掌握的資料,京東最近幾年并沒有發(fā)生成規(guī)模的用戶信息泄露。但是京東仍然感受到壓力,因?yàn)槠渌脚_(tái)不斷出現(xiàn)用戶信息泄露事件。通過“撞庫”,很多黑產(chǎn)還是可以拿到一些京東用戶的登陸密碼。
如果一個(gè) IP 頻繁登陸不同的賬號(hào),并且失敗的次數(shù)還很多,那這就是很明顯的撞庫行為。
針對(duì)這部分用戶,京東基本及時(shí)的要求用戶重置密碼。另外,每個(gè)進(jìn)行登陸操作的設(shè)備都被給定一個(gè)設(shè)備指紋,如果一個(gè)賬號(hào)以前都是用 iPhone 登陸,突然在安卓手機(jī)上登陸,并且 IP 也不在常用地點(diǎn),那么系統(tǒng)就可能會(huì)啟動(dòng)防止盜號(hào)的流程。
如果一個(gè)用戶登錄京東之后,沒有選擇商品的動(dòng)作,而是馬上使用余額或者京券、東券,這也是一個(gè)非??梢傻膭?dòng)作。”
這些就是 JSRC 對(duì)付黑產(chǎn)的一些招式。
用戶的數(shù)據(jù)是京東的“首要機(jī)密”,所以在 web 傳輸?shù)倪^程中,凡是敏感的數(shù)據(jù)都會(huì)被打碼,也就是“***”的狀態(tài)。當(dāng)然,仍然有很多情況下, 服務(wù)需要請(qǐng)求“姓名、電話、郵箱”等完整的信息,這個(gè)時(shí)候,就要對(duì)請(qǐng)求的頻率做限制。
當(dāng)然,一個(gè)有效的制度一定要對(duì)內(nèi)部人員也有完整的權(quán)利限制。
市場部做活動(dòng),很多時(shí)候會(huì)提取一些用戶的數(shù)據(jù)出來做抽獎(jiǎng)。這個(gè)時(shí)候,我們會(huì)給這些信息附加一些“key值”,有了這個(gè)動(dòng)作,就可以記錄這些信息的使用時(shí)間、使用量級(jí),還有負(fù)責(zé)人。而且這個(gè)key帶有有效期,例如一個(gè)月,過期之后就不能讀出用戶信息了。這樣,哪怕是出現(xiàn)了信息泄露,也可以追蹤溯源,查到責(zé)任人。
實(shí)際上,用戶的數(shù)據(jù)全部存儲(chǔ)在京東服務(wù)器的數(shù)據(jù)庫中,這些數(shù)據(jù)一旦被竊取,將會(huì)是災(zāi)難。然而,在業(yè)內(nèi)對(duì)于數(shù)據(jù)庫的安全有一些比較成熟的操作方法。例如所有的數(shù)據(jù)都經(jīng)過了高度加密,即使通過了層層防御拿到了這些數(shù)據(jù),也是沒有辦法破譯的。
前一段時(shí)間被媒體關(guān)注的領(lǐng)英用戶數(shù)據(jù)庫泄露,就是因?yàn)樗麄儧]有在數(shù)據(jù)中“加鹽”(做加密混淆),才有了扎克伯格的 Twitter 賬號(hào)慘遭破解的后話。
【2014年“出品”的某京東秒殺器】
前幾年秒殺器橫行,專門盯著京東做促銷的秒殺活動(dòng)。那時(shí)候我們會(huì)專門混入這些“秒殺京東”的群,甚至?xí)ㄥX買來他們兜售的秒殺器來研究,封堵惡意攻擊。
近幾年反秒殺的技術(shù)臻于成熟,這樣的威脅減少了。李學(xué)慶告訴雷鋒網(wǎng),JSRC 還會(huì)有針對(duì)性地獲取一些威脅情報(bào),所以可以在敵人進(jìn)攻之前筑好“防御工事”。
“對(duì)于我們的技術(shù)研發(fā)體系,我還是比較有自信。”李學(xué)慶說,“因?yàn)槊看未蟠伲覀兌紩?huì)做很多準(zhǔn)備,包括業(yè)務(wù)抗壓能力,雙倍積分鼓勵(lì)白帽子找漏洞,收集威脅情報(bào)?!?/p>
“所以這次618,我們還是比較淡定?!?/p>
淡定并不表示 JSRC 的童鞋們可以北窗高臥。李學(xué)慶說:
這次“618 電商節(jié)”之前,我們把京東核心業(yè)務(wù)域名都進(jìn)行了一次大排查,針對(duì)程序員經(jīng)常范的錯(cuò)誤以及嚴(yán)重漏洞逐一排查一遍。我們的一個(gè)小兄弟在手工檢測一個(gè)新業(yè)務(wù)時(shí)發(fā)現(xiàn)了一個(gè)注入點(diǎn),有可能竊取數(shù)據(jù)。經(jīng)過和業(yè)務(wù)溝通,最后發(fā)現(xiàn)這個(gè)項(xiàng)目存在六七處代碼問題,那天是周五,我們一起加班到了晚上,解決了這個(gè)問題。
在 618 之前一次針對(duì)白帽子的活動(dòng)中,雖然有雙倍積分的誘人獎(jiǎng)勵(lì),但是這么多高水平的白帽子只找到兩三個(gè)有一定威脅的注入或者越權(quán)漏洞,這一點(diǎn)讓他覺得京東的安全性還是有保障的。
盡管總體上安全無虞,李學(xué)慶的日?;顒?dòng)仍然是帶領(lǐng)兄弟們?nèi)f(xié)調(diào)各部門修補(bǔ)無數(shù)的小漏洞。
例如前幾天我們?cè)趙eb端發(fā)現(xiàn)了一個(gè)跨站漏洞,也協(xié)調(diào)開發(fā)部門修復(fù)了問題,然而我們卻沒有意識(shí)到,這個(gè)問題在手機(jī) App 端同樣存在。直到手機(jī)端同樣爆出了問題,我們才去修復(fù)。
當(dāng)然,這次 618,剁手黨們并沒有意識(shí)到京東的安全性存在問題。JSRC的所有任務(wù),就是用7*24小時(shí)的待命讓用戶感覺不到自己的存在。李學(xué)慶覺得,這是一個(gè)安全人員的專業(yè)精神所在。
【2014年618,劉強(qiáng)東客串快遞員送貨】
讓所有的京東同事都學(xué)會(huì)“安全地工作”,是李學(xué)慶的職責(zé)。如文章開頭所言,一言不合就“釣魚執(zhí)法”,是他對(duì)同事進(jìn)行教育的方法之一。
此外,他還曾經(jīng)給幾千名同事做過安全講座。
2011年的時(shí)候,我在臺(tái)上教所有的員工密碼設(shè)置的技巧,告訴他們?cè)鯓拥拿艽a才算復(fù)雜,才算有強(qiáng)度。
例如,程序猿可以用老婆名字的縮寫(前提是要有老婆)前后加上大括號(hào),再附加520之類的表白,就可以構(gòu)成一個(gè)強(qiáng)密碼。另外,你還可以寫詩,例如鋤禾日當(dāng)午,里面充斥著大小寫混搭。
當(dāng)時(shí)人們聽得熱血沸騰,紛紛回去改密碼。后來幾天我竟然解到了幾個(gè)電話:“李老師,我忘記了自己設(shè)置的密碼,幫幫我。。?!?/strong>
然而,還有少數(shù)人死活不改內(nèi)網(wǎng)登陸密碼,即使李學(xué)慶屢次教導(dǎo)仍然“執(zhí)迷不悟”。
他不改,只好我?guī)退?。在排查的時(shí)候,我用常用的密碼字典去撞庫,發(fā)現(xiàn)了一些弱密碼,我直接從遠(yuǎn)程把他的桌面換掉,顯示:你的電腦被黑了。
被“黑”的同事打開電腦,被嚇得著實(shí)不輕。。。”
這就是來自李學(xué)慶這個(gè)黑客的“魔鬼訓(xùn)練”。他目的雖然不是讓人人都是白帽子,但是至少人人都要有安全意識(shí)。也許這種“黑”同事的惡作劇,正是他心目中最好的教育方法。
其實(shí),2011年那次“信息泄露”風(fēng)波,對(duì)于 JSRC 的建立顯然起到了推動(dòng)作用。提起那次事件,李學(xué)慶仍然感慨萬千。
我相信所有的白帽子,他們的初衷都是為了幫助京東。如今因?yàn)?JSRC 的存在,京東和白帽子“刀劍相向”的局面應(yīng)該不會(huì)再發(fā)生了。
他的邏輯很簡單:因?yàn)榕笥阎g處理問題,要用朋友的方法。
JSRC 成立四年,團(tuán)結(jié)了五十多個(gè)核心白帽子。他們拱衛(wèi)著京東這個(gè)代碼海洋中的“巨輪”。
安全遠(yuǎn)不是兒戲,而是真槍實(shí)彈的對(duì)抗。和其他電商一樣,京東同樣面臨諸多戰(zhàn)役。對(duì)于李學(xué)慶和 JSRC 來說,他們的使命正在于此。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。