AWS における Pentera の代替: 攻撃を実行せずに攻撃経路を検証する
要点
- Pentera は自動化されたセキュリティ検証プラットフォームです。公開資料によれば、内部ネットワーク、ID、外部のアタックサーフェスに対して攻撃者の手法をエミュレートし、2024 年からは AWS と Azure のアカウント向けのクラウドモジュールも提供しています。
- AWS のコントロールプレーンでは、攻撃者のあらゆる動きはポリシーによって判定される API 呼び出しなので、各ステップの認可を解決すれば、経路を読み取り専用で実証できます。Pathbreak はこの方法で検証します。
- Pathbreak は実証済みの経路を影響範囲で順位付けし、それぞれを断ち切る変更を示し、その後に変更の効果を確認します。これを毎日のスケジュールで、アカウント内で何も実行せずに行います。
- 2 つの方法は異なる問いに答えるもので、互いに組み合わせられます。エミュレートした攻撃は、それが必要な証明となる環境の部分に。読み取り専用の認可解決は、AWS のコントロールプレーンに毎日。
- どちらも手動の AWS セキュリティ評価に取って代わるものではなく、どちらもそれを補完します。
Pentera は、自動化されたセキュリティ検証の分野で最もよく知られた名前の 1 つです。公開資料によれば、このプラットフォームは攻撃者が内部ネットワーク、ID、外部のアタックサーフェスに対して用いる手法をエミュレートし、どれが成功したかを報告します。2024 年には、同じアプローチを AWS と Azure のアカウントに適用するクラウドモジュールが追加され、ID の侵害、ロールの権限昇格、プラットフォームサービスへのラテラルムーブメント、コード実行を探します。Pentera の代替を探しているチームが問うているのは、通常次の 2 つのどちらかです。エミュレートした攻撃を得る別の方法はあるか、それとも本番アカウントで何も実行せずにクラウドの露出を検証する方法はあるか。この記事は後者についてのものです。何かを決める前に、Pentera の詳細はベンダーに確認してください。
証明を得る 2 つの方法
エミュレートした攻撃は攻撃者のように振る舞います。足がかりから出発して移動を試み、到達したものが証拠になります。取得した認証情報、制御下に置いたホスト、引き受けたロールなどです。ネットワーク、Active Directory、エンドポイントの環境では、これが得られる最も直接的な証明であり、Pentera のようなプラットフォームはまさにそれを生み出すために作られています。
AWS のコントロールプレーンでは、証明を別のところから得られます。攻撃者の動きは API 呼び出しであり、各呼び出しが成功するかどうかは、何かが実行される前に、AWS がまとめて評価するポリシードキュメントによって決まります。呼び出し元の ID ポリシー、アクセス許可の境界、組織単位に適用されたサービスコントロールポリシー、対象の信頼ポリシーまたはリソースポリシー、そして各ステートメントの条件キーです。経路のすべてのステップについて、これらのドキュメントを AWS と同じ方法で解決すれば、その呼び出しが受けるのと同じ許可または拒否が得られます。すべてのステップが許可と解決されれば、その経路は実証されたことになり、その間に何も作成、呼び出し、変更されていません。分析と検証の違いを扱った記事では、1 つの連鎖をこのプロセスに沿って追っています。
Pathbreak の検証方法
Pathbreak は読み取り専用のクロスアカウントロールを通じて接続し、プリンシパル、ポリシー、信頼のエッジ、リソースのグラフを構築し、それをもとに推論してマルチホップやクロスアカウントを含む候補の連鎖を生成します。各連鎖は、すべてのステップについて完全な認可を解決することで検証され、その結果は証拠として記録されます。実証済みの経路はアカウントをまたいで到達するものに応じて順位付けされ、それぞれにそれを断ち切る具体的な変更が付きます。変更が適用されると経路は再評価され、消えたことが確認されます。この方法は読み取り専用なので、変更ウィンドウなしで本番環境に対して毎日実行できます。Pathbreak のラボアカウントでは、1 つのロールに対する 1 つの Deny で 4,087 本の実証済み経路のうち 3,893 本がなくなり、2 つの変更でリスクの 80 パーセントが取り除かれました。
並べて比較
この表は、各アプローチが何のために作られているかを、それぞれの言葉で説明したものです。
| 観点 | Pentera | Pathbreak |
|---|---|---|
| 方法 | 攻撃者の手法をエミュレートする | 経路のすべてのステップについて AWS の認可を読み取り専用で解決する |
| 目的 | 内部ネットワーク、ID、外部のアタックサーフェス。AWS と Azure 向けのクラウドモジュールあり | AWS のコントロールプレーン: IAM の権限昇格、クロスアカウントの信頼、露出した認証情報、公開されたエントリポイント |
| 証拠 | エミュレートした攻撃者が到達したもの | ホップごとの認可結果。経路ごとに記録 |
| 実行頻度 | オンデマンドまたはスケジュール実行 (ベンダーによる) | 毎日、すべてのアカウントにわたって |
| 出力 | 達成された影響と修復のガイダンスを含む検出結果 | 影響範囲で順位付けされた実証済みの経路、それぞれを断ち切る変更、変更後の確認 |
| 必要なアクセス | ベンダーのデプロイガイドによる | 読み取り専用のクロスアカウントロール、何も実行しない |
エミュレートした攻撃が適している場合
懸念している環境がオンプレミスである場合、Active Directory が最重要資産である場合、エンドポイントへのフィッシングの足がかりがどこかに通じることを証明する必要がある場合、あるいは監査人が攻撃者をエンドツーエンドでエミュレートした証拠を求めている場合は、そのツールを使うべきです。Pentera とその同種の製品はそのために作られており、クラウドがより広い環境の一部である場合には、その上にクラウドモジュールを加えるのは理にかなっています。
AWS に読み取り専用の検証を加えるべき場合
機微なデータと特権ロールが AWS にある場合、アカウントとロールの数が定期的なテストではカバーしきれないほど多い場合、あるいは変更ウィンドウなしで証明を得たい場合は、コントロールプレーンの検証を加えてください。2 つのアプローチはうまく併用できます。エミュレートした攻撃は、それが必要な証明となる環境の部分に。読み取り専用の検証は、AWS のコントロールプレーンに毎日。どちらも手動の AWS セキュリティ評価を補完するものであり、どちらもそれに取って代わるものではありません。料金は AWS アカウント数の区分に基づいており、公開されています。また、録画したウォークスルーでは実際のアカウントでの検証済み経路ビューを紹介しています。
よくある質問
Pathbreak は Pentera の代替になりますか。
AWS のコントロールプレーンにおける攻撃経路の検証については、はい。Pathbreak は実際の認可を読み取り専用で解決することで各経路を実証し、実証済みの経路を影響範囲で順位付けし、それぞれを断ち切る変更を示します。ネットワーク、Active Directory、エンドポイントに対するエミュレートした攻撃については、Pentera や同様のプラットフォームが Pathbreak にはないことを行います。
Pathbreak は私の AWS アカウントで攻撃を実行しますか。
いいえ。AWS では攻撃者のあらゆる動きはポリシードキュメントによって判定される API 呼び出しなので、Pathbreak は経路のすべてのステップについてそれらのドキュメントを解決し、その結果を記録します。何も作成、呼び出し、変更しないため、本番環境に対して毎日実行できます。
Pathbreak を Pentera と並行して運用できますか。
はい。エミュレートした攻撃が必要な証明となる環境の部分にはそれを使い、AWS のコントロールプレーンの継続的な検証には Pathbreak を使うチームがあります。出力は異なり、どちらも同じエクスポージャー管理プログラムに取り込まれます。
どちらかのツールが手動の AWS セキュリティ評価の代わりになりますか。
いいえ。自動化された検証は、自動化できる部分を継続的にカバーします。手動の評価は、アプリケーションロジック、ビジネス上の文脈、そして経験豊富なテスターの判断をカバーします。Pathbreak はその作業を補完するために作られています。