如何確認下載的檔案沒被竄改(SHA-256)

你下載了安裝程式、作業系統映像檔或韌體更新。要怎麼確定它就是開發者公布的那個檔案?

真實存在的風險

  • 仿冒網站與廣告:搜尋熱門免費軟體時,廣告結果有時會導向被重新包裝、夾帶廣告軟體或惡意程式的安裝檔。
  • 被入侵的伺服器:2016年,一個知名Linux發行版的官方網站遭入侵,下載連結在當天部分時段被換成含有後門的ISO。有比對官方雜湊值的使用者就能發現。
  • 下載不完整:用中斷的檔案更新韌體,可能讓裝置無法開機。

什麼是雜湊值

雜湊值是由檔案每一個位元組算出的指紋,只要差一個位元組,數值就完全不同。開發者常以 SHA256SUMS 之類的檔案公布SHA-256值。

三個步驟驗證

  1. 到開發者的官方網站找雜湊值(不是提供下載的那個頁面)。
  2. 把檔案放進驗證下載檔案,貼上官方數值。
  3. 綠色代表相符;紅色就刪掉檔案,從官方管道重新下載。

檔案在瀏覽器中分段讀取,即使好幾GB的映像檔也不會離開你的電腦。

該用哪種演算法

請使用SHA-256或SHA-512。MD5與SHA-1能發現意外損壞,但已知可以做出數值相同的不同檔案,因此無法證明檔案沒被刻意竄改。

雜湊值的限制

如果攻擊者控制了官方網站本身,也能一併改掉雜湊值,所以有些專案還會加上數位簽章。不過對日常下載來說,和官方頁面的數值比對,就能擋下大部分問題。

使用免費工具

更多教學