01 APIとは何ですか?
Baidu Encyclopedia には API の定義が記載されています。
API (アプリケーション プログラミング インターフェイス) は、事前定義された関数のセット、またはソフトウェア システムのさまざまなコンポーネントを接続するための規約です。その目的は、アプリケーションや開発者が、ソース コードにアクセスしたり、内部動作の詳細を理解したりすることなく、ソフトウェアまたはハードウェアに基づく一連のルーチンにアクセスできる機能を提供することです。
簡単に理解すると、API は顧客にサービスを提供する方法です。企業またはデータセンターが顧客に API を提供する場合、それは顧客が専用の URL チャネルのセットを確立していることを意味し、サービスは応答後に純粋なデータを返します。
多くの場合、API 自体をサービス モデルにパッケージ化できます。たとえば、Weather Underground は自社の気象データ API へのアクセスを他社に販売しており、Huawei も、無料の API リクエスト数を超えて料金を支払う必要がある API サービスのサービス モデルを持っています。
API インターフェースはデータ共有とオープン性の基盤であり、デジタル化の進展に伴い、ますます多くの企業やデータセンターがサービスをデータインターフェースにカプセル化し、サードパーティが使用できるようにオープン化しています。
一般に、API インターフェイスは、オープン API、パートナー指向 API、内部 API の 3 つのカテゴリに分類されます。表 1 に示すとおり。
APの種類 |
導入 |
オープンAPI |
オープン API とは、呼び出し元が API プロバイダーと協力関係を確立する必要がなく、パブリック ネットワークにオープンで、パブリック呼び出しが可能なアプリケーション プログラム インターフェイスを指します。 |
パートナー向けAPI |
パートナー指向 API は、組織と外部パートナーおよびユーザー間のデータ対話、通信、システム統合のためのアプリケーション プログラム インターフェイスを指します。 |
内部API |
内部 API は組織内でのみ使用され、さまざまな内部システムとアプリケーション間の呼び出し関係を調整するために使用されるアプリケーション プログラミング インターフェイスです。 |
表 1: API の分類
オープン API (OpenAPI) は、開発者によって最も使用されるカテゴリです。標準化や汎用性などの利点により、迅速なサービスが必要なサービス シナリオで常に使用されています。オープンデータ共有の時代では、API を回避して情報システムやアプリを構築できる人はほとんどいません。
API は共有とオープン性の基盤です。図 1 に示すように、API の主な価値は次の 3 つの点に要約できます。
-
オープンなデータ共有により、より正確に顧客にアプローチし、より充実したサービスを提供できるようになります。
-
APIインターフェースの集約により、アプリケーションシナリオとビジネスモデルの変革を実現
-
APIインターフェースを通じて大量のデータに素早くアクセスし、データの価値を高める
図 1 API は共有とオープン性の基盤です
02 APIインターフェースが直面する主なリスク
次の 8 つの API インターフェイスのセキュリティ リスクには注意が必要です (図 2)。
図 2 API インターフェースが直面する主なリスク
以前は、アプリケーションをファイアウォールの背後に安全に隠すことができました。現在、API はエンタープライズ アプリケーションの鍵となっており、アプリケーションの機能をよりリッチかつダイナミックなものにし、デジタル トランスフォーメーションによりデータは常に接続され、API はデータの重要な循環リンクとなっています。これは良いことですが、同時に API は攻撃対象領域を増やし、ファイアウォールによる保護がなく、誤って公開されることがよくあります。
API インターフェイスによって送信されるデータの種類は複雑で変更可能であり、一部のインターフェイスには機密性の高いビジネス データや個人のプライバシー データが含まれます。ひとたび漏洩や盗難が発生すると、企業は多大なコンプライアンスリスクや機密データ漏洩のリスクに直面することになります。多くの重大なデータ侵害の背後にある理由は、API が侵害、漏洩、または攻撃されたことです。
03 APIセキュリティの一般的なソリューション
2019 年に、OWASP は API セキュリティに関するトップ 10 プロジェクトを発表しましたが、API セキュリティの範囲が広いため、多くの一般的なセキュリティ問題は含まれていませんでした。
APIセキュリティ市場は比較的初期段階にあり、国内にAPIセキュリティを専門に扱うメーカーは多くありませんが、市場の観点から見ると、APIゲートウェイソリューションとデータフロー分析に基づくAPIセキュリティソリューションの2つに大きく分けられます。
1. APIゲートウェイソリューション:
通常の解決策は、オンプレミスとクラウドの両方の展開に API ゲートウェイをセットアップし、データ センターにホストされたサービスとして提供させることです。
残念ながら、すべての API ゲートウェイが良いアイデアであるわけではありません。現在市場に出回っているほとんどのプロキシ API と API ゲートウェイは、それらのいくつかを解決することしかできず、これらのリスクに対する包括的な保護を提供することはできません。
もちろん、API ゲートウェイには利点もあります。API ゲートウェイを介してすべての API トラフィックをプールすることで、基本的なセキュリティ ポリシー (暗号化、認証、アクセス制御など) が完全に実装されていることを確認できるだけでなく、負荷分散などのポリシーも実装できます。そしてDDoS保護。
これは理想的な選択のように思えますが、現実は非常に痩せています。
まず、プロセス全体は、データセンターによって公開されるすべての API ディレクトリを含む API ディレクトリを作成することから始める必要があります。しかし、特に新しいサービスが数日、場合によっては数時間以内に展開される、急速に更新が繰り返される今日の時代では、カタログを更新し続けることは困難な場合があります。
次に、トークンを使用して各 API を識別し、データとサービスへのアクセスを制御します。認可トークンを持たない開発者は、新しい API を公開できません。しかし、一部の企業の実践を見ると、開発者全員を巻き込むのは想像以上に難しいかもしれません。
第三に、API ゲートウェイをマネージド サービスとして提供することは素晴らしいアイデアですが、データ センターは顧客にそれを強制することはできませんし、強制することもできません。
4 番目に、単一障害点と中央ゲートウェイの遅延は、API ゲートウェイでは回避できない隠れた危険であり、データセンターの複雑さと管理オーバーヘッドを増大させます。何千ものエンタープライズ API が API を介して通信しているため、単一障害点と遅延が存在することは悪夢です。
2. データフロー分析に基づくAPIセキュリティソリューション
AI技術と小規模サンプルの深層学習を使用してAPIのアクセス動作とトラフィックを分析し、APIのさまざまな異常なアクセス動作を発見します。データ フロー分析に基づくこのタイプの API セキュリティ ソリューションは、あらゆるシナリオで動的保護を実現でき、図 3 に示すように、主に 4 つのカテゴリが含まれます。
図 3 API のフルシナリオの動的保護
不正な呼び出しの保護:主に、不正な API 呼び出しの防止、API セキュリティ検証メカニズムの検出、API 不正アクセスの特定、トラバーサル検出などが含まれます。
悪意のあるアクセス保護:主に、API インターフェイスのアクセス動作の継続的な監視、API インターフェイス攻撃アクセスの特定などが含まれます。
データ漏洩の防止:主に、機密データを送信するための API インターフェースの監視、範囲外での機密データの取得の防止などが含まれます。
悪用防止:主に、API インターフェイスの高頻度アクセス動作の監視、API インターフェイスのデータ クローリング動作の特定、高特権アカウントの異常なアドレス アクセス、API インターフェイスのデータ集計分析動作の特定などが含まれます。