米SymantecのSecurity Response Blogによると、最近、full-disclosureメーリングリストに興味深い投稿があったという。これはMarc Stevens氏、Arjen K. Lenstra氏、Benne de Weger氏らによって共同で発表された"Predicting the winner of the 2008 US Presidential Elections using a Sony PlayStation 3"であり、そのタイトルが意味するがごとく、ソニーのPS3を計算に使用した2008年米国大統領選挙の結果予測であるかに見えた。しかしながら、その実情は異なり、特定のファイルにMD5アルゴリズムを使用してハッシュ値を算出し、それを使用した一意性の保証はもはや意味がないことを示すことにあったという。すなわち、もはやMD5アルゴリズムを使用したハッシュ値は、あるファイルの改ざんがないことを担保することにはならないのだという。

一般に、特定のアルゴリズムを使用し、あるファイルと、異なるファイルとで算出されたハッシュ値が一致することは「ハッシュ値の衝突(collision)」と呼ばれている。ハッシュ値は、異なるデータから算出された場合、まったく異なる値が得られることが前提となっているためである。

ハッシュ値の持つこのような特徴を有効に活用している、いくつもの事例がある。たとえば、多くの公開FTPなどでは、あるアプリケーションをダウンロードして、その改ざんなどがないことを検証できるよう、ハッシュ値のデータも同時に公開している。しかし、今回の発表では、まったく同一のMD5ハッシュ値をもった、異なる候補者名が記載されたPDFファイルが公開された。MD5の衝突についてはこれまでも報道されてきたが、PS3のプロセッサによって演算が実現してしまう程度(数千バイト程度のデータ追加)で、衝突を発生させることができるのだという。

シマンテックの当該エントリでは、このような方法が次のようなシナリオで悪用されるのだと指摘している。

  1. 無害なアプリケーションと、有害なアプリケーションの2種類をマルウェア作者は作成し、そのうえでMD5ハッシュ値を同一にさせる
  2. Webにアクセスするだけで、無害なアプリケーションを実行させるサイトを作成する
  3. 実際に2のサイトを一般利用者がアクセスし、無害なアプリケーションが実行される
  4. 2のサイトに再度アクセスさせ、今度は有害なアプリケーションを実行させる
  5. 3と4で実行されるアプリケーションのMD5ハッシュ値は一致しているため、こうした値をブラックリストなどに使用しているセキュリティ対策ソフトを迂回することができる

このような危殆化の問題に対し、同社ではSHA-2を代替関数として使用することがよいとしている。