APIセキュリティとは?API連携のリスクと対策をご紹介
はじめに
この記事ではAPIを悪用した攻撃の種類やAPIセキュリティの具体的な対策についてご紹介します。
APIセキュリティとは
APIとは
API(Application Programming Interface)は、ソフトウェアやプログラム、Webサービスを連携させて利用するための仕組みです。APIには、OSにあらかじめ組み込まれている「ネイティブAPI」やプログラミング言語がもつ「ライブラリAPI」「ランタイムAPI」、Web上で使えるWeb APIがあります。この記事では、Web APIについて記載します。
APIを用いれば外部の機能やサービスを利用でき、開発の手間やコストを少なくしてアプリケーション等に新たな機能を追加することが可能です。これを一般にAPI連携といいます。たとえば地図を表示するAPIを用いると、アプリケーションで地図を表示させ、さらにユーザーが地図を移動させるなどの機能を追加できます。
現在では多くのWebサイトやWeb上のサービスがAPI連携を利用して機能しています。
APIセキュリティが必要な背景
API連携を行うと外部から機能・サービスにアクセスできますが、その反面悪意あるアクセスも可能となってしまいます。そのためAPIの脆弱性や認証を狙ったAPI攻撃がアプリケーションにとって脅威となります。攻撃の結果、情報漏えいやシステムダウンが起こる可能性もあるため、APIセキュリティ対策はWebアプリケーションのセキュリティとともに重要です。
APIセキュリティは、Web アプリケーションと API の保護を行うサービス群「WAAP」のコア機能となっています。詳しくは下記記事をご参照ください。
参考コラム:WAAPとは?多様化するサイバー攻撃を防ぐためのセキュリティ対策を解説 |
APIを悪用した攻撃
APIを悪用した攻撃にはどのようなものがあるでしょうか。
インジェクション攻撃
APIにおけるインジェクション攻撃は、APIの脆弱性を突いてAPIにアクセスし、意図しない処理を実行させるものです。代表的なインジェクション攻撃には、「SQLインジェクション」や「クロスサイトスクリプティング」があります。
SQLインジェクション
データベースへの命令文であるSQLで不正なコマンドを送信し、データを漏えいさせたり予期しない動作を実行させたりする攻撃です。
クロスサイトスクリプティング
Webアプリケーションの脆弱性を利用して、不正なスクリプトが埋め込まれる攻撃です。ユーザーがアクセスしたときに不正なスクリプトが実行され、偽のページが表示されたり、ユーザーのブラウザに保存されているCookieを取得されたりします。
認証を悪用した攻撃
APIがもつ通信を認証する仕組みを悪用し、不正アクセスを狙う攻撃もあります。
アカウント・テイクオーバー(ATO)攻撃
窃取したユーザー情報を利用したり、ユーザーやパスワードの組み合わせを試行したりするなどして認証を突破し、ユーザーになりすます攻撃です。
APIキーの不正利用
APIキーとは、クライアントからの通信を識別するための一意の文字列です。サービス提供者側は、APIキーでユーザーの識別や承認を行えます。このAPIキーが漏えいして不正利用されると、制限なくAPIにアクセスできるようになってしまいます。
DoS攻撃・DDoS攻撃
過剰なアクセスを行い、サービスを遅延させたりダウンさせたりする「DoS攻撃」「DDoS攻撃」のなかには、APIに対する攻撃もあります。APIへの攻撃に対する軽減策のうち、3分の1(33%)は、DDoS攻撃のブロックという調査もあることから、頻度の高さがうかがえます。
参考:Cloudflare 2024年APIセキュリティおよび管理データレポート|Cloudflare
APIセキュリティの具体的な対策
APIセキュリティの具体的な対策のうち、代表的なものをご紹介します。
レート制限
APIのリクエスト回数に上限を設定することをレート制限といいます。レート制限でリクエスト数が上限を超えると、そのリクエストを破棄またはブロックすることが可能です。
レート制限の基準にはいくつかあり、ユーザーに対する制限のほかにロケーション、サーバーを基準として決められる方法があります。
DDoS攻撃の低減
DDoS攻撃の過剰なリクエストを低減するには、CDNの利用が有効です。
CDNとは、Webサイトのコンテンツを世界中に分散した配信拠点(キャッシュサーバー)にコピーし、オリジナルサーバーの代わりにキャッシュサーバーからコンテンツを配信する仕組みです。キャッシュサーバーによってアクセス集中による負荷が低減されるため、API攻撃の低減にもつながります。
CDNについて詳しくは下記記事をご参照ください。
参考コラム:CDNとは?CDNの基本からメリット・デメリット、業者選定のポイントを解説 |
監視
API攻撃は、発見が遅れればその分システムへのダメージが大きくなります。Webアプリケーションのセキュリティを推進することを目的とした非営利団体「OWASP」の調査では、侵害を検出するまで200日以上かかるとの結果を示しています。したがって、監視は攻撃を早期発見するために必要であり、イベントログを綿密に監視することが有効です。
認証の強化
APIキーの認証の際には、TLSを使って暗号化が行われます。TLSはクライアント‐サーバー間の通信を暗号化し、TLS証明書を用いてサーバー側で認証できるようにするプロトコルです。
さらに上位の機能をもつ相互TLS認証(mTLS)もあります。mTLSは、クライアント側・サーバー側の両方がTLS証明書を所有し、相互に認証する方式です。双方向で安全かつ信頼できる通信を実現できるため、クライアント‐サーバー間の通信傍受やなりすましを防ぐことができます。APIにおいても、悪意のあるAPIリクエストを送信できなくなります。
CloudflareのAPI Gateway
Cloudflareでは、APIトラフィックの受け入れや管理を行うAPI Gatewayサービスを提供しています。「Cloudflare API Gateway」は、OWASPが公表している、「OWASP APIトップ10の脅威」を防ぎます。
API Gatewayの主なセキュリティ機能は下記が挙げられます。
・mTLS証明書
・データ損失防止(DLP)、機密情報のチェック
・レート制限
・DDoS攻撃の軽減
・スキーマの検証(※リクエストの本文やパス、クエリおよびその情報を掲載するフォーマットが正しいかどうかを検証する機能)
APIセキュリティについてのご相談はアクセリアへ
Cloudflareを用いたCDNサービス「Solution CDN」では、DDoS対策をはじめとするセキュリティ対策を提供。海外製品であるCloudflareの導入を、専門知識を有する日本人エンジニアがサポートします。企業や組織の事情に合ったご提案が可能で、APIセキュリティも含む包括的なセキュリティ対策WAAPについてもご相談を承っています。詳しくは下記をご参照ください。
まとめ
サービスにご興味をお持ちの方は
お気軽にお問い合わせください。
Webからお問い合わせ
お問い合わせお電話からお問い合わせ
平日09:30 〜 18:00
Free Service