ここ数日、DLLハイジャック(あるいは「バイナリプランティング」)のカテゴリに分類されるエクスプロイトが、多くの注目を集めている。AppleのiTunesには問題があり、他の多くのアプリケーションも同様のようだ。

  この問題は実はまったくシンプルなものだ。攻撃者が誰かをだまして、フォルダからデータファイル(たとえばiTunesの場合はMP3ファイル)を開かせようとし、同時に、同じ場所のどこかに、悪意あるダイナミックリンクライブラリ(DLL)を置く。こうすることで、脆弱なアプリケーションに悪意あるコードを実行させることが可能になる。したがってネットワークシェア上で誤ったファイルをダブルクリックすると、マシンが感染してしまう可能性がある。

  全ての問題は、決して新しいものではない。Thierry Zollerが指摘しているように、ほぼ同一の問題が10年も前に報告されている。我々は何故、現在多くの新しい脆弱性を目撃しているのだろうか? 多くは、先週の日曜、HD Mooreにより提供された新しいツールに起因している可能性がある。同ツールは、このよう脆弱性の発見を非常に容易にするのだ。

  よって、安全を保つためには何をすることができるだろうか? Microsoftが、この問題について「Security Advisory 2269637」を発表している。リスクを軽減する方法がいくつか紹介されている。また各製品の脆弱性には、ベンダからのアップデートを適用するべきだ。

  我々はもちろん、この事態を詳しくフォローし、この脆弱性を悪用している悪意あるDLLの検出を追加していく予定だ。

  現在、我々のソフトウェアにいかなる脆弱性も見いだしていないが、この問題に関し、さらに調査を進めていく。

サインオフ
アンティ

追記:Windowsソフトウェアの開発をしている皆さんに:LoadLibrary(「mylibrary.dll」)という単一のファンクションを明確にするのが、こんなにも難しいというのは奇妙なことではないだろうか?

LoadLibrary MSDN

  LoadLibraryのドキュメンテーションはおよそ1100語で、詳述しているページは1000語、そして本当に理解するための方法を紹介しているページは900語以上となっている。およそ3000語、あるいはこの記事の10倍ほどの長さだ。LoadLibraryを気に入るだろう!