OpenSSL kiszámítható véletlenszám generátor

CH azonosító

CH-1222

Felfedezés dátuma

2008.05.12.

Súlyosság

Kritikus

Érintett rendszerek

Debian
OpenSSL

Érintett verziók

Debian OpenSSL 0.9.8c-1

Összefoglaló

A Debian olyan sérülékenysége vált ismertté, mely szerint a véletlenszám generátor kiszámítható értékeket ad.

Leírás

Egy hibát találtak a Debian Linux disztribúcióban lévő openssl csomagban, miszerint a véletlenszám generátor megjósolhatóan viselkedik. Ennek az oka egy helytelen Debian specifikus változtatás az openssl csomagban. Ennek eredményeképpen, a titkosítókulcs kitalálható.

Ez egy Debian specifikus sérülékenység, amely nem érint más, nem Debian alapú, operációs rendszereket. Azonban a hiba más rendszereket is érinthet, amennyiben a gyenge kulcsokat importálták az érintett rendszerekbe.

Ajánlott minden titkosítókulcsot újra generálni, amit az OpenSSL programmal készítettek (kezdve a 0.9.8c-1 verziótól) Debian alapú rendszereken. Továbbá, minden DSA kulcs, amit az érintett rendszereken használtak (akár aláírásra, akár azonosításra) veszélyeztetve lehet. A Digital Signature Algorithm véletlenszerű számon alapul, amelyet az aláírás generálása alatt használnak.

Az első sérülékeny verzió, a 0.9.8c-1, 2006. 9. 17-én lett feltöltve az instabil disztribúcióba, azóta pedig s tesztelt és a jelenlegi stabil (etch) disztribúciókban is terjesztették. A hiba a régi stabil disztribúciót (sarge) nem érinti.

Az érintett kulcsok közé tartoznak az SSH kulcsok, OpenVPN kulcsok, DNSSEC kulcsok, valamint az X.509 szabvány szerinti hitelesítéshez használt kulcsok, továbbá az SSL/TLS kapcsolatokhoz használt session (munkamenet) kulcsok. Azokat a kulcsokat, amiket a GnuPG vagy GNUTLS programokkal generáltak, a hiba nem érinti.

Egy gyenge kulcsokat kereső program letölthető az alábbi linkről:
http://security.debian.org/project/extra/dowkd/dowkd.pl.gz

http://security.debian.org/project/extra/dowkd/dowkd.pl.gz.asc

A különböző verziók kulcsainak módosításához leírások a következő oldalon lesznek elérhetőek:
http://www.debian.org/security/key-rollover/

A kritikus változáson kívül két másik sérülékenységet is javítottak az openssl csomagban, amelyet eredetileg az etch következő frissítésénél akartak kiadni.

  1. Az OpenSSL DTLS (Datagram TLS, alapvetően “SSL UDP kapcsolaton keresztül”) implementáció nem a DTLS specifikációit használja, hanem egy potenciálisan gyengébb protokollt, és tartalmaz egy sérülékenységet, ami tetszőleges kód futtatására ad lehetőséget.
  2. Az integer (egész szám) szorzó rutinokban lévő “side channel” támadást is javították.

A stabil disztribúcióban (etch) a hibákat a 0.9.8c-4etch3 verzióban javították.

Az instabil disztribúcióban (sid), és a teszt verzióban (lenny) a hibákat a 0.9.8g verzióban javították.

Ajánlatos, hogy azonnal frissítse az openssl csomagot, és generálja újra a kriptográfiai anyagokat a fentiek figyelembe vételével.

Megoldás

Frissítési utasítások:

wget url – letölti a fájlt
dpkg -i file.deb – telepíti a kijelölt fájlt

Ha az apt-get csomag kezelőt használja:

apt-get update – frissíti a belső adatbázist
apt-get upgrade – telepíti a javított csomagokat

Forrás fájlok:

alpha architecture (DEC Alpha)

amd64 architecture (AMD x86_64 (AMD64))

arm architecture (ARM)

hppa architecture (HP PA RISC)

i386 architecture (Intel ia32)

ia64 architecture (Intel ia64)

mips architecture (MIPS (Big Endian))

mipsel architecture (MIPS (Little Endian))

powerpc architecture (PowerPC)

s390 architecture (IBM S/390)

sparc architecture (Sun SPARC/UltraSPARC)