TLS攻撃:BEAST、POODLE、ダウングレード
過去のTLS攻撃と、TLS 1.3で導入された対策を学びます。
「TLS攻撃:BEAST、POODLE、ダウングレード」はCoddyKit上の無料Cryptology Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCryptology Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cryptology Academyコースには全4レッスンが含まれています。
攻撃の分類
TLSへの攻撃は、プロトコルレベル(BEAST、POODLE、DROWN)、暗号技術レベル(RC4の偏り、Lucky13)、実装レベル(Heartbleed、BERserk)に分類できます。TLS 1.3は脆弱なアルゴリズムを削除することで、プロトコルレベルの攻撃を排除しています。
BEAST(2011年)
Browser Exploit Against SSL/TLSは、TLS 1.0のCBCモードを悪用します。TLS 1.0では、各レコードのIVが前のレコードの最後の暗号文ブロックになるため、IVを予測できます。攻撃者は選択した平文ブロックを注入し、選択境界攻撃によってセッションCookieを復元します。
BEASTの軽減策
対策は、TLS 1.1以降(レコードごとにランダムなIVを使用)を使うことです。または、CBCの代わりにRC4を使う方法もありますが、望ましいトレードオフではありません。現在の対策であるTLS 1.3はAEADのみを使用し、CBCを使いません。TLS 1.1が広く普及する前には、ブラウザーが1/n-1レコード分割によってBEASTを軽減していました。
POODLE(2014年)
Padding Oracle On Downgraded Legacy Encryptionは、SSL 3.0のCBCモードを攻撃します。SSL 3.0のパディングは完全性によって保護されないため、パディングオラクルが可能になります。攻撃者は接続失敗を利用してSSL 3.0へのダウングレードを強制し、その後、約256回のリクエストごとに1バイトを復号します。
POODLEの軽減策
SSL 3.0を完全に無効にしてください。TLS_FALLBACK_SCSV拡張は、意図的なダウングレードを示し、悪意のあるダウングレードを防ぎます。POODLEは、CBCパディングの構造を適切に無視するTLS実装にも当てはまります。
DROWN(2016年)
Decrypting RSA with Obsolete and Weakened eNcryptionは、サーバーがSSLv2を受け入れる別のサーバーとRSA鍵を共有している場合に発生します。SSLv2に対するBleichenbacher型のパディングオラクル攻撃によって、TLS 1.2のセッションを復号できます。HTTPSサーバーの33%が影響を受けました。
ダウングレード攻撃
アクティブな攻撃者はパケットを破棄または破損させ、両方のエンドポイントに、より弱いプロトコルや暗号のネゴシエーションを強制できます。TLS_FALLBACK_SCSV(RFC 7507)は、クライアントがサポートするプロトコルの最大バージョンを示し、悪意のあるダウングレードを防ぎます。
Lucky13(2013年)
CBCモードのTLSにおけるタイミングサイドチャネル攻撃です。MACの検証時間はパディングの長さによって変化します。攻撃者は応答時間を測定して、パディングが有効か無効かを判別し、ネットワーク越しにパディングオラクルを実現します。1バイトあたり約2^23回のオラクルクエリが必要です。
RC4の偏り
RC4は偏りのあるバイトを生成し、特に2バイト目は0に偏ります。ヘッダーが固定オフセットで繰り返されるTLSセッション(Cookieなど)では、約2^24個のサンプルによって平文を統計的に復元できます。RFC 7465(2015年)以降、TLSではRC4が禁止されています。
Heartbleed(CVE-2014-0160)
TLSプロトコルの欠陥ではなく、OpenSSLの実装バグです。Heartbeat拡張が、意図したバッファの範囲を最大64 KB超えて読み取り、サーバーのメモリから秘密鍵、セッショントークン、パスワードを漏えいさせました。安全なWebサーバーの17%が脆弱でした。
TLS 1.3による防止
TLS 1.3は、CBC暗号、RC4、SSL 2.0/3.0、静的RSA鍵交換、圧縮を削除しています。ECDHEを必須とすることで、前方秘匿性を確保します。暗号スイートの一覧を絞り込むことで、既知のプロトコルレベル攻撃につながる攻撃対象領域を排除しています。
確認問題
TLS 1.0のCBCモードで、予測可能なIVを悪用した攻撃はどれですか。
まとめ
BEAST、POODLE、DROWN、Lucky13、RC4の偏りを利用した攻撃について学びました。TLS 1.3は、これらを可能にした条件を排除しています。次は、JWTの構造、署名、脆弱性を学びます。
よくある質問
「TLS攻撃:BEAST、POODLE、ダウングレード」レッスンは無料ですか?
はい。「TLS攻撃:BEAST、POODLE、ダウングレード」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cryptology Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cryptology Academyコースには全4レッスンが含まれています。
「TLS攻撃:BEAST、POODLE、ダウングレード」で何を学びますか?
過去のTLS攻撃と、TLS 1.3で導入された対策を学びます。 ブラウザで直接実行するハンズオンコードでCryptology Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cryptology Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCryptology Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「TLS攻撃:BEAST、POODLE、ダウングレード」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCryptology Academyレッスンでコードを書いて実行できますか?
はい。すべてのCryptology Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- TLS 1.3ハンドシェイクをステップごとに学ぶ
- TLSレコード層と暗号スイート
- TLSにおける証明書検証
- TLS攻撃:BEAST、POODLE、ダウングレード