概要
クラウド環境で最も一般的なセキュリティ脆弱性とその対策を詳しく解説します。AWS、GCP、Azureを問わず、これらの脆弱性はクラウドを利用するすべての組織に影響を与える可能性があります。
Top 7 脆弱性
1. クラウドサービスの設定ミス
発生頻度: 最も多い(全インシデントの約65%)
典型的な例:
- S3バケットがパブリックに設定されている
- セキュリティグループで0.0.0.0/0からの全ポートアクセスを許可
- CloudTrailログが無効になっている
- デフォルトのVPC設定をそのまま使用
実際の事例:
2019年のCapital Oneデータ漏洩事件では、WAFの設定ミスにより1億人以上の顧客データが流出しました。
対策:
- Infrastructure as Code(IaC)の使用
- CSPMツール(Cloud Security Posture Management)の導入
- 定期的な設定監査
- AIKIDOのクラウドスキャン機能の活用
2. IAMの過剰権限
問題の本質:
「最小権限の原則」が守られていないことで、侵害時の影響が拡大します。
よくある間違い:
- 開発者にAdministrator権限を付与
- サービスアカウントに過剰な権限
- 未使用のIAMユーザー/ロールの放置
- MFAの未設定
影響:
- 1つのアカウントが侵害されると全リソースにアクセス可能
- 横展開(ラテラルムーブメント)が容易に
対策:
- Just-In-Time(JIT)アクセスの実装
- 定期的な権限レビュー(四半期ごと)
- IAM Access Analyzerの活用
- サービスコントロールポリシー(SCP)の設定
3. シークレットのハードコード
危険なパターン:
AWS_ACCESS_KEY = "AKIAIOSFODNN7EXAMPLE"
AWS_SECRET_KEY = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
DATABASE_PASSWORD = "super_secret_password"
発生場所:
- ソースコード内
- 設定ファイル(.envがgitに含まれる)
- Dockerイメージ内
- CI/CDパイプラインのログ
対策:
- AWS Secrets Manager / Azure Key Vault / GCP Secret Managerの使用
- 環境変数の適切な管理
- git-secretsなどのプリコミットフック
- AIKIDOのシークレット検出機能
4. 暗号化の欠如
暗号化が必要な場面:
- 保存時(At Rest): データベース、S3、EBS
- 転送時(In Transit): HTTPS、TLS 1.2以上
- 処理時(In Use): 機密データの処理中
よくある問題:
- RDSの暗号化が無効
- S3のサーバーサイド暗号化なし
- 古いTLSバージョンの使用
- 自己署名証明書の使用
対策:
- デフォルトで暗号化を有効化
- AWS KMSやCloud KMSの活用
- 証明書の自動更新設定
- セキュリティヘッダーの設定(HSTS)
5. ログ・監視の不備
必要なログ:
- CloudTrail(AWS API呼び出し)
- VPC Flow Logs(ネットワークトラフィック)
- アプリケーションログ
- セキュリティイベントログ
監視すべき項目:
- 異常なAPIアクティビティ
- 大量データのダウンロード
- 通常と異なる時間帯のアクセス
- 特権操作の実行
対策:
- 集中ログ管理(SIEM)の導入
- リアルタイムアラートの設定
- ログの長期保存(最低1年)
- 定期的なログレビュー
6. 脆弱なコンテナイメージ
問題点:
- ベースイメージに既知の脆弱性
- 不要なパッケージの含有
- rootユーザーでの実行
- シークレットのイメージ内埋め込み
統計:
公開されているコンテナイメージの75%以上にHigh/Critical脆弱性が存在
対策:
- 最小ベースイメージの使用(distroless、Alpine)
- 定期的なイメージスキャン
- イメージの署名と検証
- 非rootユーザーでの実行
7. ネットワーク分離の不足
フラットネットワークの危険性:
- 1つのワークロードが侵害されると全体に波及
- 内部トラフィックの監視が困難
- マイクロセグメンテーションの欠如
推奨アーキテクチャ:
[インターネット]
|
[WAF/CDN]
|
[パブリックサブネット - ALB]
|
[プライベートサブネット - アプリケーション]
|
[プライベートサブネット - データベース]
対策:
- VPCの適切な設計
- サブネットの分離
- セキュリティグループの最小権限設定
- PrivateLinkの活用
AIKIDOでのクラウドセキュリティ
AIKIDOは以下の機能でクラウドセキュリティを支援します:
- IaCスキャン: Terraform、CloudFormationの設定ミス検出
- シークレット検出: ハードコードされた認証情報の発見
- コンテナスキャン: イメージの脆弱性分析
- クラウドポスチャ管理: AWS/GCP/Azureの設定監査