Czytelnicy tacy jak ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską. Czytaj więcej.

Statki to mechaniczne bestie z wieloma częściami pracującymi w celu zapewnienia bezpiecznych i udanych rejsów. Cyfrowym odpowiednikiem byłoby oprogramowanie. Podobnie jak tworzenie oprogramowania, budowa statków obejmuje kilka etapów i precyzyjną inżynierię. Następnie, gdy wszystko jest gotowe, budowniczowie testują swoje dzieła w różnych warunkach, aby upewnić się, że statek jest bezpieczny i działa zgodnie z projektem. Prawie wszystkie najlepsze oprogramowanie, z którego korzystamy obecnie, przechodzi testy, aby upewnić się, że są one również bezpieczne.

Jednym z takich testów jest wstrzykiwanie błędów. W porównaniu z budową statków, wstrzykiwanie błędów przypominałoby celowe robienie przez inżynierów morskich dziur w swoich statkach, aby zobaczyć, jak poradzą sobie z zatonięciem…

Co to jest wstrzykiwanie błędów i dlaczego jest ważne?

instagram viewer

Wstrzykiwanie błędów to praktyka celowego tworzenia defektów w systemie. Celem tej praktyki jest analiza działania systemu pod wpływem stresu. Inżynierowie sprzętu i oprogramowania zazwyczaj wywołują usterki w swoim sprzęcie lub oprogramowaniu z kilku powodów.

Po pierwsze, chcą wykrywać i usuwać awarie, które mogą wystąpić poza kontrolowanym środowiskiem laboratorium produkcyjnego. Jest to ważne, ponieważ nie mają kontroli nad warunkami, w jakich klienci będą korzystać z ich produktów. Ciepło może uszkodzić elementy lub materiały łączące elementy; awaria serwera może spowodować utratę dostępu do ulubionej usługi przesyłania strumieniowego przez cały region; osoby atakujące mogą wywołać usterkę, która łamie funkcje zabezpieczeń. Kiedy takie zdarzenia mają miejsce, programiści i producenci urządzeń nadal chcą zapewnić bezpieczeństwo swoim produktom chronić integralność danych i bezpieczeństwo użytkowników lub dostosowywać rozkład obciążenia, aby zminimalizować obsługę zakłócenie.

Ostatecznie wstrzykiwanie błędów jest konieczne, aby aplikacje i sprzęt były bezpieczne i niezawodne. Podobnie, wstrzykiwanie błędów pomaga producentom chronić własność intelektualną, zmniejszać ryzyko strat i zachować zaufanie klientów. Nie wpłaciłbyś pieniędzy do banku, gdyby ich aplikacja cały czas się zawieszała, a hakerzy mieliby cały dzień, żeby ją złamać, prawda?

Jak działają ataki typu Fault Injection?

Producenci celowo przeprowadzają iniekcję błędów, aby wykryć wady, które mogłyby zagrozić bezpieczeństwu ich produktów. Nic nie powstrzymuje atakujących przed zrobieniem tego samego w celu ujawnienia słabości systemu i ich wykorzystania. W końcu narzędzia używane do wykonywania iniekcji błędów są publiczne, a metody nie są zbyt skomplikowane.

Co więcej, doświadczeni hakerzy mogą wykazać się kreatywnością w swoich metodach i wypchnąć system poza to, co normalne. W tym momencie musisz wiedzieć, że wstrzykiwanie błędów może być fizyczne (w sprzęcie) lub cyfrowe (w oprogramowaniu). Podobnie narzędzia i metody stosowane w atakach polegających na wprowadzaniu błędów mogą przybierać różne formy. Producenci i hakerzy często łączą narzędzia fizyczne i cyfrowe odpowiednio w swoich testach i atakach.

Niektóre narzędzia używane do wstrzykiwania usterek to FERRARI (Fault and ERRor Automatic Real-time Injector), FTAPE (Fault Tolerance And Performance Evaluator), Xception, Gremlin, Holodeck i ExhaustiF. Tymczasem metody FIA często polegają na bombardowaniu układu intensywnymi impulsami elektromagnetycznymi, podnoszeniu temperatury otoczenia, obniżaniu napięcia GPU lub CPUlub wywołanie zwarcia. Korzystając z narzędzi i metod FIA, mogą uszkodzić system na tyle długo, aby wykorzystać reset, ominąć protokół lub ukraść poufne dane.

Zapobieganie atakom typu Fault Injection

Nie musisz się martwić o zapobieganie atakom FIA, jeśli jesteś zwykłym konsumentem. Ta odpowiedzialność spoczywa na producencie urządzenia lub twórcy oprogramowania, tak jak bezpieczeństwo statku jest zadaniem załogi żeglugi. Producenci i programiści robią to, projektując bardziej odporne protokoły bezpieczeństwa i utrudniając hakerom ekstrakcję danych.

Niemniej jednak nie ma systemów doskonałych. Atakujący często opracowują nowe metody ataku i nie są ograniczeni w stosowaniu tych metod, ponieważ nie przestrzegają zasad. Na przykład haker może połączyć FIA z plikiem atak bocznym kanałem, zwłaszcza jeśli ich dostęp do urządzenia jest ograniczony. Zespół po drugiej stronie musi uwzględnić ten fakt podczas projektowania odpornych systemów i planowania testów wstrzykiwania błędów.

Czy należy się martwić o FIA?

Nie bezpośrednio. Istnieje bardziej prawdopodobne zagrożenie cyberbezpieczeństwa, które wpływa na Ciebie bardziej osobiście niż ataki polegające na wstrzykiwaniu błędów. Poza tym FIA rzadko jest tajna. Osoba atakująca będzie potrzebować fizycznego dostępu do Twojego urządzenia, aby przeprowadzić atak polegający na wprowadzeniu błędu. Ponadto metody wstrzykiwania błędów są na ogół inwazyjne i powodują pewien poziom tymczasowego lub trwałego uszkodzenia systemu. Jest więc bardzo prawdopodobne, że zauważysz, że coś jest nie tak lub zostaniesz z urządzeniem, którego nie możesz używać.

Haczyk polega oczywiście na tym, że atakujący mógł ukraść poufne dane, zanim zauważysz manipulację. To do producenta lub programisty należy przede wszystkim zapobieganie atakom i poprawa bezpieczeństwa swoich produktów.