2025年9月Udemy全コース共通クーポン【VARONTO2025SEP】 Udemyコース

【攻撃手法編】:【第10回】クラウド環境(AWS/Azure)における攻撃シナリオとログの見方

目次

1. 全体の考え方(クラウド特有の観点)

  • クラウドでは「API呼び出し」が多くの操作ログの源泉(例:AWS CloudTrail、Azure Activity Log)。APIログが第一の観測点。
  • ネットワークは仮想化されているため VPC Flow / NSG Flow / ALBアクセスログ 等がネットワーク挙動の把握に役立つ。
  • アイデンティティ(IAM / Azure AD)が支配的:認証・権限の乱用が主要な侵入経路になる。
  • ログは分散(各サービスごと)なので、CloudTrail / CloudWatch / GuardDuty(AWS)/Azure Monitor / Defender / Sentinel(Azure) の相関が必要。

2. 代表的な攻撃シナリオと検知ポイント

シナリオA:盗まれたAPIキー/長期認証情報による不正操作(横展開・暗号化・課金悪用)

攻撃の流れ:漏洩したアクセスキーでAPIを呼び、インスタンス作成・スナップショット作成・データ転送や外部S3へデータアップロード/外部サーバへ転送。
見るログ

  • AWS: CloudTrail(CreateInstance、RunInstances、CreateAccessKey、PutObject、CreateSnapshot、Ec2:RunInstances等)/VPC Flow Logs(外向きの大量トラフィック)/S3 Access Logs/GuardDuty Findings(異常なAPI呼び出し、異常な認証位置)
  • Azure: Azure Active Directory サインインログ(新規アプリ・トークン利用)、Activity Log(VM作成、Storageアクセス)、NSG flow logs、Azure Defenderのアラート
    サンプルCloudTrail抜粋
eventTime: 2025-10-01T12:05:30Z
eventName: CreateAccessKey
userIdentity: arn:aws:iam::123456789012:user/deploy-bot
sourceIPAddress: 203.0.113.5
userAgent: aws-cli/2.0

検知のヒント

  • 通常動かない時間帯の大量API呼び出し
  • 突然の CreateAccessKey / ConsoleLogin from unknown IP
  • 同一キーで複数リージョンのリソースが短時間に作られる
    初動
  • 対象アクセスキーを無効化、関連IAMユーザーのログイン資格をロック/パスワード・キーのローテーション
  • GuardDuty/DefenderのFinding IDを根拠に横展開調査(S3 PUT、EC2起動等)
    予防
  • 短期キーは利用しない(短期トークン・AssumeRole推奨)、キーの最小権限化、キー使用のアノマリ検知

シナリオB:公開S3/Blob によるデータ漏洩(設定ミス)

攻撃の流れ:バケット/コンテナがパブリックになっており、攻撃者がデータをダウンロードまたは改竄。
見るログ

  • AWS: S3 Access Logs / CloudTrail GetObject / PutBucketPolicy イベント / AWS Config (public bucket checks)
  • Azure: Storage Analytics / Activity Log for role assignments & container ACL changes / Azure Policy データ
    サンプルS3アクセスログ
2025-10-02T03:22:10Z my-bucket [GET] 198.51.100.77 /sensitive/report.csv

検知のヒント

  • 突然の大量の GetObject リクエスト、または海外IPからのリクエスト増加
  • PutBucketPolicy / PutBucketAcl イベントで公開レベル変更が行われたログ
    初動
  • バケットのアクセス設定を即時「private」に変更、ログを保全
  • ダウンロード元IPや時間帯を調査、漏えい範囲の特定と通知
    予防
  • バケット公開の自動検出(AWS Config / Azure Policy)、公開禁止ポリシー、SSE・アクセスログの有効化

シナリオC:権限昇格(IAMポリシーの付与、不適切なロールチェーン)

攻撃の流れ:既存アカウントが権限付与を悪用して管理者権限を獲得し、横展開や復号鍵へのアクセスを行う。
見るログ

  • CloudTrail PutRolePolicy / AttachUserPolicy / UpdateAssumeRolePolicy
  • Azure Activity Log の RoleAssignment / RoleDefinition変更
    サンプルCloudTrail
eventName: AttachUserPolicy
userIdentity: arn:aws:iam::123456789012:user/dev1
requestParameters: policyArn: arn:aws:iam::aws:policy/AdministratorAccess

検知のヒント

  • 普段権限付与しないユーザーによる AttachUserPolicy、または短時間に複数のポリシー変更
    初動
  • 変更のロールバック、関係ユーザーの資格情報無効化、関連操作(ログイン・リソース作成)の横展開調査
    予防
  • IAM変更には承認・ワークフロー、CloudTrailに対する整合的アラート、IAM Access Analyzer

シナリオD:コンテナ/クラウドネイティブ環境の侵害(Kubernetes / AKS / EKS)

攻撃の流れ:コンテナイメージに脆弱性があり乗っ取り/イメージレジストリからの機密情報取り出し/クラスタ内ネットワーク横展開。
見るログ

  • Kubernetes Audit Logs(API Serverへの不審なリクエスト)
  • Container registry access logs(pull/push)
  • Podネットワーク通信(VPC Flow / NSG flow)
    検知のヒント
  • 予期しない kubectl exec、ServiceAccountトークンの不審利用、イメージpullの増加
    初動
  • Pod隔離、ServiceAccountトークンローテーション、レジストリのアクセス制御
    予防
  • イメージスキャン(CVE検出)、最小権限のServiceAccount、ネットワークポリシー

シナリオE:クラウドアカウントの不正なサードパーティ連携(OAuth / Service Principal悪用)

攻撃の流れ:悪意ある外部アプリやサービスが権限を得てデータ読み出し・書き込みを行う。
見るログ

  • Azure AD Sign-in / Enterprise Application consent logs(新しい同意、AppRole割当)
  • AWSでの外部IDプロバイダログ(AssumeRoleWithWebIdentity)
    検知のヒント
  • 突然の新規アプリ同意、特権権限を要求するアプリの作成・同意
    初動
  • 該当アプリの同意取り消し、トークン無効化、詳細アクセスログで横展開確認
    予防
  • 同意式アプリの管理ポリシー、ユーザー同意制限、OAuth監査

3. 具体的なログ断片(サンプル)と読み方

A. AWS CloudTrail — EC2 作成(疑わしい)

{
  "eventTime": "2025-10-01T12:10:45Z",
  "eventName": "RunInstances",
  "userIdentity": {
    "type": "IAMUser",
    "arn": "arn:aws:iam::123456789012:user/deploy-bot",
    "principalId": "AID...DEP"
  },
  "sourceIPAddress": "198.51.100.77",
  "requestParameters": {
    "imageId": "ami-0abcd1234",
    "minCount": 1,
    "maxCount": 1
  }
}

→ 見るべきは userIdentity(誰が呼んだか)、sourceIPAddress(見慣れないIPか)、eventTime(通常の作業時間外か)。

B. Azure AD サインインログ — Impossible Travel の例

{
  "time": "2025-10-02T03:05:22Z",
  "userPrincipalName": "j.sato@contoso.com",
  "ipAddress": "203.0.113.99",
  "location": "Moscow, RU",
  "conditionalAccessStatus": "success",
  "deviceDetail": {"isCompliant": false}
}

→ 同一ユーザーの過去ログと照合してImpossible Travelを検出。deviceDetailconditionalAccessStatusは対応のヒント。


4. SIEM / Sentinel の概念的クエリ例(学習用)

実装するSIEMに合わせて構文は変える。以下は概念→KQL風例

  • CloudTrailで短時間に複数リージョンでのRunInstancesを検出
CloudTrail
| where EventName == "RunInstances"
| summarize cnt = count(), regions = make_set(AwsRegion) by UserIdentity_PrincipalId, bin(TimeGenerated, 1h)
| where cnt > 3 and array_length(regions) > 1
  • S3への外部大量ダウンロード検出(短時間で大量GetObject)
S3AccessLogs
| summarize downloads = count() by BucketName, SrcIP, bin(TimeGenerated, 10m)
| where downloads > 100
  • Azure AD:Impossible Travel 検出(概念)
SigninLogs
| where TimeGenerated > ago(1d)
| summarize by UserPrincipalName, Location, bin(TimeGenerated, 1h)
| join kind=inner (SigninLogs | where TimeGenerated > ago(1d)) on UserPrincipalName
| where Location != Location1 and abs(datetime_diff("minute", TimeGenerated, TimeGenerated1)) < 60

5. 初動(トリアージ)チェックリスト(テンプレ)

  1. 事象の分類:API操作か、認証か、データアクセスか
  2. 影響範囲:関係リソース(S3バケット、VM、Service Principal)を列挙
  3. 証拠保全:CloudTrail / Activity Log / Storage access logs をエクスポート(アーカイブ)
  4. 即時封じ込め:該当APIキー無効化、バケットのACL変更、VM隔離、アカウントロック
  5. 横展開調査:同一IP/同一キー/同一UserAgentで他操作が無いか検索

6. 防御(改善)策まとめ

  • ログの有効化 & 長期保存:CloudTrail, Storage Access Logs, VPC Flow, Azure Activity を有効にし、SIEMに送る
  • 検知ルールの整備:CreateAccessKey、ConsoleLogin from anomalous IP、大量GetObject等を監視
  • 最小権限の原則:IAMロールとポリシーを最小化、AssumeRoleの使用で短期認証を推奨
  • MFA・条件付きアクセス:管理操作やコンソールログインはMFA必須、条件付きアクセスでリスクベース制御
  • 自動化(SOAR):高信頼度の検知なら自動でキー無効化・リソース隔離を行うプレイブック
  • 定期的なセキュリティレビュー:公開ストレージ検出、自動検査(AWS Config / Azure Policy)
  • 脆弱性管理 & イメージスキャン:コンテナやイメージはCI/CD段階でスキャン

7. 学習用演習(短い)

  1. CloudTrailログで CreateAccessKey を見つけたら、次にどのログを調べる?(→ ConsoleLogin, RunInstances, S3 PutObject)
  2. S3 Access Logs で短時間に外部IPから多数 GetObject が発生。優先度の高い初動は?(→ バケットをprivate化・ログ保全・ダウンロード元IPの特定)
  3. Azure ADでImpossible Travelを見つけたら何を無効化する?(→ 該当セッション・アクセストークン・パスワードリセット・MFA再適用)

8. まとめ(学習ポイント)

  • クラウド監視の本質は「APIとアイデンティティの監視」。まず CloudTrail / Activity Log / AD Sign-in を見に行けること。
  • ログは分散しているので横断的相関が鍵(SIEMでの相関検知が重要)。
  • 最初の兆候(不審なAPI呼び出し・異常な認証・短命ドメインへのトラフィック・大量のオブジェクト取得)を見つけたら即時封じ込め→調査の流れを踏む。
  • 事前の防御(最小権限、MFA、公開ストレージの制御、監査ログの有効化)が被害軽減に直結する。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次