近兩年發生多起針對全球大型機構的大規模DDos攻擊事件,使得DDos攻擊又重回大衆視野,引起業界的廣泛關注。金融機構雖按照要求建立了本地以及運營商級的DDos攻擊檢測清洗服務,但隨著互聯網類業務的快速發展,同時DDos攻擊的成本不斷降低,新型攻擊攻擊手法層出不窮,攻擊工具的肆意傳播,使得DDos攻擊形成了一個地下産業,投入極低的成本便可發動一次DDos攻擊,互聯網類業務遭受到的威脅也在不斷攀升。
本文主要結合多年網絡安全運維經驗以及對DDos的基本理解,淺談DDos攻擊原理和基本防護思路。
一、DDos的基本概念及類型
Dos拒絕服務攻擊是通過各種手段消耗網絡帶寬和系統CPU、內存、連接數等資源,直接造成網絡帶寬耗盡或系統資源耗盡,使得該目標系統無法爲正常用戶提供業務服務,從而導致拒絕服務。DDos分布式拒絕服務攻擊由Dos演變而來,黑客利用控制的多台計算機(肉雞)對一個特定目標發送盡可能多的網絡訪問請求,形成流量洪流來沖擊目標業務系統,其攻擊源是分散的、範圍可能遍布全球。信息安全的三要素——“保密性”、“完整性”和“可用性”中,傳統拒絕服務攻擊針對的目標正是系統“可用性”。
DDos攻擊主要分爲兩大類:流量攻擊型應用攻擊型。流量型攻擊最大的特點就是流量大,快速消耗用戶的網絡帶寬造成帶寬耗盡,可能出現一個特定目標單位被攻擊影響到共用運營商資源的其他單位帶寬受影響的情況。流量型DDos又可分爲直接型和反射型,直接型主要包括SYN\ACK\ICMP\UDP FLOOD等,反射型主要包括NTP\DNS\SSDP反射FLOOD等。
UDP FLOOD示例圖
而應用型DDos攻擊最典型的就是CC攻擊和HTTP慢速攻擊,CC是DDos攻擊的一種,CC攻擊是借助代理服務器生成指向受害主機的合法請求,實現DDOS和僞裝,CC攻擊(Challenge Collapsar)主要是通過制造大量的後台數據庫查詢動作來攻擊頁面,消耗目標資源;HTTP慢速攻擊是CC攻擊的變種,對任何一個開放了HTTP訪問的服務器,攻擊者先建立一個連接,指定一個比較大的content-length,然後以非常低的速度發包,比如1-10s發一個字節,然後維持住這個連接不斷開。如果客戶端持續建立這樣的連接,那麽服務器上可用的連接數將一點一點被占滿,從而導致拒絕服務。CC攻擊、慢速攻擊等應用型攻擊與流量型DDos的區別就是流量型DDos是針對IP的攻擊,而CC攻擊的是服務器資源。
CC攻擊示例圖
典型DDos攻擊分類大致如下:
DDos攻擊分類
二、流量型DDos攻擊防護思路
常規流量型的DDos攻擊應急防護方式因其選擇的引流技術不同而在實現上有不同的差異性,主要分爲以下三種方式,實現分層清洗的效果:
- 本地DDos防護設備
一般惡意組織發起DDos攻擊時,率先感知並起作用的一般爲本地數據中心內的DDos防護設備,金融機構本地防護設備較多采用旁路鏡像部署方式。本地DDos防護設備一般分爲DDos檢測設備、清洗設備和管理中心,首先,DDos檢測設備日常通過流量基線自學習方式,按各種和防禦有關的維度,比如syn報文速率、http訪問速率等進行統計,形成流量模型基線,從而生成防禦阈值。學習結束後繼續按基線學習的維度做流量統計,並將每一秒鍾的統計結果和防禦阈值進行比較,超過則認爲有異常,通告管理中心。由管理中心下發引流策略到清洗設備,啓動引流清洗。異常流量清洗通過特征、基線、回複確認等各種方式對攻擊流量進行識別、清洗。經過異常流量清洗之後,爲防止流量再次引流至DDos清洗設備,可通過在出口設備回注接口上使用策略路由強制回注的流量去往數據中心內部網絡,訪問目標系統。
- 運營商清洗服務
當流量型攻擊的攻擊流量超出互聯網鏈路帶寬或本地DDos清洗設備性能不足以應對DDos流量攻擊時,需要通過運營商清洗服務或借助運營商臨時增加帶寬來完成攻擊流量的清洗,運營商通過各級DDos防護設備以清洗服務的方式幫助用戶解決帶寬消耗型的DDos攻擊行爲。實踐證明,運營商清洗服務在應對流量型DDos攻擊時較爲有效。
- 雲清洗服務
當運營商DDos流量清洗不能實現既定效果的情況下,可以考慮緊急啓用運營商雲清洗服務來進行最後的對決。依托運營商骨幹網分布式部署的異常流量清洗中心,實現分布式近源清洗技術,在運營商骨幹網絡上靠近攻擊源的地方把流量清洗掉,提升攻擊對抗能力。具備適用場景的可以考慮利用CNAME或域名方式,將源站解析到安全廠商雲端域名,實現引流、清洗、回注,提升抗D能力。進行這類清洗需要較大的流量路徑改動,牽涉面較大,一般不建議作爲日常常規防禦手段。
總結來看,以上三種防禦方式存在共同的缺點,由于本地DDos防護設備及運營商均不具備HTTPS加密流量解碼能力,導致針對HTTPS流量的防護能力有限;同時由于運營商清洗服務多是基于Flow的方式檢測DDos攻擊,且策略的顆粒度往往較粗,因此針對CC或HTTP慢速等應用層特征的DDos攻擊類型檢測效果往往不夠理想。
對比三種方式的不同和適用場景,發現單一解決方案不能完成所有DDos攻擊清洗,因爲大多數真正的DDos攻擊都是“混合”攻擊(摻雜著各種不同的攻擊類型),比如說:以大流量反射做背景,期間混入一些CC和連接耗盡,以及慢速攻擊。那麽這個時候很有可能需要運營商清洗(針對流量型的攻擊)先把80%以上的流量清洗掉,把鏈路帶寬清出來,這個時候剩下的20%裏面很有可能還有80%是攻擊流量(類似CC攻擊、HTTP慢速攻擊等),那麽就需要本地配合進一步進行清洗。
三、應用型DDos攻擊防護思路
這裏要重點介紹一下CC攻擊。CC攻擊是一個依賴http協議,並通過構造特殊的http請求導致服務器保持連接等待狀態,直至服務器CPU、內存、連接數等資源被打滿,從而造成拒絕服務的一種攻擊方式,屬于典型的應用層DDos攻擊。CC攻擊的特點和流量型DDoS攻擊最大的區別是並不需要大流量即可達到攻擊效果。有些極端情況下在遭受此類攻擊的時候,流量特征可能沒有明顯的變化,而業務層面出現訪問緩慢、超時等現象,且大量訪問請求可能指向同一個或少數幾個頁面。
因爲CC攻擊來的IP都是真實的、分散的,且CC攻擊的請求,全都是有效的請求,無法拒絕的請求。對于此類攻擊,DDoS攻擊清洗設備的基礎算法的作用可能就沒那麽明顯了,需要在攻擊過程中實時抓取攻擊的特征,對症下藥。
但是總結對于CC攻擊來說,發生攻擊時還是有較明顯的攻擊特征。一般情況客戶在訪問業務的時候不會集中在幾個頁面,而是比較分散的。而當發生了CC攻擊的時候,抓包後可以很明顯的發現大量的訪問都集中在某幾個或者多個頁面,那麽我們可以針對該特征進行針對性防護配置。
淺談CC攻擊的防護思路
由于CC攻擊是典型的應用層DDos攻擊,因此傳統安全設備,如防火牆、運營商清洗等很難起到很好的防護作用。目前業界通常會在應用服務器前端部署具備安全功能的代理設備進行防護,比如WAF、負載均衡等,避免讓服務器直接面對CC攻擊。代理設備啓用資源代理和安全防護功能,比如要求在接收完整的HTTP請求之後才會與服務器建立TCP連接並發送已收到的HTTP 請求,此時攻擊者的請求直接被代理設備終結而不會發往服務器。
- 經過實踐總結,前端WAF或者負載均衡設備能夠提供有效的策略有:
1、部署架構上,可將前端WAF或者負載均衡設備部署于HTTPS卸載器之後,從而實現對HTTPS流量的防護能力;
2、使用IP地址信譽庫,對請求IP地址進行甄別和過濾,阻止來自惡意IP的服務請求;
3、通過跟蹤客戶端的Session信息、標記Session的威脅指數與可疑度、識別訪問頻度、鼠標鍵盤操作時間等技術,識別惡意請求,同時制定挑戰策略,對于不合法的請求可以采取挑戰驗證碼、識別機器人行爲特征,快速阻斷不合法請求或BOT發起的仿正常請求;
- 系統/應用層面能夠提供的有效防護策略有:
1、輕應用部署。應用部署時考慮頁面靜態比例,盡量讓網站靜態化,減少不必要的動態查詢等方式,同時應急情況下可以將動態頁面臨時替換爲靜態頁面,減少後台請求數據庫/應用服務器的次數;
2、限制單IP連接數量,降低同一ip攻擊者帶來的危害和影響;
3、降低連接超時時間,及時釋放系統資源應對TCP連接資源耗盡類型的CC攻擊;
4、及時清理無用過期等文件,並將大的文件對象或者頁面部署在CDN節點上,隱藏真正的互聯網帶寬入口,降低對源站的影響等。
以上防護手段可以起到一定的防護作用。不過,我們也要看到,目前黑客攻擊有多樣化的趨勢,一次攻擊行爲內往往混合了多種攻擊方式和手段。金融機構需要抵禦這種凶猛的攻擊,靠單獨的某一類設備是不夠的。金融機構應該搭建層次化的立體防禦架構,防範攻擊需要在合適的維度采用合適的防禦技術,且每個防禦層面都需要充分考慮其架構可擴展性,架構上需要仔細考量與設計。
四、DDos防護實踐總結
- 架構設計:應支持資源橫向擴展,立體防禦。需要建立層次化的防禦架構,從業務第一入口的DNS系統開始到運營商防禦、本地的三、四層攻擊防禦、優化操作系統的 TCP/IP 協議棧,然後到SSL層安全防禦、最後到7層防禦,需要建立立體的防禦體系,且每個防禦層面都需要充分考慮其架構可擴展性,架構上需要仔細考量與設計。同時,盡量做到本地和雲端結合,借助運營商力量解決大流量攻擊問題。
立體化防禦架構圖
- 開發界面優化。調整頁面靜態比例,每一個頁面,都有其資源消耗權重,靜態資源,權重較低,動態資源,權重較高。編寫代碼時,盡量實現優化並合理使用緩存技術。盡量讓網站靜態化,減少不必要的動態查詢。
- 動態統計分析。對訪問頻率異常的頁面進行詳細分析,分析得到不同應用的頁面動態訪問行爲模型和基線,而攻擊程序(機器)一般不會按照人的行爲進行加載資源。同時,運維人員應對當前系統運行了如指掌,如系統最高負載、系統處理能力,網絡帶寬能力等。
- 加強應急演練。定期組織進行DDos攻擊應急演練,演練的形式不限于沙盤演練還是實操演練。通過演練的方式讓大家熟悉DDos攻擊的應急體系、響應流程,另外通過演練及時總結不足,持續進行優化改進。
- 提升系統擴容能力。面對互聯網DDos攻擊,除了采用技術防禦手段進行檢測、清洗和攻擊行爲識別以外,仍然有一部分攻擊請求可能會到應用系統,這個時候對應用系統的容量提出了更高要求,此時需要應用系統具備快速擴容交付能力,在一定程度上要具備與攻擊黑産進行“對抗”的能力。
- 加強人才培養,積極與第三方安全機構合作。加強網絡安全人才培養,建立網絡安全人才隊伍應對互聯網安全威脅;同時積極與業內第三方安全機構合作,關注最新的惡意IP威脅情報列表,在被攻擊時,直接啓用封堵信譽庫中的惡意IP和境外IP地址,減少被攻擊面。
天下數據與全球近120多個國家頂級機房直接合作,提供包括香港、美國、韓國、日本、台灣、新加坡、荷蘭、法國、英國、德國、埃及、南非、巴西、印度、越南等國家和地區的服務器、雲服務器的租用服務,詳詢天下數據客服!