BLOG | OFFICE OF THE CTO

APIエンドポイントの保護がAPIのセキュリティを難しくする

Lori MacVittie サムネール
Lori MacVittie
Published January 30, 2024

APIの不安全性に関する統計には不足はありません。インターネットで簡単に検索すれば、お好みのトピックに関するほぼすべての視点が得られます。言うまでもなく、(a)API攻撃は増加しており、(b)それらの攻撃の一部は成功している。と言えば十分でしょう。

また、組織内に潜むすべてのAPIを見つけるだけでも組織が労していることが一般的です。それは、それらのAPIがコア、クラウド、エッジにまたがっているためだけでなく、よく知られたOpen API使用(OAS)以外に、APIを定義するための「標準」が実際にはないからです。

それは私たちがそれらを必要とするという意味ではありません。なぜなら、SOAPやWSDLやUDDIがあり、人々はまだそれらを使用していてデータ形式としてXMLに依存している一方で、世界のほとんどがREST、JSON、GraphQL、およびgRPCに移行しているからです。

たとえ標準があったとしても、それはAPIのセキュリティを確保するのが難しいという事実は変わりません。

なぜなら、APIという用語は包括的なものだからです。例えば、OpenTelemetry APIは単に、「OpenTelemetryの機能を開発者が利用できるようにしています」と伝える手段にすぎません。「Open Telemetry API」というものをカバーするセキュリティポリシーがあるわけではありません。それは理想的であり、物事をはるかに容易にするでしょう。しかし、私たちが持っているものではありません。私たちが持っているのは、OpenTelemetry 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セキュリティが非常に困難である理由がすぐに明確になります。

そして、攻撃者が攻撃を狙い続けるのに十分な理由です。