![[翻訳版]ポリモーフィック型マルウェアとは?その特徴と対処方法](/cm/archives/security-blog/2018/11/30/polymorphic_750_moji_2_1.jpg)
今回は、ポリモーフィック型マルウェアの特徴と対処方法について、クライアント仮想化製品のメーカであるEricom社が公開した記事を日本語に翻訳してお届けします。ポリモーフィック型マルウェアとは、実行するたびに様々な手法でコードを変更する感染力の非常に強いマルウェアで、従来の検知型セキュリティソリューションによる検出は回避してしまいます。マルウェアの動きを知っておくことは、セキュリティ対策を考える上でも役立ちます。本ブログでは、ポリモーフィック型マルウェアの感染メカニズムから、対処方法のベストプラクティスまで詳しくご紹介していますので、しっかりチェックしていきましょう。
※以下の内容はEricom社が2018年4月5日に公開した記事をアシストが翻訳したものです。
Ericom社の記事はこちら
一度は根絶に向かったポリモーフィック型マルウェアEmotetとは
2014年当時、Emotet※1はオンラインバンキング詐欺を目的に作られたFeodo Trojanマルウェアファミリーの一つとして存在しており、主にドイツ、オーストリア、スイスで多くのエンドポイントが犠牲になった後、米国に亜種が広がりました。この当時のEmotetはエンドポイントに感染してネットワークトラフィックを傍受し、銀行口座の詳細情報を収集するものであり、最初のバージョンは、インストールモジュール、バンキングモジュール、スパムボットモジュール、Microsoft Outlookから電子メールアドレスを収集する盗難モジュールで構成されたモジュール構造でした。
Emotetは銀行口座情報を傍受すると、感染したユーザーの銀行口座から犯人の外国口座にひっそりと送金を行います。そして活動を継続するために、接続先のC2サーバ※2のドメイン名を1日に数回変更するなどして、サイバーセキュリティの専門家といたちごっこを演じました。
2014年から2015年の初めにかけて、サイバーセキュリティベンダーは、Emotetの多くの亜種Cridex、Dridex、ZeuS、Feodo、Geodoを発見しました。これらは、金融機関のHTMLページにWebインジェクション※3を行うもので、エンドポイントへのアクセス方法として通常のWebブラウジングを使用しています。この当時のEmotetは、一般的なEDRソリューション※4で検知可能であり、根絶に向かったかのように思われました。
※1Emotet(エモテット)、ポリモーフィック型のマルウェアの一種。拡散力が非常に強い
※2「C&Cサーバ」、不正に乗っ取ったコンピュータをコントロールするサーバ
※3JavaScriptによってブラウザ上に偽の認証画面を表示させ、ユーザーが入力したワンタイムパスワード等を搾取した後、C&Cサーバによって搾取した情報を使い1分以内に不正送金を実行する攻撃
※4エンドポイントの振る舞いを監視し、セキュリティ侵害の可能性のある異常な動きを検知するソリューション
Emotetの再出現
ところが、Emotetは進化して復活を遂げます。2017年に偽の電話代請求書のPDFファイルをメール添付ファイルとして送り、Emotetに感染させる攻撃キャンペーンがイギリスで発生。PDFファイルのアイコンをしている添付ファイルは、実際はPDFファイルに偽装したexeファイルで、非常に長いファイル名前を使用して「.exe」拡張子が表示されないようにしていました。添付ファイルをクリックすると、エンドポイントにEmotetがダウンロードされ、インストールされる仕組みです。
Emotetが英国から米国に広がり始めたとき、感染方法に変更が加えられ、PDFファイルにJavaScriptへのリンクが含まれるようになりました。偽の請求書の巧妙な誘導に騙されたメール受信者にリンクをクリックさせる仕組みです。PDFファイルの中には、無意味なデータを加えて偽装した.JSファイルを返すリンクがあります。.JSファイルを実行すると、C2サーバ※2のIPアドレスにポート8080を介してHTTP GETリクエストが送られます。
2017年4月、配布方法を変更したEmotetの亜種が登場しました。Emotetの亜種をダウンロードするPowerShellスクリプトを実行するマクロが、Microsoft Officeドキュメントに組み込まれていました。また、亜種には検知を回避する様々なメカニズムが実装。メモリに自身を直接展開し、悪意のあるファイルをWindowsシステムにドロップします。また、感染後に検出されないように、自分自身の名前の変更も行います。
このEmotetが感染時、実行時、検出回避に使用していたのは以下のようなメカニズムでした。
自律的に企業ネットワークに感染を拡大(ワーム型)
Active Directoryドメインアカウントを辞書攻撃によって奪取し、ネットワークに拡散
EternalBlue※5 / DoublePulsarバックドア※6の活用
別マシンに感染拡大する際に、マシンがすでに感染しているかどうかをチェック
リモートからアクティベートできるスパムモジュールが、アドレスを取得してメール送信
実行時に関数を動的に解決することで実行ファイルが静的解析を回避
サンドボックス環境※7で実行されているかをチェックし、サンドボックス内では活動停止することで解析を回避
高度なポリモーフィズム機構を実装
※5 Windowsの脆弱性を攻撃するツール
※6 一度侵入したマシンに、再度侵入をするための仕掛け
※7 マルウェアを実行しても問題がない、保護された仮想環境。プログラムをこの仮想環境内で動作させ、マルウェアの有無を確認する
Emotetの最大の特徴、ポリモーフィングとは
Emotetの最大の特徴は、高度なポリモーフィングです。アンチウィルスやEDRソリューション※4では検出されないように動的に変化します。この規模の実行ファイルでポリモーフィズムを取り入れているのは革新的でした。
Emotetは、元のアルゴリズムをそのまま維持しながら、繰り返し変異することができます。コードは実行のたびに変わりますが、コードの機能は変わりません。 Emotetは、実行するたびにコードを様々な手法で変更し、強力なセキュリティソリューションによる検出も回避します。
検知型のセキュリティソリューションの多くは、既知のマルウェアの特徴的なコードと一致するパターンを検出します。新しい種類のマルウェアに遭遇すると、それらはグローバルな脅威情報データベースに追加され、以降の攻撃を検出できるようにします。しかし、ポリモーフィングコードの場合、常にコードが変化することによってサイバーセキュリティシステムを「もぐらたたきゲーム」に陥れます。特定のEmotetのポリモーフィングコードを検出できたとしても、次にどこかで実行される時にはまた未知のコードになって検知を免れるのです。
Emotetが検知を回避できる理由
多くの脅威分析製品には、動作中のマルウェアを捕まえるために短いスリープ期間が設定されています。Emotetは検出を避けるために長い時間眠ることによって検出をすり抜けるように設計されているのです。その検出回避の仕組みは簡単です。Emotetは、いつスキャンが走るのかをチェックし、スキャンが始まれば活動を停止するのです。潜在的なマルウェアを安全にチェックするための方法(サンドボックス※7のような仮想環境で実行する方法)は、Emotetには通用しません。Emotetは自分がサンドボックス環境にいるのかどうかをチェックし、そうであれば活動しません。
変わるC2サーバのIPアドレス
以前は、C2サーバ※2のIPアドレスによってマルウェアを特定して追跡することができました。しかし、サイバー犯罪者は毎日10万件以上の新しいIPアドレスを使い、追跡をかくらんします。Emotetは、数百のC2サーバの間を一瞬で行き来することができてしまうのです。
ポリモーフィック型マルウェアからシステムを守る方法
主要なサイバーセキュリティベンダーは、Emotetやポリモーフィック型マルウェアの特有な以下のような行動を検出するために様々な手法を開発しています。
コードの順序並べ替え
レジスタ・リネーミング
コード拡張
無意味なコードの挿入
コード縮小
一般的な復号化スキャン
エミュレーション
ヒューリスティック解析のすり抜け
メモリブロックのハッシュ化
もうひとつの有効な検出手法は、シグネチャを探す代わりに、疑わしい動作がないかプロセスを監視する振る舞い検知です。
ベストプラクティス
ポリモーフィック型マルウェアから保護するために、組織はユーザーの行動、プロセス、およびテクノロジーを組み合わせたサイバーセキュリティへのアプローチを採用する必要があります。
不審なリンクのクリックや添付ファイルを実行しないようにユーザー教育を実施
エンドポイントのすべてのソフトウェアを常に最新の状態に維持
強力なパスワード利用の強制、または多要素認証を導入
脅威をリアルタイムで検出できる振る舞い検知ツールを導入
すべてのWebブラウジングでリモートブラウザ分離(Web分離)※10を実装する
リモートブラウザ分離を導入すれば、ユーザーがEmotetのメールキャンペーン(または他のポリモーフィック型マルウェア)で攻撃されても、不正なWebサイトからダウンロードされるJavaScriptは、エンドポイントから隔離されたリモートサーバ上の使い捨てコンテナ上で実行されます。仮想ブラウザ※11はWebコンテンツをリモートでレンダリングし、無害になったWeb画面をエンドポイントにストリーム転送します。アクティブなコードやスクリプトがエンドポイントに到達することはなく、エンドポイントや内部ネットワークは安全です。これはポリモーフィック型マルウェアへの対策にとって新たな希望となることでしょう。
※10 内部ネットワークの外にあるリモートブラウザを介してインターネットブラウジングを行う方法
※11 ローカルPCとは別のネットーワーク上のサーバ上で動作するブラウザ
執筆者から一言
セキュリティ対策は人とシステム、両面からの対策が必要です。しかし、標的型攻撃メールの訓練を十分に実施していたとしても、メールの手口はますます巧妙になってきているため、悪意のあるサイトのURLをクリックしてしまう可能性は大いにあります。ブログ記事の最後に紹介されている対策のひとつである、リモートブラウザ分離(Web分離)の環境では、URLをクリックしても、Webコンテンツはユーザー端末上では実行されず、社内ネットワークとは別のネットワーク上にあるサーバで実行されます。サイバー攻撃が多様化・高度化し続ける今、アンチウィルスなどの検知型セキュリティ対策に加え、Web分離も対策のひとつとして検討してみてはいかがでしょうか。
この記事を書いたスタッフ
セキュリティ担当技術者
セキュリティ担当技術者