Coders Conquer Security:シェア&ラーンシリーズ - 機密データの暴露

2019年09月04日掲載
ジャープ・カラン・シン著
ケーススタディ

Coders Conquer Security:シェア&ラーンシリーズ - 機密データの暴露

2019年09月04日掲載
ジャープ・カラン・シン著
リソースを見る
リソースを見る

例えば、マリオットでは3億人以上の顧客情報が盗まれ、Equifaxでは1億5,000万人の顧客情報が盗まれるなど、ここ数年で最も注目を集め、大きな影響を与えたデータ漏えい事件の原因となっています。中程度の高度な技術が要求され、攻撃者側に特別な装備が必要になることもありますが、多くの場合、ハッカーが実行するのはさほど難しくなく、攻撃機能の一部を自動化するツールも存在します。

機密データの漏洩は、許可された人しか見ることができない情報が、暗号化されていない、保護されていない、あるいは保護が弱い状態で、許可されていない人に公開される場合に発生します。多くの場合、クレジットカード番号、ユーザーID、企業秘密、法律や業界規制で保護されている可能性のある個人情報など、ハッカーが盗みたいと思うデータが含まれます。

ハッカーは、機密情報を暗号化せずに保存したり、暗号化スキームを間接的に攻撃することで、機密情報を盗むことができます。強力な暗号を直接解読しようとするのではなく、暗号鍵を盗んだり、輸送の準備中など、暗号化されていない状態にデータが移動したときに攻撃したりするのです。

このエピソードでは、以下のことを学びます。

  • 攻撃者がどのようにして機密データの暴露を引き起こすか
  • なぜ機密データの漏洩が危険なのか
  • この脆弱性を修正することができる技術

攻撃者はどのようにしてセンシティブなデータの露出を利用するのか?

機密データの漏洩は、通常、サイトがデータを保護するために強力なエンドツーエンドの暗号化を採用していない場合や、保護スキームに悪用可能な欠陥がある場合に起こります。また、使用されている暗号が特に脆弱であったり、古いものであったりする場合にも起こります。

ハッカーは、暗号化がどこにでも拡張できるわけではない場合、暗号化を回避する方法を見つけようとすることがよくあります。例えば、ユーザーIDデータベースが情報を暗号化した状態で保存していて、取り出したときに自動的に復号化する場合、ハッカーは、以前このブログで取り上げたSQL インジェクションXMLインジェクションなどの攻撃の1つを使って、データベースに復号化処理を行うように命令することができるかもしれません。そうすれば、データはハッカーのために復号化され、追加の作業は必要ありません。鍵を盗むことができるのに、なぜ鉄のドアを壊そうとするのでしょうか?

また、暗号化の弱さも問題となります。例えば、クレジットカードが古い暗号化方式で保存されている場合、ハッカーがローカルファイル取り込みの脆弱性などを利用して、データベース全体を自分のコンピュータに引き込んでしまうと問題になります。取得したデータがAES-256ビットのような強力な暗号化方式で保護されていれば、ハッカーの手に渡っても破られることはありません。しかし、古いDESのような弱い暗号が使われていた場合は、GPU(Graphics Processing Unit)ラックなどの特殊な機器を持ったハッカーであれば、比較的短時間で暗号を破ることができます。

なぜ機密データの漏洩が危険なのか?

機密データの漏洩は、保護された情報を許可されていないユーザーに見られてしまうという点で危険です。重要なデータでなければ保護されていないので、その保護が破られると問題になります。このような状況は、企業にとっては決して避けたいものです。

機密データの流出がどの程度の問題を引き起こすかは、流出したデータの種類によって異なります。ユーザーやパスワードのデータが盗まれると、そのデータを使ってシステムへのさらなる攻撃が行われる可能性があります。また、個人情報が流出すると、個人情報の盗難やフィッシングなどの二次的な攻撃を受ける可能性があります。また、米国の医療保険の相互運用性と説明責任に関する法律(HIPAA)や欧州の一般データ保護規則(GDPR)などで法的に保護されているデータが流出した場合、企業は多額の罰金や行政処分を受ける可能性があります。

機密データの流出を防ぐ

機密データの漏洩を防ぐには、企業内の機密データを強力かつ最新の状態でエンドツーエンドに暗号化することから始まります。これには、保存中のデータと転送中のデータの両方が含まれます。ストレージに保管されている機密データを暗号化するだけでは十分ではありません。使用前や輸送前に暗号化されていなければ、サーバーを騙して暗号化を解除させる二次攻撃によって、機密データが漏洩する可能性があります。

移動中のデータは、TLS(Transport Layer Security)を使用して常に保護し、移動中のデータに対するマンインザミドルやその他の攻撃による漏洩を防ぐ必要があります。また、機密データをネットワーク上のどこかにキャッシュすることはできません。機密データは、強力な暗号化を施して保管するか、TLSで保護して送信することで、攻撃者に弱点を与えません。

最後に、組織で保護されている機密データの種類を調べてみましょう。もし、そのようなデータを保存する理由がないのであれば、捨ててしまいましょう。何のメリットもないのに、トラブルに巻き込まれる可能性があるからです。オリジンが保持していないデータは、オリジンから盗むことはできません。

機密データの暴露に関する詳細情報

さらに、OWASPが機密データの暴露についてどのように述べているかを読んでみてください。また、サイバーセキュリティチームを究極のサイバー戦士に育成するSecure Code Warrior プラットフォームの無料デモで、新たに得た防御の知識を試すこともできます。この脆弱性やその他の脅威の対策についての詳細は、Secure Code Warrior ブログをご覧ください。

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

著者

Jaap Karan Singh

もっと知りたい?

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

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

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

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

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

リソース・ハブ

Coders Conquer Security:シェア&ラーンシリーズ - 機密データの暴露

2019年09月04日掲載
Jaap Karan Singh著

例えば、マリオットでは3億人以上の顧客情報が盗まれ、Equifaxでは1億5,000万人の顧客情報が盗まれるなど、ここ数年で最も注目を集め、大きな影響を与えたデータ漏えい事件の原因となっています。中程度の高度な技術が要求され、攻撃者側に特別な装備が必要になることもありますが、多くの場合、ハッカーが実行するのはさほど難しくなく、攻撃機能の一部を自動化するツールも存在します。

機密データの漏洩は、許可された人しか見ることができない情報が、暗号化されていない、保護されていない、あるいは保護が弱い状態で、許可されていない人に公開される場合に発生します。多くの場合、クレジットカード番号、ユーザーID、企業秘密、法律や業界規制で保護されている可能性のある個人情報など、ハッカーが盗みたいと思うデータが含まれます。

ハッカーは、機密情報を暗号化せずに保存したり、暗号化スキームを間接的に攻撃することで、機密情報を盗むことができます。強力な暗号を直接解読しようとするのではなく、暗号鍵を盗んだり、輸送の準備中など、暗号化されていない状態にデータが移動したときに攻撃したりするのです。

このエピソードでは、以下のことを学びます。

  • 攻撃者がどのようにして機密データの暴露を引き起こすか
  • なぜ機密データの漏洩が危険なのか
  • この脆弱性を修正することができる技術

攻撃者はどのようにしてセンシティブなデータの露出を利用するのか?

機密データの漏洩は、通常、サイトがデータを保護するために強力なエンドツーエンドの暗号化を採用していない場合や、保護スキームに悪用可能な欠陥がある場合に起こります。また、使用されている暗号が特に脆弱であったり、古いものであったりする場合にも起こります。

ハッカーは、暗号化がどこにでも拡張できるわけではない場合、暗号化を回避する方法を見つけようとすることがよくあります。例えば、ユーザーIDデータベースが情報を暗号化した状態で保存していて、取り出したときに自動的に復号化する場合、ハッカーは、以前このブログで取り上げたSQL インジェクションXMLインジェクションなどの攻撃の1つを使って、データベースに復号化処理を行うように命令することができるかもしれません。そうすれば、データはハッカーのために復号化され、追加の作業は必要ありません。鍵を盗むことができるのに、なぜ鉄のドアを壊そうとするのでしょうか?

また、暗号化の弱さも問題となります。例えば、クレジットカードが古い暗号化方式で保存されている場合、ハッカーがローカルファイル取り込みの脆弱性などを利用して、データベース全体を自分のコンピュータに引き込んでしまうと問題になります。取得したデータがAES-256ビットのような強力な暗号化方式で保護されていれば、ハッカーの手に渡っても破られることはありません。しかし、古いDESのような弱い暗号が使われていた場合は、GPU(Graphics Processing Unit)ラックなどの特殊な機器を持ったハッカーであれば、比較的短時間で暗号を破ることができます。

なぜ機密データの漏洩が危険なのか?

機密データの漏洩は、保護された情報を許可されていないユーザーに見られてしまうという点で危険です。重要なデータでなければ保護されていないので、その保護が破られると問題になります。このような状況は、企業にとっては決して避けたいものです。

機密データの流出がどの程度の問題を引き起こすかは、流出したデータの種類によって異なります。ユーザーやパスワードのデータが盗まれると、そのデータを使ってシステムへのさらなる攻撃が行われる可能性があります。また、個人情報が流出すると、個人情報の盗難やフィッシングなどの二次的な攻撃を受ける可能性があります。また、米国の医療保険の相互運用性と説明責任に関する法律(HIPAA)や欧州の一般データ保護規則(GDPR)などで法的に保護されているデータが流出した場合、企業は多額の罰金や行政処分を受ける可能性があります。

機密データの流出を防ぐ

機密データの漏洩を防ぐには、企業内の機密データを強力かつ最新の状態でエンドツーエンドに暗号化することから始まります。これには、保存中のデータと転送中のデータの両方が含まれます。ストレージに保管されている機密データを暗号化するだけでは十分ではありません。使用前や輸送前に暗号化されていなければ、サーバーを騙して暗号化を解除させる二次攻撃によって、機密データが漏洩する可能性があります。

移動中のデータは、TLS(Transport Layer Security)を使用して常に保護し、移動中のデータに対するマンインザミドルやその他の攻撃による漏洩を防ぐ必要があります。また、機密データをネットワーク上のどこかにキャッシュすることはできません。機密データは、強力な暗号化を施して保管するか、TLSで保護して送信することで、攻撃者に弱点を与えません。

最後に、組織で保護されている機密データの種類を調べてみましょう。もし、そのようなデータを保存する理由がないのであれば、捨ててしまいましょう。何のメリットもないのに、トラブルに巻き込まれる可能性があるからです。オリジンが保持していないデータは、オリジンから盗むことはできません。

機密データの暴露に関する詳細情報

さらに、OWASPが機密データの暴露についてどのように述べているかを読んでみてください。また、サイバーセキュリティチームを究極のサイバー戦士に育成するSecure Code Warrior プラットフォームの無料デモで、新たに得た防御の知識を試すこともできます。この脆弱性やその他の脅威の対策についての詳細は、Secure Code Warrior ブログをご覧ください。

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

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