如何確認下載的檔案沒被竄改(SHA-256)
你下載了安裝程式、作業系統映像檔或韌體更新。要怎麼確定它就是開發者公布的那個檔案?
真實存在的風險
- 仿冒網站與廣告:搜尋熱門免費軟體時,廣告結果有時會導向被重新包裝、夾帶廣告軟體或惡意程式的安裝檔。
- 被入侵的伺服器:2016年,一個知名Linux發行版的官方網站遭入侵,下載連結在當天部分時段被換成含有後門的ISO。有比對官方雜湊值的使用者就能發現。
- 下載不完整:用中斷的檔案更新韌體,可能讓裝置無法開機。
什麼是雜湊值
雜湊值是由檔案每一個位元組算出的指紋,只要差一個位元組,數值就完全不同。開發者常以 SHA256SUMS 之類的檔案公布SHA-256值。
三個步驟驗證
- 到開發者的官方網站找雜湊值(不是提供下載的那個頁面)。
- 把檔案放進驗證下載檔案,貼上官方數值。
- 綠色代表相符;紅色就刪掉檔案,從官方管道重新下載。
檔案在瀏覽器中分段讀取,即使好幾GB的映像檔也不會離開你的電腦。
該用哪種演算法
請使用SHA-256或SHA-512。MD5與SHA-1能發現意外損壞,但已知可以做出數值相同的不同檔案,因此無法證明檔案沒被刻意竄改。
雜湊值的限制
如果攻擊者控制了官方網站本身,也能一併改掉雜湊值,所以有些專案還會加上數位簽章。不過對日常下載來說,和官方頁面的數值比對,就能擋下大部分問題。