情報処理推進機構(IPA)は2017年9月28日、Windowsが抱える「DLL読み込みの脆弱性」が急増しているとして、ユーザーに対策を行うように注意を喚起した。攻撃者がこの脆弱性を悪用すると、任意のプログラムを実行できてしまう。

 IPAによると、この脆弱性は2017年4月から8月末までにJVN(Japan Vulnerability Notes)で53件報告されているという。同年1月から3月までの報告件数である4件に比べて急増している。

 この脆弱性は、Windowsではアプリケーションと同じフォルダーに格納されているDLLファイルが優先的に読み込まれるという挙動に起因する。例えば、攻撃者は、まずユーザーのダウンロードフォルダーに悪意のあるDLLファイルをダウンロードさせる。ユーザーがこの脆弱性を持つアプリケーションをダウンロードするとき、初期設定ではダウンロードフォルダーに保存する。

 悪意のあるDLLファイルがダウンロードフォルダーにある状態で、脆弱性があるアプリケーションを実行すると、システムフォルダーなどにある正規のDLLファイルではなく、同じフォルダーの悪意のあるDLLファイルが使われてしまうため、攻撃者が用意したプログラムが実行されてしまう。

悪意のあるDLLファイルが実行される仕組み
悪意のあるDLLファイルが実行される仕組み
(出所:IPAの注意喚起ページ)
[画像のクリックで拡大表示]

 このタイプの脆弱性では、アプリケーションが脆弱性に対策済みかどうかをユーザーが確認するのは困難だ。このため、IPAはユーザーが自衛のための回避策を施すことを呼びかけている。

 対策は2種類あり、どちらかの対策を実施する必要があるという。一つ目は「アプリケーションをダウンロードフォルダーに保存しない」という対策。新規フォルダーを作ってダウンロード時にそのフォルダーに保存するか、ダウンロードフォルダーにダウンロードしたファイルを実行前に新しいフォルダーに保存する。

 二つ目は「フォルダー内のファイルを確認する」という対策。実行するアプリケーションに同梱されている「readme.txt」などの説明ファイルでそのアプリケーションのファイル構成を確認し、フォルダー内に正規のファイル以外のファイルがないかどうかを確認する。

[IPAの注意喚起ページ]