在破解密碼或密鑰時,逐一嘗試用戶自定義詞典中的可能密碼(單詞或短語)的攻擊方式。與暴力破解的區(qū)別是,暴力破解會逐一嘗試所有可能的組合密碼,而字典式攻擊會使用一個預先定義好的單詞列表(可能的密碼)。這些單詞列表通常包含數(shù)千或數(shù)百萬種英文單詞和常見密碼,它們可能來源于過去已破解的數(shù)據(jù)庫中泄露的信息。
簡介
月黑風高之夜,一個小偷拿著從倉庫管理員那兒偷來的一串鑰匙,躲過崗哨摸到庫房,看著庫房大門掛著的大鎖,哪一把鑰匙才能打開門呢。顯然最直接的方法就是一把一把的試,直到打開為止,或者所有鑰匙都打不開,無功而返。
這件事兒對小偷來說略顯機械枯燥,而且時間拖久了還有被抓的危險。可這樣的重復勞動正適合計算機干——對了,這種方法就是網(wǎng)絡安全領(lǐng)域里“字典攻擊”的原型。
當黑客試圖進入目標系統(tǒng)時被告知需要提供口令,而他對此并不知曉(正如上面那位小偷并不確定鑰匙是哪一把),他可以采用這樣的方法:將收藏的備選口令集(這個口令集可能包含著成千上萬個備選口令)輸入到他的程序中,依次向目標系統(tǒng)發(fā)起認證請求,直到某一個口令可以通過認證——或者所有這些口令均無效,宣告此方法失敗并結(jié)束本次入侵行為(或者繼續(xù)查找系統(tǒng)有無別的弱點)。
關(guān)鍵要素
分析上文的場景,實施一次字典攻擊需要具備兩個要素:
1.黑客了解認證方式(包括認證協(xié)議以及地址、端口等信息),如同小偷需要知道庫房在哪兒,房門掛著的是大銅鎖還是密碼鎖,甚至虹膜、指紋識別?拿著一串金屬鑰匙想打開生指紋識別鎖顯然不現(xiàn)實。
2.黑客擁有比較全面的口令集,包含著各類常見的弱口令,或者目標系統(tǒng)經(jīng)常出現(xiàn)的組合口令,或者目標系統(tǒng)曾經(jīng)泄露的口令集。這樣才有更多的嘗試機會。通常一次字典攻擊的實施還是很耗費時間的,特別是目標系統(tǒng)的口令不那么常見。
預防
那么目標系統(tǒng)該怎樣改進以免受字典攻擊帶來的入侵風險呢。
1.口令的設置更加強壯(具有足夠長度,含有字母、數(shù)字、符號等各種類型),更新更加頻繁。這樣可以減少被字典攻擊猜測成功的幾率。
2.采取針對字典攻擊更為有效的入侵檢測的機制,如某個客戶端向系統(tǒng)頻繁發(fā)起認證請求并失敗時,系統(tǒng)應及時向管理員發(fā)出告警,發(fā)起分析和調(diào)查并在必要時更換新口令。
3.采用更加健壯的加密算法和策略,使得常規(guī)的字典攻擊難以生效。
參考資料 >