11月14-15日,2017全球家庭互聯(lián)網(wǎng)大會(huì)(GFIC)在上海舉行,會(huì)議吸引了500+企業(yè)、3000+專業(yè)聽(tīng)眾參與。在15日的GFIC亞太CDN年會(huì)上,網(wǎng)易云信息安全部技術(shù)總監(jiān)沈明星先生發(fā)表了題為《網(wǎng)易云易盾 DDoS 防護(hù)實(shí)踐》的演講,現(xiàn)場(chǎng)對(duì)網(wǎng)易云抗擊DDoS方面的一些演進(jìn)技術(shù)進(jìn)行了分享。
圖為:網(wǎng)易云信息安全部技術(shù)總監(jiān)沈明星
面向互聯(lián)網(wǎng)/互聯(lián)網(wǎng)+的場(chǎng)景化云服務(wù)平臺(tái)
沈明星表示,從傳統(tǒng)IDC架構(gòu)像互聯(lián)網(wǎng)的云架構(gòu)嚴(yán)謹(jǐn)?shù)钠放?,網(wǎng)易云提供基礎(chǔ)的laaS云計(jì)算基礎(chǔ)設(shè)施的架構(gòu),還有云安全。網(wǎng)易的業(yè)務(wù)非常廣,網(wǎng)易的游戲排名第二,在國(guó)內(nèi)僅次于騰訊,包括郵箱,云音樂(lè),考拉海購(gòu),這些在電商,泛娛樂(lè)這些網(wǎng)易也在布局。這些業(yè)務(wù)都承載在網(wǎng)易自己云上面,網(wǎng)易會(huì)逐步把自己云上面的積累開(kāi)放出來(lái)。在云安全這塊,隨著云的開(kāi)放把內(nèi)部安全的能力往外開(kāi)放,也包括了DDoS,像內(nèi)容安全一些文本圖片,像音頻視頻的一些內(nèi)容的審查和過(guò)濾,還有像移動(dòng)端的APP加固,這一系列的能力。
DDoS在整個(gè)行業(yè)越來(lái)越多,去年發(fā)生過(guò)一次很大的美國(guó)的域名被攻擊事件,導(dǎo)致整個(gè)美國(guó)大半個(gè)互聯(lián)網(wǎng)全部淪陷掉。從網(wǎng)易云的實(shí)踐來(lái)看,以下可能是被攻擊的重點(diǎn)。首先是政府,攻擊政府可能出于背后的政治目的,比如說(shuō)國(guó)家重大事件的時(shí)間節(jié)點(diǎn),也可能會(huì)攻擊政府的站點(diǎn)。其次是金融,比如說(shuō)互聯(lián)網(wǎng)金融以及很火的現(xiàn)金貸的業(yè)務(wù)。第三則是游戲,游戲是傳統(tǒng)的被攻擊對(duì)象,尤其是在游戲剛剛上線時(shí),非常容易被攻擊。最后一塊是電商,有的攻擊是針對(duì)電商平臺(tái),現(xiàn)在在電商平臺(tái)上入駐的商家之間導(dǎo)致的DDoS攻擊,后果就是輕則被攻擊的對(duì)象直接失去服務(wù)能力,業(yè)務(wù)中斷,更嚴(yán)重的會(huì)導(dǎo)致整個(gè)IDC不可用,堵住整個(gè)IDC的帶寬,在這方面,網(wǎng)易也有躺槍的經(jīng)歷。
四大步驟強(qiáng)化DDoS防護(hù)
沈明星接下來(lái)介紹了網(wǎng)易云如何做DDoS防護(hù)。他表示,首先第一步網(wǎng)易云會(huì)對(duì)自己的服務(wù)器做一些加工,對(duì)一些TCP協(xié)議層的參數(shù)做調(diào)優(yōu),增強(qiáng)單臺(tái)服務(wù)器的能力。一般網(wǎng)易云業(yè)務(wù)需要監(jiān)控資源的使用率,當(dāng)資源達(dá)到一定容量的時(shí)候要有擴(kuò)容的準(zhǔn)備,如果在資源本身達(dá)到70%,80%時(shí)還不擴(kuò)容,一但有攻擊,任何清洗和防控不能保證百分之百的擋掉。
除了自身服務(wù)器的加固之外,第二個(gè)階段是接入運(yùn)營(yíng)商側(cè)的設(shè)備,即采購(gòu)上游的清洗能力,并向下游的服務(wù)商提供這個(gè)能力。由于這個(gè)設(shè)備是廠商的,跟下游聯(lián)動(dòng)會(huì)比較麻煩,網(wǎng)易云下游攻擊會(huì)通過(guò)應(yīng)急相應(yīng)的流程,通知運(yùn)營(yíng)商來(lái)做封堵,開(kāi)放性API也存在一定問(wèn)題,流程會(huì)比較長(zhǎng),這樣會(huì)導(dǎo)致業(yè)務(wù)受到影響。第二個(gè)就是網(wǎng)易云的檢測(cè)往往是在下游的,一旦上游運(yùn)營(yíng)商做的話,其實(shí)我們會(huì)發(fā)現(xiàn),就是說(shuō)我不知道攻擊什么時(shí)候停止了,只有當(dāng)供應(yīng)商說(shuō)停止了之后,才能放出來(lái)。第三個(gè)是采購(gòu)供應(yīng)商的設(shè)備,現(xiàn)在對(duì)于三層四層網(wǎng)絡(luò)層攻擊的效果還是可以,還是不錯(cuò)的,對(duì)于一些七層CC層的攻擊,如果這個(gè)效果用下來(lái)不是特別理想,也會(huì)導(dǎo)致下一步的計(jì)劃。
第三是網(wǎng)易自研的 NDS 抗D架構(gòu)。首先,在入口對(duì)所有流量分光器,進(jìn)行流量的分光拷貝,然后分到Detecter設(shè)備,做全流量包分析。從一些簡(jiǎn)單的協(xié)議,斷口,業(yè)務(wù),IP,這些最簡(jiǎn)單的去統(tǒng)計(jì),其實(shí)Detecter,還有離線的去運(yùn)用分析。一旦發(fā)現(xiàn)DDoS攻擊,會(huì)通知Manager模塊,通過(guò)下發(fā)到NDS,把攻擊的流量牽引到NDS上,然后再回收到服務(wù)器。這是在網(wǎng)易云機(jī)房?jī)?nèi)部署的一套防護(hù)集群跟方案,然而它也有一個(gè)缺陷,因?yàn)樗械牧髁慷际窃诒镜貦C(jī)房進(jìn)行清洗,首先它的使用方前提就是必須把業(yè)務(wù)托管到網(wǎng)易云的機(jī)房里面,這是一個(gè)限制。其次是整個(gè)網(wǎng)易云業(yè)務(wù)再怎么清洗,帶寬還是有問(wèn)題的,如果帶寬堵塞,再怎么清洗都沒(méi)有用處。
第四步是建立一個(gè)高防中心,高防中心跟網(wǎng)易云獨(dú)立,是第三方超大出口的機(jī)房,里面放了網(wǎng)易NDS設(shè)備,主要針對(duì)三層和四層流量進(jìn)行清洗。在它后面又加了一個(gè)較大的Nginx,主要做NDS的卸載,防止七層的攻擊,把很多的邏輯卸載的Nginx這一層,通過(guò)把所有的流量從第三方機(jī)房繞一下,來(lái)保護(hù)后端的IDC機(jī)房。不管用戶在哪里部屬,通過(guò)網(wǎng)易高防做一個(gè)轉(zhuǎn)發(fā),所有的流量在互聯(lián)網(wǎng)上都可以通,進(jìn)而取消限制。這樣可以保護(hù)網(wǎng)易自己IDC機(jī)房的出口,而不會(huì)在單個(gè)機(jī)房被打的時(shí)候,導(dǎo)致出口堵死,如果IDC出口比較小,只有40,80的話,很容易由于單個(gè)用戶被打?qū)е抡麄€(gè)機(jī)房不可用,因此在某些情況下,一定要把某些拉到黑洞里面,才能保證可用性。
在設(shè)計(jì)NDS的一些可用性時(shí),沈明星表示:“我們是基于一些架構(gòu)而不是專用的芯片,我們現(xiàn)在小包是一千萬(wàn),大概有1000萬(wàn)+PPS,流量40G可以跑滿。我們帶寬擴(kuò)的時(shí)候,直接仍到帶寬上直接可以用,支持水平擴(kuò)展。然后支持自定義規(guī)則,我們基于基層的CC攻擊,傳統(tǒng)的設(shè)備廠商這塊上面效果沒(méi)有我們自己研發(fā)好的相比較一個(gè)點(diǎn),CC攻擊后面講到會(huì)基于一些信息庫(kù),我針對(duì)整個(gè)大數(shù)據(jù)后排的數(shù)據(jù),網(wǎng)易其實(shí)有一系列安全的產(chǎn)品,在安全產(chǎn)品接入的用戶中間會(huì)去收集和激烈這些信譽(yù)庫(kù),這塊對(duì)于我們防止CC攻擊,掌握一些主端的機(jī)器非常有好處。我們加了一條自定義規(guī)則,我們現(xiàn)在還在手機(jī)一些常見(jiàn)CC攻擊的一些特征,把它加到特征庫(kù)里面去,這種方式我們發(fā)現(xiàn)類似于是一個(gè)黑名單,這種方式維護(hù)起來(lái)比較麻煩,好處就是做一些應(yīng)急響應(yīng)的時(shí)候特別有用,如果有的時(shí)候特別怪,就加一個(gè)黑名單一個(gè)規(guī)則,立竿見(jiàn)影。
四大特色功能 多層次立體防護(hù)
整個(gè)NDS大概立體的層次主要分為以下幾個(gè)方面,首先是靜態(tài)動(dòng)態(tài)的過(guò)濾,有黑白名單,還有ACL過(guò)濾,還有TCP狀態(tài)機(jī)驗(yàn)證,還有畸形包的過(guò)濾。其次是客戶端真實(shí)性檢測(cè),像傳統(tǒng)像以前的小包往往會(huì)用一些假的IP,用SYNCookie的驗(yàn)證可以防止大量資源消耗掉,像RESET驗(yàn)證,TCP反彈驗(yàn)證和TTL驗(yàn)證等等。還有就是很重要的特征識(shí)別,可以通過(guò)特征在任何層次上編寫一個(gè)插件,網(wǎng)易有總結(jié)出來(lái)的插件庫(kù)、應(yīng)用層包括傳統(tǒng)的IS的反射,這個(gè)平時(shí)不太敢開(kāi)這個(gè)開(kāi)關(guān),因?yàn)楝F(xiàn)在這塊東西傳統(tǒng)就是對(duì)于IS其實(shí)是非常好的,但是越來(lái)越多的應(yīng)用就是搞的APP端,現(xiàn)在都是移動(dòng)端的天下了,對(duì)于JS的話誤殺會(huì)比較多。HTTP指紋證件都有一定的順序特征,這個(gè)做這個(gè)驗(yàn)證。信譽(yù)庫(kù)驗(yàn)證比較基于IP,如果這些前面這些措施,過(guò)濾發(fā)現(xiàn)80%,剩下20%還是會(huì)過(guò)來(lái),網(wǎng)易會(huì)采取一些限速的手段。
同時(shí),沈明星還對(duì)特色功能做了簡(jiǎn)單介紹,首先是基于Intel DPDK平臺(tái)和hyperscan匹配技術(shù)的高性能平臺(tái)和傳統(tǒng)政策表達(dá)式的匹配,有時(shí)候會(huì)匹配包的某一段特征的時(shí),比傳統(tǒng)的提升50%左右。
其次是IP 信譽(yù)機(jī)制
。首先網(wǎng)易有自己的安全團(tuán)隊(duì),也在收集網(wǎng)絡(luò)上的一些僵尸網(wǎng)絡(luò),主要是僵尸網(wǎng)絡(luò)和IP地址。網(wǎng)易會(huì)根據(jù)活躍時(shí)間和同步計(jì)算,來(lái)實(shí)時(shí)更新產(chǎn)品IP庫(kù),在網(wǎng)易集團(tuán)內(nèi)部會(huì)共享IP的信譽(yù)庫(kù)。
另外還有易盾的反垃圾業(yè)務(wù),像一些圖片文本、色情類,涉黃涉政類和廣告類,很多這種人用的IP都是一些代理或者受控的一些主機(jī),這個(gè)IP一旦共享之后只要把這部分IP攔掉就會(huì)有非常效果,同時(shí)郵件的反垃圾系統(tǒng)也會(huì)共享這些數(shù)據(jù),包括驗(yàn)證碼和反作弊系統(tǒng),其中反作弊系統(tǒng)更多是針對(duì)一些活動(dòng),比如在注冊(cè)時(shí)防止批量的垃圾注冊(cè),登陸時(shí)防止撞庫(kù)等一些行為。還有防止一些搶包,秒殺等行為,都需要一些大量的真實(shí)IP來(lái)做輔助。“網(wǎng)易現(xiàn)在還是掌握這些數(shù)據(jù)就那么多,當(dāng)然也在不斷的發(fā)展,我們有這個(gè)過(guò)程不斷重復(fù)激烈,用到我們這個(gè)里面來(lái),我們發(fā)現(xiàn)把這個(gè)策略用到7層的CC攻擊,就是傳統(tǒng)的設(shè)備廠商在這塊沒(méi)有我們做得好,就是這個(gè)原因,可以結(jié)合很多業(yè)務(wù)的數(shù)據(jù)做這個(gè)事情。”
在現(xiàn)場(chǎng),沈明星還舉例介紹了網(wǎng)易云易盾防護(hù)實(shí)踐的成功案例。他表示:“現(xiàn)在網(wǎng)易云上也有不少的用戶,而且攻擊的人大部分很守時(shí)。網(wǎng)易云平臺(tái)提供的5G的免費(fèi)的DDoS清洗能力,第一波抗住了,兩個(gè)小時(shí)就開(kāi)始CC攻擊的,CC攻擊比較大,QPS達(dá)到了一千一打整個(gè)服務(wù)就直接爆掉了,沒(méi)有反抗能力。前面說(shuō)有好幾層,有高防的技術(shù)中心,還有一個(gè)SYNcookie,這個(gè)也是協(xié)議的一個(gè)部分,我塞了一定的ceekie值,看一下對(duì)方是不是執(zhí)行的,是不是把這個(gè)帶過(guò)來(lái)的,如果帶過(guò)來(lái)我認(rèn)為它是一個(gè)正常人,如果不正常就不會(huì)帶這個(gè),來(lái)判別是不是正常的訪問(wèn),這波還是幫他抗住了,接下來(lái)就是到網(wǎng)上發(fā)現(xiàn)單純的CC攻擊不行,開(kāi)始混合攻擊了當(dāng)然流量非常大了,我們一開(kāi)始有100多G,后面還在逐步的上升,這個(gè)還是前面一層我看到了,有這個(gè)NDP包,只要你帶寬大這個(gè)防護(hù)起來(lái)非常簡(jiǎn)單,但前提是你前段的設(shè)備帶寬足夠大。”
在演講最后,沈明星先生對(duì)網(wǎng)易易盾防護(hù)進(jìn)行了的展望,首先是對(duì)用戶流量智能的學(xué)習(xí),雖然網(wǎng)易自己內(nèi)部的業(yè)務(wù)已經(jīng)運(yùn)用比較成熟,但是對(duì)基于外部模型的分析,由于業(yè)務(wù)不穩(wěn)定、存活時(shí)間短、業(yè)務(wù)繁雜等原因,網(wǎng)易將在以后投入較大經(jīng)歷去做。
另外是深層次的DDoS檢測(cè),現(xiàn)在大流量較明顯的攻擊檢測(cè)比較簡(jiǎn)單,但是也有很多慢速攻擊,小流量的攻擊,即使放在大流量里帶來(lái)的變化也不是很明顯,卻足以把后端的業(yè)務(wù)打癱,因此這種怎么發(fā)現(xiàn)和檢測(cè),也是一個(gè)問(wèn)題。
第三,基于多維度信譽(yù)庫(kù)(IP,設(shè)備,指紋)的清洗策略。基于網(wǎng)易大數(shù)據(jù),建立針對(duì)用戶IP、用戶設(shè)備、用戶指紋等多維度的信譽(yù)庫(kù),在DDoS防護(hù)時(shí)根據(jù)信譽(yù)進(jìn)行區(qū)分
。
第四,提供客戶端SDK,增加人機(jī)識(shí)別功能。提供Win,IOS,Android端SDK,采集用戶鼠標(biāo)鍵盤等操作軌跡,真假人機(jī)識(shí)別的對(duì)抗,未來(lái),網(wǎng)易也將提供這樣的SDK,第一個(gè)是收集指紋和設(shè)備的信息,第二個(gè)可以采集一些手勢(shì)鼠標(biāo)這些點(diǎn)擊的動(dòng)作來(lái)做一個(gè)人機(jī)識(shí)別,現(xiàn)在抗擊這個(gè)場(chǎng)景下是不是特別的適用也要特別的考慮,這個(gè)比較慢,完全只能做一些事后的分析,可能還是需要一定的延時(shí)差,需要做一些事后的補(bǔ)充分析。