由于網(wǎng)路的不斷普及、和國(guó)際網(wǎng)路的迅猛發(fā)展﹐網(wǎng)路安全變得越來(lái)越重要了。而保護(hù)網(wǎng)路的第一道防線就是使用者帳戶和密碼的。不過(guò)道高一尺﹐魔高一丈﹐許多網(wǎng)路攻擊者都能借助簡(jiǎn)單的工具就可以破解使用者密碼了。
密碼的儲(chǔ)存方法
在 Linux 系統(tǒng)里面﹐所有的使用者名稱和密碼都在 /etc/passwd 這個(gè)檔案里面﹐不過(guò)密碼部份則是經(jīng)過(guò)加密(encryption)處理的﹐所以﹐即使你打開(kāi)了這個(gè)檔案﹐也不能夠直接看到原來(lái)的密碼的。我們稱樣的保密方法為“編碼(enconde)”﹕當(dāng)使用者輸入密碼之后﹐系統(tǒng)挑選一個(gè)隨機(jī)產(chǎn)生的變化數(shù)值(salt),連同使用者輸入的文字作編碼處理而轉(zhuǎn)換成其它文字﹐而這個(gè) salt 也隨著轉(zhuǎn)變后的文字一起存儲(chǔ)起來(lái)。
所以當(dāng)您從密碼檔案看到的字元﹐已經(jīng)不是原來(lái)的密碼了。如果使用者重新登錄系統(tǒng)﹐其所輸入的密碼會(huì)再被使用相同的方法轉(zhuǎn)碼﹐看看其結(jié)果是否和存放在密碼檔的編碼一致﹐如果一致﹐則可以通過(guò)﹔否則不予放行。
由于用作密碼加密的演算法是一種單向的雜湊演算法,是不可逆解的:它只能針對(duì)輸入內(nèi)容產(chǎn)生雜湊結(jié)果,若輸入內(nèi)容一致,那結(jié)果就一致。不同的輸入透過(guò)該演算法所產(chǎn)生的結(jié)果是不可能一致的。換而言之,要將這個(gè)轉(zhuǎn)變后的字碼翻譯成原來(lái)的樣子似乎是件不可能的任務(wù)。
破解密碼的方法之一
若您有機(jī)會(huì)訪問(wèn)過(guò)有系統(tǒng)經(jīng)驗(yàn)的駭客,或看過(guò)他們的心的分享,您或許會(huì)訝異:原來(lái)許多密碼都是靠猜得來(lái)的!將帳號(hào)名稱照打一遍、或倒過(guò)來(lái)打,或用使用者的姓名或生日,或是對(duì)方的配偶、小孩、寵物名稱,或是用 password、god、123456、abcdefg、2002、qwerty、等等來(lái) try try 看... 居然有很大機(jī)會(huì)獲得對(duì)方的密碼呢~~~
破解密碼的方法之二
此外,一般的駭客都知道﹕大部份使用者喜歡使用現(xiàn)成的字詞來(lái)做密碼﹐因?yàn)樗麄儗?shí)在怕忘記了密碼之后找網(wǎng)路管理員時(shí)候所看到的黑臉。駭客們就可以使用收集有各種常用字的字典﹐然后逐個(gè)的進(jìn)行 salt 采樣﹐再用同樣的演算法來(lái)作雜湊處理,最后一一對(duì)照密碼檔案上面的編碼﹐從而猜到原來(lái)的密碼。當(dāng)然﹐他們不會(huì)笨到用手工來(lái)計(jì)算和比較啦﹐駭客們通常不是程式高手也會(huì)利用別人寫(xiě)的程式來(lái)完成這個(gè)工作的。這個(gè)就是著名的“字典破解法”了。
破解密碼的方法之三
假如使用者避免了字典所能找到的詞(或變種)來(lái)作密碼呢?那駭客們難道就沒(méi)法破解了嗎?非也,破解者大可用程式對(duì)所有能用來(lái)作密碼的字元(例如 ASCII 編碼)進(jìn)行所有的組合嘗試,再以同樣方法作 salt 采樣,然后再以同樣的演算法來(lái)比對(duì)結(jié)果,那么,總有一天密碼還是能破解的。這就是所謂的“暴力破解法”了。
破解密碼的方法之四
有些人要努力的工作﹐有些人則聰明的工作。一些駭客不一定要使用到非常高深的破解技能就可以輕易的獲得使用者密碼了??康氖鞘裁穿t答案是﹕“靠騙﹗”。試想一下﹕在一些大型的機(jī)構(gòu)里﹐各部門(mén)之間并不是經(jīng)常見(jiàn)面的。比如您在會(huì)計(jì)部門(mén)工作的﹐當(dāng)電腦壞了﹐通常會(huì)先打個(gè)電話問(wèn) Help Desk ﹐如果能在電話里面解決﹐您根本就不知道對(duì)方的模樣是怎樣的﹐而且下次或許又是另外一個(gè)人了﹔就算資訊組需要派人來(lái)修理﹐也未必是每次同一個(gè)人。
所以﹐假如有一天﹐當(dāng)某人自稱來(lái)自資訊部門(mén)﹐用非常禮貌而又不顯唐突的語(yǔ)調(diào)在電話中跟您說(shuō)﹕“因?yàn)楣镜木W(wǎng)路需要重新調(diào)整﹐所有帳號(hào)都需要重新設(shè)定﹐請(qǐng)求您把舊密碼報(bào)上來(lái)﹐好作安排”諸如此類﹐我想有一半人會(huì)老實(shí)作答﹐即使有所懷疑﹐也未必到處求證。就算您馬上提出質(zhì)疑﹐對(duì)方大不了掛上電話而已﹐恐怕您也不會(huì)勞師動(dòng)眾去追查電話來(lái)源吧﹖
不如調(diào)過(guò)來(lái)吧﹕您是網(wǎng)路管理員。忽然接到電話﹐對(duì)方報(bào)稱為某某職員﹐使用某某賬號(hào)﹐昨天剛換了密碼﹐不過(guò)今天忘記了﹐問(wèn)說(shuō)可不可以重新幫他設(shè)定密碼﹖如果貴公司制度不嚴(yán)﹐或您工作隨便﹐搞不好﹐馬上大手一揮﹐霹靂吧啦一輪鍵盤(pán)敲擊﹐就把對(duì)方打發(fā)走了。您又幾何會(huì)想過(guò)對(duì)方是一個(gè)駭客呢﹖
又假如﹐某天您獲得自稱某 發(fā)來(lái)的 email ﹐恭喜您被選中獲得終身免費(fèi)帳號(hào)﹐要求回報(bào)帳號(hào)和密碼﹐好為您轉(zhuǎn)換帳號(hào)類型。我想﹐您這么聰明是不會(huì)上當(dāng)?shù)睦瞺~~ 但您難保九十九個(gè)聰明人之外﹐還有一個(gè)大笨蛋會(huì)和盆托出哦。
你看﹖是不是很容易就獲得密碼了呢﹖雖然通常這樣獲得的密碼都不具備什么權(quán)限﹐但既然通向網(wǎng)路之們已經(jīng)打開(kāi)了﹐再稍作努力點(diǎn)﹐獲得密碼檔案﹐然后使用字典或暴力破解﹐再獲得管理員密碼﹐只不過(guò)是時(shí)間與耐性的問(wèn)題而已。前面所描述的,您或許已經(jīng)聽(tīng)過(guò)了,它叫“社交工程”。
正確的使用密碼
要對(duì)付第一種破解方法很簡(jiǎn)單:避免用您身邊的事物或其變種作密碼就行了。我相信您的銀行提款卡不是用您的生日作密碼的吧? ^_^
對(duì)付第二種及第三種方法﹐可以使用 shadow password 來(lái)限制使用者接觸到密碼檔案。同時(shí)﹐您最好別使用現(xiàn)成的詞語(yǔ)做密碼﹐任何連貫的字串都不可取。最好使用字母(伴隨一兩個(gè)大小寫(xiě))﹑數(shù)字﹑符號(hào)的混合﹐橫看豎看都看不出個(gè)意思就好。而且﹐密碼長(zhǎng)度不能太短,也要定期更換密碼﹐更換時(shí)也不要重復(fù)以前的密碼。
至于對(duì)付第四種方法﹐只能要求您任何時(shí)候都保持高度警覺(jué)性﹐永遠(yuǎn)不對(duì)任何人說(shuō)出您的密碼﹐不管對(duì)方說(shuō)得如何動(dòng)聽(tīng)和誘惑。要記住一點(diǎn)﹕就算是網(wǎng)路管理員﹐也無(wú)權(quán)獲得您的密碼。而且﹐永遠(yuǎn)用腦子來(lái)記密碼﹐不要用筆寫(xiě)出來(lái)。假如您是一個(gè)網(wǎng)路管理員﹐更加要小心保護(hù)好自己的密碼和經(jīng)常轉(zhuǎn)換密碼﹔而且永遠(yuǎn)不信任任何人的電話要求去更改密碼﹐一定要按照嚴(yán)格的程序進(jìn)行。
設(shè)定/記憶密碼的技巧
您或許覺(jué)得這樣很難記住密碼吧﹖哈哈﹐這就對(duì)了﹕越難記住就越好﹗不過(guò)﹐您卻不要把密碼寫(xiě)在便條上﹐然后貼在屏幕頂端﹐還大大個(gè)字的提示著﹕“密碼”﹗這樣和設(shè)不設(shè)密碼有什么分別呢﹖如果密碼忘了﹐也不用怕難為情﹐多數(shù)網(wǎng)路管理員在接到申請(qǐng)表后都很樂(lè)意幫您進(jìn)行修改﹐并且會(huì)通知和提示您重新設(shè)定好密碼的。假如您碰到個(gè)愛(ài)擺黑臉的家伙﹐如果他是我管的話﹐直接向我投訴好了﹐我保證您以后也不會(huì)碰到他再給臉色您看。
如前所見(jiàn),一個(gè)良好的密碼最好是這樣子的:自己易記、別人難猜。要作到這點(diǎn)并不難,下面我為大家介紹幾種方法:
· 用句子作密碼:沒(méi)錯(cuò),自己隨便想一句您認(rèn)為好記的句子,例如:i wanna win a lotto tonight! 。稍作一下變化就是一個(gè)很好的密碼了:I Wanna Win A $Lotto 2night! ,雖然打起來(lái)很慢,但是,這樣的密碼是絕對(duì)安全及好記的。
· 找一些與你心上人或你們的羅漫史相關(guān)的資料,然后稍加變化,例如:妳的男朋友叫 netman ,他的生日是 1971/1/8 ,那么下面的密碼將是不錯(cuò)的:Net1970@maN0108 。方法是:將 net 與 man 拆開(kāi),并將 n 作大寫(xiě),再將生日的年與月日拆開(kāi),最后將各部件兜在一塊,并在中間加個(gè) @ 的符號(hào)。這樣的密碼不但好記,而且絕對(duì)不會(huì)忘了 buy your darling a birthday gift ^_^ ,尤其是那些經(jīng)常換男/女朋友的人來(lái)說(shuō),最好用不過(guò)了 ^_^ 當(dāng)然,除了生日,甚么第一次相遇、接吻、失身、結(jié)婚、外遇、等等的地點(diǎn)/日期,都是您的密碼好材料!
· 用您習(xí)慣的中文輸入法打一串字,如:老板是豬八戒!然后挑一兩個(gè)大寫(xiě)、加兩個(gè)標(biāo)點(diǎn)符號(hào),那就成了一個(gè)上佳的密碼了。
· 或再偷懶一些,用您的機(jī)車車牌號(hào)碼,如:ABC567 ,然后將字母往后撥、數(shù)字往前調(diào):BCD456 ,再打散組合:B4C5D6 ,再插兩個(gè)符號(hào):B4C#$5D6 ,那也勉強(qiáng)是個(gè)密碼了...
總之,方法很多,自己抓出一套方法就好(千萬(wàn)別告訴別人您所用的公式),然后隨便抓些好記的來(lái)作種子,再代入公式,那就是您的好密碼了...