あるハッカー曰く、「だれが、ダウンロード後にいちいちチャックサム(checksum)を検証すると?」だから、「 改ざんのチェックはまず無い、改ざんは簡単にはばれんばい。」と。
(このハッカーは、あるiso配布サイトを乗っ取り、改ざんしたisoファイルを閲覧者にダウンロードさせたとのこと。)
言われてみれば、確かにそんな気がします。
私自信、ほとんどチェックサム検証なんて、したことがありません。
私が知っている人で、ダウンロードファイルを毎回、チェックサムで検査してるのを見たことないですね。
そのまえにチェックサム用の値を置いていないサイトがほとんどですよ。
例:マイクロソフトのダウンロードサイト(Windows10)。よほど改ざんされない自信があるんですよね。
チェックサムが置いてあるサイトの例:
(md5checksumやsha1checksumやsha256checksumの右側にズラズラと並ぶ、長い数値が検査用のチェックサム値です。)
しかし、そもそもチェックサムって?
詳しいことは置いといて、ざっと説明すると…ハッシュ関数という特殊な計算をしてくれる式を利用して、ファイル固有の値を算出します。これがチェックサム(正確にはハッシュ値)です。ファイルをダウンロード後、同じハッシュ関数で、ファイルのチェックサムを算出して、ダウンロード前の値と比較して同じであれば改ざん無し、違ってっいれば改ざん有りと判断できます。
チェックサムはあくまでもファイルの改ざんの有無に対する検証で、改ざん防止ではありません。
しかし、面倒くさそうですね。おそらく、前述のハッカーが言うようにほとんどだれも検証してないと思います。
でも、改ざんに気づかずにダンロードしたファイルをインストールして、マルウェアを仕込まれたら多大な被害をこうむります。転ばぬ先の杖。セキュリティリスクを少しでも減らすなら、少々の手間は覚悟しなければ、これからのネットの利便性を自在に活用できませんね。
ということで、さっそくチェックサムの検査をやってみます。
sha256のchecksum検証を例に説明します。(検証用ソフトは、Ubuntuでは、デフォルトでインストールされている。Windowsにはフリーのソフトが多数ある。)
【前提条件】
- md5sumとsha256sumを例として説明
- WindowsではHash Tab(フリー)を利用
- Ubuntuではコマンド実行