Włamał się do aplikacji obsługującej znane na całym świecie polskie urządzenie. Dla... piwa
Polski programista ogłosił na swoim blogu, że znalazł sposób na przełamanie zabezpieczeń aplikacji obsługującej polski beacon Estimote. Dzięki stworzonej przez siebie procedurze mógłby już nigdy nie płacić za piwo. Zacznijmy jednak od początku.
Beacony Estimote
Za tą dość tajemniczą nazwą kryje się jedna z największych polskich innowacji ostatnich lat. Beacony to niewielkie urządzenia nadawczo-odbiorcze działające podobnie jak router WiFi. Są jednak mniejsze i nie wymagają dużo energii - wystarczy im bateria. Można je zamontować w dowolnym miejscu sklepu, restauracji czy centrum handlowego. Stworzyła je firma Estimote - założona przez Polaków (tu więcej o jej sukcesie komercyjnym)
Jak działają Beacony? Kliknij, aby powiększyć (grafika Paweł Płaza) Jak działają Beacony? Kliknij, aby powiększyć (grafika Paweł Płaza)
Beacony wykorzystywane są na wiele sposobów, bo są bardzo otwarte i elastyczne. Mogą służyć do zliczania osób wchodzących do sklepu, "rozsyłać" ofertę reklamową. Służą też do "meldowania się" w określonych miejscach.
I właśnie tę ostatnią z funkcji beacona postanowił złamać Kuba Gretzky - programista z Polski. Wziął na warsztat beacon znajdujący się w jednej z restauracji.
Służył w niej do obsługi programu lojalnościowego. Klient zamiast nosić ze sobą wizytówkę, na której kelner po zakupie każdego piwa przybija pieczątkę, korzystał z beacona. Aplikacja obsługująca program dopuszczała dwie możliwe formy potwierdzenia zakupu: zbliżenie do beacona, albo wpisanie kodu.
Otwarte standardy czyli darmowe piwo
Gretzky postanowił stworzyć system, który pozwoli na nieautoryzowane naliczanie darmowych punktów. Szybko odkrył, że urządzenie, które działa w restauracji wykorzystuje publiczny numer UUID. To rodzaj identyfikatora przypisanego do wielu tego tupu urządzeń.
Programista odniósł sukces. Wystarczyło, by wszedł do restauracji i przechwycił identyfikator UUID rozsyłany przez beacon. Po jego zapisaniu, już w domu, musiał uruchomić aplikację obsługującą program lojalnościowy i napisany przez siebie kod. Zamiast potwierdzenia zakupu piwa przez zbliżenie musiał wskazać metodę PINu. Stworzony przez niego system sprawił, że mógł wpisać dowolny kod, a aplikacja uznała go za prawidłowy i naliczyła sprzedaż. W ten sposób Gretzky, mógłby pić darmowe piwo tak długo, aż obsługa nie zorientowałaby się, że coś jest nie tak. Oczywiste jest jednak, że intencją polskiego programisty było znalezienie luki w oprogramowaniu, a nie schłodzony napój.
Estimote: ta dziura jest już załatana
Jakub Krzych, Steve Cheney, Łukasz Kostka - założyciele Estimote Fot. Estimote
Jakub Krzych, prezes i współzałożyciel Estimote, wyjaśnił nam, że problem jest znany. Firma opublikowała odpowiednie aktualizacje dla oprogramowania beaconów w zeszłym roku.
Trochę niefortunne w przypadku tego klienta i tej aplikacji była sama implementacja, która wykorzystywała publiczny numer beacona zgodny z protokołem Apple iBeacon (tzw. numery UUID, Major i Minor). Ponieważ są to publiczne informacje dostępne dla każdego z natury rzeczy nie powinny być wykorzystywane do autentykacji transakcji. Rozwiązaniem, które my rekomendujemy wszystkim klientom jest pionierska i opatentowana przez Estimote technologia tzw. Secure UUID dla urządzeń Apple. Dzięki tej technologii numery beacona dynamicznie się zmieniają i nie są łatwe do podrobienia. Dostępna jest też wydana kilka miesięcy temu technologia Eddystone-EID opracowana wspólnie z Google, która również zabezpiecza aplikacja na Androida w jeszcze bardziej wyrafinowany sposób i można jej używać zarówno na obu platformach.
Jednocześnie podziękował, za naszym pośrednictwem, za zwrócenie uwagi, iż w tej konkretnej restauracji zabezpieczenia udało się złamać.
Opisana przez sprytnego inżyniera w artykule metoda jest dość złożona i żmudna, stąd trudno sobie wyobrazić, aby stwarzała duże ryzyko dla klienta lub jego partnerów. Nie mniej jednak jesteśmy wdzięczni wszystkim, którzy przyczyniają się do bezpieczeństwa naszych technologii oraz wdrożeń naszych klientów.
- napisał pan Krzych w przesłanym nam oświadczeniu.
Sytuacja jest dowodem na to, że każdy system wymaga zabezpieczeń i testów "terenowych", bo programiści nie są w stanie przewidzieć wszystkich zagrożeń i wad produktu. Dobrze, że polski programista wykazał się zapałem. Dowiódł tego, że stosowanie przestarzałego oprogramowania nie jest bezpieczne.
-
Tarcza 8.0 już działa. Ważne zmiany - część przedsiębiorców może otrzymać 5 tys. zł nawet trzy razy
-
Niemcy przedłużą lockdown do końca marca. Będą jednak wyjątki
-
Polska firma podpisała umowę. Ma być zaangażowana w produkcję szczepionki przeciw COVID-19
-
Amazon czy Allegro - gdzie jest taniej? Analiza 1000 produktów daje odpowiedź
-
Podwyżki cen prądu w Polsce. Wiceminister: Drożeje i będzie drożeć co najmniej do 2030 roku
- Tesla walczy o specjalistów dla gigafabryki pod Berlinem. "Tego nie może przebić" - konkurencja ma argumenty
- Horała o reformie OFE: "Pieniądze można wypłacić w każdej chwili". Nie doczytał art. 18 pkt 17b i 21
- Allegro coraz bliżej własnych automatów paczkowych. Jest list intencyjny
- Rozbrajająca szczerość wiceministra Sobonia w sprawie górników. "Docelowo wszyscy stracą pracę"
- Życie na Ziemi w większości zakończy się za miliard lat. Zabraknie tlenu