Wczorajszy dzień obfitował w wiele emocji związanych z wyciekiem prywatnych danych i zdjęć wielu użytkowników iCloud, w tym rozbieranych fotografii znanych aktorek. W sieci zawrzało, szukano winnych, serwisy plotkarskie upubliczniły zdjęcia, a serwisy technologiczne próbowały opisać problem od strony „bezpieczeństwa w sieci”.
Gdybym czytał te teksty jako laik zainteresowany technologiami i własnym bezpieczeństwem, byłbym zawiedziony ich wartością merytoryczną. W bardzo pobieżny, a czasem nawet groteskowy sposób opisano sam sposób włamania, do znudzenia używano modnego słowa „chmura”, a konkluzja była taka, że „niby nie jest dobrze trzymać zdjęcia na wirtualnych dyskach, ale z drugiej strony to bardzo wygodne…” Dziękuję bardzo za taką analizę. Najgorsze były jednak same tytuły. O ile mogę zrozumieć Pudelka, ciężko mi uzasadnić tytuł „Nagie zdjęcia Xxxx Xxxxx” na portalu technologicznym, okraszony ogromnym zdjęciem upokorzonej aktorki. Pomijając oczywistą przyczynę – dobre pozycjonowanie, warto jednak zastanowić się co się chce osiągnąć? Czy autorzy tak samo chętnie dzieliliby się personaliami czy czasem bezpośrednimi linkami do zdjęć, gdyby chodziło o bliską im osobę? Żerowanie na najniższych ludzkich instynktach nie przystoi. Szczególnie osobom, które tak aktywnie przeciwstawiały się ACTA, a jak prawo do prywatności łamane jest w praktyce – stają w szeregu tuż za Pudelkiem. Ok – tyle moich gorzkich żali. A temat jest dość ważny i jak się okazało interesujący dla naszych czytelników sądząc po dyskusjach w komentarzach pod moim tekstem o chmurach obliczeniowych. Narosło wokół niego jednak mnóstwo nieporozumień, czego przykładem jest bełkotliwy tekst z TVN24 BiS:
Według serwisu Engadget, winny zamieszania jest błąd w usłudze Apple, Find My iPhone, który pozwalał na przeprowadzenie ataku typu brute force. Atak brute force to inaczej metoda siłowa. Hasło jest odgadywane poprzez sprawdzenie wszystkich możliwych znaków dla danego hasła. Atak tego typu jest powolny i wymaga tym więcej czasu, im bardziej jest skomplikowane hasło.
Po pierwsze – atak był kierowany nie tyle przeciw gwiazdom Hollywood, a przeciw zabezpieczeniom dysku wirtualnego iCloud. Serwisy, po kilkunastu godzinach zaczęły podawać, że winowajcą jest źle zabezpieczona usługa Find My iPhone od Apple’a. Jest to po części prawda. Problem jednak nie dotyczy bezpośrednio oficjalnej aplikacji, a jedynie dostarczanego do niej API, w którym popełniono KARYGODNY błąd. Jaki? Nie zabezpieczono się przed próbami wielokrotnego logowania (zostało to wczoraj naprawione). Co to oznacza w praktyce? Pewnie doskonale kojarzycie komunikaty jakie pokazują się, gdy kilka razy wpiszemy niepoprawne hasło. Często trzeba odczekać kilkadziesiąt minut do ponownego logowania albo przejść drugi poziom weryfikacji. Czasami może to nawet prowadzić do całkowitego zablokowania konta. To absolutny standard i podstawa w świecie zabezpieczeń. Widocznie nie dla programistów Apple’a. Jakby powiedział Jan Tomaszewski: „To nie był błąd, to wielbłąd”.
Kolejnym popularnym ostatnio hasłem jest atak „Brute force”. Na czym on polega? Najprościej rzeczy ujmując, użycie „brutalnej siły” to po prostu wypróbowanie wszystkich możliwych haseł dla danego loginu, a mówiąc językiem matematyki – wszystkich kombinacji z powtórzeniami zbioru dostępnych znaków (duże i małe litery oraz symbole). Brute force zaczyna generowanie haseł o długości odpowiadającej minimalnej długości hasła dla danej usługi. W przypadku Apple ID jest to minimum 8 znaków. W praktyce, dostępnych symboli, liter i cyfr jest ok. 90. Co to oznacza? W przypadku hasła długości 1 mamy 90 kombinacji. W przypadku hasła dwuznakowego – jest to 90*90 symboli, czyli 8100. 8 znaków? 90^8, czyli bardzo dużo, a właściwie 4 304 672 100 000 000. Załóżmy, że sprawdzamy 10 haseł na sekundę (optymistyczny wariant) – daje to 7 174 453 500 000 minut, czyli 119 574 225 000 godzin, czyli 4 982 259 375 dni, czyli około 13 650 025 lat. Dalej uważacie, że zastosowano właśnie atak Brute force? Oczywiście można zrównoleglić te obliczenia, ale problem skali pozostaje. A to tylko 8 znaków długości.
Dużo prawdopodobniejszym scenariuszem wydaje się być atak słownikowy. Polega on na wykorzystaniu słownika najpopularniejszych haseł oraz słów ze słownika danego języka. Pomysł genialny w swojej prostocie, ale niestety wciąż wiele osób używa haseł typu kwiatuszek87, admin1 czy dupa.8 (ujawnieniem tego ostatniego zagroziłem ogromnej liczbie serwerów). Być może posłużono się też tablicami tęczowymi – zainteresowanych odsyłam do (najlepiej angielskiej) Wikipedii.
Podsumowując – wykorzystano żenującą dziurę w API dla usługi Find my iPhone oraz posłużono się słownikiem haseł, który jest odrobinę bardziej wyszukaną odmianą ataku Brute force. Czy jesteśmy skazani na takie ataki? Czy da się w jakiś sposób poprawić bezpieczeństwo naszych danych przechowywanych zarówno lokalnie jak i w chmurze?
Zabezpiecz się
Poniżej chciałbym przedstawić kilka prostych kroków, które pozwolą przynajmniej częściowo pozwolić na ochronę naszej prywatności i własności intelektualnej.
Korzystaj z usług pozwalających odnaleźć zgubiony telefon czy tablet. Nie ma nic gorszego dla ochrony danych niż zgubienie czy stracenie własnego urządzenia przenośnego. Każdy z trzech głównych systemów operacyjnych ma wbudowane narzędzia do tego – umożliwiają one namierzenie zguby, zdalne wyczyszczenie danych czy zablokowanie sprzętu. Protip: wypróbuj najpierw te usługi, zanim będziesz musiał skorzystać z nich naprawdę. Dodatkowo, dodaj pin czy w inny sposób zabezpiecz ekran blokady. W takim przypadku warto jednak wpleść w tapetę numer zastępczego telefonu oraz ewentualną informację o nagrodzie dla znalazcy. To działa.
Nie daj się namierzać. To brzmi banalnie, ale czy zastanawiałeś się które aplikacje rzeczywiście potrzebują dostępu do usług lokalizacji? Facebook? Twitter? A może latarka? Dodając wpisy z geotagiem możesz „powiedzieć” złodziejowi, że nie ma Cię w domu. Dla użytkowników 4square – nie bądźcie majorami we własnym domu – to wyjątkowo nierozsądne.
Zabezpiecz laptopa, hybrydę czy komputer stacjonarny. Windows to ogromne możliwości. Czyjeś urządzenie w niepowołanych rękach to ogromne możliwości… inwigilacji czy kradzieży danych. Większość z nas, wpisując hasła do poczty czy innych serwisów używa opcji „zapamiętaj mnie”. Wygodne, ale tragiczne w skutkach, gdy dostęp do tego uzyska ktoś obcy. Zahasłuj urządzenie (konto systemowe) i pomyśl o skorzystaniu z aplikacji takich jak PreyProject, umożliwiających „śledzenie” utraconego urządzenia.
Szyfruj wszystko. Chcesz się przestraszyć? Wpisz któreś ze swoich haseł w wyszukiwarkę systemową Windowsa czy Maka. Jeśli trzymasz je gdzieś ukryte w plikach tekstowych, Twój system operacyjny je zaindeksował i ma zawsze pod ręką. Trzymasz newralgiczne pliki? Spróbuj programów szyfrujących. Pozwolą one stworzyć lokalny „dysk wirtualny” w obrębie jednego zaszyfrowanego pliku. Takie pliki, jeśli zabezpieczysz je odpowiednio mocnym hasłem, możesz śmiało trzymać nawet na Dropboxie, są bardzo dobrze chronione. Jeśli masz Windowsa w odpowiednio wysokiej wersji – możesz skorzystać z BitLockera do zaszyfrowania CAŁEGO dysku.
Nie noś newralgicznych danych na USB. Gwizdek łatwo zgubić, a jeszcze łatwiej u kogoś zostawić czy ciągnąć na niego wirusa, który kopiuje zawartość. Jeśli nie musisz – nie przenoś swoich wrażliwych danych na patykach USB. Jeśli musisz – zaszyfruj je zaufanym programem szyfrującym.
Na boga, używaj mocniejszych haseł. Imię psa, swojej ex czy ksywa z datą urodzenia nie są tutaj najlepszym rozwiązaniem. Masz problem z zapamiętywaniem dziwacznych haseł generowanych syntetycznie? Mam zagadkę, które hasło jest bezpieczniejsze, „jldSksy8#” czy „tramwaj chusteczka biec zielony”? Pamiętasz gdy pisałem wcześniej o ataku słownikowym, więc mogło by się wydawać, że te pierwsze. Okazuje się, że nie. Drugie hasło nie będzie złamane atakiem słownikowym, bo to zbiór niepowiązanych ze sobą słów. A przy atakach Brute force liczy się tylko długość hasła, a nie jego ukryte „znaczenie”. Zbitki słowne są dobrym sposobem na hasła, jeśli nie masz głowy do przypadkowych syntetycznych ciągów znaków.
Używaj uwierzytelniania dwuetapowego. To kolejny krok, po dobrym haśle. Do najbardziej newralgicznych serwisów, takich jak poczta e-mail czy dyski sieciowe spróbuj 2-factor auth. Będziesz dostawał kody SMS lub korzystał z generowanego PINu przez specjalną aplikację – możesz jednak zyskać znaczną poprawę bezpieczeństwa.
Używaj protokołów SSL/HTTPS dla serwisów społecznościowych. Większość z nich robi to standardowo, jednak warto sprawdzać, czy w pasku adresu przeglądarki znajduje się „htpps://”. I miej pewność, że dostawca usługi załatał dziurę „heartbleed”.
A na koniec najważniejsze – jeśli nie musisz, nie rób sobie fotek nago. Mogą wypłynąć w najmniej oczekiwanym momencie.