OAuthによる「SNSアカウントでログイン」実装を危険にしないための注意点:APIの取り扱いミスが引き起こす問題【後編】
ソーシャルメディアのアカウントを使ったログイン機能は、正しく実装しなければユーザーのデータ流出を招きかねない。宿泊施設予約サイト「Booking.com」で見つかった脆弱性を例に、その危険性と対策を解説する。
「OAuth」(Open Authorization)は、ソーシャルメディアのアカウントを介してWebサイトにログインする際の、アクセス権限を認可するプロトコルとして利用が広がっている。
こうした普及はさまざまなWebサイトに利便性をもたらす一方で、広範に影響を与え得る脆弱(ぜいじゃく)性の温床にもなりかねない。例えば宿泊施設予約サイトBooking.comのOAuth実装には、重大な脆弱性が存在していた。発見したのは、API(アプリケーションプログラミングインタフェース)セキュリティベンダーSalt Securityの研究部門であるSalt Labsだ。
危ない実装とAPIが及ぼす影響
併せて読みたいお薦め記事
連載:APIの取り扱いミスが引き起こす問題
危険なAPI
Salt Labsの調査員は、Booking.comの脆弱性に関する技術的な詳細情報とその悪用方法を公開している。その悪用方法は、3つのセキュリティギャップ(システムの脆弱性や実装上の不備、人為的ミスなどのセキュリティ問題の総称)を連携させてアカウント奪取を達成するものだ。以下にSalt Labsの解説を引用する。
ここで取り上げたのは、3つの小さなセキュリティギャップを組み合わせた攻撃手法です。1つ目のセキュリティギャップは、連携先を指定する「redirect_uri」という変数に対して、攻撃者が任意のアドレスを指定できるというものです。この解説では、この1つ目のセキュリティギャップに焦点を当てています。
Facebookをはじめ外部サービスとのアカウント連携を実装する場合、連携先のアドレスをハードコーディング(ソースコード内に直接記述)することが重要です。例えば「Facebook」アカウントと連携させる場合は、redirect_uriの値をハードコーディングしておく必要があります。
Salt Securityが2022年8月に公開した調査レポート「State of API Security Q3 2022」は、同社の顧客企業350社以上に対する聞き取り調査の結果をまとめたものだ。それによると2021年7月から2022年7月にかけて、同社の顧客が受け取ったAPI呼び出しの総件数は168%増加した。そのうちAPI攻撃の件数も、117%増加した。
この増加傾向の中、API関連のインシデントが目立っている。一例が2022年9月に発覚した、オーストラリアの通信会社Singtel Optus(以下、Optus)に対する攻撃だ。このインシデントで攻撃者は、インターネットに公開された脆弱なAPIを攻撃することで、以下を実行した。
- 1100万人以上の顧客情報の窃盗
- 氏名
- 住所
- 生年月日
- 電話番号
- メールアドレス
- 運転免許証番号
- パスポート番号
- 身代金の要求
Optusのインシデントは極めて広範に影響を及ぼした。そのためオーストラリア政府は、通信セキュリティに関する規則の改正を計画している。
Computer Weekly発 世界に学ぶIT導入・活用術
米国TechTargetが運営する英国Computer Weeklyの豊富な記事の中から、海外企業のIT製品導入事例や業種別のIT活用トレンドを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.