「ユーザ」の行動を知りたい
組織のセキュリティを考えるとき、「ユーザ」は重要なレイヤとなります。少し古い例ですが、2014 年にシスコが InsightExpress 社を通じて行った以下の調査でも、組織のセキュリティ インシデントのきっかけの多くがユーザの行動によって引き起こされているということが分かっています。これは今でも変わっていないでしょう。
Data Leakage Worldwide: Common Risks and Mistakes Employees Make
そのためインシデントを未然に防ぐためにも、インシデントが起きてしまった後の対処としても、ユーザにまつわるログを調査して状況を把握する必要があります。その中で確認したい項目としてよくあがるものに以下のようなものがあります。
- AD ユーザ/グループ(誰)がどのアプリケーションにアクセスしているのか
- どの AD グループ/ユーザ間で通信を行っているのか。ラテラル ムーブメントはあるのか
- どんなデバイスの種類がアプリケーションにアクセスしているのか
- ユーザはどこから SaaS アプリケーションにアクセスしていて、その SaaS アプリケーションは何なのか
- ユーザは許可されたアプリケーションを使っているのか?それとも脆弱性のあるバージョンのアプリケーションを使っているのか
nvzFlow ―NetFlow にさらに充実したコンテキストを付加―
Cisco AnyConnect NVM(Network Visibility Module)はユーザの行動を把握するために強力なツールであり、これを利用することで、上記のような問いに答えることができるようになります。
AnyConnect は VPN クライアント ソフトウェアとして豊富な実績を持つ製品です。そのバージョン 4.2 以降の追加モジュールとして提供されている NVM は、ラップトップ PC などの端末からユーザ名や通信先、そのフローの元となったプロセス名やプロセス ハッシュ値等様々な情報を付加した IPFIX(Internet Protocol Flow Information Export)ベースの情報を Netflow コレクターにエクスポートすることができます。オンプレミスでも外出先のオフプレミスな環境でもこれらの情報を収集することができます。
ログを分析を行うときのことを想像すると、このツールの良さが理解できます。NetFlow や IPFIX は、それ自体がコンテキストの豊富なメタデータとなっています。NetFlow は、いつからどのぐらいの間、どのポート、プロトコル、インターフェイスを通じて、どのホスト同士が、何バイトののデータをやり取りしたのか、という通信の統計情報を取得しているのです。つまり NetFlow 取得によってログ分析の負荷が大幅に緩和され、どの IP がどのポートでどの宛先 IP とどのぐらいの時間通信したのか、という「コンテキスト(状況)」の把握が迅速になります。そこに Cisco Network Visibility Flow(nvzFlow)をさらに取り込めば、その IP のユーザは誰なのか、どのアプリケーションが元になった通信なのかといった細かな粒度まで可視化が進みます。
このことは実際の製品利用イメージをご覧いただいたほうが分かりやすいかと思います。nvzFlow を分析するコレクターとして、Cisco Stealthwatch、Cisco Tetration Analytics、そして Splunk app の 3 点を紹介します。
Cisco Stealthwatch
Cisco Stealthwatch は NetFlow を基にした通信の振る舞い分析による脅威検知・可視化の製品/ソリューションです。Stealthwatch は大きく分けて 2 つのエンジンを持っています。
- オンプレミスのエンジン Stealthwatch Flow Collector によるオンボックス脅威検知エンジンで、リアルタイムに主に隠れた内部脅威を見つけ出します。
- 合わせて利用可能なクラウドベースの機械学習脅威検知エンジン Cognitive Intelligence によって、外部との通信ログからマルウェアの感染の兆候を見つけます。
一般的な構成パターンとしては、WAN ルータやキャンパス LAN スイッチから取得した Netflow もしくは、データセンター スイッチのモニタリング ポートなどに設置した Stealthwatch Flow Sensor という Netflow ジェネレータから取得した Netflow 情報を分析します。
この Stealthwatch 製品群の 1 つ Stealthwatch Endpoint Concentrator があれば、AnyConnect から取得する nvzFlow を Stealthwatch の分析に加えることができます。Stealthwachでの分析により深いコンテキストを加えてより核心に踏み込んだ解析がしやすくなり、インシデント レスポンスの時間を短縮することができます。
Stealthwatch のロジックにより脅威が検知されると、その検知のきっかけとなったフローの確認を始めます。通常の NetFlow だけを分析対象にしていたのであれば、その怪しげなフローは、いつ、どの IP がどのポートで通信していたフローなのか、ということまでは分かりますが、nvzFlow が取り込まれていれば一足飛びにプロセス アカウントまで判明し、その通信を発生させたプロセス名やプロセス ハッシュまでもが分かり、その時の状況があからさまになっていきます。振る舞い分析で発見された未知の悪意ある通信を発生させているプロセスのハッシュ値が分かり、その同様のプロセスからの通信を持つ他の端末を簡単に検索することもできるでしょうし、プロセス名もわかるため、脆弱性のあるソフトウェアを持つ端末を割り出し、認証スイッチ・認証サーバと連携して隔離するといった使い方もできるでしょう。
Cisco Tetration Platform
もう一つのソリューションは Cisco Tetration Platformです。Cisco Tetration Analyticsについてはこちらのビデオをご覧ください。
Cisco Tetration Platform はデータセンターにおけるトラフィックならびにアプリケーションの依存関係までをもリアルタイムに可視化、分析し、ポリシー マネジメントを支援することのできるビッグデータ基盤です。サーバやコンテナに導入するソフトウェア センサーや Nexus 9000-EX/FX シリーズのハードウェア センサー、あるいはスイッチやルータから SPAN したトラフィックからフロー情報を生成するセンサー VM から受信したフロー情報を取り込み分析します。
このほど Tetration が、nvzFlow を分析に取り込むことを可能にする AnyConnect NVM Proxy Sensor をリリースしました。
Tetrationはこの豊富なテレメトリーを活用して以下の様なセキュリティ対策への活用ができます。
- 通信の制御
– アプリの振る舞いに基づいたホワイトリスト ポリシーの生成
– セグメンテーションとセグメント間通信へのホワイトリスト ポリシーの強制
– 実通信のポリシーへのコンプライアンス状況のトラッキング
– 目立った通信の検知 - プロセスの振る舞い検知
– プロセスのハッシュ値、プロセス発生過程、特定の振る舞いカテゴリーの表示
– ファイル アクセス、ユーザ ログオン、アカウント操作、特権昇格、Shell-code 実行、 Raw ソケット解放などの振る舞いを検知 - 脆弱性の検知
– インストールされているパッケージ バージョンのトラッキング
– CVE 脆弱性の該当有無の判断
– CVSS スコアのチェック
これまでの Tetration は、多くの場合、データセンター環境を主要な活用場所として議論されてきました。その主な理由の 1 つは、トラフィック統計を取得するセンサーがクライアント サイドに用意されていなかったことにあると考えています。NVM Proxy Sensor のリリースにより、クライアント側にインストールされた AnyConnect をセンサーとして利用できるようになりました。Tetration はより広範囲かつさらに深い可視性を持つ製品に進化したのです。
ダッシュボードも直感的で、フローの検索の操作感はとても高く、この記事の冒頭に挙げたようなユーザが持つ疑問を解消できる検索も可能で使いやすい GUI が提供されています。例えば cisco.com というドメインに接続しているユーザがいるか確認するには、「Consumer Destination Domain Name contains cisco.com 」と入力します(”Consumer Destnation …” の部分については全部タイプしなくても、検索ウィンドウにタイプを始めると予測入力が始まり、検索に慣れていなくても大丈夫です)。
すると以下のように、cisco.com に接続したことのある端末が即座に表示されます。
AnyConnect NVMのおかげで端末の中にまで深い可視性をもたらします。次の画像はある端末にて通信していたプロセスの一覧です。
この他、エンドポイント上で動いているプロセスの稼働時間なども表示できます。また、それぞれのプロセスがどのプロセス アカウントからどのようなコマンドで起動されたものなのか、以下の様に時系列でビデオ表示することも可能となっていますので、怪しげなプロセスの端末の動きを巻き戻して確認することで、EDR(Endpoint Detection and Response)的な使い方ができるようになり、インシデント レスポンスに活かすことができるでしょう。
Tetration はマルチクラウドに対応(オンプレミスなデータセンターだけでなく AWS や Azure 上にデプロイしたアプリケーション サーバにも対応)しているので、エンドポイントまで含めて包括的な可視性を提供し、さらにはそこで分かった知見をもとにポリシーを作成し、マイクロ セグメンテーションまで実施することが可能なトータル ソリューションとなっています。(ちなみに前述の Stealthwatch もマルチクラウドに対応しています。)
AnyConnect NVM Splunk app
Stealthwatch や Tetration の他、Splunk を利用することも可能です。nvzFlow を受けた Splunk の GUI からは以下の様にフローの検索が可能となります。
このように、untrusted.net にいるユーザが Administrator のアカウントで firefox.exe を起動して、phish[.]opendns[.]com に接続していることが記録されます。プロセス オーナーやプロセス ハッシュ、送信元・通信先となったドメインを人手で様々な機器を横断してログ収集するのは大変なことですが、nvzFlow を収集すると 1 つのフロー情報にこれだけのメタ データがあるのです。
さらに、シスコ謹製の Splunk appも リリースされています。Splunk を既に導入済みのユーザは、こちらも合わせてお勧めできます。
ユーザ通信の分析の際によく出る疑問に答えるための様々なダッシュボードが用意されています。
Cisco AnyConnect Network Visibility Module (NVM) App for Splunk
少し古い動画ではありますが、こちらの動画が参考になりますので、ぜひご覧ください。
複雑な組織の IT 環境の可視化には AnyConnect NVM が有効であり、nvzFlow を収集することでインシデント レスポンスの迅速化や、ポリシー マネジメントへの活用が可能であること等、3 つの製品を通じてご紹介してきました。
AnyConnect をご採用中のお客様も、そうでない方も、この Cisco AnyConnect Network Visibility Module をぜひご検討ください。