Probely DAST Scanner を使用して API と Web アプリケーションを保護する

Probely DAST Scanner を使用して API と Web アプリケーションを保護する

既知の侵害の約 3 分の 1 が Web アプリケーション攻撃の成功による直接的な結果であることを考えると、Web アプリケーションと API のセキュリティをテストすることが最も重要です。

規制上の理由から Web アプリケーションが安全であることを確認する必要があるだけでなく、クライアントのデータと会社へのリスクにも配慮する必要があります。

Web アプリケーションのセキュリティに関しては確かにたくさんの選択肢がありますが、すべてに長所と短所があります。一部のソリューションは、アプリケーションのソース コード内のセキュリティ問題を特定することに依存しています。その他の機能は、アプリケーションを攻撃から保護します。また、ハッカーが行うように、実行時に Web アプリケーションのセキュリティを動的にテストすることに依存している人もいます。

この記事の焦点は、後者のケース、つまりProbelyにあります。 Probely が他のものと比較して興味深いのは、Web 脆弱性スキャナーの 2 つの主要な問題、つまり最新の Web アプリケーションのスキャン範囲と結果の品質に取り組んでいることです。

Probely には 2 つの異なるエディションがあります。1 つは中小企業を対象としたセルフサービス版で、もう 1 つは多くの Web アプリケーションと API を備えたエンタープライズまたは企業を対象としています。

Probely は、最新の開発環境全体で優れたカバレッジを提供し、証拠に基づくスキャン結果で誤検知を排除すると同時に、DAST スキャンを開発ライフサイクルに統合できるようにすることに重点を置いています。

現実と思うにはあまりに良すぎる?

Probely に関する私の分析については、以下をお読みください。

Probelyは具体的に何をするのですか?

開発者とあらゆるビジネス規模を念頭に置いて、Probely はアプリケーションAPI をテストし、それらをスキャンしてセキュリティの問題と脆弱性を見つけます。テストが完了すると、見つかった問題を修正する方法に関するガイダンスが提供されます。

開発者やセキュリティ エンジニアは、直感的なユーザー インターフェイスを通じて Probely を操作できます。ただし、パワーと柔軟性が必要な場合は、API ファーストの開発アプローチに従っているため、フル機能の API を利用できます。 API はユーザー インターフェイスに表示されるすべての機能を提供し、Probely を CI/CD パイプライン、脆弱性管理ツール、オーケストレーター、または問題トラッカーに統合できるようにします。一般的なものを使用すると、すぐに統合できる可能性があります。これは、JIRA、Jenkins、Azure DevOps、DefectDojo、CircleCI、Slack などのツールに当てはまります。ただし、独自の問題トラッカーやオーケストレーターを開発した場合は、API が最適です。

カバレッジ、クロール、精度

Probely は、次世代のスパイダーを使用して、通常のブラウザと同じ方法でリッチ Javascript アプリケーションを操作し、サイトを良好にカバーしますが、これは他の多くの DAST ツールにとって問題です。このスパイダーは、React や Angular JS に基づくシングルページ アプリなどに最適です。

スキャナーは、見つかったページの脆弱性のみを識別できることに注意してください。したがって、優れたクモが最も重要です。

Probely は、テストする環境に応じて、さまざまなスキャン プロファイルも提供します。運用環境をスキャンしたい場合は、煩わしくないスキャン プロファイルを設定できます。 QA 環境をテストしている場合は、より完全なスキャンを行うために、より徹底的なプロファイルを設定できます。実稼働前環境をテストすることで、アプリケーションを実稼働環境にデプロイする前に脆弱性を特定して修正できます。

報告

Probely は広範な脆弱性リストを検出しますが、関連性のあるものを誤検知なしで報告することに重点を置いています。特定のクラスの脆弱性については、その脆弱性が本物であるという証拠が得られるため、脆弱性が本物で関連性があるかどうかを検証するチームの時間を節約できます。

Probely はインターフェイスから広範なレポートを提供しますが、脆弱性情報を問題トラッカーや脆弱性管理ツールと同期することもできるため、Probely を既存のセキュリティおよび開発ワークフローに適合させることができます。

Probely では、OWASP TOP 10 などにリストされている脆弱性に対してソフトウェアをテストできます。また、PCI-DSS、GDPR、HIPAA、ISO270-01 の特定の要件を確認することで、コンプライアンスの達成にも役立ちます。

OWASP TOP 10 レポートから引用すると、このコンプライアンスに関して何が間違っているかが一目でわかります。

インターフェース

インターフェイスはシンプルで操作しやすいため、すぐに使い始められます。 Enterprise エディションでは、ユーザー、ロールを制御し、カスタム ロールを設定できます。ラベルを使用してユーザー、資産、脆弱性を整理し、Web アプリケーションのセキュリティをより適切に管理することもできます。すべての機能は API を通じて利用できるため、Probely を他のエンタープライズ セキュリティ アプリケーションやプロセスに簡単に統合できます。

Jira または Azure Boards を使用している場合は、すべての脆弱性を問題トラッカーに自動的に送信するように Probely を構成できます。開発者が問題トラッカーで問題を修正してクローズすると、Probely での再テストが自動的にトリガーされ、脆弱性が適切に修正されているかどうかがチェックされます。そうでない場合、問題は問題トラッカーで再度開かれます。これにより、開発チームは、Probely のインターフェイスを使用せずに、他のバグと同様に、問題トラッカーで直接脆弱性レポートを処理できるようになります。いいですね。 🙂

始めましょう 🚀

テスト目的では、 Probely の Enterpriseエディションを使用していました。

また、標準エディションと、無料プランを含むさまざまなプランから選択することもできます。無料プランでは、スキャンは Cookie フラグ、セキュリティ ヘッダー、および SSL/TLS 問題の 3 つのクラスの脆弱性のみをテストします。 Pro プランはほとんどの機能を提供し、スキャン対象が 5 つ以下の中小企業および組織に重点を置いています。

Enterprise エディションは、多数のターゲットを持つ組織に焦点を当てており、エンタープライズ ソフトウェアで一般的なユーザー、グループ、ロール、権限などの追加機能が含まれています。また、提供されているエージェントをインストールすることで、内部ターゲット (プライベート ネットワーク上) をスキャンすることもできます。

ターゲットの追加

ターゲットの追加は簡単です。アカウントでログインしたら、「ターゲット」ページに移動して「追加」をクリックする必要があります。次に、新しいターゲットの名前、URL、および 1 つ以上のラベル (テスト、運用、開発など) を指定します。サポートする Web アプリなしで Probely がこのターゲットをスタンドアロン API としてスキャンできるようにするには、対応するオプションをチェックして API ターゲットとして識別する必要があります。

ターゲットがインターネット上に公開されておらず、プライベート ネットワークに Probely エージェントをインストールしている場合は、ターゲットの追加時に使用するエージェントを選択できます。

ターゲットを追加した後、そのターゲットでスキャンを実行するために必要な権限を持っているという証拠が Probely に必要となるため、その所有権を検証する必要があります。ターゲットを検証するには、提供されたコンテンツを含むファイルをターゲットのルートにロードするか、ドメイン名と特定のレコード コンテンツを含む TXT エントリを DNS レコードに追加する 2 つの代替方法があります。ターゲットが検証されたら、「スキャン」ボタンを押すだけでスキャンできるようになります。

Probely のダッシュボードの [スキャン] タブに移動すると、スキャンの進行状況とステータスを確認できます。このページには、スキャンが開始された日時と、これまでに検出された内容が表示されます。調査結果は重大度ごとに色分けされているため、すぐに対処する必要がある重大な問題があるかどうかが一目でわかります。

Web サイトにログイン ページがあり、その背後で Probely にスキャンを実行させたい場合は、認証されたユーザーとしてサイトをクロールできる資格情報を提供する必要があります。おそらくログイン ページのほとんどの認証方法をサポートしています。

APIのスキャン

API ターゲットをスキャンするには、Probely はそのスキーマを提供する必要があります。これは、API ターゲットを追加するときに、OpenAPI スキーマ URL を指定するか、以前にローカル ファイルとして保存した場合はスキーマをアップロードすることによって行います。 URL オプションを使用すると、Probely がスキャンの前にスキーマを取得できるようになり、常に最新バージョンのスキーマで動作することが保証されます。

API アクセスの認証方法に関してもさまざまなオプションがあります。 Probely は静的トークンをサポートするだけでなく、API をスキャンするときに動的な認証構成も可能にします。 Probely が認証トークンを取得できるログイン エンドポイントを構成することも、固定 API キーを含むカスタム ヘッダーを設定することもできます。 Probely がスキーマ内で見つかった値に使用するカスタム パラメーター値を指定することもできます。

API 認証とパラメータの設定が完了したら、[今すぐスキャン] ボタンを押してスキャンを開始できます。数秒後、同じスキャン ページでスキャンの進行状況を確認できるようになります。スキャンが終了すると、検出されたすべてのエンドポイントと各応答コードを示すカバレッジ レポートをダウンロードできます。このレポートには、障害のあるエンドポイントがあったかどうかも示されます。

調査結果を確認する

[所見] ページには、スキャンの進行中であっても、スキャン結果が見つかるとすぐに表示されます。各検出結果には、重大度 (高、中、または低)、対応するターゲットと URL、検出結果の説明、検出された日時、その状態 (修正済みまたは修正されていない) と担当者、および PCI に影響を与えるかどうかが表示されます。 DSS または OWASP への準拠。

検出結果ページは、検出された脆弱性に関する情報を常に提供するだけでなく、修正する脆弱性をチームに割り当てるのにも役立ちます。これを行うには、左側のチェックボックスをクリックし、ドロップダウン メニューから担当者を選択します。

Probely は、見つかった脆弱性を修正する方法に関する情報も提供します。これらの指示とともに、完全なリクエストとレスポンス、および証拠を確認できます。

[ダッシュボード] ページでは、スキャンされたターゲットのセキュリティ リスクを要約したさまざまなグラフが表示されます。グラフには、リスク スコア、問題修正の平均時間、重大度レベルなど、さまざまな興味深い指標の傾向が表示されます。最も注意が必要なサイトや、発生率が最も高い脆弱性のトップ 5 ランキングも一目で確認できます。

最後に、[統合] ページで、プロジェクト、チームのコミュニケーション、問題追跡などを管理するためのさまざまなツールと統合するように Probely を構成できます。利用可能な統合には、Azure Boards、DefectDojo、Slack、Jira、Jenkins、CircleCI が含まれます。

開発者とセキュリティチームのためのツール

アジャイル開発チームにとって、市場投入までの時間は最優先事項です。品質を損なうことなく、ソフトウェアの運用開始にかかる時間を最小限に抑えるためにできることは何でも大歓迎です。 Probely はまさにそれを提供します。これは、Web サイトと API のセキュリティを向上させる費用対効果の高い方法であり、スケジュール関連の約束を守り、高品質のソフトウェア製品を提供するのに役立ちます。

Probely は、セキュリティ チーム向けに、Web アプリケーションを保護し、修復が必要な脆弱性を管理するためのプラットフォームを提供します。また、監督の役割を持ちながら、セキュリティ テストの一部を開発チームに直接オフロードすることもできます。

Probely は、無料トライアル、エンタープライズ評価ライセンス、製品デモを提供しています。開始するには、Probelyにお問い合わせください。

「 Probely DAST Scanner を使用して API と Web アプリケーションを保護する」についてわかりやすく解説!絶対に観るべきベスト2動画

新しい WebInspect API スキャン オプション
高度な API スキャン – WebInspect の Postman 統合