2
本文作者: 史中 | 2016-07-06 08:37 | 專(zhuān)題:100個(gè)頂級(jí)黑客的故事 |
在世界的隱秘角落,無(wú)數(shù)掃描和控制指令正在從一個(gè) IP 涌出。站在云端俯視,偌大的版圖上,一臺(tái)臺(tái)服務(wù)器甚至沒(méi)來(lái)得及掙扎就放棄了抵抗。它們的“眼睛”變得通紅。在暗色的夜里集結(jié)成軍,準(zhǔn)備聽(tīng)命于撒旦的指引,向安睡的世界發(fā)起攻擊。
平行世界中,一個(gè)僵尸網(wǎng)絡(luò)正在誕生。
黑客如巫師一般,揮一揮黑袍的衣袖,所有的機(jī)器同時(shí)噴射出巨大的數(shù)據(jù),打向某個(gè)平臺(tái)。瞬間可憐的服務(wù)器就被巨大的流量淹沒(méi)。在我們的世界里,這被稱為 DDoS 攻擊。
然而,巫師手上的“俘虜”——可憐的服務(wù)器,并不是無(wú)腦的僵尸。他們同樣可以用強(qiáng)大的計(jì)算資源,為黑客“挖”比特幣;當(dāng)然,他們也可以列隊(duì)整齊,為某個(gè)服務(wù)刷單。
靠吸血斂財(cái),是黑帽黑客的生活方式。
【僵尸網(wǎng)絡(luò)】
控制,是一切黑客進(jìn)攻的根本方法。
無(wú)論是控制僵尸網(wǎng)絡(luò),還是竊取企業(yè)信息,首要的一步就是入侵企業(yè)的服務(wù)器。而目前,中國(guó)絕大多數(shù)的網(wǎng)站服務(wù)器都在云端。
如果黑客想要入侵的服務(wù)器恰好位于阿里云(其實(shí)這個(gè)幾率相當(dāng)高),那么他首先要面臨的,就是一位安駐云端的門(mén)神——葉敏。
葉敏的官方 Title 是阿里云云盾的安全技術(shù)負(fù)責(zé)人。從2010年加入阿里開(kāi)始,他見(jiàn)證了云計(jì)算從踽踽獨(dú)行到百萬(wàn)雄兵;他同樣見(jiàn)證了云計(jì)算的城池之外,黑客們從散兵游勇到集結(jié)成軍。
“企業(yè)的數(shù)據(jù)和服務(wù)都運(yùn)作在阿里云上, 所以我們有義務(wù)給客戶展示周?chē)诎l(fā)生的事情?!彼f(shuō)。
【葉敏】
葉敏告訴雷鋒網(wǎng),根據(jù)他掌握的資料,就連他自己的某些低強(qiáng)度的(并不是那么重要的)密碼也被泄露在了互聯(lián)網(wǎng)上。黑產(chǎn)用這些數(shù)以億計(jì)的數(shù)據(jù)庫(kù)不斷地“撞庫(kù)”,從而獲得同一個(gè)用戶在不同網(wǎng)站上的信息。
為了保護(hù)阿里云的客戶,一旦遇到客戶被撞庫(kù)的情況,需要對(duì)惡意 IP 做出“處罰決策”。例如,最簡(jiǎn)單的,封禁這個(gè) IP。
粗略地一想,識(shí)別撞庫(kù)很簡(jiǎn)單。那就是某個(gè) IP 高頻率地登陸不同的賬戶。但是我們?cè)谘邪l(fā)監(jiān)測(cè)模型的時(shí)候發(fā)現(xiàn),事情遠(yuǎn)不是這么簡(jiǎn)單。因?yàn)?IP 的類(lèi)型很復(fù)雜。
有一些 IP 是出口 IP,比如一個(gè)學(xué)校所有的學(xué)生都共用一個(gè)IP 出口;
有一些是功能性的 CDN;
另外還有一些高頻嘗試并不是撞庫(kù),而是暴力破解,或者垃圾注冊(cè)。
葉敏說(shuō)。
在這種情況下, 如果簡(jiǎn)簡(jiǎn)單單封禁一個(gè)IP,就不一定是明智的選擇。如果這是一個(gè)學(xué)校 IP,那么整個(gè)學(xué)校都無(wú)法訪問(wèn)這個(gè)業(yè)務(wù);如果這是一個(gè)公司 IP,那么整個(gè)公司都無(wú)法訪問(wèn);如果這是一個(gè)出口 IP,有可能幾萬(wàn)人都被“誤殺”。顯然沒(méi)有一個(gè)網(wǎng)站愿意動(dòng)不動(dòng)就有好幾萬(wàn)人無(wú)妨訪問(wèn)自己的業(yè)務(wù),氣憤地打電話過(guò)來(lái)投訴。
至于葉敏如何解決這個(gè)問(wèn)題,我們后文分解,且看黑客的下一個(gè)武器。
在絕大多數(shù)以賺錢(qián)為目的“信息竊取”攻擊里(當(dāng)然有少量為了政治和商業(yè)目的針對(duì)進(jìn)攻),黑產(chǎn)從業(yè)者往往會(huì)采用工具化的程序,大批量地在網(wǎng)站里植入后門(mén),然后統(tǒng)一加以控制。
Webshell,就是黑客挖進(jìn)網(wǎng)站的地道出口中, 做常見(jiàn)的一種。
看過(guò)地道戰(zhàn)的童鞋們還記得,日本兵即使絞盡腦汁,也經(jīng)常猜不到地道的出口到底在什么奇葩的位置。在網(wǎng)絡(luò)攻防中,情況也有類(lèi)似之處。因?yàn)?Webshell 的位置和形態(tài)千奇百怪。在一般人看來(lái),一個(gè)文件究竟是后門(mén)還是正常的程序,就像夜讀的才郎看到窗口的姑娘,分不清究竟是美女還是畫(huà)皮。而且,通過(guò)一個(gè) webshell,如何追溯到黑客的行蹤,也是一個(gè)高難度的問(wèn)題。
不過(guò),這難不倒像葉敏一樣的福爾摩斯?!皩?duì)于一個(gè)有經(jīng)驗(yàn)的安全人員來(lái)說(shuō),查看一下網(wǎng)站日志的基本情況,就差不多可以知道黑客進(jìn)攻到哪一步,是否已經(jīng)得手。”他說(shuō)。
難倒葉敏的是,全中國(guó)有30%的商業(yè)網(wǎng)站坐落在阿里云上。而葉敏的團(tuán)隊(duì)只有8個(gè)人。
如果你只服務(wù)一個(gè)客戶,那么只要兩三個(gè)技術(shù)人員,就可以用手工排查的方法全部搞定,當(dāng)這個(gè)數(shù)量乘以萬(wàn),乘以十萬(wàn),就出現(xiàn)了完全不一樣的情況。你需要一個(gè)全自動(dòng)的機(jī)器。
他說(shuō)。
“對(duì)于人來(lái)說(shuō),很多技巧已經(jīng)爛熟于心。比如開(kāi)車(chē),我甚至可以邊聊天邊開(kāi)車(chē)。但是你讓程序去開(kāi)車(chē),難度就不是一個(gè)級(jí)別了。
同樣,對(duì)安全人員來(lái)說(shuō)并不難的進(jìn)攻檢測(cè),如果想讓機(jī)器學(xué)會(huì),就要付出很多努力。”
正如上文所說(shuō),面對(duì)如此大量的工作,葉敏別無(wú)選擇,只能拼盡團(tuán)隊(duì)的智商制造一個(gè)“機(jī)械戰(zhàn)警”。制造這個(gè)機(jī)械戰(zhàn)警的究極奧義在于:把人的經(jīng)驗(yàn)傳授給機(jī)器。
這個(gè)福爾摩斯名叫云盾。
為了改進(jìn)云盾檢測(cè)入侵的效果,葉敏仔細(xì)研究了黑客進(jìn)攻的每一個(gè)招式。
有一些入侵方式,并不是自動(dòng)化程序可以防御的。比如弱口令,黑客一旦掌握了網(wǎng)絡(luò)口令,我們是沒(méi)有辦法阻止一個(gè)使用正確密碼登陸的。另外,有一些漏洞在沒(méi)有登錄權(quán)限的情況下,是無(wú)法被自動(dòng)化工具檢查到的。
葉敏和團(tuán)隊(duì)總結(jié)了一百多種黑客入侵的奇葩方式,然后把這些方式的對(duì)抗方法做成自動(dòng)化的規(guī)則輸入到阿里云盾中。
當(dāng)然,福爾摩斯不僅是能夠發(fā)現(xiàn)案件,最大的功力在于:可以抓到兇手。
我們的工作是訓(xùn)練機(jī)器可以讀取日志文件。針對(duì)一個(gè) Webshell,根據(jù)日志的時(shí)間,查看 Webshell 產(chǎn)生前一秒,是否有某一個(gè) Java 漏洞被利用,而這個(gè)漏洞被利用的同時(shí),網(wǎng)絡(luò)上產(chǎn)生了什么流量,這個(gè)流量是哪里發(fā)出來(lái)的。
這,就是葉敏訓(xùn)練“機(jī)器戰(zhàn)警”的方法。
機(jī)器福爾摩斯,從某種程度上說(shuō)是一個(gè)失敗。因?yàn)楦柲λ拱l(fā)現(xiàn)問(wèn)題的時(shí)候,往往黑客已經(jīng)成功植入后門(mén)。在一切都沒(méi)發(fā)生之前,你需要一個(gè)“機(jī)器衛(wèi)隊(duì)”。
一個(gè)正常訪問(wèn)者和惡意訪問(wèn)者的動(dòng)作和頻率都是不一樣的,這就讓自動(dòng)化判斷成為了可能。
當(dāng)然,世界上已經(jīng)存在眾多自動(dòng)化的網(wǎng)絡(luò)防火墻。不過(guò)葉敏想要用更加智能的方法改進(jìn)防火墻。
以往的防火墻往往使用規(guī)則識(shí)別,我希望研發(fā)一個(gè)純數(shù)學(xué)模型來(lái)識(shí)別web攻擊。例如一段URL,有經(jīng)驗(yàn)的安全員看到這些數(shù)字和字母就基本能夠判斷它的危險(xiǎn)性。所以我希望機(jī)器也能做到。
我們把這些數(shù)字和字母的參數(shù)樣本交給機(jī)器,讓它自己去學(xué)習(xí),這樣它就可以學(xué)習(xí)出一個(gè)模型,用來(lái)識(shí)別攻擊。
目前在阿里云上,基于規(guī)則的防火墻和基于數(shù)據(jù)的防火墻在同時(shí)運(yùn)行,兩個(gè)系統(tǒng)存在一些差異,互相可以檢查出對(duì)方的誤報(bào)和漏報(bào)。
改進(jìn)這套系統(tǒng),也是葉敏近期的重要工作之一。
現(xiàn)在,需要回答一個(gè)懸而未決的問(wèn)題。那就是如何用自動(dòng)化程序判斷一個(gè) IP 究竟是不是“撞庫(kù) IP”呢?
葉敏告訴雷鋒網(wǎng),他和團(tuán)隊(duì)設(shè)計(jì)了一套系統(tǒng)。讓所有的流量經(jīng)過(guò)一個(gè)分析系統(tǒng),把其中所有的登陸請(qǐng)求抽取出來(lái),放到數(shù)學(xué)模型里計(jì)算。這個(gè)數(shù)學(xué)模型里,有諸多篩選條件:
登錄頻率的分布;
用戶名、密碼的特征;
IP的信譽(yù)度。
這些條件,恰恰可以篩選出一個(gè) IP 究竟是出口IP、CDN IP還是個(gè)人 IP。這就為阻斷撞庫(kù)行為提供了非常精準(zhǔn)的情報(bào)。
當(dāng)然,尊崇技術(shù)的葉敏同樣承認(rèn),機(jī)器判斷會(huì)存在誤判的可能。不過(guò)他表示,這個(gè)系統(tǒng)的準(zhǔn)確率應(yīng)該是非常高的。
我們用來(lái)判斷準(zhǔn)確率的一個(gè)重要指標(biāo)就是用戶的投訴率,雖然在系統(tǒng)開(kāi)始運(yùn)行的時(shí)候,會(huì)有用戶投訴被“誤殺”。不過(guò)最近幾個(gè)月我們都沒(méi)有接到誤殺的投訴了。
在偌大的云版圖上,黑客武器和葉敏研發(fā)的“機(jī)器戰(zhàn)警”上演著曠日持久的戰(zhàn)爭(zhēng)。
等等,好像還有一件事沒(méi)有解決。你還記得文章開(kāi)頭的那些僵尸網(wǎng)絡(luò)和它們背后的巫師嗎?即使把黑客控制的服務(wù)器全部“解救”,仍然難以阻止黑客本人法外逍遙。
你別忘了,全網(wǎng)30%的網(wǎng)站都在阿里云上。
葉敏不無(wú)驕傲。這個(gè)數(shù)據(jù)是阿里云的必殺王牌。
由于使用阿里云服務(wù)的企業(yè)眾多,所以這些被黑客控制的“肉雞”很大概率也處在阿里云上。通過(guò)分析肉雞的流量和行為,加上我們的秘密技術(shù),就可以感知到控制方的來(lái)源。
葉敏告訴雷鋒網(wǎng),對(duì)于200G流量以上的 DDoS 攻擊,已經(jīng)有90%可以定位到控制端。這些都是通過(guò)自動(dòng)化的工具完成的。“去年我們總共溯源了30起 DDoS 攻擊,其中80%-90%都找到了背后具體的人?!?/p>
神秘巫師的面紗被無(wú)情地撕下,這是一場(chǎng)技術(shù)的勝利。
實(shí)際上,這是一個(gè)典型的大數(shù)據(jù)應(yīng)用場(chǎng)景。每天有無(wú)數(shù)黑客攻防戰(zhàn)爭(zhēng)發(fā)生在阿里云的地盤(pán)上,這些數(shù)據(jù)可以被匯總,成為一個(gè) IP 信譽(yù)庫(kù)。在大數(shù)據(jù)庫(kù)中,每一個(gè) IP 都會(huì)有相應(yīng)的黑白標(biāo)簽。
在這個(gè)“機(jī)械戰(zhàn)警”心里,來(lái)人究竟是人是鬼是妖是魔,也許早就有了定論。
以上這些,都是葉敏和團(tuán)隊(duì)在進(jìn)行的前沿研究,這些技術(shù)正在試錯(cuò)和完善中。
葉敏為雷鋒網(wǎng)描繪了一幅場(chǎng)景:
當(dāng)一個(gè)訪問(wèn)者出現(xiàn),我們能立刻拿出一個(gè)IP畫(huà)像,包含了他的所有屬性,他歷史上有沒(méi)有過(guò)惡意行為,他的慣用攻擊手法是什么。通過(guò)分析他的訪問(wèn)行為,再結(jié)合當(dāng)前業(yè)務(wù),我們能判斷出攻擊者的意圖,他是想拉數(shù)據(jù)還是想控制服務(wù)器。并且及時(shí)阻止這種情況發(fā)生。
不需要太久的時(shí)間,我們就能實(shí)現(xiàn),他說(shuō)。為了網(wǎng)絡(luò)世界的陽(yáng)光普照,像葉敏一樣的安全大牛任重而道遠(yuǎn)。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。