2022年12月22日
デプロイメント戦略
このブログでは、他のソフトウェア企業がAPIセキュリティーテストを優先する際に考慮すべき参考資料として、私たちのアプローチを共有します。

サイバーセキュリティー攻撃が増加し続ける中、どの組織にとっても、API保護のためのセキュリティーテスト方法を持つことが、これまで以上に重要になっています。APIを保護するにはさまざまな方法があり、Harnessは独自の方法論を開発しました。このブログでは、他のソフトウェア企業がAPIセキュリティーテストを優先する際に考慮すべき参考資料として、私たちのアプローチを共有します。
アプリケーションプログラミングインターフェイス(API)は、2つのアプリケーションが相互に通信できるようにする、ソフトウェアの仲介役です。ガートナーによると:
アプリケーションプログラミングインターフェイス(API)は、アプリケーションまたはデータベース内のサービス機能と、データへのプログラムによるアクセスを提供するインターフェイスです。人間、他のアプリケーション、またはスマートデバイスとの新しい相互作用を開発するためのビルディングブロックとして使えます。企業はAPIを使って、デジタルトランスフォーメーションやエコシステムのニーズに対応し、プラットフォームビジネスモデルを開始します。
Facebookへの投稿、テキストまたはSlackメッセージの送信、スマートフォンでの天気の確認など、私たちはアプリを使用するたびにAPIを使っています。例えば、スマートフォンでアプリケーションを使うと、アプリケーションはインターネットに接続し、指定されたサーバーにデータを送信します。次に、サーバーはそのデータを取得して解釈し、必要なアクションを実行して、スマートフォンに送り返します。次に、アプリケーションはそのデータを解釈し、必要な情報を読みやすい方法で表示します。これらは全てAPIを介して行われます。
OpenAPIやswaggerなどの仕様は、APIの記述に必要なファイルの定義に役立ちます。これらのファイルは、組織によるAPIの効果的な管理のために必要なドキュメント、統合、およびテストツールを特定するのに役立ちます。
APIセキュリティーテストには、攻撃を防止し、組織のリスクを軽減するための脆弱性テストが含まれます。APIが隙のないことは素晴らしいですが、エンジニアが顧客やビジネスに影響を与える前に修正できるよう、このプロセスでセキュリティーギャップを積極的に見つけたいと考えています。さらに、このテストは、APIが定義された仕様に忠実であることの確認に役立ちます。
セキュリティーテストは、ユーザーアクセス、暗号化、認証に関する条件など、基本的なセキュリティー要件が満たされているかどうかの確認に有用です。APIスキャンの背後にある考え方は、APIからバグや未定義の動作を誘導するための入力を作成し、基本的にハッカーになる可能性のあるアクションと攻撃ベクトルを模倣することです。
セキュリティーテストAPIに必要な大まかな手順は次の通りです。
多くの組織には、運用後のテストに専念するチームや部門がありますが、APIセキュリティーテストは、DevOpsパイプラインの一部になりつつあります。これは、コードが本番環境に到達する前に脆弱性が確実に検出されるため、理にかなっています。
あらゆる業界で最新のソフトウェア開発の基本的な部分として機能するAPIの数は、増え続けています。このAPIの使用の増加は、組織がAPIの採用を促進するために開発した標準によるものです。APIは多くのアプリケーションの心臓部分であるため、セキュリティーテストをソフトウェア開発ライフサイクル(SDLC)に取り入れることがこれまで以上に重要になっているのです。
APIが公開された仕様に準拠し、潜在的に悪意のある入力に対する回復力の確認は、組織の全体的なセキュリティーにとって重要です。Salt Labsの2022Q1 APIセキュリティーレポート(2022年3月発行)によると、API攻撃は、過去12カ月間にAPIトラフィックの増加を2倍以上にしました。レポートはまた、次のことを示しています。