1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Sysdig SecureのProcess Tree

Last updated at Posted at 2023-06-29

立て続けに新機能がリリースされているSysdig Secureですが、本日 Process Tree 機能がPreview版としてリリースされました。セキュリティイベントの調査を迅速に行うため、ユーザーからプロセスまでの攻撃の流れを示すプロセスツリーを表示し、プロセスの系統、コンテナとホストの情報、悪意のあるユーザーの詳細、影響などを表示できるようになりました。

Sysdig SecureのProcess Treeの詳細については、下記ブログをご参照ください。
https://sysdig.jp/blog/enriched-process-trees-threat-detection/

今回は、実際にProcess Treeを有効にするための手順をご紹介します。手順の詳細は下記ドキュメントをご参照ください。
https://docs.sysdig.com/en/docs/sysdig-secure/secure-events/#process-trees-preview

Sysdig UIでのProcess Treeの有効化

Process Treeはプレビュー版として提供されているため、Sysdig UIで明示的に有効化する必要があります。

  1. Sysdig UIにログインします。
  2. UI左下の アカウントメニュー(自分の名前) > Settings に移動します。
    image.png
    3. Sysdig Labsで Process Tree を有効化します。
    名称未設定.jpg

Sysdig Agent 12.15のインストール

Process Treeを使用するには以下の要件を満たしている必要があります。

  • Sysdig Agentのバージョンが12.15以上であること
  • Sysdig Agentへのenrich_with_process_lineage=trueのパラメータ設定

例として、helmコマンドにハイライトしたオプション記述を追加することで上記要件を満たすAgentをインストールできます(行頭の+は不要です)。

helm repo add sysdig https://charts.sysdig.com
helm repo update
helm install sysdig-agent --namespace sysdig-agent --create-namespace \
    --set global.sysdig.accessKey=<SYSDIG_ACCESS_KEY> \
    --set global.sysdig.region=<SYSDIG_SAAS_REGION> \
    --set nodeAnalyzer.secure.vulnerabilityManagement.newEngineOnly=true \
    --set global.kspm.deploy=true \
    --set nodeAnalyzer.nodeAnalyzer.benchmarkRunner.deploy=false \
    --set global.clusterConfig.name=sysdig-aws \
+   --set agent.image.tag=12.15.0 \
+   --set agent.sysdig.settings.enrich_with_process_lineage=true \
    sysdig/sysdig-deploy

SYSDIG_ACCESS_KEYの値には、ご自身のSysdigアクセスキーを入力してください。

SYSDIG_SAAS_REGIONの値はご利用のSysdig SaaSリージョンにより異なります。下記ドキュメントをご参照ください。
https://docs.sysdig.com/en/docs/administration/saas-regions-and-ip-ranges/

Sysdig Agentインストール後にProcess Treeを有効化する場合

Sysdig Agentのバージョン12.15以上を既に使っていて、インストール時にenrich_with_process_lineage=trueのパラメータ設定を指定しなかった場合は、Sysdig AgentのConfigMapにenrich_with_process_lineage=trueを追記することで有効化できます。

kubectl -n sysdig-agent edit cm sysdig-agent

※ハイライトした行頭の+は不要です。

apiVersion: v1
data:
  dragent.yaml: |
+   enrich_with_process_lineage: true
    new_k8s: true
    k8s_cluster_name: sysdig-aws
    collector: ingest.us4.sysdig.com
    security:
      enabled: true
      k8s_audit_server_enabled: true
      k8s_audit_server_port: 7765
      k8s_audit_server_url: 0.0.0.0
kind: ConfigMap
metadata:
  annotations:
    meta.helm.sh/release-name: sysdig-agent
    meta.helm.sh/release-namespace: sysdig-agent
  creationTimestamp: "2023-06-28T08:24:36Z"
  labels:
    app: sysdig-agent
    app.kubernetes.io/instance: sysdig-agent
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: agent
    app.kubernetes.io/version: 12.15.0
    helm.sh/chart: agent-1.8.8
  name: sysdig-agent
  namespace: sysdig-agent
  resourceVersion: "1289760"

Sysdig Agent Daemonsetをリスタートします。

kubectl -n sysdig-agent rollout restart ds sysdig-agent

脅威検知テスト

それでは、実際にProcess Treeが表示されるかをテストしてみます。

  1. nginxをpodとして起動する
kubectl run nginx --image nginx

2. ターミナルシェルにログインする

kubectl exec -it nginx -- bash

3. Sydig UIにログインし、Events > Events Feed に移動します。
4. Terminal shell in containerイベントが検知され、イベント詳細にプロセスツリーが表示されていることを確認します。
image.png
5.ターミナルシェルがDockerコンテナ内で起動されていることがProcess Treeからも確認できます。
image.png

Log4ShellでのProcess Tree

いまだ深刻な脅威となっているLog4ShellでどのようにProcess Treeが表示されるかを確認してみましょう。

  1. 標準入出力をリダイレクトするリバースシェル攻撃が行われていることを検知しています。プロセスツリーを見ると、javaから派生したbashプロセス上で標準入出力のリダイレクトが行われているため、Log4Shellであることが推測できます。
    image.png
    image.png

2. 同時に、javaからbashが子プロセスとして起動したこと自体を、疑わしいイベントとして検知しています
スクリーンショット 2023-06-29 10.39.40.png

3. さらに、攻撃者による/dev配下へのファイル書き込み(攻撃ツールやマルウェアを隠すために/dev配下に置くことが多い)をイベント検知していますが、Process Treeを確認することでLog4Shellによって確立したリバースシェル上での操作であることが一目瞭然です。
スクリーンショット 2023-06-29 10.40.04.png
image.png

まとめ

Process Treeによって、攻撃の流れを視覚的にわかりやすく把握できることが確認できました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?