ペンテストはベータ版で、アドオンとして提供しています。サイドバーにPentestsが表示されない場合は、Corgeaの管理者またはsales@corgea.comまでお問い合わせください。
ペンテストの仕組み
各実行は、同じ3つの段階で進みます。1
偵察
エージェントがターゲットの攻撃対象領域を洗い出します。エンドポイント、認証フロー、パラメータに加え、どこからもリンクされていない経路までを対象とします。
2
攻撃
担当領域ごとに特化したエージェントが、並行してターゲットを攻撃します。パターン照合ではなく実際の攻撃を試み、領域をまたいで弱点をつなぎ合わせ、より影響の大きい結果に到達させます。
3
レポート
確認された検出結果は、説明、ビジネスへの影響、攻撃の連鎖、攻撃スクリプト、修復のガイダンスとしてまとめられ、ダウンロードできるレポートに集約されます。
Deepの実行では、これらの領域を越えて調査し、複数の段階にわたる攻撃の連鎖を組み立てるレッドチームエージェントが追加されます。
Corgeaは、エージェントが稼働中のアプリケーションで実証できた検出結果だけを報告します。レポートに掲載された検出結果は、疑いの段階ではなく、実際に再現されたものです。
開始する前に
ターゲットのURLは、httpまたはhttpsでインターネットから到達できる必要があります。Corgeaは、次に該当するターゲットを受け付けません。
httpまたはhttps以外のスキームを使用しているhttps://user:pass@example.comのように、URLに認証情報を直接埋め込んでいるlocalhost、プライベートネットワークの範囲、クラウドのメタデータアドレスに解決される
ターゲット
ターゲットは再利用できる設定です。攻撃先、使用する認証情報、常時適用する指示をまとめて保持します。各実行はターゲットに対して行われるため、一度設定しておけば、リリースのたびに再実行できます。
ターゲットを作成する
1
Pentestsを開く
サイドバーからPentestsを選択し、New targetをクリックします。
2
ターゲット名とURLを入力する
Acme Public APIのように、チームが判別できる名前を付けます。URLには、エージェントが起点とするアプリケーションのルートを指定します。3
認証済みでテストする場合は認証情報を追加する
認証情報はエージェントに渡す自由記述のテキストで、人がログインするときに必要な情報をそのまま記載します。
demo@example.com / hunter2のように1行書くだけで十分です。認証情報がない場合、エージェントは匿名の外部攻撃者としてアプリケーションをテストします。4
必要に応じて指示を追加する
Additional instructionsには、実施ルール、対象外とする範囲、エージェントに重点的に確認させたいエンドポイントを記載します。
5
デフォルトのスキャンモードを選ぶ
BalancedまたはDeepを選択します。実行ごとに変更もできます。

認証情報は保存時に暗号化され、そのターゲットに対する実行中にのみ復号されます。
編集とアーカイブ
ターゲットの操作メニューから、実行の開始、編集、アーカイブを行えます。 編集内容が反映されるのは今後の実行のみです。各実行は開始時点のターゲット設定を保持するため、過去の実行とその検出結果には、常に当時の設定が反映されます。URLの変更や認証情報の更新によって、過去の実行の報告内容が書き換わることはありません。 ターゲットの編集時に認証情報の欄を空のままにすると、保存済みの認証情報は変更されません。完全に削除するには、Clear stored credentialsを選択します。 アーカイブすると、ターゲットは一覧から非表示になりますが、過去の実行はすべて引き続き確認できます。実行を開始する
ターゲットの操作メニューからStart new runを選択します。- Balanced
- Deep
認証と認可、ビジネスロジック、インジェクションを対象に、短時間で評価します。定期的に実施する通常のテストに適しています。
実行状況の確認
実行には、スキャンモードとアプリケーションの規模に応じて数時間かかります。ページを開いたままにする必要はありません。検出結果は確認され次第保存され、実行の完了時には管理者にメールを送信できます。 実行中は、実行ページが自動で更新されます。エージェントが実証した検出結果は順次表示されるため、実行の完了を待たずに重大な問題のトリアージを始められます。 エージェントの動作を確認するには、Logsをクリックします。
検出結果の確認
実行が完了すると、実行ページに検出内容の概要が表示されます。
- All findings:その実行で確認したすべての検出結果を、重大度別の件数とともに表示します
- Auth & AuthZ:アクセス制御の不備、認証、セッションに関する問題
- Business Logic:処理フローと取引の整合性に関する問題
- Injection:インジェクション、トラバーサル、信頼できない入力に関する問題
- Validated SAST:近日提供予定です。確認済みのSAST検出結果と、実行時の悪用可能性を突き合わせます
絞り込みとグループ化
検出結果の一覧の上部にあるツールバーでは、次の操作ができます。- ステータスの絞り込み:Open、Fixed、Closed、False Positiveを、それぞれ最新の件数とともに表示します。MoreからAccepted Risk、Duplicate、全ステータスを追加できます
- 検索:タイトル、CWE、エンドポイントを対象に検索します
- 重大度:Critical、High、Medium、Low、Infoで絞り込みます
- CWE / Endpointの切り替え:検出結果を弱点の種類別、または影響を受けるエンドポイント別にグループ化します
検出結果の詳細
検出結果を開くと、5つのタブに分かれた詳細な内容を確認できます。Finding Detailsタブ
説明、ビジネスへの影響、影響を受ける役割とユーザー、技術的な原因分析を確認できます。サイドバーには、CWEの識別子、重大度、CVSSスコア、ターゲット、エンドポイント、これまでの実行で再検出された回数が表示されます。
Attack Chainタブ
エージェントが実際にたどった手順が、番号付きで表示されます。各手順には送信したリクエストとアプリケーションの応答が記載されるため、開発者は推測せずに攻撃の経路を追えます。
Exploit Scriptタブ
検出結果を再現できる、実行可能なスクリプトです。ターゲットに対して実行すれば問題を自分で確認でき、修正後にもう一度実行すれば修正が有効かを確認できます。
Remediationタブ
その検出結果に対する具体的な修復手順と、関連する標準やガイダンスへの参照が表示されます。
Historyタブ
すべての実行にまたがる、その検出結果の時系列です。最初に検出された時期、再検出された時期、ステータスの変更やコメントの履歴を、実施した担当者とあわせて確認できます。 Corgeaは、実行をまたいで同一の問題を認識します。後のペンテストで同じ検出結果が再び現れた場合、新規として登録せず元の検出結果に紐付けるため、履歴は一連の流れとして残ります。検出結果のトリアージ
検出結果のCurrent Statusで、判断を記録します。設定できるステータスは次のとおりです。
ステータスの変更は、同じ問題のすべての検出に適用されます。一度トリアージすれば、開いていた行だけでなく履歴全体が更新されます。チームに共有する背景情報を、コメントとして残すこともできます。
Closedはステータスとして表示されますが、手動では設定できません。再検証の実行で検出結果を再現できなくなった時点で、Corgeaが自動的に適用します。
レポートをエクスポートする
実行が完了すると、Export reportから2種類のPDFを出力できます。Technical report
技術分析、概念実証、攻撃コード、各検出結果の修復ガイダンスを含む、完全な評価結果です。社内の開発チーム向けです。
Executive report
同じ評価結果と検出結果から、技術的な詳細、概念実証、修復の詳細を除いたものです。顧客、監査人、経営層向けです。
- 秘密保持に関する記載と目次
- 経営層向けの要約と、検出結果のダッシュボード
- 実施範囲と手法。実行したエージェントと各エージェントの対象範囲、対象外とした内容の明示を含みます
- 重大度の定義と、段階ごとの推奨対応
- すべての検出結果の一覧表
- 重大度別にまとめた検出結果の詳細
修正後の再検証
修正をリリースしたら、アプリケーション全体に対するペンテストを消費せずに再テストできます。完了した実行でNew runメニューを開き、Revalidate Findingsを選択します。 再検証の実行では、元の実行で得られた検出結果だけを再テストし、次の結果を報告します。- Still open:再び再現できた検出結果
- Closed by this run:再現できなくなった検出結果。自動的にClosedへ変更されます
1
検出結果を修正する
修復手順に沿って対応し、完了したものから検出結果をFixedにします。
2
再検証する
完了した実行でNew run、続いてRevalidate Findingsを選択します。
3
結果を確認する
再現できなくなった検出結果はClosedに変わります。まだ再現できるものは、新しい証跡とともに未解決のまま残ります。
通知
会社の管理者は、実行の完了時にAI Pentest Completedメールを受け取れます。メールには、ターゲット、スキャンモード、検出結果の合計件数、重大度別の内訳が含まれます。これは管理者ごとのメール設定のため、受け取りたくない管理者は、他の管理者に影響を与えずに無効にできます。 Corgeaは完了時にWebhookも送信します。結果をSlackに投稿する、チケットを作成する、リリースの手順を制御するといった用途に利用できます。設定方法とペイロードの詳細はWebhookを参照してください。 再検証の実行では、完了通知は送信されません。よくある質問
ペンテストにはどのくらい時間がかかりますか?
ペンテストにはどのくらい時間がかかりますか?
スキャンモードと、アプリケーションの規模や複雑さによりますが、数時間です。DeepはBalancedよりも時間がかかります。実行を見守る必要はありません。検出結果は確認され次第保存され、完了時には管理者にメールを送信できます。
認証の内側にあるアプリケーションもテストできますか?
認証の内側にあるアプリケーションもテストできますか?
テストできます。ターゲットに認証情報を追加すると、エージェントはログイン済みのユーザーとして、認証が必要な領域をテストします。実行には未認証でのテストも含まれるため、外部の攻撃者とログイン済みユーザーの両方の視点で確認できます。
ペンテストでアプリケーションやデータが壊れることはありますか?
ペンテストでアプリケーションやデータが壊れることはありますか?
エージェントは実際に攻撃を行うため、データの作成、変更、削除が発生する可能性があります。サービス拒否攻撃や大量の負荷をかけるテストは明確に対象外ですが、日常的な実行にはステージング環境かテスト専用の環境をお使いください。
ターゲットのURLが受け付けられないのはなぜですか?
ターゲットのURLが受け付けられないのはなぜですか?
ターゲットは
httpまたはhttpsを使用し、URLに認証情報を埋め込まず、localhost、プライベートネットワークの範囲、クラウドのメタデータアドレスに解決されない必要があります。代わりに、到達できるテスト用のインスタンスを公開してください。スキャンモードがグレー表示になるのはなぜですか?
スキャンモードがグレー表示になるのはなぜですか?
そのモードの利用枠が残っていないためです。BalancedとDeepは別々に管理され、残数はページのヘッダーとスキャンモードの選択欄に表示されます。利用枠の追加はsales@corgea.comまでお問い合わせください。
実行が失敗しました。どうすればよいですか?
実行が失敗しました。どうすればよいですか?
実行のステータスに理由が表示されます。多い原因は、実行の途中でターゲットに到達できなくなった場合と、認証情報が使えなくなった場合です。ターゲットが稼働していることと、認証情報が最新であることを確認してから、新しい実行を開始してください。
検出結果が0件で完了しました。問題があるのでしょうか?
検出結果が0件で完了しました。問題があるのでしょうか?
必ずしも問題ではありません。対象範囲内で悪用できる問題を実証できなかった、ということです。検出結果を想定していた場合は、認証が必要な領域に到達できるよう認証情報が正しいかを確認し、対象範囲を広げるためにDeepでの実行を検討してください。
SASTとの違いは何ですか?
SASTとの違いは何ですか?
SASTはソースコードを解析し、デプロイ前に問題を検出します。ペンテストは稼働中のアプリケーションを攻撃し、実際のデプロイ構成で何が悪用できるかを実証します。検出できる内容が異なるため、Corgeaではそれぞれの検出結果を別々に管理します。
関連情報
BLAST
デプロイ前にソースコードの脆弱性を検出する、AIネイティブのSASTです。
Webhook
ペンテストの完了イベントを自社のシステムで受け取ります。
レポート
組織全体のセキュリティ状況の推移を追跡します。
ポリシー
問題の優先順位付けと対応方法を定義します。
