APIの脆弱性に関する統計は数多く存在します。インターネットで簡単に検索すれば、ユーザーが興味を持つほぼすべての視点を取得することができます。言うまでもなく、API攻撃は増加しており、その一部は成功しているという現実があります。
多くの組織が、社内に存在するすべてのAPIを特定することに苦労しています。これは、APIがコア、クラウド、エッジにまたがっているためだけでなく、Open API仕様(OAS)以外に、APIを定義するための標準が実際には存在しないからです。このため、APIの設計や設定が複雑になり、セキュリティの確保が難しくなっています。
標準が存在したとしても、それだけでAPIのセキュリティを確保するのは難しいのが現実です。APIという用語は非常に包括的であり、例えばOpenTelemetry APIは、単に「OpenTelemetryの機能を開発者が利用できるようにする」ための手段に過ぎません。理想的には、OpenTelemetry API全体をカバーするセキュリティポリシーがあることが重要ですが、現実にはAPIエンドポイントごとに個別のセキュリティポリシーを設定する必要があります。
このように、APIのセキュリティを確保するためには、クライアントとサーバー間での認証や、適切なセキュリティポリシーの設計と実行が重要です。APIの安全性を高めるための方法を常に模索し、適切な対策を講じることが求められます。
以下詳しく解説していきます。
今のところ、生成AIに対する関心が高まっているため、例としてOpen AI APIを使用しましょう。
最初に気付くことは、APIが「1つ」しかないにもかかわらず、多くのエンドポイントがあるということです。いくつか?この数字は新しい機能が導入されるたびに変化します。
ここに(包括的なリストではない)いくつかの例を示します:
· https://api.openai.com/v1/chat/completions
· https://api.openai.com/v1/audio/speech
· https://api.openai.com/v1/audio/transcriptions
· https://api.openai.com/v1/audio/translations
· https://api.openai.com/v1/embeddings
· https://api.openai.com/v1/fine_tuning/jobs
· https://api.openai.com/v1/files
マルチモーダル生成AIは、メディア(オーディオおよびビデオ)をコンテンツタイプのリストに追加しますが、処理リクエストを処理するための新しいエンドポイントも追加します。また、ツールの使用などの追加機能により、エンドポイントの数が増える場合があります。すべての進歩、すべての新しい機能に私たちが興奮している間に、通常、APIに別のエンドポイントが追加されます。
また、それらのエンドポイントに「v1」があることにも注目してください。これは、v2が登場すると、これらのエンドポイントをカバーする別のセキュリティポリシーが必要になることを意味し、そのエンドポイントの実際の変更に基づいて一部のポリシーが変更される必要があります。
これは、ITスタックでも存在し、デバイスAPIを介した自動化が行われています。エンドポイントの数は、大部分が環境に依存します。管理対象のデバイスが増えれば増えるほど、より多くのエンドポイントを管理し、保護する必要があります。そして、2つのデバイスが同じAPIを使用することはないということを忘れないでください。それは、クレイジーですよね?2つのクラウドプロバイダーが同じAPIを使用することに同意しているようなものです。おそらくこれが、さまざまな運用タスクを自動化しない最大の理由として依然として「複雑さ」が挙げられる理由です。ツールや API が多すぎると、自動化が難しくなり、セキュリティを確保することもさらに難しくなります。
しかし、APIセキュリティは、これらすべてのエンドポイントに対処する必要があります。これらのエンドポイントは攻撃者の侵入手段であるためです。また、各エンドポイントには、最終的にJSON(またはXMLまたはGraphQLまたは<insert format here>オブジェクト)としてペイロードに含まれるさまざまなパラメーターのセットが必要です。各パラメーターに含めることができる内容には制限が必要です:英数字ですか?文字ですか?値の範囲ですか?それはどれくらい長くてもよいですか?許可されていない文字は何ですか?この情報は、内容がどのように見えるかを強制するポリシーに変換され、それによって攻撃の侵入を防ぎます。
ただし、Open AI APIだけのポリシーを構築するには時間がかかります。それはただの1つのAPIにすぎません。私たちの予定の2024年の研究によると、ほとんどの組織には平均して442.8個のAPIを持っており、非常に大きな組織にとってはその数は急増します。それがどれだけのエンドポイント(およびエンドポイントのバージョン)を意味するかを考えると、APIセキュリティが非常に困難である理由がすぐに明確になります。
そして、攻撃者が攻撃を狙い続けるのに十分な理由です。