文/劉志亮
Wi-Fi密碼規律性探究
文/劉志亮
密碼破解是黑客入侵中一個重要的環節,和漏洞利用相組合就可以無往而不利。針對某大型門戶網站泄露的密碼隨機抽取1億條進行分析,密碼反映國人自我意識和愛的責任特征明顯。
對一個機構的網絡來說,Wi-Fi密碼被猜解往往會成為一個突破內網的入口,而在實際過程中暴力破解Wi-Fi密碼的成功率并不高。如果對目標人群常用的密碼長度和規則進行研究,可以得到一個相對完善的密碼組成習慣,然后再對其進行針對性而不是暴力破解則事半功倍。不同類型的密碼往往其要求或者規則有顯著差異,比如銀行卡的查詢密碼往往是6位數字,郵箱的密碼一般為6~16位的字母和數字的組合,網站后臺的密碼往往包含root、admin、system等,因此在對密碼進行研究時需要具有一定的針對性。本文主要對國內Wi-Fi密碼進行了局部統計,分析出習慣規律和高概率的組合,給公眾未來配置Wi-Fi密碼提供參考,從而避開這些陷阱,提升安全性。
本文研究分析了一份國內真實有效,包含SSID和Wi-Fi連接密碼的樣本集,共計48330個。雖然絕對數量不多,但這些無線熱點分散在國內的數十個一、二線城市,可以反映出一些規律。本文主要從常用Wi-Fi密碼、密碼長度、常用密碼的組成部分、字母加數字的組合、常用特殊字符統計及出現的位置、比較特殊的SSID和密碼等六部分進行統計分析,得出盡可能多的組合規律。下面將對這六部分進行逐一介紹。

表 1 常用Wi-Fi密碼TOP10
前文已經提過在不同的環境下密碼往往存在較大差異,互聯網上流傳著各種各樣的弱口令字典,但這些字典往往具有很大的不同,其破解效率低下,并不能用于快速成功匹配Wi-Fi密碼。造成這種結果的原因主要有兩個:1.數據源不同,2.密碼規則不同。數據源不同是指不同的環境下人的密碼習慣往往不一樣,比如若用網站普通用戶的弱口令去撞庫攻擊網站后臺的密碼成功率往往較低;密碼規則不同是指不同場合下密碼規則不同,比如不能用銀行卡的查詢密碼的弱口令去撞Wi-Fi密碼,因為銀行卡的查詢密碼為六位數字,而Wi-Fi密碼長度往往大于八位,成功的機率微乎其微。
這就要求形成一份真正屬于Wi-Fi密碼的弱口令字典來進行安全測試,于是筆者對樣本中的密碼進行了統計,獲取了前十位排名見表1。
通過表1可以看出,所謂的弱口令全部加起來不過10%左右。如果是為了在一個高樓林立的公共場所內蹭網,可以輕易實現,畢竟無線熱點數量比較多,但若是針對特定用戶來進行Wi-Fi密碼破解來評估安全性并不理想。因此需要對密碼規律進行進一步的研究。
眾所周知,Wi-Fi密碼中不安全的WEP加密方式對長度沒有什么限制,但是目前常用的加密強度較強的WPA、WPA2要求用戶將密碼設置在8~64位之間。這也是不能從其他渠道獲取到的弱口令直接碰撞Wi-Fi密碼的原因,長度的要求往往會改變一些人的習慣。如圖1是按照密碼的長度進行的占比統計分析。

圖1 Wi-Fi密碼的常用長度
通過餅狀圖可以看出,密碼長度為8~11位的密碼所占比例加起來已達76%,其中比較高的前兩位是8位和11位。這與常見的網站密碼、郵箱密碼有很大的不同,筆者曾對某大型門戶網站泄露的用戶數據隨機取出1億條進行統計,發現8位和6位的密碼占據了前兩位,分別為18.2%和16.3%。原因其實很好理解,大部分的路由器要求用戶設置的密碼不低于8位,而網站往往要求用戶設置的密碼長度為6~16位,加之國人對于8“發”、6“順”賦予的特殊含義,結合中國人的手機號碼為11位,考慮到人的惰性或者說一個人的記憶力有限就導致這樣的結果。既然知道了密碼長度占比高的密碼就需要對密碼做進一步的研究,這里只對占據排行榜首席和次席的8位和11位密碼來進行統計分析,看一下國內這些Wi-Fi密碼到底是怎樣的一個組成,有什么樣的習慣。
不同長度的密碼組成往往存在較大的差距,這就需要分析人員研究不同長度密碼的組成部分,進而分析密碼的習慣。占據密碼長度排行榜前兩位的密碼長度分別為8位和11位,本文就對這兩位長度的密碼來分別進行統計。
統計之前需要先對密碼有一個初步的分類,比如純數字的密碼、純字母的密碼、字母加數字的密碼、含有特殊字符的密碼等等。而不同長度的密碼往往具有特定的組成部分,比如11位的密碼中手機號碼可能會占據比較大比例,而八位的密碼中往往會含有如19370707這類的日期,因此需要把這類常用的特定字符串拿出來進行單獨統計分析。如圖2是長度為11位的密碼的組成比例。
通過統計結果可以看出占據11位密碼排行榜首位的是手機號碼,這與預估是相同的,包含手機號在內的純數字的密碼已經占據了11位密碼的71%,占全部密碼的13.9%,甚至比TOP10的弱口令還要高出4個百分點,因此對于特定SSID進行信息搜集是非常重要的。

圖2 長度為11位的Wi-Fi密碼組成比例

圖3 長度為8的Wi-Fi密碼的組成比例
通過分析8位數的密碼可以看出占據排行榜首位的并不是本文前面提到的年月日格式的密碼,其只占據了8位密碼中的11%,但是這并不影響純數字密碼在8位密碼中占據的比例,通過圖3我們可以看出純數字的密碼甚至高達73%,占總密碼比例的21.7%。
經過對8位和11位長度的密碼進行統計可以看出僅這兩種長度的純數字密碼就超過35.6%。這是一個相當高的一個比例,而抓包后對WPA2密碼進行8位數字的密碼破解僅需要幾分鐘的時間。筆者對樣本中的8903個八位數字的密碼進行了統計分析,將占據排行榜前20的密碼作為弱口令統計得到3377個,有4845個非年月日的密碼僅出現過一次,而常見的電話號碼和很多的IM號碼如QQ號等都有大量的八位數字,兩者加起來超過90%,占總密碼的16.9%,這再一次證明了信息收集的重要性。
分析完純數字的密碼接下來我們需要分析占據排行榜第二位的字母加數字的組合。統計發現,樣本中共有17371個密碼采用了字母加數字的組合,占總樣本的35.9%,也是非常普遍。
雖然這種類型的密碼占據了很高的比例,但是這類密碼分析起來比較困難,文中筆者僅對密碼樣本中占比高的長度為11位的密碼進行了統計和分析,雖然具有一定的代表性但不能覆蓋全部的密碼。
首先按照排列順序將密碼進行歸類,初步分為:字母+數字,數字+字母,字母和數字嵌套三種方式。先對樣本中1846 個11位的字母和數字的密碼進行統計發現字母+數共有1423個,數字+字母組合共有232個,字母和數字互相嵌套201個。然后對字母+數字的組合進行了統計,發現三位字母加8位數字出現了574次如圖4所示,占長度為11的字母和數字組合密碼的31%,由此也可見國人對8位數字的鐘愛程度。

圖4 長度為11的密碼中字母+數字組合的字母位數統計
那這三位字母和八位數字分別是什么呢?筆者對其進行了進一步的統計分析,發現排名前三的組合字母為“abc、aaa、asd”但是這三個加起來甚至不超過20%,深入分析發現絕大多數是姓如(liu、lin、gao)或名字的首字母,這一類可以達到70%左右。
那后面的八位數字是什么呢?經分析發現弱口令為92個,年月日230個,非年月日不重復密碼199個,這三項加起來已經達到了90.8%,這與常規的純八位數字的密碼有一些不同。從心理學角度來分析,這種稱之為自我意識或者愛的責任:人們在想自己名字的同時想到數字首先想到的是自己的生日,想到家庭成員的名字時同時想到數字關聯到他們的生日。

圖5 含有特殊字符的密碼長度與數量

圖6 11位密碼中含特殊字符出現的次數
長度為8位和11位的密碼中含有特殊字符的密碼分別占據3%和10%。接下來我們就將討論這些含有特殊字符的密碼的常見規律。
哪些長度的密碼中含有特殊字符的概率較高?
哪些字符出現的概率較高?
這些特殊字符在密碼的哪個位置?
通過圖5可以看出,含有特殊字符的密碼的長度基本成正態分布,其中11位的密碼中含有特殊字符的比率最高,下面將以11位長度的密碼為例來分析含有特殊字符的密碼的組成方式。
通過圖6我們可以看出“.”和“@”字符占據了特殊字符的前兩位,遠超其他的特殊字符。經統計發現含有特殊字符的11位密碼中概率最高的密碼組合為兩位字母加八位數字再加“.”,這與前面提到的11位字符加數字的組合方式十分相似,經分析發現字母主要為姓氏或者名字首字母,不同之處是這個長度為2比如li、wu等。

表2 那些特殊的SSID

表3 那些特殊的密碼
分析完密碼的組合,再來看一些比較特殊的Wi-Fi的SSID和密碼。
那些特殊的SSID,見表2。
通過這些SSID我們可以看出,很多人的路由器的密碼被破解了,可是用戶并不知道,其實是他的路由器本身存在漏洞才被人破解的。
表3這些密碼看起去很長,可是實際上并不是隨意輸入的一串字符,比如第一位密碼實際上是一個密碼的MD5值,第三個密碼是鍵盤上連續的幾個字母zxcvbn 各10遍然后加了一個數字10,第四個密碼看上去很復雜,其實是鍵盤一個順序表,相同的還有九宮格、小鍵盤等輸入順序。
密碼破解是黑客入侵中一個重要的環節,和漏洞利用相組合就可以無往不利。通過以上的分析,可見大多數密碼都有其規律性,如果掌握了不同環境下多數人的密碼使用習慣,再根據這些習慣建模生成相應的密碼字典并進行破解,將顯著提高破解成功率。但隨著用戶網絡安全意識的提高以及加密手段的進步,密碼破解難度也將逐步加大。只有不斷總結和探索新的攻防技術,知已知彼,才能在不斷升級的高等級攻防對抗中占據主動。
(作者單位為公安部第三研究所)