Jak pašák opravil sušák

Transkript

Jak pašák opravil sušák
kryptologie pro praxi
Jak pašák opravil sušák
Nedávno si jeden z autorÛ zakoupil elektrick˘ su‰ák ruãníkÛ do koupelny: Staãilo
vyvrtat do zdi díry na hmoÏdinky, pfii‰roubovat, zapnout do zásuvky a su‰it. Díry do
zdi vycházely pfiesnû ve v˘‰ce zásuvek, to se
mi moc líbilo, protoÏe su‰ák vytváfiel s nimi
jednu linii. S estetick˘m elánem jsem elektrickou vrtaãkou vyvrtal první díru
nedaleko zásuvky, ale zhaslo svûtlo. „Vrtaãka asi narazila na kámen,
a to zfiejmû vyhodilo pojistky,“ zabrblal jsem, nahodil pojistky a vyvrtal druhou díru. Su‰ák od té doby
bezproblémovû funguje. „Jsem pa‰ák,“ fiekl jsem si.
Pašáci Debianu
Uveden˘ pfiíbûh ukazuje, jak pa‰áci (tedy ti,
co „v‰echno ví, a hned jdou na vûc“) umí vyfie‰it skuteãné problémy, na nûÏ ve své praxi
narazí. Podívejme se na dal‰í takov˘ pfiíbûh.
Ve ST 5/08 jsme psali o tom, Ïe v praktick˘ch kryptografick˘ch aplikacích mívá poslední slovo její Popelka, a to generátor náhodn˘ch ãísel. To jsme netu‰ili, jak velk˘
poprask Popelka zpÛsobí v Linuxovém
svûtû (viz http://www.debian.org/security/
2008/dsa-1571). Tentokrát byli pa‰áky
pfiímo tvÛrci operaãního systému Debian,
ktefií pfiidáním pouh˘ch ãtyfi znakÛ (konkrétnû /**/) do kvalitní kryptografické
knihovny OpenSSL z ní udûlali bezzub˘ nástroj a zaãlenili ho do Debianu. Takto „vylep‰ená“ knihovna se promítala do dal‰ích
systémÛ a dva roky se místo kvalitních
2048bitov˘ch klíãÛ (RSA, DSA) vydávaly
klíãe 15bitové!
Co bylo znehodnoceno
Aplikace a protokoly, jeÏ pouÏívaly tyto
slabé klíãe, jsou: knihovna OpenSSL 0.9.8c-1
aÏ do verze pfied 0.9.8g-9 na operaãních systémech zaloÏen˘ch na Debianu,
OpenSSH (jak serverové, tak uÏivatelské
klíãe), OpenVPN, Openswan, StrongSWAN,
DNSSEC, klíãe pro X.509, encfs, Tor, postfix,
exim4, sendmail, cyrus imapd, courier
imap/pop3, uw-imapd, dovecot s imaps/
pops, apache2 (SSL certifikáty), dropbear,
cfengine, puppet, xrdp, tinc, gitosis, vsftpd
SSL certifikáty pro FTPS, proftpd SSL/TLS
certifikáty pro FTPS, ftpd-ssl SSL certifikáty
pro FTPS, telnetd-ssl SSL certifikáty pro
SSL-Telnet, DomainKeys (DK), DKIM,…
TûÏko spoãitatelná fiada uÏivatelÛ tûchto
protokolÛ a aplikací v kvûtnu po odhalení
chyby a vydání záplaty zjistila, Ïe se nûkam
nemÛÏe pfiihlásit, Ïe nûco nefunguje jako
dfiív apod. Pfiíãinou bylo, Ïe záplaty pouÏily
tzv. blacklisty a vylouãily z dal‰ího pouÏívání v‰echny moÏné klíãe, které se tûmito
systémy generovaly (jsou jich pouhé deseti-
22
tisíce). V‰echny podpisové klíãe DSA
a v‰echny RSA klíãe musely b˘t povaÏovány
za zkompromitované. To mj. znamená, Ïe
ten, kdo zaznamenával komunikaci dotãen˘ch uÏivatelÛ, si ji mÛÏe v klidu nyní de‰ifrovat. Dále v‰echny podpisové klíãe generované tûmito systémy musí b˘t zneplat-
mu to pfiísnû zakázal, atd. atd. Na základû
toho se nበpa‰ák rozhodl zakomentování
ponechat, protoÏe se domníval, Ïe neinicializovaná pamûÈ stejnû nemÛÏe nûjak zvlá‰È
pfiispívat k náhodnosti. Proto se tyto zakomentované fiádky kódu dostaly dne
17. 9. 2006 do operaãního systému Debian
a zÛstaly tam skoro dva roky, aÏ do
13. kvûtna 2008, kdy byla chyba
odhalena.
Co se vlastně stalo?
Podstata je velmi jednoduchá. Prostfiednictvím té tzv. neinicializované pamûti (viz buffer buf na obObr. 1 Osudné zakomentování „problematického“ kódu
rázku vlevo tuãnû) se do generánûny a odvolány. Aplikace, které pouÏívaly toru náhodn˘ch ãísel pfiidávala entropie.
silné klíãe, jsou bohuÏel ãásteãnû dotãeny Vyfiazení pfiíkazu z kódu zpÛsobilo, Ïe genetaké, neboÈ komunikovaly se slab˘mi strana- rátor náhodn˘ch znakÛ nedostával Ïádnou
mi, tudíÏ jeden smûr jejich komunikace je jinou entropii neÏ ãíslo procesu (PID).
také de‰ifrovateln˘ (napfiíklad pokud pouÏí- Tûchto ãísel je ale pouze 32767, a tak v‰ech
val slab˘ klíã server internetového obchodu, moÏn˘ch klíãÛ mohlo b˘t generováno také
v‰echna data uÏivatelÛ, ktefií tam nakupova- pouze 32767.
li, byla a jsou nyní de‰ifrovatelná).
Záplaty
Jak k tomu došlo?
Kryptografickou knihovnu OpenSSL vyvíjí
jedna skupina lidí ve svûtû, aby svûtové vefiejnosti byla k dispozici zdarma kvalitní
kryptografie. Velmi zásluÏná ãinnost!
Knihovnu pak vyuÏívají skuteãnû na celém
svûtû mnohé aplikace, banky, mobilní operátofii i vládní instituce (!), operaãní systémy
aj. Knihovnu OpenSSL pouÏili i v˘vojáfii
operaãního systému Debian (ãást svûta Linuxu). ProtoÏe u operaãního systému je velmi
dÛleÏitá kaÏdá maliãká chyba nebo nestabilita, existují na zji‰Èování takov˘ch chyb dokonce velmi sofistikované nástroje (zde konkrétnû Valgrind a Purify). V˘vojáfii je pouÏili ke kontrole kódu operaãního systému.
Stále je otravovalo hlá‰ení, Ïe v knihovnû
OpenSSL je pouÏita neinicializovaná pamûÈ
v ãásti generátoru náhodn˘ch ãísel. Neinicializovaná promûnná vû‰tí normálnû témûfi
jistû váÏnou zakuklenou chybu, takÏe ji tento nástroj dobfie zachytil a upozorÀoval na
ni tak vehementnû, Ïe se hlá‰ka nedala
„utlouci“. V˘vojáfi poté zjistil pfiesnû, co
tuto hlá‰ku zpÛsobuje, a ovûfiil to zakomentováním dvou fiádkÛ ve zdrojovém kódu
knihovny OpenSSL (poté jiÏ kontrola probûhla v pofiádku) – to jsou ony ãtyfii znaky /**/.
¤ádky vyhlíÏely velmi jednodu‰e (obr. 1),
ale pfiesto radûji poslal dotaz do po‰tovní
konference openssl-dev a oãekával reakce
od v˘vojáfiÛ knihovny OpenSSL. Dostal neslané nemastné odpovûdi, coÏ je samostatná
kapitola tohoto pfiíbûhu, mimo jiné proto, Ïe
to nebyla ta správná po‰tovní konference,
mimo jiné proto, Ïe mu nezápornû odpovûdûl i ãlen t˘mu OpenSSL, místo toho, aby
Pokud nûkdo ihned nenainstaloval záplatu, mohl se kdokoliv místo nûho pfiihlásit
do pfiíslu‰ného systému. Na internetu se
totiÏ ihned po oznámení chyby objevil nástroj (http://www.deadbeef.de/rsa.2048.
tar.bzip2), kter˘ vyzkou‰el v‰echny slabé
klíãe a zkusil se za uÏivatele pfiihlásit.
V souãasné dobû dotãené záplatované
systémy kontrolují, zda tyto klíãe nejsou
pouÏívány, a ignorují komunikaci s nimi.
Také existují samostatné blacklisty tûchto
klíãÛ.
Podobn˘ problém s generováním slab˘ch SSL klíãÛ (nikoli vûcnû, ale dÛsledkem) mûly Windows 2000/XP. Na rozdíl
od okamÏité reakce Debianu, Redmond
opravil chybu, objevenou 4. listopadu
2007 (neoprávnûn˘m zkoumáním kódu
Windows…), aÏ 6. kvûtna 2008 v SP3 Windows XP. Pro Windows 2000 oprava pravdûpodobnû není a problém se zfiejmû táhne
jiÏ od Windows 95.
Závěr
Pouãení z tohoto pfiípadu je mnoho, ale
je‰tû více otázek kolem bezpeãnosti to vyvolává. Abychom tento opravdu varovn˘ pfiípad trochu odlehãili, doporuãujeme podívat
se na stránku s popisem problému ve francouz‰tinû (http://sid.rstack.org/blog/index.
php/275-du-hasard-et-de-ses-consequences)
a zvolit její pfieklad Googlem do ãe‰tiny.
Vlastimil Klíma, TomበRosa,
[email protected], [email protected]
LITERATURA
[1] E-archivy http://cryptography.hyperlink.cz, http://
crypto.hyperlink.cz
ST 8/2008

Podobné dokumenty

Radek Hnilica Radek Hnilica

Radek Hnilica Radek Hnilica Tento dokument vznikal postupně jako poznámkový sešit. Psal jsem si sem na co jsem došel. Krátké ukázky použití programů, jejich konfigurace a odkazy na web kde jsou relevantní informace k danému...

Více

PR-série, zvedák POW`R-RISER® Bezpečné, účinné

PR-série, zvedák POW`R-RISER® Bezpečné, účinné břemene.je.možné.kolem. vytaženého.pístu.umístit. volitelné.jistící.U-kroužky;.dodávány. jsou.ve.čtyřech.délkách.pro.každý. výkon.zvedáku.POW’R-RISER®.a.jsou. k.dispozici.samostatně.nebo.v.sadách ....

Více

Tmavě modrá s oranžovou

Tmavě modrá s oranžovou Spousta administrativních činností v UNIXových OS nevyžaduje GUI

Více

malá ukázka

malá ukázka chvíle, kdy se na pulty obchodÛ dostala pÛvodní hra, se pr˘ pracovalo jiÏ jen s kvalitnûj‰ími texturami a jen pfii samotném streamování a animování bylo údajnû nasbíráno dostatek materiálu, aby to v...

Více

E-mailové služby Důvody nepřijmutí emailu

E-mailové služby Důvody nepřijmutí emailu Address: 192.168.50.25 $ nslookup 192.168.50.25 25.50.168.192.in-addr.arpa

Více

Novinky v oblasti sítí

Novinky v oblasti sítí Fedora #824121 - IPv6: Kernel doesn’t propagate DNSSL... Gnome #676317 - IPv6 DHCPv6 configuration fails... Gnome #676740 - NetworkManager fails to configure DHCPv6 address...

Více

Vrata Berry N 80, F 80 a DF 98

Vrata Berry N 80, F 80 a DF 98 Velmi svûtlé a díky pouÏití letního dfieva v˘raznû strukturované dfievo s náhodnû se vyskytujícími otvory a jednotliv˘mi mal˘mi dutinami, vyplnûn˘mi pryskyfiicí. PrÛbûh let je pfieváÏnû rovn˘, z ãásti ...

Více

IPsec HOWTO - The official IPsec Howto for Linux

IPsec HOWTO - The official IPsec Howto for Linux vnitřní tabulku, kde jsou uloženy veškeré informace o "natovaných" spojeních. Předpokládejme, že se jeden klient připojuje k webovému serveru na Internetu. NAT zařízení skryje původní adresu a nahr...

Více