コンテンツにスキップ

Kubernetes 4Cモデルで整理するECS Fargateのサプライチェーン攻撃対策

概要

ECS Fargate を前提にしたサプライチェーン攻撃対策を Kubernetes の 4C モデル(Cloud / Cluster / Container / Code)で整理した Timee のブログ記事紹介。

記事: https://tech.timee.co.jp/entry/kubernetes-4c-ecs-fargate-supply-chain

詳細

Kubernetes の 4C モデルとは

Kubernetes の公式ドキュメントで定義されているセキュリティ階層モデル:

┌─────────────────────────────┐
│  Cloud(クラウドインフラ)    │  IAM, VPC, セキュリティグループ
│  ┌───────────────────────┐  │
│  │  Cluster(オーケストレーション)│  ECS クラスタ設定, タスク定義
│  │  ┌─────────────────┐  │  │
│  │  │  Container(コンテナ)│  │  イメージスキャン, 最小権限
│  │  │  ┌───────────┐  │  │  │
│  │  │  │  Code(コード)│  │  │  │  依存関係, SAST
│  │  │  └───────────┘  │  │  │
│  │  └─────────────────┘  │  │
│  └───────────────────────┘  │
└─────────────────────────────┘

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

開発・デプロイのパイプライン上のどこかに悪意あるコードを注入する攻撃。攻撃面: - 依存パッケージへの悪意あるコード混入(npm, go modules) - CI/CD パイプラインの侵害 - コンテナイメージへのマルウェア混入

ECS Fargate での各レイヤー対策

Cloud レイヤー - ECS タスクロールの最小権限(Least Privilege) - VPC エンドポイントで ECR/S3 をプライベート接続

Cluster レイヤー - タスク定義の readonlyRootFilesystem: true - privileged: false, allowPrivilegeEscalation: false

Container レイヤー - ECR でのイメージスキャン(Trivy/ECR Enhanced Scanning) - ベースイメージを distroless または Alpine に絞る - SBOM(Software Bill of Materials)の生成・管理

Code レイヤー - Dependabot / Renovate で依存関係の自動更新 - go.sum / package-lock.json のコミット管理 - SAST ツール(gosec, semgrep)の CI 統合

なぜ重要か / いつ使うか

  • ECS Fargate でのセキュリティ対策を体系的に整理したいとき
  • 「どこまでやればいいか」の優先順位付けに 4C モデルが使える
  • Kubernetes のセキュリティ知識を ECS Fargate に転用する橋渡しとして