APIとは何か(1)~基本概念とセキュリティの重要性~

Share

APIは、システム間のデータや機能のやり取りを円滑にするために欠かせない技術です。しかし、その利便性の反面、APIのセキュリティリスクも増大しています。本シリーズでは数回にわけて、APIの本質的な役割から、セキュリティリスクとその対策までを解説していきます。シリーズ第1回目の今回は、APIの基本的な定義から、その仕組みや連携方法、そしてセキュリティ上の課題について学びます。

APIとは

API(Application Programming Interface:アプリケーション・プログラミング・インターフェース)とは、ソフトウェアの機能を他のプログラムでも利用できるようにするための仕組みです。APIは、アプリケーションやサービスが外部のプログラムと情報や機能を共有する際の「インターフェース」として働き、異なるプログラム同士の連携を可能にします。例えば、地図情報を提供するアプリがAPIを利用して他のアプリに地図データを提供することで、ユーザは別のアプリ内でもその機能を活用できるようになります。

APIの仕組み -API連携とは-

ソフトウェアやアプリ、プログラム同士を、APIを介して機能連携させるのが「API連携」です。あるソフトウェアに他のソフトウェアの機能を埋め込むイメージです。API連携によってソフトウェア同士が相互にデータと機能を共有できるようになります。

【APIの活用例】

社内業務システム : チャットAPIを活用してコミュニケーション
会員サービスサイト : SNSアカウント認証APIでログイン
ネットショップ : クレジットカード・認証APIで決済
飲食店サイト : 地図情報APIで店舗位置情報表示 × 予約受付APIで予約対応

APIのセキュリティ

APIは異なるソフトウェア間の通信を可能にしますが、同時に攻撃者にとっての格好の標的にもなり得ます。そのため、APIを利用する企業やアプリケーション開発者にとってAPIのセキュリティ対策は重要な課題です。セキュリティリスクは他のプログラムやサービスと機能やデータを共有しているAPI特有の仕組みから生じます。APIが不適切に設計・管理されていると、未認証のアクセス、データ漏洩、機密情報の不正取得といったリスクが高まります。以下は、APIセキュリティに関する主なリスクの例です。

  • データ漏洩: APIを通じて個人情報や機密情報が漏洩するリスク
  • 不十分な認証:認証要素が不十分なことによる不正アクセスのリスク
  • サイバー攻撃:標的型攻撃、インジェクション攻撃やDoS攻撃などのサイバー攻撃を受けてしまうリスク
  • APIキーの窃取: APIキーが盗まれることによる不正利用のリスク

APIのセキュリティはなぜ重要なのか

スマートフォンやIoT端末の普及に伴い、様々なAPIが利用されるようになりました。SNS事業者が提供するAPIサービスやスマートフォン向けのAPIサービスがあるほか、複数のSaaSのAPIを連携させるサービスも登場しており、私たちを取り巻くあらゆるサービスで幅広く提供されています。このため、APIをターゲットにした攻撃も増加しています。
(※APIを悪用した攻撃についてはシリーズ第2回目で解説します。)

APIセキュリティが重要視される理由は、現代社会においてAPIがデータや機能の共有に不可欠な役割を果たしているためです。APIを通じてやり取りされるデータや機能は、悪意のある攻撃者に狙われる可能性があり、適切なセキュリティ対策がなければ、情報漏洩やシステム侵入のリスクが増大します。特に、認証や認可の不備、暗号化の欠如が原因で、機密データが外部に漏れるケースが多く見られます。また、APIは外部に公開されることが多いため、DDoS攻撃やボットによる過負荷のリスクも存在します。したがって、APIの設計段階からセキュリティを考慮し、定期的な監視や脅威の検知を行うことが、システム全体の安全性を保つために不可欠です。

また、企業やアプリケーション開発者にとっては、信頼性と顧客データ保護に直結する重要な要素でもあります。適切なセキュリティ対策を講じることで、データの改ざんや不正アクセスを防ぎ、システムの安全性を確保することができます。

まとめ

(Application Programming Interface:アプリケーション・プログラミング・インターフェース)とは、ソフトウェア間で機能や情報を共有するための仕組みであり、異なるプログラム同士を連携させます。APIは、地図情報の提供やSNSアカウントの認証など、さまざまな用途で活用されており、現代のデジタルサービスには欠かせない存在です。しかし、APIはその便利さの反面、攻撃の標的にもなりやすく、セキュリティの観点から注意が必要です。APIの不適切な設計や管理は、データ漏洩、不正アクセス、サイバー攻撃のリスクを高めます。特に、認証や認可の欠如、適切に暗号化がされていないことなどにより機密情報が漏れる恐れがあります。また、外部に公開されるAPIはDDoS攻撃やボットのターゲットになることもあります。そのため、企業のセキュリティ担当者やアプリケーション開発者はAPIのセキュリティ対策を講じ、定期的な監視や脅威の検知を行うことが不可欠です。これにより、信頼性を維持し、顧客データの保護が可能となります。

Security Report TOPに戻る
TOP-更新情報に戻る


資料ダウンロードボタン
年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
お問い合わせボタン
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像

APIのセキュリティ
―Webアプリでもスマホアプリでも安全なAPI活用を―

Share

APIはAI、IoT、モバイル、クラウド利用において今や必要不可欠です。利便性があり、利用者も増える一方で、APIを狙ったサイバー攻撃の数も増加傾向にあります。本記事では、APIとは?API連携の仕組みやスマホアプリとの関連、活用のメリットについて触れつつ、APIのセキュリティ対策の一つとして、脆弱性対応の方法ついて解説します。

APIとは

APIとは「Application Programming Interface」の略です。プログラムの機能をその他のプログラムでも利用できるようにするための仕組みです。

ソフトウェアやアプリ、プログラム同士を、APIを介して機能連携させるのが「API連携」です。あるソフトウェアに他のソフトウェアの機能を埋め込むイメージです。API連携によってソフトウェア同士が相互にデータと機能を共有できるようになります。

APIとはの概要図

【APIの活用例】

社内業務システム : チャットAPIを活用してコミュニケーション
会員サービスサイト : SNSアカウント認証APIでログイン
ネットショップ : クレジットカード・認証APIで決済
飲食店サイト : 地図情報APIで店舗位置情報表示 × 予約受付APIで予約対応

API活用のメリット

APIには、以下のようなメリットが考えられます。

API活用のメリットの概要図

Web API

「Web API」は、HTTPやHTTPSといったWeb技術により実現される、インターネットを介して情報をやりとりするAPIです。連携するAPI同士が異なるプログラミング言語で構築されていても通信でき、Webブラウザ上でも稼働するWeb APIは汎用性が高く、最も多く活用されているAPIです。

複数のWeb APIを組み合わせて新しいサービスを生み出す”マッシュアップ”が多く行われており、多くの人々が、日々その恩恵を受けていると言えるでしょう。インターネット上には膨大な数のWeb APIが公開されており、今後もマッシュアップは続くものと考えられます。

スマホアプリとAPI

Web APIは、Webアプリケーションばかりでなく、スマートフォンアプリ(スマホアプリ)でも多く活用されています。

例えば、経路案内アプリでは交通機関・運賃・時刻等の情報を的確に検索してくれるAPIが、家計簿アプリでは電子マネーによる決済やクレジットカード決済などの情報を取得して計算してくれるAPIが使用されています。

スマホアプリは、外部との通信をせずにスマホ端末単体で動作するものよりも、インターネットに接続しながら使用するものが圧倒的に多く、ユーザが利用している画面の裏でインターネットを介してサーバとのやりとりが行われており、そこでWeb APIが稼働しているのです。

スマホアプリとAPIの概要図

スマホアプリのセキュリティについて、SQAT.jpでは以下の記事で解説しています。こちらもあわせてご覧ください。
SQATⓇ 情報セキュリティ瓦版「攻撃者が狙う重要情報の宝庫! ―スマホアプリのセキュリティ―

増え続けるAPI活用

国をあげてDXの取り組みが推進されている昨今、AI、IoT、モバイル、クラウド利用において、APIの積極的な活用は不可欠です。

クラウド環境上で動作するアプリ、クラウドネイティブアプリケーションを例にとると、APIを使用している割合は高く、今後さらに増大することが予想されるとの調査結果があります(下図)。

APIに対するセキュリティ脅威

利便性が高いAPIですが、利用が増えれば、そこに存在する様々なデータを攻撃者が狙ってきます。APIに対するセキュリティ脅威の例は以下のとおりです。

APIに対するセキュリティ脅威の概要図

APIによって機能や取り扱う情報はそれぞれですが、金融情報のような資産に紐づくデータ、医療情報のような機微情報に関するデータなど、流出して悪用されると深刻な被害につながりかねません。APIを開発・利用する上で、セキュリティは必ず考慮する必要があるということです。

APIのセキュリティ脅威について、SQAT.jpでは以下の記事でも解説しています。こちらもあわせてご覧ください。
SQATⓇ 情報セキュリティ玉手箱「APIのセキュリティ脅威とは

APIを狙ったサイバー攻撃の増加

APIに対する攻撃は増加傾向にあるとの観測結果が報告されています(下グラフ)。

APIを狙ったサイバー攻撃の増加の概要図

なお、このグラフで多くの割合を占めている「ローカルファイルインクルージョン」は、攻撃者が対象システムのローカル上のファイルを読み込ませることで、領域外のファイルやディレクトリにアクセスできるようにしてしまう脆弱性です。情報漏洩、任意のコード実行、認証回避、DoS(サービス運用妨害)などの被害につながる恐れがあります。攻撃されたAPIサーバを「踏み台」とした内部/外部ネットワークへのさらなる攻撃やマルウェア感染などが想定されるため、危険度の高い脆弱性と言えます。

また、100ヶ国を対象にしたアンケート調査では、API攻撃による情報漏洩を経験している組織が90%以上にのぼるとの結果も報告されています(下グラフ)。

APIを狙ったサイバー攻撃の増加の概要図(アンケート調査)

OWASP API Security Top 10

APIセキュリティについて、Webアプリケーションセキュリティに関する国際的コミュニティであるOWASP(Open Web Application Security Project)が、2023年6月に「OWASP API Security Top 10 2023」をリリースしています。APIセキュリティにおける10大リスクをピックアップして解説したもので、今回は2019年の初版リリースから4年ぶりの第二版となります。

APIのセキュリティ対策

ここまで見てきたAPIセキュリティ脅威を踏まえると、以下のようなポイントにおいて脆弱でないことが重要と考えられます。

APIのセキュリティ対策のポイント図

開発中、リリース後、更新時といったいかなる状況においても、適切な脆弱性管理・対応ができているかどうかが、鍵となります。

APIのセキュリティ対策の概要図

APIの開発にあたっては、DevSecOpsを適用して脆弱性を作り込まないようにすること、APIリリース後も、新たな脆弱性が生まれていないか、APIセキュリティ診断などを通じて確認を継続することが重要です。

また前段の「スマホアプリとAPI」でも述べたように、APIはスマホアプリでも多く活用されています。誰もがスマートフォンを利用している今、攻撃の被害が多くの人々に影響を及ぼす可能性があるからこそ、スマホアプリにおいて次の攻撃につながる情報が漏洩したり、スマホアプリの改竄が行われたりする可能性を摘んでおくことが、スマホアプリを提供するうえで重要となります。スマホアプリのセキュリティ対策の一つとしては、信頼できる第三者機関による脆弱性診断の実施があげられます。第三者の専門家からの診断を受けることで、網羅的な確認ができるため、早急に効率よく対策を実施するのに役立つでしょう。

BBSecでは

スマホアプリ脆弱性診断

悪意ある第三者の視点で、対象アプリに影響を及ぼす恐れのある脅威と関連リスクをあぶり出します。実機を使った動的解析とAPK(Android)・IPA(iOS)ファイルの静的解析を実施します。

スマホアプリ脆弱性診断バナー

Webアプリケーション脆弱性診断

また、APIを含むWebアプリケーションに対する脆弱性診断サービスを利用して、第三者視点から、自組織のシステムで使用されているAPIのセキュリティを定期的に評価することもお勧めします。弊社診断エンジニアによる、より広範囲で網羅的な診断を検討している方は、手動で診断する、「Webアプリケーション脆弱性診断」がおすすめです。

Webアプリケーション脆弱性診断バナー

ウェビナー開催のお知らせ