
AWS CDKの重大な脆弱性とは
最近、AquasecのセキュリティリサーチャーによってAWS Cloud Development Kit(CDK)に重大な脆弱性が発見されました。この脆弱性は、攻撃者が標的となるAWSアカウントの管理者権限を不正に取得できてしまう可能性があるという、非常に深刻なものです。
この問題は2024年6月にAWSに報告され、CDKのバージョンv2.148.1以前を使用しているユーザーに影響を与える可能性があります。脆弱性の原因は、CDKがブートストラッププロセス中にリソースを作成する際に使用する、予測可能な命名規則にあります。
攻撃のメカニズムと影響
デフォルトでは、CDKは「cdk-hnb659fds-assets-{アカウントID}-{リージョン}」というパターンに従ってS3バケットを作成します。ユーザーがブートストラップ後にこのバケットを削除してしまうと、攻撃者は同じ名前のバケットを自分のアカウントで作成し、不正に利用できてしまいます。 被害者が「cdk deploy」コマンドを実行すると、CDKは攻撃者が制御するバケットを信頼し、CloudFormationテンプレートをそこに書き込んでしまいます。攻撃者はこれらのテンプレートを改ざんし、自分が引き受けられる管理者ロールなどの悪意のあるリソースを注入できます。
被害者のCloudFormationサービスは、デフォルトで管理者権限でリソースをデプロイするため、バックドア化されたテンプレートが被害者のアカウントで実行され、攻撃者に完全なコントロールを与えてしまう可能性があります。
脆弱性の影響範囲と対策
Aquasecの調査によると、38,000以上の有名なアカウントIDを調べた結果、CDKユーザーの約1%がこの攻撃ベクトルの影響を受ける可能性があることが分かりました。CDKがインストールされていると確認された782アカウントのうち、81アカウント(10%)がステージングバケットの欠如により脆弱でした。
AWSは、CDKバージョンv2.149.0以降で修正をリリースし、ロールがユーザーのアカウント内のバケットのみを信頼するよう条件を追加しました。しかし、古いバージョンのユーザーは、アップグレードして「cdk bootstrap」コマンドを再実行する必要があります。
まとめ
この脆弱性の発見は、AWS CDKのようなクラウドインフラストラクチャツールを使用する際に、最新のセキュリティパッチを適用し、ベストプラクティスに従うことの重要性を浮き彫りにしています。
Infrastructure as Code(IaC)プラクティスを採用する組織が増えている中、高額な被害につながる可能性のある脆弱性に対して常に警戒を怠らないことが重要です。私たちセキュリティエンジニアは、このような脆弱性情報を常にチェックし、必要な対策を迅速に講じる必要があります。
最後に、この事例はクラウドセキュリティの複雑さと、継続的な監視と更新の重要性を示しています。組織は定期的にセキュリティ評価を実施し、最新のベストプラクティスに沿ってインフラストラクチャを維持することが不可欠です。セキュリティに終わりはありません。常に最新の脅威に対応できるよう、知識とスキルを磨き続けましょう。
