SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

最新イベントはこちら!

予期せぬ事態に備えよ! クラウドで実現するIT-BCP対策 powered by EnterpriseZine

2024年7月10日(水)オンライン開催

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

中西一博のセキュリティレポート 変化するWeb攻撃 戦いの現場で何が?

【前編】見過ごされていた脅威と増える被害──API特有の脆弱性攻撃の実態と対策

 Webアプリケーションや、スマートフォンアプリ、IoT、サービス間連携などに広く使われるWeb API(Application Programing Interface)がサイバー攻撃の新たな標的として狙われている。いまやデジタル社会の基盤となっているAPIだが、仕組み上、“普段目に触れない” ことから、企業や組織のWebサイトやブラウザベースで表示されるサービスと比べて十分保護されているとは言い難い。そのうえ、Web Application Firewall(WAF)などの一般的な防御策を回避する攻撃手法も横行している。そこで見過ごされてきた弱点、Web APIの脆弱性を利用する攻撃の実態と対策について国内外で起きている具体的な事象などを交え、前後編の2回に分けて現状の認識を改めてみよう。

APIへの攻撃にWAFは有効か?

 Akamaiの最新のGlobalトラフィックの観測では、Web攻撃総数のうち約3割がAPIに対して行われていることが明らかになった。もはやこれは、もう見過ごされたままで良い割合ではない。そこで、Webセキュリティの知見を提供するコミュニティであるOWASPがまとめた、API Security Top10という、Web APIの主なセキュリティリスクを挙げたランキングを見てほしい。図:OWASP API Security Top10 2023【画像クリックで拡大】

図:OWASP API Security Top10 2023【画像クリックで拡大】

 このリストの中には、クラウド型WAFで対策が可能な攻撃も含まれている。たとえば「API4:制限のないリソース消費」は、前回の記事で解説したレイヤ7 DoS(DDoS)の一種としてAPIサーバーやバックエンド処理の過負荷を引き起こして、サービスの機能停止につながる。そのほか、過剰なAPIリクエストに連動して外部サービス利用(たとえば多要素認証用のSMS送信や、空席照会など)の従量制課金がかさんでしまうなど、金銭的な被害に遭うリスクがある。

 一方「API6:機密性の高いビジネスフローへの制限のないアクセス」は、APIリクエストを繰り返してデータベースに格納されている情報を過剰に読み出そうと、アクセスを繰り返したりする行為だ。これらのリスクには、WAFやAPI-GatewayでAPIリクエスト数のレート制御や、レスポンスするレコード数の制限ができれば対策が取れる。

  また「API8:セキュリティの設定ミス」に含まれる、最新の脆弱性パッチが適用されていないプログラムを狙う攻撃に加え、2023年版のTop10ではランク外になってしまった SQLインジェクションや、ローカルファイルインクルージョン(LFI)、クロスサイトスクリプティング(XSS)などの比較的聞き馴染みのあるWeb攻撃も、APIリクエストの形式で依然として数多く試みられていることがAkamaiの最新調査で明らかになっているので、要注意だと言えるだろう。

 これらのタイプのAPIへの攻撃は、リクエストのAPIフォーマットを識別した上で、WAFルールに照合可能な形に整える(パースする)能力を備えているWAFなら検知が可能だ。

API認証・認可に特有の攻撃 「BOLA」 とは?

 さてここで、あらためてAPI Security Top10の上位を見てみよう。すると、認証・認可に関わる脅威が多いことがわかる。実は、APIを標的に絞った攻撃ではAPI認証・認可の脆弱性が真っ先に狙われる傾向がある。

 その中でも最上位の「API1:オブジェクトレベルの認可の不備(BOLA: Broken Object Level Authorization)」はAPI認証・認可に特徴的な脆弱性であり、APIを使うサービスやアプリケーションで頻繁に生じている。BOLAは“本来アクセスが許可されるべきではないオブジェクトへ攻撃者がアクセスできてしまう”といった脆弱性だ。

 次の図では、「システムがユーザーを判別するためにAPIリクエスト中で指定するユニークユーザーID (UUID) を不正に操作することで他人になりすまして認可を突破。本来アクセスできないオブジェクトにアクセスできてしまう」というBOLAの基本的な脆弱性の仕組みを示している。

 不正に操作されたリクエストによってアクセスや操作ができるオブジェクトには個人情報や機密情報が含まれる可能性があるだけでなく、場合によってはIoTなどのデバイス制御を乗っ取られる可能性もある。

図:API1:2023  オブジェクトレベルの認可の不備 (BOLA)のしくみ【画像クリックで拡大】
図:API1:2023 オブジェクトレベルの認可の不備 (BOLA)のしくみ【画像クリックで拡大】

 BOLAは、各社がそのサービス固有のAPIを開発する上でのシステム設計上における仕様の考慮不足や、実装上の見落としなどが原因で起きやすい。基本的な仕組みは単純に見えるため、「果たして開発時にそのような初歩的なミスが起きうるのか」と感じる人もいると思うので、実例を一つ取り上げてみたい。これはドイツ言語圏で使われている、「Scoolio(スクーリオ)」という学習支援アプリで明らかになった脆弱性だ。

図:発見されたBOLAの事例【画像クリックで拡大】
図:発見されたBOLAの事例【画像クリックで拡大】

 本事例では、まず①にて、あるAPIエンドポイントにリクエストを送ると、②で同じ地域に住んでいる500名分のUUID付きのプロファイルのリストをレスポンスとしてスマートフォンアプリが受け取る仕様になっていた。UUIDはアプリの画面に直接表示されることはないが、細工したクライアントなら覗き見ることは簡単にできる。その後、入手したUUIDを③で別のAPIエンドポイントのパラメーターに含めることで、他のユーザーの個人情報や現在位置の情報などを入手することができた。

 この例を見て、本職でプログラミングの経験のある方ほど「これは、ウチのアプリでも起こるかも…」と軽く青ざめるのではないだろうか。よく考えると、アプリを便利にするために良かれと思い実装した機能により、脆弱性が生じた原因ではないかと推測できる。恐らく地理的に近いユーザー間で学習の情報を交換するために、ユニークID付きで500人分のユーザーリストをアプリに返す仕様にしたのではないか。そしてそれを別の人が別の時期に書いたAPIの中で指定すると、一連の攻撃が成立することまで洞察ができなかったのだろう。

 ある程度の規模以上の商用サービスでは、こうしたことが起きやすい。特にマイクロサービス化されたサービスではAPIエンドポイントを、何百、何千と持っている。さらに人気のサービスほど、便利な機能を持つ新しいアプリが日々開発されている。すると新機能に対応しようと、APIも毎日のように実装と更新が行われる。それにともない、新しい仕様やコードの中にスクーリオの例で挙げたような潜在的な脆弱性が日常的に生じていると考えられる。

次のページ
日本で明らかになったAPIの脆弱性

この記事は参考になりましたか?

  • Facebook
  • X
  • Pocket
  • note
中西一博のセキュリティレポート 変化するWeb攻撃 戦いの現場で何が?連載記事一覧

もっと読む

この記事の著者

中西 一博(ナカニシ カズヒロ)

アカマイ・テクノロジーズ合同会社
マーケティング本部 プロダクトマーケティングマネージャー日立グループ全体のセキュリティ設計を担当後、シスコシステムズで、セキュリティ分野のSE、プロダクトマネジャー、製品マーケティングとして従事。現在はアカマイ・テクノロジーズでクラウドセキュリティおよびクラウドコンピュー...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/19339 2024/03/12 08:00

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング