PR

 ソフトウエアの脆弱性が毎日のように見つかっている。例えば脆弱性情報のデータベースである「JVN iPedia」には、2019年3月の1カ月で21件の脆弱性が登録された。

 危険度が低い、あるいは該当ソフトのユーザーが少ないなどの理由から、ほとんどの脆弱性はそれほど注目されない。しかし、19年間発見されず2019年2月に公表されたWinRARの脆弱性は別だった。5億人以上が影響を受けるとされたからだ。

 WinRARは解凍ソフトだ。イスラエルのセキュリティーベンダーであるチェック・ポイント・ソフトウェア・テクノロジーズが脆弱性を公表した。脆弱性はWinRARに含まれる「unacev2.dll」に見つかった。unacev2.dllはACE形式と呼ぶ圧縮形式のファイルを処理するライブラリーである。細工が施されたACE形式のファイルを解凍処理すると、任意の場所に任意のファイルを作成される。例えば攻撃者は実行形式のウイルス(マルウエア)をスタートアップフォルダーに作れる。この場合、次回PCを起動した際にウイルスが実行される。

 通常ACE形式のファイルの拡張子は「ace」である。だがACE形式であっても拡張子に「rar」を使うファイルが存在する。この場合WinRARはunacev2.dllを使って解凍する。拡張子がrarでも被害に遭う恐れがある。

 この攻撃の恐ろしいところは、任意のウイルスを使える点だ。基本的な仕掛けさえ作れば、攻撃者は手を替え品を替え悪用できる。

 実際、米マカフィーは脆弱性が公表されてから1週間で100種類を超えるエクスプロイト(脆弱性を悪用するプログラム)を確認したという。

 その1つが、有名アーティストの最新アルバムに見せかけた圧縮ファイルである。拡張子はrarだ。脆弱性のあるWinRARでこのファイルを解凍すると、無害の音楽ファイル(MP3)が作成される。それと同時にスタートアップフォルダーにウイルスファイルが作られる。このとき、Windowsのセキュリティー機構であるUAC(ユーザーアカウント制御)は適用されず、警告などは表示されないという。次回PCを起動した際に、このウイルスが自動的に実行される。

技術進化で古い脆弱性が見つかる

 チェック・ポイント・ソフトウェア・テクノロジーズによるとunacev2.dllは19年以上前からWinRARに含まれていたという。ではなぜ今なのか。技術の進歩により、これまで見逃されていた脆弱性が見つかったのではないかと筆者は考えている。

 今回の脆弱性はファジングという手法で発見された。ファジングとは調査対象のソフトに「ファザー」と呼ぶツールを使って様々なデータを入力し、その応答から脆弱性を探し出す手法である。脆弱性の多くはソフトに想定外のデータが入力された場合に露呈する。そこでファジングは、開発者が想定していないような、非常に長い文字列や非常に大きい値、負の値などを次々とソフトに入力する。異常な結果を返したり、ソフトが異常終了したりした場合は、その処理した箇所に脆弱性が存在する可能性が高い。

 WinRARに限らず、「枯れた」と思っていたソフトにも脆弱性が潜んでいることがある。油断は禁物だ。なお、この脆弱性はWinRARのバージョン5.70で修正済みだ。ACE形式をサポート対象外にした。日本語版についても修正したバージョン5.70が公開されている。WinRARと同様に広く使われている圧縮解凍ソフト「Lhaplus」にも同じ脆弱性がありそうだ。こちらは修正版は公開されていないもよう。詳細は不明だが、とにかく怪しい圧縮ファイルは解凍しないことだ。

勝村 幸博(かつむら・ゆきひろ)
勝村 幸博(かつむら・ゆきひろ) 1997年日経BP入社。主にセキュリティーやインターネット技術に関する記事を執筆。ITpro(現日経 xTECH)、日経パソコン、日経コンピュータなどを経て、現在は日経NETWORK編集長。