ブログ

Coders Conquer Security OWASP Top 10 APIシリーズ - 過度なデータ露出

September 23, 2020
マティアス・マドゥ博士

過剰なデータ露出という脆弱性は、OWASPリストに掲載されている他のAPIの問題とは異なり、非常に特定の種類のデータが関与しているという特徴があります。この脆弱性の背後にあるメカニズム自体は他のものと似ていますが、過剰なデータ露出の場合、法的に保護されたデータや極めて機密性の高いデータが関与していると定義されます。これには、一般的にPIIと呼ばれる個人を特定できる情報が含まれます。あるいは、PCI(決済カード業界)の情報が含まれる場合もあります。最終的に、過剰なデータ露出には、欧州のGDPR(一般データ保護規則)や米国のHIPAA(医療保険の相互運用性と責任に関する法律)など、プライバシー法の対象となるあらゆる情報が含まれる可能性があります。

ご想像の通り、これは深刻な懸念事項であり、優れた開発者が可能な限りこうしたバグを排除する方法を学ぶことが不可欠です。データ露出という強敵に立ち向かう準備ができている方は、ぜひ当社のゲーミフィケーション形式のチャレンジに挑戦してください:

スコアはどうでしたか?詳細については以下をお読みください:

過剰なデータ露出の例にはどのようなものがありますか?

過剰なデータ露出が発生する主な理由の一つは、開発者やコーダーが、アプリケーションで使用されるデータの種類について十分な洞察を持っていないことです。そのため、開発者はすべてのオブジェクトプロパティをエンドユーザーに公開するような汎用的なプロセスを利用しがちです。

また、開発者はフロントエンドコンポーネントがユーザーに情報を表示する前にデータフィルタリングを行うだろうと思い込んでいることもあります。一般的なデータであれば、これが問題になることはほとんどありません。しかし、例えばセッションIDの一部として法的に保護されたデータや機密データをユーザーに公開してしまうと、セキュリティと法的な観点の両方から大きな問題につながる可能性があります。

機密データがいかに簡単に誤って共有されてしまうかを示す例として、OWASPレポートでは、警備員が施設内の特定のIoTカメラへのアクセス権を与えられているシナリオを想定しています。おそらく、それらのカメラは封鎖された安全なエリアを監視していますが、人を映す他のカメラは、より高い権限を持つ警備員や監督者のみに制限されるべきものです。

警備員に許可されたカメラへのアクセス権を与えるために、開発者は次のようなAPI呼び出しを使用するかもしれません。

/api/sites/111/cameras

これに対し、アプリは警備員が見ることのできるカメラの詳細を以下の形式で送信します:

{ "id":"xxx","live_access_token":"xxxxbbbbb","building_id":"yyy"}

一見すると、これは問題なく機能しているように見えます。アプリのグラフィカルユーザーインターフェースを使用している警備員には、閲覧を許可されたカメラ映像のみが表示されます。問題は、使用されているコードが汎用的であるため、実際のAPIレスポンスには施設全体のすべてのカメラのリストが含まれてしまうことです。ネットワークを傍受してそのデータを取得した人物や、警備員のアカウントを乗っ取った人物は、ネットワーク上のすべてのカメラの場所と名称を知ることができてしまいます。そして、それらのデータに制限なくアクセスできてしまうのです。

過剰なデータ露出の排除

過剰なデータ露出を防ぐための最大の鍵は、データとそれを取り巻く保護措置を理解することです。汎用的なAPIを作成し、ユーザーに表示する前のデータの選別をクライアント任せにすることは、多くの防ぐべきセキュリティ侵害を招く危険な選択です。

関連するデータ保護を理解することに加え、汎用APIを使用してすべてをユーザーに送信するプロセスを停止することも重要です。例えば、to_json()やto_string()といったコードの使用は避けなければなりません。代わりに、権限のある ユーザーに返す必要のあるプロパティを具体的に選択し、その情報のみを送信するようにコードを記述すべきです。

保護されたデータが誤って過剰に共有されることを防ぐ方法として、組織はセキュリティの追加レイヤーとしてスキーマベースのレスポンス検証メカニズムの実装を検討すべきです。これにより、エラー報告のルールを含め、すべてのAPIメソッドによって返されるデータを定義し、強制する必要があります。

最後に、PIIやPCIを含むと分類されるすべてのデータ、またはGDPRやHIPAAなどの規制によって保護されている情報は、強力な暗号化を使用して保護する必要があります。そうすれば、過剰なデータ露出の脆弱性の一部としてそのデータの場所が漏洩したとしても、二次的な防御策が機能し、悪意のあるユーザーや脅威アクターの手に渡った場合でもデータを保護できる可能性があります。

この脆弱性に関する詳細や、組織や顧客を他のセキュリティ上の欠陥から守る方法については、Secure Code Warriorのブログページをご覧ください。また、Secure Code Warriorトレーニングプラットフォームのデモを試して、サイバーセキュリティのスキルを常に磨き、最新の状態に保つこともできます。

タグライン

AI主導の開発をリリース前にガバナンスする

AIを活用したリスク測定、コミット時のセキュアコーディングポリシーの強制、そしてSDLC全体を通じたセキュアなデリバリーの加速を実現します。

デモを予約する
リソースライブラリ

他のブログ記事を見る

セキュアコーディング、AIガバナンス、ソフトウェアリスク管理に関する専門的なコンテンツをご覧ください。

すべて表示
導入事例
フィルターラベル
これはdivブロック内のテキストです。

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

詳細はこちら
導入事例
フィルターラベル
これはdivブロック内のテキストです。

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

詳細はこちら
導入事例
フィルターラベル
これはdivブロック内のテキストです。

セキュリティ文化の統一:Sageはいかにしてチャンピオンプログラムを構築したか

Sageがどのようにして柔軟かつ関係性を重視したアプローチでセキュリティを強化し、200名以上のセキュリティチャンピオンを育成して、目に見えるリスク低減を実現したのかをご紹介します。

詳細はこちら
ブログ
フィルターラベル
これはdivブロック内のテキストです。

2026年サイバーセキュリティ意識向上月間:企業防衛に不可欠なAIセキュリティの理解

主要なAI企業の多くが、安全対策が追いつくまでの間、AI開発を世界的に減速させるよう公に呼びかける事態となっています。しかし現実には、深刻なセキュリティ問題はすでに顕在化しています。AI導入に伴う金銭的コストやリスクが増大し続ける中、多くのセキュリティリーダーや経営陣は差し迫った状況に追い込まれています。

詳細はこちら
ブログ
フィルターラベル
これはdivブロック内のテキストです。

イネーブラー8:プログラムのブランディング

セキュアコーディングプログラムを成功させるには、優れたコンテンツ以上のものが必要です。イネーブラー8では、ブランディングによって参加を「憧れのステータスを得る体験」へと変える方法を解説します。

詳細はこちら
ブログ
フィルターラベル
これはdivブロック内のテキストです。

すべての従業員が今、AIサイバーセキュリティの最前線に立っている

エンタープライズテクノロジーの状況は、手遅れになるまで誰も予測できなかったほどの速さで変化しています。私たちは今、人間が書いたコードと基本的なコパイロット支援の時代から、エージェント型開発ライフサイクル(ADLC)の時代へと正式に足を踏み入れました。自律型AIエージェントは、複数の機能にわたってかつてない効率性をもたらす一方で、全く新しい種類のセキュリティリスクや規制リスクも引き起こしています。

詳細はこちら

AIを活用した開発をリリース前にセキュアに

開発者のリスクを可視化し、ポリシーを適用することで、ソフトウェア開発ライフサイクル全体における脆弱性を未然に防ぎます。

デモを予約する
該当する項目が見つかりません。