
CVE-2020-0601の悪用試行を検出するためにOpenSSLを使用するZeekパッケージ
このスクリプトは、CVE-2020-0601のエクスプロイト試行を検出できます。証明書で既知の曲線が使用されているかどうかをチェックし、そうでない場合は通知を発行します。
notice.log内の通知例:
1579043477.791522 CHhAvVGS1DHFjwGM9 192.241.209.49 46110 192.241.202.21 4433 F37z6n1B8zn1fZjpj application/x-x509-user-cert 192.241.202.21:4433/tcp tcp CVE_2020_0601::Unknown_X509_Curve ECC certificate with unknown curve; potential CVE-2020-0601 exploit attempt Curve validation code: 0 192.241.209.49 192.241.202.21 4433 - -Notice::ACTION_LOG 3600.000000 - - - - -
疑わしい証明書をログに記録するには、以下を使用してください
redef CVE_2020_0601::log_certs = T;
local.bro/local.zeekで抽出を有効にします。これを有効にすると、疑わしい証明書が新しいcve-2020-0601-certs.logファイルに記録されます。
このスクリプトはOpenSSL 1.1.1を必要とします。証明書に含まれる曲線が既知の曲線かどうかをテストするためにOpenSSL機能を使用します。
このテストは過剰である可能性が非常に高いことに注意してください。Zeekインストールにコンパイル済みCコードをロードする必要がないよりシンプルなスクリプトが必要な場合は、https://github.com/0xxon/cve-2020-0601 のリポジトリを参照してください。純粋なスクリプトソリューションを使用しています。純粋なスクリプトソリューションは誤検出率が高くなる可能性がありますが、現在のところ誤検出の報告はありません。
現在、古いバージョンのOpenSSLでコンパイルするこのパッケージのバージョンを作成する予定はありません。