San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
閉じる
プライバシー設定
ウェブサイト運営に必要なCookieや類似技術を使用しています。追加のCookieは貴社の同意がある場合のみ利用されます。同意は「Agree」をクリックすることでいただけます。どのデータが収集され、どのようにパートナーと共有されているかの詳細は、Cookieポリシープライバシーポリシーをご確認ください。
Cookieは、貴社デバイスの特性や、IPアドレス、閲覧履歴、位置情報、固有識別子などの特定の個人情報を取得、解析、保存するために使用されます。これらのデータは様々な目的で利用されます。分析Cookieによりパフォーマンスを評価し、オンライン体験やキャンペーンの効果向上に役立てます。パーソナライズCookieは、利用状況に応じた情報やサポートを通じ、貴社専用の体験を提供します。広告Cookieは、第三者が貴社のデータをもとにオーディエンスリストを作成し、ソーシャルメディアやネット上でのターゲット広告に使用します。貴社は各ページ下部のリンクから、いつでも同意の許可、拒否、または撤回が可能です。
ご送信ありがとうございます。内容を受け付けました。
申し訳ありません。フォーム送信時にエラーが発生しました。
/
/
Vulnerabilities, Attacks, API Security

IDOR脆弱性(不正な直接オブジェクト参照)

はじめに

新たなサイバー脅威が次々と登場する中、アプリとAPIのセキュリティを万全に守ることが以前にも増して難しくなっています。セキュリティ専門家にとって、これらの脅威に慣れ、問題が大きくなる前に対処するのは大変な課題です。

IDORは特に注目すべき脆弱性で、OWASP Top 10にも掲載されています。内容を確認してほしい。

IDOR脆弱性(不正な直接オブジェクト参照)

IDOR脆弱性の概要

IDOR脆弱性は、認証済みユーザの入力が他の権限のない者によって利用され、特定のアプリ/リソース/ソフトウェア/操作へアクセスされることで発生します。早急な対処がなされない場合、計画的なIDOR攻撃により深刻な危険が生じる可能性があります。

場合によっては、IDOR自体は直接的な脅威でないこともあります。しかし、このタイプのアクセス制御攻撃を用いることで、熟練した攻撃者がより大規模で被害の大きい攻撃の下地を作り出す恐れがあります。

IDORとOWASP Top 10

OWASP Top 10は、最も重大な被害をもたらす高リスクの脆弱性を専門家が選定した一覧です。各コミュニティのセキュリティ専門家の意見を基に作成され、通常3~4年ごとに更新されます。IDORは2017年のリストにも含まれていました。

この用語は、攻撃者が参照オブジェクトを直接狙い、制限されたリソースやアプリへの不正なアクセスを試みるサイバー攻撃を指します。

OWASPのIDOR定義によれば、脆弱なウェブサイトやアプリは、内部で利用しているオブジェクト(例:ユーザID)を直接表示する傾向があります。そのため、実際の参照先やその形式が明らかになり、不正なユーザがアプリ所有のリソースや操作にアクセスされる可能性があります。

IDORの種類

  • ボディ操作:攻撃者がチェックボックス、フォーム、ラジオボタンなどの既定または信頼されたユーザが定めた値を変更し、認証済みユーザのアクセス情報を不正に利用する手法。
  • URL改ざん:クライアント側のURLを操作するIDOR攻撃の一種です。HTTPリクエストの全体または一部を変更することで実施され、GETやPOSTのリクエストが特に狙われやすいです。
  • 不正なデータ取得攻撃:攻撃者が、重要な情報を保持するユーザーデータベースを掌握する攻撃です。キーネームや値を利用して実施されます。
  • 不正な操作実行:攻撃者が未検証のユーザID、APIキー、コマンド名などを操作し、対象システムやアプリで不正な操作を行う攻撃です。パスワードの強制変更、重要な管理コマンドの実行、制限付きAPIへの強制アクセスなどが含まれます。
  • アプリオブジェクトの改ざん:攻撃者が許可された内部オブジェクト参照にアクセスし、アプリの基本データを変更する攻撃です。成功すると、セッション変数の改変が可能になります。
  • 直接ファイルアクセス:パストラバーサルと併発する典型的なIDOR攻撃で、攻撃者がファイルリソースを容易に操作できます。成功すれば、速やかなファイルアップロード、不正なユーザーデータの変更、有料コンテンツの無償ダウンロードなどが可能となります。

以上のIDOR脆弱性の各種は、単独でも、また他の脆弱性と組み合わせることで強力な攻撃手段となります。

IDOR vulnerability example
IDOR脆弱性の例

IDOR攻撃の例

ユーザが操作するパラメータを用いたIDOR攻撃は非常に一般的であり、各所で見受けられます。以下にいくつかの例を示します。

  • データベースオブジェクトへの直接参照を用いたIDOR

以下は、IDORが発生する可能性を示す例です。例えば、顧客専用ページに以下のURLが用いられていると仮定します。

https://insecure-website.com/customer_account?customer_number=132355

バックエンドのデータベースに保存された情報が抽出され、アクセスが実現されます。

この例では、顧客番号がバックエンドデータベースのレコードインデックスとして利用されています。その他の対策が不十分な場合、攻撃者は該当のcustomer_numberの値を変更し、設定されたアクセス制限を回避できます。これにより、他のユーザの情報にも容易にアクセスされる恐れがあります。

この例は、水平権限昇格を引き起こすIDOR脆弱性を示しています。水平権限昇格に加え、垂直権限昇格も可能です。いずれの場合も、攻撃者が追加の権限情報を変更することで、アクセス制限が容易に突破されます。

攻撃者がユーザアカウントに侵入した場合、パスワード流出の悪用や主要パラメータの変更といった手法が用いられることもあります。

  • 静的ファイルへの直接参照を用いたIDOR

静的ファイル内に検出されない機微な情報が存在する場合、IDOR脆弱性が発生する可能性があります。

例えば、チャットメッセージの記録をディスクに保存しているウェブサイトでは、連番のファイル名が使用され、下記のURLから任意のチャット記録が取得可能なケースがあります。

https://insecure-website.com/static/12144.txt 

このURLを利用し、攻撃者がファイル名を変更することで、記録されたチャット内容やその他重要なデータへ不正にアクセスされる恐れがあります。

IDORの検出

早期に検出すれば、被害は軽減されます。幸いなことに、IDORの検出とテストには、手動または自動化された複数の手法が存在します。以下、その一例を紹介します。

ファズテストは、プログラムやアプリに不正な入力があった際、システムの直接的または間接的な不具合を検出する従来の手法です。SwaggerでAPIが定義されているアプリの場合、Fuzz Lightyearツールを用いることで、タイムリーなIDOR検出が可能です。

次に有効な手法として、対象アプリに対するペンテストが挙げられます。正確かつ迅速、かつ広範囲な検出が期待でき、Burp Authorizeなどのツールがよく利用されます。

IDOR脆弱性の緩和と予防

この脆弱性に適切な注意を払わないと、数多くの問題が発生することは明らかです。そのため、予防、早期検出、対策を講ずることが欠かせません。

基本的なIDOR脆弱性の予防策は、脆弱性が発生しやすい直接参照を、それに相応する間接参照に置き換えることです。これにより、攻撃の可能性を自動的に低減できます。さらに納得がいかない場合は、安全なハッシュを採用する方法もあり、攻撃者の狙える範囲を狭める効果があります。

ただし、これらの予防策は内部実装を隠すには有用ですが、潜在的なアクセス制御の問題を特定するには不十分です。より高度な対策として、包括的なセッション管理を行えば、IDOR攻撃が成功した場合でも攻撃者が認可されたリソースにアクセスするのを防げます。

FAQ

Open
Why are IDOR vulnerabilities dangerous?
Open
What is OWASP and how does it help prevent IDOR vulnerabilities?
Open
What is an IDOR vulnerability?
Open
What are some examples of IDOR vulnerabilities?
Open
How can I prevent IDOR vulnerabilities?

References

IDOR - Github Cheat Sheet

Testing for Insecure Direct Object References - OWASP

Subscribe for the latest news

Updated:
February 17, 2025
Learning Objectives
Subscribe for
the latest news
subscribe
Related Topics