V13: API および Web サービス
管理目標
Web ブラウザや他のコンシューマが使用する API を公開するアプリケーション (通常 JSON, XML, GraphQL を使用) が、関連するセキュリティ構成とメカニズムを適用していることを確認します。
この章は他のすべての章の同じレベルと組み合わせて読んでください。認証、セッション管理、一般的な入力バリデーションの問題とは重複していません。それよりも、これらの章の一般的な要件は常に適用されるので、この章をコンテキストから外して個別にテストすることはできません。
V13.1 一般的な Web サービスセキュリティ検証
V13.2 RESTful Web サービス検証
現時点では、JSON スキーマバリデーション仕様の「公開バージョン」があり、運用準備が整っていると考えられています。しかしながら、厳密には「安定版」とみなされるバージョンはまだありません。そのため、JSON スキーマバリデーションの使用を検討する場合は、ASVS の第 5 章の標準入力バリデーションガイダンスも必ず適用してください。
JSON スキーマバリデーション仕様の正式な安定バージョンが存在しないため、使用している JSON スキーマバリデーションライブラリを注意深く監視してください。標準が正式化され、リファレンス実装のバグを解決すると、更新が必要になる可能性があるためです。
V13.3 SOAP Web サービス
注意: DTD に対する XXE 攻撃の問題があるため、DTD バリデーションは使用すべきではありません。また、V5 章で説明されている要件に従い、フレームワーク DTD 評価を無効にします。
V13.4 GraphQL
GraphQL はさまざまなバックエンドサービスと連携しないデータリッチなクライアントを作成する方法として、より一般的になりつつあります。しかし、このメカニズムにはセキュリティに関する特別な考慮事項もいくつかあります。
V13.5 WebSocket
参考情報
詳しくは以下の情報を参照してください。
graphql.org と Apollo の GraphQL Authorization のリソース
Last updated