自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

探析Unix口令破解原理

系統(tǒng) 其他OS
我們來講解下Unix口令破解的原理。Unix口令破解通常有蠻力攻擊和字典攻擊兩種方式。實(shí)際上Internet網(wǎng)上有很多現(xiàn)成的密碼破解軟件工具,過于簡單的口令很容易破解。

由于Unix安全性倍受關(guān)注。Unixd的安全性主要靠口令實(shí)現(xiàn),因此,Unix口令加密算法幾度改進(jìn),現(xiàn)在普遍采用DES算法對(duì)口令文件進(jìn)行25次加密,而對(duì)每次DES加密產(chǎn)生的結(jié)果,都要用2的56次方次查找與匹配才能進(jìn)行一次遍歷,要破解這樣的Unix口令,其工作量是巨大的,所以從理論上說這種Unix口令是相當(dāng)安全的。

然而不幸的是我們?nèi)匀徊粫r(shí)聽道Unix口令被攻破的消息。這些Unix口令是如何被攻破的,我們又怎樣才能保證Unix口令的安全呢。下面將對(duì)這一問題進(jìn)行探討。

Unix口令破解通常有蠻力攻擊和字典攻擊兩種方式。Unix中一共有 [0x00~0xff] 共128個(gè)字符,其中 95個(gè)字符(10(數(shù)字)+33(標(biāo)點(diǎn)符號(hào))+26*2(大小寫字母) )可作為口令的字符。假設(shè)m為可能使用的字符集的大小,n為Unix口令的長度,則可生成的口令數(shù)為m的n次冪,隨著字符集的擴(kuò)大與口令長度的增加,口令攻擊嘗試次數(shù)將迅速增加。

如Unix口令長度為6,取字母和數(shù)字組合,可能性是62 的6次冪56,800,235,584。但如果5個(gè)字母是一個(gè)常用漢字的拼音或英文單詞,估算一下常用詞約為10000條,從10000個(gè)常用詞中取一個(gè)詞與任意一個(gè)數(shù)字字符組合成口令,則僅10000* 10 = 100000 (10萬種可能)。

在口令的設(shè)置過程中,還有許多個(gè)人因素在起作用,為使自己的口令容易記憶,許多人往往將個(gè)人的姓名、生日、電話號(hào)碼、街道的號(hào)碼等作為口令,這樣便為口令的破解留下了方便之門。 貝爾實(shí)驗(yàn)室的計(jì)算機(jī)安全專家R.Morris和K.Thompson提出了這樣一種攻擊的可能性:可以根據(jù)用戶的信息建立一個(gè)他可能使用的口令的字典。

比如:他父親的名字、女朋友的生日或名字,街道的名字等等。然后對(duì)這個(gè)字典進(jìn)行加密,每次拿出一個(gè)經(jīng)過加密計(jì)算的條目與口令文件比較,若一致,口令就被猜到了。 也許有人認(rèn)為Unix口令毫無規(guī)律可言,字典中不會(huì)有,計(jì)算機(jī)是破譯不了的,那就大錯(cuò)特錯(cuò)了。有很多專門生成字典的程序,比如:Dictmake、txt2dict、xkey等等。

以dictmake為例:啟動(dòng)程序后,計(jì)算機(jī)會(huì)要求輸入最小Unix口令長度、最大口令長度、口令包含的小寫字符、大寫字符、數(shù)字、有沒有空格、含不含標(biāo)點(diǎn)符號(hào)和特殊字符等一系列的問題。當(dāng)回答完了計(jì)算機(jī)提出的問題后,計(jì)算機(jī)就會(huì)按照給定的條件自動(dòng)將所有的組合方式列出來并存到文件中,而這個(gè)文件就是資料字典。

目前,在因特網(wǎng)上,有一些數(shù)據(jù)字典可以下載,包含的條目從1萬到幾十萬條。數(shù)據(jù)字典一般囊括了常用的單詞。 攻擊者一旦通過某種途徑獲得了passwd文件,破譯過程便只需一個(gè)簡單的C程序即可完成。Unix中有一組子程序可對(duì)/etc/passwd文件進(jìn)行方便的存取。getpwuid()函數(shù)可從/etc/passwd文件中獲取指定的UID的入口項(xiàng)。

getpwnam()函數(shù)可在/etc/passwd文件中獲取指定的登錄名入口項(xiàng)。這兩個(gè)子程序返回一指向passwd結(jié)構(gòu)的指針,該結(jié)構(gòu)定義在/usr/include/pwd.h中,定義如下: 
 

  1. struct passwd {     
  2. char * pw_name; /* 登錄名 */     
  3. char * pw_passwd; /* 加密后的口令 */     
  4. uid_t pw_uid; /* UID */     
  5. gid_t pw_gid; /* GID */     
  6. char * pw_age; /* 代理信息 */     
  7. char * pw_comment; /* 注釋 */     
  8. char * pw_gecos;     
  9. char * pw_dir; /* 主目錄 */     
  10. char * pw_shell; /* 使用的shell */     
  11. char * pw_shell; /* 使用的shell */     
  12. }  


getpwent(),setpwent(),endpwent()等函數(shù)可對(duì)Unix口令文件作后續(xù)處理。首次調(diào)用getpwent()可打開/etc/passwd文件并返回指向文件中第一個(gè)用戶條目的指針,再次調(diào)用getpwent()便可順序地返回口令文件中的各用戶條目,setpwent() 可把口令文件的指針重新置為文件的開始處,endpwent() 可關(guān)閉口令文件。

由此可見,攻擊者只需建立一個(gè)字典文件,然后調(diào)用現(xiàn)成的cryp()加密例程來加密字典文件中的每一條目,再用上述函數(shù)打開口令文件,進(jìn)行循環(huán)比較就很容易破解密碼了。

實(shí)際上Internet網(wǎng)上有很多現(xiàn)成的密碼破解軟件工具,過于簡單的口令很容易破解。那么,我們用什么方法來保證用戶口令是一個(gè)安全的口令呢?運(yùn)用CrackLib來構(gòu)建安全的Unix口令是一個(gè)較好的辦法。

【編輯推薦】

  1. 8.1.3 UNIX口令散列
  2. Unix文件系統(tǒng)高級(jí)管理
  3. Unix文件系統(tǒng)備份概述
  4. Unix系統(tǒng)如何防止感染DOS系統(tǒng)病毒
  5. 鑒別Unix系統(tǒng)是否被入侵技巧
責(zé)任編輯:小霞
相關(guān)推薦

2010-04-20 17:24:42

Unix操作系統(tǒng)

2017-09-08 10:45:52

Linux排錯(cuò)方案root口令

2012-05-22 15:37:10

2019-01-10 05:53:57

2010-04-27 09:16:49

2012-09-21 11:18:39

2009-04-27 21:28:56

2010-05-05 16:47:57

Unix Tripwi

2024-06-18 08:14:21

2019-10-11 09:45:19

代碼開發(fā)密碼

2021-12-09 15:45:09

Python弱引用代碼

2021-10-15 11:37:44

反爬蟲破解

2010-09-08 13:47:34

2010-05-07 14:11:06

Unix--Tripw

2019-04-16 10:29:30

2021-06-28 18:57:15

CSS網(wǎng)頁爬蟲

2021-06-09 18:22:11

反爬蟲破解

2010-04-27 09:55:15

2010-12-22 11:23:02

2012-05-04 10:13:30

WLAN無線WiFi
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)