核心概念
REST APIには重要なリソースにアクセスする際の重要な役割があるが、一括代入の脆弱性は一般的であり、機密データへの不正アクセスを引き起こす可能性がある。我々は、REST APIの仕様をマイニングし、一括代入の脆弱性に prone な操作と属性を特定する軽量なアプローチを提案する。
要約
本論文では、REST APIの一括代入の脆弱性を特定するためのアプローチであるLightMassを紹介する。LightMassは、REST APIの仕様を入力として受け取り、一括代入の脆弱性の可能性がある操作と属性を特定する。
具体的には、以下の手順で動作する:
- APIの仕様を解析し、エンドポイント、操作、属性を特定する。
- GET操作とPOST/PUT/PATCH操作の属性を比較し、GET操作の方が多い属性を特定する。これらの属性は読み取り専用であるべきだが、一括代入の脆弱性の対象となる可能性がある。
- 操作間の類似性を計算し(Jaccard係数)、50%以上の類似性があり、かつGET操作の属性数がPOST/PUT/PATCH操作の属性数を上回る場合に、一括代入の脆弱性の可能性があると判断する。
LightMassを100のAPIに適用した結果、25のAPIで115のエンドポイントと133の操作に495の属性が一括代入の脆弱性の対象となることが分かった。さらに、6つのオープンソースAPIを詳しく調べた結果、LightMassが9つの実際の脆弱な操作を特定できることを確認した。
LightMassは、一括代入の脆弱性の可能性を早期に開発者に知らせることができ、セキュリティ分析者やテスターが詳細な調査を行う際の指針となる。また、他のツールとの連携により、自動化された脆弱性検出を可能にする。
統計
100のAPIから25のAPIが一括代入の脆弱性の可能性があると特定された
合計で115のエンドポイントと133の操作、495の属性が脆弱性の対象となった
6つのオープンソースAPIの調査により、9つの実際の脆弱な操作が確認された