最近のセキュリティ動向に関する、セキュリティベンダーのブログを紹介する。まず最初は、9月に見つかった米マイクロソフトの「Internet Explorer(IE)」関連の脆弱性「CVE-2013-3893」を狙う攻撃手口について。ロシアのカスペルスキーラボが、ブログで説明している。

 この脆弱性は、IEのHTMLレンダリングエンジン「mshtml.dll」に存在し、解放済みメモリー使用(Use After Free)の不具合によりメモリー破損を引き起こす場合があり、任意のコードの実行を許可する可能性がある。「Windows XP」から「Windows 8.1」で動作するIEのバージョン6~11に影響する。

 IEは依然として多数のユーザーに使われているので、サイバー犯罪者にとってこうした脆弱性は好都合だ。なお同脆弱性を修正するパッチはすでに公開されている。

2012年8月~2013年8月のブラウザーシェア

 カスペルスキーラボは9月後半にこの脆弱性を突く攻撃を見つけたが、最近、その変種が多数の著名な日本企業を狙った標的型攻撃に使われているのを確認した。標的となる企業の特定サブネット内にあるコンピュータ上の脆弱性が利用される。

攻撃されるコンピュータを含むサブネット

 コンピュータのIPアドレスが、サイバー犯罪者の指定する範囲に含まれていると、ユーザーが感染ページにアクセスすることにより問題の脆弱性が悪用される。

 攻撃の第1段階で、OSのバージョン、IEのバージョン、OSが使用する言語、「Microsoft Office」のインストールの有無といった情報が取得される。取得情報に応じて適切なROPチェーンとシェルコードが選択される。

ROPチェーンとシェルコードを選択するためのコード

 なお、この攻撃手法は、OfficeがインストールされていないWindows 7上では機能しない。

OSバージョンとOfficeのインストール状況をチェックするコード

 現在のOSには脆弱性の利用を困難にするASLR(アドレス空間配置のランダム化)といった仕組みが実装されているが、この攻撃手法は巧妙なやり方でそうした仕組みを回避する。それは、ASLRを有効にしていない状態でコンパイルされたモジュール「hxds.dll」をブラウザープロセスに読み込む。

hxds.dll読み込みを実行したあとのコード

 hxds.dllはOfficeパッケージの一部で、ASLRをサポートしていない。メモリー内の既知のアドレスに読み込まれると、攻撃者はROP技術を使ってシェルコードを含むメモリーを実行可能にする。

実行されるシェルコード

 シェルコードは「0x9F」をキーとして使い、自身のメイン部分を暗号解除する。解読されるとペイロードをダウンロードおよび実行するための関数を探し、ハッシュ値から見つけ出す。

関数のハッシュ値

 必要なアドレスの検索が終わると、悪質なモジュール「runrun.exe」が攻撃者のサーバーからダウンロードされる。

ペイロードのダウンロード

 ダウンロードされたモジュールは暗号化されているので、シェルコードは「0x95」をキーに使って暗号解除する。解読されたモジュールが発症する。

ダウンロードされたモジュールの暗号解除

 上述した標的型攻撃は、CVE-2013-3893に対する攻撃コードの変種の1つを使っているが、これまで確認された変種は全部で21種類ある。それらを利用した標的型攻撃はほとんどが台湾で発見されている。

確認された攻撃の分布図

Android向け不正アプリと高リスクアプリが100万を突破

 次は、Android向け不正アプリについてのブログを紹介する。トレンドマイクロは、同社が2013年セキュリティ予測で「Android向けの不正なアプリケーションや危険性の高いアプリケーションが100万に達する」との見通しを示したが、これが現実になったとする見解をブログで発表した。

 トレンドマイクロによると、2013年第2四半期末時点で、高額通信サービスに登録するなどの不正アプリケーションと、不審サイトへ誘導する広告を配信するなどの高リスクアプリケーションは70万以上確認されていた。それが9月末時点で100万に達し、不正アプリケーションが75%を、高リスクアプリケーションが25%を占めている。

不正および高リスクアプリケーション数の推移

 不正アプリケーションに組み込まれるモバイルマルウエアのワースト2は「FAKEINST」(シェアは34%)と「OPFAKE」(同30%)だ。FAKEINSTファミリーは一般的に正規のアプリケーションを装い、未承認のテキストメッセージを特定の番号に送信して勝手に高額サービスに登録する。FAKEINSTを使った攻撃手口としては人気ゲーム「Bad Piggies」を偽装したものがあり、トレンドマイクロは同ゲームのリリース直後に偽アプリケーションを確認した。

 OPFAKEファミリーはFAKEINSTと似ており、特に正規アプリケーションを装う点が共通している。しかし亜種「ANDROIDOS_OPFAKE.CTD」は、HTMLファイルを表示してユーザーに悪質なファイルのダウンロードを促すという特徴を持つ。

主なモバイルマルウエアファミリーのシェア

 高リスクアプリケーションでは、「ARPUSH」(シェアは33%)、「LEADBLT」(同27%)の2大ファミリーが大半を占める。いずれも強引な広告表示を行うアドウエアであり、OS情報やGPSデータ、端末識別番号(IMEI)といったデバイス情報を盗むことでも知られている。

主な高リスクアプリケーションのシェア

 モバイル端末に対する脅威は人気アプリケーションの偽装やアドウエアにとどまらず、犯罪者はモバイルユーザーの銀行取引も攻撃しようとしていると、トレンドマイクロは注意を促している。

巧妙化するモバイルマルウエア、不正化された正規アプリなど

 もう一つ、モバイルマルウエアに関するブログを紹介しよう。英ソフォスは、セキュリティ関連の国際会議で同社研究者が行った講演の概要を、ブログで報告した。

 同社のオーストラリア研究部門のRowland Yu氏はAndroid向けマルウエア「GinMaster」について解説した。GinMasterは、端末のルート権限を奪うツール「GingerBreak」を使うためその名が付けられている。

 GinMasterは主に中国で配信され、推計500万台以上のAndroid端末が感染した。しかしいっそう懸念されることとして、マルウエア作成者が検出を逃れるために用いる回避手段が巧妙になっていることをYu氏は指摘している。

 Yu氏が「GinMasterエコシステム」として描いた図は、GinMasterを使う犯罪者が複数の手段を用いてボットネットを拡大しつつ、利益性を最大限高める方法を示している。

GinMasterエコシステム

 ハンガリー研究部門のGabor Szappanos氏は、正規アプリケーションを利用する標的型攻撃を講演のテーマに取りあげた。

 署名の付いた正規アプリケーションでも、DLLの検索順序に関するバグがあると、攻撃者は外見上は安全でありながら不正なコードを組み込んだアプリケーションを配信できる。驚いたことに、不正コードを埋め込むのにオープンソースのソフトウエアが使われる。

 Szappanos氏は、攻撃者が「LAME」MP3エンコーダーを使って簡単に2つの不正エクスポートを追加する方法を説明した。不正エクスポートは実際のエンコーダーコマンドに組み合わせるよう設計されている。

LAMEエンコーダーを使って不正エクスポートを追加

 最後にクロアチア研究部門のVanja Svajcer氏が、必ずしも悪質ではないが一部または全ユーザーが望まないアプリケーションとマルウエアとの違いを判断するための共通基準を見出す試みをした。

 多くのモバイルアプリケーションは、潜在的に迷惑なアプリケーション(PUA:Potentially Unwanted Applications)に振り分けられる。明らかに不正な振る舞いをするのではなく、必要以上の重要情報へのアクセスを要求したり、ポルノコンテンツが含まれていたり、押しつけがましい広告を表示したりする。PUAの意味はさまざまに解釈が分かれるため、ベンダーにとっては区別が難しい。