2010-05-04 24 views
17

在最近的一個項目中,我對登錄表單進行了驗證碼測試,以阻止可能的蠻力攻擊。在登錄表單上添加驗證碼不道德嗎?

其他同事的直接反應是要求將其刪除,並說這是爲了達到這個目的,並且在那個地方看到驗證碼是非常奇特的。

我已經看到了註冊,聯繫人,密碼恢復表單等captcha圖像。所以我個人沒有看到inapropiate把captcha也放在這樣的地方。那麼它顯然會降低可用性,但這只是一個時間問題,並且已經習慣了。

由於缺乏驗證碼測試,人們不得不設置某種黑名單/帳戶鎖定機制,這也有一些缺點。

這是您的不錯選擇嗎?我是否有點疑惑,需要某種羣體療法?

在此先感謝。

+3

是的。 (只是回答問題) – 2010-05-04 11:16:00

+3

感謝下流,你說服了我。我正在打電話給我的醫生... – azkotoki 2010-05-04 11:34:35

+0

告訴你的用戶有更好的密碼習慣,並且驗證碼將被刪除。 :)這意味着沒有更多的密碼abc123! = p – Tony 2010-05-04 12:40:23

回答

32

只需爲給定用戶的登錄嘗試失敗時添加CAPTCHA測試。這是很多網站目前所做的(例如所有流行的電子郵件服務),並且侵入性小得多。只要攻擊者不能破壞你的驗證碼,它就完全阻止了蠻力攻擊。

+1

是的,好點。僅在失敗嘗試中添加驗證碼,或者 - 例如Facebook做的 - 如果用戶從一個不尋常的位置登錄。 – 2010-05-04 11:15:59

+0

-1。它完全不*阻止蠻力攻擊,即使攻擊者可以輕易破解你的驗證碼,他也不會。在這裏查看關於這個主題的其他問題 – AviD 2011-01-18 10:59:51

+0

第一次登錄嘗試不需要驗證碼。可能不會是第二個。如果他們在三分之一後錯過了,請他們證明他們不是機器人。它們在註冊表單上有意義,所以漫遊器無法創建帳戶。或匿名評論區域以避免垃圾郵件。 我使用開發人員過度熱心的安全產品,您必須單擊一個Recaptcha以及提供您的用戶名和密碼,然後單擊登錄按鈕。很大的滋擾。適當地提供uname和pw應該是足夠的。試圖向他們解釋這一點。問他們銀行是否這樣做。他們是braindead。不要腦殘。 – MarkS 2016-11-30 01:52:41

5

驗證碼在登錄表單中不是一個非常傳統的選擇。傳統的防止蠻力攻擊的保護似乎是賬戶鎖定。正如您所說,它有缺點,例如,如果您的應用程序易受枚舉枚舉攻擊,則攻擊者可能很容易執行拒絕服務攻擊。

+1

您當然可以鎖定臨時而非永久 – Henri 2010-05-04 11:20:01

+0

或者您可以讓強力攻擊者登錄到虛假的空帳戶。 – 2010-05-06 05:49:51

7

這不是不道德的本身。這是可用性差。

考慮安全隱患:用戶會考慮在登錄到耗時且會:

  • 不太可能在所有
  • 使用你的系統永遠不會登出你的系統,並留下打開的會話無人值守。

考慮其他形式的蠻力攻擊檢測和預防。

3

我傾向於同意你的同事。驗證碼可能需要您無需授權提交數據的表單,因爲否則垃圾郵件將炸燬它們,但是我無法通過將驗證碼添加到登錄表單來查看您正在阻止哪種濫用行爲?

驗證碼不提供任何形式的安全性,您的其他選項(如黑名單)的方式會。它只是驗證用戶是一個人,並希望用戶名/密碼字段將驗證。例如,如果您想防止暴力攻擊,那麼幾乎任何其他形式的保護都會更加有用 - 例如,如果太多請求會觸發請求,或者如果輸入錯誤密碼的次數太多,則禁止IP。

另外,我認爲你低估了對可用性的影響。許多瀏覽器提供了很多實用程序來處理用戶名/密碼錶單,如果您添加驗證碼,所有這些實用程序都將變得毫無用處。

-3

許多流行的(最常用的)郵件服務器沒有它?

3

我想解決題目中的問題 - 道德問題。

我會考慮在下列情況下不道德驗證碼:

  1. 它排除在申請參與那些身體或智力的挑戰,當應用程序的主要部分和目的,否則不會做出這樣的排除。

  2. 驗證碼的機制使用戶遭受痛苦的語言或圖像超出通常在應用程序中預期的情況。

  3. 呈現給用戶的驗證碼機制在某些方面具有欺騙性或誤導性。

如果captcha的意圖是爲了排除非人類對偏見的真實感知機器智能,也可能被認爲是不道德的。當然,技術還沒有達到這個問題的水平,而且,當它成爲一個問題時,我預計不含人門將更加可行和普遍。