クラウドの攻撃対象領域
IAM、ストレージ、メタデータのリスクを学びます。
「クラウドの攻撃対象領域」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。
クラウドの責任共有モデル
クラウドでは、プロバイダーがインフラストラクチャを保護し、顧客が設定、ID、データを保護します。侵害の大半は、この境界の顧客側で発生します。
- プロバイダーはハイパーバイザーと物理セキュリティにパッチを適用します。
- 顧客はIAMポリシー、ストレージ権限、ネットワークルールを管理します。
- 支配的なリスクは、プロバイダーの侵害ではなく設定ミスです。
アイデンティティが新たな境界
クラウドには従来のネットワーク境界がありません。アクセスはIAM(ユーザー、ロール、ポリシー、キー)によって管理されます。漏えいしたアクセスキーは、窃取されたドメイン管理者のパスワードと同じくらい深刻な被害をもたらす可能性があります。
- IAMポリシーによって、リソースに対するアクションが許可されます。
- ロールによって、サービスやユーザーが一時的な認証情報を引き受けられます。
- 過剰な権限を持つIDが、主な権限昇格経路です。
認証情報の漏えい
クラウドの認証情報は絶えず漏えいしています。一般的な原因には次のようなものがあります。
- 公開Gitリポジトリにコミットされたアクセスキー
- モバイルアプリ、CIログ、コンテナイメージにハードコードされたキー
- メタデータサービスに到達するServer-Side Request Forgery (SSRF)
- 短期間のロールではなく、長期間有効なキーを過度に共有すること
# Scan a repo for leaked cloud secrets
trufflehog git file://./repo --only-verified
# Validate an AWS key you found
aws sts get-caller-identityメタデータサービス
すべてのクラウドインスタンスは、一時的なロール認証情報を払い出すメタデータエンドポイントを公開しています。そこに到達できる VM 上で SSRF や RCE が発生すると、インスタンスロールを取得できることがよくあります。
- AWS IMDS は
169.254.169.254で稼働しています。 - IMDSv1 はリクエストだけで利用できるため、SSRF によって簡単に悪用されます。
- IMDSv2 はセッショントークン(PUT の後に GET)を要求するため、多くの SSRF 攻撃を抑止できます。
# IMDSv1 (vulnerable) credential theft via SSRF
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/ROLE
# IMDSv2 requires a token first
TOKEN=$(curl -X PUT 'http://169.254.169.254/latest/api/token' -H 'X-aws-ec2-metadata-token-ttl-seconds: 60')ストレージの設定ミス
オブジェクトストレージ(S3、GCS、Azure Blob)は、データ漏えいの原因になりやすい領域です。
- パブリック読み取りバケットでは、機密ファイルが漏えいします。
- パブリック書き込みバケットでは、改ざんやマルウェアのホスティングが可能になります。
- 範囲が広すぎるバケットポリシーや ACL によって、認証済みユーザーにアクセス権が付与されます。
- 有効期限が長い事前署名 URL によって、永続的なアクセスが漏えいします。
# Enumerate and test an S3 bucket
aws s3 ls s3://target-bucket --no-sign-request
aws s3 cp s3://target-bucket/secret.txt . --no-sign-requestネットワークとサービスの公開
クラウドのネットワーク制御(Security Groups、NSGs、ファイアウォールルール)は、簡単に過剰公開につながります。
- データベースや管理ポートが
0.0.0.0/0に公開されています。 - 管理プレーン(Kubernetes API、RDP、SSH)にインターネットから到達できます。
- 内部サービスが認証なしで VPC を暗黙的に信頼しています。
サーバーレスとマネージドサービス
サーバーレスによってリスクの形は変わりますが、リスクがなくなるわけではありません。関数、キュー、マネージドデータベースには、それぞれ実行 ID があります。
- Lambda の実行ロールに過剰な権限が付与されている可能性があります。
- 環境変数には、侵害時に読み取られる可能性があるシークレットが保存されていることがよくあります。
- イベントソースの設定ミスによって、信頼できない入力から特権関数を実行できる場合があります。
コントロールプレーンとデータプレーン
2 つの攻撃対象領域を区別してください。
- コントロールプレーン:クラウド API(リソースの作成、IAM の変更、設定の読み取り)です。ここを侵害されると、アカウント全体に影響します。
- データプレーン:アプリケーション、VM、コンテナなどのワークロード自体です。
データプレーンへの足がかりからコントロールプレーンの認証情報を取得することが、典型的なクラウド権限昇格です。
マルチアカウントとテナント間アクセス
大規模な組織では、ワークロードを多数のアカウント、サブスクリプション、プロジェクトに分割しています。
- 信頼ポリシーが弱いクロスアカウントロールによって、ピボットが可能になります。
- サードパーティ統合ロールにおける混乱した代理人(confused deputy)が悪用される可能性があります。
- 組織レベルのロール(例:OrganizationAccountAccessRole)は価値の高い標的です。
ログ記録と検知の対象領域
防御側はクラウドネイティブなログに依存しています。攻撃者はそれを無効化しようとします。
- CloudTrail、Activity Log、Audit Logs はコントロールプレーンの呼び出しを記録します。
- 攻撃者はトレイルを無効化したり、ログの配信を停止したりする可能性があります。
- GuardDuty、Security Command Center、Defender は異常を検知します。
ログ記録の無効化自体が、アラート対象にする価値のある高シグナルイベントです。
クラウドテストのスコープ設定
クラウドのペネトレーションテストには、プロバイダーへの配慮と承認が必要です。サービス拒否や特定のスキャンなど、一部の行為はプロバイダーの利用規約に違反します。必ずアカウントの所有権を確認し、影響範囲について合意したうえで、まずは読み取り専用の列挙を優先してください。
専用のテストアカウントまたは明確なタグを付けたリソースを使用し、文書化されたスコープ外のリソースには決して触れないでください。
確認テスト
クラウドの攻撃対象領域を理解できているか確認してください。
まとめ
クラウドの攻撃対象領域を整理しました。
- クラウドリスクの大部分は、顧客側の設定ミスが占めています。
- 境界となるのは ID であり、漏えいしたキーとロールが主要な攻撃経路です。
- メタデータサービスは、データプレーンのバグとクラウド認証情報を橋渡しします。
- ストレージ、ネットワーク、ログ記録の設定ミスも、この攻撃対象領域を構成します。
次は、これらの問題を見つけるためにクラウドリソースを列挙します。
よくある質問
「クラウドの攻撃対象領域」レッスンは無料ですか?
はい。「クラウドの攻撃対象領域」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。
「クラウドの攻撃対象領域」で何を学びますか?
IAM、ストレージ、メタデータのリスクを学びます。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cyber Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「クラウドの攻撃対象領域」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCyber Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- クラウドの攻撃対象領域
- クラウドリソースの列挙
- IAM設定ミスの悪用
- 永続化とラテラルムーブメント