Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Aż się dziwię, że nic nie komentujecie. Taka wpadka przecież... Dawno czegoś takiego nie było...
http://dobreprogramy.pl/index.php?dz=15&n=8927&Slabe+klucze+w+Debianie+i+Ubuntu
http://dobreprogramy.pl/index.php?dz=15&n=8965&Luka+w+Debianie+powazniejsza+niz+przypuszczano
http://www.idg.pl/news/152062.html
Offline
A ja bym powiedział, że nawet najlepszym się zdarza ;)
Offline
No coz... mowi sie trudno. Nic nie jest doskonale na tym swiecie
P.S.
Tylko czekac az sie odezwa fani Gentoo! :D
Pozdrawiam
Offline
serwer DUG'a stoi na Gentoo
Offline
Może trzeba założyć teraz GUG, Gentoo Users Gang? Mam już pomysł na pierwszy topik: "Chcesz zostać GUG-usiem, a nie wiesz jak?
Offline
Nie ma co się dziwić :) Nie ma systemów idealnych . Błąd naprawiony. Nie ma co się martwić.
[OT]Mówcie co chcecie, ale niektóre komentarze z "dobreprogramy.pl" są wręcz żałosne. Mam tu na myśli - " upadek mitu o bezpieczeństwie Linuksa "
Ciekawe, ile osób, które skomentowały te newsy tak naprawdę wiedzą na czym polegała luka :( [/OT]
Offline
No ja sam nie wiem na czym ona polega :lol:
Offline
[quote=Bodzio]serwer DUG'a stoi na Gentoo[/quote]
To wiem i wcale nie mam nic przeciwko. :)
Offline
[quote=Piotr3ks]Ciekawe, ile osób, które skomentowały te newsy tak naprawdę wiedzą na czym polegała luka :([/quote]
W ramach niejasności - miałem na myśli tych z "dobreprogramy.pl" :)
Ostatnio edytowany przez Piotr3ks (2008-05-19 21:55:08)
Offline
[quote=Piotr3ks]Błąd naprawiony. Nie ma co się martwić.[/quote]
Ten błąd był naprawiany kilka razy i nie tylko Linuksa on dotyczy. Problem istnieje dalej włączając w to inne systemy niż Debiano-pochodne, jeżeli skopiowano na nie dane zabezpieczone kluczami wygenerowanymi przez Debiana.
Offline
nie no , dali do pieca jak djabli :( btw a czy wpominalem ze gentoo nie ma tego problemu ?? ROTFL
Offline
[b]0.9.8c-4etch1[/b] czy mam rozumieć że w tej paczce błąd jest naprawiony?? A co do komentarzy to nigdy nie czytam, szkoda się denerwować, wolę poczytać artykuł, ocenić po swojemu albo i nie oceniać ;) A wpadki zdarzają się każdemu nawet zawodowcy miewają kontuzję. Trudno było minęło. Najwyżej cały świat stanie w płomieniach i może wreszcie wypuszczą nas z Matrix'a :D:D
Offline
ekhm, tutaj trzeba ludzi oświecić.
To jest błąd w paczce Debiana, ale propaguje się na *wszystko* czego ta paczka dotyka. a dotyka przede wszystkim certyfikatów oraz kluczy do SSH. Powiem nawet, że w chwili gdy Debian wydał swoje poprawki, stał się systemem *najmniej* podatnym na ten błąd.
Oto krótsza wersja: wszystkie klucze generowane przez paczkę openssl mniej więcej od września 2006 do chwili wydania poprawki parę dni temu są bardzo mało losowe. Błąd dotyczy Etcha, Lenny'ego i Sida (Sarge'a nie). Pula tych kluczy jest tak niewielka (około 32000 kluczy), że na dobrym sprzęcie można wszystkie te klucze wygenerować w kilka godzin. W praktyce oznacza to, że jeśli do jakiegoś systemu można zalogować się korzystając z klucza wygenerowanego na Debianie - krótki brute force (możliwe że wystarczy kilkanaście minut do paru godzin przy dobrym łączu) i jest włam. Poza tym, jeżeli ktoś łączył się DO skrzynki stojącej na Debianie (z czego - nieważne), a ktoś inny nagrał sesję, posiadając owe klucze będzie w stanie ją rozszyfrować i np. zdobyć hasło umożliwiające logowanie się w danym systemie.
[b]Jak naprawiamy[/b]: po pierwsze, robimy dist-upgrade. Powinno to wciągnąć "na pokład" naszego systemu blacklistę wszystkich skompromitowanych kluczy. To już sporo. Dla nie-Debiana: Przeglądamy ~/.ssh/known_hosts i wywalamy odciski maszyn z Debianem - oczywiście tych, którym odcisk z oczywistych powodów zmienił się już na nowy, "dobry". Następnie przeglądamy system w poszukiwaniu skompromitowanych kluczy (:P), i pozbywamy się ich (gdzieś latał po sieci program w perlu, który porównywał odciski - miał zamieszczoną wygenerowaną wcześniej listę tych kluczy - ma on 10 mb, co daje do myślenia, jak niewiele tych kluczy jest). Następnie odwołujemy wszystkie wygenerowane w tamtym czasie certyfikaty SSL - generujemy w ich miejsce nowe, z tymi samymi danymi, i dajemy do ponownego podpisania przez nasz urząd certyfikacyjny (jeśli nie siedzą w nim same ch*jolizy, ponowny podpis mamy raczej za free).
Powtarzam: BŁĄD NIE DOTYCZY JEDYNIE DEBIANA, i na Debianie jest już raczej rozwiązany (aczkolwiek [b]polecam[/b] poczytać wszystkie posty na Debian Planet dotyczące tego tematu sprzed ostatniego tygodnia). To pozostałe dystrybucje (a raczej: administratorzy pozostałych maszyn) mają największy problem.
Offline
[b]Co tak naprawdę się stało[/b].
Wszyscy (oświeceni) znają dobrodziejstwo, jakim jest valgrind. Pozwala on odkryć, gdzie w programie lub bibliotece występują odwołania do niezainicjowanej pamięci, wycieki pamięci, podwójne uwolnienia, itp. Biblioteka openssl miała taką piękną cechę, że kopiowała w pewnym momencie do bufora, w którym zbiera entropię do generowania kluczy czy certyfikatów, cały szereg bajtów z niezainicjowanej pamięci. I to było dobre - mimo iż w normalnych warunkach używanie danych z niezainicjowanej pamięci może skończyć się jedynie kaszaną, tutaj akurat powiększało pulę entropii. No i jaki był tego efekt? Valgrind krzyczał. Valgrind krzyczał i krzyczał, że używane są wartości z niezainicjowanych zmiennych. Tak długo krzyczał, że pewien deweloper Debiana postanowił zakomentować linijkę kodu, która kopiowała całkiem ładne losowe ciągi do puli entropii. To było bezbolesne i nieszkodliwe, no i uciszyło valgrinda (entropia pochodziła też z kilku innych źródeł, między innymi typ procesora/endiannes/architektura/itp, getpid(), było też chyba jedno inne, bardzo ważne źródło, na temat którego wiem jednak niewiele). I właśnie problem pojawił się w momencie, gdy opiekun paczki zakomentował drugą, identyczną linijkę kodu, leżącą paręset linijek dalej. Czasem tak jest, człowiek się rozpędzi i próbuje robić coś odrobinkę na wyrost... I oto efekt: owo drugie, nieszkodliwe odwołanie do funkcji kopiującej bufor było tym, które wrzucało do puli najwięcej użytecznej entropii. Po usunięciu owego wywołania, jedynym faktycznym źródłem pozostało... getpid().
Teraz łatwo sobie policzyć, że w praktyce oznaczało to, iż openssl w Debianie, od września 2006 był w stanie wygenerować co najwyżej 32768 (czyli 2**15) unikalnych kluczy. Co więcej, można było banalnie prosto wszystkie te klucze odtworzyć (wystarczyło dostarczyć bibliotece własną wersję getpid()). Co jeszcze więcej, prawdopodobnie faktycznie wygenerowanych, będących w użyciu kluczy jest jeszcze mniej, gdyż debiany mają to do siebie, że przypisują pidy sekwencyjnie - powstaje proces 412, powstaje proces 413, powstaje proces 414, umiera proces 412, powstaje proces 415... To oznacza, że z dużym prawdopodobieństwem wystarczy mieć tylko pierwszych kilkaset, góra parę tysięcy kluczy, by móc już próbować odszyfrowywać sesje SSH lub próbować się logować. Ponadto proces generujący klucz dla maszyny też zazwyczaj powstaje dość wcześnie po starcie systemu (nie powiem teraz dokładnie gdzie i kiedy, ale bodajże jest to podczas instalacji serwera SSH).
Żeby użyć analogii z rzeczywistego świata: to tak, jakby w całym mieście, do wszystkich zamków, pasował zawsze jeden z ledwie kilkunastu kluczy. To, że te klucze były wytwarzane na jednym tylko osiedlu, lub na jednej ulicy, niewiele zmienia dla reszty mieszkańców - wszyscy, którzy dostali owe felerne klucze, muszą wymienić zamki :P
Offline
Po pierwsze popieram opinię kilku osób które się tutaj wypowiadały: na ten temat nikt nie grzmił, ponieważ wiele (większość?) osób jest zielona jeśli chodzi o bezpieczeństwo. Ja również, więc o samej luce i jej konsekwencjach nie mogę się wypowiedzieć.
Po drugie nacisk w tym temacie jest położony w złym miejscu. Luka w OpenSSL — zdarza się, chociaż warto dodać, że powstała ona w wyniku samowolnej decyzji jednego z twórców dystrybucji: więc luka nie jest w OpenSSL, a [b]Debianowym OpenSSL[/b]. Jednak wg mnie najważniejszy jest czas który upłynął pomiędzy stworzeniem dziury a jej załataniem: [b]ponad 1,5 roku![/b] Jest to już drugi przypadek długotrwałego istnienia dziury w systemie linuksowym w ciągu tego roku (wcześniej był błąd w kernelu pozwalający na uzyskanie uprawnień roota — od wersji 2.6.17 do 2.6.24.1). Stoi to w sprzeczności z tak wychwalaną zaletą systemów FLOSS — że niby każdy może podejrzeć kod i poprawić błędy. Co z tego, skoro przez przeszło 1,5 roku nikt nie zadał sobie trudu by sprawdzić łatkę którą nałożył któryś z developerów dystrybucji? Nie chciałbym się posuwać do stwierdzenia, że poczynań devów Debiana nikt nie kontroluje i wysnuwać wizji konsekwencji takiego działania, ale to daje do myślenia. I bynajmniej nie jest powodem do dumy.
Co nie zmienia faktu, że bagatelizacja problemu przez większość użytkowników tego forum jest zatrważająca...
[quote=davidoski]Może trzeba założyć teraz GUG, Gentoo Users Gang?[/quote]
Może od razu GUŁAG?
BP, NMSP.
Offline
a teraz najlepsze: jak to się ma do zielonych użytkowników?:)Jak sie domyslacie-nie bardzo rozumiem co czytam...
Offline
Po pierwsze jakiej dziury? To nie jest dziura, a raczej niedopatrzenie, ktore dla wielu userow ma takie znacznie jak np. paint ktory po wybraniu czerwonego koloru rysuje na zielono. Po pierwsze to aby wykorzystac ten blad to trzeba by miec chalupe sprzety, zeby wygenerowac przewidywane klusze w czasie mozliwym do ich uzycia. Po drugie zazwycaj mamy pare kluczy :P
Offline
[quote=qluk]Po pierwsze to aby wykorzystac ten blad to trzeba by miec chalupe sprzety, zeby wygenerowac przewidywane klusze w czasie mozliwym do ich uzycia. Po drugie zazwycaj mamy pare kluczy :P[/quote]
Po trzecie kto uzywa Debiana na srodowisku produkcyjnym? :P
Jak juz to: Solaris, AIX, HP-UX, BSD. Linux to na domowe serwerki ew. male rodzime firemki ;)
Tak wiec "dziura" co najmniej nie szkodliwa dla szarego usera.
Offline
[quote=Minio][..] Jednak wg mnie najważniejszy jest czas który upłynął pomiędzy stworzeniem dziury a jej załataniem: [b]ponad 1,5 roku![/b] Jest to już drugi przypadek długotrwałego istnienia dziury w systemie linuksowym w ciągu tego roku (wcześniej był błąd w kernelu pozwalający na uzyskanie uprawnień roota — od wersji 2.6.17 do 2.6.24.1). Stoi to w sprzeczności z tak wychwalaną zaletą systemów FLOSS — że niby każdy może podejrzeć kod i poprawić błędy. Co z tego, skoro przez przeszło 1,5 roku nikt nie zadał sobie trudu by sprawdzić łatkę którą nałożył któryś z developerów dystrybucji? Nie chciałbym się posuwać do stwierdzenia, że poczynań devów Debiana nikt nie kontroluje i wysnuwać wizji konsekwencji takiego działania, ale to daje do myślenia. I bynajmniej nie jest powodem do dumy.
[..][/quote]
Mylisz się, luka może jest od 1,5 roku ale wykryta na parę dni, godzin przed opublikowanie patcha czyli jest zupełnie inaczej niż myślisz.
I teraz something 4 fun ;)[img]http://loldebian.files.wordpress.com/2008/05/randomness.jpg[/img]
Offline
oczywiście nie macie pojęcia o zagrożeniu.
> trzeba by miec chalupe sprzety, zeby wygenerowac przewidywane klusze
te klucze już zostały dawno wygenerowane. na 31 xeonach zajęło to kilka godzin. latają po sieci. kto pogoogla, ten je sobie znajdzie. jeden 10mb tarball.
co można NA PRZYKŁAD zrobić mając te klucze:
- zalogować się na inną maszynę (NIE MUSI TO BYĆ DEBIAN, WYSTARCZY ŻE UŻYWA KLUCZY WYGENEROWANYCH NA DEBIANIE). sourceforge.net zdaje się że nadal nie zbanowało owych 32768 kluczy i możliwe że właśnie ktoś włamuje się jako maintainer jakiegoś projektu i wrzuca eksplojta do czyjegoś repo SVN. owa luka w debianie BARDZIEJ NIŻ JAKAKOLWIEK INNA dotyczy WSZYSTKIEGO co szyfrowane, a dotykało debiana.
- odszyfrować przechwyconą wcześniej sesję SSH, w której ktoś łączył się do skrzynki z Debianem. jeśli więc np. logowałeś się do maszyny z Debianem via ssh, i z niej logowałeś się do maszyny z np. gentoo, ktoś, kto nagrał twoją sesję może np. zdobyć hasło ZARÓWNO do skrzynki z debkiem jak i gentoo.
> wykryta na parę dni, godzin przed opublikowanie patcha
> Po trzecie kto uzywa Debiana na srodowisku produkcyjnym?
BŁĄD NIE DOTYCZY WYŁĄCZNIE DEBIANA! Dotyczy tak samo gentoo, *BSD, AIXa, a nawet windowsa (jeśli ktoś łączył się do tegoż przez ssh, używając keylogin z kluczem wygenerowanym na debianie). W chwili opublikowania patcha Debian jest jak na razie JEDYNYM systemem który ma ową lukę w miarę załataną.
> Po drugie zazwycaj mamy pare kluczy :P
Tak, w jedną stronę klucz umożliwia zalogowanie się do skrzynki, na której keylogin ustawił jakiś debianowiec (NIEZALEŻNIE jaki system ta skrzynka używa), w drugą stronę umożliwia odszyfrowanie DOWOLNEJ sesji SSH (tej bardziej newralgicznej połowy - tej wpisywanej z klawiatury przy terminalu) połączonej do Debiana między wrześniem 2006 a majem 2008.
Przeraża mnie, że na tym forum [b]chyba mało kto w pełni rozumie zagrożenie[/b].
Offline
[quote=bns][quote=Minio][..] Jednak wg mnie najważniejszy jest czas który upłynął pomiędzy stworzeniem dziury a jej załataniem: [b]ponad 1,5 roku![/b] Jest to już drugi przypadek długotrwałego istnienia dziury w systemie linuksowym w ciągu tego roku (wcześniej był błąd w kernelu pozwalający na uzyskanie uprawnień roota — od wersji 2.6.17 do 2.6.24.1). Stoi to w sprzeczności z tak wychwalaną zaletą systemów FLOSS — że niby każdy może podejrzeć kod i poprawić błędy. Co z tego, skoro przez przeszło 1,5 roku nikt nie zadał sobie trudu by sprawdzić łatkę którą nałożył któryś z developerów dystrybucji? Nie chciałbym się posuwać do stwierdzenia, że poczynań devów Debiana nikt nie kontroluje i wysnuwać wizji konsekwencji takiego działania, ale to daje do myślenia. I bynajmniej nie jest powodem do dumy.
[..][/quote]
Mylisz się, luka może jest od 1,5 roku ale wykryta na parę dni, godzin przed opublikowanie patcha czyli jest zupełnie inaczej niż myślisz.[/quote]
Zupełnie inaczej czyli jak?
Że dziura została szybko załatana, to się akurat chwali. Microsoft nierzadko pokazuje, że szybka reakcja na wykrytą podatność jest bardzo ważna. Ale nie zmienia to w żaden sposób faktu, że była ona obecna ponad 1,5 roku. Pomyśl co by się działo, gdyby znalazł ją ktoś mniej życzliwy, kto nie tylko nie napisałby odpowiedniej łatki, ale i nie powiedział nikomu o wykrytej podatności.
Poza tym pół biedy, gdyby to była dziura powstała w zwykłym procesie developingu (takie rzeczy się zdarzają, nie wszystkie zachowania użytkownika da się przewidzieć etc.) — ale ona została stworzona przez jednego z devów Debiana. Czy należy rozumieć, że wprowadzanie łatek to autonomiczna decyzja każdego z twórców?
Offline
[quote=debianus_userus]Po trzecie kto uzywa Debiana na srodowisku produkcyjnym? :P
Jak juz to: Solaris, AIX, HP-UX, BSD. Linux to na domowe serwerki ew. male rodzime firemki ;)[/quote]
gwaratuje Ci ze uzywa, np w zestawie Solaris - file serwery, Linux (Debian, Ubuntu, ...) - wszystko inne (i nie jest to spowodowane finansami)
Offline
[quote=bercik][quote=debianus_userus]Po trzecie kto uzywa Debiana na srodowisku produkcyjnym? :P
Jak juz to: Solaris, AIX, HP-UX, BSD. Linux to na domowe serwerki ew. male rodzime firemki ;)[/quote]
gwaratuje Ci ze uzywa, np w zestawie Solaris - file serwery, Linux (Debian, Ubuntu, ...) - wszystko inne (i nie jest to spowodowane finansami)[/quote]
Moze i ktos uzywa, ale jest to zadkosc. OpenBSD jest o wiele lepsiejszy od Debka w profesjonalnych zastosowaniach serwerowych.
A Solaris raczej sie nie uzywa pod fileservery tylko pod Oracle ;)
Offline
harry666t, bo jak admin jest debilem i zdaje sie na samo ssh to jego problem, robiąc to odpowiedzialnie stawia sie odpowiedni tunel na parze kluczy generowanych dwoma roznymi srodowiskami, a doiero w nim SSH.
A racja nie musi to byc debian, ba anwet nie musza to byc klucze wygenerowane na debianie(!), ale z tego konkretnego pakietu. Nie robimy tutaj dysputy technicznej o algorytmie dzialania wiec uzylem pewnych uproszczeń. Patrzac teoretycznie to luka w bezpieczenstwie jest klawiatura, uzywajac odpowiedniego nadajnika jestes w stanie zdalnie wpisywac tekst (potwierdozne na labach :P).
Racja ze ten blad jest duzym zagrozeniam, ale czy ktos np MITMowal jakies placzenia ssh w 2007 i je zapisywal zeby teraz w 2008 mogl je rozszyfrowac? Juz predzej by z palca wpisal poprawny klucz, niz przewidzial taka sytuacje :)
debianus_userus, jak to solaris nie nadaje sie na file servery? A macierze sanowskie?
Wniosek jest taki, że brak odpowiednich procedur spowodowal powstanie potencjalnego niebezpieczeństwa. Dla tego dyskusje o tym nie powinny byc toczone o zagrezeniu jakie to wprowadzilo bo ono jest jasne, ale o tym jka zapobiec podobnym sytucja.
---
bns, hehe Dilber wymiata :D
Minio, wiem do czego zmierzasz i zgadzam sie z tym ze nawet jesli dev Debianowy chce sam tez latac sobie to powinni miec jakis rodzaj kontrolowania przed wdrozeniem na szersza skale.
Offline
Time (s) | Query |
---|---|
0.00011 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00194 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.147.62.99' WHERE u.id=1 |
0.00202 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.147.62.99', 1733079864) |
0.00050 | SELECT * FROM punbb_online WHERE logged<1733079564 |
0.00101 | SELECT topic_id FROM punbb_posts WHERE id=91118 |
0.00259 | SELECT id FROM punbb_posts WHERE topic_id=11484 ORDER BY posted |
0.00133 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=11484 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00314 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=11484 ORDER BY p.id LIMIT 0,25 |
0.00131 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=11484 |
Total query time: 0.01405 s |