SPA診断

SPAで構築されたWebアプリケーションについて、フロントエンド部分のソースコードを読むことによるホワイトボックス形式の診断を提供します。ブラックボックス形式のWebアプリケーション診断でフロントエンドを診断する際には発見する難易度が高い脆弱性も検出することができます。

SPA特有のセキュリティリスク

React.jsやVue.jsに代表されるSPAフレームワークは近年急速に普及が進みました。しかし、フロントエンドでのリッチな処理と引き換えに発生したDOMbased XSSといったセキュリティリスクは見逃されてしまいがちです。

SPAに発生するそのような脆弱性のうち、非自明で検出難易度が高いものはホワイトボックス形式の診断でないと発見することが難しいことがあります。

例えば、GitLabが使用していたMermaid chartには、ユーザーのディレクティブを適切にエスケープせずにそのまま使用していたためにDOM based XSSが存在していました。この脆弱性は単純にペイロードを流し込むだけでは発火せず、ホワイトボックス的にコードを読むことで発見されています。

参考:https://hackerone.com/reports/1103258

SPAを用いたWebアプリケーションに対するセキュリティ診断

通常のブラックボックス形式のWebアプリケーション診断はフロントエンドも診断対象にしています。

通常のWebアプリケーション診断(ブラックボックス形式): 内部構造を知り得ない外部の立場で疑似攻撃を実施する診断員がバックエンド・フロントエンド双方を診断対象とすることを示す図

ですが、ブラックボックス形式の診断には限界があり、上記のGitLab事例のようにSPAの一部の非自明な脆弱性に関しては発見できないことがあります。そのような脆弱性も含めてリスクを洗い出したいというお客様向けにSPA特有の観点での診断を実施しています。

SPA診断(ホワイトボックス形式): 診断員がソースコードを読み調査することで、フロントエンドがSPAの時にブラックボックス形式では見つけにくい脆弱性を検出することを示す図

提供をご依頼するデータ

SPA診断をご利用の際には、フロントエンドのソースコードをご提供いただきます。ソースコードを専門の診断員が読み、精査することで、診断対象のSPAに脆弱性が存在しないかを診断します。

診断観点

SPA診断において発見可能なフロントエンドの脆弱性です。

DOM based XSS

SPAのJavaScriptがユーザーの入力値を適切に処理しないことにより、外部から注入された悪意あるスクリプトが実行されてしまわないか検査します。

CSSインジェクション

外部からスタイルシートもしくは<style>タグを注入できてしまうことによりHTML内部のデータが漏洩しないか検査します。タグを注入できてしまうことによりHTML内部のデータが漏洩しないか検査します。

オープンリダイレクト

外部から与えられたパラメータを利用してリダイレクト先を決める機能において、任意のリダイレクト先を指定できる脆弱性がないか検査します。

クライアントサイドDoS

不正な入力やエラーハンドリングの不備などにより、サービスの利用を妨げる脆弱性がないか検査します。

クライアントサイドプロトタイプ汚染

JavaScriptオブジェクトのプロパティを変更されることで、意図しない挙動を引き起こす脆弱性がないか検査します。

クライアントサイドパストラバーサル (CSPT)

APIのパスパラメーターにパストラバーサルを引き起こす文字列が混入し、予期せぬAPIが呼び出されることによる脆弱性がないか検査します。

診断をご利用いただいた開発組織のみなさま

サンプル報告書のダウンロード

技術ブログ公開中

SPAを題材にセキュリティに関する技術ブログを公開中です。ぜひご覧ください。

料金・プラン

脆弱性診断

100万円〜

グレーボックスまたはブラックボックス形式で脆弱性診断を実施します。ご予算に応じて深刻度が高いと見込まれる箇所から優先的に診断し、ビジネスリスクの高い脆弱性を可能な限り検出します。OWASP Top 10やOWASP ASVS等でカバーされる典型的な脆弱性に加え、仕様を踏まえたビジネスロジックの脆弱性も検出対象です。

お見積もりは無料です。
診断のご依頼はお気軽にお問い合わせください。