Shadow API の調査:監視/監査されない最も脆弱な存在について考える

Why Shadow APIs are More Dangerous than You Think

2023/04/13 TheHackerNews — シャドー API は、悪意の動作を隠蔽し、データ損失を引き起こす可能性があるため、あらゆる規模の組織にとって、リスクを高めるものになっている。シャドー API とは、公式に文書化/サポートされていない API のことだが、この言葉を知らない人も多いだろう。残念なことだが、運用チームやセキュリティ・チームの誰もが知らない API が、プロダクション環境に存在することが一般的である。企業は何千もの API を管理しているが、その多くは API ゲートウェイや Web アプリケーション・ファイアウォールなどのプロキシを経由していない。つまり、大半の API は監視/監査されない、最も脆弱な存在なのだ。


シャドー API は、セキュリティ・チームからは見えないため、脆弱性を突こうとするハッカーたちに、無防備な経路を提供する。これらの API は、脅威アクターにより操作され、顧客の住所から会社の財務記録に至るまでの、さまざまな機密情報へのアクセスを許す可能性を持つ。データ漏洩やコンプライアンス違反の可能性を考慮すると、シャドー API による不正アクセスを防止することは、ミッションクリティカルな課題となっている。

そこで、API が隠される仕組みと、シャドー API が悪用される可能性について解説していく。また、API の利用状況やトラフィックを監視することの重要性および、シャドー API を特定しする方法、目的に応じたセキュリティ制御でリスクを軽減する方法についても紹介していく。

API はどのように隠されるのか

API の可視性が欠如する要因としては、API 管理の不備/ガバナンスの欠如/不十分な文書化などが考えられる。たとえば、ガバナンスが存在しない場合には、効果的に利用されていない API が、組織内に過剰に保有されるというリスクが生じる。

シャドー API の大部分に対して言えるのは、従業員の減少が原因となる状況である。率直に言って、開発者が、新しい職場へと旅立つときに、それまでに蓄積してきた、すべての知識を共有することはあり得ない。そして、開発者の雇用市場が、これほどまでに熱くなっている現在において、このような問題が起こり得ることは、容易に理解できる。特に、数多くのプロジェクトに開発者が携わっている状況考えると、その傾向は顕著になるだろう。どんなに優秀な社員であっても、引き継ぎ中に何かを見落としてしまうものだ。

また、合併/買収などに際して、受け継がれた API は忘れられる。困難で複雑な作業であるシステム統合の際に、在庫の損失は発生することもあれば、在庫が全く存在しなかったということもあり得る。特に、複数の中小企業を買収した大企業は、統合する API の文書化が不十分だという可能性が高く、リスクも高くなる。

また、セキュリティが不十分な API や、既知の脆弱性が存在している API も、問題の原因となる。アップグレードの際に、新旧のバージョンのソフトウェアを並行して動作させる期間が生じることもある。その場合に、最終的に API を無効化する担当者が、古いバージョンの API を削除し忘れることなどが多々ある。

ハッカーがシャドー API を悪用する方法

シャドー API の存在は、セキュリティ対策を回避した機密データへのアクセスや業務の妨害などを引き起こすため、脅威アクターたちにとって強力なツールとなる。シャドー API を悪用するハッカーたちは、データ流出/アカウント奪取/権限昇格などの、さまざまな攻撃を仕掛けてくる。また、ターゲット内の、重要なシステムやネットワークに関する情報を収集する、偵察目的でも使用されることがある。

さらに、ハッカーはシャドー API を悪用して認証/認可の制御を回避し、より高度な攻撃に利用でするための、特権アカウントにアクセスできる。それは、組織のセキュリティ・チームに知られることなく行われる。たとえば、API 攻撃は自動車業界でも表面化しており、ドライバーと同乗者を非常に危険な状態に陥れている。

この種のインシデントにおいて、API を悪用するサイバー犯罪者が顧客データを取得すると、住所/クレジットカード情報/車体番号などの個人情報の盗難につながる恐れが生じる。また、API の脆弱性が悪用されると、車両の位置情報の漏洩や、リモート管理システムの侵害などが発生する可能性もある。つまり、サイバー犯罪者は、車両のロック解除や、エンジンの始動/停止などを制御できるようになる。

クラウドベース・サービスへの依存度が高まる中において、悪意の人物からデータやシステムを保護するために、先行して シャドー API を発見することが、ますます重要になってきている。

シャドー API のリスクを特定/軽減する方法

シャドー API を特定することが、API セキュリティにとって重要な部分となる。そこには、環境内で実行されている全 API を発見し、その目的を理解し、それらが安全であることを保証するも含まれる。つまり、環境内で実行されている、すべての API をスキャンが必要になるが、それを可能にする API 検出ツールを利用することで、API に関する詳細な情報が提供される。

これらのツールを使用する組織は、環境に存在するシャドー API を特定し、より大きなセキュリティ・リスクが生じる前に、安全性を確保するための措置をとることが可能になる。それを行うことで、ネットワーク・トラフィックにおける不審な動きの監視や、定期的な脆弱性スキャンの実施、すべての API リクエストが認証されていることの確認も完了する。

特定されたシャドー API に対して取るべき対策は、データの暗号化/アクセス権限の制限/セキュリティポリシーの適用などであり、それにより API に関連するリスクが軽減される。さらに、不正なアクセスの試みを迅速に特定して対処するために、適切なログシステムを導入しておくことも必要となる。

Noname Security でシャドー API を発見/排除する

こので、目の前の課題を本当に理解していくために、まとめよう。要するに、シャドー API は、それぞれの組織にとってユニークな課題であるということだ。API は、検出/追跡が困難であるため、ハッカーに身を隠す手段を提供している。つまり、データのセキュリティとプライバシーを脅かす存在である。

Noname Security は、特にシャドー API の正確な追跡が可能となっている。Nonameは、オンプレミス/クラウドを問わず、すべてのデータ・ソースを完全に把握するための一枚のビューを提供する。

この API セキュリティ・プラットフォームが監視するものには、ロードバランサー/API ゲートウェイ/WAF などがあり、HTTP/RESTful/GraphQL/SOAP/XML-RPC/JSON-RPC/gRPC などの、あらゆるタイプの API の検索とカタログ作成が可能になる。信じられないかもしれないが、同社のユーザーの利用結果において、検査以前に考えていたよりも、40% も多くの API が発見されている。

API ディスカバリーについて、また Noname Security によるシャドー API 把握については、同社の Definitive Guide to API Discovery の参照をお勧めする。

API のセキュリティに関しては、2023/03/29 に「API セキュリティの調査:この6ヶ月の攻撃件数が 400% も増加している!」という記事がありました、そして今日の記事は、Shadow API が、どのようにして出来上がってしまうのかを、丁寧に説明してくれるものになっています。この件に関しては、2022/11/01 の「Zombie API と Shadow API の恐ろしさ:API 乱立の副産物に向き合う」という記事もあります。よろしければ、カテゴリ API も、ご参照ください。