ブログ | CTO オフィス

API セキュリティ: プログラミング能力が必要

ロリ・マクヴィッティ サムネイル
ロリ・マクヴィッティ
2024年10月16日公開

アプリケーションや API、従来のアプリケーション、最新のアプリケーション、AI アプリケーションなど、プログラミング可能性は、セキュリティの問題に対処するためのセキュリティ ツールボックスの重要なツールです。

アプリケーションと API を安全に保つ方法の 1 つは、顧客やパートナーに公開する前に脆弱性と正確性をテストすることです。 アプリケーションや API をテストするための一般的な手法は、ファズ テストです。

ファズ テストでは、API またはアプリケーションの応答を確認するために、予期しない入力 (数字の代わりに文字列、特殊文字、長すぎる、短すぎるなど) を送信します。 堅牢な実装では、これらの入力を無効として拒否して処理します。 しかし、入力処理をテストすることと同じくらい重要なのは、入力処理を実行するコードをテストすることです。

つまり、アプリケーションまたは API ロジックが無効な入力を拒否するだけでは不十分であり、無効な入力をチェックするロジックも堅牢である必要があります。

さて、アプリケーション セキュリティの世界ではよくあることですが、誰かが予期していなかった、または考慮されていなかった入力を考案することになります。 入力サニタイズの実装の多くが単純に悪いという事実を無視し、それらはすべて堅牢で、99% の不正を検出できると仮定します。

そのようなユートピア的な仮定があっても、誰も考慮しなかった 1% は常に存在します。 これがゼロデイ脆弱性が生まれる原因の 1 つです。

場合によっては、技術スタックの欠陥が原因であることもあります。 おそらくそれは、Web サーバー、アプリ サーバー、GraphQL サーバーです。 おそらくそれは、ますます人気が高まっている生成 AI の検索拡張生成 (RAG) ユースケースをサポートするために使用されるベクター データベースなどのデータ ソースへのコネクタにあるのでしょう。あるいは、 Probllamaのような AI 推論の脆弱性の出現かもしれません。 結局のところ、より広範なアプリケーション アーキテクチャ内に新しい層を追加するということは、新しい脆弱性を意味します。

これらはインターネット上でパニックを引き起こす脆弱性です。 彼らは、 Apache Killer (2011 年)、 HeartBleed (2014 年)、 Spectre と Meltdown (2018 年)、 Log4Shell (2021 年)を生み出しました。

これらは予期せぬ脆弱性でした。 開発者、SecOps、DevSecOps、QA がそれらを予測することは期待できませんでした。 本当にできなかったんです。

開発者やセキュリティ専門家の先見性の欠如にかかわらず、ゼロデイ脆弱性が出現した場合は、何らかの対策を講じる必要があります。 特に、問題となっているテクノロジーを実行しているために組織が脆弱になる場合はそうです。 それがリスクを脅威へと押し上げるものであり、脅威は中和される必要があるのです。

ここで、アプリケーション サービスのプログラム可能性が話題になります。

アプリケーション サービスのプログラミング可能性は新しいものではありません。 組織はインターネットの初期の頃から、さまざまなソリューションを実装するためにプログラマビリティを活用してきました。

データ パスにおけるプログラミング可能性の最も一般的な用途は次のとおりです。

  1. 安全: ゼロデイ脅威を軽減し、新たなセキュリティリスクに対処するには、プログラミング機能が不可欠です。
  2. アプリケーション仲介: アプリケーションのアップグレードと移行中にシームレスなユーザー エクスペリエンスを実現し、最新化をサポートし、新しい API をコスト効率よく統合します。
  3. サービスオーケストレーション: ユーザーの作業を中断することなくワークフローとサードパーティ サービスをアプリケーションに統合し、市場投入までの時間を短縮します。
  4. 可用性: 負荷分散と、カナリア デプロイメントや A/B テストなどの最新の配信プラクティスをサポートします。

これらは一般的なものであることが、内部データからわかるためわかっています。 当社の顧客の 70% 以上が、さまざまなソリューションにプログラマビリティを日常的に使用しています。 そのうちのいくつかはセキュリティに重点を置いています。

そのため、市場全体を調査した結果、API セキュリティにとって重要な技術的機能のトップにプログラマビリティが位置付けられていることがわかったのは、驚くことではありませんでした。

能力ごとに割り当てられた平均ポイント

プログラミングをサポートする API セキュリティ ソリューションの汎用性は事実上無限です。 確かに F5 はこの機能の先駆者ですが、これはアプリケーション サービス全般の市場で定番となっています。 アプリケーション サービス (特に、アプリケーションと API のセキュリティ保護に重点を置いたサービス) のうち、コア機能の一部としてプログラミング機能を提供していないものはほとんどありません。

なぜなら、プログラマビリティはゼロデイ脅威を軽減し、組織がシステムのかなりの割合に影響を与えるパッチ計画をより慎重に設計できるようにするための基礎となるからです。

プログラミング機能は、まさに、ほぼ何でもできます。 しかし、セキュリティ、特に API セキュリティの分野では、それは単なる「あればよい」というものではありません。 それは必需品です。

API に関する詳細な情報については、アプリケーション戦略の現状レポートをご覧ください。 API セキュリティ。