Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Build Ship Runで考えるサプライチェーン防御_20260609

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

Build Ship Runで考えるサプライチェーン防御_20260609

More Decks by ファインディ株式会社(イベント資料アップ用)

Transcript

  1. 檜垣 慶太 Keita Higaki Senior Customer Solution Engineer プロフィール  •

    Cloud Native Security • kubernetes/Runtime Security • Falco/CNAPP • AWS Security Architecture 専門領域
  2. Sysdig Inc. Proprietary Information 3 なぜRuntime-firstなのか? Today 2000’s Wiresharkの 共同開発者である

    Loris Degioanni によって創設 Falcoプロジェクトの立ち上げ、寄贈 CNCF初のRuntime Security Project Sysdig Secureリリース クラウドリアルタイム脅威検知 CWPPツールとして SECURE Falcoはクラウド脅威検知の標準として CNCFにおいてGraduationとして評価 クラウドセキュリティ向け 初の完全統合型AIアナリスト 「Sysdig Sage」を発表 ランタイムインサイト統合型CNAPP としてリリース。Gartner Peer Insight ランタイム分野におけるリーダー評価 2013 2024 MONITOR 2016 ”You can’t stop what you can’t see. (見えない攻撃は止めること ができない) Sysdig, Inc. 創業者&CTO Loris Degioanni
  3. A Decade of Detection 🎉 From a kernel-tapping experiment to

    a global standard 2016 Open sourced by Sysdig 2018 Joins CNCF Sandbox 2020 Becomes CNCF Incubating Project 2024 Becomes a CNCF Graduated Project
  4. Sysdig Inc. Proprietary Information 5 sysdig AGENDA 今日、持ち帰ってほしいこと 01 なぜ守れないのか

    信頼の連鎖を悪用するサプライ チェーン攻撃と、境界防御 ・Shift-Left の限界 02 3層で守る Sysdig の Build → Ship → Run、ライフサイクル全体をカ バーする多層防御 03 Run が最後の砦 挙動から攻撃を捉える Runtime / Drift 検知 ― なぜ最重要なのか
  5. Sysdig Inc. Proprietary Information 6 sysdig DEFINITION サプライチェーン攻撃とは ソフトウェアのライフサイクル Build

    → Ship → Run のいずれかを汚染する攻撃 01 — BUILD 作る ソースコード・依存関係・ビルド サーバー › 02 — SHIP 届ける イメージ署名・配布 ・Admission Control › 03 — RUN 動かす Kubernetes・本番ワークロード どの段階も「信頼」の上に成り立っている — それが攻撃の入口になる
  6. Sysdig Inc. Proprietary Information 7 sysdig ATTACK PATTERNS 代表的な攻撃パターン 攻撃種別

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

    ENOUGH 既存の防御では、 未知はすり抜ける 境界も Build も「既知」が前提 — 信頼ルートで入る未知は通り抜ける 外側の防御 › Firewall ・ WAF › EDR ・ 脆弱性診断(既知CVE) → 正規ルートで内側に入る敵は止められない Build 段階(Shift-Left) ✓ CVE スキャン ・ SBOM ✓ Secrets 検出 ・ イメージ署名 → どれも「既知」のリスクが前提 BUT. 未知のバックドアや、署名された悪意あるパッケージは そのまま通り抜ける。
  8. Sysdig Inc. Proprietary Information 9 sysdig WHY NOW · AI

    ERA なぜ今、急増しているのか 人が書く速度を超えた量のコード・依存・自動操作が、毎日生まれている AI コード生成 人間がレビューする余裕 を超えた量のコードが本 番に入る。 依存関係の追加 AI が選んだパッケージが 「とりあえず」入る。名前 すら新しい。 自動化の拡大 CI/CD・IaC・ボットによる 変更が増え、人の目を介 さない。 AI エージェント 自律的にコマンドを実行 する主体がパイプライン に参加する。 変化と量の速度に、人間のレビューは追いつかない。
  9. Sysdig Inc. Proprietary Information 10 sysdig NOW HAPPENING · 2025–2026

    攻撃は「自己増殖」フェーズへ 2025〜2026年、人の手を介さず自ら広がるワーム型の攻撃が相次いだ Shai-Hulud npm / 2025.9 › 自己増殖する初の npm ワーム › インストール時フックで増殖し、開発者・ CI の秘 密情報を窃取 › GitHub が 500+ パッケージを削除 GlassWorm VS Code 拡張 / 2025.10 › 初の自己増殖する拡張ワーム( 35,800+ 感染) › 不可視 Unicode でコードを隠蔽 — レビューで見 えない › npm・GitHub・OpenVSX の資格情報を窃取して 拡散 人の手を介さず増える=「量と速度」が機械側に移った。だから Run で挙動を見る。
  10. Sysdig Inc. Proprietary Information 11 sysdig SYSDIG · DEFENSE IN

    DEPTH 3つの Scan は、どれも導入必須。 Build → Ship → Run。どの段階にも専用の Scan を置く ― 1つでも欠ければ、そこが侵入口になる。 BUILD Pipeline Scan CI / パイプライン コミットのたびに検査。 CVE・マル ウェア・シークレットを、本番に入る 前に止める。 SHIP Registry Scan レジストリ / Admission デプロイ直前に再検査。署名と出所 を検証し、未署名・違反イメージは通 さない。 RUN ★ 最重要 Runtime Scan 本番 / 実行時 実行中の挙動を監視。すり抜けた攻 撃を、動いた瞬間に検知して止め る。 どれか1つでは穴が残る ― 3つを揃えて初めて、 Build → Ship → Run が“連続したガードレール ”になる。
  11. Sysdig Inc. Proprietary Information 12 sysdig LAYER 01 — BUILD

    ① Build:危険なものを作らない ▶ BUILD SHIP RUN SCA / イメージスキャン OSS・コンテナイメージの CVE / マルウェア / シークレットを多 角的に検査 SBOM 含まれる全依存を一覧化。新たな CVE に即対応するための 基盤 CI に組み込む例 — GitHub Actions - name: Sysdig Image Scan uses: sysdiglabs/scan-action@v5 with: image-tag: myapp:${{ github.sha }} stop-on-failed-policy-eval: true severity-at-least: high → ポリシー違反で CI を停止/HIGH 以上をブロック
  12. Sysdig Inc. Proprietary Information 13 sysdig SYSDIG · BUILD /

    CI SCAN Build:CI でスキャンし、 違反は止める パイプラインでイメージを多角的にスキャン。ポリシー違反は Failed → CI をブロック。
  13. Sysdig Inc. Proprietary Information 14 sysdig SYSDIG · SBOM /

    IMAGE DETAIL 中身を、SBOMで正確に把握する › 正確な Digest で「同一イメージか」を保証 › Base OS・サイズ・全コンポーネントを把握 › ワンクリックで SBOM を出力(監査・規制対 応) › 動いているワークロードに紐づく( Running) SBOM =「何が入っているか」の土台。 Exposure も脆弱性対応も、ここから始まる。
  14. Sysdig Inc. Proprietary Information 15 sysdig PRACTICAL GUARDRAILS 依存を「入れる前」に効く設定 スキャンと並んで効く、パッケージマネージャ側の実務設定

    リリース直後を避ける pnpm minimumReleaseAge=1日 / Yarn npmMinimalAge。悪性版は数時間〜半日で除去される → 一拍置けば大半を踏まない インストール時実行を止める ignore-scripts / pnpm allowBuilds。攻撃の多くは postinstall で動く 出所を固定する exotic な依存元をブロック(git/tarball)+ ロックファイル で版固定 公開は OIDC で Trusted Publishing・短命トークン。classic トークンは 2025年末に廃止
  15. Sysdig Inc. Proprietary Information 16 sysdig LAYER 02 — SHIP

    ② Ship:危険なものを通さない BUILD ▶ SHIP RUN 01 署名済みイメージ Cosign で署名・SBOM 添付 › 02 Admission Webhook デプロイ時にポリシー評価 › 03 検証 & 判定 署名・出所・脆弱性をチェック ✓ 署名・ポリシー適合 → クラスタへデプロイ許可 ✕ 未署名・違反 → 本番に入る前にブロック
  16. Sysdig Inc. Proprietary Information 17 sysdig SYSDIG · REGISTRY SCAN

    Ship:レジストリのイメージも 検査する 本番に入る前に、レジストリ上のイメージをスキャン。違反は Failed として可視化。 署名検証( Cosign)+ Admission と組み合わせ、未署名・違反イメージは本番に入れない。
  17. Sysdig Inc. Proprietary Information 18 sysdig LAYER 03 — RUN

    · ★ 最重要 ③ Run:動いた攻撃を、止める 攻撃の最終形態は「実行」。 Build / Ship で漏れても、動いた瞬間を挙動で捉える最後の砦。 Runtime Security とは 動いている状態を監視し、不審 な挙動をリアルタイムに検知す る考え方。 監視している対象 プロセス起動 どんなコマンドが走っているか ファイル操作 どこに何を書き込んでいるか ネットワーク通信 どこへ繋ぎに行っているか 権限の変化 誰が何になろうとしているか
  18. Sysdig Inc. Proprietary Information 19 sysdig TYPICAL ATTACKER PLAYBOOK 攻撃者は、だいたい同じことをする

    侵入後、ほぼ必ずこの4ステップを通る — だから「挙動」で捕まえられる 01 シェル実行 コンテナ内で sh / bash を起動。普通のアプリは やらない。 02 ファイル作成 /tmp や /dev/shm にマ ルウェアを書き込む。イ メージには無かったも の。 03 外部通信 C2 サーバーへの接続。 素性不明のドメインや普 段使わないポートへ。 04 権限昇格 sudo / capabilities / 特 権で、クラスタ全体への 足がかりを得る。
  19. Sysdig Inc. Proprietary Information 20 sysdig EXAMPLE 01 — REMOTE

    EXEC 例:curl | bash FALCO RULE - rule: Curl piped to shell condition: > spawned_process and proc.name in (shell_binaries) and proc.args contains "curl" and proc.args contains "|" priority: CRITICAL RUNTIME ALERT Curl piped to shell 署名や CVE とは無関係に、 挙動そ のもの から検知。起動して初めて見 える。
  20. Sysdig Inc. Proprietary Information 21 sysdig EXAMPLE 02 — ESCALATION

    & C2 例:権限昇格 と C2通信 権限昇格 — クラスタ全体へ手を伸ばす sudo root への昇格 CAP_SYS_ADMIN capabilities 取得 privileged: true 特権コンテナの利用 FALCO RULE — outbound C2 - rule: Unexpected outbound conn condition: > outbound and not proc.name in (allowed_outbound) and not fd.sip in (internal_subnets) priority: CRITICAL マルウェアは必ず「外」と話す → 通信を見れば 捕まえられる
  21. Sysdig Inc. Proprietary Information 22 sysdig SYSDIG · RUNTIME ALERT

    実行の“挙動”を、その場で捉える Base64 化された ELF の実行を High で検知。署名や CVE と無関係に、挙動だけで。 Base64'd ELF on Command Line(Falco・Syscall)— root→runc→busybox と、攻撃の連鎖がそのまま見える。
  22. Sysdig Inc. Proprietary Information 23 sysdig DRIFT DETECTION Drift 検知:イメージから変化したものを捕まえる

    コンテナ起動時のイメージと、実行時の状態を継続的に比較する イメージ(起動時) ビルドされた既知の状態 − 実行時の状態 プロセス・バイナリ・ファイル − 差分 = Drift イメージに無いものが動いた Drift が捕まえる例 › 後から DL したバイナリの実行 › 書き換えられた設定ファイル › 注入されたサイドカープロセス
  23. Sysdig Inc. Proprietary Information 24 sysdig EXPOSURE MANAGEMENT 全件対応の時代は、終わった 深刻度で全部を追うのは、もう続かない

    — 実際に晒されているリスクへ絞る。 Exposure Management — 深刻度ではなく「実際に晒されているか」で絞る: in-use × 悪用可能性 × 到達性 × 資産重要度。
  24. Sysdig Inc. Proprietary Information 25 sysdig SYSDIG · THREAT INTELLIGENCE

    新しい脅威も、 “自環境で影響があるか ”で分かる 公開直後・未パッチの脆弱性でも、影響ホスト数とランタイム検知が即わかる。 Dirty Frag・Copy Fail のような未パッチの権限昇格でも、 Sysdig 管理ポリシーが実行時に検知する。
  25. Sysdig Inc. Proprietary Information 26 挙動は、嘘をつかない Loris Degioannni ~ Sysdig

    創業者 CTO ~ 署名は偽造できる。 CVE データベースは追いつかない。 「何が動いたか」は、すべて事実として残る。
  26. Sysdig Inc. Proprietary Information 27 sysdig SYSDIG · AUTOMATIONS 対応は、ワークフローで

    自動化する 検知・ポリシーイベントをトリガーに、通知・条件分岐・対応を自動実行 — 人手を待たない。
  27. Sysdig Inc. Proprietary Information 28 sysdig MATURITY MODEL 実践:3段階で始める 一度に全部やらなくていい

    — 今日から、見える化から始められる Lv.1 まず見える化 CLI スキャナを CI に組込み/ Falco を Helm でデプロイ/ Critical・High を週次で確認 コスト:1人・1週間 Lv.2 止める+検知する Admission Control でブロック /Runtime ルールを本番有効化/ アラートを通知連携 実践レベル Lv.3 一貫して守る Build→Ship→Run を SBOM・署名 で接続/ Drift 検知運用/自動隔離 ・対応の自動化 成熟レベル
  28. Sysdig Inc. Proprietary Information 29 sysdig RUNTIME IN THE AI

    ERA AI時代の Runtime Defense AI が書き、AI が動かす世界では、攻撃も防御も「機械の速度」で動く ATTACK Attack at machine speed. AI が脆弱性を見つけ、 AI がエクスプロイトを書 き、AI が配布する。人間がパッチを当てる前に、 複数の攻撃が並列に走る。 DEFENSE Detect at machine speed. Runtime Security は、人を待たない。挙動のシ グナルをそのまま機械速度で受け止め、止める。
  29. Sysdig Inc. Proprietary Information 30 sysdig TAKE THESE HOME Key

    Takeaways 01 サプライチェーン攻撃は、信頼の連鎖を悪用する 02 Build だけでは守れない — 未知は必ずすり抜ける 03 最後は「実行時の挙動」を見る — 挙動は嘘をつかない 04 AI 時代ほど、Runtime Security が効いてくる 参考リソース › Sysdig Docs › Falco Docs › CNCF Supply Chain WP › Sigstore / Cosign › SLSA Framework Thank you!
  30. sysdig APPENDIX · Q2 手元で“パッと試す ”時の守りは? › 使い捨て・隔離環境で試す( Dev Container

    / Docker / VM / Codespaces) › その環境に本物の資格情報を置かない(クラウド鍵・トークンを分離) › インストール時スクリプトを止める( --ignore-scripts / pnpm allowBuilds) › リリース直後は入れない + 外向き通信( egress)を絞る → “環境は汚れていい前提 ”にして、爆発半径を小さく
  31. sysdig APPENDIX · Q4 npm 以外のエコシステム設定は? › pnpm:minimumReleaseAge / blockExoticSubdeps

    / allowBuilds(v11 で既定化) › Yarn Berry:npmMinimalAge / enableScripts: false › npm:ignore-scripts / minimum-release-age(追加が進行中) › Python:ハッシュ固定( pip --require-hashes・uv)/ PyPI Trusted Publishing › Rust:cargo-deny・cargo-vet / Go:checksum DB・-mod=readonly → 原則:①新しすぎを避ける ②実行させない ③出所固定 ④OIDC・短命トークン
  32. sysdig APPENDIX · Q5 事故対応で疲弊した。続ける気力は? 影響調査をやり切れたのは、手を抜かず誠実に向き合った プロの仕事の証拠 です。怖くなるのは “ちゃんと分かっている人 ”ほど自然なこと。

    そして今回の事故は個人の落ち度ではなく、業界全体がまだ仕組みを整えている途中だから起き ています。だからモチベは「完璧に防ぐ」ではなく 「壊れても素早く立ち直る(回復力)」 に置き換え ると楽になる。一人で抱えず、チームと分けること。
  33. sysdig APPENDIX · Q6 MCP を npx で動かす時の対策は? › npx

    の“最新を取りに行く ”をやめ、版(できれば digest)で固定する › サーバを vet する(発行元・履歴・ Trusted Publishing か) › 隔離+最小権限で実行(鍵・ FS・ネットワークを絞る)+ egress 制限 › インストール/実行時スクリプトを抑制し、リリース直後は待つ → エージェントは自律実行する主体 → 最後は Run で挙動を監視
  34. sysdig APPENDIX · Q7 “全員が気を付ける ”では守れないのでは? › 同意。注意力はスケールせず、いつか破れる → 侵入は起きる前提(

    assume breach) › 人の注意を仕組みのガードレールへ( allowlist・スキャン・ SBOM・署名・最小権限) › Build/Ship で母数を減らし、 Run で“動いた瞬間 ”を封じ込める › 事故を個人の責任にしない文化(事故前提の IR・心理的安全性) → レビューで見えない攻撃が出た今、最後は挙動で見る