Coders Conquer Security OWASP Top 10 API Series - 不適切な資産管理

2020年12月22日発行
マティアス・マドゥ博士著
ケーススタディ

Coders Conquer Security OWASP Top 10 API Series - 不適切な資産管理

2020年12月22日発行
マティアス・マドゥ博士著
リソースを見る
リソースを見る

OWASP の API トップテンに掲載されているほとんどの脆弱性とは異なり、不適切な資産管理は、特にコーディング上の欠陥を中心としたものではありません。むしろ、この脆弱性は、古いAPIをより安全な新バージョンに置き換えるべきだったにもかかわらず、長い間そのままにしておくことを許してしまうような、人的または管理的な問題である。また、開発途中のAPIが脅威に対して完全に強化される前に本番環境にさらされた場合にも発生する可能性がある。

この脆弱性は、マイクロサービスやクラウドコンピューティングの出現により、特に管理が難しくなっています。そのような環境では、一時的なニーズを満たすために新しいサービスがすぐに立ち上げられ、その後は忘れ去られ、廃止されることはないかもしれません。古いAPIが本番環境に接続されたままになっていると、ネットワーク全体を危険にさらすことになります。

このセキュリティバグについて、ゲーム感覚でチャレンジしてみませんか?私たちのアリーナに足を踏み入れてみてください。[Start Here] (ここからスタート)

不適切な資産管理の欠陥は、APIにどのような影響を与えるのでしょうか?

不適切な資産管理という欠陥は、現代の産物です。ビジネスのスピードに追われる組織では、毎日何百、何千ものサービスやマイクロサービスを立ち上げることがあります。これは、付随するドキュメントの作成や、関連するAPIが何に使用されているのか、どのくらいの期間必要とされるのか、その重要性についての説明がないまま、素早く行われることが多い。特に、APIの存続期間を定義する包括的なポリシーがない場合は、時間の経過とともに手に負えなくなる可能性があります。

そのような環境では、いくつかのAPIが失われたり、忘れ去られたり、あるいは廃止されないことも大いにあり得ます。

また、通常のプロセス以外で新しいサービスを作成する権限を持つユーザーにも原因がある場合があります。例えば、マーケティンググループが、製品発表会などのイベントをサポートするためにサービスを作成し、イベント終了後にそのサービスを元に戻さない場合があります。後でそのサービスと関連するAPIを見た人は、なぜそのサービスが存在するのかわからないかもしれませんし、ドキュメントがなければ謎のままかもしれません。そのAPIがどれほど重要なのか、何をしているのかがわからないため、本番環境からそれらのAPIを削除したり、新しいバージョンにアップグレードしたりすることに抵抗を感じるかもしれません。

脆弱性が危険になるのは、フレームワークのAPIのセキュリティが時間とともに向上するからです。研究者が脆弱性を発見したり、最近増えているタイプの攻撃を阻止するために特別なセキュリティが追加されたりすることがあります。古いAPIは、アップグレードされない限り、それらの攻撃に対して脆弱なままであるため、ハッカーはしばしばそれらのAPIを探したり、自動化されたツールを使って探し出したりします。

OWASPが提供している実例では、ある企業がユーザーデータベースの検索に使用するAPIをアップグレードし、重大な欠陥を修正しました。しかし、誤って古いAPIをそのままにしてしまいました。

攻撃者は、新しいAPIの場所が(api.criticalservice.com/v2)のようになっていることに気づきました。このURLを(api.criticalservice.com/v1)に置き換えることで、既知の脆弱性を持つ古いAPIを代わりに使用することができました。この結果、1億人以上のユーザーの個人情報が流出しました。

不適切な資産管理の不備をなくす

不適切な資産管理の欠陥を環境から排除する唯一の方法は、すべてのAPI、その用途とバージョンをしっかりと把握することだ。そのためには、まず既存のAPIのインベントリーを作成し、本番環境や開発環境など、どのような環境にデプロイすべきか、誰がネットワークにアクセスすべきか、そしてもちろんそのバージョンなどの要素に着目する必要がある。

これが完了したら、新しいAPIやサービスが作成された際に、自動的にドキュメントが追加されるプロセスを導入する必要がある。これには、レート制限、リクエストとレスポンスの処理方法、リソースの共有、接続可能なエンドポイント、適用される関連ポリシーなど、APIのすべての側面が含まれており、後の監査に必要なものも含まれている。また、本番環境以外のAPIや開発環境のAPIを本番環境で使用することは避けるべきです。また、自動的に廃止されないように、APIの所有者がその使用を継続することを正当化しなければならない期限を設けることも検討してください。

アクティブなAPIの新しいバージョンが利用可能になるたびに、リスクassessment 、アップグレードすべきかどうかを判断し、本番環境を混乱させないためにそのプロセスをどのように行うべきかを決定する。新しいAPIへの移行が完了したら、古いAPIを環境から完全に削除する。

これらすべてを行うことで、不適切な資産管理の脆弱性が組織、ユーザー、ネットワークに被害を及ぼすことを防ぐことができます。この脆弱性についての詳細は Secure Code Warriorブログでは、この脆弱性や、他のセキュリティ上の欠陥の被害から組織や顧客を守るための方法について、より詳しい情報を提供しています。また、Secure Code Warrior トレーニングプラットフォームのデモをお試しいただくことで、サイバーセキュリティに関するすべてのスキルを磨き、最新の状態に保つことができます。

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

著者

マティアス・マドゥ博士

マティアスは、15年以上のソフトウェアセキュリティの実務経験を持つ研究者・開発者です。フォーティファイ・ソフトウェア社や自身の会社(Sensei Security)などでソリューションを開発してきました。キャリアの中で、Matiasは、商用製品につながる複数のアプリケーションセキュリティ研究プロジェクトを主導し、10件以上の特許を取得しています。また、RSAカンファレンス、Black Hat、DefCon、BSIMM、OWASP AppSec、BruConなどの世界的なカンファレンスで定期的に講演を行っているほか、高度なアプリケーションセキュリティトレーニング(courses )の講師も務めています。

Matiasはゲント大学でコンピュータ工学の博士号を取得し、アプリケーションの内部構造を隠すためのプログラム難読化によるアプリケーションセキュリティを研究しました。

もっと知りたい?

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

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

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

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

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

リソース・ハブ

Coders Conquer Security OWASP Top 10 API Series - 不適切な資産管理

2020年12月22日発行
マティアス・マドゥ博士著

OWASP の API トップテンに掲載されているほとんどの脆弱性とは異なり、不適切な資産管理は、特にコーディング上の欠陥を中心としたものではありません。むしろ、この脆弱性は、古いAPIをより安全な新バージョンに置き換えるべきだったにもかかわらず、長い間そのままにしておくことを許してしまうような、人的または管理的な問題である。また、開発途中のAPIが脅威に対して完全に強化される前に本番環境にさらされた場合にも発生する可能性がある。

この脆弱性は、マイクロサービスやクラウドコンピューティングの出現により、特に管理が難しくなっています。そのような環境では、一時的なニーズを満たすために新しいサービスがすぐに立ち上げられ、その後は忘れ去られ、廃止されることはないかもしれません。古いAPIが本番環境に接続されたままになっていると、ネットワーク全体を危険にさらすことになります。

このセキュリティバグについて、ゲーム感覚でチャレンジしてみませんか?私たちのアリーナに足を踏み入れてみてください。[Start Here] (ここからスタート)

不適切な資産管理の欠陥は、APIにどのような影響を与えるのでしょうか?

不適切な資産管理という欠陥は、現代の産物です。ビジネスのスピードに追われる組織では、毎日何百、何千ものサービスやマイクロサービスを立ち上げることがあります。これは、付随するドキュメントの作成や、関連するAPIが何に使用されているのか、どのくらいの期間必要とされるのか、その重要性についての説明がないまま、素早く行われることが多い。特に、APIの存続期間を定義する包括的なポリシーがない場合は、時間の経過とともに手に負えなくなる可能性があります。

そのような環境では、いくつかのAPIが失われたり、忘れ去られたり、あるいは廃止されないことも大いにあり得ます。

また、通常のプロセス以外で新しいサービスを作成する権限を持つユーザーにも原因がある場合があります。例えば、マーケティンググループが、製品発表会などのイベントをサポートするためにサービスを作成し、イベント終了後にそのサービスを元に戻さない場合があります。後でそのサービスと関連するAPIを見た人は、なぜそのサービスが存在するのかわからないかもしれませんし、ドキュメントがなければ謎のままかもしれません。そのAPIがどれほど重要なのか、何をしているのかがわからないため、本番環境からそれらのAPIを削除したり、新しいバージョンにアップグレードしたりすることに抵抗を感じるかもしれません。

脆弱性が危険になるのは、フレームワークのAPIのセキュリティが時間とともに向上するからです。研究者が脆弱性を発見したり、最近増えているタイプの攻撃を阻止するために特別なセキュリティが追加されたりすることがあります。古いAPIは、アップグレードされない限り、それらの攻撃に対して脆弱なままであるため、ハッカーはしばしばそれらのAPIを探したり、自動化されたツールを使って探し出したりします。

OWASPが提供している実例では、ある企業がユーザーデータベースの検索に使用するAPIをアップグレードし、重大な欠陥を修正しました。しかし、誤って古いAPIをそのままにしてしまいました。

攻撃者は、新しいAPIの場所が(api.criticalservice.com/v2)のようになっていることに気づきました。このURLを(api.criticalservice.com/v1)に置き換えることで、既知の脆弱性を持つ古いAPIを代わりに使用することができました。この結果、1億人以上のユーザーの個人情報が流出しました。

不適切な資産管理の不備をなくす

不適切な資産管理の欠陥を環境から排除する唯一の方法は、すべてのAPI、その用途とバージョンをしっかりと把握することだ。そのためには、まず既存のAPIのインベントリーを作成し、本番環境や開発環境など、どのような環境にデプロイすべきか、誰がネットワークにアクセスすべきか、そしてもちろんそのバージョンなどの要素に着目する必要がある。

これが完了したら、新しいAPIやサービスが作成された際に、自動的にドキュメントが追加されるプロセスを導入する必要がある。これには、レート制限、リクエストとレスポンスの処理方法、リソースの共有、接続可能なエンドポイント、適用される関連ポリシーなど、APIのすべての側面が含まれており、後の監査に必要なものも含まれている。また、本番環境以外のAPIや開発環境のAPIを本番環境で使用することは避けるべきです。また、自動的に廃止されないように、APIの所有者がその使用を継続することを正当化しなければならない期限を設けることも検討してください。

アクティブなAPIの新しいバージョンが利用可能になるたびに、リスクassessment 、アップグレードすべきかどうかを判断し、本番環境を混乱させないためにそのプロセスをどのように行うべきかを決定する。新しいAPIへの移行が完了したら、古いAPIを環境から完全に削除する。

これらすべてを行うことで、不適切な資産管理の脆弱性が組織、ユーザー、ネットワークに被害を及ぼすことを防ぐことができます。この脆弱性についての詳細は Secure Code Warriorブログでは、この脆弱性や、他のセキュリティ上の欠陥の被害から組織や顧客を守るための方法について、より詳しい情報を提供しています。また、Secure Code Warrior トレーニングプラットフォームのデモをお試しいただくことで、サイバーセキュリティに関するすべてのスキルを磨き、最新の状態に保つことができます。

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

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