19 stycznia 2011

Jak z pomocą robota zhakować sejf?

Ataki typu brute force, czyli metody opierające się na sukcesywnym sprawdzaniu wszystkich możliwych kombinacji haseł lub kodów dostępowych, są oczywiście świetnie znane wszystkim osobom zainteresowanym tematyką bezpieczeństwa IT. Jak się jednak okazuje, tego typu zautomatyzowane ataki mogą również z powodzeniem zostać zastosowane w zupełnie zaskakujący sposób. Oto krótka historia o tym, jak komputerowi maniacy poradzili sobie z pewnym sejfem!

Wszystko zaczęło się od tego, że dwóch studentów ze słynnego Massachusetts Institute of Technology weszło w posiadanie pewnego tajemniczego sejfu. Kierowani wrodzoną (a może wyuczoną przez amerykańskie szkolnictwo wyższe?) ciekawością, postanowili opracować skuteczną metodę otwierania tego typu sejfów. Tak oto powstał działający prototyp robota zdolnego do odnalezienia właściwej kombinacji w ciągu zaledwie kilku godzin i to właśnie za pomocą ataku sprowadzającego się do sprawdzenia wszystkich możliwych kombinacji:


Powyższe zadanie wcale nie było takie proste. Sejf był wyposażony w zamek Sargent and Greenleaf 8500. Jest to jeden z najbardziej zaawansowanych zamków mechanicznych, a liczba wszystkich możliwych kombinacji to okrągły milion. Manualne testowanie poszczególnych kombinacji nie było więc oczywiście zbyt dobrym pomysłem. Tutaj świetnie sprawdził się zbudowany na tę okazję robot. Jednak nawet tak zautomatyzowany atak typu brute force wymagałby wielu długich godzin. Kolejnym kluczem do osiągnięcia założonego celu w krótkim czasie okazała się więc odpowiednia optymalizacja przestrzeni testowanych kombinacji.

Milion kombinacji to w tym przypadku jedynie teoria. Otóż ze względu na pewne mechaniczne ograniczenia samego zamka okazało się, że rzeczywisty zakres dozwolonych kombinacji można zredukować około dziesięciokrotnie! Dzięki odpowiedniej optymalizacji programu sterującego pracą robota, udało się ostatecznie zbudować prototyp zdolny do otwarcia sejfu w ciągu zaledwie kilku godzin. Całość jest sterowana za pomocą komputera poprzez port USB, natomiast oprogramowanie (2 tys. linii kodu) sterownika powstało w języku C.

Powyższy sprzętowy bruteforcer stanowi więc fascynujący przykład myśli hakerskiej. Warto podkreślić nie tylko interesujące rozwiązanie sprzętowe, lecz również zręczne wykorzystanie fizycznych ograniczeń zamka. Aż szkoda, że najnowsze sejfy wykorzystują obecnie zamki elektroniczne, pozbawione już oczywiście tego typu mechanicznych ułomności. Jeśli znacie podobne niecodzienne implementacje ataków znanych na co dzień ze świata IT, oczywiście zachęcam do dyskusji na ich temat!

[źródło]