什麼是帳戶收穫?

有許多不同類型的數據洩露。有些涉及攻擊者方面的大量時間、計劃和努力。這可以採取學習系統如何工作的形式,然後再製作令人信服的網絡釣魚消息並將其發送給具有足夠訪問權限以允許攻擊者竊取敏感詳細信息的員工。這種攻擊會導致大量數據丟失。源代碼和公司數據是常見的目標。其他目標包括用戶數據,例如用戶名、密碼、付款詳情,以及 PII,例如社會安全號碼和電話號碼。

不過,有些攻擊並沒有那麼複雜。誠然,它們也不會對受影響的每個人產生如此大的影響。但這並不意味著它們不是問題。一個示例稱為帳戶收割或帳戶枚舉。

賬戶枚舉

您是否曾嘗試登錄網站,結果卻告訴您密碼錯誤?那是一條特定的錯誤消息,不是嗎?如果您隨後故意在您的用戶名或電子郵件地址中輸入錯誤,網站可能會告訴您“該電子郵件的帳戶不存在”或類似的內容。看到這兩個錯誤消息之間的區別了嗎?這樣做的網站容易受到帳戶枚舉或帳戶收集的影響。簡而言之,通過為兩種不同的場景提供兩種不同的錯誤消息,可以確定用戶名或電子郵件地址是否具有該服務的有效帳戶。

有許多不同的方法可以識別這類問題。上面兩種不同錯誤消息的情況是相當明顯的。它也很容易修復,只需為這兩種情況提供通用錯誤消息即可。諸如“您輸入的用戶名或密碼不正確”之類的內容。

可以獲取帳戶的其他方式包括密碼重置表單。如果您忘記了密碼,能夠恢復您的帳戶非常方便。安全性差的網站可能會再次提供兩條不同的消息,具體取決於您嘗試發送密碼重置的用戶名是否存在。想像一下:“帳戶不存在”和“密碼重置已發送,請檢查您的電子郵件”。同樣在這種情況下,可以通過比較響應來確定帳戶是否存在。解決辦法也是一樣的。提供一個通用的回复,例如:“密碼重置電子郵件已發送”,即使沒有電子郵件帳戶可以發送。

賬戶收割的微妙之處

上述兩種方法的佔用空間都有些大。如果攻擊者試圖大規模地執行任何一種攻擊,它基本上會很容易地出現在任何日誌系統中。密碼重置方法還明確地向任何實際存在的帳戶發送電子郵件。如果您想偷偷摸摸,大聲喧嘩並不是最好的主意。

一些網站允許直接的用戶交互或可見性。在這種情況下,只需瀏覽該網站,您就可以收集您遇到的每個帳戶的屏幕名稱。屏幕名稱通常可以是用戶名。在許多其他情況下,由於人們通常在電子郵件地址中使用他們姓名的變體,因此它可以給出一個很大的提示,即猜測用戶名是什麼。這種類型的帳戶收集確實與服務交互,但本質上與標準用法沒有區別,因此更加微妙。

一個微妙的好方法是永遠不要觸摸受到攻擊的網站。如果攻擊者試圖訪問僅供員工使用的公司網站,他們或許能夠做到這一點。他們可以去其他地方,而不是檢查站點本身的用戶枚舉問題。通過搜索 Facebook、Twitter,尤其是 LinkedIn 等網站,可以建立一個相當不錯的公司員工名單。如果攻擊者隨後可以確定公司的電子郵件格式,例如 [email protected],那麼他們實際上可以獲取大量帳戶,而無需連接到他們計劃攻擊的網站。

對這些帳戶收集技術中的任何一種都無能為力。它們不如第一種方法可靠,但可用於通知更活躍的帳戶枚舉方法。

細節決定成敗

一般錯誤消息通常是防止活動帳戶枚舉的解決方案。但有時,正是這些小細節讓遊戲脫穎而出。按照標準,網絡服務器在響應請求時會提供狀態代碼。200 是“OK”的狀態碼,表示成功,501 是“內部服務器錯誤”。網站應該有一條通用消息,指示已發送密碼重置,即使實際上並非如此,因為沒有使用提供的用戶名或電子郵件地址的帳戶。在某些情況下,即使網站顯示成功消息,服務器仍會發送 501 錯誤代碼。對於注重細節的攻擊者來說,這足以判斷該帳戶是否確實存在。

當涉及到用戶名和密碼時,甚至時間也能發揮作用。一個網站需要存儲您的密碼,但為了避免在它們被洩露或有流氓內部人員的情況下泄露密碼,標準做法是對密碼進行哈希處理。加密散列是一種單向數學函數,如果給定相同的輸入,它總是給出相同的輸出,但即使輸入中的單個字符發生變化,整個輸出也會完全改變。通過存儲散列的輸出,然後對您提交的密碼進行散列並比較存儲的散列,可以驗證您是否提交了正確的密碼,而無需真正知道您的密碼。

把細節放在一起

好的散列算法需要一些時間才能完成,通常不到十分之一秒。這足以使暴力破解變得困難,但當您只檢查一個值時,不會太笨重。如果用戶名不存在,網站工程師可能很想偷工減料而不去散列密碼。我的意思是,沒有真正的意義,因為沒有什麼可比較的。問題是時間。

Web 請求通常會在幾十甚至一百毫秒左右看到響應。如果密碼散列過程需要 100 毫秒才能完成,而開發人員跳過了它……那可能會很明顯。在這種情況下,由於通信延遲,對不存在的帳戶的身份驗證請求將在大約 50 毫秒內得到響應。對具有無效密碼的有效帳戶的身份驗證請求可能需要大約 150 毫秒,這包括通信延遲以及服務器對密碼進行哈希處理時的 100 毫秒。通過簡單地檢查響應返回所需的時間,攻擊者可以相當可靠地準確確定帳戶是否存在。

像這兩個這樣的面向細節的枚舉機會可以與收集有效用戶帳戶的更明顯的方法一樣有效。

賬戶收割的影響

從表面上看,能夠識別站點上是否存在帳戶似乎不是什麼大問題。這不像攻擊者能夠訪問該帳戶或任何東西。這些問題的範圍往往更廣一些。用戶名往往是電子郵件地址或化名或基於真實姓名。真名很容易與個人聯繫在一起。電子郵件地址和假名也往往會被一個人重複使用,從而將它們與特定的人聯繫起來。

因此,想像一下如果攻擊者可以確定您的電子郵件地址在離婚律師網站上有一個帳戶。在網站上關於利基政治派別或特定健康狀況的網站呢?那種事情實際上可能會洩露一些關於你的敏感信息。您可能不想要的信息。

此外,許多人仍然在多個網站上重複使用密碼。儘管幾乎每個人都知道對所有內容使用唯一密碼的安全建議,但還是如此。如果您的電子郵件地址涉及大數據洩露,則您的密碼哈希可能包含在該洩露事件中。如果攻擊者能夠使用蠻力從該數據洩露中猜出您的密碼,他們可能會嘗試在其他地方使用它。屆時,攻擊者會知道您的電子郵件地址和您可能使用的密碼。如果他們可以枚舉您在其中擁有帳戶的網站上的帳戶,他們可能會嘗試使用該密碼。如果您在該網站上重複使用該密碼,那麼攻擊者就可以進入您的帳戶。這就是為什麼建議對所有內容都使用唯一密碼的原因。

結論

帳戶收集,也稱為帳戶枚舉,是一個安全問題。帳戶枚舉漏洞允許攻擊者確定帳戶是否存在。作為信息洩露漏洞,其直接影響並不一定嚴重。問題是,當結合其他信息時,情況會變得更糟。這可能導致敏感或私人細節的存在能夠與特定的人聯繫起來。它還可以與第三方數據洩露結合使用以獲取對帳戶的訪問權限。

網站也沒有正當理由洩露這些信息。如果用戶輸入的用戶名或密碼有誤,他們只需要檢查兩件事就可以知道是哪裡出錯了。帳戶枚舉漏洞造成的風險遠遠大於它們可以為輸入用戶名或密碼的用戶提供的極其微小的好處。



Leave a Comment

如何克隆硬碟

如何克隆硬碟

在資料是寶貴資產的現代數位時代,在 Windows 上複製硬碟對許多人來說可能是一個至關重要的過程。這份綜合指南

如何修復驅動程式 WUDFRd 在 Windows 10 上載入失敗?

如何修復驅動程式 WUDFRd 在 Windows 10 上載入失敗?

您在啟動電腦時是否遇到錯誤訊息,提示驅動程式 WUDFRd 無法在電腦上載入?

如何修復 NVIDIA GeForce Experience 錯誤代碼 0x0003

如何修復 NVIDIA GeForce Experience 錯誤代碼 0x0003

您是否在桌面上遇到 NVIDIA GeForce 錯誤代碼 0x0003?如果是,請閱讀部落格以了解如何快速輕鬆地修復此錯誤。

How to Use Auto Clicker for Chromebook

How to Use Auto Clicker for Chromebook

Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and

如何在 2023 年從 Windows PC 中移除 GPU

如何在 2023 年從 Windows PC 中移除 GPU

您需要從 PC 上卸下 GPU 嗎?和我一起在這個分步指南中解釋如何從您的 PC 中刪除 GPU。

如何在台式機和筆記本電腦中安裝 NVMe SSD

如何在台式機和筆記本電腦中安裝 NVMe SSD

買了新的 NVMe M.2 SSD 但不知道如何安裝?繼續閱讀以了解如何在筆記本電腦或台式機上安裝 NVMe SSD。

什麼是邏輯炸彈?

什麼是邏輯炸彈?

邏輯炸彈是一種安全事件,攻擊者會在其中設置延遲操作。繼續閱讀以了解更多信息。

什麼是震網?

什麼是震網?

Stuxnet 是一種自我傳播的蠕蟲病毒。這是第一次使用網絡武器,也是第一個惡意軟件實例。

什麼是道德黑客?

什麼是道德黑客?

道德黑客是在法律約束下行事的黑客。繼續閱讀以了解有關該主題的更多信息。

什麼是對稱加密?

什麼是對稱加密?

密碼學有很多不同的部分。如果你想加密一些數據,你可以使用兩種類型的算法: symmetric