プロセス保護ポリシーの継承で不正な動きを防ぐ
– 未知・新種の攻撃からシステムを守る-
■最新セキュリティ技術を掻い潜るマルウェア
毎年、各セキュリティベンダーは今後のセキュリティ予測を公表しています。昨年も各社の予測が公表され、多くのベンダーが 2017 年に注目すべきセキュリティ脅威の一つに、最新セキュリティ対策を掻い潜るマルウェアの増加を取り上げています123。
そのマルウェアはメモリやレジストリに潜み、スクリプトやバッチファイルから Windows Powershell4(図1)を悪用して活動します。
このようなマルウェアは「ファイルレスマルウェア5」や「ステルスマルウェア」を呼ばれ、Office 文書やAdobe PDF 文書など通常の文書ファイルのマクロに潜んでいるため、最新のセキュリティ技術でも確実に感染を検知して発症を防ぐことが困難です6。
■検知型では防げないファイルレスマルウェア
ファイルレスマルウェアを利用した標的型攻撃の手法を、実際に感染・発症した事例で解説します。標的者に対してメールが送信され(①)、WEB サイトへ誘導するURLリンクが記載されていたためブラウザでWEBサイトを閲覧し(②)、PDFファイルのダウンロードして表示したところ(③)、PDF 文書に内在していたマクロから Powershell が実行され(④)、マルウェアに感染して不正動作が実行されました(⑤)。
当該組織は最新セキュリティ技術を搭載した製品で多層防御によるサイバーセキュリティ対策をしていましたが、ファイルレスマルウェアをそれぞれの防御壁では“検知”することができませんでした。
導入されていた製品は、次世代型ファイヤーウォール、機械学習型エンドポイント保護製品、次世代型サンドボックス、EDR7搭載次世代型アンチウィルスソフトでした。
■システムの正しい動きを衛る“Isolation Technology8”
サイバー攻撃を防ぐ手段はマルウェアの検知・駆除以外にも方法があります。
アプリケーション要塞化(ハードニング、図3)と呼ばれる手法です。アプリケーションが正しく動く範囲を予め定義(ホワイトリスト)することによってアプリケーションに内在するマルウェアの不正な動作を防ぎます。従来この手法は「要塞化するアプリケーション毎にホワイトリストを定義する必要があり設定が難しい。」「アプリケーションのバージョンアップやパッチリリース毎にホワイトリストを見直す必要があり運用が非常に難しい」「限られた用途のアプリケーションが動作する特定用途のサーバにしか適用できない。」と言われてきました。
“アイソレーションテクノロジー(Isolation Technology)“はこの制約を突破し、サーバを含むすべてのエンドポイントに適用することを可能にしました。従来手法との決定的な違いはプロセスに対してポリシー(ホワイトリスト)を定義していることとそのポリシーをプロセスが継承(Inheritance)していくことであり、設定・運用が非常に容易にできます。
■プロセス保護のポリシー
アイソレーションテクノロジー(Isolation Technology)ではプロセス毎に下記の項目をカーネルレベルでモニターしています。
- アプリケーションの起動
- プロセスコードのロード
- ファイルシステム(システム領域とユーザ領域)
- ネットワーク共有アプリケーションの起動
- レジストリに対するアクセスと操作
- ネットワーク(TCP/UDP ポート)へのアクセス
他プロセスメモリに対する読み込みおよび書き込み(Read/Write)を指定することにより、これらの項目に対してアプリケーションの正規な動作をポリシーとして規定します。
例えば、汎用アプリケーション(メーラー、ブラウザ、ドキュメント等)はレジストリや他プロセスのメモリにアクセスすることは不正とします(図4)が、Powershellなどのコマンドラインインタフェース(CLI)はレジストリ、メモリ、ファイルシステム等のほとんどのリソースにアクセスできる必要があります(図5)。CLI単体のポリシーでは正当なスクリプトと不正なスクリプトを区別できずアプリケーション要塞化製品では不正な動作を防御するホワイトリストを定義することが非常に困難です。
■プロセス保護ポリシーの継承(Inheritance)
プロセス保護ポリシーの継承(Inheritance)技術は複雑なプロセス保護ポリシーを定義することなく不正な動作を防ぐことが出来ます(特許取得済み9)。Inheritance は最初に起動されたプロセス(親プロセス)からコールされた子プロセスにも親プロセスの保護ポリシーを継承します。先の攻撃事例の場合、プロセス保護ポリシーは汎用アプリケーションの親プロセス(Outlook)から、 順次コールされた子プロセス(FireFox → Acrobat Reader → Powershell)に継承されています。
CLI 単体では図5のポリシーとなりますが、継承された場合は図6の保護ポリシーが適用され、レジストリやメモリへのアクセスは不正と判断し動作を遮断します。 “アイソレーションテクノロジー(Isolation Technology)”はプロセス保護ポリシーの継承(Inheritance)によって、既知や未知にかかわらずマルウェアの不正な動きを防ぎ、システムの正しい動作を衛ることを可能にします。
AppGuard 3つのメカニズムについて
<Zero Trust Space、Isolation、Inheritance>
1 https://www.symantec.com/connect/tr/blogs/2017?page=1
2 http://blogs.mcafee.jp/mcafeeblog/2016/01/2020-edb4.html
3 http://www.trendmicro.co.jp/cloud-content/jp/pdfs/doc-dl/2017-prediction-v1-20161216.pdf
4 マイクロソフトが開発した拡張可能なコマンドラインインターフェース (CLI) シェルおよびスクリプト言語
5 まったくファイルを用いず、直接コンピュータの RAM に書き込むマルウェアのこと
6 https://www.symantec.com/connect/ja/blogs/powershell-954-0
7 Endpoint Detection and Response の略、不正プログラムの検知と対処を行うエンドポイントの機能
8 Blue Planet-works 社が提唱する”軽量でシステムを防御する、「新概念」”
9 “Trusted Enclaves” http://www.google.com/patents/US20080077994