この投稿は、vExperts Advent Calendar 2021の12日目です。
adventar.org
Carbon Black Cloudについて説明していると、「NGAVとEDRって何が違うの」という質問を多く受けます。特にCarbon Black Cloudの場合、Carbon Black Cloud "Endpoint"でもCarbon Black Cloud "Workload"でもNGAVとEDRは同一エディションで提供されます。そのため、NGAVとEDRは常にどちらも使える状態であり、実際製品をさわってみるとこの設定値はNGAVに影響するのか、このアラートはEDRによるものなのか、と混乱するわけです。NGAVのみを安価に提供するCarbon Black Cloud Preventionも登場しており、これ以上混乱しないためにも、一度立ち止まってCarbon Black Cloudの基礎をおさらいしてみようと思います。
エンドポイントセキュリティのおさらい
昨今はどのセキュリティベンダーも「エンドポイントセキュリティ」というキーワードを使用しています。VMwareビジネスに携わる方だとエンドポイントと聞くとWorkspace OneのイメージがあるのでクライアントPCやスマートデバイス、タブレットを思い浮かべる方が多いかもしれませんが、セキュリティ領域においてはサーバーもエンドポイントに含まれます。このようなエンドポイントを保護することを目的としたセキュリティソフトウェアの総称として普及しているのがEPP(Endpoint Protection Platform)であり、わかりやすい機能としてはAV(Antivirus)が挙げられます。
AVはあらかじめマルウェアの特徴を登録したデータベースをセキュリティソフトウェア内に持ち、この情報と検査対象のファイルを逐一比較するパターンマッチ方式が用いられています。これは登録されているものを確実に防げるメリットはありますが、登録されていないものは防げないデメリットがありました。そこで、データベースへの登録有無を問わずマルウェアを防ぎたいというニーズへ応えるように登場したのがNGAV(Next Generation Antivirus)です。
NGAVはマルウェア特有の動作を手がかりにマルウェアを検知する機能であり、従来のAVで使われたパターンマッチング方式とは異なり、振る舞い検知やAI・機械学習といった技術を用いてマルウェアと疑わしいものを検知・ブロックします。正直、NGAVについては絶対にこうあるべしと決まった姿があるわけではないので、セキュリティベンダーによってNGAVの技術や検知レベルは異なります、ユーザーからするとブラックボックス化していることも少なくありません。しかし、AVでは防げなかった亜種などの未知のマルウェアを防げるよう進化しているため、ほとんどの企業で導入されています。
EPP製品ではマルウェア対策を目的としたAVやNGAVといった機能のほかに、不正アクセス対策を目的としたFWやIPS/IDS、悪意あるURLからの保護を目的としたWebフィルタリングなどが実装されていることがあります。これは特定の脅威に対応する防御機能を実装することでエンドポイントのセキュリティ強度を高める目的があり、どんな機能がEPP製品に内包されているかはセキュリティベンダーにより異なります。しかし、どれだけ強力なEPP製品であってもマルウェア感染を100%防ぐことはできません。
よく複数のセキュリティソフトウェア製品を横並びにしてマルウェアの検知率を比較している光景を見ますが、検知率が99.5%だろうが99.9%だろうが100%でなければ誤差でしかありません。既知のマルウェアをお手本に作成したマルウェアをどれだけNGAVに検知させたところで、世界のトップハッカー組織が作成する全く未知のマルウェアには感染することでしょう。
マルウェア感染を100%防ぐことができないのであれば、マルウェア感染後の被害をどう食い止めるかが課題となり、そこで登場したのがEDR(Endpoint Detection and Response)です。EDRとは、エンドポイントの動作を記録・監視し、サイバー攻撃を発見次第すぐに対処することを目的としたセキュリティソフトウェア総称です。EPP製品はマルウェア感染を防ぐことを目的に、さまざまな脅威を「点」で捉え防御機能を提供していました。それに対してEDR製品は攻撃者による一連のサイバー攻撃を「線」で捉え脅威を検知し適切な対処を行うための機能を提供します。サイバー攻撃を検知・対処した後も、被害の原因調査や今後のセキュリティ対策へ分析結果を反映させることが可能です。基本的にEDR製品は検知後の調査、分析、復旧といった対処は人力で行うため、EPP製品に比べると導入後の運用が重要となります。
EDRの説明をするとEPPを代替できるかと聞かれることが多いですが、答えとしてはどちらも必要です。EDRは検知件数が増加すると対処に必要な工数が増加するため、そもそもEPPで防げるものは防ぐすべきです。そういった意味ではEPPとEDRは補完関係にあるといえます。実際、EPPベンダーの多くはEDRを提供し始めており、EDRベンダーの製品にはNGAV機能が必ずと言っていいほど含まれています。
MITRE社によるATT&CK Frameworkの公開で攻撃者の攻撃手法や戦術に対する理解が広まる中、エンドポイントのイベントログを収集することでサイバー攻撃の脅威をリアルタイムで検知し対処することが可能なEDRには注目が集まっています。また、国内においては2022年4月に全面施行される改正個人情報保護法に対応するため、法人におけるサイバー攻撃被害の説明責任能力が問われており、サイバー攻撃被害の可視化ができるEDRの需要が高まっています。
Carbon Black CloudのNGAV
Carbon Black CloudのNGAVはアプリケーションの振る舞いを検知して防御する仕組みとなっています。EPP製品に実装されているNGAVとの違いは、EPP製品が"マルウェア"のデータベースを利用しているのに対し、Carbon Black Cloudは"レピュテーション"のデータベースを利用している点にあります。レピュテーションとはアプリケーションの信頼度を11段階で評価したものであり、全てのアプリケーションには特定のレピュテーションが付与されます。レピュテーションの付与はCarbon Black Sensorをエンドポイントへインストールしたタイミングでバックグラウンドスキャンで実行されます。Carbon Black Cloudではポリシーと呼ばれる設定によって、「どんなレピュテーションが付与されたアプリケーションが、どんな振る舞いをしたときに、どんなアクションを実行するか」を定義することで、条件を満たす攻撃が発生した際にその攻撃を防ぐことが可能です。
フルクラウドモデルのCarbon Black Cloudはクラウドのデータベースを参照する"クラウドレピュテーション"を利用することが基本となる製品ですが、エンドポイントがオフライン状態であったとしても動作するローカルのデータベースとして"ローカルレピュテーション"を提供しています。ローカルレピュテーションはローカルスキャンと呼ばれる設定を有効化することで利用可能です。ローカルスキャンを有効化したエンドポイントではローカルにシグネチャをダウンロードし、そのシグネチャを参照することでアプリケーションにレピュテーションを付与します。
クラウドレピュテーションは不明なアプリケーションを検出した際にレピュテーションを取得するためクラウドへの軽微な通信が発生します、一方、ローカルレピュテーションはローカルにシグネチャをダウンロードしてスキャンを実行するため、クラウドレピュテーションに比べOSに負荷がかかります。これはあくまでもレピュテーションの取得を行うだけなので、ファイルをデータベースと逐一比較するパターンマッチ方式に比べれば負荷は小さいです。
Carbon Black CloudのNGAV以外の防御機能
Carbon Black CloudにはNGAV以外にDynamic Rule Engineという防御機能があります。NGAVはレピュテーションをベースとしたアプリケーションの振る舞い検知とその防御を提供する機能で、ユーザーがポリシーを設定することで利用可能なものでした。Dynamic Rule EngineはVMware社のTAU(Threat Analysis Unit)と呼ばれる脅威分析チームが配信する検知・防御ルールで、どんなポリシーを設定していたとしても自動的に適用される防御機能となっています。Dynamic Rule Engineはランサムウェアや認証情報窃取といった脅威に対するルールの配信や、PowerShell、Wscript等を用いた攻撃を防ぐ機能で、AMSI(Antimalware Scan Interface)もサポートしています。
このようにCarbon Black Cloudではユーザーによって設定するNGAV以外にも、セキュリティのプロ集団が提供するDynamic Rule Engineを防御機能として利用でき、また、ランサムウェア対策においてはCanaryファイルと呼ばれるおとりファイルを用いた攻撃の検知なども可能となっています。
Carbon Black CloudのEDR
Carbon Black CloudのEDRはエンドポイントのプロセスのイベントログをクラウドに収集し分析されます。分析によって脅威が検出された場合にはアラートが発報され、管理者はアラートの内容を確認して必要な対処を行います。基本的にEDRは検知するまでは自動ですが、その後の調査や対処は人力で行うことになります。Carbon Black Cloudではこの対処を行う際に便利な様々な機能をGUIコンソールから実行することが可能となっています。例えば、初動対応としてのエンドポイントの隔離や、脅威に該当するアプリケーションの削除、Live Responseによるリモートアクセスとコマンドの実行などが可能です。
より具体的なログの調査方法、アラートの分析方法、各種対処の実行方法などはまた別の機会に説明しようと思いますが、今回はCarbon Black Cloudには2種類のEDRがあることに触れておきたいと思います。
Carbon Black Cloudは購入するエディションによってBehavioral EDRまたはEnterprise EDRを利用できます。Behavioral EDR(旧製品名:CB Defense)とEnterprise EDR(旧製品名:CB ThreatHunter)は元々異なる製品として提供されていた背景もあり、収集するログ量に違いがあります。実際に通信量を計測してみると、Behavioral EDRが5〜10MB/Day、Enterprise EDRが20〜30MB/Dayとなっています(数値はあくまで目安です)。Carbon Black Cloudでよく受ける質問にこれらEDRの違いは何かと聞かれることが多いのですが、シンプルにログ量が異なっており、GUIでも異なる調査画面でログを確認可能です。このことからも分かるとおり、Carbon Black Cloudの製品提案でよく聞くプロセスの全ログ取得というのは実はEnterprise EDRを指していることになります。
このような情報を知ると、ログ量に違いがあるのであれば当然Enterprise EDRが優れておりBehavioral EDRでは不足していると評価しがちですが、実際はBehavioral EDRのログ量でも検知には十分であることが多いです。ログ量の違いは検知よりも調査や分析に影響する要因であるため、セキュリティアナリストが調査し分析するには魅力的かもしれませんが、人ではなくクラウドによる分析結果をもとに対処を行う運用なのであれば膨大なログはかえって煩雑なものとなってしまいます。そのため、実際にどのように運用するかを考えた上で必要十分なエディションを選択することが望ましいです。
さいごに
今回はNGAVやEDRに注目してCarbon Black Cloudの基礎をおさらいしてみました。
個人的にセキュリティ製品は「わかった気になるけど、実はわかっていない」ということが多いなと感じています。実際に受ける質問も基礎的な内容が多いです。新しく先進的なものに目が行くのはエンジニアの性ですが、実はわかっていないまま迷子になってしまわないよう本投稿をご活用いただければ幸いです。