Automatyczne logowanie do Facebooka w mobilnej aplikacji wydaje się być całkiem wygodnym rozwiązaniem. Niestety, może się również okazać rozwiązaniem niebezpiecznym, jeśli wystarczy, by ktoś ukradł nasz token i mógł zalogować się na nasze konto…
Nie musisz się logować przez następne 2000 lat
Jak donosi The Register, jeden z jego czytelników przeprowadził cykl ciekawych eksperymentów. Gareth Wright zainteresował się możliwością podszywania się pod innych użytkowników mobilnej wersji aplikacji Facebooka. Najpierw odkrył, że token, którego aplikacja używa do autoryzacji, jest tymczasowy – tylko że „tymczasowy” wg Facebooka oznacza, że wygasa 1 stycznia 4001 roku. Facebook chyba zakłada szybkie odkrycie leku zapewniającego nieśmiertelność…
Garteh następnie ustalił, że aby uzyskać dostęp do cudzego konta na Facebooku wystarczy jedynie przejąć token użytkownika. Aplikacja nie szyfruje tokena, nie weryfikuje urządzenia ani nie oczekuje od użytkownika niczego, poza posiadaniem prawidłowego pliku z tokenem. Można go zatem przenosić między urządzeniami.
Jak wykraść token?
Okazuje się, że w Androidzie sprawa jest dość prosta. Wystarczy aplikacja, posiadająca dostęp do zapisu/odczytu plików. Można także podłączyć telefon na chwilę do komputera, by skopiować potrzebne pliki. W IOS Apple’a sprawa jest trochę bardziej skomplikowana, ponieważ domyślnie umożliwia on aplikacjom dostęp jedynie do własnych danych. Zagrożenie pojawia się dopiero, gdy urządzenie pracuje na prawach administratora lub zostało podłączone do komputera.
Co na to Facebook?
Odkrywca problemu powiadomił o wszystkim Facebooka, który odpowiedział, że problem zna i nad nim pracuje. Nie udało się dowiedzieć, kiedy powstanie rozwiązanie, likwidujące opisane powyżej zagrożenia. Nie jest to bardzo skomplikowana kwestia – wystarczy chociażby przypisać token do danego urządzenia. Do czasu publikacji bezpieczniejszej wersji aplikacji wszystkim użytkownikom pozostaje przestrzegać podstawowych zasad bezpieczeństwa – nie instalować aplikacji z podejrzanych źródeł i nie pozwalać na podłączanie telefonu do podejrzanych komputerów…
Komentarze
facepalm!
Ej, to jest bullshit! Pod Androidem aplikacje mają dostęp jedynie do danych zapisanych w swojej własnej bazie danych. Więc trzeba do tego przyznać appce prawa roota. No chyba, że programiści, którzy napisali klienta Fb na Androida byli tak wielkimi idiotami, że stwierdzili, że fajnie będzie zapisywać nieszyfrowany token na karcie SD. W co wątpię.