「覆う」と「書く」を意味するギリシャ語に由来するステガノグラフィーは、通常の文書の中に秘密のメッセージを隠すため、何世紀にもわたって使われてきた。
サイバーセキュリティにおいて、ステガノグラフィーとは主に悪意のあるペイロードや秘密情報を、画像、PDF、音声、動画、その他多くの文書形式など、一見無害なファイルの中に隠すことを指す。
ステガノグラフィーは、CTF(キャプチャー・ザ・フラッグ)イベントやその他のサイバーセキュリティ防御活動では、しばしば冗談のように扱われる。しかし実際の攻撃で使われる可能性があり、別の隠れみのを利用するだけでセキュリティ防御を不意打ちできる。例えば、ハッカーはAmazonのCEO、Jeff Bezos氏をメディアファイルに隠された悪意のあるコードを使って攻撃し、機密情報の収集に成功した。
デジタル・ステガノグラフィーの目的とは?
暗号化された通信は、防御担当者や検知ツールからすぐに疑わしいものと見なされる可能性がある。一方、ステガノグラフィーを使えば、ハッカーは簡単には見つけにくい方法でデータを隠せる。
実際、ステガノグラフィーを検知するには、まずその手法を知っていなければならず、次にどのファイルを分析すべきかを把握する必要がある。この知識がなければ、ユーザーは、通常はセキュリティ警告を発しない.gif、.png、.jpgなどの一般的なファイル形式に隠された悪意のあるスクリプトの起動トリガーにさらされやすくなる。
関連記事:主要なエンドポイント検知・対応(EDR)ソリューション
画像ステガノグラフィーの仕組みとは?
攻撃者は画像の最下位ビットを利用して悪意のあるコードを隠し、画像を視覚的には変更されていない状態に保てる。このプロセスは、steghideと呼ばれることが多い。
ここでは、Kali Linuxとsteghideソフトウェアを使った基本的な例を紹介する。steghide embedを実行するだけで、テキストファイルを画像の中に隠せる。

処理後も、肉眼では変更されたピクセルの違いを認識できない。元の画像はカバー画像、変更後の画像はステゴ画像と呼ばれる。
暗号化アルゴリズムによって、メッセージやマルウェアは特定のピクセルだけを変更することで画像に埋め込まれる。
ステガナリシスとは、ステゴ画像をデコードする行為だ。steghide extractを使えば,秘密の.txtファイルを別のフォルダーに配置できる。

この例ではパスフレーズを使っていない点に注意してほしい。必須ではないが、実際の環境では追加することが望ましい。そうしなければ、誰でも秘密のメッセージを抽出できてしまう。
コマンドラインは非常に分かりやすく、Stegosuiteなどのソフトウェアを使えば、グラフィカルインターフェースで同じ操作を実行することもできる。
ハッカーによるステガノグラフィーの利用法
ステガノグラフィーの力を過小評価してはいけない。テキストメッセージを隠すだけの場合でも、検知を逃れたり、パブリックネットワークを使って非公開で通信したりする強力な手法となる。
画像は、悪意のあるコードや情報を隠すのに非常に適した媒体だ。人の好奇心を引くこともなく、ほとんどのセキュリティツールはこのようなファイル形式を検知しない。
しかし、典型的な攻撃では、マクロを有効にしたExcelやWord文書など、PowerShellやbashスクリプトが埋め込まれた他のファイル形式も利用される。
被害者がファイルを開いて内容を読もうとすると、隠されたスクリプトが起動し、コンピューターのどこかにダウンローダーをインストールする。このダウンローダーはインターネットに接続し、ハッカーがそのマシン上で侵害したいもの(マルウェアやコマンドアンドコントロールの指示など)を取得する。
LokiBotはその顕著な例だ。このトロイの木馬には複数の亜種が存在し、そのうちいくつかはステガノグラフィー画像を使ってマルウェアを隠していた。ある亜種では、ハッカーは大半のメールセキュリティゲートウェイを、画像の中に悪意のある.zipx添付ファイルを隠すことで回避した。
2020年には、ステガノグラフィー文書を利用したキャンペーンによって、英国、ドイツ、イタリア、日本の企業が被害を受けた。
ハッカーは、Imgurなどの正規プラットフォームでホストされたステガノグラフィー画像をExcel文書に仕込むことで、セキュリティチェックを回避した。画像には、Windowsの認証情報を盗むプログラムであるMimikatzをダウンロードする隠しスクリプトが含まれていた。
関連記事:ランサムウェア攻撃を防ぐ方法:2022年のベストプラクティス20選
ステガノグラフィー文書から身を守る方法
ステガノグラフィーはマルウェア対策ツールにとって悪夢となり得る。理論上、画像を手動で検査するまで、それがステガノグラフィー画像かどうかを知ることはできない。
それでも、画像の容量が異常に大きい場合や、重複した色が大量に含まれている場合は、重大な警告サインとなる。フォレンジックチームが一般的な隠蔽手法を特定するために利用できるその他の兆候には、次のようなものがある。
- ファイル末尾の悪意のあるコード
- 通常とは異なるファイルシグネチャーやプロパティ
- LSB(最下位ビット)などの既知のアルゴリズム
あるいは、統計分析や構造分析など、通常とは異なる変更を自動的に見つけるさまざまな手法もある。しかし、CDR(コンテンツ無害化・再構築)ソリューションの方がはるかに効率的だと思われる。
この技術はマルウェアを自動的に除去する。ステガノグラフィー文書を検知する代わりに、さまざまなエンドポイントやファイル形式(画像を含む)、メールなどの送信元に対して、より厳格なポリシーを定義する。
マクロや悪意のあるスクリプトなど、ファイル内の承認されていないオブジェクトは、従業員の生産性に影響を与えることなく迅速に削除される。
急速に進化するステガノグラフィー技術
より高度な手法では、敵対的学習を使ってステガノグラフィー画像を生成するために人工知能を利用することもある。この観点では、steganoganパッケージ(Python)は、その仕組みを理解するのに役立つ。
このパッケージは、従来のステガノグラフィー技術ではなく、学習済みモデルを使って情報を隠す。そのため、ステガナリシスで認識できる痕跡が残らない。
このツールは内部で複数の関数を使い、エンコードとデコードを最適化している。この場合、防御側もモデルを訓練しなければならない。そうしなければ、エンコード方式が未知であるため、検知率は低くなる。
例えば、さまざまなパラメーターやインスタンスを使って大量のステガノグラフィー画像を生成し、豊富なデータセットを作成することで、高度なステガノグラフィー文書をより適切に検知できるようにする方法がある。
したがって、この脅威に対する最善の防御策は、ネットワーク上の異常な活動を検知する行動分析型のセキュリティツールかもしれない。こうしたツールは、単体のUEBA製品として利用できるほか、他のサイバーセキュリティツールにも行動検知機能が搭載されるようになっており、EDRなどがその例だ。





