淺談撞庫防禦策略

極客小蝸牛發表於2016-04-22

2014年12306遭遇撞庫攻擊,13萬資料洩露;2015年烏雲網上爆出網易郵箱過億使用者資料由於撞庫洩露;資料洩露愈演愈烈,撞庫登入成為網站的一大安全威脅,今天小編就和大家探討一下如何才能夠有效的防止撞庫攻擊。俗語知己知彼,百戰不殆,小編在網上找了個撞庫教程整理給大家看看,瞭解黑客是如何撞庫的。

首先找到一個目標網站,隨便輸入一組使用者名稱和密碼,測試其驗證碼是否可以被過。
enter image description here

密碼是明文的,提交了正確的驗證碼,repeater一下。
enter image description here

回顯是賬號和密碼錯誤,再repeater一下,還是顯示賬號和密碼錯誤。說明驗證碼不用再次請求,可以直接進行撞庫。 enter image description here

設定彩虹表。 enter image description here

開始撞庫,分分鐘1000+可用使用者名稱和密碼就到手了。 enter image description here

是的,我們就是這樣不知不覺就暴露了。 當然不是所有的網站都能夠如此輕鬆被撞庫,說明這個網站的安全性做的真的不好。
撞庫是什麼?
黑客通過收集網際網路已洩露的拖庫資訊,特別是註冊使用者的使用者名稱和密碼資訊,生成對應的字典表。通過惡意程式和字典表批量嘗試登入其他網站,得到一系列可用的真實使用者資訊。

撞庫成功的原因是什麼呢?
廣大網路使用者為了方便記憶,所有網站都使用同一套使用者名稱和密碼。 網站登入的安全措施不夠。

撞庫的危害是什麼呢?
就企業而言保護使用者的資訊保安是基本責任之一,洩露使用者資訊會缺失公信力,損毀公司品牌形象。 就個人而言小則騷擾電話天天有,大則個人財產不翼而飛。

撞庫這麼大的危害,作為企業和網站主應該如何防止撞庫攻擊呢?
通過上面的例子我們可以發現,阻止撞庫登入就是要讓黑客不能夠使用指令碼程式進行批量登入。常用的方法有以下幾種:
1.限制同一個IP的請求次數和請求頻率
這是一種方法,但是由於IP代理的存在,作用也不是特別大。

2.使用cookie,flash cookie以及帆布指紋等方法
目前也是有許多網站在使用這種策略,有一定的作用,但是也是可以被清除掉的。flash cookie可能相對要更好一些。

3.新增驗證碼
當然不能用上例網站中的驗證碼和驗證機制,像這樣,沒什麼用。
enter image description here
為什麼沒用呢?
a.驗證機制,請求一次之後可以直接繞過。
b.就算每一次登入都需要請求驗證碼,這種驗證碼的安全性也低,很容易被識別。
enter image description here
相比較於上例中對於驗證碼的疏忽,很多公司也很重視驗證安全。有一些安全比較高的驗證碼也是有不錯的防範效果的。
極驗驗證碼
enter image description here
利用目前比較火的機器學習以及深度學習建模,分析人和機器的拖動特徵,防止機器指令碼的效果是很不錯的。另外一點很好的是,基於深度學習構建神經網路能夠較為快速的學習特徵,有可疑情況出現能夠迅速的進行升級。
漢字驗證碼
enter image description here
漢字驗證碼由於漢字的複雜性和數量大,影像識別起來有一定的難度,也算是目前驗證碼中相對安全的一種。不過在使用者體驗上卻不如極驗的那麼好。
一般情況下網站都會採用以上三種策略組合的方式來抵禦撞庫攻擊,能不能夠防得住,驗證碼起了很關鍵的作用。
當然還有一些其他高階一些的防禦方式
進行生物特徵識別,也就是說不使用我們傳統的密碼了,當然這是任重而道遠的一件事情;
使用手機驗證碼,價效比不高,物理因素的影響會很大,還有就是接碼平臺的存在也嚴重威脅其安全性;
對使用者設定密碼進行限制和更高階的演算法加密,以及對使用者的登入環境進行監測等,但是這對很多的企業和網站來說,實現起來是有難度的。
所以使用驗證碼是目前防止網站被撞庫攻擊價效比最高的方法,簡單而容易實現,但是我們應該選擇安全性高的驗證碼,不然形同虛設,沒有實質性的作用。

相關文章