🦠

事業会社でマルウェア解析環境を構築 → 実際にフィッシング検体を解析してみた

に公開

はじめに

サイバーセキュリティチームに所属している宮﨑です。

普段は、CSIRT/SOC業務を中心に、インシデントレスポンスへの対応強化や各種ログ分析等の業務に従事しております。

今回は社内にマルウェア解析環境を作成し、当社従業員宛に届いたフィッシングメールを解析した結果を紹介いたします。
また、解析環境を事業会社で構築するにあたりどのような機器や製品を調達したのかもあわせて共有させていただきます。

対象読者

本記事では以下の方を対象読者として記載しております。

  • 事業会社でマルウェア解析・フィッシングサイト調査ができる環境を用意したいと考えている方
  • 事業会社でマルウェア解析環境を用意した際のメリットを知りたい方
  • 事業会社でマルウェア解析環境を作りたいけど、どのようなスキル・環境を用意すべきかわからない方

注意点

本ブログで紹介しているマルウェア解析は、当社宛に送付されたマルウェアの影響を調査する正当な目的で実施しています。正当な理由なくマルウェアを取得・保管することは法律で禁止されており、刑事罰の対象となる可能性がありますのでご注意ください。

これまでの課題

サイバーセキュリティチームではこれまで従業員を標的としたフィッシングメールの監視を行っていました。
しかし、当時は以下のような背景があり、十分な深掘り調査までには至っていませんでした。

  • 専用のマルウェア解析環境(分離されたPC・ネットワーク・仮想環境など)が存在せず、安全に調査を行う手段が限られていた
  • 多くのフィッシングメールは迷惑メールフォルダで自動隔離されていたため、「被害が顕在化していない」ことを理由に、対応優先度が低くなりがちだった
  • 対応者の工数・スキルの観点からも、調査は主に公開情報ベースのOSINTに留まっていた

結果として、実際に自社を標的とした攻撃であったとしても、それを「ばら撒き型」と誤認して見過ごすリスクがありました。

しかし、当チームでは下図のように「Intelligenceを活用しながらActive Securityを体現できるチーム」を将来的な理想像として掲げています。

そのためには、単に受動的にメールを確認するだけでなく、攻撃者の意図や手口、インフラの背後にある関係性などを積極的に調査・解明する必要があります。
とくにフィッシングメールは攻撃の入口にすぎないことも多く、そこから得られるIoCやTTPをもとに、組織的な標的型攻撃であるか、無差別なばら撒き型かを判別する力が求められます。

事業会社でマルウェア解析の環境を用意するメリット

メリットは大きく、スピード対応、コスト削減、そしてナレッジ蓄積であると考えます。

スピード対応

マルウェアが実際に社内のエンドポイントなどから検知された場合、その侵入経路や動作内容を迅速に調査・把握する必要があります。

しかし、外部のマルウェア解析サービスを提供しているセキュリティベンダーに依頼するとなると、以下のような手続きが発生します。

  • ベンダー選定
  • 稟議・発注手続き
  • スケジュール調整
  • 調査の開始

そのため、実際に調査が始まるまでに数日〜1週間ほどのタイムラグが生じてしまうことが懸念されます。
その点、自社内にマルウェア解析環境と解析スキルを持ったエンジニアをあらかじめ確保しておくことで、初動対応を即座に開始でき、被害の拡大や二次感染を抑えることができると考えています。

また、難読化や解析妨害が組み込まれていて最終的には外部依頼が必要となるケースでも、外部調査の開始までの空白期間に手を打てるというのも大きなメリットです。

コスト

マルウェア調査を外部ベンダーに依頼する場合、プランによりますが1検体ごとに数十万円〜百万円単位の費用が発生することが予想されます。
例えば、不審ファイルの出現頻度が高い環境や、標的型攻撃を頻繁に受ける業種では、1年間で数十件の外注が必要になるケースもあります。そうなると、年間で数百万円以上のコストがかかる可能性があります。

一方、自社内に環境が整っていることで、「すぐには外注しなくてよい段階」での初期分析が可能になり、不要な外注コストを大幅に抑えることができます。

さらに、外注が必要な場合でも、事前に社内で概要分析を済ませておくことで、依頼内容を明確にできるため、ベンダーの調査コストや工数も削減可能です。

ナレッジの蓄積

社内でマルウェア解析を実施することにより、マルウェアの挙動、攻撃インフラの特徴、検体の傾向などについて独自のナレッジが蓄積される点も大きなメリットです。
蓄積された知見は、以下のような活用方法があり一時的なコスト削減にとどまらず、組織全体のセキュリティレベル向上にも繋がります。

  • 類似攻撃の早期検知・防御
  • 社内向け啓発資料やガイドラインの作成
  • 将来的なインシデント対応能力の底上げ

マルウェア解析を行うために必要なスキル

一般的にマルウェア解析は大きく分けると3つの解析手法に分類分けされます。

表層解析

マルウェア本体を実行せず、ファイルのメタ情報や文字列情報、ハッシュ値などをもとに調査を行う初期分析手法です。

高度なスキルは求められませんがマルウェアを解析するという自覚を強く持って調査する心構えが必要です。

◾️ 求められるスキルの例

  • ファイル形式(PE, ELF, Officeファイルなど)や拡張子に関する知識
  • stringsやexiftool、hashdeep、VirusTotalなどの表層解析で利用するツールスキル
  • マルウェアの亜種識別や既知のIoC(Indicator of Compromise)の照合技術

動的解析

実際にマルウェアを隔離環境で実行し、ネットワーク通信やファイル操作、レジストリ変更などを調査する手法です。

実際にマルウェアを動作させるため表層解析よりもリスクが高く、意図せずネットワークに繋いだ状態のままマルウェアを動作させてしまうと攻撃者に情報を盗まれるなどの実際の被害に直結する可能性もあるため、十分な注意が必要です。

◾️ 求められるスキルの例

  • 仮想環境(VMware/VirtualBox/FlareVM)の構築
  • サンドボックス(Cuckoo Sandboxなど)やモニタリングツール(Procmon, Wireshark)の操作
  • Windows APIやネットワークプロトコルの理解

静的解析

マルウェアを実行せず、逆アセンブルや逆コンパイルを通じてコードレベルで内部動作を解析する手法です。

静的解析はIDA Proなどのリバースエンジニアリングツールを利用して解析を進めます。そのためツールの理解やアセンブリ言語の理解、WindowsAPIの仕様理解などが求められます。
また、耐解析妨害としてパッキングや難読化を組み込んだマルウェアに対しては実際にデバッグしながらメモリに展開されたマルウェア本体を抽出したりと求められるスキルレベルは表層・動的解析と比べると跳ね上がります。

◾️ 求められるスキルの例

  • アセンブリ言語(x86/x64)の理解
  • IDA Pro, Ghidra, Radare2 などのリバースエンジニアリングツールの使用経験
  • パッキングや難読化解除技術(Unpacking, Deobfuscation)
  • デバッガーの使用経験
  • C/C++ベースのコード解析力

環境構築の設定方針と準備したもの

設計方針

今回、解析環境を構築するにあたり想定した設計方針は以下のとおりです。

  • 社内ネットワークには一切接続しないこと
  • 持ち運び・ファイル受け渡し用には特定の人物しか利用できないUSBメモリを使うこと
  • 仮想環境を活用し、安全かつ柔軟に解析を行えるようにすること

準備したもの

上記の設計方針をもとに解析環境を作るために準備したものは以下のとおりです。

  • WindowsPC(メモリ64GB 2TB)
  • モバイルルーター(月100GB)
  • パスワード付きUSBメモリ(16GB)
  • VMWare WorkStation Pro
  • WindowsOSライセンス
  • Office 2024
  • FLARE-VM

WindowsPC

仮想環境上でWindows OSを実行することを前提としていたため、ホストマシンにはWindows PCを採用しました。
ホストPC自体の感染リスクを最小限に抑える観点からはIntel Macも候補にあがりましたが、型が古く入手性や管理性に課題があったため、最終的にWindows PCを選定しています。

以下は大まかなスペックです。

  • 13th Gen Intel(R) Core(TM)i9-13900H 2.60 GHz
  • メモリ 64GB
  • 容量 2TB

仮想環境における複数のスナップショット取得や、解析環境のパフォーマンスを維持した動作、また後からスペック不足により拡張する手間を避けることを考慮し、高性能なスペックを用意しました。

また、当社の従業員端末にはEDRやNetskopeなどのセキュリティ製品を導入していますが、本環境のPCに関しては、それらをあえて導入していません。
理由としては、マルウェア検体の動作検証や意図的に発生させる通信をこれらの製品がブロック・検知してしまうリスクを回避するためです。
そのため、この解析環境は社内ネットワークとは完全に切り離し、独立した検体解析専用環境として運用しています。

モバイルルーター

当社では、通常、従業員の端末から外部へのインターネット通信はセキュリティ制御下に置かれており、通信元のIPアドレスも管理されています。

しかし、マルウェア解析やフィッシングサイトの調査においては、攻撃者が用意した不正なサーバーに意図的にアクセスする必要がある場面も多く存在します。
このような場合に、通常のオフィスネットワークや管理された回線経由でアクセスしてしまうと、社内の正規ネットワークと攻撃者環境が結びついてしまうリスクがあるため、これを確実に回避する必要があります。

その対策として、マルウェア解析専用のモバイルルーターを用意し、解析環境を社内ネットワークから完全に分離しました。
これにより、解析対象が外部と通信を行った場合でも、社内環境には一切影響を与えない運用ができるようにしています。

さらに、社内ネットワーク側でも制御を行っており、当該PCから社内環境へのアクセスはできない設定としています。
このように、物理・論理の両面から隔離を徹底することで、万が一の場合でもリスクを最小限に抑える仕組みを採用しています。

また。モバイル回線は 月間100GBまで利用可能であり、通常の解析・調査業務においてはこの容量を超過することはほぼないと見込んでいます。

パスワード付きUSBメモリ

従業員のPCから検体ファイルをマルウェア解析環境へ安全に移動させるために、パスワード付きのUSBメモリを採用しました。
万が一、他の従業員が誤ってこのUSBメモリを自身の業務端末に接続してしまった場合でも、マルウェアによる感染を未然に防止するための対策です。

USBメモリの容量については、16GBのモデルを選定しています。
マルウェアの検体ファイルは一般的にサイズが非常に小さいため、実際には4GB程度でも十分ですが、多少の余裕を持たせつつコストパフォーマンスも考慮した結果、この容量に決定しました。

実際にPCで利用している様子

WindowsOSライセンス

仮想環境用のWindowsOS用を1ライセンス分用意しました。

VMWare WorkStation Pro

仮想マシン環境には「VirtualBox」と「VMware Workstation Pro」のどちらを採用するかを検討しましたが、最終的にはVMware Workstation Proを選定しました。

理由としては、2024年11月より商用利用も含めて無料で利用可能になったことが大きく、より高機能で安定性の高いVMware製品を無料で活用できる点を評価しました。

参考URL:VMware Fusion and Workstation are Now Free for All Users
https://blogs.vmware.com/cloud-foundation/2024/11/11/vmware-fusion-and-workstation-are-now-free-for-all-users/

Office 2024

当社では業務上、Office製品(Excel、Word、PowerPointなど)を日常的に使用しているユーザーが一定数存在します。
そのため、Officeドキュメント型マルウェア(マクロ付きファイルなど)の解析が可能な環境を整備する必要がありました。

本解析環境では、クラウド連携や常時インターネット接続を避ける運用方針のため、サブスクリプション形式のMicrosoft 365ではなく、買い切り型の「Office 2024」を導入しています。

FLARE-VM

FLARE-VM は、Mandiant社がオープンソースで提供している、Windows向けのリバースエンジニアリング環境構築スクリプト集です。
仮想マシン上でPowerShellを通じてスクリプトを実行するだけで、解析に必要なツール群が自動的にセットアップされるため、短時間で強力なマルウェア解析環境を構築できます。

セットアップ時間の目安は約4時間程度で、完了後にはIDA Free、x64dbg、PE-bear、Process Hackerなど、各種リバースエンジニアリングに必要なツールが揃った状態になります。

参考URL:https://github.com/mandiant/flare-vm

FLARE-VMの利点の1つとして、現在PCがインターネットと疎通しているか視覚的にわかるという点です。
マルウェア解析を行う際、通常はインターネット環境から隔離した状態で調査を行います。FLARE-VMを利用することで下図のようにインターネットと疎通している場合はテーマカラーが赤く表示されます。

インターネットから隔離されている場合は青く表示されます。

このように視覚的に状態を表示してくれるため、「ネットに繋いでいないと思って解析していたが、実は接続されており、攻撃者のサーバーと通信してしまった」といった重大なミスを未然に防ぐことができます。

管理方法

マルウェア解析環境で使用する PCやUSBメモリなどの媒体は、すべてパスワード保護を施し、アクセス可能な従業員も限定しています。
これにより、不特定多数の従業員による誤操作や、社内ネットワークへのマルウェア感染といったリスクを最小限に抑えています。

加えて、物理的セキュリティの強化を目的として、これらの機材はすべて 鍵付きキャビネットで保管する運用ルールを採用しています。
特にマルウェア解析環境は、悪性コードが意図せず実行される可能性や、USBを経由した社内ネットワークへの感染リスクも完全には排除できないため、

  • 論理的制御(パスワード保護・アクセス制限)
  • 物理的管理(施錠された専用保管場所)

の両面から安全対策を実施する方針としています。

構築した環境で調査

検体の抽出

当社の従業員宛に送信されたフィッシングメールのうち、添付ファイルが存在するメールを過去の履歴から探し2つの検体を抽出しました。

拡張子SVGファイルの検体(検体A)

  • フィッシングメールの中身

  • ダウンロードした検体

拡張子PDFファイルの検体(検体B)

  • フィッシングメールの中身

  • ダウンロードした検体

検体A(SVG)の解析

検体AはSVGファイルでした。SVGは画像フォーマットの一種ですが、ファイルの中身はXML形式のテキストデータであるため、HTMLやJavaScriptのコードを実行させることも可能です。
そのため、しばしば攻撃者がマルウェアを作成する際に利用するファイル形式です。

当該ファイルをテキストエディタで展開すると、Base64で難読化された文字列が複数見つかりました。

このコードは、SVG形式のファイルにJavaScriptを埋め込み、外部サイトを全画面表示のiframeで読み込ませるマルウェアということがわかりました。
atob() メソッドが用いられている箇所をデコードすることで、攻撃者のドメイン情報を取得できました。

さらにパラメーター部分を同じくデコードした結果、当社従業員のメールアドレスが埋め込まれていました。

そのため、当該ファイルを開いた結果以下のようなリクエストを送信することになります。

hxxps[:]//invrece[.]culturaljourneyexperiences[.]de/OQiKp?e={Base64でエンコードされた従業員のメールアドレス}

パラメータにメールアドレスを追加している理由については、フィッシングメールを送った結果だれが実際にフィッシングに引っかかったのかをトラッキングするためと推測します。

次に発見した攻撃者のドメインからからどのような通信を行うか調査を行いました。しかし、調査を行ったタイミングでは既に名前解決できない状態になっていたため、公開情報を用いた調査に切り替えました。

当該ドメインを公開情報で調査したした結果、Microsoftのログインページを模倣した偽のログインページを表示していることが判明しました。

この結果から検体AではSVGファイルを展開すると攻撃者が作成したフィッシング用のMicrosoftのログインページが表示され、入力した情報が盗まれてしまう仕組みであることがわかります。
また、仮に認証情報を入力しなかった場合でも、サイトにアクセスしてしまうことで攻撃者はどのメールアドレスの利用者がフィッシングメールのリンク踏んだのか判別できるため、罠にかかりやすいリストとして管理されてしまいます。
なお、上記ではBase64エンコードのみの難読化ですが、他にもXOR暗号と組み合わせた検体も観測しており、フィッシングサイトはAzure Storageで静的Webサイトホスティングとして構築されていました。

検体B(PDF)の解析

検体BはPDFファイルの形式でした。解析環境で開いたところ、一見すると請求書に見えるデザインでした。

実際には「View On Adobe」と書かれたボタンをクリックさせることで、外部の悪意あるサイトに遷移させるマルウェアであることが判明しました。
リンク先のドメインを調査したところ、Cloudflare R2のパブリックバケットを利用して静的ホスティングされていることがわかりました。
R2はオブジェクトストレージでありながら、外部公開が可能で、条件によっては無料で利用できるため、フィッシングサイトに悪用されている事例が多く報告されています。

なお、該当のリンクに実際にアクセスしたところ、Cloudflare側でフィッシングの疑いとしてブロックされており、最終的なページ自体は閲覧できませんでした。
このように、Cloudflareによって安全性が担保される場合もありますが、クリックのタイミングや地域、アクセス元によってはブロックされず表示されてしまう可能性もあるため、油断はできません。

さいごに

今回、自社内にマルウェア解析環境を整備し、実際にいくつかの検体を調査してみる中で、初動で得られる情報量やスピード感が格段に向上したと感じています。

これまで公開情報頼みだった場面でも、自分たちの手でファイルの挙動や通信先の調査、難読化の解除などを通じて、攻撃の目的や背景を主体的に把握できるようになったのは大きな進歩でした。

一方で、調査に必要なスキルについては日々ノウハウの蓄積が重要だと実感しています。
今後もこの解析環境を活用し、受け身ではなく攻撃の意図を読み解いて対策につなげる"Active Security"の実現を、チームとして目指して取り組んでいきたいと思います。

また、サイバーセキュリティチームでは以下の記事も投稿しております。
ご興味ある方はぜひご確認ください。

筆者プロフィール

システム基盤グループ サイバーセキュリティチーム
セキュリティエンジニア
宮﨑(みやざき)

WealthNavi Engineering Blog

Discussion