ワームやボットをはじめとするマルウエア。これまで、その大半はWindows OSをターゲットにしたものだった。このためMac OSはWindows OSよりも安全だというイメージが強い。ただ実際には、Mac OSに感染するマルウエアは昔から存在している。そして最近は、Mac OSを狙うマルウエアも次第にWindows向けと同様に凶悪化しつつある。
マルウエアを感染させるために今最も用いられることが多い手法は、Webサイトなどを通じて仕掛けられるドライブバイ・ダウンロード攻撃である。アクセスしてきたクライアントパソコン(PC)の上で稼働するアプリケーションの脆弱性を悪用し、自動的にマルウエアをダウンロードさせ、インストールする手法だ。
実は、こうした自動的にマルウエアを感染させる攻撃は、これまでWindows OSに対してしか行われなかった。ところが2012年2月、Mac OSをターゲットとしたドライブバイ・ダウンロード攻撃が発見された。この攻撃によって、60万台以上のMac OS端末がマルウエアに感染したことが報告されている(この攻撃によって感染するマルウエアはFlashbackと呼ばれている)。Webサイト経由でMac OS にマルウエアを感染させる攻撃は従来もあったが、ユーザーを騙してインストールを促す偽ソフトばかりで、ユーザーが手動でインストールしなければ感染することはなかった。
今回は、2012年2月~4月にかけて確認されたMac OSに対するドライブバイ・ダウンロード攻撃手法について解説する。
■OS種類の選別
2012年2月頃からの一連の攻撃では、正規Webサイトに不正なコードが埋め込まれ、そこにアクセスしたユーザーが不正なサイトへリダイレクトされていた。改ざんされたWebサイトの多くはWordPressを利用して構築されており、WordPressの脆弱性を悪用して不正なリダイレクトコードが埋め込まれたと推測されている。
リダイレクト先の不正サイトは、HTTPリクエストに含まれるUser-Agentによって、使い分けられていた。User-AgentがWindows系の場合、Windows用に準備された偽ウイルススキャンWebサイトに誘導される(図1の1)。このサイトではドライブバイ・ダウンロード攻撃は行われず、手動で偽ウイルス対策ソフトのインストールを促すポップアップが表示されるだけである。
User-AgentがMac OS系で、初めてのアクセスの場合はドライブバイ・ダウンロード攻撃を受けるサイトに誘導される(図1の2)。このように攻撃者は、ターゲットのOSの種類を判断して、それに合わせた攻撃を行なっている。さらに、Windows、Mac、Linuxを識別して攻撃している例も確認されている。
■悪用する脆弱性は複数のJavaの脆弱性
誘導されたクライアントPCは、Java実行環境(Java Runtime Environment、以下JRE)の脆弱性を悪用する攻撃を受ける。具体的には「CVE-2008-5353」「CVE-2011-3544」「CVE-2012-0507」である。「CVE-2012-0507」に関しては、3月中頃から攻撃機能が加わり、4月頃には「CVE-2012-0507」だけを攻撃するようになった。
JREを攻撃する不正なコードは、Jarファイルとして送信されてくる。以下は、JREへの攻撃を行うための不正なJarファイルを読み込ませる部分である。