fbpx

- Webアプリケーション診断 GraphQL -

GraphQLとは

Facebookが開発・提供しているWebAPIの規格です。GraphQLではクライアントが必要なデータ構造を定義しサーバは定義された同構造のデータを返します。これによりクライアントは指定したデータのみを取得することができるということが大きな特徴です。現在Web APIの標準的な規格として使用されるRESTful API(以下REST API)では、目的のリソース以外の余計なデータまで取得せざるを得ない、エンドポイントやURLのクエリパラメータが複雑になる、そのため通信速度が遅くなるといった問題がありました。この問題の解決策として特定のデータシェイプのみを参照する方法であるGraphQLが開発されました。近年はその利便性からGraphQLを採用している システムが多くリリースされています。

GraphQとRestAPIの比較イメージ

GraphQLのクエリ言語


GraphQLは主にQuery、Mutation、Subscriptionの3種類のクエリ言語で構成されています。ここではQueryとMutationについてご説明します。

Query 必要なデータのみを取得する

REST APIでいうGETにあたるものでデータを取得する処理です。GraphQLでは例えばユーザ情報としてid,name,email,addressなど複数のプロパティが定義されているとして、「ユーザ情報からidとnameだけを取得する」という指示ができ、サーバはこの指定されたプロパティの値を返します。これによりクライアントは必要なデータのみを取得することができます。

Mutation 更新

REST APIでのPOST、PUT、PATCH、DELETEにあたるものでデータを作成、更新、削除したいときに使用します。診断結果や診断対象の概要、脆弱性の詳細な解説、再現方法および対策の方法などを、Webアプリケーションの特性に応じて詳細に解説します。

GraphQLの脆弱性


GraphQLは攻撃者がクエリを細工することで構造を意図的に複雑化させDoS攻撃を引き起こせるといった欠点があります。また適切なアクセス制御がされていない場合、Query や Mutationを実行することで本来一般ユーザがアクセスできてはいけないユーザ情報を取得したり変更できてしまう場合もあります。

GraphQLでは従来のREST APIの脆弱性診断に以下の観点が加わります。(診断レポートサンプルにはGraphQLの脆弱性の例も記載しています。)

GraphQLならではの診断観点

・システム操作時には使用されていないQueryやMutationを使用して
 本来許可されていないデータの取得やデータ更新が出来ないかの確認

・クエリの深さや複雑さの制限確認

・公開を想定していないデバッグ関連情報などの確認

セキュリティ診断の結果や行うべき対策がわかる
セキュリティ診断レポートサンプルをお送りします
セキュリティ診断で発見された脆弱性と、具体的な内容・再現方法・リスク・対策方法を報告したレポートのサンプルをご覧いただけます。

Webアプリケーション診断 GraphQL
診断レポートサンプル

発見された脆弱性をクライアント企業にて迅速に修正できるよう、具体的な内容・再現方法・リスク・対策方法をご報告します。詳しくは、診断レポートのサンプルをご請求ください。

価格

対応内容・期間などにより変動いたします。詳細なお見積もりについてはお気軽にお問い合わせください。

よくある質問

QOWASP TOP10には対応していますか?
Aお客様の要望がある場合は対応させていただきます。
QPCIDSSには対応していますか?
A対応可能です。
Q管理しているシステムが多数あるのですが、対象の洗い出しはできますか?
A出来ます。弊社エンジニアにシステムの対象範囲をご相談ください。

Webアプリケーション診断 GraphQLについて
もっと詳しく知りたい方はこちら

その他のサービス一覧

経験豊富なエンジニアが
セキュリティの不安を解消します

Webサービスやアプリにおけるセキュリティ上の問題点を解消し、
収益の最大化を実現する相談役としてぜひお気軽にご連絡ください。

疑問点やお見積もり依頼はこちらから

お見積もり・お問い合わせ

セキュリティ診断の結果や行うべき対策がわかる

診断レポート・資料請求

RECRUIT

私たちと一緒に、
脆弱性のない世界を創っていきませんか