TLSプロトコルのCRIME脆弱性の管理方法
CRIMEは、データ圧縮も使用する HTTPS および SPDY プロトコルを使用する接続上のシークレット・ウェブ・クッキーに対するセキュリティ悪用です。シークレット認証クッキーの内容を復元するために使用されると、攻撃者は認証されたウェブ・セッション上でセッション・ハイジャックを実行することができ、さらなる攻撃を仕掛けることが可能になります。
説明
TLS プロトコルの CRIME 脆弱性は、HTTPS 上でデータ圧縮を使用するシステムに影響します。SSL 圧縮 (例えば Gzip) や SPDY (オプションで圧縮を使用) を使用している場合、あなたのシステムは CRIME 脆弱性の影響を受ける可能性があります。
GitLabはGzipとSPDYの両方をサポートしており、HTTPSが有効になっているときはGzipを無効にすることでCRIMEの脆弱性を緩和しています。ファイルのソースはこちらです:
LinuxパッケージのインストールではSPDYが有効になっていますが、CRIMEは圧縮(’C’)に依存しており、NGINX SPDYモジュールのデフォルトの圧縮レベルは0(圧縮なし)です。
ネサス
Nessusスキャナーは、GitLabに以下のような脆弱性があることをレポーターします:
Description
This remote service has one of two configurations that are known to be required for the CRIME attack:
SSL/TLS compression is enabled.
TLS advertises the SPDY protocol earlier than version 4.
...
Output
The following configuration indicates that the remote service may be vulnerable to the CRIME attack:
SPDY support earlier than version 4 is advertised.
上記のレポーターは、NessusがTLSがバージョン4より前のSPDYプロトコルをアドバタイズしているかどうかだけをチェックしていることを示しています。攻撃は行わず、圧縮が有効かどうかもチェックしていません。Nessusスキャナーだけでは、SPDY圧縮が無効でCRIMEの脆弱性の対象外であることを見分けることはできません。
リファレンス
- NGINX“モジュール
ngx_http_spdy_module
” - Tenable Network Security, Inc.“Transport Layer Security(TLS) Protocol CRIME の脆弱性”
- ウィキペディア貢献者,“CRIME”ウィキペディア フリー百科事典