1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

サプライチェーン攻撃とSysdigによる防御アプローチ — Build・Ship・Run の3段階で守る

1
Posted at

はじめに

2020年のSolarWinds事件、2021年のLog4Shell、2024年のXZ Utils改ざん事件——

これらに共通するのは「ターゲットを直接攻撃するのではなく、その手前にある信頼されたソフトウェアの流通経路を汚染した」という点です。

サプライチェーン攻撃は、もはや「大企業だけの話」ではありません。Kubernetesを使う組織なら、誰もが攻撃対象になりえます。

この記事では、サプライチェーン攻撃の本質を理解したうえで、Sysdigがどのようなアプローチで防御を実現するかを、Build → Ship → Run の3段階にわたって解説します。


サプライチェーン攻撃とは何か

攻撃の本質:「信頼されたルート」を汚染する

サプライチェーン攻撃は、直接ターゲットを攻撃するのではなく、ターゲットが信頼して使っている何かを汚染することで侵入します。

代表的な攻撃パターン

攻撃種別 具体例 影響範囲
悪意あるパッケージ混入 event-stream(npm)、solarwinds-orion 依存するすべてのアプリ
正規イメージの改ざん Docker Hub上の公式風イメージへのバックドア イメージを使うすべてのコンテナ
CI/CD資格情報の漏洩 GitHub Actionsシークレットの盗難 デプロイ先の本番環境すべて
IaCバックドア Terraform moduleへの悪意ある変更 インフラ全体
ビルドシステムの侵害 SolarWinds Orionのビルドサーバー汚染 顧客1万8,000組織

なぜ今、サプライチェーン攻撃が急増しているのか

核心的な問題:従来のセキュリティは「外からの侵入を防ぐ」設計でした。しかしサプライチェーン攻撃では、ファイアウォールの内側にすでに「敵」が入り込んだ状態でアプリケーションがデプロイされます。


Sysdigの基本思想:3レイヤー防御

Sysdigはサプライチェーン攻撃に対して、ソフトウェアのライフサイクル全体(Build → Ship → Run)をカバーする防御戦略を持っています。


① Build段階の防御:「危険なものを作らない」

イメージスキャン(CVE・マルウェア・シークレット)

Sysdig Secure(およびsysdig-cli-scanner)は、コンテナイメージを多角的にスキャンします。

CI/CD組み込みの例(GitHub Actions)

name: Sysdig Image Scan
on: [push]

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - name: Build Image
        run: docker build -t myapp:${{ github.sha }} .

      - name: Sysdig Image Scan
        uses: sysdiglabs/scan-action@v5
        with:
          image-tag: myapp:${{ github.sha }}
          sysdig-secure-token: ${{ secrets.SYSDIG_SECURE_TOKEN }}
          sysdig-secure-url: ${{ secrets.SYSDIG_URL }}
          stop-on-failed-policy-eval: true  # ポリシー違反でCI停止
          severity-at-least: high           # HIGH以上でブロック

SBOMによる完全な依存関係の可視化

なぜSBOMが重要か:Log4Shellのとき、多くの組織が「自分のシステムにLog4jが入っているか」すら分からなかった。SBOMがあれば、新たなCVEが発表された瞬間に影響範囲が特定できます。


② Ship段階の防御:「危険なものを通さない」

イメージ署名・検証(Supply Chain Integrity)

Admission Controllerによるポリシー適用

Sysdig Secureは、Kubernetes Admission Webhookと連携してデプロイ時にポリシーを適用します。


③ Run段階の防御:「動いた攻撃を止める」★最重要

ここがSysdigの最大の強みです。

サプライチェーン攻撃の最終形態は「実行」です。

どれだけBuildとShipで防御しても、ゼロデイ、未知のマルウェア、ソーシャルエンジニアリング経由の侵入は避けられません。最終的に攻撃者はコードを動かします。そこを捕まえるのがRuntime検知です。

Falcoベースのランタイム検知

サプライチェーン攻撃で実際に発火するFalcoルール例

パターン1:バックドアによる外部C2通信

- rule: Unexpected outbound connection to internet
  desc: >
    サプライチェーン経由で混入したバックドアが
    C2サーバーへ接続しようとしている
  condition: >
    outbound and not proc.name in (allowed_outbound_processes)
    and not fd.sip in (internal_subnets)
  output: >
    Unexpected outbound connection
    (user=%user.name command=%proc.cmdline
     connection=%fd.name container=%container.name)
  priority: CRITICAL

パターン2:/tmpからの実行(典型的なドロッパー)

- rule: Run executables from /tmp or similar dirs
  desc: >
    攻撃者がコンテナ内に後からダウンロードした
    マルウェアを/tmpから実行
  condition: >
    spawned_process
    and (proc.cwd startswith /tmp
         or proc.cwd startswith /dev/shm
         or proc.cwd startswith /var/tmp)
    and not container.image.repository in (trusted_images)
  output: >
    Process spawned in suspicious directory
    (user=%user.name dir=%proc.cwd cmd=%proc.cmdline
     image=%container.image.repository)
  priority: CRITICAL

パターン3:curl | bash(最典型的な攻撃)

- rule: Curl piped to shell
  desc: サプライチェーン経由で仕込まれた典型的な悪意スクリプト実行
  condition: >
    spawned_process
    and proc.name in (shell_binaries)
    and proc.args contains "curl"
    and proc.args contains "|"
  output: >
    Curl piped to shell detected
    (user=%user.name cmd=%proc.cmdline
     container=%container.name image=%container.image.repository)
  priority: CRITICAL

Drift検知:「イメージから変化したものを捕まえる」

Drift検知はSysdigが提供する非常に強力な機能です。

概念:コンテナ起動時のイメージと実行時の状態を継続的に比較する。

Drift検知が捕まえる具体的なシナリオ

AIエージェント監視:新世代のサプライチェーンリスク

2024〜2025年にかけて急浮上しているリスクが、AIコーディングエージェント経由のサプライチェーン攻撃です。


実運用的な守り方:3段階の成熟モデル

Lv.1:まず見える化(今日から始められる)

  • sysdig-cli-scanner をCIに組み込む
  • Falcoをクラスターにデプロイ(Helm)
  • Critical/High CVEのレポートを週次で確認
  • Sysdig Secure のダッシュボードをセットアップ

コスト:エンジニア1人・1週間程度

Lv.2:止める+検知する(実践レベル)

Lv.3:サプライチェーン全体を一貫して守る(成熟レベル)


WizとSysdigの比較

観点 Wiz Sysdig
強み クラウドインフラ全体の可視化・リスクグラフ Runtime検知・Drift検知・実行時の攻撃封じ込め
スキャン エージェントレスで広範囲 イメージ単位・SBOM連携
Runtime 限定的(主に設定・ポリシー) Falco ベース・リアルタイム
Drift検知
K8s深度 標準的 深い(syscallレベル)
インシデント対応 可視化まで 自動隔離・Kill可能
向いてる組織 クラウド全体のリスク管理をしたい K8s Runtime を守りたい
Wizだけ    → 「脅威が見える」「侵入後は追えない」
Sysdig     → 「侵入後も動いた瞬間に捕まえられる」
理想       → Wiz(事前リスク管理)+ Sysdig(Runtime防御)の組み合わせ

まとめ

サプライチェーン攻撃に対するセキュリティは、「どこか1点を強化すれば終わり」という時代ではありません。

Build → Ship → Run の全フェーズにわたる多層防御が必要であり、最終的に攻撃が「動く」フェーズであるRuntimeを守ることが最も重要です。

Sysdigは、その最後の砦を守るための実践的なツールセットを提供しています。


参考リソース

1
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?