在近日舉辦的FreeBuf互聯(lián)網(wǎng)安全創(chuàng)新大會上,金山云安珀實(shí)驗(yàn)室資深研究員馬西興基于豐富的防DDoS攻擊研究經(jīng)驗(yàn),從“如何在僵尸網(wǎng)絡(luò)發(fā)動DDoS攻擊時提前預(yù)警”的角度,對DDoS攻防進(jìn)行了分享。馬西興認(rèn)為:絕大多數(shù)DDoS攻擊都是有跡可循的,通過前期周密的預(yù)警研究,讓攻擊在發(fā)起前即可偵測到,提前做好防范措施,是應(yīng)對DDoS攻擊最有效的手段之一。
金山云安珀實(shí)驗(yàn)室資深研究員馬西興在FIT大會上發(fā)表演講
不戰(zhàn)而屈人之兵,將DDoS攻擊扼殺在萌芽狀態(tài)
當(dāng)前,隨著各行各業(yè)全面互聯(lián)網(wǎng)化,DDoS可攻擊范圍愈發(fā)廣泛,攻擊流量高峰頻現(xiàn),今年上半年發(fā)生的一起Memcached DDoS攻擊,其峰值達(dá)到了1.7Tbps,創(chuàng)歷史新高。而由各僵尸網(wǎng)絡(luò)驅(qū)動的新型DDoS攻擊出租服務(wù)平臺不斷涌現(xiàn),讓獲取DDoS攻擊能力日趨簡單,成本持續(xù)走低,也讓防范DDoS攻擊的急迫性日益嚴(yán)峻。
現(xiàn)階段全球范圍內(nèi)對于由僵尸網(wǎng)絡(luò)所發(fā)起的DDoS攻擊并沒有十分有效的應(yīng)對措施,只能夠?qū)ζ溥M(jìn)行感知防護(hù)。在主機(jī)受到感染后發(fā)出DDoS攻擊而導(dǎo)致網(wǎng)絡(luò)流量出現(xiàn)問題時,才能夠發(fā)現(xiàn)網(wǎng)絡(luò)運(yùn)行存在問題,若能在主機(jī)受到感染進(jìn)而發(fā)出執(zhí)行命令前檢測感知到網(wǎng)絡(luò)異常現(xiàn)象,提出針對性的預(yù)警措施,對于防范DDoS攻擊及減少可能造成的損失,可以起到事半功倍的效果。
基于傳統(tǒng)肉雞養(yǎng)殖場的僵尸網(wǎng)絡(luò)檢測方法主要利用各類蜜罐、入侵檢測系統(tǒng)、Netflow異常流量檢測等安全分析系統(tǒng)。在談到金山云DDoS預(yù)警與其他方式的不同之處時,馬西興表示:“我們實(shí)驗(yàn)室研究員通過對肉雞樣本進(jìn)行深入逆向分析,按照其和C&C端的交互協(xié)議,對BOT端進(jìn)行代碼重構(gòu),能夠做到在C&C端發(fā)出攻擊指令的同時,對目標(biāo)站點(diǎn)進(jìn)行攻擊預(yù)警,同時在系統(tǒng)資源占用、反沙箱、漏洞利用監(jiān)測等方面達(dá)到了較好的效果,從而實(shí)現(xiàn)不戰(zhàn)而屈人之兵,將DDoS攻擊扼殺在萌芽狀態(tài)。”
千里追蹤求真相,主動出擊告別被動防御
在今年初,金山云安珀實(shí)驗(yàn)室成功追蹤到一起利用大規(guī)模僵尸網(wǎng)絡(luò)進(jìn)行大流量DDoS攻擊的有組織活動,該組織掌握的肉雞最多高達(dá)75萬臺,通過層層加密隱匿攻擊源頭,在幕后對企業(yè)、機(jī)構(gòu)發(fā)動針對性的大規(guī)模DDoS攻擊,進(jìn)而謀取不正當(dāng)利益。在監(jiān)控到網(wǎng)絡(luò)流量異常后,金山云第一時間進(jìn)行分析排查,確定異常流量來自某幾臺被控制的云主機(jī),正在對外發(fā)起大流量的DDoS攻擊,深入調(diào)查后發(fā)現(xiàn),這些云主機(jī)屬于某僵尸網(wǎng)絡(luò)控制的肉雞,最后順藤摸瓜,成功追蹤到攻擊源。
“這是安珀實(shí)驗(yàn)室在DDoS防御上的一個比較典型的案例,相比于被動的高防清洗,主動出擊尋找攻擊源頭,顯然是更高效的防御手段,”馬西興表示,“金山云通過逆向協(xié)議分析流程,獲取C&C域名或IP地址、主機(jī)上線協(xié)議、心跳協(xié)議、攻擊協(xié)議、控制協(xié)議等關(guān)鍵樣本信息,來輔助預(yù)警工作。”具體而言,一方面讓樣本在沙盒中跑起來,觀察它在運(yùn)行過程中的流量交互信息;另一方面通過對其進(jìn)行反匯編,遇到加密的指令時,對加密指令進(jìn)行解密操作,從而獲取更多有效信息。
C&C域名或IP地址作為連接的來源,追蹤到就等于成功了一半,但黑客往往會采用隱匿攻擊源,讓肉雞的每次訪問都有可能返回不同的IP。安珀實(shí)驗(yàn)室通過NMAP掃描服務(wù)器對外開放的端口,將疑似端口都加入到金山云配置文件中,經(jīng)過反復(fù)調(diào)查,從而來確認(rèn)黑客下發(fā)攻擊指令的地址。
“無間道”式防御策略,從攻擊源頭進(jìn)行預(yù)警監(jiān)控
“一旦連上黑客的服務(wù)器,就需要發(fā)送上線協(xié)議給黑客了,不同的家族往往有不同的上線協(xié)議,但目的都是一樣,即告訴黑客肉雞已經(jīng)上線了,”馬西興講到,“上線協(xié)議通常包含CPU型號、操作系統(tǒng)版本號、內(nèi)存、硬盤、網(wǎng)絡(luò)帶寬、IP地址等信息,也有特定的家族使用固定的16進(jìn)制字符串來表示。”
在響應(yīng)策略上,通常是按需回復(fù)和記錄。比如在收到ping指令時,簡單回復(fù)一個pong給主機(jī),通過盡量模仿真實(shí)肉雞的行為,避免被黑客發(fā)現(xiàn)真實(shí)身份。經(jīng)過一段時間的運(yùn)行后,就可以得到黑客的全部歷史攻擊指令數(shù)據(jù)庫。此外,金山云還輸出了一個json格式的預(yù)警接口,用戶調(diào)用后,就能立刻返回接收到的最后若干條攻擊指令,也可在檢測到攻擊指定站點(diǎn)時,通過短信報警的方式對目標(biāo)站點(diǎn)發(fā)出實(shí)時預(yù)警。
“拿到流量之后,我們需要提取流量中的C&C域名和IP地址,”馬西興講到,“針對不同的家族,有不同的C&C提取方法,對于gafgyt家族,肉雞上線后,控制端會發(fā)送一條掃描指令,可以直接提取源地址;而mirai家族在上線時,會向C&C發(fā)送固定格式的上線包,此時可以提取上線包的目的地址”。通過這些方式,就可以拿到C&C列表,用來做威脅情報的數(shù)據(jù)源。
在馬西興看來,一個完整的DDoS預(yù)警流程如下:通過對樣本庫中的每一個樣本進(jìn)行掃描、分析,得到樣本的家族分類、域名、IP、端口等信息,將其存儲到數(shù)據(jù)庫中,之后調(diào)用預(yù)警系統(tǒng)進(jìn)行處理,最終輸出歷史攻擊記錄數(shù)據(jù)庫、預(yù)警接口等信息,從而實(shí)現(xiàn)對DDoS攻擊的提前預(yù)警防范。
目前,DDoS攻擊勢頭不容樂觀,除了攻擊流量高峰頻發(fā),攻擊類型更加多樣化,也讓防御更加困難,金山云作為國內(nèi)前三的云服務(wù)商,一直在積極進(jìn)行新型網(wǎng)絡(luò)安全防御的探索實(shí)踐,今年更是專門成立了面向云安全前沿技術(shù)領(lǐng)域研究的安珀實(shí)驗(yàn)室,旨在打造更先進(jìn)的安全攻防體系,并通過與業(yè)界通力合作,共同構(gòu)建更加安全健康的網(wǎng)絡(luò)環(huán)境。