GraphQL診断

Webアプリケーションのセキュリティ診断観点に、GraphQL利用時に起こりうる特有の観点を加え、専門のセキュリティエンジニアが診断します。

GraphQLを用いたアプリケーションのセキュリティリスク

GraphQLを用いたWeb APIのセキュリティを確保するためには、Insecure Direct Object ReferenceといったWeb APIにおいて顕在化しやすい脆弱性だけではなく、Introspection Queryによるスキーマ情報の流出や不正に細工されたクエリによって発生するDoS(Denial of Service)など、GraphQL API固有の脆弱性が存在しないことを確認する必要があります。

これらの脆弱性に関する正確な診断を行うためには、従来のWeb API (いわゆる REST API) のそれとは大きく異なる、GraphQL固有のコンフィグレーションや実装をホワイトボックス的に精査する必要があります。そのため、本診断を行う診断員にはGraphQL APIのエコシステムとWeb APIセキュリティの双方に深い知見を有していることが求められます。

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

REST APIの場合とGraphQL APIの場合の構造比較図: REST APIはエンドポイントごとにリクエストを送信するのに対し、GraphQL APIは単一のエンドポイントにQueryやMutationを送信する

REST APIではエンドポイントごとに機能が割り当てられ、それに対応したWeb標準のパラメータ形式を利用してリクエストを行います。GraphQLでは単一のエンドポイントにスキーマファイルで定義されたQueryやMutationといった専用の形式でリクエストを送信するため、GraphQL特有の挙動に対する理解が必要です。

提供をご依頼するデータ

GraphQLを用いたWeb APIの診断を実施する際には、当該GraphQL APIが扱うデータの型やクエリの種類が定義されたスキーマファイルの提供をご依頼します。 より詳細な診断をご希望される際には、上記に加えてGraphQLのクエリを実際に処理するResolverの実装やバックエンドのデータベース等との連携を含めたシステム構成図をご提供いただきます。 これらの内容を専門の診断員が精査することで、診断対象のGraphQL APIに脆弱性が存在しないかを診断します。

診断観点

設定

Introspection Queryが有効

サービスの性質上必要の無いGraphQL Schemaの公開が、Introspection Queryによって行われていないかどうかを確認します。

認可

権限昇格

クエリ内で用いられているパラメータを変更することで、管理者用機能のような権限を所有していないと操作できない機能において、一般ユーザの権限で実行できるような脆弱性がないか検査します。

認可制御の不備

クエリ内で用いられているパラメータを変更することで、情報の所有者のみアクセスできることを想定しているような機能において、権限を持たないユーザが情報にアクセスできるような脆弱性がないか検査します。

その他

クエリを利用したDoS

クエリの組み合わせを悪用することでサービスに対するDoSが行えないかどうかを検査します。

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

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

料金・プラン

脆弱性診断

100万円〜

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

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