對安全專家Brian Krebs來說,去年9月的第三個星期可以算是一段暗無天日的時光,大量持續不斷的DoS攻擊波涌向其個人網站KrebsOnSecurity,峰值攻擊曾流量超過每秒 620Gbps,最終,CDN服務商Akamai也無防護之計可施,選擇將Krebs網站下線。然而,僅在三天之后,KrebsOnSecurity就在谷歌Project Shield(護盾項目)的保護下,正常上線“重生”了。今天就讓我們隨著FreeBuf來一起了解下谷歌Project Shield的這樁“壯舉”。
Project Shield是谷歌最早在2013年推出的,保護第三方網站的免費抗D服務,它利用谷歌基礎設施技術來重定向和緩解DDoS攻擊流量,以抵御各類DDoS攻擊。Project Shield保護網站主要為那些沒專業能力部署安全防護的體量較小網站,并優先為記者、媒體、選舉和人權相關網站提供保護。(更多詳情參考Project Shield官網)
據谷歌安全工程師Damian Menscher在最近的Enigma安全會議上透露,在Krebs向Project Shield提出網站保護請求之后,谷歌安全團隊經過一番風險權衡后同意了這項服務。Menscher回憶了當時團隊的討論情景:
“如果這些僵尸網絡對google.com發起攻擊后果將會怎樣?會讓我們的努力白費嗎?這種可能不能完全排除。但如果類似的攻擊可以擊潰我們,那么任何時候它對我們來說都是一種潛在風險,所以,從這個角度上來說,我們不存在任何損失,應該積極去應對。”
經過一個小時的討論后,Menscher的團隊迅速達成了幫助Krebs的決定。然而,前期卻經歷了冗長的流程。首先一點就是,網站所有人必須證明其對網站的控制權,而此時Krebs網站正處于下線狀態,而且域名管理系統為防止域名劫持攻擊,把其域名(krebsonsecurity.com)又設置為鎖定狀態。
最終,當Project Shield為KrebsOnSecurity提供上線保護之后的14分鐘,新一輪DDoS攻擊開始了。第一波攻擊是足可以癱瘓大量網站的每秒1億3000萬的SYN洪水包,但面對谷歌的基礎設施,這算是九牛一毛;一分鐘后,攻擊強度增加,來自145,000個不同IP發起了每秒250,000次HTTP請求,毫無疑問,這是Mirai僵尸網絡的特征;隨后,攻擊者以多種方式發起了攻擊,包括140Gbps的DNS放大攻擊和每秒400萬syn-ack包的syn-acka洪水攻擊。
在攻擊開始后的第四個小時,KrebsOnSecurity經歷了更強的攻擊流量,175,000個不同IP發起了每秒450,000次HTTP請求,好在有Project Shield的保護,這也沒能對KrebsOnSecurity造成直接影響。
攻擊在開始的兩個星期最為強烈,隨后,攻擊者加入了一系列新型攻擊技術,包括一種名為WordPress pingback的攻擊,該攻擊會發起對目標網站的大量內容請求,導致網站癱瘓。由于該攻擊方式的每個內容請求包內,包含了一個帶有“WordPress pingback”的用戶代理廣播字段,所以,Google有效地對這些請求作出了阻止。另外的Cache-Busting攻擊也同樣被Project Shield成功阻擋。
WordPress的Pingback功能中文解釋是“引用”,當你的文章有引用別人的內容時(通常內容里有加上對方的超鏈接),一旦文章發表后,就會自動啟動Pingback功能,這功能會發送一個Ping給對方,會以評論的方式呈現。WordPress的pingback服務可被DDoS攻擊利用,這個漏洞早有披露,但至今仍有大量網站存在此問題。由于這種DDoS攻擊中流量來自數千個不同IP,基于網絡的防火墻也無法識別和攔截,只能限制每個IP地址的訪問頻率。
即使在今天,對KrebsOnSecurity網站的DDoS攻擊也依然存在,最壞的結果只是引起一些短暫的中斷,并沒有導致長時間的宕機下線。Menscher同時也把此次事件的經驗向會議觀眾作了分享:
由于我在谷歌的多年一直是致力于保護大型網站系統的安全運行,成千上萬次的查詢請求或攻擊對谷歌來說影響非常微小,然而,突然面對一個小型網站的保護,我顯得有點措手不及。由于Krebs的網站原先最多只能承受每秒20次的請求,但這次攻擊峰值卻達到了每秒450,000次請求。面對這種情況,作為安全工程師的你會怎么處理?這確實有點棘手。但首先你可以識別和限制攻擊流量,然后通過緩存分散正常流量,這樣一方面可以給服務器減負,另外在服務器出現故障時,還能為瀏覽用戶正常提供緩存內容,形成一個暫時的“在線”狀態。
當問道在DDoS防護商Akamai宣布停止為KrebsOnSecurity提供無償保護之后,為什么Google愿意免費提供這項網站保護服務?Menscher給出了解釋:
“我們暫且不提規模經濟方面的考慮。因為谷歌具備很多方面的技術實力,通過這些技術基礎設施的共同發揮,完全有能力構建一個有效DDoS后備防御體系。我想Akamai也希望具備這樣的能力,但在同一時間兩次強大的DoS攻擊面前,攻擊者發起的各種類型的攻擊占了上風,轉而慢慢蠶食了他們的防御能力。”
對Menscher來說,最終的體會是,像Google這樣運行著至關重要的業務,一年離線狀態不會超過5分鐘的公司,有必要作出一些冒險和挑戰的嘗試。
他進一步解釋,“我是一個唯物論者,在現實中我們總嘗試去分辨世界是如何運轉的,但基于此,我們必須有正確的問題導向,必須去做一些調查研究,也必須主動去質疑一些假設。這種道理與DDoS防御是相似的,我們不能總看到眼前的攻擊,還需更加積極、更加冒險地去應對或挑戰一些未知的攻擊。”
*參考來源:arstechnica,FB小編clouds編譯,轉載請注明來自FreeBuf.COM。