黎源 蔡大海
摘 要:賬號(hào)口令安全是保障各類設(shè)備安全的至關(guān)重要的基礎(chǔ),但長(zhǎng)期以來(lái),弱口令一直作為電信企業(yè)常見(jiàn)的高風(fēng)險(xiǎn)安全問(wèn)題存在。為了解決口令核查可能影響業(yè)務(wù)及效率低下的問(wèn)題,從集中處理密文和優(yōu)化弱口令字典庫(kù)等方面出發(fā),提出了一種能夠進(jìn)行集中的弱口令檢查方案,能夠支持大規(guī)模弱口令檢測(cè)常態(tài)化的需要。
關(guān)鍵詞:弱口令;口令字典;暴力破解
0 引言
弱口令是指容易被破解的口令,如123456等。長(zhǎng)期以來(lái),弱口令一直作為各種安全檢查、風(fēng)險(xiǎn)評(píng)估報(bào)告中最常見(jiàn)的高風(fēng)險(xiǎn)安全問(wèn)題存在,成為攻擊者控制系統(tǒng)的主要途徑,許多安全防護(hù)體系是基于密碼的,口令被破解在某種意義上來(lái)講意味著其安全體系的全面崩潰。
通信運(yùn)營(yíng)商的設(shè)備通常數(shù)量多,類型雜,以某省移動(dòng)公司為例,一個(gè)網(wǎng)絡(luò)部位維護(hù)的設(shè)備有幾千臺(tái),類型上百種,無(wú)法進(jìn)行有效的、全量的弱口令檢查,且運(yùn)營(yíng)商系統(tǒng)往往具有24小時(shí)不間斷提供業(yè)務(wù)的特點(diǎn),要求口令檢查不能影響業(yè)務(wù)。 同時(shí),通信企業(yè)內(nèi)的弱口令除了安全界通用弱口令外,還包括常見(jiàn)的設(shè)備缺省口令、維護(hù)人員習(xí)慣設(shè)置的常見(jiàn)弱口令等,這些口令較為隱秘,除使用人外一般無(wú)法發(fā)現(xiàn)。特別是系統(tǒng)缺省弱口令,是發(fā)生第三方人員“越權(quán)使用、權(quán)限濫用、權(quán)限盜用”等違規(guī)行為的一個(gè)重要原因。
1 現(xiàn)有弱口令檢查技術(shù)分析
1.1 密碼破譯原理
弱口令檢查的實(shí)現(xiàn)基于密碼破譯,密碼分析者破譯或攻擊密碼的方法主要有窮舉攻擊法、統(tǒng)計(jì)分析法和數(shù)學(xué)分析攻擊法。
窮舉攻擊法又稱為強(qiáng)力或蠻力(Brute force)攻擊。這種攻擊方法是對(duì)截獲到的密文嘗試遍歷所有可能的密鑰,直到獲得了一種從密文到明文的可理解的轉(zhuǎn)換;或使用不變的密鑰對(duì)所有可能的明文加密直到得到與截獲到的密文一致為止;統(tǒng)計(jì)分析法就是指密碼分析者根據(jù)明文、密文和密鑰的統(tǒng)計(jì)規(guī)律來(lái)破譯密碼的方法;數(shù)學(xué)分析攻擊是指密碼分析者針對(duì)加解密算法的數(shù)學(xué)基礎(chǔ)和某些密碼學(xué)特性,通過(guò)數(shù)學(xué)求解的方法來(lái)破譯密碼。數(shù)學(xué)分析攻擊是對(duì)基于數(shù)學(xué)難題的各種密碼算法的主要威脅。
由于操作系統(tǒng)口令加密往往采用了MD5或SHA-1 等不可逆加密算法,而且在企業(yè)中使用的操作系統(tǒng)類型往往較多,因此無(wú)法用統(tǒng)計(jì)分析法和數(shù)學(xué)分析法來(lái)檢查系統(tǒng)中存在的弱口令。對(duì)于實(shí)際應(yīng)用中的密碼系統(tǒng)而言,至少存在一種破譯方法,即窮舉法。利用窮舉法進(jìn)行暴力破解是較多的弱口令檢查工具采用的方法,如John the ripper、LC5、RainbowCrack、Ophcrack等破解工具,為了避免計(jì)算量過(guò)大和破譯時(shí)間太長(zhǎng),這些工具往往使用了口令字典,只對(duì)字典里的口令進(jìn)行嘗試。
1.2 弱口令核查方式分析
目前弱口令核查采用主要采用兩種方式:遠(yuǎn)程連接網(wǎng)元反復(fù)嘗試登錄帳號(hào)口令的方式和登錄主機(jī)等設(shè)備獲取口令文件進(jìn)行離線單機(jī)破解方式。
遠(yuǎn)程連接網(wǎng)元、嘗試登錄帳號(hào)口令方式存在以下問(wèn)題:
①有損探傷,極易造成配置了帳號(hào)鎖定策略的設(shè)備死鎖,影響用戶正常訪問(wèn);
②由于考慮對(duì)網(wǎng)元設(shè)備存在影響,不能開(kāi)展超大字典庫(kù)的嘗試,因而往往集中于出廠缺省帳號(hào)配置和少量其它弱口令,不能更加全面發(fā)現(xiàn)不符合強(qiáng)口令策略的其它弱口令;
③由于只嘗試登錄從互聯(lián)網(wǎng)可以訪問(wèn)到的設(shè)備,無(wú)法實(shí)現(xiàn)防火墻隔離的內(nèi)網(wǎng)設(shè)備的弱口令核查;
④由于采用嘗試登錄可連接的設(shè)備進(jìn)行弱口令核查,沒(méi)有口令破解算法模塊,不支持離線對(duì)口令文件的檢查,未購(gòu)買相應(yīng)工具的省公司無(wú)法借助已有平臺(tái)完成所有防火墻內(nèi)、外網(wǎng)設(shè)備的弱口令核查。
人工登錄主機(jī)等設(shè)備獲取口令文件,利用帶弱口令字典的破解工具進(jìn)行離線、單機(jī)破解方式主要存在以下問(wèn)題:
①分散化,弱口令字典分散在各個(gè)離線破解的工具當(dāng)中,無(wú)法進(jìn)行統(tǒng)一、高效的配置和管理,如弱口令字典庫(kù)升級(jí),無(wú)法做到一點(diǎn)升級(jí)全網(wǎng)有效,及時(shí)更新最新弱口令字典;
②人工工作量巨大,包括逐個(gè)設(shè)備獲取文件、破解結(jié)果統(tǒng)一分析形成報(bào)告等等;
③效率低下,無(wú)法實(shí)現(xiàn)定期、全網(wǎng)性弱口令排查。
④需要獲得目標(biāo)機(jī)器的密碼密文文件。
2 集中弱口令檢查系統(tǒng)體系架構(gòu)設(shè)計(jì)
2.1 集中弱口令檢查系統(tǒng)主要需求
集中弱口令檢查系統(tǒng)是為實(shí)現(xiàn)對(duì)通信運(yùn)營(yíng)商全網(wǎng)所有網(wǎng)元中的所有帳號(hào)口令強(qiáng)度的高效、全面、準(zhǔn)確、及時(shí)掌控,整合現(xiàn)有安全技術(shù)手段,引入和優(yōu)化現(xiàn)有口令檢查工具的方法,從而實(shí)現(xiàn)大規(guī)??诹畹某B(tài)化檢查,支持完全不影響業(yè)務(wù)系統(tǒng)正常運(yùn)行的、以在線或者離線獲取各網(wǎng)元口令文件、后臺(tái)集中破解為主要特征的“無(wú)損探傷”模式弱口令核查功能,支持集中核查各類在網(wǎng)主機(jī)、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)設(shè)備、應(yīng)用系統(tǒng)的弱口令核查功能,以實(shí)現(xiàn)全面掌控在網(wǎng)設(shè)備口令設(shè)置情況的目的。主要有4個(gè)方面需求。
①建設(shè)符合企業(yè)和運(yùn)維特點(diǎn)的弱口令字典:自動(dòng)或手工搜集全網(wǎng)各類主機(jī)、網(wǎng)絡(luò)設(shè)備、應(yīng)用、數(shù)據(jù)庫(kù)等網(wǎng)元常見(jiàn)出廠缺省配置、基于維護(hù)習(xí)慣選擇等導(dǎo)致的弱口令,結(jié)合互聯(lián)網(wǎng)上典型的字典庫(kù),形成具備企業(yè)特有的弱口令字典。
②密碼密文(口令文件)采集:通過(guò)4a(即集中賬號(hào)口令管理系統(tǒng))提供的連接網(wǎng)元的網(wǎng)絡(luò)通道,采集各類主機(jī)、網(wǎng)絡(luò)設(shè)備、防火墻、數(shù)據(jù)庫(kù)、的口令文件,支持在線直連網(wǎng)元采集、人工方式導(dǎo)入的離線采集兩種方式。
③弱口令分析:針對(duì)不同類型設(shè)備的口令文件,采用對(duì)應(yīng)的破解引擎和弱口令字典庫(kù),通過(guò)匹配的方式逐一嘗試破解各個(gè)帳號(hào)的口令,發(fā)現(xiàn)其中的弱口令進(jìn)行對(duì)比。
④弱口令分布統(tǒng)計(jì):對(duì)全網(wǎng)弱口令現(xiàn)狀進(jìn)行分析,分公司、部門、系統(tǒng)、設(shè)備各個(gè)維度,得出各弱口令數(shù)量、比例、排名和變化趨勢(shì)。
2.2 集中弱口令檢查系統(tǒng)體系架構(gòu)
集中弱口令系統(tǒng)的整體服務(wù)體系架構(gòu)分為客戶端、采集探針、分析服務(wù)器3部分,如圖1所示,支持各種客戶端接入,通過(guò)采集探針支持多個(gè)網(wǎng)絡(luò)接入,并在后臺(tái)破解分析服務(wù)器上基于負(fù)載均衡機(jī)制進(jìn)行分布式弱口令破解分析。
系統(tǒng)功能架構(gòu)如圖2所示,采集層通過(guò)手工獲取密碼文件,或通過(guò)4A系統(tǒng)獲取各設(shè)備的帳號(hào)權(quán)限,自動(dòng)登錄設(shè)備將密碼文件采集到集中分析服務(wù)器,分析層則通過(guò)字典庫(kù)進(jìn)行弱口令比對(duì)分析,在展示層展現(xiàn)弱口令數(shù)量、分布、排名和趨勢(shì),在業(yè)務(wù)層對(duì)字典庫(kù)、腳本等進(jìn)行管理。
3 集中弱口令檢查系統(tǒng)關(guān)鍵技術(shù)研究
3.1 通過(guò)動(dòng)態(tài)字典庫(kù)提高破解效率
現(xiàn)有的弱口令破解方式均采用暴力破解方式,即采用窮舉法,按照一定的規(guī)則和算法,將密碼進(jìn)行逐個(gè)推算直到找出真正的密碼為止,這導(dǎo)致了暴力破解的過(guò)程需要很長(zhǎng)的時(shí)間。
為了提高暴力破解效率,一般采用密碼字典、密碼組合規(guī)則或者兩者結(jié)合的方式提高破解效率。通過(guò)在密碼字典中,放入常見(jiàn)的弱口令信息,自行設(shè)置的口令組成信息(密碼組合一般按照數(shù)字型、大寫字母、小寫字母、特殊字符、用戶自定義字符等字符類型進(jìn)行組合)。但一般的密碼字典、密碼組合規(guī)則由于缺乏維護(hù)和自身所應(yīng)用行業(yè)特點(diǎn),導(dǎo)致破解效率及弱口令發(fā)現(xiàn)率很低。由于設(shè)備量和帳號(hào)數(shù)量巨大,采用現(xiàn)有暴力破解方式的弱口令檢查仍將需要投入眾多的服務(wù)器設(shè)備和耗費(fèi)很長(zhǎng)的時(shí)間,不能支持常態(tài)化的弱口令檢測(cè)需要。為了提高弱口令的發(fā)現(xiàn)率和破解效率,我們?cè)O(shè)計(jì)了以下優(yōu)化字典庫(kù)解決方案。
3.1.1 弱口令自動(dòng)加權(quán)及排序
如圖3所示,自動(dòng)智能排序的口令檢測(cè)是在每次弱口令檢測(cè)過(guò)程中對(duì)所發(fā)現(xiàn)的弱口令進(jìn)行出現(xiàn)次數(shù)累加作為權(quán)重,在此基礎(chǔ)上自動(dòng)生成弱口令的調(diào)用優(yōu)先順序;在后續(xù)的弱口令暴力破解過(guò)程中,按照優(yōu)先順序調(diào)用弱口令字典進(jìn)行口令破解。
3.1.2 基于現(xiàn)有密文文件的弱口令字典庫(kù)擴(kuò)展
自動(dòng)搜集全網(wǎng)各類主機(jī)、網(wǎng)絡(luò)設(shè)備、應(yīng)用、數(shù)據(jù)庫(kù)等網(wǎng)元常見(jiàn)出廠缺省配置、基于維護(hù)習(xí)慣選擇等導(dǎo)致的弱口令。通過(guò)收集所有密文文件,計(jì)算相同密文出現(xiàn)的頻率,對(duì)出現(xiàn)次數(shù)達(dá)到一定閥值(如10次)的密文,定為弱口令密文,并破解或跟管理員調(diào)查到密碼后列入弱口令字典庫(kù),通過(guò)這種方法,能夠有效發(fā)現(xiàn)一些設(shè)備的默認(rèn)、通用密碼 。具體流程圖見(jiàn)圖4:
3.1.3 基于規(guī)則的弱口令庫(kù)擴(kuò)展
為了提高弱口令發(fā)現(xiàn)能力,除了采用通用弱口令字典外,往往通過(guò)密碼組合規(guī)則(如6位數(shù)字,3位數(shù)字+3位密碼等)生成密碼字典,但是通過(guò)秘密規(guī)則生成的字典往往較大,為了兼顧效率和能力,我們采用每次只用一個(gè)規(guī)則生成字典,發(fā)現(xiàn)的弱口令加入到弱口令字典庫(kù)中,第二次再采用另外的規(guī)則生產(chǎn)字典,以盡可能的發(fā)現(xiàn)多的弱口令。流程圖如圖5所示。
3.1.4 性能測(cè)試評(píng)估
為了檢驗(yàn)優(yōu)化字典庫(kù)后的破解效率和發(fā)現(xiàn)能力,我們對(duì)15臺(tái)設(shè)備的密碼文件進(jìn)行弱口令檢查測(cè)試,(5臺(tái)unix,5臺(tái)windows,5臺(tái)linux),硬件條件:一臺(tái)普通PCserver(8核64G),使用John the rippe做破解工具,分別使用網(wǎng)上1個(gè)100萬(wàn)條的弱口令字典庫(kù)和經(jīng)過(guò)優(yōu)化后的字典庫(kù)逐個(gè)進(jìn)行破解,我們對(duì)每次測(cè)試結(jié)果進(jìn)行記錄,如表1:
通過(guò)圖6數(shù)據(jù)可知,優(yōu)化字典庫(kù)后破解時(shí)間基本每次破解比優(yōu)化前有所減少,說(shuō)破解效率比較穩(wěn)定,總破解時(shí)間減少了26秒,效率提高了6.2%。自動(dòng)化采集密碼文件后,還能節(jié)省每次手工選擇密碼文件的時(shí)間,效率將進(jìn)一步提升。
通過(guò)圖7數(shù)據(jù)可以看出,使用優(yōu)化后自動(dòng)庫(kù)發(fā)現(xiàn)能力大大提高,從發(fā)現(xiàn)10個(gè)提升到20個(gè),發(fā)現(xiàn)能力提高了1倍,從具體發(fā)現(xiàn)的弱口令看,優(yōu)化后發(fā)現(xiàn)了Zxcm01之類的默認(rèn)口令,使用網(wǎng)上通用的口令字典則難以發(fā)現(xiàn)。
3.2 密文文件集中采集的實(shí)現(xiàn)
在實(shí)際的黑客攻擊破解中,由于重重安全防護(hù),獲取密文文件往往較為困難,導(dǎo)致難以發(fā)現(xiàn)弱口令。與實(shí)際攻擊破解不同,在企業(yè)中由于管理員自身掌握有設(shè)備的帳號(hào)密碼,能夠通過(guò)正常渠道登錄下載密文文件,通過(guò)分析密文文件,能夠取得較好的檢查效果。目前通信運(yùn)營(yíng)商一般建設(shè)了4A系統(tǒng)(即集中的賬號(hào)鑒權(quán)系統(tǒng)),通過(guò)與4A系統(tǒng)做接口,就能夠?qū)崿F(xiàn)自動(dòng)的密文文件下載功能。
4 應(yīng)用效果
部署集中弱口令檢查系統(tǒng)后,目前支持Unix、Windows、Cisco等20各類主流主機(jī)、網(wǎng)絡(luò)設(shè)備、數(shù)據(jù)庫(kù)的核查,檢查設(shè)備量約一千五百多臺(tái)設(shè)備,能在8小時(shí)內(nèi)完成一次檢查,滿足了每周進(jìn)行一次全量核查的需求,發(fā)現(xiàn)了大量的默認(rèn)密碼和弱口令,部分弱口令連系統(tǒng)管理員都沒(méi)有掌握。通過(guò)集中的整治,除了個(gè)別賬號(hào)由于業(yè)務(wù)需要不能更改,絕大部分弱口令得以消除,提升了網(wǎng)絡(luò)的安全性,實(shí)現(xiàn)了對(duì)全網(wǎng)所有網(wǎng)元中的所有帳號(hào)口令強(qiáng)度的高效、全面、準(zhǔn)確、及時(shí)掌控。
5 結(jié)束語(yǔ)
本文在傳統(tǒng)的、分散的利用破解工具對(duì)密碼文件進(jìn)行破解的基礎(chǔ)上,提出了自動(dòng)采集密碼文件,優(yōu)化字典庫(kù)進(jìn)行集中檢查的方案,該方案以提高破解效率以及破解能力為目標(biāo),通過(guò)對(duì)字典的弱口令加權(quán)排序、基于現(xiàn)有密文文件對(duì)默認(rèn)、通用口令進(jìn)行自動(dòng)發(fā)現(xiàn),基于規(guī)則生產(chǎn)弱口令實(shí)現(xiàn)弱口令字典庫(kù)的自動(dòng)擴(kuò)展,可在有限硬件支撐和短時(shí)間完成大規(guī)模的帳號(hào)弱口令檢測(cè),使常態(tài)化的大規(guī)模弱口令核查成為了可能。此外,本系統(tǒng)不僅局限于應(yīng)用在通信運(yùn)營(yíng)商,也可以推廣到具有大量IT設(shè)備需要進(jìn)行口令檢查的企業(yè)。
參考文獻(xiàn):
[1]William Stallings 密碼編碼學(xué)與網(wǎng)絡(luò)安全[M].電子工業(yè)出版社, 2004年1月.
[2]吳開(kāi)興,張榮華.加密技術(shù)的研究與發(fā)展[J].計(jì)算機(jī)安全,2011.06.
[3]DouglasR Stinson.密碼學(xué)原理與實(shí)踐[M].電子工業(yè)出版社,2009年07月.
作者簡(jiǎn)介:黎源,男,1987,廣西武宣人,壯族,網(wǎng)絡(luò)代維管理,研究方向:網(wǎng)絡(luò)安全;蔡大海,男,1982,廣西北海人,漢族,工程師,研究方向:電信科學(xué)。