APIを保護する。ミッション・インポッシブル?

2022年06月06日掲載
ピーテル・ダンヒョウ著
ケーススタディ

APIを保護する。ミッション・インポッシブル?

2022年06月06日掲載
ピーテル・ダンヒョウ著
リソースを見る
リソースを見る

サイバー攻撃は、間違いなく、増加傾向にあります。Verizon 2021 Data Breach Investigations Reportによると、今日の脅威の状況は以前にも増して危険になっています。あらゆる規模の組織が、自分たちを狙う脅威者の攻撃量と洗練されたレベルを高めています。そして、攻撃者の成功率も急上昇しています。

最近の攻撃を分析することで、サイバー防御に対する前例のない攻撃において、ハッカーが使用している最も一般的な脆弱性とテクニックを明らかにすることができます。Open Web Application Security Project (OWASP) の「2021年のセキュリティリスクおよび脆弱性トップ10」にランクインした攻撃など、最も一般的な攻撃の中には、認証情報の窃盗やその他の侵害を伴うものがあります。そして、アカマイが実施したセキュリティ調査によると、約75%という圧倒的多数が、APIが保有する認証情報を直接標的にしていました。

APIの台頭と破滅の可能性

アプリケーション・プログラミング・インターフェース(API)が、ほとんどすべての組織のネットワーク内で増加しているのは不思議なことではありません。APIは、ほとんどのクラウドベースのサービスにとって重要なコンポーネントであり、ほとんどの企業、組織、および政府機関においてオンプレミス資産の機能を急速に引き継ぎつつある。特に公共性の高いサービスでは、クラウドなしではあらゆる種類のビジネスやタスクを実行することができないほどだ。そしてそれは、APIがあらゆるネットワークにおいて、かなりの数のサービスをまとめる接着剤になることを意味している。

APIの素晴らしいところは、ほとんどが小規模で、ネットワークリソースの割り当てに邪魔にならないことです。そして、ほとんどどんな仕事でもこなせるように、完全に柔軟性があります。APIは、その中核にあるのは、特定のプログラムを制御または管理するために調整されたソフトウェアの個々の部分です。APIは、ホストOSやアプリケーション、サービスからのデータアクセスなど、非常に特殊な機能を実行するために利用される。

残念ながら、このような柔軟性と、APIが小規模でセキュリティチームから見落とされがちであることが、APIを魅力的なターゲットにしているのです。ほとんどのAPIは、開発者が完全な柔軟性を求めて設計しており、例えば、管理しているコア・プログラムが修正・変更されても機能を継続できるようになっています。そして、標準規格はほとんどありません。雪の結晶のように、多くのAPIは、特定のネットワーク上の単一のプログラムで特定の機能を果たすために作成されているという点で、ユニークです。もし、これらのAPIが、セキュリティに対する意識が低い開発者や、特にセキュリティに集中していない開発者によってコーディングされた場合、攻撃者が見つけて悪用することができる脆弱性をいくつも持つことになり、その可能性が高くなります。

悲しいことに、この問題はすぐに手に負えなくなります。Gartner社によると、2022年までに、APIを含む脆弱性は、すべてのサイバーセキュリティのカテゴリーにおいて最も頻繁に発生する攻撃のベクトルとなるとのことです。

攻撃者が API を危険にさらす主な理由は、API が実行する特定の機能を乗っ取るためではなく、API に関連するクレデンシャルを盗むためである。API の最大の問題の一つは、脆弱性に加えて、API がその中核的な機能に関して、しばしば過剰に許可されていることである。簡単に説明すると、ほとんどのAPIは、ネットワーク上で管理者レベルに近いアクセス権を持っています。もし攻撃者がAPIを制御できるようになると、その権限を利用してネットワークにより深く、より大きな侵入を開始することができるようになる場合が多い。そしてAPIは、攻撃者が向かわせようとするどんなタスクでも実行する許可を持っているので、その行動はしばしば従来のサイバーセキュリティ監視を回避することができる。なぜなら、APIはその全領域アクセスVIPバックステージパスのおかげで何のルールも破っていないからだ。

もし組織が注意深くなければ、ネットワークやクラウド内のAPIが増加し、攻撃者に狙われた場合、大きな問題を引き起こす可能性もあります。

APIを守る

APIの状況は危険になってきていますが、絶望的というには程遠い状況です。DevSecOps のような動きによって、開発者がよりセキュリティを意識するようになり、開発からテスト、デプロイまで、ソフトウェア作成のあらゆる側面にセキュリティとベストプラクティスを導入するための大きな取り組みが行われているのである。そのトレーニングの一環としてAPIセキュリティを含めることは、2022年以降にAPI搾取のトレンドに逆らうことを望む組織にとって重要だろう。

とはいえ、APIセキュリティの観点からは、今すぐ実行できる本当に良いベストプラクティスがいくつかある。

まず第一に、すべてのAPIに対して厳密なID管理を盛り込むことです。権限を割り当てる際には、ほとんど人間のユーザーと同じように考えるべきでしょう。APIが特定の機能を果たすようにしか設計されていないからと言って、攻撃者がそれを侵害することができた場合に何が起こり得るかを考えなければならない。ロールベースのアクセス制御の使用を検討する。最終的にはAPIとユーザにゼロトラストの原則を適用するのが理想だが、それはしばしば長い道のりである。優れたID管理は、その出発点として良い場所です。ただ、そのプログラムの一部としてAPIを含むことを確認してください。

また、APIで行われるさまざまな呼び出しを、可能な限り厳密に制御する必要があります。これらの呼び出しをコンテキストを重視したリクエストに限定すれば、攻撃者が不正な目的のために呼び出しを変更するのはずっと難しくなる。APIをレイヤー化することもできる。最初のAPIが、何を探し、何を無視するかを正確に知っている別のAPIに、高度に文脈に沿った呼び出しを行う。これは、たとえ脅威者がAPIを悪用し、その連鎖を侵害できたとしても、利用できる機能を制限する効果的な方法となり得る。

APIに対する脅威は、確かに圧倒的であるように見えます。しかし、ベストプラクティスを実施し、セキュリティチャンピオンになった開発者を支援し、報酬を与えることによって、この状況を絶望的なものではないと思えるようになります。優れたトレーニングと実践により、たとえ小さな、しかし重要なAPIの1つが危険にさらされたとしても、攻撃者にほとんど隙を与えない強固なセキュリティ・プログラムを構築することができます。

リソースを見る
リソースを見る

著者

ピーテル・ダンヒユー

Pieter Danhieuxは、セキュリティコンサルタントとして12年以上の経験を持ち、SANSの主席講師として8年間、組織、システム、個人をターゲットにしてセキュリティの弱点を評価する方法に関する攻撃的なテクニックを教えている、世界的に有名なセキュリティエキスパートです。2016年には、オーストラリアで最もクールな技術者の一人として認められ(Business Insider)、Cyber Security Professional of the Yearを受賞(AISA - Australian Information Security Association)、GSE、CISSP、GCIH、GCFA、GSEC、GPEN、GWAPT、GCIA認定を保有している。

もっと知りたい?

セキュアコーディングに関する最新の知見をブログでご紹介しています。

当社の豊富なリソースライブラリは、安全なコーディングアップスキルに対する人間的なアプローチを強化することを目的としています。

ブログを見る
もっと知りたい?

開発者主導のセキュリティに関する最新の研究成果を入手する

ホワイトペーパーからウェビナーまで、開発者主導のセキュアコーディングを始めるために役立つリソースが満載のリソースライブラリです。今すぐご覧ください。

リソース・ハブ

APIを保護する。ミッション・インポッシブル?

2024年1月22日発行
Pieter Danhieux著

サイバー攻撃は、間違いなく、増加傾向にあります。Verizon 2021 Data Breach Investigations Reportによると、今日の脅威の状況は以前にも増して危険になっています。あらゆる規模の組織が、自分たちを狙う脅威者の攻撃量と洗練されたレベルを高めています。そして、攻撃者の成功率も急上昇しています。

最近の攻撃を分析することで、サイバー防御に対する前例のない攻撃において、ハッカーが使用している最も一般的な脆弱性とテクニックを明らかにすることができます。Open Web Application Security Project (OWASP) の「2021年のセキュリティリスクおよび脆弱性トップ10」にランクインした攻撃など、最も一般的な攻撃の中には、認証情報の窃盗やその他の侵害を伴うものがあります。そして、アカマイが実施したセキュリティ調査によると、約75%という圧倒的多数が、APIが保有する認証情報を直接標的にしていました。

APIの台頭と破滅の可能性

アプリケーション・プログラミング・インターフェース(API)が、ほとんどすべての組織のネットワーク内で増加しているのは不思議なことではありません。APIは、ほとんどのクラウドベースのサービスにとって重要なコンポーネントであり、ほとんどの企業、組織、および政府機関においてオンプレミス資産の機能を急速に引き継ぎつつある。特に公共性の高いサービスでは、クラウドなしではあらゆる種類のビジネスやタスクを実行することができないほどだ。そしてそれは、APIがあらゆるネットワークにおいて、かなりの数のサービスをまとめる接着剤になることを意味している。

APIの素晴らしいところは、ほとんどが小規模で、ネットワークリソースの割り当てに邪魔にならないことです。そして、ほとんどどんな仕事でもこなせるように、完全に柔軟性があります。APIは、その中核にあるのは、特定のプログラムを制御または管理するために調整されたソフトウェアの個々の部分です。APIは、ホストOSやアプリケーション、サービスからのデータアクセスなど、非常に特殊な機能を実行するために利用される。

残念ながら、このような柔軟性と、APIが小規模でセキュリティチームから見落とされがちであることが、APIを魅力的なターゲットにしているのです。ほとんどのAPIは、開発者が完全な柔軟性を求めて設計しており、例えば、管理しているコア・プログラムが修正・変更されても機能を継続できるようになっています。そして、標準規格はほとんどありません。雪の結晶のように、多くのAPIは、特定のネットワーク上の単一のプログラムで特定の機能を果たすために作成されているという点で、ユニークです。もし、これらのAPIが、セキュリティに対する意識が低い開発者や、特にセキュリティに集中していない開発者によってコーディングされた場合、攻撃者が見つけて悪用することができる脆弱性をいくつも持つことになり、その可能性が高くなります。

悲しいことに、この問題はすぐに手に負えなくなります。Gartner社によると、2022年までに、APIを含む脆弱性は、すべてのサイバーセキュリティのカテゴリーにおいて最も頻繁に発生する攻撃のベクトルとなるとのことです。

攻撃者が API を危険にさらす主な理由は、API が実行する特定の機能を乗っ取るためではなく、API に関連するクレデンシャルを盗むためである。API の最大の問題の一つは、脆弱性に加えて、API がその中核的な機能に関して、しばしば過剰に許可されていることである。簡単に説明すると、ほとんどのAPIは、ネットワーク上で管理者レベルに近いアクセス権を持っています。もし攻撃者がAPIを制御できるようになると、その権限を利用してネットワークにより深く、より大きな侵入を開始することができるようになる場合が多い。そしてAPIは、攻撃者が向かわせようとするどんなタスクでも実行する許可を持っているので、その行動はしばしば従来のサイバーセキュリティ監視を回避することができる。なぜなら、APIはその全領域アクセスVIPバックステージパスのおかげで何のルールも破っていないからだ。

もし組織が注意深くなければ、ネットワークやクラウド内のAPIが増加し、攻撃者に狙われた場合、大きな問題を引き起こす可能性もあります。

APIを守る

APIの状況は危険になってきていますが、絶望的というには程遠い状況です。DevSecOps のような動きによって、開発者がよりセキュリティを意識するようになり、開発からテスト、デプロイまで、ソフトウェア作成のあらゆる側面にセキュリティとベストプラクティスを導入するための大きな取り組みが行われているのである。そのトレーニングの一環としてAPIセキュリティを含めることは、2022年以降にAPI搾取のトレンドに逆らうことを望む組織にとって重要だろう。

とはいえ、APIセキュリティの観点からは、今すぐ実行できる本当に良いベストプラクティスがいくつかある。

まず第一に、すべてのAPIに対して厳密なID管理を盛り込むことです。権限を割り当てる際には、ほとんど人間のユーザーと同じように考えるべきでしょう。APIが特定の機能を果たすようにしか設計されていないからと言って、攻撃者がそれを侵害することができた場合に何が起こり得るかを考えなければならない。ロールベースのアクセス制御の使用を検討する。最終的にはAPIとユーザにゼロトラストの原則を適用するのが理想だが、それはしばしば長い道のりである。優れたID管理は、その出発点として良い場所です。ただ、そのプログラムの一部としてAPIを含むことを確認してください。

また、APIで行われるさまざまな呼び出しを、可能な限り厳密に制御する必要があります。これらの呼び出しをコンテキストを重視したリクエストに限定すれば、攻撃者が不正な目的のために呼び出しを変更するのはずっと難しくなる。APIをレイヤー化することもできる。最初のAPIが、何を探し、何を無視するかを正確に知っている別のAPIに、高度に文脈に沿った呼び出しを行う。これは、たとえ脅威者がAPIを悪用し、その連鎖を侵害できたとしても、利用できる機能を制限する効果的な方法となり得る。

APIに対する脅威は、確かに圧倒的であるように見えます。しかし、ベストプラクティスを実施し、セキュリティチャンピオンになった開発者を支援し、報酬を与えることによって、この状況を絶望的なものではないと思えるようになります。優れたトレーニングと実践により、たとえ小さな、しかし重要なAPIの1つが危険にさらされたとしても、攻撃者にほとんど隙を与えない強固なセキュリティ・プログラムを構築することができます。

弊社製品や関連するセキュアコーディングのトピックに関する情報をお送りする許可をお願いします。当社は、お客様の個人情報を細心の注意を払って取り扱い、マーケティング目的で他社に販売することは決してありません。

フォームを送信するには、「Analytics」のCookieを有効にしてください。完了したら、再度無効にしてください。