エフェメラルコンテナとAPT

By 清水 孝郎 - FEBRUARY 20, 2024

SHARE:

本文の内容は、2024年2月19日にNIGEL DOUGLASが投稿したブログ(https://sysdig.com/blog/ephemeral-containers-and-apts/)を元に日本語に翻訳・再構成した内容となっております。

Sysdig 脅威リサーチチーム (TRT) は、2024 年の最新のクラウドネイティブ セキュリティと使用状況レポートを公開しました。いつものように、リサーチチームは、現在のコンテナセキュリティ慣行に内在する重大な脆弱性をさらに明らかにすることに成功しました。このブログ投稿では、利便性、運用効率、エフェメラルコンテナの世界で増大する高度標的型攻撃 (APT) の脅威の間の複雑なバランスと、それらの脅威をミリ秒で防ぐために何ができるかについて詳しく説明します。

攻撃者は一時的なコンテナに適応している

Sysdigレポートから顕著に明らかになったのは、コンテナの寿命がますます過渡的になっていることです。現在、コンテナの約 70% の寿命は 5 分未満です。この一時的な性質はリソース管理には有益ですが、セキュリティ上特有の課題も生じます。攻撃者は、こうした一瞬の時間帯に適応して、迅速な自動偵察を実行する方法を磨き上げてきました。このレポートでは、典型的なクラウド攻撃はわずか 10 分以内に展開されることを示しており、リアルタイムの対応措置の必要性を説いています。

エフェメラルなコンテナでのデータ漏洩を防ぐ方法

多くの組織は、クラウドネイティブ環境でのリアルタイムの脅威検出にオープンソースのFalcoを使用することを選択しています。攻撃者が kubectl cp などの既存のツールを使用して、Kubernetes コントロールプレーンを介してコンテナのファイルシステムからリモートの場所にアーティファクトをコピーすることを選択した場合、Falco はミリ秒以内に検出をトリガーできます。

- rule: Exfiltrating Artifacts via Kubernetes Control Plane
  desc: Detect artifacts exfiltration from a container's file system using kubectl cp.
  condition: >
    open_read 
    and container 
    and proc.name=tar 
    and container_entrypoint 
    and proc.tty=0 
    and not system_level_side_effect_artifacts_kubectl_cp
  output: Exfiltrating Artifacts via Kubernetes Control Plane (file=%fd.name evt_type=%evt.type user=%user.name user_uid=%user.uid user_loginuid=%user.loginuid process=%proc.name proc_exepath=%proc.exepath parent=%proc.pname command=%proc.cmdline terminal=%proc.tty)
  priority: NOTICE
  tags: [maturity_incubating, container, filesystem, mitre_exfiltration, TA0010]

この Falco ルールは、エフェメラルコンテナのファイルシステムからアプリケーションのシークレットが外部に漏洩する可能性を特定することができ、それにより、盗まれたアイデンティティ(Kubernetes サービスアカウントトークンなどの盗まれた資格情報を含む)による不正アクセスとコントロールプレーンの誤用の結果が明らかになる可能性があります。攻撃が 5 分未満で開始され、目標が完了する場合、迅速な対応が必要です。残念ながら、この Falco ルールだけでは漏洩の試みをユーザーに通知するだけであり、このアクションを完全に停止させるためには追加のアドオンが必要です。

Falco Talon によるデータ漏洩の防止

Falco Talon は、最近、特にコンテナオーケストレーションプラットフォームである Kubernetes で脅威を分離するためのオープンソースレスポンス エンジンとして設計されました。コード不要のソリューションでクラウド検出検出エンジン Falco を強化します。この場合、開発者運用チームとセキュリティチームは、既存の Falco にリアルタイムで応答する単純な Talon ルールをシームレスに作成できます。前述の「 Kubernetes コントロールプレーンを介したアーティファクトの抽出Exfiltrating Artifacts via Kubernetes Control Plane)」Falco ルールをトリガーするフラグが設定されている場合、以下の Talon ルールがどのようにワークロードを正常に終了するかに着目してください。

- name: Prevent control plane exfiltration
  match:
    rules:
      - "Exfiltrating Artifacts via Kubernetes Control Plane"
  action:
    name: kubernetes:terminate
    parameters:
      ignoreDaemonsets: true
      ignoreStatefulsets: true
      grace_period_seconds: 0Code language: JavaScript (javascript)


上記の例では、アクションは、“kubernetes:terminate“という名前の正常な終了のために既存の Kubernetes プリミティブを利用することを選択します。はるかに強力な SIGKILL とは異なり、エンド ユーザーへの影響を最小限に抑え、回復までの時間をできるだけ早くするために、アプリケーションが正常に終了を処理することが重要です。

実際には、この終了アクションは、ポッドが SIGTERM メッセージを処理し、メッセージを受信するとシャットダウンを開始することを意味します。これには、状態の保存、ネットワーク接続の終了、残っている作業の終了などが含まれます。

Falco Talon では、パラメータ “grace_period_seconds” はポッドを削除するまでの期間を秒単位で指定します。値 0 は、すぐに削除されることを示します。構成されている場合、攻撃者は即座にセッションから追い出されるため、データを抜き出すことができなくなります。

一時的なコンテナと APT

迅速かつ機敏な攻撃者の脅威

クラウド環境における攻撃者の機敏性を過小評価することはできません。アクセスを獲得すると、すぐに環境を理解し、悪意のある目的を前進させる準備が整います。この急速な適応は、短期間で脆弱なワークロードであっても、組織を重大なリスクにさらす可能性があることを意味します。より長い応答時間に依存する従来のセキュリティモデルは、こうしたペースの速い脅威に対しては不十分であることが判明しています。

まとめ

Sysdigのレポートから得られた洞察は、Kubernetes環境におけるセキュリティアプローチの戦略的再評価を明確に求めています。限られた可視性と、エフェメラルなコンテナとワークロードにおける効果的なセキュリティコントロールの必要性によってもたらされる課題に対応して、Cloud Native Computing Foundation(CNCF)のFalcoと、その最新のオープンソースのコンパニオンであるFalco Talonのようなプロジェクトが、重要なツールとして登場しました。短命(5分未満)コンテナの複雑さに取り組むために設計されたこれらのソリューションは、リアルタイムのセキュリティ監視と継続的なスキャンを提供し、推奨されるプラクティスからKubernetesのセキュリティ対策の必須コンポーネントへと移行しています。

組織は、クラウドネイティブテクノロジーの利便性の活用と、厳格なセキュリティプロトコルの適用との間でバランスを取る必要があります。攻撃者がコンテナの一時的な性質を悪用することが増えているため、組織の対応は動的かつプロアクティブである必要があります。 Falco や Falco Talon などのツールは、この状況を乗り切るために必要な、応答性の高い高度なセキュリティ対策の例となります。これらは、リアルタイムで脅威を検出して対応するために必要な可視性と制御を提供し、これにより、このようなペースの速い環境におけるセキュリティ体制を強化します。

高度な脅威に直面して堅牢なサイバーセキュリティを確保することは間違いなく困難ですが、適切なツールと戦略があれば実現可能です。 Falco や Falco Talon などのソリューションを Kubernetes 環境に統合することは、今日の高度な脅威から保護し、将来に向けて安全で効率的で復元力のあるクラウドネイティブ エコシステムを確保するための鍵となります。