收藏!撞庫攻擊最新梳理與預防方式都在這了
數據泄露事件頻頻發生,讓撞庫攻擊事件也急劇上升。根據安全廠商Akamai的報告指出,2020年全球撞庫攻擊事件達到1930億次,比2019年增加3.6倍。
撞庫攻擊的增多,不僅在于數據泄露事件中被盜憑證的增加,另一重要原因在于該攻擊自身的低成本與高回報。攻擊者只需一點時間,花費不到200美元,就能測試10萬個憑證,雖然成功率通常在0.2%到2%之間,但只要攻擊成功一次,就可以拿到200到2000個有效賬戶,從而實現更大的攻擊目標。本周的微步薦讀文章,涵蓋了大家需要知道關于撞庫的原理、與暴力猜解的區別,以及預防與檢測撞庫的最新知識點,希望對你有用。
01撞庫攻擊與暴力猜解
通俗的講,撞庫攻擊(Credential Stuffing)其實就是將被盜的用戶名和密碼組自動注入網站登錄表,從而未授權直接登錄用戶的賬戶。由于不少用戶在注冊新平臺時,會重復使用相同的賬號密碼,所以攻擊者在數據泄露或網絡攻擊事件中,獲取到大量被盜或泄露的登錄憑證后,會在其他不同站點進行登錄,這時也就出現了撞庫攻擊。
在撞庫攻擊中,攻擊者的目的是獲得對盡可能多的用戶賬戶的未經授權訪問。在接管用戶賬戶后,攻擊者再進行其他攻擊活動或欺詐性活動,如從銀行提款,進行大額消費等。最壞的情況則是,攻擊者會嘗試提升用戶權限,從而在企業內網中建立據點,實施影響力更大、后果更嚴重的攻擊。一般來說,通過現成的工具,攻擊者能夠一次性向一個或多個網站登錄頁面輸入十萬甚至百萬被盜的賬號密碼憑證。
需要注意的是,撞庫攻擊與暴力猜解并不相同。所謂暴力猜解,是針對一個或多個賬號密碼進行密碼猜測破解。相比于暴力猜解,撞庫攻擊與其有以下兩個重要的區別:
- 暴力猜解是在沒有線索的情況下,使用隨機字符串、常用密碼模式或常用密碼字典進行猜測破解。如果用戶密碼非常簡單,暴力猜解就能成功。不過,通過驗證碼和限制嘗試登陸次數,可以阻止該攻擊。但想要阻止撞庫攻擊則相對難一些,因為攻擊者已經知道密碼;
- 暴力猜解由于缺乏上下文及已知泄露的數據,登錄成功率會低很多。在用戶使用強密碼的情況下,如果用戶跨服務共享密碼,導致憑證泄露,這時暴力猜解可能會失敗,但撞庫的成功率會更大。
02撞庫攻擊詳細原理
接下來,這里分享一下攻擊者在大規模撞庫攻擊時,一般會遵循的步驟:

圖 | 撞庫攻擊步驟
獲取憑證:不同于以往攻擊者必須去某些網站盜取憑證,如今的攻擊者獲取的方式更加容易,能夠通過暗網或其他渠道免費拿到被盜的憑證;
獲取IP代理服務,輔助攻擊:為了成功取得未授權賬戶的訪問權限,撞庫攻擊訪問需要和目標網站上的常規流量保持一致。因為攻擊者也非常清楚,在短時間內突然收到某個IP地址上百萬的登陸請求,一定會引起目標平臺的注意,于是會尋找IP代理服務商,利用機器在數千個IP地址中分布式發出登陸請求,隱藏可疑行為;
準備及設置攻擊參數:出于效率考慮,攻擊者會選擇自動化方式,而不是手動進行憑證填充。許多攻擊者通常會使用Sentry MBA、SNIPR 和OpenBullet等這些所謂的“賬號密碼查看器”工具,對目標站點輸入大量被盜用戶和密碼組,從而進行破解。不過每種工具的功能不一樣, 有的可輕松接入知名服務商的IP代理列表,有的會提供配置文件,攻擊者可以基于目標登錄頁設置攻擊參數;
發動攻擊:參數設置完成后,攻擊者開始發動攻擊,其目標是找到所有成功的登錄請求,一旦通過攻擊工具提供的憑證成功進行了訪問,攻擊者就會收到憑證有效的通知。從技術上來說,攻擊者收到通知后,撞庫攻擊就已完成。不過,簡單獲取到有效憑證列表,并不是攻擊者的終極目標,他們還會更進一步;
貨幣化:拿到目標站點驗證的憑證列表后,攻擊者會進一步進行貨幣化。具體實現方式,主要基于目標及被攻擊站點的類型。攻擊者在接管賬戶后,對個人一般會通過詐騙性銀行交易、電商網站巨額消費,信用卡提現等不同方式榨干該賬戶,更兇險的攻擊者會登錄賬戶訪問到企業網絡,進一步提升權限,關閉基礎設施或竊取企業商業機密等。

03撞庫攻擊的防御與檢測
與跨站點腳本攻擊、SQL注入或遠程代碼執行這類取決于攻擊者利用軟件或硬件漏洞能力的攻擊類型不同,撞庫攻擊與網絡釣魚、惡意軟件下載等攻擊相似,利用的則是人這個環節的弱點,這也是撞庫攻擊比較普遍的原因之一。對于企業來說,建議采取以下措施來保護自身網絡安全:
? 采用多因子身份認證(MFA)
如果是面向公眾或處理敏感信息的平臺,建議實施多因素身份認證。雖然該方法并非萬無一失,但能夠為增加一道防御保護層。采用多因子身份認證之后,用戶在登錄時需要證明身份,除了賬號密碼這類用戶知道的內容,還需提供其所擁有的,比如手機號或者訪問令牌等。如果在要求所有用戶進行多因子身份認證不可行的情況下,建議與設備指紋識別等其他技術相結合。
? 部署智能反機器人解決方案
這一類解決方案,主要是收集用戶與設備的各種數據點,并利用機器學習識別和阻止機器行為。如果不能部署復雜的反機器人解決方案,也可以通過下面這些方式增強防護:
驗證碼。首先要明確一點的是,在網站上使用驗證碼并不保證可以區分人和機器,因為有些賬號密碼檢查器工具內置了解決驗證碼的機制,但不是所有的攻擊者都會使用賬號密碼檢查器,所以對攻擊者而言,驗證碼方式依舊有效,且也可與其他技術結合利用;
設備及瀏覽器指紋。所謂指紋,即操作系統、語言、瀏覽器、時區及用戶代理等參數的組合,如果同一個參數組合依次登錄多次,很可能是暴力猜解或撞庫攻擊。具體可使用Java腳本收集用戶設備有關的信息,并為每個傳入的會話創建“指紋”。如果企業使用了多個參數的嚴格指紋,可實施更嚴厲的措施,比如禁止IP。要捕獲更多攻擊,企業也可組合使用2-3個常用參數,并強制執行臨時禁止等略微寬松的措施。比較常見的指紋識別,一般是操作系統+地理位置+語言;
IP速率限制。這種方式可以阻止那些高于預設閾值速率登錄的IP,比如每秒3個以上,這種就明顯超出了人類手動輸入的范圍,基本也可以判斷為自動憑證填充;
拒絕已知惡意IP地址。由于攻擊者IP地址池有限,所以一般會小范圍使用IP地址,進行憑證填充,如果明顯發現很多失敗的登錄嘗試,或者嘗試登錄多個地址的IP,從同一批地址過來,則可阻止或用沙箱查殺。
? 記錄與監控網站流量
根據已知被盜憑證列表,來檢查攻擊者的登錄嘗試,阻止任何匹配的請求,可以作為日志審查標準的一部分。另外,在監控流量的過程中,還需注意查看,比如:
流量大但登錄成功率低的情況。網站通常的登錄成功率在60%到85%之間,因此像10%到15%的低登錄成功率就需要引起注意,可能是撞庫攻擊;
持續全天候登錄,不符合常規工作時間。大多數人的工作和休息時間基本上比較正常,但自動化的工具一般不分早晚;
極端流量峰值。這也可能是正在發生撞庫攻擊。
? 撞庫及數據泄露風險檢測與感知
可借助工具直接發現企業內部的撞庫及外部數據泄露的情況,減少撞庫發生。例如,通過微步在線威脅感知平臺TDP,能夠監測撞庫行為,實時告警;通過微步在線X企業版,全網發現數據泄露情況,及時采取措施,避免撞庫發生。
? 最后,建議企業執行強密碼策略
企業可以考慮為員工提供企業級的密碼管理器,并且組織日常的安全培訓,指導員工如何設置強密碼,并在全企業杜絕使用弱密碼或者常見密碼,增加一道防護。
隨著《中華人民共和國數據安全法》的正式實施,企業承擔了數據分類分級保護、數據安全保護等多種義務,如何防范撞庫攻擊也是每個企業安全團隊需要認真思考的一個問題,建議企業從以上每一個小處開始,持續提升企業自身數據安全保護能力。