LAC WATCH

セキュリティとITの最新情報

RSS

株式会社ラック

メールマガジン

サイバーセキュリティや
ラックに関する情報をお届けします。

テクニカルレポート | 

Web APIの提供メリットと、抑えるべきセキュリティリスク

診断技術開発グループの山根です。

今やスマートフォンやIoT機器を中心に、日常生活のあらゆる場面でデジタル化が進んでいます。デジタル化の波を担っているのがアプリケーションの存在であり、その中心にあるのがAPIと呼ばれるものです。なかでもWeb APIは、Webサービス事業者にとって自社サービスの拡張と競争力の向上に直結する重要な要素となっています。

当記事では、Web APIを提供する利点と潜在的なリスクについて説明します。

Web APIの概要とその普及の背景

はじめに、Web APIとは何なのか、そしてどのような経緯で普及したのか、について説明します。

Web APIとは何か

Web API(Web Application Programming Interface)は、Webサービスやアプリケーション間でデータをやり取りするためのインターフェイスです。

Web APIとは何か

Web APIはHTTPプロトコルを利用して、クライアントからのHTTPリクエストに対するHTTPレスポンスを返します。これらのリクエストおよびレスポンスには、JSON(JavaScript Object Notation)やXML(Extensible Markup Language)といった形式が広く使われており、異なるプログラム同士が共通のルールに従って互いにやりとりするために利用されます。

スマートフォンアプリの普及とWeb APIの関連性

スマートフォンの普及は、Web APIの重要性をさらに高めました。

例えば、自社で運営しているWebサービスをスマートフォンアプリに対応させるとします。WebサービスがAPI化されていない場合、スマートフォンの各機能の呼び出しに合わせて入出力をカスタマイズして開発する必要があります。一方で、Web APIが事前に用意されていれば、それぞれの機能を実装しなくても既存のWeb APIを利用してデータをやりとりできるため、アプリ開発者は余計な開発を省略でき、複雑なデータ処理を実装する必要がなくなります。

Web APIは現代のスマートフォンアプリ開発の中核を担っており、スマートフォンの普及とともにWeb APIの普及も進んでいます。

Web APIによってサービス間のマッシュアップがどのように進んできたか

Web APIの普及にともない、様々なWebサービスがAPIを活用し、企業が提供する機能やデータを他のサービスに提供しています。これにより、異なるサービスが互いの機能を組み合わせて、新たに価値を生み出す「マッシュアップ」が進んできました。

例えば、地図情報を提供するWeb APIとレビューサイトのWeb APIを組み合わせることで、ユーザにとってより価値のある情報を一つの画面上で提供するといったサービスが生まれています。

Web APIがどのように企業や組織に利益をもたらすか

昨今では、企業や組織がWeb APIを提供することは珍しくありません。Web API提供側が得られるメリットについて解説します。

エコシステムの形成・開発者コミュニティの拡大

企業が自社サービスのWeb APIを公開することで、外部の開発者はそのAPIを利用して新たなアプリケーション開発が可能となります。例えば、ChatGPTで今大きな話題となっているOpenAIもWeb APIを提供しており、開発者がAPIを用いたチャットボットなどのアプリケーションを開発し、それらをユーザに提供するための機会を広げています。

API リファレンス - OpenAI API

また、Web APIの公開は開発者コミュニティの形成および拡大にも一役買っています。開発者コミュニティの拡大は、企業のサービス改善や新たなビジネスチャンスの創出にもつながることでしょう。

データ形式が統一されていることによる、マルチデバイスやクロスプラットフォームでの開発の効率化

Web API登場以前はスクレイピング(Webサイト上のデータを取得し、必要な情報を抽出すること)を行い、HTML形式の応答を言語ごとに解釈するプログラムを作る必要がありました。

Web APIでは、取り扱うデータ形式はJSON(もしくはXML)のようなプログラムで扱いやすく簡潔な形で提供されるため、異なるデバイスやプラットフォーム間でも同じAPIを利用して開発を行えます。自社サービスをiPhoneやAndroidなど複数のデバイスに対応させる際、Web APIの基盤があればAPIサーバとJSONをやりとりする部分のみの開発に注力できます。

データ形式が統一されていることによる、マルチデバイスやクロスプラットフォームでの開発の効率化

Web APIを用いることで開発の効率化が図られ、様々なデバイスやプラットフォームで同じサービスの提供が容易になります。

このように欠くことができないほど重要なWeb APIですが、開発者の方やプロジェクト責任者の方にぜひ知っていただきたいことは、セキュリティ対策の重要さです。

自社サービスのWeb APIを提供するうえで抑えておきたいセキュリティリスク

Web APIを提供する際、どのようなセキュリティリスクが生じるのでしょうか。ここでは3つのリスクを取り上げます。

情報漏えいの問題

Web APIを提供するうえでまず重要になってくるのが、情報漏えいの問題です。APIを作って公開したものの、実はその応答に開発者が意図しない重要情報が含まれていたというケースは少なくありません。

例えば、IDを指定して他人のユーザ名を取得するAPIの応答にユーザ名だけでなく、住所や電話番号を含まれてしまっていたという事態が考えられます。

APIを設計する段階で、期待する入力と出力の要件を決めておくことが重要です。

リソース消費の問題

リソース消費の問題も忘れてはいけません。Web APIを提供することでサービス利用者にとってサービスが使いやすくなる反面、負荷の大きい処理を大量に実行されるなどの攻撃が行われるリスクも生じます。

具体的には下記のリスクが生じるため、適切なリソース制限を設けて対策しましょう。

  • 大量アクセスによるCPUリソースの枯渇
  • 大容量ファイルのアップロードによるストレージの枯渇
  • SMS認証の大量実行による料金の超過
  • ワンタイムパスワードの総当たりによる認証突破

社員が勝手に作成してしまうWeb API(野良API)の問題

組織内で制御されていないWeb API(野良API)が存在すると、たとえ組織全体のセキュリティポリシーを整備していたとしても、野良APIを介して情報漏えいや不正アクセスのリスクが生じます。APIの管理と利用に関する明確なガイドラインを設け、適切な監視と管理を行うことが重要です。

社員が勝手に作成してしまうWeb API(野良API)の問題

Web APIセキュリティに興味を持った方へ

Web APIを提供する利点と潜在的なリスクについて簡単に紹介しました。

ここで、「自社サービスのAPIセキュリティ対策についてもっと知りたい」という方に朗報です。この度ラックは、「自社サービスのAPIを提供したい」という開発者やプロジェクト責任者に向けたAPIセキュリティのホワイトペーパーを作成しました。

本記事と併せてこちらのホワイトペーパーに目を通していただくことで、APIセキュリティへの理解を深めていただければ幸いです。

Web APIセキュリティ
~抑えるべきポイントと開発時のセキュリティ対策~
ダウンロード

この記事は役に立ちましたか?

はい いいえ

関連記事

LAC WATCH

関連記事をご紹介します

  • 【セキュリティ診断員が解説】1分で簡単に最適なセキュリティ診断サービスをご提案します

  • 【セミナーレポート】これからのアプリケーション開発のセキュリティ対策を考える

  • セキュリティ診断だけでは不十分?安全なWebアプリケーション開発で最も大事なこと