
Werkzeug zum Überprüfen, ob ein PGP-Client von CVE-2021-33560 betroffen ist
Dies ist ein Werkzeug, um zu überprüfen, ob Ihr OpenPGP-Client von CVE-2021-33560 betroffen ist.
Diese Sicherheitslücke macht die Nachrichten, die Sie mit einigen ElGamal-Unterschlüsseln verschlüsseln, für eine Wiederherstellung des Klartexts angreifbar. Die technischen Details der Sicherheitslücke werden in diesem Blogbeitrag und diesem Forschungsartikel beschrieben.
Dieses Werkzeug testet, ob Ihr OpenPGP-Client beim Senden betroffen ist. Es sagt nicht, ob Ihre ElGamal-Unterschlüssel beim Empfangen betroffen sind; dies ist leider eine rechenintensive Überprüfung, die nur von einem Experten durchgeführt werden kann. Wenn Sie ElGamal-Unterschlüssel verwenden und sich um deren Sicherheit sorgen, lesen Sie unsere FAQ.
Sie benötigen Python Version 3.8 oder höher.
Dieses Werkzeug funktioniert, indem es eine Nachricht an einen speziell konstruierten ElGamal-Unterschlüssel verschlüsselt und dann den erzeugten Chiffretext analysiert, um nach der Schwachstelle zu suchen.
Die Art und Weise, wie Sie den öffentlichen Schlüssel importieren und damit verschlüsseln, hängt von Ihrem OpenPGP-Client ab. Im folgenden Beispiel verwenden wir GPG (dessen libgcrypt bis zu den Versionen 1.8.8 und 1.9.3 betroffen ist), aber Sie müssen die Schritte an Ihren eigenen Client anpassen.
Klonen Sie dieses Repository und wechseln Sie hinein
git clone https://github.com/IBM/PGP-client-checker-CVE-2021-33560.git
cd PGP-client-checker-CVE-2021-33560
Importieren Sie den öffentlichen Schlüssel (dieser Schritt hängt von Ihrem Client ab)
gpg --import key.asc
Verschlüsseln Sie eine Nachricht (z. B. "Hi") mit dem importierten Schlüssel (dieser Schritt hängt von Ihrem Client ab)
echo "Hi" | gpg -e --always-trust --armor -r [email protected] --output ciphertext.asc
Führen Sie das Werkzeug auf dem erhaltenen Chiffretext aus
./sec-check.py ciphertext.asc
und überprüfen Sie die Ausgabe. Wenn Ihr Client betroffen ist, erhalten Sie möglicherweise eine Nachricht ähnlich dieser:
Inspecting ./ciphertext.asc
Ephemeral secret bit length: 342
**Your client is affected by CVE-2021-33560!**
Your client seems to be based on an old version of libgcrypt. If a
security patch for your client is available, install it!
Um mehr über die Sicherheitslücke zu erfahren, lesen Sie unseren technischen Blogbeitrag.