コンテンツにスキップ

Secure Sockets Layer/BEAST攻撃

出典: フリー教科書『ウィキブックス(Wikibooks)』

BEAST攻撃(Browser Exploit Against SSL/TLS)は、2011年に発見されたSSL/TLSプロトコルの脆弱性を悪用したサイバー攻撃の一種です。この攻撃は、主にTLS 1.0およびSSL 3.0のCBC(Cipher Block Chaining)モードを使用した暗号化通信を標的とし、暗号化されたデータを解読することを目的としています。

BEAST攻撃の概要

[編集]

BEAST攻撃は、TLS 1.0およびSSL 3.0のCBCモードにおける設計上の欠陥を利用します。CBCモードでは、各ブロックの暗号化が前のブロックの暗号文に依存するため、攻撃者はこの特性を悪用して暗号化されたデータを解読することが可能です。

攻撃の手順

[編集]
  1. 初期化ベクトル (IV) の予測:
    • CBCモードでは、各ブロックの暗号化に初期化ベクトル (IV) が使用されます。BEAST攻撃では、攻撃者がIVを予測または制御することで、暗号化されたデータを解読します。
  2. 選択平文攻撃:
    • 攻撃者は、特定の平文を暗号化させ、その結果を観察することで、暗号化されたデータを1バイトずつ解読します。
  3. 暗号文の解読:
    • 攻撃者は、暗号化されたデータを繰り返し送信し、IVの予測と選択平文攻撃を組み合わせることで、平文を復元します。

BEAST攻撃の影響

[編集]
  • 機密情報の漏洩:
    • 攻撃者が暗号化された通信を解読することで、クッキーやパスワードなどの機密情報が盗まれる可能性があります。
  • セッションハイジャック:
    • クッキーを盗むことで、攻撃者はユーザーのセッションを乗っ取り、なりすまし行為を行うことができます。

BEAST攻撃の対策

[編集]

BEAST攻撃を防ぐためには、以下の対策が有効です。

  1. TLS 1.1以降の使用:
    • TLS 1.1およびTLS 1.2では、CBCモードの脆弱性が修正されています。これらのバージョンを使用することで、BEAST攻撃を防ぐことができます。
    Nginxでの設定例:
    ssl_protocols TLSv1.2 TLSv1.3;
    
    Apacheでの設定例:
    SSLProtocol all -SSLv3 -TLSv1
    
  2. RC4の使用(非推奨):
    • 過去には、RC4暗号を使用することでBEAST攻撃を防ぐ方法もありましたが、RC4自体にも脆弱性が発見されているため、現在では非推奨です。
  3. 1/n-1レコード分割:
    • TLS 1.0を使用する場合、1/n-1レコード分割と呼ばれる手法を使用して、BEAST攻撃のリスクを軽減することができます。この手法では、最初のバイトを別のレコードとして送信することで、攻撃者がIVを予測するのを困難にします。

まとめ

[編集]

BEAST攻撃は、TLS 1.0およびSSL 3.0のCBCモードの脆弱性を悪用した重大なセキュリティリスクです。この攻撃を防ぐためには、TLS 1.1以降の使用や1/n-1レコード分割などの対策を実施することが重要です。セキュリティを強化し、ユーザーのデータを保護するために、これらの対策を実施してください。