本文の内容は、2024年5月21日に NIGEL DOUGLAS が投稿したブログ(https://sysdig.com/blog/optimizing-wireshark-in-kubernetes/)を元に日本語に翻訳・再構成した内容となっております。
Kubernetes では、コンテナのエフェメラルな性質と、ポッド、デプロイメント、サービスなどの Kubernetes 構造の階層的な抽象化により、ネットワークトラフィックの管理と分析に特有の課題が生じます。Wireshark のような従来のツールは強力ではありますが、これらの複雑さに適応するのに苦労し、過剰で無関係なデータ (いわゆる「ノイズ」) をキャプチャすることがよくあります。
従来のパケットキャプチャーの課題
コンテナのエフェメラルな特性は、最も明白な問題の 1 つです。セキュリティインシデントが検出され分析されるまでに、関係するコンテナは存在しなくなっている可能性があります。Kubernetes でポッドが停止すると、即座にポッド自体が再作成されるように設計されています。これが発生すると、新しい IP アドレスやポッド名などの新しいコンテキストが追加されます。出発点として、レガシー システムの静的コンテキストを超えて、ネットワークネームスペースやサービス名などの Kubernetes 抽象化に基づいてフォレンジックを試みる必要があります。
クラウドネイティブ環境におけるWiresharkの明確な文脈上の制約には注目する価値があります。Wiresharkのようなツールは、Kubernetesの抽象化を本質的に認識していません。このギャップにより、特定のポッドやサービスにネットワークトラフィックを直接関連付けることが、手動での設定や文脈の結び付けなしには困難になります。幸いなことに、FalcoはFalcoルールにKubernetesの文脈を持っています。WiresharkとFalcoを組み合わせることで、生のネットワークデータとKubernetes監査ログから提供されるインテリジェンスの間のギャップを埋めることができます。これにより、ネットワークキャプチャーに対してFalcoアラートからの関連メタデータを取得できるようになりました。
最後に、PCAPファイルに関連するデータ過剰の問題があります。AWS VPCトラフィックミラーリングやGCPトラフィックミラーリングなどの従来のパケットキャプチャー戦略は、膨大な量のデータを生成し、その多くは実際のセキュリティ問題とは無関係なため、重要な情報を迅速かつ効率的に特定するのが難しくなります。これに比べて、AWS VPCフロー・ログやAzureの仮想ネットワークタップの試みなどのオプションは、複雑さが少ないものの、データ転送および保存において依然として大きなコストがかかります。
キャプチャーを開始する適切なタイミングはいつでしょうか?終了するタイミングはどうやって判断しますか?ファイルサイズを減らすために事前にフィルタリングすべきでしょうか、それともすべてをキャプチャーしてからWiresharkのGUIでノイズを除去すべきでしょうか?これらの問題を解決するために、クラウドサービスの複雑さとコストを回避する方法があるかもしれません。
Falco Talon による新しいアプローチの紹介
組織は長い間、Kubernetesアラートに関連するセキュリティの盲点に対処してきました。FalcoとFalco Talonは、これらの問題を解決するために、クラウドネイティブの検出エンジンであるFalcoと、Wiresharkの端末版であるtsharkを統合する革新的なアプローチを採用し、Kubernetes環境でのより効果的でターゲットを絞ったネットワークトラフィック分析を実現します。
Falco Talonのイベント駆動型APIアプローチによる脅威対応は、リアルタイムでキャプチャーを開始する最良の方法です。これは、現代のクラウドネイティブセキュリティの最先端技術、特にFalcoを用いた最も安定したアプローチでもあります。
Step-by-Step ワークフロー:
- 検出: Falco は、Kubernetes などのクラウドネイティブ環境向けに特別に設計されており、不審なアクティビティや潜在的な脅威がないか環境を監視します。Kubernetes のコンテキストを理解できるように細かく調整されており、侵害の痕跡 (IoC) を検出するのに優れています。たとえば、コマンド アンド コントロール (C2) サーバーまたはボットネット エンドポイントへの特定の異常なネットワーク トラフィックの検出がトリガーされたとします。
- Tshark の自動化: IoC を検出すると、Falco は Webhook を Falco Talon バックエンドに送信します。Talon には多くのノーコードレスポンスアクションがありますが、これらのアクションの 1 つにより、ユーザーは任意のスクリプトをトリガーできます。このトリガーは、Falco アラートに関連付けられたメタデータからコンテキストを認識することができ、インシデントに固有のメタデータ コンテキストを使用して tshark コマンドを自動的に開始できます。
- コンテキスト パケット キャプチャー:最後に、よりカスタマイズされたコンテキストを使用して PCAP ファイルが数秒間生成されます。Falco からの不審な TCP トラフィック アラートが発生した場合は、tshark コマンドをフィルターして TCP アクティビティのみを検出できます。疑わしいボットネット エンドポイントの場合は、そのボットネット エンドポイントへのすべてのトラフィックを確認してみましょう。Falco Talon は、これらの各シナリオで、アラートの正確なネットワーク コンテキストに合わせた tshark キャプチャーを開始します。これは、セキュリティ アラートに関係する関連するポッド、サービス、または展開からのトラフィックのみをキャプチャーすることを意味します。
- 分析の向上:最後に、キャプチャーされたデータはより詳細な分析にすぐに利用できるようになり、インシデントに効果的に対応するために必要な正確な情報がセキュリティチームに提供されます。これは、デジタルフォレンジックおよびインシデント対応 (DFIR) の取り組みにとって価値があるだけでなく、実稼働環境でのセキュリティインシデントに固有のコンテキストをログに記録することで規制遵守を維持する場合にも役立ちます。
この的を絞ったアプローチは、キャプチャーされたデータの量を減らし、分析をより迅速かつ効率的に行うだけでなく、キャプチャーが検出されたセキュリティ インシデントに即座に関連することを保証し、応答時間と有効性を向上させます。
コラボレーションとコントリビューション
私たちは、この統合されたアプローチが Kubernetes セキュリティ管理の大きな進歩を示すものであると信じています。この革新的なプロジェクトにコントリビュートすることに興味がある場合、または共有したい洞察がある場合は、今すぐGithub プロジェクトに自由にコントリビュートください。
この方法は、最新の Kubernetes 環境のニーズに合致しており、Falco と Wireshark の両方の長所を活用して、ネットワーク セキュリティのための繊細で強力なツールを提供します。パケット キャプチャー戦略をクラウド ネイティブ アーキテクチャーの特定の要求に適応させることで、動的なコンテナ化されたアプリケーションのセキュリティ保護と管理能力を大幅に向上させることができます。
オープンソース ソフトウェア(OSS) は、現代のセキュリティ上の懸念に対処するための条件を設定するための機敏性と広範な対応力を備えた唯一のアプローチであり、Wireshark の 25 年間の開発で十分に実証されています。Sysdig は、コラボレーションによって専門知識と精査が結集し、より幅広いユースケースが実現し、最終的にはより安全なソフトウェアが実現すると考えています。
この概念実証には 3 つの OSS テクノロジー (Falco、Falco Talon、および Wireshark) が含まれます。このシナリオは Kubernetes に固有のものでしたが、将来的にはスタンドアロン Linux システム、Information of Things (IoT) デバイス、およびエッジ コンピューティングに適応できない理由はありません。