【口令安全系列之一】帶你認(rèn)識弱口令的前世今生
發(fā)布時間: 2016-01-04 15:24:40
世界上本沒有弱口令,使用的人多了,也就成了弱口令。——題記
在現(xiàn)代社會,隨著信息化和互聯(lián)網(wǎng)化的不斷發(fā)展,用戶口令作為鑒別用戶身份的重要手段已經(jīng)滲透到生活的方方面面,無論是日常辦公、社交娛樂還是網(wǎng)上購物甚至外出旅游,我們在享受各種應(yīng)用帶來的便利的同時,也往往需要和各種各樣的賬號口令打交道,因此口令安全在保障個人和組織的信息安全方面有著重大的意義,了解弱口令的產(chǎn)生能夠有效幫助大家提高安全意識,提高口令的安全性和信息安全水平。
一、弱口令的起源
“天王蓋地虎”,“寶塔鎮(zhèn)河妖”這兩句對話大家想必耳熟能詳,這是早年江湖匪幫用來確認(rèn)彼此身份的黑話,這種某個團(tuán)體通過事先約定的對話方式來確定雙方身份的方法最早應(yīng)用于軍隊等特殊機(jī)構(gòu),后來作為驗(yàn)證身份的方法被廣泛使用,可以說也就是現(xiàn)在信息系統(tǒng)中賬號口令的前身。正是由于古代采用口述信息的方法來驗(yàn)證,所以這些預(yù)先約定好的信息通常被稱為“口令”,即使現(xiàn)代社會已經(jīng)很少使用口試來提供驗(yàn)證身份的信息,這些信息仍然沿用口令這個名稱,我們通常說的“密碼”其實(shí)在專業(yè)領(lǐng)域應(yīng)該被稱為“口令”。
既然口令是驗(yàn)證身份的一種信息,那么當(dāng)有人希望冒充他人身份來獲取進(jìn)行行為或謀取利益的時候,通過使用對方的口令來驗(yàn)證就是一種很自然會想到的方式。在古代,通常通過間諜、竊聽等方式來獲得他人的口令,而在現(xiàn)代社會,由于信息系統(tǒng)的特點(diǎn),口令猜測則成為了一種可行和有效的方式。
口令猜測攻擊是利用信息系統(tǒng)可以進(jìn)行自動化身份驗(yàn)證的特點(diǎn),采用手工或自動化工具多次嘗試目標(biāo)用戶可能使用的口令,直到身份驗(yàn)證成功為止的一種攻擊方式??诹畈聹y攻擊最初的理論依據(jù)是由于信息系統(tǒng)組成口令的字符集是有限,因此只要采用窮舉法的方式理論上一定能夠找出正確的口令,也就是常說的暴力破解攻擊。但是隨著口令長度的增加,如果僅僅依靠窮舉法來進(jìn)行口令猜測,完成口令猜測花費(fèi)的時間也會大大增加,當(dāng)口令猜測花費(fèi)的時間長到一定的程度時,由于無法及時獲取口令或者投入過大很可能會導(dǎo)致攻擊行為失去了原本的意義。為了解決這個問題,人們對口令猜測的結(jié)果進(jìn)行了研究,發(fā)現(xiàn)有許多口令是經(jīng)常被使用的,在進(jìn)行暴力破解時如果先嘗試這些口令,則有很大的可能性在較短的時間內(nèi)成功完成身份驗(yàn)證。于是,人們將這些口令總結(jié)出來,形成一系列優(yōu)先嘗試的口令集合,也被稱為“口令字典”,而這些字典中的口令由于容易受到口令猜測攻擊,最終被稱為“弱口令”。
二、常見的弱口令
了解了弱口令的來源,那么我們不禁想要問,什么樣的口令算是弱口令呢?其實(shí)這個問題在業(yè)界還沒有非常統(tǒng)一和明確的定義,不同級別和大小的字典庫收錄的弱口令數(shù)量并不相同,針對不同背景、環(huán)境的使用人群定義出的弱口令也會有所不同。雖然弱口令并沒有嚴(yán)格統(tǒng)一的定義,但從弱口令的起源來看,我們可以看出弱口令通常有兩個特點(diǎn)之一:1)使用窮舉法進(jìn)行暴力的難度低2)容易被猜測。
從窮舉法的特點(diǎn)來看,口令包含的位數(shù)越少,包含的字符類型越少,則破解的難度越低,如純數(shù)字的口令破解的難度低于數(shù)字、字母混合口令,而暴力破解6位口令需要花費(fèi)的時間遠(yuǎn)小于破解8位口令花費(fèi)的時間。因此,通??诹铋L度過短或僅包含單一類別字符的口令被認(rèn)為是弱口令。
以下為某測試機(jī)構(gòu)測試的本地破解需要的時間,可以看出口令長度和復(fù)雜度對于暴力破解難度的影響程度非常明顯,當(dāng)口令長度過短或包含的字符類型過少時破解口令花費(fèi)的時間非常少,即使使用窮舉法也不難破解,所以都被認(rèn)為是弱口令。雖然實(shí)際環(huán)境中遠(yuǎn)程破解的情況遠(yuǎn)多于本地破解,而遠(yuǎn)程破解花費(fèi)的時間通常也會比本地破解高許多,但口令復(fù)雜度對于口令破解時間的影響是基本一致的。因此以下數(shù)據(jù)還是比較具有參考意義。
然而,僅僅通過口令的長度和復(fù)雜度來判斷弱口令是不準(zhǔn)確的,一個好的弱口令字典還會加入大量的常用口令,而這些口令由于使用范圍較廣,口令猜測的成功率往往較高。這些常用口令通常是一些常見的可猜測的字符串或者由這些字符串組成,常見組成弱口令的元素如下:
●連續(xù)或重復(fù)的數(shù)字,如123、123456、987654、111、222333等;
●連續(xù)或重復(fù)的字母,如aaa、abc、abcdef、zyx等;
●鍵盤上常見的連續(xù)按鍵,如:1qaz@wsx、qwert、asdfghjkl;、!@#、147258369(數(shù)字鍵盤)等;
●日期或年份,如800128(生日)、2012、19251120等;
●與用戶相關(guān)的名稱信息,如newdoone(公司名稱)、shaoyuanming(姓名全拼)、sym(姓名縮寫)、oa(產(chǎn)品名稱)、admin(用戶名)、手機(jī)號等;
●具有特殊含義的字符串,如520、1314、woaini;
●其他常用的字符串:root、abc123!、administrator、test等。
以上元素被許多人用來構(gòu)成好記的口令,而攻擊者也會使用上述素材相互組合來生成弱口令字典。如newdoone123(公司名稱+連續(xù)數(shù)字)、abc!@#(連續(xù)字母+鍵盤按鍵)、asdf520(鍵盤按鍵+特殊含義字符)、shaoyuanming2012(用戶名+年份)等,符合上述規(guī)律的都可以認(rèn)為是弱口令。
三、設(shè)置強(qiáng)口令
使用弱口令的危害不言而喻,在了解了弱口令的起源和常見弱口令之后,大家是不是想知道怎樣才能設(shè)置一個不易破解的口令呢?結(jié)合上一章節(jié)的內(nèi)容,我們對設(shè)置強(qiáng)口令的要求來做一個總結(jié),如果設(shè)置的口令滿足以下要求,口令強(qiáng)度就能滿足我們大多數(shù)日常和辦公的要求了:
●口令長度不小于8位,至少包含數(shù)字、大小寫字母、符號中的三類;
●口令不得包含三個以上連續(xù)的數(shù)字或字母,包括正序和倒序(如包含abc、123、987、zyx);
●不同字符總數(shù)不小于4,(如1122AA 算3 個字符,111111算一個字符);
●口令不得為帳號一部分或包含賬號;
●口令不應(yīng)包含root、admin、公司名稱、產(chǎn)品名稱、姓名、手機(jī)號等常見的弱口令元素;
●不得使用常見的鍵盤按鍵位置口令:1qaz2wsx,1qaz@WSX,!QAZ2wsx等。
在完成口令設(shè)置以后可以到以下網(wǎng)址測試一下口令被破解的時間:
https://howsecureismypassword.net/
輸入設(shè)置的口令,可以看到破解口令需要的時間和建議:
看完了今天的資訊,也許有人會問,我也知道弱口令的危害,但是設(shè)置太強(qiáng)的口令我又記不住怎么辦呢?敬請期待口令安全系列之二——設(shè)置一個強(qiáng)大又好記的口令。