這一方法使用的是查找表方法,由此來匹配一個使用者最初輸入的密碼文,并通過提高運(yùn)算速度破解密碼。這種方法叫time-memory trade-off,就是指如果攻擊有足夠的計算機(jī)內(nèi)存就能夠減少破解密碼的時間。
這個結(jié)果突顯出很多安全研究者所擔(dān)心的問題:微軟的密碼編碼技術(shù)太脆弱以致于這種方法將相當(dāng)有效果。Philippe Oechslin,一位專門從事安全加密技術(shù)的研究者在寫給CNET媒體的Emailkh稱“windows的密碼并不太好,windows密碼的問題在于它們不包括任何隨機(jī)信息?!?/p>
Mr. Oechslina描述了如果利用這種缺乏隨機(jī)性來破解密碼,在他的演示中表明增大查找表格能夠有效地減小破解所需時間。
該研究者所使用的是一個1.4GB大的查找表格,所使用的計算機(jī)只有一臺,配置為AMD 2500+處理器,1.5GB內(nèi)存。
他表示“這并不是新的系統(tǒng)漏洞,但是微軟的密碼卻是一個很好的例子,證實了理論的結(jié)果”
眾所周知,微軟使用兩種編碼方法。第一個是LANManager或LANMan,是Windows3.1、95、98、Me以及先前的NT所采用的方法使系統(tǒng)能夠連接到早期的Windows網(wǎng)絡(luò)中。
LANMan方案有幾個弱點,包括將所有字母轉(zhuǎn)換成大寫,將密碼分解成7字節(jié)的塊,并且不使用附加的隨機(jī)元素如“salt”。雖然最近的NTHash解決了幾個弱點,但它仍然沒使用隨機(jī)數(shù)字。
這導(dǎo)致了如下結(jié)果:相同的密碼編碼在兩臺Windows機(jī)器上將永遠(yuǎn)相同。這使得攻擊者可以建立起一個足夠大的查找表在任何機(jī)器上破解密碼。而在像Unix、Linux以及Mac OS X操作系統(tǒng)中由于使用了一個12位的salt運(yùn)算,這使得任何暴力手段都將使得解碼過程延長4,096倍或需要4,096倍大的內(nèi)存才成。