Sobota, 05 września 2009 :: 21:37:29
Hasła użytkowników Wykop.pl wyciekły
Dziś okazało się, że pół roku kilka tygodni temu* (sic!) z Wykopu udało się ściągnąć kompletną bazę danych (w tym hasła użytkowników). Administracja Wykopu nie wspomniała o tym ani słowa, tłumacząc się teraz dość mętnie "dobrem śledztwa". Nie ma się co dziwić, nikt nie lubi się przyznawać do błędów. Szkoda tylko, że administratorzy Wykopu nie ostrzegli kilkudziesięciu tysięcy swoich użytkowników, że ktoś ma ich hasła i należałoby je zmienić, zwłaszcza w innych serwisach, jeśli (nierozsądnie) wszędzie wykorzystują to samo hasło...
Jak doszło do włamania?
Do wycieku bazy doszło poprzez włamanie nie na główny serwer Wykopu, ale na jedną z deweloperskich (służących do testów) maszyn... Prześledźmy zatem, co poszło nie tak, i jakie błędy popełniła załoga Wykopu.
Mam nadzieję, że ten case-study będzie świetną przestrogą dla wszystkich startupów, a także dobrym wyjaśnieniem tego co się stało, dla tych, którzy nie mają zbyt wielkiej wiedzy w temacie bezpieczeństwa komputerowego i czytając komentarze dotyczące włamania na Wykop.pl, nie wiedzą komu ufać i kto mówi prawdę.
Czego Wykop (i wy) nie powiniście robić
1. Nie trzymaj serwerów deweloperskich na publicznych adresach IP. Naprawdę łatwo można poznać ile (i jakich) adresów IP należy do danej organizacji. Wystarczy odpytać bazę Whois.
2. Filtruj dostęp do usług, które nie są wymagane do działania serwisu. Jeśli ktoś pozna adresy IP należące do Wykopu (patrz punkt 1) może je przeskanować za pomocą chociażby nmapa, aby dowiedzieć się jakie usługi są udostępniane, w których wersjach i czy w którejś z nich wykryto jakieś dziury...
Rozumiem, że SSH, czy FTP mogą znacznie ułatwić testowanie/konfigurację webaplikacji, ale nie powinny one być dostępne dla każdego internauty!. Serwery deweloperskie należy trzymać "za firewallem" - dostęp zewnątrz tylko z tzw. białej listy, przez VPN/SSH.
3. Zmieniaj domyślne hasła (i konfigurację serwera). Bo inaczej spotka Cię kara. Wykop postawił na wygodę - żadnego filtrowania - programiści mogli testować serwis z domu, pociągu, kawiarenki internetowej, a nawet iPhone'a siedząc na kibelku ;) Ale Wykop wygodę zrozumiał dość frywolnie, bo oprócz braku restrykcji w dostępie do serwera, nie ustawiono nawet hasła dla konta administratora bazy danych... i to właśnie doprowadziło do włamania.
Nikt nie musiał odpalać żadnych exploitów lub łamać haseł -- ich po prostu nie było!
4. Nie wrzucaj produkcyjnej bazy na testowy serwer. To jest wielkie no-no. Naprawdę warto poświęcić nawet kilka godzin, aby wygenerować testowe dane. To nic w porównaniu z tym, co może się stać, jeśli przeniesie się oryginalną bazę z serwera produkcyjnego na testowy, czyli luźniej skonfigurowany, i przez to łatwiejszy do zaatakowania, bo często z włączonymi komunikatami błędów i nie tak mocną polityką bezpieczeństwa. To posłało na dno jedną z instytucji finansowych (sprawdzających swoją webaplikację na prawdziwych numerach kart kredytowych swoich klientów), a w przypadku Wykopu umożliwiło pobranie haseł użytkowników.
5. "Posól" hasła użytkowników. Na szczęście, Wykop hasła użytkowników trzymał w postaci hashy SHA1 (w przeciwieństwie do innego dużego i bardziej znanego Polakom polskiego portalu, który swoje hasła trzyma w bazie jawnym tekstem...).
Używanie funkcji skrótu przy zapisie haseł pomaga, ale nie eliminuje możliwości poznania hasła! Hashe można "odwrócić" za pomocą ataków brute-force (próba hashowania hasła a, aa, aaa, aab, aac, etc. i porównania wyniku z tym co w bazie) lub tzw. Rainbow Tables (czyli skorzystania z już obliczonego słownika skrótów i porównania ich przechwyconymi). Oba ataki byłyby trudniejsze, gdyby hasła użytkowników były "solone" (do hasła użytkownika, przed hashowaniem, dołączany jest prefiks). W implementacji banalne, a zdecydowanie podnosi bezpieczeństwo hasła.
6. Nie używaj tego samego hasła na różnych serwisach!!! To co prawda nie rada dla Wykopu, ale dla jego użytkowników. Jeśli używali tego samego hasła do konta pocztowego (które również jest w rękach włamywaczy) czy innego serwisu, to mają problem. Niektórym już pojawiły się niechciane przedmioty w "Kupionych" na Allegro...
Naprawdę, to nie jest trudne ułożyć sobie silne, a zarazem łatwe do zapamiętania hasło dla każdego z serwisów. Wystarczy zbudować je wg poniższego schematu:
niebieska 8!8 rekawiczka
Dwa słowa, odzielone liczbą lub znakiem specjalnym. Takie hasło jest niesłownikowe, długie, i łatwe do zapamiętania. To naprawdę najlepszy kompromis pomiędzy bezpieczeństwem a pamięcią potrzebną do przechowania hasła.
Polityka posiadania długich, losowych haseł, które w dodatku trzeba zmieniać co 2 tyg. jest w moim odczuciu głupia. Większośc użytkowników nie jest w stanie zapamiętać takiego hasła, co skutkuje tzw. słonecznikiem — czyli zapisaniem hasła na żółtej karteczce i przyklejeniem jej do monitora...
Druga strona włamania
Oprócz haseł użytkowników, z wyciekniętej bazy można dowiedzieć się innych interesujących rzeczy - chociażby adresu e-mail (prawdziwego?) administratora, który odkrywa demaskuje swój drugi biznes, a także jego hasła - porównajcie hash SHA1 dla "qwerty" wyliczony tutaj z obrazkiem poniżej:
Wyciek haseł to nie jedyny problem, bo jak widać, z bazy można wywnioskować o wiele więcej...
AKTUALIZACJA (7/9/2009)
Właściciel Wykopu opublikował swoje oświadczenie w sprawie włamania na YouTube. Niestety, nie jest ono bogate w nowe informacje.
____
* Przechwycona baza pochodzi sprzed pół roku. Dokładna data włamania nie została określona — ale jeśli wierzyć administratorom Wykopu, było to "kilka tygodni temu".
• Następny post:
Zawieś Vistę i Windows 7
• Poprzedni post:
Katastrofy lotnicze - jak ich uniknąć?
Chcesz być informowany o kolejnych wpisach na ten temat?
Kanał RSS: kliknij tutaj. Subskrybcja poprzez e-mail: kliknij tutaj.