Prisma Cloud PolicyのRQLを使用する場合、JSON値の配列内で必要な値を検出できません 「AWS Route53 Hosted Zone has dangling DNS record with subdomain takeover risk associated with AWS S3 Bucket」
2670
Created On 12/08/23 04:38 AM - Last Modified 12/19/23 05:19 AM
Symptom
- Prisma Cloud Policy「AWS Route53 Hosted Zone having dangling DNS record with subdomain takeover risk associated with AWS S3 Bucket」は、攻撃者が所有/制御するAWSアカウントに同様のS3バケットを作成することで、これらのダングリングドメインエントリが攻撃者に乗っ取られるリスクがある、存在しないS3バケットを指すCNAMEエントリを持つAWS Route53ホストゾーンを特定するために使用されます
- このポリシー RQL は、Route 53 ホストゾーンの形式で結果を出力しますが、ダングリングドメインエントリの形式で出力は提供しません
Environment
- Prisma Cloud Enterprise Edition(SaaS)
Cause
- RQL はメタデータ レベルではなく API レベルで実行します
- このポリシーには、CNAMEの複数のエントリで構成されたDNSレコードに、既存のS3バケットと存在しないS3バケットの両方があるという偽陰性の問題があります
- これは、ポリシーRQLにそのようなDNSレコードを警告する制限があるコーナーエッジケースです
- 「CNAME」タイプ内に削除されたS3バケットを指すDNSレコードエントリが2つ以上ある場合は、ネストされた配列RQL文法のサポートが必要です。
Resolution
- アカウント条件とマルチジョイント RQL で機能できるようにする既存の機能拡張要求があり、現時点では ETA はありません
- 結合 RQL の正確な結果を得るには、RQL クエリに cloud.account 条件を含めます
config from cloud.resource where cloud.account='AWS Test Account' and api.name = 'aws-route53-list-hosted-zones' AND json.rule = hostedZone.config.privateZone is false and resourceRecordSet[?any( type equals CNAME and resourceRecords[*].value contains s3-website )] exists as X; config from cloud.resource where api.name = 'aws-s3api-get-bucket-acl' as Y; filter 'not ($.X.resourceRecordSet[*].name intersects $.Y.bucketName)'; show X;
- [調査] ページで [Policy RQL with cloud.account ] 条件を実行し、Resource Config JSON にアクセスします
- 多数のDNSレコードが見つかった場合は、キーワード「s3」を使用して トグル検索を使用し、次に示すようにレコードタイプが「CNAME」に設定されていることを確認できます
Additional Information
- RQLのクロスアカウントジョイン: RQL演算子
- 機能リクエストとその到着予定の詳細については、アカウント/カスタマーサクセスチームにお問い合わせください