Tak czytam sobie informacje o tym, jak to można sobie pobrać dane osobowe z Naszej Klasy. Od razu powiem, że nie uznaję tego za błąd (implementacyjny) w naszej-klasie (skrypt tylko symuluje działanie użytkownika). Natomiast kilka słów na ten temat napiszę...
Znów o Naszej Klasie słów kilka
Po pierwsze dlaczego nie uznaję tego za błąd w implementacji? Dlatego, że dane, które są pobierane przez przykładowy skrypt, są dostępne dla każdego uwierzytelnionego użytkownika. Owszem, problemem jest to, że bardzo łatwo te dane zebrać i stworzyć całkiem sporą bazę danych. Inaczej, jeśli na przykład pozwalałoby to też na uzyskanie (przykładowo) numeru telefonu użytkowników, którzy wybrali opcję, że informacja ta ma być dostępna tylko dla znajomych. Nie jest to więc błąd w implementacji, tylko w projekcie. A skąd on się wziął?
Twórcy Naszej Klasy (swoją drogą znacie nasza-klapa.pl?) niejednokrotnie przyznawali się, że nie wiedzieli, czy pomysł "chwyci". Tym tłumaczyli swoje problemy z wydajnością, bo "nie opłacało się inwestować w niepewny interes i kupować wiele serwerów" (jakby sprzęt załatwiał sprawę kiepskiego projektu). Później, gdy pojawiły się informacje o kontroli GIODO, pojawiły się również informacje, że zespół naszej-klasy ma już gotowe nowe mechanizmy zabezpieczeń, które czekają na wdrożenie, bo na razie walczą z wydajnością (prędkość światła nadal nie została osiągnięta). Wygląda na to, że ani wydajność, ani bezpieczeństwo nie zostały uwzględnione w fazie projektu. Obecnie następuje radosne łatanie obu tych kwestii.
Podejrzewam, że nikt nie spojrzał na tworzoną aplikację z pozycji intruza, prawdopodobnie nie było nawet próby identyfikacji zagrożeń (celów intruza), a i pewnie zbiór danych osobowych nie został uznany za zasób wymagający (szczególnej) ochrony. A ja bym dorzucił do chęci poznania danych o zarejestrowanych użytkownikach, jeszcze przejęcie czyjegoś konta. A to wcale nie musi być takie trudne, bo:
- uwierzytelnienie odbywa się po prostu po http, czyli dane uwierzytelniające przesyłane są "czystym tekstem" (raj dla podsłuchiwaczy),
- identyfikator sesji nie jest zmieniany po uwierzytelnieniu, co ułatwia przejęcie sesji (session fixation się kłania),
- phishing będzie trywialny (brak SSL ułatwia "podstawienie" strony o podobnym adresie, na przykład nasza-kalsa.pl),
Po co przejąć czyjeś konto? Już są informacje na temat wyłudzeń dokonanych za pomocą naszej-klasy (akcja "charytatywnej" zbiórki pieniędzy dla potrzebującego kolegi). O ile takie działanie będzie skuteczniejsze, jeśli przejęte zostanie konto aktywnego, znanego użytkownika? Można też zdyskredytować osobę "dewastując" jej profil ("fajne" zdjęcia, głupie teksty, komentarze, dyskusje na forum). Pomysłów jest wiele... Przyznam, że przejęcie konta przez przejęcie sesji może być problematyczne (zarówno do zmiany hasła, jak i do zmiany adresu e-mail wymagane jest podanie hasła), ale do "dewastacji" wystarczy. Poza tym podejrzewam, phishing byłby wystarczająco skuteczny (patrz powodzenie ataku na Inteligo). W tym przypadku wystarczy wysłać maila z informacją o czekającej nowej wiadomości. Swoją drogą sprawdziłem i okazuje się, że już jest zarejestrowanych kilka "podobnych" domen:
- nasza-klasa.pk
- nasza-lasa.pl
- nnasza-klasa.pl
- nasza-klzsa.pl
- naszsa-klasa.pl
- nasza-kalsa.pl
- ansza-klasa.pl
A jest w czym jeszcze wybierać. Mój fuzzer generuje ponad 150 nazw "podobnych" domen.
Wracając do Naszej Klasy i ochrony danych osobowych, to zastanawia mnie również dlaczego zbiór danych osobowych został zarejestrowany, gdy liczył sześć milionów(!) użytkowników...
I aby nie jechać tak tylko po tej biednej Naszej Klasie - napisanie jakiegoś pajączka, który przejdzie przez GoldenLine i zbierze całkiem niezłą bazę danych (może nawet lepszą, bo z informacjami o historii zawodowej) wcale nie wymaga Światowej Klasy Programistów(tm). A mając na uwadze "drobne" różnice w wydajności między serwisami na (nie)korzyść GoldenLine, może się okazać to nawet lepszym pomysłem.
...i trafili na mój blog, jak trafiają na mój blog czytelnicy? Miałem 101,914 odwiedzin i 145,978 wyświetleń strony, co daje tylko 1,43 strony na wizytę. Z ciekawości kilka dodatkowych informacji: źródła odwiedzin, najpopularniejsze treści, goście,
Przesłany: Jun 06, 20:08