Share via


Microsoft セキュリティ アドバイザリ 4338110

CBC 対称暗号化セキュリティ機能バイパスに関する Microsoft ガイダンス

公開日: 2018 年 6 月 12 日

バージョン: 1.0

一般情報

概要

Microsoft は、対称暗号化での暗号ブロック チェーン (CBC) モードの使用に関する改善されたガイダンスを発表しています。 埋め込まれた CBC ブロック暗号が追加のデータ整合性チェックなしで使用される場合、特定の状況で "パディング オラクル" セキュリティ機能バイパスの脆弱性が存在する可能性があります。 これにより、攻撃者は暗号化キーを知らずに暗号化されたデータの暗号化を解除し、改ざんする可能性があります。 この脆弱性は、ローカルおよびネットワークベースの攻撃の両方で使用できます。

この脆弱性は、データの予測不可能な性質により、暗号化がコード化され、誤検知率が高いプログラムでは識別できない方法に起因します。 この脆弱性は、メッセージが正しく埋め込まれているかどうかに関するクエリに自由に応答する "パディング オラクル" を持つことに依存します。 攻撃は、暗号化されたデータを変更し、Oracle で結果をテストする機能に依存します。 攻撃を完全に軽減する唯一の方法は、暗号化されたデータへの変更を検出し、それに対するアクションの実行を拒否することです。 これを行う標準的な方法は、データの検証可能な署名を作成し、その署名を検証してから操作を実行することです。

潜在的な問題は、保存データまたは転送中のデータに適用される可能性があり、転送中の機密性を持つすべてのデータをトランスポート層セキュリティ (TLS、Secure Sockets Layer (SSL) の後継) 経由で送信することをお勧めします。 メッセージング形式を変更できないが、認証されていない CBC 復号化を実行するアプリケーションには、軽減策を組み込むことをお勧めします。 現在の調査に基づいて、認証と暗号化の手順が (AE 以外の暗号化モードの場合) 個別に実行される場合、暗号テキストの認証 (暗号化時署名) が最適な一般的なオプションであると一般的に考えられています。 しかし、暗号に対する万能の正解はなく、この一般化はプロの暗号士からの指示されたアドバイスほど良くはありません。

要約すると、埋め込まれた CBC ブロック暗号を安全に使用するには、データの暗号化を解除する前に、一定時間比較を使用して検証するキー付きハッシュ メッセージ認証コード (HMAC) (または別のデータ整合性チェック) と組み合わせる必要があります。 変更されたすべてのメッセージは、応答を生成するのに同じ時間がかかるため、攻撃は防止されます。 この脆弱性のインスタンスを見つけるのに役立つよう、Microsoft は、更新されたドキュメント 「パディングを使用した CBC モード対称復号化のタイミングの脆弱性」で説明されているように、コード レビューを実行する方法を示すガイダンスをリリースしました。 Microsoft の製品とサービスはレビューされ、影響を受けません。

  1. Microsoft アプリケーションを最新の状態に保ちます。
  2. 独自の暗号化と暗号化解除を実行するカスタム アプリケーションがあるかどうかを判断します。
  3. 参照先のドキュメントを読んで、脆弱なコードを識別する方法を決定します。

その他の推奨されるアクション

  • PC を保護する
    ファイアウォールの有効化、ソフトウェア更新プログラムの取得、ウイルス対策ソフトウェアのインストールに関する Microsoft のコンピューター保護ガイダンスに従うことをお客様に引き続きお勧めします。 詳細については、「Microsoft セーフty & Security Center」を参照してください

  • Microsoft ソフトウェアを最新の状態に保つ
    Microsoft ソフトウェアを実行しているユーザーは、コンピューターが可能な限り保護されていることを確認するために、最新の Microsoft セキュリティ更新プログラムを適用する必要があります。 ソフトウェアが最新かどうかわからない場合は、Microsoft Update にアクセスし、コンピューターで利用可能な更新プログラムをスキャンし、提供されている優先度の高い更新プログラムをインストールします。 自動更新を有効にして、Microsoft 製品の更新プログラムを提供するように構成している場合、更新プログラムはリリース時に配信されますが、インストールされていることを確認する必要があります。

その他の情報

Microsoft Active Protections Program (MAPP)

お客様のセキュリティ保護を強化するために、Microsoft は、毎月のセキュリティ更新プログラムのリリースの前に、主要なセキュリティ ソフトウェア プロバイダーに脆弱性情報を提供します。 セキュリティ ソフトウェア プロバイダーは、この脆弱性情報を使用して、ウイルス対策、ネットワークベースの侵入検出システム、ホストベースの侵入防止システムなどのセキュリティ ソフトウェアまたはデバイスを介して、お客様に更新された保護を提供できます。 セキュリティ ソフトウェア プロバイダーからアクティブな保護を利用できるかどうかを判断するには、Microsoft Active Protections Program (MAPP) パートナーに記載されているプログラム パートナーによって提供されるアクティブな保護 Web サイトを参照してください。

フィードバック

  • Microsoft のヘルプとサポートフォーム、カスタマー サービスのお問い合わせフォームに入力することで、 フィードバックを提供できます。

サポート

  • 米国およびカナダのお客様は、セキュリティ サポートからテクニカル サポート受けることができます。 詳細については、Microsoft のヘルプとサポートを参照してください
  • 海外のお客様は、現地の Microsoft 子会社からサポートを受けることができます。 詳細については、国際サポートを参照してください。
  • Microsoft TechNet Security は、Microsoft 製品のセキュリティに関する追加情報を提供します。

免責情報

このアドバイザリで提供される情報は、いかなる種類の保証もなく「現状のまま」提供されます。 Microsoft は、商品性と特定の目的に対する適合性の保証を含め、明示または黙示を問わず、すべての保証を放棄します。 Microsoft Corporation またはそのサプライヤーは、Microsoft Corporation またはそのサプライヤーがこのような損害の可能性について通知された場合でも、直接的、間接的、付随的、派生的、ビジネス上の利益の損失、または特別な損害を含む一切の損害について一切の責任を負いません。 一部の州では、派生的損害または付随的損害に対する責任の除外または制限が認められていないため、前述の制限は適用されない場合があります。

リビジョン

  • V1.0 (2018 年 6 月 12 日): アドバイザリが公開されました。