Webアプリケーション侵入テストとは何ですか?
Webアプリケーション侵入テストは、インターネットベースのプログラムが攻撃または悪用中にどのように動作するかを測定するために設計されたアクティビティです。 これらのテストでは、さまざまなソフトウェアプログラムを使用してアプリケーションをスキャンし、実際の攻撃中に発生する可能性のあるさまざまなアクションを実行します。 Webアプリケーション侵入テストは、開発チームまたはサードパーティのサービスプロバイダーが実行できます。 外部プロバイダーが使用される場合、開発チームまたは情報技術(IT)スタッフは、管理者からテストの通知を受けないことがあります。 これにより、Webアプリケーション侵入テストにより、他の方法では気付かなかった可能性のある欠陥を発見でき、ソフトウェアのリリース前にこれらの問題を修正できる場合があります。
Webアプリケーションは、インターネット上でアクセスおよび実行できるソフトウェアパッケージです。 これらのアプリケーションは多くの機能を実行でき、場合によっては、プライベートまたは価値があると見なされるデータの処理を担当します。 攻撃の危険を回避するために、通常、侵入テストを実行して、コード内の弱点または簡単に悪用される領域を特定します。
一般的なWebアプリケーション侵入テストは、情報収集フェーズから始まります。 このステップの目的は、アプリケーションに関するできるだけ多くの情報を判別することです。 アプリケーションにリクエストを送信し、スキャナーや検索エンジンなどのツールを使用することで、ソフトウェアのバージョン番号や、後で悪用を見つけるためによく使用されるエラーメッセージなどの情報を取得できることがよくあります。
十分な量の情報が蓄積された後、Webアプリケーション侵入テストの次の目標は、さまざまな攻撃とエクスプロイトを実行することです。 場合によっては、最初のフェーズで収集された情報により、アプリケーションが脆弱になる可能性のあるエクスプロイトが特定されます。 明らかな脆弱性が検出されなかった場合、あらゆる種類の攻撃とエクスプロイトが試行される可能性があります。
Webアプリケーション侵入テストでは、さまざまな技術的脆弱性を見つけることができます。 これらのテストは通常、ユニバーサルリソースロケーター(URL)操作、セッションハイジャック、構造化照会言語(SQL)インジェクションなどのメソッドを使用して、アプリケーションに侵入しようとします。 バッファオーバーフローや、アプリケーションの異常な動作を引き起こす可能性のある他の同様のアクションを開始しようとする試みもあるかもしれません。 これらの攻撃またはエクスプロイトのいずれかにより、アプリケーションが機密データを侵入テスターに公開する場合、通常、欠陥は推奨されるアクションコースとともに報告されます。