Wykrył groźny błąd na stronach Facebooka, ale nie dostał pełnej nagrody. Dlaczego?

Pewien inżynier badając zabezpieczenia Facebooka odkrył potencjalnie niebezpieczny błąd. Zgodnie z procedurą zgłosił swoje znalezisko, a serwis usunął lukę w ciągu kilku godzin. Autor odkrycia ma jednak powody do lekkiego rozczarowania.

Facebook dbając o bezpieczeństwo swojego serwisu zachęca hakerów i programistów z całego świata do jego nieustannego testowania. Stworzył w tym celu specjalny projekt -  Facebook Bug Bounty . W jego ramach każdy, kto odkryje i zgłosi (według odpowiednich procedur) błąd zagrażający bezpieczeństwu Facebooka może liczyć na nagrodę w gotówce. Minimalna wartość wypłaty wynosi 500 dol., kwoty maksymalnej w regulaminie projektu nie uwzględniono. Wiadomo jednak, że Mark Zuckerberg za znalezienie błędu płaci nawet 7,5 tys. dol.

Proszę, oto tajne dane

Odporność Facebooka na atak postanowił przetestować programista Josip Franjkovic. Na cel wziął formularz, za pomocą którego inżynierowie składają podanie o pracę w Facebooku. Narzędzie wydawało się całkowicie odporne na wszelkie "sztuczki". Okazało się jednak serwer odsyłał  zawartość wypełnionego formularza w formie specjalnego pliku.

Jak doprowadziło to do wykrycia luki wyjaśnia portal ZaufanaTrzeciaStrona.pl

Josip testował kolejne opcje jak np. przesyłanie plików o różnych nazwach, ale nie udało mu się osiągnąć żadnego wymiernego efektu dopóki nie przesłał pliku ZIP i nie otrzymał w odpowiedzi od serwera jego rozpakowanej wersji. Wtedy go olśniło - w przewodniku łowcy błędów autorstwa Facebooka znajduje się przykład opisujący przesłanie w pliku ZIP dowiązania symbolicznego (symlink) do lokalnego pliku, który chcemy odczytać. Josip stworzył zatem dowiązanie do /etc/passwd, spakował i wysłał w formularzu. Co dostał w odpowiedzi? Tak, serwer był uprzejmy plik odpakować, odczytać dowiązanie i zwrócić treść pliku, na który wskazywało."

Franjkovic uzyskał więc w łatwy sposób dostęp do plików z folderu /etc/passwd. Odpowiadają one za nazwy użytkownika i hasła. Standardowa zawartość takiego folderu może wyglądać tak:

Zawartość katalogu ETCZawartość katalogu ETC Fot. Drzewi-wiedzy.pl

Fot. Drzewi-wiedzy.pl

Programista zgłosił swoje odkrycie Facebookowi, a ten dziurę bardzo szybko załatał. Niestety nie wypłacił pełnej kwoty za wykrycie zagrożenia, a jedynie 5500 dol. Dlaczego? Bo ten moduł serwisu został stworzony poza Facebookiem, przez programistów zewnętrznej firmy.

Po raz kolejny okazało się więc, że poziom bezpieczeństwa danego serwisu zawsze można podnieść, a cyberprzestępcy zawsze będą próbować złamać zabezpieczenia.

Więcej o: