APIセキュリティとは
APIセキュリティとは、セキュリティ上の脅威や攻撃を軽減し防止することを目的とした手順とセキュリティ対策によって、APIを保護することです。
企業はDX(デジタルトランスフォーメーション)に取り組む中で、ますますAPIを活用するようになっています。このAPIの急激な増加により、多くのシステムがデータ侵害にさらされています。これは主に、APIによって利用可能になった機密データが、ハッカーを引き寄せるあるためです。したがってAPIセキュリティは、脆弱性とセキュリティリスクを排除するために非常に重要なのです。
APIセキュリティが重要である理由
組織は、顧客のため、あるいは内部プロセスを合理化するために、APIを使用してデータを交換し、サービスを接続します。APIは、アプリケーションの相互通信と情報交換を可能にするプロトコルとサブルーチンの集合体です。多くのAPIは、関数やプロシージャとして動作する部分から構成されています。開発者は API を使用することで、他の製品やシステムの実装方法を知らなくても、それらの製品やシステムでアプリケーションを呼び出せます。API(アプリケーションプログラミングインターフェース)はどこにでもあり、Webサービスを世界中で共有することを可能にしています。そのため、APIセキュリティは、ほぼすべての組織にとって最優先事項です。
多くの API は、財務情報、健康情報、個人情報などの、潜在的に機密性の高いデータを共有するために使用されています。つまり、API が壊れたり、ハッキングされたり、公開されたりすると、重大な損害が発生する脅威があります。
2021年Gartnerは、2022年までにAPI攻撃が最も頻繁な攻撃ベクトルとなり、企業のWebアプリケーションのデータ侵害を引き起こすと予測しました。API数の増加やAPI利用率の急激な上昇により、企業はAPIセキュリティの重要性を認識するようになりました。
API管理は、かつては「大手企業」だけが必要とするものでしたが、現在ではAPIゲートウェイやその他のツールによって適用されるセキュリティポリシーの必要性は、普遍的なものとなっています。APIセキュリティソリューションとAPI管理のベストプラクティスを使用して API の公開レイヤーを保護することで、攻撃を軽減し、組織、顧客、データ、収益を保護できます。
APIセキュリティのベストプラクティス
APIセキュリティには、万能のソリューションはありません。適切なAPIセキュリティソリューションを導入するには、自社のAPI、使用しているサードパーティのAPI、APIが組織にもたらす機能と価値を十分に理解することが重要です。APIセキュリティを確実に実装し、正しく実装し続けるには、時間とリソースが必要になります。APIが公開されているか、パートナーとのみ共有されているか、社内でのみ共有されているかは問題ではありません。データやその他のリソースを攻撃から保護するには、すべてのAPIを安全に管理しなくてはなりません。APIセキュリティ戦略を成功させるには、開発者からCEOまで、組織内の全員がAPIを保護する上での各自の役割を認識する必要があります。
API Cybersecurity 101
Software AGのAPI Cybersecurity 101ビデオシリーズをご覧になり、APIセキュリティのベストプラクティス、APIセキュリティの基本、APIセキュリティの仕組み、APIシステムを攻撃から保護・防御するために必要なツールを備える方法についてご確認ください。
APIを保護する方法
API に侵入する攻撃からシステムを最適に保護するために、さまざまなツールを使用できます。
APIゲートウェイ
APIゲートウェイは、APIセキュリティの中核として機能し、APIの作成、維持、監視、保護を容易にします。さまざまな攻撃に対する防御を提供し、APIの監視、ログ記録、APIレート制限を行います。また、IPアドレスやその他のデータに基づいてトラフィックを制限し、セキュリティトークンの検証などを処理できます。
WAF(Webアプリケーションファイアウォール)
WAFは、パブリックトラフィックとAPIゲートウェイまたはアプリケーションの間に設置されます。悪意のあるボットの検出、攻撃シグネチャを識別する機能、追加のIPインテリジェンスを提供することにより、ボットなどに対する追加の保護を適用できます。また、悪質なトラフィックがゲートウェイに到達する前にブロックできるため、非常に有効です。
セキュリティアプリケーション
スタンドアロンのセキュリティ製品は、リアルタイム保護、静的コードと脆弱性スキャン、ビルド時チェック、セキュリティファジングなど、幅広いカテゴリーにわたるさまざまな機能をサポートしています。
セキュリティ対策のコード
セキュリティコードは、APIやアプリケーション自体に内部的に実装されるセキュリティの一形態です。しかし、すべてのセキュリティ対策をAPIコードに適切に実装するためのリソースが必要であり、すべてのAPIポートフォリオに一貫して適用することは困難な場合があります。
サードパーティのAPIセキュリティ製品との統合
前述したように、APIゲートウェイは、WAFやスタンドアロンのAPIセキュリティ製品など、APIセキュリティの他のすべてのコンポーネントと統合し、うまく機能します。APIエコシステムを見るときは、APIインテグレーションや統合するサードパーティAPIを忘れないようにしましょう。これらのサードパーティAPIやインテグレーション自体が安全でないと、データ、内部システム、APIが危険にさらされるおそれがあります。
APIゲートウェイのセキュリティを補完するAPIセキュリティ製品は、多くの場合、「シフトレフト(Shift Left)、シールドライト(Shield Right)」に基づいてカテゴリー分けされます。
「シフトレフト」
「シフトレフト」とは、セキュリティの焦点を API ライフサイクルプロセスの最初の段階に置き、API の設計と開発に統合することです。このアプローチにより、APIの廃止に至るまでのライフサイクルの全段階でAPIを保護できます。
「シールドライト」
「シールドライト」は、実行時およびそれ以降もAPIを保護し続けることに重点を置きます。これによって、AI/MLと定義したアルゴリズムやポリシーを組み合わせて、未知の攻撃に対する防御を実現します。
APIセキュリティの課題
GartnerのCIOとテクニカルエグゼクティブの調査によると、サイバーセキュリティと情報セキュリティは2022年の計画投資の上位に挙げられていました。これは、ビジネスリーダーが、API、データ、顧客を保護し、企業の評判を守るために、サイバーセキュリティに予算とリソースを投入しなければならないというプレッシャーを感じていることからも、驚くことではありません。
APIのセキュリティは動き回るものを対象としているため、最新の脆弱性から API を保護するには、使用する製品が最新の状態に保たれているか把握することが重要となります。多くのビジネスリーダーは、APIがどこにでも存在するため、それを保護することは困難であると感じています。下で述べるOWASP Top 10のAPIセキュリティの脆弱性を確認することは、APIセキュリティ戦略を最適に策定する上で非常に役立ちます。
OWASP Top 10とは
OWASP(Open Web Application Security Project)は、Webアプリケーションのセキュリティを専門とした国際的な非営利団体です。Webの脆弱性トップ10リストを頻繁に発表していることでよく知られています。しかし、Webの脆弱性リストのほか、APIセキュリティのトップ10リストも発表しています。OWASP API Security Top 10の脆弱性の概要は以下のとおりで、これらの脆弱性からAPIを保護する方法にも触れています。これらはすべて、組織でAPIセキュリティ戦略を策定する際に考慮すべき重要な要素です。
API1:2019 Broken Object Level Authorization(オブジェクトレベルの認可の不備)
攻撃者がAPIコールのIDを別のIDに置き換え、データにアクセスできるようにすることを、BOLA(Broken Object Level Authorization)と呼びます。たとえば、/api/bank/account/123を/api/bank/account/124に置き換えるなどです。すべてのリソースは、アクセスを提供する前に認可チェックを実行しなければなりません。APIゲートウェイを使用すれば、アクセス制御の問題を防ぐために必要な、非常にきめ細かいレベルのアクセス制御を実行できます。
API2:2019 Broken User Authentication(ユーザー認証の不備)
安全な認証を使用していないAPIは、攻撃者がユーザー認証の不備を利用してシステムを侵害するリスクにさらされます。APIゲートウェイには、APIに対するリスクを軽減できる数多くの認証方式があります。
- OpenID
- Kerberos
- OAUTH
- JWT
- SAML
- トランスポートとメッセージのアウトバウンド認証
- カスタムアサーション
API3:2019 Excessive Data Exposure(データの過剰な公開)
APIは、多くの場合、UIクライアントで表示されるよりも多くのデータを公開します。APIを通じて公開されたデータは、なんらかの方法で閲覧される可能性があるため、サニタイジングとフィルタリングを行うことが重要です。APIゲートウェイは、データ変換とデータマスキング機能をAPIに適用できます。
API4:2019 Lack of Resources & Rate Limiting(リソースの不足とレート制限)
リソースへのアクセスに適切な制限を設定していなければ、攻撃者は簡単にAPIシステムに過負荷をかけられます。APIゲートウェイで、レート制限、スロットリング、その他の脅威保護ポリシーなどの機能を使用すれば、DoS試行のブロック、大きなペイロードの制限、SQLインジェクションの阻止、トラフィックの監視、APIやその他のリソースに影響を与えるような攻撃を阻止することができます。
API5:2019 Broken Function Level Authorization (機能レベルの認可の不備)
BOLA(Broken Object Level Authorization)と同様に、管理目的で使用されるAPIエンドポイントには、安全な認可ポリシーが必要です。攻撃者は管理用エンドポイントを推測できる可能性るので、APIはクライアントが実施する認可を当てにすることはできません。API管理ソリューションで管理用エンドポイントとリソースを保護すれば、このような悪用からAPIリソースを守ることができます。
API6:2019 Mass Assignment(一括割り当て)
クライアントからのデータを変換してバインドしようとすると、一括割り当ての脆弱性が入り込むことがあります。これは、API がクライアントからのデータに対して、ユーザーが更新する権限を持っていないはずのプロパティの保存を許可すると発生します。これを避けるためには、ホワイトリストのみを使用し、ブラックリストは使用しないことです。API管理ソリューションのポリシー適用を使用して、更新可能なプロパティを具体的に定義することが、このセキュリティ脅威からAPIとデータを保護する方法の1つです。
API7:2019 Security Misconfiguration(セキュリティ設定ミス)
セキュリティの設定ミスは、セキュリティ悪用を招く、特に発生しやすい問題の1つです。ヒューマンエラーを防ぐことは困難ですが、APIゲートウェイはその責任の一部を、大規模なAPIの集合に適用できる共有のグローバルなセキュリティポリシー定義に移行できます。
API8:2019 Injection(インジェクション)
API攻撃は、クライアントがAPIをだまして実行させようとする悪意あるコードの形で発生することもあります。APIは未知のデータを解釈しなければならないことが多く、APIがコードをやみくもに実行すると脆弱性が悪用されるおそれがあります。たとえ内部利用者であっても、APIクライアントを決して信用しないことが重要です。スキーマでデータ型を定義し、APIゲートウェイで定義された脅威防御ポリシーによってすべてのリクエストを検証することで、SQLインジェクションやその他のインジェクション攻撃を防ぐことができます。
API9:2019 Improper Asset Management(不適切な資産管理)
保護する必要があるのは、本番環境のAPIだけではありません。攻撃者がシステム上の貴重なデータにアクセス可能にするような、複数のタイプの API を実行している可能性があります。その一部は、皆さんもおなじみのものです。
- パブリックAPI(外部API)
- 内部API
- パートナーAPI
- サードパーティAPI
- コンポジットAPI
その他、あまり馴染みのないタイプのAPIもあります。
- ベータ版API: アルファ版、ベータ版、テスト版、ステージング版などの非本番バージョンのAPIです。これらは公開されていないため、安全なインターフェースをまだ必要としない場合があります。しかし、アクセスできないわけではありません。
- シャドウAPI: 内部APIやパブリックAPIを作成して使用しているが、マークされないようにしているAPIです。しかし、ハッカーの「マークから外れる」ことはありません。実際、ハッカーはすでにファイアウォールの内側にいて、システムやデータに侵入する機会をうかがっていると考えられます。
- ゾンビAPI: 動作し、使用されているにもかかわらず、更新されずに、おそらく時代遅れのセキュリティが使われているAPIです。log4jの最近のセキュリティ脆弱性は、メンテナンスされていないコードのリスクとそれがもたらす影響を浮き彫りにしています。
- フランケンシュタインAPI: 実際のAPIとしては提供していない、システムをスクレイピングするために急ごしらえで作られた非公式のAPIです。適切なセキュリティを実装する重要なステップを省略してソリューションを作ると、ソリューションやビジネスを危険にさらす恐れがあります。
API10:2019 Insufficient Logging & Monitoring(不十分なロギングとモニタリング)
多くの侵害調査によると、侵害の検出にかかる時間は200日以上であり、侵害は通常、内部のプロセスやモニタリングではなく、外部の第三者によって検出されます。適切なロギングとモニタリングがなければ、APIやデータへの攻撃が見過ごされてしまう恐れがあります。API ゲートウェイを介してトラフィック監視ポリシーを実装すると、実行時のパフォーマンス状態を監視し、サービス呼び出しに制限を適用し、条件に違反した場合にアラートを送信します。また、ログから機密情報をサニタイジングし、他のロギングツールやAPIセキュリティツールがそれを利用・処理できるようにフォーマットしておくことも重要です。
今すぐAPIセキュリティを向上させましょう
Software AGは、API管理およびインテグレーションソリューションの世界的なリーディングプロバイダーとして、高品質のAPIセキュリティ戦略を実装することの重要性を熟知しています。
Software AGのwebMethodsは、他のAPIセキュリティ製品と統合して、組織のサイバーセキュリティ戦略に整合させることができるAPIセキュリティソリューションを提供します。webMethodsが提供するAPI管理に対する包括的なアプローチは、他にどのような製品を使用していても、理想的なAPIセキュリティソリューションとなります。
Software AGのAPIセキュリティソリューション
効果的なAPIセキュリティソリューションは、適切に設定されたAPIゲートウェイから始まります。webMethods API管理プラットフォームは、以下のような方法で、APIポートフォリオを安全に管理するための強力なソリューションを提供します。
- APIリソースを保護するためにレート制限を使用する
- ゲートウェイポリシーを使用して API のアクセス制御を定義する
- OAuthやその他の方法による認可を適用する高度なアナリティクスを使用して API を監視する
- DDoSなどの攻撃から保護する
- 最新の暗号化標準を使用してプライバシーと整合性を確保する
Software AGがAPIとインテグレーションのセキュリティをどのように確保するかの詳細については、こちらをご覧ください。また、日本語の通訳音声のオンデマンドウェビナーでAPIセキュリティについてより詳しくご説明します。