O potencjalnych skutkach błędnych odczytów pamięci i przekłamań na linii danych spowodowanych promieniowaniem lub temperaturą
Cześć,
Nie tak dawno kolega opowiadał mi, o swoich perypetiach związanych z projektem związanym z normą ISO-26262. Norma ta dotyczy bezpieczeństwa funkcjonalnego (tj. czy urządzenie swoim działaniem może być niebezpieczne dla użytkownika z powodu błędu) oprogramowania oraz sprzętu i stosuje się ją w przemyśle motoryzacyjnym do elementów wysokiego ryzyka, np. hamulców. Z czym się to wiąże? Programiści muszą np. przeanalizować, uzasadnić i pokryć testami, że nie dojdzie do zakleszczenia (konflikt w dostępie do zasobu powodujący, że program przestaje działać) albo (z czym się zetknął kolega) ciągłym wpisywaniu założeń w dokumentacji tj.: ”oprogramowanie jest tworzone z założeniem bezpiecznego dostępu do pamięci i zagwarantowaną ochroną przed promieniowaniem kosmicznym na poziomie sprzętu”.

Nie wydaje się Wam to dziwne? Samochody, póki co nie latają niczym pojazdy w Gwiezdnych Wojnach więc samo ciśnie się na usta, gdzie Rzym, gdzie Krym. Niestety, jak pokazali badacze na konferencji DefCon 2019 wpływ środowiska na nasze systemy jest wyższy niż Nam się to stereotypowo wydaje.
Przyroda jako środowisko działania urządzeń elektronicznych
Wiele komponentów elektronicznych zawiera w swojej charakterystyce informacje dotyczące temperatury w jakiej działają one optymalnie, w związku z czym w urządzeniach ogólnego przeznaczenia stosuje się takie o możliwie szerokim spektrum akceptowalnych temperatur albo działających w statystycznie najczęstszym środowisku. Okazuje się jednak, że Ziemia jest na tyle zróżnicowana klimatycznie, że zdarzają się sytuacje kiedy urządzenia pracują przez dłuższy czas poza oczekiwanymi temperaturami. Spójrzmy na dwie okolice:
- Ojmiakon w Jakucji (gdzie 26 stycznia 1926 roku termometr wskazał na -71 stopni Celsjusza,
- wioska Furnace Creek (na pustynnej Dolinie Śmierci w Kalifornii, odczyty trzy razy wskazały powyżej 54 stopnie).


Dwa zupełnie skrajne środowiska, gdzie za pewne ludzie używają dokładnie tego samego iPhone’a. Badacze wybrali nieco mniej różniące się klimatem miejsca tj. Montreal i Las Vegas… A i tak przez część roku nie pokrywają się one z temperaturami optymalnymi dla iPhone’a.


Problemy mogą też spowodować np. uszkodzone kondensatory albo… promieniowanie kosmiczne. Okazuje się, że w miarę wzrostu wysokości nad poziomem wzrasta poziom błędów odczytu.
Pewnie zastanawiacie się w jaki sposób może się to objawić… Zanim jednak do tego przejdę chciałbym Wam przedstawić pewną ciekawą technikę wykorzystywaną w phishing’u (wyłudzaniu danych przez wiadomość e-mail) o nazwie typosquatting, gdyż będzie dla mnie za chwilę użyteczna.
Typosquatting
Osoby przygotowujące kampanie phishingowe muszą robić to tak, aby wydawały się one wiarygodne. W tym celu zaczęli wykorzystywać pewien mechanizm zachodzący w naszej podświadomości. Zwróciliście uwagę, że pomimo literówek jesteśmy w stanie prawidłowo odczytać tekst?

Mózg dokonuje swego rodzaju autokorekty. Typosquatting bazuje na tym, że widzimy często to co chcemy widzieć, więc phisherzy wrzucają literówki do adresów powszechnie znanych instytucji lub firm z nadzieją, że czytelnik w ferworze walki życia codziennego zmianę przeoczy.
Przykładem tego może być np. użycie nazwy nBank zamiast mBank albo goog1e.com zamiast google.com. To właśnie nazywamy typosquatting’iem.
Niestety, może to być jeszcze bardziej perfidne… Aplikacje komputerowe jeśli tylko jest to możliwe próbują wyświetlać adresy jako znaki ASCII jednak czasem znaki z obcych alfabetów wyglądają tak samo (albo podobnie) jak nasze, przez co możemy przeoczyć zmieniony adres strony.

Spójrzcie na grafikę obok. Jest to alfabet rosyjski z zaznaczonymi literami których potencjalnie moglibyśmy nie zauważyć bo w zasadzie różnią się jedynie kodem Unicode. Nie, nie muszą temu być winni konkretnie Rosjanie 😊.
Ewolucja w bitsquating
Niestety, jak to w historii większość zmian zachodzi poprzez ewolucję… Typesquatting wyewoluował w nową metodę oszustw o nazwie bitsquatting. Wydaje się, że zmiana losowego bitu może być jednak bardziej widoczna gdyż nie będzie ona bazować na podobieństwie znaków (tj. n i m czy 1 i l) tutaj jednak przypadek użycia okaże się nieco inny, bo nie bazujący na ludzkiej spostrzegawczości.
Niestety, jak to w historii większość zmian zachodzi poprzez ewolucję… Typesquatting wyewoluował w nową metodę oszustw o nazwie bitsquatting. Wydaje się, że zmiana losowego bitu może być jednak bardziej widoczna gdyż nie będzie ona bazować na podobieństwie znaków (tj. n i m czy 1 i l) tutaj jednak przypadek użycia okaże się nieco inny, bo nie bazujący na ludzkiej spostrzegawczości.

W tym miejscu (tj. punkcie 2 i 4) pojawia się pole dla nadużyć wynikających z wpływu środowiska. Co się może wydarzyć? Jak wiemy procesor komunikuje się z innymi komponentami komputera poprzez protokoły elektroniczne… Jednym z nich jest oczywiście karta sieciowa odpowiadająca za interakcje ze światem zewnętrznym. Skoro taka komunikacja ma miejsce na poziomie elektronicznym to z powodu środowiska (jak to opisałem w pierwszym paragrafie) może dojść do przekłamania np. w adresie (tego typu pomyłki mogą nie zostać wychwycone przez sterowniki wewnątrz karty sieciowej) podczas wysyłania zapytania DNS.
Zakończenie
Czy jest ten atak niebezpieczny? Generalnie myślę, że nie… Jednak wydaje się on ciekawy, gdyż przypomina nam o swego rodzaju pokorze – nasze systemy nie są tak niezawodne jak chcemy to widzieć więc stosujmy do nich zawsze zasadę ograniczonego zaufania. Pomimo posiadania w samochodach czujników zmiany pasa ruchu zerknijmy jednak czasem w lusterka. Nigdy do końca nie wiemy, czy jakiś zabłąkany atom nie przeskoczył lub kondensator czy tranzystor uległ mikrouszkodzeniu powodując błędny odczyt 😉. Bądź co bądź z każdym kolejnym pokoleniem nasza wiedza na temat praw otaczającego Nas świata się powiększa!
Źródła:
Prezentacja o bitsquatingu na Defcon 2019
Examinig bitsquatting – white paper firmy CISCO
Dodaj komentarz