SSR診断

SSR(Server Side Rendering)で構築されるWebアプリケーションは、SSRの複雑な特性により通常のWebアプリケーション診断では検出困難なセキュリティリスクが存在します。
GMO Flatt Securityが提供は、CDNの設定情報などの内部情報も精査し、SSRの構成ゆえに発生しがちな脆弱性をホワイトボックス形式で検出します。

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

Next.jsやNuxt.jsなどのSSRに対応するフレームワークは、開発体験の向上やパフォーマンスの最適化のための様々な機能を提供しているため、近年急速に普及が進みました。

しかし、サーバーサイドでのレンダリング処理における脆弱性や、クライアントサイドとの連携における脆弱性などの、SSR特有の仕組みによる潜在的なセキュリティリスクが見逃されてしまいがちです。

例えば、Next.jsにおけるServer Actionsの機能は、いくつかの条件が満たされる場合にホストに対するSSRFの攻撃で機密情報が漏洩する脆弱性がありました。

参考: https://github.com/vercel/next.js/security/advisories/GHSA-fr5h-rqp8-mj6g

また、Nuxt.jsにおけるキャッシュの機能は、特定のHTTPリクエストを処理する場合にキャッシュポイズニング等の脆弱性がありました。

参考: https://github.com/nuxt/nuxt/security/advisories/GHSA-jvhm-gjrh-3h93

これらの事例はフレームワークの脆弱性として修正済みですが、SSRのアプリケーションにおいても構成や設定等によって同様の脆弱性が発生する可能性があります。さらに、SSR特有の問題として、リクエスト間で共有されるデータの取り扱いなど、アプリケーションの実装に起因する脆弱性が発生する可能性もあります。

SSRに対する脆弱性診断

通常のWebアプリケーション診断では、SSRによる構造やフレームワークに関係なく、XSSのような一般的に見られる脆弱性から認証・認可・ビジネスロジックのようなアプリケーション固有の仕様に起因する脆弱性まで診断を実施します。

しかし、SSRで構築されるアプリケーションにおいて、内部的にレンダリングするリクエストやCDNにおける潜在的な脆弱性は発見できないことがあります。

特に、SSRで構築されるアプリケーションの内部構造やCDNの設定情報も含めて、ホワイトボックス形式でリスクを洗い出したいというお客様向けにSSR特有の観点での診断を実施しています。

また、GMO Flatt Securityでは基本的に*全ての手動脆弱性診断において標準でソースコードの分析を実施しています。

これにより、診断においてレンダリング後のレスポンスのみで判断する(ブラックボックス形式)必要はなく、潜在的なセキュリティリスクをも検出可能です。

通常の診断手法ではHTTPレスポンスしか見ない(ブラックボックス形式・レンダリング結果)のに対し、GMO Flatt SecurityはソースコードやCDNの設定情報も精査するホワイトボックス形式で潜在的リスクも検出することを示す図

* アプリケーションが対象ではないプラットフォーム診断や、ソースコードが提供されない場合を除きます

提供をご依頼するデータ

SSR診断では、ソースコードとCDNの設定情報をご提供いただきます。ソースコードを専門の診断員が読み、CDNの設定情報も含めて精査することで、診断対象に脆弱性が存在しないか判断します。

診断項目

SSR診断では、SSRの構成ゆえに発生しがちな特筆すべき診断項目を活用します(以下一例)。

これらの観点は、通常のWebアプリケーション診断にも一部含まれますが、特にSSRのフレームワークによる内部構成やCDNの設定に重点を置いてホワイトボックス形式で検査します。

サーバーサイドリクエストフォージェリ (SSRF)

SSRで内部的にレンダリングするリクエストを改ざんして、本来アクセスできない内部リソースの情報を読み取ったり、改ざんできたりしないかを検査します。

クロスサイトスクリプティング (XSS)

SSRで内部的にレンダリングするリクエストを改ざんして、HTMLやJavaScriptを出力するWebページで悪意あるJavaScriptを埋め込めたりしないかを検査します。

キャッシュポイズニング

SSRで内部的にレンダリングするリクエストを改ざんして、キャッシュの悪用による意図しない挙動を引き起こせないかを検査します。

サービス拒否 (DoS)

SSRで内部的にレンダリングするリクエストを改ざんして、キャッシュの悪用や不適切な処理による無限ループでサーバーサイドのDoSを引き起こせないかを検査します。

クロスリクエスト状態汚染

SSRのリクエストで固有のデータを含む共有シングルトンの状態を改ざんして、他ユーザーからのリクエストで意図しない挙動を引き起こしたり、機密情報を漏洩させたりできないかを検査します。

機密データの漏洩

クライアントサイドに共有される環境変数や__NEXT_DATA__などに機密データが含まれていないかを検査します。

意図しないAPIの公開

Server Actionsなどで外部から呼び出されることを想定していないAPIが公開されていないかを検査します。

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

料金・プラン

脆弱性診断

100万円〜

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

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