本文整理自2020北京網(wǎng)絡(luò)安全大會(BCS)企業(yè)安全運營實踐論壇上京東耿志峰的發(fā)言。
耿志峰,京東安全首席架構(gòu)師,負(fù)責(zé)京東產(chǎn)品與基礎(chǔ)設(shè)施安全、數(shù)據(jù)安全和藍軍建設(shè)等工作,具有多年大數(shù)據(jù)安全、威脅情報、黑產(chǎn)對抗等經(jīng)驗,是大數(shù)據(jù)安全、企業(yè)安全架構(gòu)設(shè)計和攻防對抗等領(lǐng)域?qū)<摇?/p>
我是京東安全的首席架構(gòu)師耿志峰,很高興參加企業(yè)安全運營實踐論壇。我報告的題目是《以攻為守,黑產(chǎn)攻防的反制之道》,感謝論壇和君哥的邀請。
京東每天都在抵御各種各樣的網(wǎng)絡(luò)攻擊。以前黑產(chǎn)來攻擊京東的時候,京東是主動地感知黑產(chǎn)的攻擊,然后發(fā)現(xiàn)黑產(chǎn)的攻擊點,對攻擊點進行重點防護,除此之外,我們也會通過提前預(yù)演攻擊進行防護。
后來我們發(fā)現(xiàn),只有防護是不夠的,我們應(yīng)該主動去發(fā)現(xiàn)弱點,比如我們的產(chǎn)品有哪些漏洞,基礎(chǔ)設(shè)施開放了哪些不應(yīng)開放的端口。
再后來,我們認(rèn)為,弱點是發(fā)現(xiàn)不完的,因為業(yè)務(wù)會越做越大,弱點也會隨著業(yè)務(wù)的膨脹而膨脹。當(dāng)然,企業(yè)可以用自動化的方法來控制弱點的發(fā)生概率,但是我們更應(yīng)該正視弱點——弱點是不可能被完全消滅的。所以我們開始思考,如何才能站在黑產(chǎn)的角度,對黑產(chǎn)進行對抗和反制。
作為一家電商公司,京東每天都在遭受各種各樣的攻擊,比如薅羊毛、盜取數(shù)據(jù)、控制服務(wù)器等,甚至還有從名譽上對京東進行攻擊的。我們就從一個真實的案例說起——
前段時間,我們發(fā)現(xiàn)暗網(wǎng)上有人出售機器注冊的賬號(以下簡稱“機注賬號”),里面有很多京東的賬號。發(fā)現(xiàn)這個情況以后,我們首先去獲取了一批機注賬號,在系統(tǒng)里對它們進行了標(biāo)記,然后觀察這些賬號的行為。我們發(fā)現(xiàn),這些賬號不僅活躍于暗網(wǎng)的賬號交易市場,它們的利用也非?;钴S。通過標(biāo)記,我們發(fā)現(xiàn)了黑產(chǎn)的主要攻擊點,并進行了修復(fù)。除了標(biāo)記之外,從這些數(shù)據(jù)本身也可以看出他們的主要攻擊點,因為通過這些數(shù)據(jù)的行為,我們能夠進行聚類,從而發(fā)現(xiàn)他們的主要目標(biāo)進行修復(fù)。
通常來說,到這里攻防已經(jīng)基本結(jié)束了,但還有其他問題——
機注賬號從哪里來的?
為什么這些賬號能夠機注?
為什么黑產(chǎn)拿到這些賬號之后可以實施后續(xù)的攻擊?
除了企業(yè)資產(chǎn)有弱點之外,更深層次的原因是什么?
首先看第1個問題,機注賬號是怎么來的。我們對這些攻擊進行了溯源,發(fā)現(xiàn)這些賬號都來源于一個打碼平臺。這些打碼平臺會提供一個正常的賬號注冊成功所必需的一切條件,比如驗證碼等等。我們在拿到這個打碼平臺的一些工作原理之后,發(fā)現(xiàn)在注冊環(huán)節(jié)其實是可以對它進行一定防御的,這樣就從某種程度上減少了賬號本身的生產(chǎn)量。
除此之外,黑產(chǎn)在攻擊企業(yè)資產(chǎn)弱點的時候,為什么能夠準(zhǔn)確地發(fā)現(xiàn),并且大批量的應(yīng)用?首先,我們會想到黑產(chǎn)有自動化的工具,因此,我們要去查找這些弱點和工具,找到以后對它的利用方式進行研判,然后把這些弱點給修復(fù)掉。但是更深層的是,為什么他們能夠發(fā)現(xiàn)這些弱點?京東每天也在進行大量的或人工、或自動的檢測,為什么沒有發(fā)現(xiàn)?說到這里,我們在下一個話題會繼續(xù)豐富這段內(nèi)容。
到目前為止,我們已經(jīng)對黑產(chǎn)有了基本的掌握——有人在生產(chǎn)物料,也就是機注賬號,有人在發(fā)掘公司資產(chǎn)的弱點,有人在制作利用賬號對弱點進行攻擊的工具,這樣才能使整個鏈條高效運轉(zhuǎn)。然而,現(xiàn)在探查到的是否就是黑產(chǎn)攻擊的全貌?不一定。所以在發(fā)現(xiàn)的這些弱點的基礎(chǔ)上,我們做了一些陷阱,通過這些陷阱,果然捕獲到了更多的攻擊行為。隨后,我們對通過陷阱拿到的所有數(shù)據(jù)進行了分析,得到了更多的攻擊信息,挖掘到了更多攻擊路徑,找到了更多弱點,掌握了更多黑產(chǎn)動態(tài),這是一個比較典型的案例。
上圖就是黑產(chǎn)攻擊的流量曲線圖。在對整個黑產(chǎn)攻擊進行監(jiān)控的過程中,隨著監(jiān)控的范圍、方法和手段越來越豐富,我們逐漸探查到越來越多的黑產(chǎn)攻擊,然后把探查到的黑產(chǎn)攻擊放在這張圖上。
這張圖最明顯的特點就是有波谷和波峰,對比時間,每一個峰谷恰好對應(yīng)著一次漏洞的爆發(fā)或者公司一項重大事件的發(fā)生,以圖中的三個爆發(fā)點為例:
第1個點是京東安全的藍軍挖掘到一個Apache,頂級項目大數(shù)據(jù)分析平臺clean的一個0day漏洞,我們第一時間把這個漏洞貢獻給了Apache基金會,官方也進行了公布,并且在隨后不久進行了修復(fù)。但就在這公布的一小段時間里,馬上迎來了一波攻擊,所以一定是有人在盯著這些被大規(guī)模應(yīng)用的中間件的漏洞。
第2個點,也是一個比較典型的案例,就是業(yè)內(nèi)所熟知的Fastjson漏洞的一次爆發(fā),恰巧在京東618之前,所以也給我們造成了很多困擾。從圖中可以看到,因為在這個過程中我們投入大量精力進行修復(fù),所以它呈一個交替上升下降的過程,即這是一個跟黑產(chǎn)對抗的過程。
第3個點,是京東每年一度的618大促活動,這次活動的前期,黑產(chǎn)攻擊幾乎是一字型上升的態(tài)勢,黑產(chǎn)的攻擊流量大幅增加。所以從這張圖我們能夠看出,所謂的黑產(chǎn)攻擊,跟事件的爆發(fā)、原料的突發(fā)息息相關(guān)。
通過過去一段時間的運營,我們基本上掌握了黑產(chǎn)的兩個基本特點,這里我畫了一個簡圖——
首先黑產(chǎn)具有目的性,一方面是他們有直接利益驅(qū)動,另一方面是間接獲利,包括竊取數(shù)據(jù),獲取服務(wù)器的控制權(quán),獲取計算資源等等,比如在計算資源里面放置挖礦等木馬,還有一種情況是有一些商業(yè)上的競爭關(guān)系,希望阻斷被攻擊企業(yè)的業(yè)務(wù)連續(xù)性。
對于這些目的,通常都有不同的金主,也就是所謂的需求方來發(fā)布需求。發(fā)布需求的方式多種多樣,有QQ群、線下等。一旦攻擊者拿到了這個需求之后,就會開始實施攻擊。
但通常來說攻擊者不會從0開始,不會重新拉漏洞,收集信息,然后進行攻擊,攻擊者往往會到大的交易平臺上再去拆解,尋找他希望獲取的物料。
在大的交易平臺上會有人提供企業(yè)的漏洞、工具等物料,然后攻擊者就可以利用這些物料組合起來,去實現(xiàn)金主的需求。
這個交易平臺其實是一個虛擬的概念,有可能是暗網(wǎng),有可能是各種各樣的溝通群。我們對這個工具平臺上的需求進行了三種分類:
第1類是公司資產(chǎn)的弱點。有大量的黑帽會對公司資產(chǎn)的弱點進行挖掘,比如破解協(xié)議、發(fā)現(xiàn)漏洞、邏輯繞過、魚叉攻擊等等。這些黑帽會把他發(fā)現(xiàn)的弱點發(fā)布到市場上,以滿足攻擊者的需求。
第2類是工具。通常情況下,工具都是自動化批量攻擊,而非手工一次一次進行攻擊。所以工具制作者的主要目標(biāo)是要把一些已知的漏洞信息進行組合,打磨成一個工具,例如前面提到的案例,把機注賬號輸入,把弱點變成自動化的、可以利用的一個小工具,然后把它們結(jié)合在一起,制造出一個黑軟,最后在工具市場上發(fā)布和銷售。
第3個是物料。物料制作者的手中有大量的賬號、肉雞和流量。流量可以實施DDoS攻擊,賬號可以實現(xiàn)薅羊毛等攻擊,肉雞則可以通過植入木馬,進行挖礦、控制或者越權(quán)等操作。
有了這幾個角色的密切配合,在攻擊者的協(xié)同下,一次企業(yè)所要面臨的攻擊就完整地呈現(xiàn)給了攻擊者,最后實現(xiàn)金主的需求。
前面是我們對黑產(chǎn)的一設(shè)想,以及對他們進行的聚類分析,這些黑產(chǎn)分工明確,有上下業(yè)務(wù),有鏈條式的協(xié)作關(guān)系,結(jié)合我們平時所掌握的攻擊手段,我們分別對黑產(chǎn)所用到的主要手段進行了反制研究——
第一類,物料和信息類的反制方法,即如何對提供賬號、肉雞和流量的黑產(chǎn)進行反制。
首先,需要探查到這件事情正在發(fā)生,但最大的問題是,我們無法掌握全部信息,甚至掌握的信息已經(jīng)后置,在這里有一個反制竅門,就是滲透投放。我們偽造一批賬號、肉雞投到市場上去,來引出更多的線索,比如我們發(fā)現(xiàn)買家是誰,這個買家是不是還買了其他的賬號和肉雞,從而擴充我們的整個信息源,提高我們的感知能力。
第二類就是對工具類攻擊的反制,首先我們會對這些工具進行收集,在這個基礎(chǔ)上對工具進行逆向研究,看工具本身是如何實施這項工程的,并且,從工具本身我們也能挖掘到大量的數(shù)據(jù),最后,工具還可以再投放,再引出更多的工具和數(shù)據(jù)。拿到這些工具和數(shù)據(jù)之后,我們對它進行特征分析,辨別它所使用的流量特征,行為特征,以及其他更多特征,然后對這些特征進行建模,通過模型對我們自身的流量再進行分析,就可以引出更多類似的攻擊。
在拿到這些工具和數(shù)據(jù)之后,我們基本上可以掌握一家公司被攻擊的底貌。掌握這個底貌之后,就可以辨別這個團伙的明顯特征,不同團伙的傾向、偏好和擅長點都不相同,我們對這些團伙進行聚類,只要發(fā)現(xiàn)他的一個蛛絲馬跡,就能夠順藤摸瓜。
因此,在這個環(huán)節(jié),我們重要的方法是提取特征,隨后進行延伸,順藤摸瓜找到這個團伙以及他的上下游,并在合規(guī)的前提下對這些團伙和工具進行壓制。
第三類就是前面講到的攻擊的實施,黑產(chǎn)最終要對企業(yè)的資產(chǎn)進行攻擊來實現(xiàn)獲利的目的。這個時候我們會設(shè)置一些密碼,把一些流量放出來去觀察黑產(chǎn)的行為,通過蜜罐的方式把這些攻擊導(dǎo)入陷阱。這些攻擊通常來說是自動化的,感知能力并不強,因此我們可以通過陷阱的方式給他提供假的數(shù)據(jù),以此探查黑產(chǎn)的目的。通過類似蜜罐的收集,我們還可以對攻擊源頭進行定位,比如源頭是一個IT資產(chǎn),然后再對這些資產(chǎn)進行反制,所有的反制措施和黑客的攻擊手段基本都是一一對應(yīng)的。
隨著收集的樣本和反制的案例越來越多,我們也基本明確了黑產(chǎn)反制的主要目標(biāo)——
第一個目標(biāo),是要讓黑產(chǎn)利用的弱點和工具失效;
第二個目標(biāo),是要迷惑黑產(chǎn),誘敵深入;
第三個目標(biāo),是要進行反擊,對黑產(chǎn)的源頭——無論是團伙還是工具進行打擊。
圍繞這些目標(biāo),京東也形成了自身的黑產(chǎn)反制框架——JFC-OPS,分為四大步驟:
第1步:感知。通過監(jiān)控告警數(shù)據(jù),以及暗網(wǎng)流量等,確認(rèn)當(dāng)前是否被攻擊,以及攻擊的種類、方式和攻擊的資產(chǎn)類型。
第2步:引導(dǎo)。我們會對可疑流量以及可能發(fā)生的攻擊點設(shè)置一些陷阱,從而推導(dǎo)出更多的攻擊特征、攻擊流量以及攻擊方法。
第3步:對攻擊進行溯源。到底是誰、用何種方式和資產(chǎn)、對京東的哪些資產(chǎn)進行攻擊,進行全鏈條的分析,最后得到工具的生產(chǎn)者,攻擊的實施者以及他們的一些特征,甚至于位置信息。
第4步:溯源之后的反攻。根據(jù)攻擊源和攻擊方式的不同,采用不同的反制手段,讓攻擊語言本身喪失攻擊能力。
通過整個框架不斷地迭代成熟,從上圖中我們可以看到攻擊流量發(fā)生了轉(zhuǎn)折,但不可忽視的是,安全的本質(zhì)是對抗,在上圖中也深刻地反映了這一點——我們有我們的反制之道,黑產(chǎn)也有黑產(chǎn)的對抗之道。
比如在上圖中,某一周我們通過反制,使攻擊流量迅速下降,但是經(jīng)過2~3周的迭代之后,我們發(fā)現(xiàn)攻擊流量又有了新的方法,我們又進行了反制,攻擊流量繼續(xù)下降,未來會一直延續(xù)這樣的過程,只不過對抗的強度和力度會越來越大。
前面所有的數(shù)據(jù)我都特意做了脫敏,其中的一些數(shù)量級以及特征都進行了虛化,因為話題本身比較敏感,感興趣的朋友,可以加我的微信,我們一起聊一下如何對抗黑產(chǎn)。
我們知道,靠一家公司去對抗整個黑產(chǎn)是不現(xiàn)實的,而且可以看到,黑產(chǎn)分工明確,可能比圖中所呈現(xiàn)的更為細致,最重要的是他們有利益驅(qū)動,不會放棄攻擊。
最后我想講一講在黑產(chǎn)反制的過程中需要注意的問題:
首先,反制過程一定要合規(guī)。如果我們做這件事情沒有合規(guī),那我們跟黑產(chǎn)可能也沒什么區(qū)別。
其次,就是我們會不會又被黑產(chǎn)反制,也就是反反制——前段時間,京東內(nèi)部進行紅藍對抗,就有過一個經(jīng)典的案例:我們的攻擊方對紅軍進行了釣魚攻擊,他把這個過程做的比較容易讓人發(fā)現(xiàn),我們的防守方發(fā)現(xiàn)了以后就進行了反制。但是在反制的過程中,攻擊方設(shè)置了一個攻擊方的陷阱,防守方去反制攻擊方的時候,反倒中了攻擊方的一個圈套,留下了自己的一些關(guān)鍵信息,讓攻擊方拿到了更多的權(quán)限,獲取了更大的勝利。
這也是我們在黑產(chǎn)反制的過程中一定要注意的一點,這個話題業(yè)界討論還不太多,我也不能透露的非常具體,歡迎大家能夠一起跟我線下交流,也希望君哥的論壇能夠再次組織這方面的探討。