當前位置:
首頁 > 科技 > 史上最大 DDoS 降臨 GitHub:每秒 1.269 億個數據包,峰值達到了 1.35 Tbps

史上最大 DDoS 降臨 GitHub:每秒 1.269 億個數據包,峰值達到了 1.35 Tbps

文章來源GitHub博客,雲頭條編譯

2018年2月28日星期三,由於一起分散式拒絕服務(DDoS)攻擊,GitHub.com從17:21至17:26 UTC(協調時間時)處於癱瘓狀態,從17:26至17:30處於時斷時續的狀態。我們深知大家對GitHub的依賴程度,也知道我們服務的可用性對用戶而言至關重要。需要特別說明的是,用戶數據的機密性或完整性在任何時候都沒有處於險境。我們為此事件帶來的影響感到抱歉,為此撰文介紹這起事件、我們為確保可用性付出的努力以及我們將來如何旨在改善響應和應對。

背景介紹

Cloudflare在本周的博文中描述了一個使用memcached針對UDP發動放大攻擊的途徑,詳見《Memcrashed:來自 UDP 埠 11211 的大規模放大攻擊》。攻擊者採用的手法是,濫用互聯網上無意中可被訪問、UDP支持功能被啟用的memcached實例。欺騙IP地址的做法讓memcached的響應得以被攻擊者用來對另一個地址發動攻擊,比如用於服務GitHub.com的地址,並向目標發送更多的數據,未受到欺騙的Source(源頭)不需要發送那麼多的數據。那篇博文中描述的配置不當引起的安全漏洞在這一類攻擊中顯得有點獨特,原因在於放大係數高達51000倍,這意味著攻擊者每發送一個位元組,最多可向目標發送51KB的數據。

在過去的一年,我們為自己的設施部署了額外的轉接容量。在此期間,我們的轉接容量增加了一倍以上,這讓我們得以抵禦某些容量耗盡攻擊(volumetric attack),並不對用戶造成影響。我們將繼續部署額外的轉接容量,並在一系列廣泛的交換中心之間建立起了穩健的對等互聯(peering)關係。即使如此,像這樣的攻擊有時還是需要擁有更龐大轉接網路的合作夥伴給予幫助,才能提供攔截和過濾服務。

事件經過

2月28日17:21至17:30 UTC,我們發現並緩解了一次重大的DDoS容量耗盡攻擊。這次攻擊來自1000多個不同的自治系統(ASN),涉及成千上萬個獨特端點。這是一起放大攻擊,使用上述基於memcached的方法,通過每秒發送1.269億個數據包,峰值速度達到了1.35Tbps。

在17:21 UTC,我們的網路監控系統檢測到入站流量與出站流量比異常,並使用聊天系統通知了隨時待命的工程師及其他人。該圖顯示了轉接鏈路上的入站吞吐量與出站吞吐量:

該圖顯示入站流量大於出站流量

考慮到在我們的一個設施,入站轉接帶寬增加到超過100Gbps,我們決定將流量轉到Akamai,它可以幫助提供額外的邊緣網路容量。在17:26,我們通過ChatOps工具執行了命令,撤銷針對轉接提供商發布的BGP通告,完全在通向Akamai的鏈路上通告AS36459。在接下來幾分鐘,路由重新聚合,訪問控制列表在邊界處緩解了攻擊。監控轉接帶寬數量和負載均衡系統響應代碼表明,系統在17:30完全恢復。在17:34,撤銷了通向互聯網交換中心的路由,這是一個後續措施,將額外的40Gbps從我們的邊緣轉出去。

該圖顯示了流量從交換中心轉出去

攻擊的第一波在高峰期間速度達到1.35Tbps,在18:00過後迎來了第二波小高峰:400Gbps。Akamai提供的這張圖顯示了抵達其邊緣的入站流量(每秒比特數):

發放akamai邊緣的流量

下幾步

確保GitHub的邊緣基礎設施更能適應互聯網當前和未來的情況,並且少依賴人的干預,這需要更好的自動化干預機制。我們正在研究使用我們的監控基礎設施使提供商緩解DDoS攻擊實現自動化,並繼續衡量響應此類事件的時間,旨在縮短平均恢復時間(MTTR)。

我們會繼續擴大我們的邊緣網路,竭力在新的攻擊途徑影響您在GitHub.com上的工作流程之前識別並緩解這些攻擊。

我們知道您高度依賴GitHub確保項目和公司取得成功。我們會繼續分析影響我們可用性的諸如此類的事件,構建更好的檢測系統,並簡化響應機制。

Memcrashed:來自 UDP 埠 11211 的大規模放大攻擊

文章來自cloudflare公司博客,作者Marek Majkowski

在過去這幾天,我們發現一種隱蔽的放大攻擊途徑非常猖獗:這種攻擊使用memcached協議,來自UDP埠11211。

過去我們多次談論過發生在互聯網上的放大攻擊。最近關於該話題的兩篇博文是:

《突破100Gbps的SSDP放大》(https://blog.cloudflare.com/ssdp-100gbps/)。有意思的是,從那以後,我們成了一種速度為196Gbps的SSDP攻擊的對象。

《關於我們看到的各种放大攻擊的一般性統計數字》(https://blog.cloudflare.com/reflections-on-reflections/)。

所有放大攻擊背後的基本思路都一樣。能夠實施IP欺騙的攻擊者向一台易受攻擊的UDP伺服器發送偽造的請求。UDP伺服器不知道請求是偽造的,準備響應。成千上萬個響應被發往一個渾然不知的目標主機時,大量耗用資源,通常網路本身不堪重負,這時會出現問題。

放大攻擊之所以屢屢得逞,是由於響應數據包常常比請求數據包大得多。一種精心準備的攻擊手法讓IP欺騙能力有限(比如1Gbps)的攻擊者可以發動規模非常大的攻擊(達到100s Gbps),從而「放大」攻擊者的帶寬。

Memcrashed

隱蔽的放大攻擊一直在發生。我們常常看到「chargen」或「call of duty」數據包攻擊我們的伺服器。

不過很少發現一種新的放大效果非常出色的放大攻擊途徑,這種新的memcached UDP DDoS絕對屬於這一類。

奇虎360的DDosMon監測放大攻擊途徑,該圖表顯示了最近的memcached/11211攻擊:

雖然每秒數據包數量不是特別大,但生成的帶寬卻特別大:

高峰時期,我們看到入站UDP memcached流量的速度達到260Gbps。對於一種新的放大攻擊途徑而言,這個數字很大。而數字不會謊言。這是由於所有反射的數據包都非常大。這是它在運行tcpdump後的結果:

大部分數據包的大小是1400位元組。簡單算一下,23Mpps x 1400位元組得出257Gbps的帶寬,正如上圖所示。

Memcached使用UDP?

我驚訝地發現memcached使用UDP,但確實如此!協議規範(https://github.com/memcached/memcached/blob/master/doc/protocol.txt)表明,UDP是迄今用於放大攻擊的最佳協議之一!毫無檢查機制,數據會以驚人的速度發往客戶端!此外,請求可能很小,響應很大(高達1MB)。

發動這種攻擊很容易。首先,攻擊者在一台泄露的memcached伺服器上植入很大的有效載荷(payload)。然後,攻擊者利用目標的Source IP欺騙「get」請求消息。

使用Tcpdump的綜合運行顯示流量:

15個位元組的請求觸發了134KB的響應。放大係數是10000倍!實際上,我們還見過15個位元組的請求觸發750kB的響應(放大了51200倍)。

Source IP

易受攻擊的memcached伺服器遍布全球,在北美和歐洲更為密集。下圖顯示了我們在120多個接入點(POP)看到的Source IP分布圖:

值得關注的是,我們在紐瓦克(EWR)、漢堡(HAM)和香港(HKG)的數據中心看到的攻擊性IP數量異常多。這是由於大多數易受攻擊的伺服器放在幾大託管服務提供商處。我們看到的IP的AS編號如下:

我們看到的大多數memcached伺服器都來自AS16276(OVH)、AS14061(Digital Ocean)和AS7684(Sakura)。

我們總共只看到memcached伺服器的5729個獨特的source IP。我們預計將來會看到規模大得多的攻擊,Shodan報告網上有88000台「敞開無阻」的memcached伺服器:

修復漏洞

有必要修復這個漏洞,防止進一步的攻擊。下面是要做的幾件事。

memcached用戶

如果你使用memcached,要是目前未使用它,務必禁用UDP支持。在memcached啟動時,你可以指定--listen 127.0.0.1隻偵聽本地主機,指定-U 0完全禁用UDP。默認情況下,memcached偵聽INADDR_ANY,並在UDP支持啟用的情況下運行。說明文檔:

https://github.com/memcached/memcached/wiki/ConfiguringServer#udp

你可以輕鬆測試伺服器是否易受攻擊,只需運行該命令:

如果你看到內容非空的響應(如上所示),表明你的伺服器岌岌可危。

系統管理員

務必確保你的memcached伺服器與互聯網之間有防火牆這道屏障!想測試是否可以用UDP來訪問它們,建議使用上面的nc示例;想證實TCP是否關閉,運行nmap:

互聯網服務提供商

為了在將來擊敗這類攻擊,我們需要修復易受攻擊的協議,還要搞定IP欺騙。只要互聯網上允許IP欺騙,我們就會麻煩不斷。

開發者

務必要停止使用UDP。如果非用不可,請不要默認啟用UDP。如果你不知道放大攻擊是什麼,千萬別在編輯器中輸入SOCK_DGRAM。

我們在這條路上已跌栽過好多次跟頭。DNS、NTP、Chargen、SSDP以及現在的memcached。如果你使用UDP,必須始終以較小的數據包來響應,否則你的協議會被濫用。還要記住:人們確實忘記安裝防火牆。做個好公民。別開發缺少任何一種驗證的基於UDP的協議。

結束語

誰也不知道在我們將易受攻擊的伺服器收拾乾淨之前,memcached攻擊會變得多大。已有傳聞稱過去幾天出現了0.5Tbps的放大攻擊,這只是個開始。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲頭條 的精彩文章:

剛剛,微博因「遊戲主播百萬互動」差點又沒抗住
過完年黑客也開工了,國內兩家醫院連遭比特幣勒索

TAG:雲頭條 |