題:
Do 2FA sites leak info by confirming a correct password guess?
Ben Sandeen
2016-06-03 23:26:48 UTC
view on stackexchange narkive permalink

這是我相對外行的看法。

許多網站都宣稱多重身份驗證(MFA)極大地提高了用戶帳戶的安全性,如果實施得當,可以

但是,似乎某些站點只會提示用戶輸入他們的MFA AFTER ,因為他們正確輸入了密碼。我僅使用 gmail.com outlook.com對此進行了測試,但是鑑於這是兩個巨大的電子郵件提供商,我想他們只是眾多犯罪者中的兩個。

之所以如此(至少從表面上看)是一個巨大的安全漏洞,其原因是,它可以使破解者猜測用戶的密碼,直到出現針對MFA的提示為止。他們知道他們已經獲得了用戶的密碼。似乎網站會取消這一要求,並說:“但是,由於用戶擁有MFA,因此破解者無法進入他們的帳戶。”

他們似乎忘記的是,用戶可能擁有帳戶其他網站,並且很可能對該網站使用相同的密碼。因此,現在,黑客可以訪問整個網絡上的所有用戶帳戶,其中許多帳戶可能尚未實施MFA,從而使用戶完全容易受到攻擊。

我的論點或論點是否存在任何缺陷?使這成為非問題的假設?如果沒有,那麼為什麼像Google和Microsoft這樣的大公司無法解決此問題?

評論不作進一步討論;此對話已[移至聊天](http://chat.stackexchange.com/rooms/40756/discussion-on-question-by-ben-sandeen-do-2fa-sites-leak-info-by-confirming-a-cor)。
對於有些健忘的用戶,每次嘗試輸入密碼都必須提供2FA代碼,這是一個巨大的麻煩。
為什麼這與2FA有關?當我可以對您的密碼進行暴力破解,並且假設用戶在整個帳戶中重複使用密碼時,無論他在哪種服務上受到暴力破解,這都將使他處於同一位置。還是我誤會了您的意思,為什麼這是2FA特有的問題?
@Zaibis如果沒有2FA,您可能會遭受暴力攻擊。OP的觀點是2FA應該可以解決該問題...但是顯然它不能100%解決它。
@MikeOunsworth:我的評論是從不提供2FA的服務的角度說的。想像一下,我的服務不提供2FA,這對我來說沒有關係,如果我的用戶之一在使用或不使用2FA的服務上遭到暴力破解,並且是否也將其pw再次用於我的服務。另一方面,在沒有任何判斷的情況下:誰會期望使用2FA的其他站點使我自己的站點變得更加安全,而無需我自己採取任何行動?我懷疑這對任何人來說都是合理的。
五 答案:
Mike Ounsworth
2016-06-03 23:46:30 UTC
view on stackexchange narkive permalink

如果我正確地理解了您的問題,那麼您提出的攻擊是針對這樣的服務器暴力破解密碼,然後在顯示MFA屏幕後,嘗試在該用戶擁有帳戶的其他網站上嘗試使用該密碼

這是一個很好的問題!好發現!但是您似乎忽略了兩點:

  1. 這並不比沒有MFA弱,MFA還會通過讓您進入來確認正確的密碼。

  2. 沒有哪位黑客願意嘗試在實時服務器上強行設置密碼,該密碼通常將您的速率限制為每秒5次猜測。或者,對於像GMail或Outlook這樣的大型提供商,則具有復雜的欺詐檢測系統,這些系統會自動對可疑活動進行IP阻止。在99.999 ...%的時間中,對直接從數據庫中竊取的密碼散列進行了密碼暴力破解,您可以在數據庫上每秒猜測(m | b)數百萬個密碼。

  3. ol >

    因此,儘管我同意您的說法,這裡可能存在一些數據洩漏,但我認為這種風險很小,並且用戶不得不為弄錯打字機的OTP而煩惱,這遠遠超過了用戶的不便。


    更新地址註釋,因為這已成為網絡上的熱門問題。

    多因素身份驗證有兩種類型(又稱“ 2FA”或“ MFA”),確實需要分別考慮:

    1. SMS或推送通知2FA :當您進入2FA屏幕會向您的設備發送一個​​必須輸入的代碼。對於許多用戶來說,這可能是您接觸過的唯一2FA類型。問題中描述的攻擊在這種情況下將不起作用,因為用戶將收到他們未請求的2FA代碼,並且他們會知道出了點問題。而且,在這種情況下,無論密碼是否正確,執行2FA步驟實際上都是有害的,因為:

      • 攻擊者可能會導致用戶每月獲得大量數據/ SMS賬單,或者通過在其內存中填充通知來使其設備崩潰。
      • 它還會洩漏哪些用戶啟用了2FA,哪些是簡單的目標。
    2. 使用代碼生成器令牌,應用程序或啟用了公鑰的智能卡/ USB記憶棒“脫機” 2FA(見圖片)下面)。這是政府,軍事和公司使用的2FA。因此,儘管最終用戶看不到它,但由於它所保護的數據的價值,它是2FA更為重要的類型。在這種情況下,當攻擊者進入其2FA屏幕時,不會向用戶顯示“內置”通知。通常,所有用戶都必須使用2FA,因此洩漏出啟用了2FA的用戶是沒有害處的,因為全部都是這些。

    3. ol>

      想像一下案例2的這種情況:位於Windows Active Directory頂部的公司VPN。面向公眾的VPN一整天都被密碼猜測者重擊,因此這些日誌沒有什麼異常之處。但是,如果我可以通過VPN的2FA屏幕確認用戶的密碼,那麼我可以走到他們的筆記本電腦並充滿信心地登錄,因為它不會鎖定Windows帳戶-用戶/ IT一定會注意到它。該問題正確地指出了一個安全漏洞,即“進入2FA屏幕並沒有輸入任何內容/輸入了不正確的內容”的模式當然應該標記為比您的標準“不正確的用戶名/密碼”更嚴重,並應通知最終用戶退出密碼。

感謝您的回答,但只是為了澄清一下,我完全知道MFA對於擁有它的帳戶無疑是更安全的。:P 我的主意是,它仍然允許黑客獲得用戶的密碼,同時使用戶放心(可能是虛假和誤導性的)
@BenSandeen,我認為您會丟失MFA通知合法所有者有人輸入了密碼。如果沒有MFA,攻擊者就已經知道他們已獲得密碼(因為他們已登錄)*,並且*他們可以成功登錄(實際損失)*,並且*帳戶所有者不知道某人擁有其密碼。借助MFA,攻擊者知道他們獲得了密碼(沒有比這更糟),但是他們被阻止登錄(值得),並且(我認為這是您所缺少的)*帳戶所有者收到有關登錄嘗試的通知*,並且知道有人猜出了密碼,因此他們可以更改密碼(和其他密碼)。
@Schwern當MFA嘗試失敗時,用戶獲得通知的方式可能因服務而異。我認為我從未見過這樣的通知(也許我從來沒有搞過MFA登錄),哪些網站提供了這樣的通知?在嘗試失敗的MFA上,所有提供MFA的網站都可以很好地通知用戶嗎?
@MikeOunsworth好,我在考慮將通知集成到的電子郵件和文本。我忘記了移動身份驗證器。那將取決於站點。
@Schwern嗯,您正在談論MFA的SMS代碼樣式。很公平;如果您收到發給您的意外的意外短信,現在該更改密碼了。我個人更擔心[OTP令牌鏈](https://en.wikipedia.org/wiki/Security_token)類型。SMS 2FA在最終用戶的電子郵件和其他內容中很流行,但是負責任何高價值數據(例如政府,公司,銀行,健康數據等)的任何管理員都將使用安全密鑰卡。我想知道那些系統是否會通知您是否有失敗的OTP嘗試。好問題!
確實是@MikeOunsworth。我有SMS 2FA通知我我受到了威脅。
@DavidL。顯然,如果您使用的是SMS或基於應用程序的2FA,則會收到通知,這很明顯。問題是,政府部門/軍方使用的離線2FA方法(如物理代碼生成錶鍊或PKI芯片卡)是否具有在成功進行un / pw嘗試時通知用戶的功能。
可能的系統可能是在輸入任何密碼後將您帶到2FA頁面的系統,但僅在密碼正確的情況下才發送代碼。但是,如果您確定自己輸入的密碼正確但又沒有收到短信,那可能會很煩人。這將更難找出原因(例如:密碼錯誤或發送代碼錯誤)。
@BenSandeen“ _我的主意是,它仍然允許破解者獲取用戶的密碼_”,但是,如果目標是在其他站點(不具有2FA)上使用獲得的用戶/密碼,那麼破解者可能只是在第一個訪問了其他站點位置(邁克關於限速分開的評論)。觸發2FA(在使用它的網站上)以輸入錯誤/輸入錯誤的密碼不會阻止該操作。
我喜歡這個問題!如此精彩的辯論!@TripeHound這種攻擊的一個有趣用例是鏈接到Active Directory的企業2FA平台。假設我有該用戶的潛在密碼的簡短列表,我可以在面向Web的2FA平台上對其進行測試,直到我知道正確的密碼,然後走到他們的桌面並登錄。這避開了AD的“ 3次嘗試鎖定””,這需要IT部門來解鎖。
@MikeOunsworth但是面向Web的平台不必通過AD運行密碼,因此仍然會觸發鎖定(我不是AD專家,只是問問)。
@TripeHound可能是這樣,但是由於面向公眾的VPN整天都遭到密碼暴力破解嘗試(要求任何Linux管理員每天通過暴力密碼嘗試生成多少gb SSH日誌),所以我的Windows帳戶怎麼了?不斷被鎖定?
回复:代碼/ OTP類型2FA,最好在輸入密碼之前先問這個因素。但是,如果僅一部分用戶啟用了2FA,那麼這是不可能的,因為您不想洩漏更多易受攻擊的用戶。
@otus我不敢相信我沒有想到這一點。無論是否洩漏了哪些用戶啟用了2FA,以及哪些是簡單的目標,都轉到2FA屏幕。
為什麼會有所有這些RSA SecurID小工具?
@cornelinux因為這是我在Google上可以找到的最好的圖片,上面帶有多種身份驗證器。如果有更好的圖像,我很樂意使用其他圖像。
Benoit Esnard
2016-06-03 23:45:39 UTC
view on stackexchange narkive permalink

我認為這不是問題。多因素身份驗證並不是要阻止某人猜測您的密碼,而是要阻止任何人登錄您的帳戶。

Jeff Meden
2016-06-03 23:59:02 UTC
view on stackexchange narkive permalink

因此,現在,黑客可以訪問整個網絡上的所有用戶帳戶,其中許多帳戶可能未實施MFA,從而使用戶完全容易受到攻擊。

攻擊者不會嘗試在Google上猜出他們也不會嘗試向銀行或Facebook之類的密碼。僅僅因為它現在已經被洩露它是一個有效的密碼,所以攻擊者幾乎無法破壞任何其他帳戶。猜測的密碼必須來自高概率猜測的嬰兒床,因為真正的暴力手段永遠無法在實時系統上工作。

如果您能證明使用2FA的網站的反猜測算法較差(我可以肯定,它們至少和不提供2FA的網站一樣好(如果不是更好的話),您的觀點是正確的,因為攻擊者可能濫用其中一個並轉向另一個。實際上,情況可能恰恰相反,投資2FA的站點也在同時投資反猜測系統。

Leigh Brenecki
2016-06-04 12:28:08 UTC
view on stackexchange narkive permalink

從理論上講,是的,這是有可能的(前提是實施2FA的站點沒有任何速率限製或欺詐檢測,如其他答案所指出)。

在實踐中,也有要考慮的可用性因素。想像一下,您建立了一個登錄表單,該表單在每次登錄嘗試時都提示用戶輸入2FA,僅告訴用戶該嘗試在2FA步驟之後失敗,並且永遠不會告訴他們密碼或2FA令牌是否無效。

2FA從一開始就已經是一個巨大的難題-每次登錄時,我不僅要輸入用戶名和密碼,還要找到我的手機(可能在另一個房間),​​然後將其解鎖,轉到我的主屏幕,找到我的2FA應用,然後在列表中找到合適的網站。然後,代碼將不可避免地過期五秒鐘,因此我必須等待新的代碼過期,或者嘗試在過期之前以超級快速的速度鍵入它。

(2FA系統在這方面,使用SMS或推送通知會更好,因為它們會出現在我的智能手錶上;或者,對於不擁有智能手錶的用戶,其鎖屏也會出現。在該方案中,我們正在考慮這樣做只要知道我的用戶名,用戶就可以通過無休止的通知/ SMS來煩擾我,因為他們不必正確輸入我的密碼即可觸發2FA嘗試。接收SMS消息,因此在那些地方,這種情況對用戶而言甚至更糟。)

如果您讓用戶在兩次輸入密碼錯誤時都經歷了兩次,整個過程將變得更加痛苦,結果您甚至可能會減少使用2FA的人數,從而使您的用戶較少安全n平均。

Benjamin_FTW
2016-06-07 02:25:42 UTC
view on stackexchange narkive permalink

對於2FA / MFA是“可選”的系統(例如Gmail或Outlook.com),該服務必須權衡使用2因子方法的麻煩因素和將帶到其網站的安全性。在理想環境中,用戶將為每個站點使用唯一的,複雜的密碼,並且在可用時始終使用2FA,但是在現實世界中,您是對的-在十二個站點上,用戶將具有相同的密碼,並且密碼係數為2在相對較小的窗口中幾次無效登錄嘗試後不會自動鎖定帳戶並通知用戶的機制,可能導致攻擊者耐心嘗試一些可能的猜測,直到他們到達2FA提示符為止,此時他們知道他們有一個有效的用戶名和密碼組合。在使用您的電子郵件地址作為登錄名的大型站點(例如LinkedIn等)上,所有高度公開的密碼數據庫都遭到了破壞,如果用戶從不費心去更新其他站點,攻擊者就可以從邏輯上相對容易地猜測用戶的密碼,但只有被“破解”的那個。

對於安全性至關重要的應用(例如我正在研究的幾種應用之一),登錄提示一次需要用戶名,密碼和2因子值,並且是“全有或全無”身份驗證,並且我們不會告訴您為什麼登錄失敗,除非是因為您的密碼已過期(假設您輸入了正確的密碼,但這只是要求您更改密碼,然後再次輸入另一個2FA值才能真正獲得訪問權限)到應用程序)。該應用程序具有“專用”用戶基礎,並且策略要求2FA,因此它不能直接與您在OP中提到的“ 2FA可選”站點相提並論。

但是,從根本上來說,我同意上面的評論,如果您要進行兩步身份驗證,則“按需令牌”比“脫機”令牌(例如RSA或Google Authenticator)更安全。用戶會立即知道有人正在通過意外的SMS消息(“錯誤的密碼”或有效的2因子字符串)來嘗試訪問其帳戶,以防攻擊者正確無誤。如果站點僅在成功登錄後發送SMS 2-factor值,那麼對於您提到的那一點,在攻擊者實際獲得正確密碼之前讓用戶知道,這是沒有用的。僅當攻擊者俱有正確的密碼時,用戶才能獲取有效的2因子字符串。到那時,可能已經為時已晚,攻擊者已經開始嘗試在沒有2FA的其他站點上使用相同的用戶名和密碼組合,並且用戶必須在計算機上爭先恐後地更改每個站點上的每個密碼他們使用它,如果他們到處都在重複使用相同的密碼,那幾乎是不可能的,因為他們不會記住所有密碼。

最終,取決於2FA對同一用戶使用的其他站點的破壞程度如何,具體取決於單個實現。最好的情況是,這是我所描述的多合一登錄,攻擊者還必須以某種方式擁有他們的2FA設備或“魔術字符串”(諸如Google Authenticator之類的初始化令牌),如果他們也有的話,該用戶已經遭到了妥協。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...