What is credential stuffing? | Credential stuffing vs. brute force attacks

在憑證填充攻擊中,從某個服務竊取而來的登入憑證收集內容會用來嘗試入侵各種其他服務的帳戶。

學習目標

閱讀本文後,您將能夠:

  • 定義憑證填充
  • 區分憑證填充與暴力攻擊
  • 理解緩解憑證填充的策略

複製文章連結

什麼是憑證填充?

Credential stuffing is a cyber attack in which credentials obtained from a data breach on one service are used to attempt to log in to another unrelated service.

憑證填充範例

例如,攻擊者可能會入侵大型百貨公司,藉此取得使用者名稱和密碼清單,並使用相同的登入憑證來嘗試並登入國家銀行的網站。攻擊者希望在這些百貨公司客戶當中,有部分客戶也有該銀行的帳戶,而且他們對這兩種服務重複使用相同的使用者名稱和密碼。

Credential stuffing is widespread thanks to massive lists of breached credentials being traded and sold on the black market. The proliferation of these lists, combined with advancements in credential stuffing tools that use bots to get around traditional login protections, have made credential stuffing a popular attack vector.

什麼因素讓憑證填充發揮效果?

就統計資料而言,憑證填充攻擊的成功率很低。許多預估的成功率約為 0.1%,代表在每一千個攻擊者嘗試破解的帳戶中,他們大約可以成功一次。攻擊者所交易的憑證收集數量極少,讓憑證填充就算成功率很低,也十分值錢。

這些收集內容包含數百萬個 (在某些情況下會有數十億個) 登入憑證。若攻擊者有一百萬組憑證,這會產生大約 1,000 個成功破解的帳戶。如果即使破解帳戶的所占比例很小,也能產生有利潤的資料 (通常採用可用於網路釣魚攻擊的信用卡號或機密資料),則攻擊就非常值錢。此外,攻擊者可以對大量不同的服務使用同一組憑證,不斷重複這樣的過程。

傀儡程式技術的進步也讓憑證填充成為可成功實施的攻擊。內建於網頁應用程式的登入表單的安全性功能通常包括考慮時間延遲和禁止嘗試登入失敗多次的使用者 IP 位址。現代憑證填充軟體使用傀儡程式同時嘗試數次登入,讓這些登入看起來源自各種裝置類型和不同的 IP 位址,藉此規避這些保護。惡意傀儡程式的目標是讓人無法區分攻擊者的登入嘗試與一般登入流量,而這非常有效。

通常,受害公司對於遭受攻擊所具有的唯一指標是整體登入嘗試數量增加。即使到了這個時候,受害公司也很難在不影響合法使用者能夠登入服務的情況下,阻止這些嘗試。

憑證填充攻擊有效的主要原因是人們重複使用密碼。研究顯示,大部分的使用者 (預估高達 85%) 在多項服務重複使用相同的登入憑證。只要這種習慣持續下去,憑證填充就會繼續發揮效果。

憑證填充與暴力攻擊之間有什麼差異?

OWASP 將憑證填充分類為暴力攻擊的子集。但是,嚴格而言,憑證填充與傳統的暴力攻擊非常不同。暴力攻擊嘗試隨機使用有時以常見密碼建議組合而成的字元,在沒有脈絡或線索的情況下猜測密碼。憑證填充則使用已暴露的資料,大幅降低正確答案的可能數量。

對抗暴力攻擊的好方法是由數個字元組成並且包括大寫、數字和特殊字元的高強度密碼。但密碼強度無法抵禦憑證填充。這與密碼強度無關 – 只要不同的帳戶之間都共用這個密碼,憑證填充就能入侵。

如何防止憑證填充

使用者可以如何防止憑證填充

From a user’s point of view, defending against credential stuffing is pretty straightforward. Users should always use unique passwords for each different service (an easy way to achieve this is with a password manager). If a user always uses unique passwords, credential stuffing will not work against their accounts. As an added measure of security, users are encouraged to always enable two-factor authentication when it’s available.

公司可以如何防止憑證填充

對於執行驗證服務的公司而言,阻止憑證填充是更複雜的挑戰。憑證填充會因為其他公司資料外洩而發生。憑證填充攻擊的受害公司不必然是因為本身的安全性出了問題。

公司可以建議其使用者提供唯一密碼,但無法作為規定有效強制執行。有些應用程式會在接受密碼之前,針對已知遭受入侵密碼的資料庫執行已提交的密碼,作為對抗憑證填充的措施,但這並非萬無一失 – 使用者可能會重複使用尚未遭受入侵之服務的密碼。

Providing added login security features can help mitigate credential stuffing. Enabling features like two-factor authentication and requiring users to fill out captchas when logging in both also help stop malicious bots. While these are both features that inconvenience users, many would agree that minimizing the security threat is worth the inconvenience.

The strongest protection against credential stuffing is a bot management service. Bot management uses rate limiting combined with an IP reputation database to stop malicious bots from making login attempts without impacting legitimate logins. Cloudflare Bot Management, which gathers data from 25 million average requests per second routed through the Cloudflare network, can identify and stop credential-stuffing bots with very high accuracy.For organizations that want the same bot-blocking abilities but do not need an enterprise solution, Super Bot Fight Mode is now available on Cloudflare Pro and Business plans. With Super Bot Fight Mode, smaller organizations can take advantage of increased visibility and control over their bot traffic.