San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
閉じる
プライバシー設定
ウェブサイト運営に必要なCookieや類似技術を使用しています。追加のCookieは貴社の同意がある場合のみ利用されます。同意は「Agree」をクリックすることでいただけます。どのデータが収集され、どのようにパートナーと共有されているかの詳細は、Cookieポリシープライバシーポリシーをご確認ください。
Cookieは、貴社デバイスの特性や、IPアドレス、閲覧履歴、位置情報、固有識別子などの特定の個人情報を取得、解析、保存するために使用されます。これらのデータは様々な目的で利用されます。分析Cookieによりパフォーマンスを評価し、オンライン体験やキャンペーンの効果向上に役立てます。パーソナライズCookieは、利用状況に応じた情報やサポートを通じ、貴社専用の体験を提供します。広告Cookieは、第三者が貴社のデータをもとにオーディエンスリストを作成し、ソーシャルメディアやネット上でのターゲット広告に使用します。貴社は各ページ下部のリンクから、いつでも同意の許可、拒否、または撤回が可能です。
ご送信ありがとうございます。内容を受け付けました。
申し訳ありません。フォーム送信時にエラーが発生しました。
/
/
OWASP, Attacks, Vulnerabilities, API Security

A02:2021 – 暗号失敗 OWASP:サイバー問題を正しく把握する

はじめに

暗号技術はシステムの安全性を高めるために不可欠ですが、必ずしも完全ではありません。OWASP Top 10リストが発表され、世界で最も危険で注目すべきサイバー脆弱性について改めて示されました。

注目すべきは、新たに加えられたA02:2021 – 暗号失敗です。多くのAPIセキュリティ専門家が懸念するこの脆弱性は、2017年のTop 10リストには見られなかったため、驚きを持って受け止められました。

この脆弱性は開発者やサイバーセキュリティ業界に大きな影響を与えました。さらに詳しく知りたい場合は下までスクロールしてください。予想以上の問題を引き起こしているため、その意味と防止策について解説しています。

A02:2021 – 暗号失敗 OWASP:サイバー問題を正しく把握する

暗号失敗とは

OWASPの暗号失敗の定義(2021)によれば、これは原因ではなく症状である。この問題により、重要かつ機密なデータが悪意ある相手に漏れるおそれがある。こうしたデータを守らなければ、盗難、公開、侵害などの問題が発生する可能性があります。

2017年のリストでは「Sensitive Data Exposure」として扱われていました。しかし、2021年のリストでは、業務上重要なデータの暗号化に限定されたため「Cryptographic Failure」となりました。ここで主に見られるCWEは以下の通りです: 

  • CWE-259:アプリ内にハードコードされたパスワードの使用に関するもの;
  • CWE-331:ランダム関数が適切に動作しないためにエントロピーが不足するもの;
  • CWE-327:脆弱または危険な暗号アルゴリズムの利用に関するもの。

注: CWEはCommon Weakness Enumerationsの略です。

機密データの管理にあたっては、保存中のデータと転送中のデータの両方を考慮する必要があります。

  • 保存中のデータ

保存中のデータとは、現在アプリで利用されていないものの、大切なデータを指します。保存されたパスワードや、アプリへのアクセス情報などがその例です。未公開のオフラインデータや古い記録も保存中のデータに含まれます。

ビジネスでは、しっかりと暗号化またはハッシュ化された保管場所を利用することが望ましく、それができていないと暗号失敗の脆弱性にさらされる可能性があります。

  • 転送中のデータ

転送中のデータとは、アプリが現在処理または使用しているデータのことです。たとえば、決済プロセス中に暗号化された媒体を通じて送信される銀行情報は、中間者攻撃の被害に遭う恐れがあります。

理解を深めるため、一般的な暗号失敗の例を以下に紹介します。

攻撃の例

例1

たとえば、アプリベースのソリューションでクレジットカード情報を自動のデータベース暗号化で保護しているにもかかわらず、取得時に自動的に復号しない場合を考えます。これにより、SQLインジェクション攻撃のチャンスが生じます。SQLインジェクション攻撃が成功すると、攻撃者が保存されたクレジットカード情報を入手し、自由に利用する可能性があります。

例2

ウェブサイトの場合、暗号化が弱い、またはすべてのページでTLS暗号化が実装されていないことが大きな脅威となります。そのようなサイトは、トラフィックの監視、リクエストの傍受、クッキーの窃取、さらにはHTTPSからHTTPへの強制的な切替の対象となり得ます。

さらに、攻撃者は乗っ取ったクッキーを用いて、貴社のユーザーの機密データへ不正にアクセスする恐れがあります。また、十分に暗号化されていないサイトでは、転送中のデータが改ざんされる可能性もあります。

例3

パスワードデータベースでは、通常、単純なハッシュやソルト未使用のハッシュが使われます。ファイルアップロード時のエラーが発生すると、攻撃者にパスワードを盗まれるチャンスとなります。ソルト未使用のハッシュの場合、既算出のハッシュにさらされ、単純なハッシュの場合はGPUによって解読される恐れがあります。

OWASPが推奨する防止策

OWASPは脆弱性の指摘だけでなく、それに対する実行可能な解決策も提案しています。これにより、2021年のリストに載った問題が、OWASP Top 10 2022以降に再び取り上げられる可能性が低くなります。

暗号失敗に関しても、詳細な予防策が示されています。

  • データの処理、保管、転送の状況を把握し、分類してください。適用されるプライバシー法規に従い、機密データを正確に特定し、強固なセキュリティ対策を実施することが重要です。
  • 不要または重複するデータの保管は、セキュリティ資源の無駄となるため、できるだけ早く廃棄するのが賢明です。PCI DSS準拠のトークン化や切り詰め処理も有効な方法です。
  • 保存中および転送中のデータはすべて、十分に暗号化されるべきです。また、堅牢な標準アルゴリズム、ログインキー、プロトコル、エンドツーエンドの鍵管理などのセキュリティ対策も併せて実施してください。
  • 転送中のデータには、TLSプロトコルにFS暗号や安全なパラメータを組み合わせることで、より確実なセキュリティを確保してください。サーバー側で暗号の優先順位を設定することも必要です。HTTP Strict Transport Security(HSTS)を用いた強力な暗号化も有効です。
  • 機密データを含むレスポンスではキャッシュを無効にし、機密データは軍用レベルの暗号化で守る必要があります。256ビット未満の暗号化は認められず、FTPやSMTPなどの旧プロトコルを機密情報に使用してはなりません。
  • データの分類に応じた適切なセキュリティ対策を講じてください。
  • 強固なパスワードの重要性は言うまでもありません。すべての強固なパスワードは、しっかりとソルトが施された適応型ハッシュで保管し、処理負荷や遅延要因(PBKDF2、bcrypt、scrypt、Argon2など)を付与してください。
  • 初期化ベクトル(IV)の選定は、運用モードに応じて行い、複数モードが存在する場合はCSPRNG(暗号学的に安全な疑似乱数生成器)の使用が推奨されます。ノンスが必要なモードではCSPRNGは不要ですが、同一の鍵に対してIVを2回以上使用してはなりません。
  • 適用される暗号化は、まず認証を行った上で使用してください。
  • 暗号鍵は暗号学的にランダムに生成し、バイト配列の形でメモリ内に保管する必要があります。使用するパスワードは、適切なパスワードベースの鍵派生関数を用いて鍵に変換してください。
  • 暗号学的乱数を使用することは、暗号失敗のリスクを低減する有効な手段ですが、乱数の種が不十分なエントロピーや予測可能な方法で生成されていないか十分に確認してください。そうでなければ効果は期待できません。
  • MD5、SHA1、およびPKCS#1 v1.5は、パッディング方式や非推奨の暗号関数の例として、これらは確実に避けるべきです。
  • 設定や構成についても、その有効性を十分に検証する必要があります。

Wallarmが暗号失敗対策にどう役立つか

A02:2021 – 暗号失敗は手強い問題ですが、少しの注意と適切な対策により、この脆弱性から守ることが可能です。

Wallarmという業界で評価の高いAPIセキュリティプラットフォームは、さまざまな有効な予防ツールを提供しています。

例えば、使いやすく自動化された予防手段が充実したCloud WAFは、主要なAPI全般に対応し、広範囲にわたる保護を実現します。

さらに、APIの監視、脅威検知、予防、テスト機能を備えた機能豊富なAPIセキュリティソリューションにより、APIで扱われる機密データを最初から最後まで守ることができます。

最後に、実働中のWAFをテストするための非常に強力なセキュリティツール、GotestWAFを提供しており、WAFの実際の性能やAppSecソリューションが検知した脅威の状況を明確に把握することが可能です。

これら3つのソリューションによって、機密な暗号データを確実に守ることができます。

FAQ

Open
なぜA02:2021はWebアプリのセキュリティにとって重要?
Open
A02:2021 – 暗号の失敗とは?
Open
暗号技術の失敗例にはどんなものがありますか?
Open
ウェブアプリを暗号の失敗からどう守るか?

参考資料

OWASP - Official website

Section on Cryptographic Failures - Discussion on GitHub

最新情報を購読

更新日:
February 25, 2025
学習目標
最新情報を購読
購読
関連トピック