クロスサイトスクリプティング (XSS) の脆弱性は今もなお Web アプリケーションにおけて多発しています。AppScan は XSS 検出機能を古くから備え、最新版の 10.0.1 でも精度と検出能力向上を図っています。英語版ブログ [Identify and Remediate Cross-Site Scripting Vulnerabilities with HCL AppScan V10.0.1]() の翻訳版を掲載します。
HCL AppScan V10.0.1 でクロスサイトスクリプティングの脆弱性を特定し、修正する
2020年6月22日
Eitan Worcel / Product Lead, AppScan
古いことわざにもあるように、「古いものはすべてまた新しい」という言葉があります。残念ながら、広まっているクロスサイトスクリプティング (XSS) 脆弱性は、最も一般的なアプリケーション脆弱性の種類のひとつであり続けています。10年以上もこの脆弱性と戦ってきたとは信じがたいことですが、それでもクロスサイトスクリプティングは OWASP のトップ 10 の中で最も一般的な脆弱性タイプのひとつです。2018年の報告書によると、XSS の脆弱性は、最新のアプリケーションの最大 82% に見られる可能性があります。
XSS とは何か?
OWASP は、クロスサイトスクリプティングを次のように定義しています。「XSS 攻撃は、攻撃者が Web アプリケーションを利用して、悪意のあるコード (一般的にはブラウザー側のスクリプトの形で) を別のエンドユーザーに送信することで発生する」。
これだけの年月を経ても、XSS が現在も広く普及している脆弱性であり続けているという事実を反省しながら、2012 年に当社が XSS Analyzer と名付けた画期的な AppScan 技術を導入したことを思い出しました。2020 年の現在も AppScan V10.0.1 で利用可能であり、ほとんどのアプリケーションセキュリティテストソリューションが提供できるものよりも技術的に先を行っています。本質的には、クロスサイトスクリプティングの自動検出のための速度と精度が向上します。
XSS Analyzer でクロスサイトスクリプティング脆弱性の特定
XSS Analyzer を使ったクロスサイトスクリプティングの脆弱性の特定は簡単です。エンティティ (パラメータなど) の値に JavaScript コード (例: <script>alert ('XSS') </script>) (意図的に全角にしています) を入力し、レスポンスがレンダリングされたときに JavaScript コードが実行されたかどうかをチェックするだけです (例: アラートが表示される) 。XSS の脆弱性を悪用する方法はたくさんあります。ひとつが失敗した場合、Analyzer は次の方法を試します。このような潜在的なペイロードの以前のリスト (通常は「チートシート」と呼ばれています) には、数十から数百の潜在的なペイロードが含まれていました。当社の継続的な調査により、7 億以上のペイロードが XSS Analyzer で使用されていることが明らかになりました!
XSS の自動識別
クロスサイトスクリプティングの自動識別は、成功したペイロードが見つかるまで潜在的なペイロードを送信することによって実行されます。従来のダイナミック アプリケーション スキャナは、時間が限られているため、各エンティティに対して数十回以上のリクエストを送信することができません。そのため、DAST スキャナは膨大なペイロード空間の中から小さなサブセットを選択し、そのサブセットに対してのみテストを行います。サブセットの選択は、成功確率、反射コンテクスト、その他の特性に基づいた賢い選択ですが、テスト空間全体をカバーすることは決してありません。サブセットはテスト空間の2分の1もカバーしません。
XSS Analyzer の学習機能
これが XSS Analyzer の特長です。これは、スキャンのタイムパフォーマンスに影響を与えることなく、より多くのXSS脆弱性をより高い精度で、より少ない時間で発見します。
さらに、XSS Analyzer は人間の攻撃者になりすますように訓練されています。単にランダムなリクエストを送信するのではなく、サーバー側のロジックを学習し、テストに適したペイロードを選択します。 これが XSS Analyzer のパフォーマンスと精度の鍵となります。 この「学習システム」により、XSS Analyzer は各テストペイロードから学習することができます。
テスト結果に基づいて、XSS Analyzer は「チートシート」にある7億個のペイロードの中から潜在的なペイロードを排除し、他のペイロードに集中することができます。 テストごとに、XSS Analyzer は機能する範囲を絞り込み、通常は 20 回以下のテストで問題を発見し、平均 20 回のテストで 7 億項目のチートシートのリストから脅威が存在しないかどうかを判断することができます。これは、スピードと正確さの点で、XSS の識別において本当に大きな成果です。
AppScan Enterprise のデモ
今すぐ登録して、HCL AppScan Enterprise の包括的なデモをご覧になり、当社の XSS Analyzer 機能の詳細をご確認ください (日本のお問い合わせ窓口はこちらです)。