不正プログラムに利用されるステガノグラフィ:その目的と手法

検出回避する脅威は、現在直面している最も危険な種類の脅威の 1つです。また、標的型サイバー攻撃やゼロデイ脆弱性を利用した攻撃など、最も対応が困難な攻撃事例で利用されます。検出回避は攻撃の成功の鍵となるため、攻撃者はそれをどう実現できるかを常に考えています。今回は、検出や解析を回避するためにサイバー犯罪者が利用する手法の 1つ、「steganography(ステガノグラフィ)」について取り上げます。

ステガノグラフィとは、ある情報を他の情報の中に埋め込んで存在を隠ぺいすることです。「steganos」とは、ギリシャ語で「隠された」を意味します。不正プログラムは気付かれずに何かを隠ぺいすることを好みます。そのため、サイバー犯罪者にとって、不正プログラムとステガノグラフィは最高の組み合わせです。今回、トレンドマイクロは、「ステガノグラフィ」とは何かを説明し、それが現在どのように不正プログラムに導入されているかを述べます。

実際に、普段の生活でもステガノグラフィを使うことができます。図1 は、秘密のメッセージを奇妙な場所に埋め込んだステガノグラフィの例です。ただし、本稿は、データファイルと、それがどのようにサイバー犯罪者によって利用される可能性があるかの説明となります。

図1:演説中に州議員から侮辱された前カリフォルニア州知事アーノルド・シュワルツェネッガー氏が、拒否権を行使する旨を州議会に伝えた書簡。本文の各列の最初の1文字をつなげると隠されたメッセージが現れる
図1:演説中に州議員から侮辱された前カリフォルニア州知事アーノルド・シュワルツェネッガー氏が、拒否権を行使する旨を州議会に伝えた書簡。本文の各列の最初の1文字をつなげると隠されたメッセージが現れる

今回説明する手法の中には、ステガノグラフィとして一般的に考えられていないものも含まれます。しかし、これは単純に意味の違いだと考えています。本稿では、攻撃者が予想外の手法で情報を隠ぺいすることはどんなものでも、ステガノグラフィと見なします。

予想外の手法で情報を隠ぺいすることは、従来のステガノグラフィと同じ効果をもたらします。つまり、情報の送受信が予想されていない、もしくは少なくとも攻撃者がステガノグラフィを利用して情報を送信するとは予想しない無害な手法や、プロトコル、ファイルを用いて、セキュリティリサーチャーの監視の目を逃れます。以下に挙げるのは、こうしたステガノグラフィの例です。

■画像ファイルに自身の環境設定情報を隠ぺいする「ZBOT」
オンライン銀行詐欺ツール「ZBOT」の亜種の 1つは、美しい風景画像として自身の環境設定情報をダウンロードします。この画像ファイルは本物の画像ファイルですが、関係のない情報が最後に含まれており、それが適切に復号されると不正プログラムの環境設定情報となります。どこから見ても、このダウンロードされた画像は本物であるため、通信を監視するセキュリティ対策製品はいずれも、美しい夕日の画像と判断します。

図2:「ZBOT」の亜種は、不正なファイルを隠ぺいした画像ファイルをダウンロードする
図2:「ZBOT」の亜種は、不正なファイルを隠ぺいした画像ファイルをダウンロードする

なお、この「ZBOT」の亜種に関しては、2014年3月の弊社のブログ記事をご参照下さい。

■Webサイトのアイコンファイルに自身の環境設定情報を隠ぺいする「VAWTRAK」
オンライン銀行詐欺ツール「VAWTRAK」は、Webサイト上のアイコンファイルに自身の環境設定情報を隠ぺいすることが確認されました。これは「favicon.ico」と呼ばれる画像ファイルで、Webサイトのシンボルとして Web管理者が置くことのできるアイコンです。ほぼすべての Webサイトで、Webブラウザのアドレスバーの左側に表示されるため、この要求を監視するセキュリティ対策製品がその信頼性を疑うことはありません。さらに、「VAWTRAK」がホストする Webサイトは、匿名通信システム「The Onion Router(Tor)」のネットワーク上に置かれています。このため、閉鎖が難しくなりますが、これはまた別の機会に取り上げます。

「VAWTRAK」の画像は、2進数で最小の値である「最下位ビット(least significant bit、LSB)」を利用してメッセージを隠ぺいしました。情報のビットをエンコードするため、ほんのわずかに画像の色が変わります。例えば、1画素が「0,0,0」としてエンコードされた色を持っていたとします。これは色をまったく持たないため、つまり純粋な黒となります。しかし、エンコードされた色が「0,0,1」に変わると、この画素は 1ビットの情報を持つため、わずかに灰色がかった黒に変化します。ただし、人間の目では区別がつきません。

変更されたビットは、隠されたメッセージをエンコードしている可能性があり、また、画像にメッセージが隠ぺいされていることが分かる人は、復号してメッセージを読み出すことができるかもしれません。それ以外のユーザは、美しい夕日や、その画像ファイルに表示されたものをただ楽しむだけです。

「VAWTRAK」が利用するステガノグラフィの解析の詳細に関しては、「SecurityAffairs」もご参照下さい。「VAWTRAK」に関しては、「セキュリティ情報」で詳細がご覧いただけます。

■アプリのアイコンに自身の環境設定情報を隠ぺいする「FakeReg」
Webサイトだけが、情報を隠ぺいしたアイコンを置く場所ではありません。少なくとも不正な Android のアプリの 1つ(「ANDROIDOS_SMSREG.A」として検出)は、スマートフォンの画面上に表示されるアイコンに暗号化された情報を隠ぺいしました。

図3:情報を隠ぺいしたAndroidのアイコン。性的な表現が含まれているため画像処理済
図3:情報を隠ぺいしたAndroidのアイコン。性的な表現が含まれているため画像処理済

この脅威に関する詳細な解析は、「spreitzenbarth forensic blog」をご参照下さい。

■HTTPプロトコルに情報を隠ぺいする「VBKlip」
そして、今回取り上げる最後の事例は、画像ファイルを利用したステガノグラフィではなく、ネットワークプロトコルを経由したものです。「VBKlip」はポーランドのユーザだけを狙ったオンライン銀行詐欺ツールで、感染PC を監視し、その PC からログインしたことのあるポーランドの銀行の口座番号を検索します。

正規の口座番号を確認すると、この不正プログラムは、支払を転送させるために 26桁の口座番号を別の番号に置き換えます。この新しい口座番号は「Money-Mule(運び屋)」が所有するもので、以下のような、非常に特殊な方法でコマンド&コントロール(C&C)サーバから受け取ります。まず、C&Cサーバに意味のない要求を送信し、HTTP接続を開始します。

GET g4x6a9k2u.txt HTTP/1.1

これは、誰も気に留めないような偽のテキストファイルへの要求です。しかし、C&Cサーバからの HTTP応答には重要な情報が含まれています。なお、HTTPヘッダのその他の部分は、編集して省略しています。

HTTP/1.1 400 Site Not Installed
Server: .V06 Apache
Content-Type: text/html
MDEwMTAyMDIwMjAyMDMwMzAzMDMwMzAzMDM=

HTTPヘッダの Base64 の文字列を復号すると、「0101-02020202-03030303030303」といった銀行口座番号に変換されます(※1)。

この不正プログラムの被害にあったポーランドのユーザは、別の銀行口座の番号を確認して、本来の受領者ではなく運び屋に送金してしまいます。攻撃者は予想外の手法を利用して、密かに「VBKlip」を一部の設定情報にアクセスさせました。これは厳密にはステガノグラフィではありませんが、上述の定義に当てはまります。つまり、予想外の手法を利用して、ユーザやセキュリティ対策製品が決して検索しないような場所に情報を隠ぺいすることです。

今回は、ごく簡単にステガノグラフィとは何か、また、不正プログラムがどのような目的でそれを使うのかを説明しました。ステガノグラフィは、サイバー犯罪者にとって有益であることが理解できたと思います。次回の記事では、バイナリの実行データなど、不正プログラムが隠ぺいする情報の種類について取り上げます。

※1:詳細については、ポーランドのトップレベルドメインを管理する「NASK」の Lukasz Siewierski氏から提供。

参考記事:

 翻訳:品川 暁子(Core Technology Marketing, TrendLabs)