Wpadka Debiana
W maju 2008 wykryto w Debianie hipergigantyczną dziurę bezpieczeństwa w pakietach openssl (DSA-1571-1) i openssh (DSA-1576-1), polegającą na tym, że liczby pseudolosowe były generowane w sposób przewidywalny. Problem dotyczy także systemów bazujących na Debianie -- np. Ubuntu.
Konsekwencje są bardzo poważne. Po pierwsze, wszystkie klucze, czy to hostów, czy użytkowników, nadają się do wyrzucenia. Przede wszystkim te wygenerowane w czasie, gdy felerne pakiety były w użyciu. W przypadku kluczy DSA – również te, które zostały w tym okresie użyte, nawet, jeśli wygenerowane zostały wcześniej. Ale to nie wszystko: cała szyfrowana komunikacja, jaka odbywała się z użyciem debianowskiego openssl, nie była funta kłaków warta. Jeśli tylko ktoś podsłuchiwał i wiedział co z tym zrobić... albo nawet nie wiedział, ale przezornie zrobił sobie kopię "na później". Tak więc -- zmieniajmy hasła w bankach, sklepach i innych serwisach, bądź liczmy na to, że nikt nie zauważył i nie wykorzystał.
Zepsuty openssl (wersja 0.9.8c-1) dostał się do dystrybucji unstable 17 września 2006 roku, potem (kiedy?) przeszedł do wydania testowego i stabilnego. Czyli niewykryty błąd siedział sobie w Debianie (i pochodnych) przez prawie dwa lata! I to wszystko dlatego, że jakiemuś niekompetentnemu gostkowi paczkującemu openssl dla Debiana zachciało się "poprawiać" autorów oryginału. A inne niekompetentne ziutki zatwierdziły te "poprawki".
Trzeba pamiętać, że problem dotyczy też szeregu programów korzystających z openssl, m.in. openvpn czy tora.
[edytuj] Zobacz też
- Key Rollover – debianowska instrukcja postępowania z kluczami i oprogramowaniem dotkniętym tym problemem
- SSLkeys – szerzej o tym samym na debianowskiej wiki (uwaga: encfs może być też zagrożony)
- Simon Garfinkel: Alarming Open-Source Security Holes
- Ben Laurie: Vendors Are Bad For Security, Debian and OpenSSL: The Aftermath
- Debian OpenSSL Predictable PRNG Toys
- Debian's OpenSSL maintainer should be changed
- Fatalny diff i co z tego wynikło
- Debianowscy naprawiacze, czyli bug #363516
