作者yshinri ( )
看板AntiVirus
標題Re: [問題] MD5驗證碼的效用?
時間Thu Aug 13 10:28:14 2009
※ 引述《solomn (更多的禱告)》之銘言:
: 最近在網路上無意中發現MD5驗證碼這種東西
: 也搜尋了不少網路文章
: 但查詢本版,完全沒有MD5相關的舊文
: 自己對MD5還不熟悉
: 想請問MD5是不是沒有普及啊?
: 還是這種東西還是有它的盲點
: 或者說,MD5這種技術已經內建在防毒軟體的掃瞄中!?
: 純亂猜
: 謝謝
MD5 其實只是個取特徵值的演算法而已
這種特徵值是為了不想要一個 byte 一個 byte 去比較時
給一個稍微簡單就能判斷兩個東西是不是一樣的方法
(有時候候選清單裡有幾百萬個候選者
要每個可疑的東西都一個一個去和這幾百萬個候選者去比一定累死的...
而特徵值的長度通常會比原來的大小要小很多 像 MD5 就是 128-bit
所以比較起來就會快很多)
這種演算法是設計得當兩個東西不一樣時
計算出來的特徵值除了很小的機會之外不會一樣
也就是說 當計算出來的特徵值不一樣時 我們可以確定這兩個東西不一樣
計算出來的特徵值一樣時 我們有很高的信心認為它們是一樣的
當然所謂很高的信心就是會有誤判的可能
最近就有一個例子是 EFix 的在
#1AU4f9rP
就我所知 EFix 是有利用 CRC32 做偵測
但 CRC32 的特徵值長度(32-bit)實在不夠長 不夠讓誤判率接近0
MD5的特徵值長度是不錯 但缺點就是長了些 計算稍微繁了些而已
這種方法的缺點是只能用來檢測那種某個檔完全就是個病毒或木馬等的情形
(因為它是整個部份都下去運算 而不是只看某一部份)
如果是屬於寄生在某個合法程式裡的那種 這個方法就沒轍了
因此一般的防毒軟體除了整個檔案的特徵值比對之外
也會有另一些技術來偵測其他類型的病毒
1F:→ abccbaandy:上個時代的東西,現在比較喜歡用sha...不是she唷XD08/12 22:25
這就要看用途了
如果是用在數位簽章這種需要極高確認性/安全性的地方 那MD5現在的確不夠用了
(甚至 SHA-1 (160-bit)也不夠用...目前的專家建議是 SHA-256 (256-bit))
如果只是要偵測某個東西像不像是某一類東西
例如像 EFix 這種專門對付隨身碟病毒類型的 CRC32 也許就夠用了 還動不到 MD5
(頂多判斷結果出現「是」的時候小心一點有什麼誤判的可能性而已)
--
◢ ˊ_▂▃▄▂_ˋ. ◣ ▅▅ ▅▅ ι●╮ █
▄▄▄▄▄
▍
./◤_▂▃▄▂_◥ \'▊ HARUHI █████ <■┘ ▄▄▄▄▄▄▄
▎
⊿ ◤◤◥█◥◥█Δ ISM By-gamejye ¢|\ ▌▌▌▌▌▄▌▌
▏
ζ(▏●‵◥′●▊)Ψ ▏ █
⊿Δ ▄▄▄ ▄▄▄▄
█/|▊ 〃 、 〃▋ |\ ▎ ハルヒ主義 █
▄▄▄█▄▄
◥◥|◣ ‵′ ◢/'◢◢
S.O.S 世界を大いに盛り上げるための涼宮ハルヒの団
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.4.234
2F:→ TimeToDie:那請問如果要做假的難度有無差別?例如某個幾G的檔 08/13 13:27
3F:→ TimeToDie:或是目前很難做假?(通常在比對是否真假檔) 08/13 13:28
4F:→ VictorTom:對尋常百姓來說, 難度應該很高:) 08/13 13:28
5F:→ KarasuTW:MD5 記得是有 Ranbow attack 還是啥的... 但放出大量 08/13 17:30
6F:→ KarasuTW:容量相似的假檔對某網路來說效果就夠好了... (w 08/13 17:30
7F:→ KarasuTW:為此特地偽造 MD5 的利益不高,比較頭大是密碼加密之類 08/13 17:31