- Oprogramowanie sprzętowe to wewnętrzne oprogramowanie, które bezpośrednio łączy sprzęt z systemem operacyjnym i umożliwia działanie dowolnego urządzenia elektronicznego.
- Istnieją różne rodzaje oprogramowania sprzętowego (niskiego poziomu, wysokiego poziomu, podsystemu, BIOS/UEFI, IoT, sieci), a każde z nich steruje określonymi funkcjami sprzętu.
- Aktualizacja oprogramowania sprzętowego usuwa błędy, poprawia wydajność i wzmacnia zabezpieczenia przed atakami, które są bardzo trudne do wykrycia.
- Prawidłowe zarządzanie oprogramowaniem sprzętowym w domu i w firmie zmniejsza ryzyko cyberbezpieczeństwa i wydłuża żywotność całej infrastruktury technologicznej.
Za każdym razem, gdy włączasz komputer, odblokowujesz telefon lub programujesz pralkę, przed wszystkimi innymi uruchamia się pewien rodzaj cichego oprogramowania: oprogramowanie układowe. Nie widzisz go, nie używasz go codziennie, tak jak systemu operacyjnego, ale bez niego nic by się nie uruchomiło.
To oprogramowanie sprzętowe znajduje się w samym urządzeniu , na specjalnych układach pamięci i odpowiada za sterowanie sprzętem, co ma robić, jak to robić i w jakiej kolejności. Zrozumienie, czym ono jest, do czego służy i jak zapewnić jego bezpieczeństwo, jest dziś kluczowe, zarówno dla użytkowników domowych, jak i firm, które polegają na swojej infrastrukturze cyfrowej.
Czym właściwie jest oprogramowanie sprzętowe?
Mówiąc o oprogramowaniu sprzętowym, mamy na myśli bardzo podstawowy program , który jest preinstalowany w niemal każdym nowoczesnym urządzeniu elektronicznym. To oprogramowanie wbudowane w sprzęt , które zawiera minimalne instrukcje niezbędne do uruchomienia urządzenia, zainicjowania jego komponentów i komunikacji z innymi systemami.
Kod ten jest zazwyczaj przechowywany w pamięci nieulotnej, takiej jak ROM, EEPROM lub pamięć Flash, dzięki czemu pozostaje tam nawet po wyłączeniu urządzenia lub utracie zasilania. W przeciwieństwie do zwykłej aplikacji, którą instaluje się i odinstalowuje w razie potrzeby, oprogramowanie układowe jest częścią „osobowości” urządzenia.
Praktycznie wszystkie urządzenia wokół Ciebie korzystają z oprogramowania układowego : komputery, routery, telewizory Smart TV, telefony komórkowe, kamery bezpieczeństwa, roboty odkurzające, drukarki, nowoczesne samochody, smartwatche, żarówki Wi-Fi, routery Twojego dostawcy internetu, sprzęt kuchenny i wiele innych. Wiele z nich nie ma nawet tradycyjnego systemu operacyjnego, ale posiadają oprogramowanie układowe, które umożliwia im działanie, podobnie jak w przypadku wielu systemów wbudowanych.
Historycznie termin „firmware” powstał w latach 60. XX wieku i odnosił się do mikrokodu przechowywanego w specjalnej pamięci, która definiowała zestaw instrukcji procesora. Od tego czasu koncepcja ta rozszerzyła się i obejmuje teraz dowolną programowalną zawartość urządzenia: od BIOS-u komputera PC po wewnętrzną konfigurację układu ASIC lub urządzenia IoT.

Różnice między oprogramowaniem sprzętowym, oprogramowaniem, systemem operacyjnym i sterownikami
Łatwo pomylić pojęcia takie jak oprogramowanie sprzętowe, oprogramowanie, system operacyjny i sterowniki , ponieważ wszystkie one, w taki czy inny sposób, stanowią kod działający na urządzeniu. Jednak każdy z nich odgrywa zupełnie inną rolę w technologicznej „piramidzie”.
Oprogramowanie układowe a „normalne” oprogramowanie
Oprogramowanie sprzętowe to wysoce wyspecjalizowany rodzaj oprogramowania , z którego jednak nie korzysta bezpośrednio użytkownik. Jego celem jest sterowanie sprzętem na niskim poziomie i przygotowanie systemu do działania innych programów. Dlatego często nazywa się je „oprogramowaniem sprzętowym”.
Oprogramowanie użytkownika (aplikacje, programy, gry) działa niezależnie od systemu operacyjnego i nie jest zależne od żadnego konkretnego komponentu sprzętowego . Możesz zainstalować przeglądarkę, edytor tekstu lub odtwarzacz muzyki na różnych komputerach, nie martwiąc się o to, jakiego dokładnie układu scalonego używają, ponieważ system (Windows, Linux, Android itp.) zarządza sprzętem za pomocą oprogramowania układowego i sterowników.
Oprogramowanie układowe a system operacyjny
System operacyjny (Windows, macOS, Linux, Android, iOS itd.) to „grube” oprogramowanie, z którym wchodzimy w interakcję na co dzień: ma ono interfejs, okna, aplikacje, uprawnienia, sieci itd. Oprogramowanie układowe natomiast działa przed systemem operacyjnym i na niższym poziomie.
Na przykład komputer PC może mieć oprogramowanie układowe BIOS lub UEFI wytrawione na płycie głównej. Po naciśnięciu przycisku zasilania oprogramowanie układowe przeprowadza wstępną kontrolę pamięci, procesora, urządzeń pamięci masowej i innych komponentów, a dopiero potem przekazuje kontrolę systemowi operacyjnemu, ładując je z dysku.
Co ciekawe, urządzenie może działać bez tradycyjnego systemu operacyjnego , ale z oprogramowaniem sprzętowym (pomyślmy o pilocie lub zegarze cyfrowym), podczas gdy bez żadnego oprogramowania sprzętowego sterującego podstawowym sprzętem nie może działać.
Oprogramowanie układowe a sterowniki lub kontrolery
Sterowniki to również oprogramowanie, ale ich rola jest inna . Sterownik jest instalowany w systemie operacyjnym i działa jako „tłumacz” między tym systemem a konkretnym urządzeniem: kartą graficzną, drukarką, myszą, monitorem itp.
Oprogramowanie sprzętowe znajduje się w samym urządzeniu , często na chipie przylutowanym do płyty głównej. Informuje ono komponent o tym, jak ma się zachowywać i jak komunikować się ze światem zewnętrznym. Sterownik z kolei informuje system operacyjny, jak komunikować się z tym komponentem . Są to dwie uzupełniające się części, ale nie są tym samym.
Nieudana aktualizacja sterownika jest zazwyczaj odwracalna (można odinstalować i przywrócić poprzednią wersję). Jednak nieudana aktualizacja oprogramowania układowego może spowodować, że urządzenie stanie się bezużyteczne (tzw. „cegła”) i nie będzie można go uruchomić, ponieważ uszkodzony został kod, który go uruchamia.
Jak oprogramowanie sprzętowe działa na co dzień
Sposób działania oprogramowania układowego jest łatwy do zrozumienia, jeśli pomyślimy o procesie rozruchu dowolnego urządzenia. Gdy włączamy coś nawet nieco bardziej złożonego (komputer, telefon komórkowy, router):
- Oprogramowanie układowe wybudza procesor i wskazuje, które instrukcje należy wykonać w pierwszej kolejności.
- Sprawdź pamięć i innych podstawowych komponentów, aby mieć pewność, że nie wystąpią żadne poważne awarie.
- Skonfiguruj parametry początkowe takich jak kolejność rozruchu, ustawienia zasilania lub sieci.
- Przejąć kontrolę nad systemem operacyjnym lub przekazać ją lub do następnego oprogramowania w łańcuchu (bootloader, hypervisor, itp.).
W tradycyjnym komputerze PC klasycznym przykładem jest BIOS/UEFI : wykonuje test „POST” (Power-On Self-Test), wykrywa dyski, klawiaturę, mysz, karty, ładuje menedżera rozruchu, który z kolei ładuje system Windows lub Linux do pamięci.
W telefonie komórkowym oprogramowanie układowe producenta SoC i sam telefon sterują wszystkim, od zarządzania energią po działanie ekranu dotykowego, aparatu, modemu 4G/5G i czytnika linii papilarnych. Następnie do gry wkracza Android lub iOS, ale pod spodem kryje się wiele warstw oprogramowania układowego i bootloaderów, które umożliwiają to wszystko.
W prostszych urządzeniach (kontrolerach, czujnikach, małych urządzeniach) oprogramowanie sprzętowe może działać bezpośrednio jako „wewnętrzny system operacyjny”. Nie ma żadnych dodatkowych warstw: wbudowany kod interpretuje naciśnięcia przycisków, czasy i odczyty czujników, a następnie odpowiednio aktywuje silniki, światła lub sygnały.
Gdzie przechowywane jest oprogramowanie sprzętowe i dlaczego to takie ważne?
Oprogramowanie sprzętowe jest zawsze przechowywane w pamięci nieulotnej , co oznacza, że nie traci informacji po wyłączeniu urządzenia. Historycznie stosowano następujące rozwiązania:
- ROM (pamięć tylko do odczytu): zaprogramowane w fabryce i nie podlegające modyfikacji.
- EPROM:można je ponownie zaprogramować, ale wymagają uciążliwych procesów fizycznych (kasowanie światłem ultrafioletowym).
- Pamięć EEPROM i Flash:możliwość ponownego zapisu elektrycznego, bez konieczności demontażu czegokolwiek.
Obecnie oprogramowanie układowe zazwyczaj znajduje się na układach pamięci flash , takich jak pamięć flash NAND lub podobne. Są one niedrogie, szybkie i umożliwiają stosunkowo prostą aktualizację (flashowanie), nawet bez otwierania urządzenia. Dlatego oprogramowanie układowe UEFI płyty głównej lub dysku SSD można aktualizować bezpośrednio z poziomu systemu operacyjnego.
Wiele nowoczesnych płyt głównych zawiera nawet układ zapasowy z „poprawną” kopią oprogramowania układowego. Jeśli coś pójdzie nie tak podczas aktualizacji, system może przywrócić oryginalną zawartość i zapobiec awarii płyty głównej. Lata temu nie istniała taka możliwość, a przerwa w dostawie prądu podczas flashowania oznaczała konieczność wyrzucenia płyty głównej lub odesłania jej do producenta.
W przypadku urządzeń IoT i routerów (zobacz nasz przewodnik po instrukcjach obsługi routerów i specyfikacjach technicznych ), pamięć zawierająca oprogramowanie układowe jest zazwyczaj wlutowana w płytkę, a aktualizacje są przeprowadzane za pośrednictwem aplikacji internetowych lub mobilnych. Zawartość tej pamięci flash jest nadpisywana, a po ponownym uruchomieniu urządzenie uruchamia się z nowym kodem.
Typy oprogramowania układowego: poziomy i przykłady praktyczne
Nie wszystkie oprogramowania sprzętowe są jednakowo skomplikowane i nie wszystkie znajdują się na tym samym etapie „łańcucha dowodzenia ”. Zazwyczaj klasyfikuje się je według poziomu zaawansowania i typu urządzenia, w którym się znajdują.
Oprogramowanie układowe niskiego poziomu
Oprogramowanie sprzętowe niskiego poziomu jest najściślej powiązane ze sprzętem . Uruchamia się natychmiast po włączeniu zasilania i zazwyczaj znajduje się w pamięci ROM lub w pamięci o wysokim poziomie bezpieczeństwa , której nie da się łatwo nadpisać. Jego zadaniem jest zapewnienie wykrycia krytycznych komponentów i minimalnej konfiguracji, aby wszystko inne mogło się uruchomić.
W wielu prostych urządzeniach to oprogramowanie układowe jest wszystkim, co jest dostępne : pomyślmy o cyfrowym budziku, niektórych typach pilotów, niedrogich czujnikach temperatury itp. Ten mikrokod definiuje całą logikę urządzenia.
Oprogramowanie sprzętowe wysokiego poziomu
Oprogramowanie sprzętowe wysokiego poziomu działa wyżej niż oprogramowanie sprzętowe niskiego poziomu i realizuje bardziej złożone funkcje : zaawansowane menu konfiguracyjne, interfejsy graficzne, zarządzanie siecią itp. Jest ono zazwyczaj przechowywane w pamięci Flash z możliwością zapisu, co pozwala na stosunkowo częste aktualizacje.
Oprogramowanie układowe podsystemu lub urządzenia
W złożonych systemach wiele komponentów wewnętrznych ma własne, oddzielne oprogramowanie układowe . Jest ono znane jako oprogramowanie układowe podsystemu : działa częściowo niezależnie od oprogramowania układowego systemu głównego.
- Karty graficzne z własnym BIOS-em.
- Kontrolery RAID lub przechowywania.
- Moduły WiFi lub Bluetooth zintegrowany z laptopem.
- Dysk SSD Unidades z oprogramowaniem sprzętowym odpowiedzialnym za zarządzanie komórkami pamięci, pamięcią podręczną i korekcją błędów.
Każdy z tych podsystemów może otrzymywać aktualizacje oprogramowania sprzętowego , czasami za pośrednictwem narzędzi producenta lub za pośrednictwem bardziej zaawansowanego oprogramowania innych firm.
BIOS, EFI i UEFI: oprogramowanie układowe komputera
W komputerach stacjonarnych i laptopach kwintesencją oprogramowania układowego był BIOS (Basic Input/Output System). Przez dekady znajdował się on na chipie na płycie głównej i odpowiadał za:
- Wykonaj test POST i wykrywać awarie pamięci lub procesora.
- Rozpoznawanie klawiatur, dysków, kart i inne podstawowe urządzenia peryferyjne.
- Załaduj menedżera rozruchu z dysku, dysku USB lub nośnika instalacyjnego.
Później pojawił się EFI i przede wszystkim UEFI (Unified Extensible Firmware Interface), z którego korzysta większość współczesnych komputerów PC. UEFI:
- Umożliwia interfejsy graficzne za pomocą myszki.
- Obsługuje duże dyski, nowoczesne partycje i bezpieczny rozruch..
- Oferuje zaawansowane opcje zarządzanie energią, bezpieczeństwo i diagnostyka.
W świecie komputerów Mac, Apple również przeszło na EFI/UEFI lata temu i jest to standard w nowoczesnych serwerach i stacjach roboczych. Z poziomu menu UEFI można aktualizować oprogramowanie sprzętowe płyty głównej, konfigurować hasła rozruchowe lub włączać funkcje takie jak TPM do szyfrowania dysku.
Oprogramowanie układowe w telefonach komórkowych, urządzeniach IoT i innych urządzeniach
Telefony, tablety i smartwatche mają wiele warstw oprogramowania sprzętowego : w modemie, w układzie audio, w aparacie, w kontrolerze zasilania… Wszystkie one są niezależne od systemu Android lub iOS, choć działają w koordynacji.
W obszarze Internetu rzeczy (IoT) każdy czujnik, żarówka, inteligentna wtyczka lub kamera IP zawiera własne oprogramowanie sprzętowe odpowiedzialne za łączenie się z siecią WiFi, komunikację z chmurą producenta i wykonywanie poleceń (włączanie, wyłączanie, pomiar, wysyłanie danych itp.).
Nowoczesne samochody są również pełne małych elektronicznych jednostek sterujących (ECU) silnikiem, hamulcami ABS, poduszkami powietrznymi, systemem informacyjno-rozrywkowym, klimatyzacją… Każda z nich ma własne, specyficzne oprogramowanie układowe, które w wielu przypadkach można aktualizować w warsztacie, a w najbardziej zaawansowanych modelach nawet zdalnie.
Dlaczego tak ważne jest aktualizowanie oprogramowania sprzętowego?
Aktualizacja oprogramowania układowego to nie kaprys: to kwestia stabilności, wydajności i przede wszystkim bezpieczeństwa . Mimo to wiele osób odkłada to na później, co może mieć poważne konsekwencje.
Poprawa stabilności i kompatybilności
Z czasem w oryginalnym oprogramowaniu układowym odkrywane są błędy : problemy z kompatybilnością z pewnym sprzętem, awarie w określonych sytuacjach, brak możliwości wybudzenia ze stanu uśpienia itp. Producenci poprawiają te błędy w nowych wersjach.
Aktualizacja może zapobiec przypadkowym restartom, awariom i innym nietypowym zachowaniom komputerów, routerów, kamer i urządzeń IoT. W niektórych przypadkach jest to jedyny sposób na zapewnienie poprawnego działania komponentu w nowym systemie operacyjnym.
Bezpieczeństwo: najdelikatniejszy aspekt oprogramowania sprzętowego
Oprogramowanie układowe to bardzo atrakcyjna powierzchnia ataku dla cyberprzestępców . Jeśli uda im się wstrzyknąć tam złośliwy kod, osiągają ogromną trwałość : nawet jeśli sformatujesz komputer, zainstalujesz ponownie system operacyjny lub przywrócisz urządzenie mobilne, złośliwe oprogramowanie może pozostać aktywne w tej głębokiej warstwie.
Istnieją zagrożenia takie jak rootkity oprogramowania sprzętowego , które ukrywają się w BIOS-ie/UEFI lub oprogramowaniu sprzętowym dysków i urządzeń. Są one niezwykle trudne do wykrycia, nawet przez zaawansowane oprogramowanie antywirusowe, ponieważ działają przed systemem i w jego tle.
Co więcej, producenci często nie przywiązywali wagi do bezpieczeństwa tych warstw już na etapie początkowych projektów: brakowało podpisów cyfrowych, niewystarczających procedur walidacji, braku mechanizmów ochrony przed zapisem itd. Sytuacja ta uległa zmianie, ale w routerach, kamerach, urządzeniach domowych i oczywiście starszym, nieobsługiwanym sprzęcie nadal znajduje się wiele podatnego na ataki oprogramowania sprzętowego.
Aktualizacje oprogramowania sprzętowego obejmują krytyczne poprawki , które naprawiają luki w zabezpieczeniach mogące posłużyć do kradzieży danych, szpiegowania komunikacji, manipulowania pracą urządzenia lub otwierania tylnych drzwi do całej sieci.
Wydajność i nowe funkcje
Nie chodzi tylko o poprawki zabezpieczeń . Często nowa wersja oprogramowania sprzętowego poprawia wydajność (na przykład na dysku SSD, karcie graficznej lub routerze) lub zapewnia kompatybilność z nowymi formatami i standardami.
Nawet urządzenia, które wydają się „stare”, można odmłodzić za pomocą dobrej aktualizacji: pamięć masowa przestanie wyświetlać błędy, router zwiększy stabilność i szybkość, płyta główna będzie obsługiwać nową rodzinę procesorów w ramach fizycznie możliwych parametrów itd.
Ryzyko, oszustwa i zmodyfikowane oprogramowanie sprzętowe
Aktualizacja oprogramowania sprzętowego nie jest pozbawiona ryzyka . Istnieje cały świat zmodyfikowanych wersji oprogramowania sprzętowego, zarówno legalnych, jak i całkowicie fałszywych.
Niebezpieczeństwo awarii podczas aktualizacji
Najważniejszym momentem jest sam proces flashowania . Jeśli podczas zapisywania nowego oprogramowania układowego do pamięci nastąpi przerwa w zasilaniu, urządzenie się wyłączy lub proces zostanie przerwany z jakiegokolwiek powodu, urządzenie prawdopodobnie stanie się bezużyteczne.
Dlatego zawsze zaleca się flashowanie przy użyciu stabilnego źródła zasilania (unikaj rozładowanych baterii, laptopów bez ładowarek i podejrzanych listew zasilających) i nie dotykaj niczego do momentu zakończenia procesu. Wiele narzędzi wyraźnie ostrzega przed wyłączaniem urządzenia pod żadnym pozorem.
Oszukańcze oprogramowanie sprzętowe i oszustwa
Niektórzy oszuści celowo modyfikują oprogramowanie sprzętowe, aby kłamać na temat specyfikacji produktu . Dość często można spotkać się z:
- Tanie dyski SSD lub dyski USB, które „twierdzą”, że mają pojemność 1 TB lub 2 TB W rzeczywistości mają 32 lub 64 GB. Oprogramowanie sprzętowe zgłasza błędną pojemność, ale zapis powyżej rzeczywistej pojemności powoduje uszkodzenie danych.
- Karty graficzne niskiej klasy maskujące modele wyższej klasygdy oprogramowanie sprzętowe zgłasza nazwę lub częstotliwości, które nie odpowiadają układowi scalonemu.
Tego typu produkty można znaleźć głównie na międzynarodowych platformach sprzedażowych , w podejrzanych sklepach lub na rynkach wtórnych. Narzędzia do testowania pojemności i wydajności mogą ujawnić oszustwo, porównując deklaracje oprogramowania sprzętowego z rzeczywistymi możliwościami sprzętu.
Nieoficjalne oprogramowanie układowe i projekty alternatywne
Z drugiej strony istnieją nieoficjalne oprogramowania sprzętowe tworzone przez społeczności i niezależnych programistów , które w wielu przypadkach są całkowicie legalne i oferują dodatkowe funkcje:
- OpenWRT, DD-WRT lub Tomato dla routerówktóre dodają zaawansowane opcje, których wielu producentów nie oferuje.
- Alternatywne oprogramowanie układowe dla odtwarzaczy muzycznych, aparatów fotograficznych i konsol do gierktóre umożliwiają stosowanie dodatkowych kodeków, nagrywanie w formacie RAW, uruchamianie oprogramowania homebrew itp.
Problem polega na tym, że flashowanie tego typu oprogramowania zawsze wiąże się z ryzykiem , a w przypadku niektórych urządzeń może spowodować unieważnienie gwarancji lub naruszenie warunków świadczenia usług. Co więcej, pobierając oprogramowanie z niezaufanych stron, możesz otrzymać złośliwe oprogramowanie jako bonus.
Jak bezpiecznie aktualizować oprogramowanie sprzętowe
Każdy typ urządzenia ma własną procedurę aktualizacji , jednak istnieje szereg ogólnych wytycznych, których należy przestrzegać, aby zminimalizować ryzyko.
Podstawowe kroki i najlepsze praktyki
- Zidentyfikuj dokładny model i aktualną wersję oprogramowania sprzętowego urządzenia. Zazwyczaj można je znaleźć w menu ustawień (na routerach, aparatach, telewizorach Smart TV itp.) lub w narzędziach producenta na komputerach PC i urządzeniach mobilnych.
- Oprogramowanie układowe można pobrać wyłącznie z oficjalnej strony internetowej Pobierz ze strony producenta lub skorzystaj z jego oficjalnej aplikacji. Unikaj stron internetowych osób trzecich i plików krążących na forach, jeśli nie są zweryfikowane.
- Upewnij się, że masz stabilne źródło zasilaniaW przypadku laptopów należy zawsze podłączać ładowarkę do gniazdka; w przypadku komputerów stacjonarnych należy unikać podłączania ładowarki do gniazdka podczas burzy lub w przypadku ryzyka przerw w dostawie prądu.
- Przeczytaj uważnie instrukcję zgodnie ze wskazaniami producenta, zwłaszcza jeśli podjęto już pewne kroki (reset, wykonanie kopii zapasowej konfiguracji itp.).
- Nie wyłączaj urządzenia ani nie zamykaj aplikacji Podczas wyświetlania paska postępu zachowaj cierpliwość, nawet jeśli wydaje się, że zatrzymał się na kilka sekund.
Konkretne przypadki: komputery PC, dyski SSD, płyty główne i inne
W nowoczesnych komputerach stacjonarnych i laptopach płyty główne z UEFI zwykle zawierają wbudowane narzędzia do wyszukiwania i instalowania nowych wersji poprzez połączenie z Internetem lub umożliwiają flashowanie z dysku USB pobranego pliku.
Dyski SSD często mają własne oficjalne oprogramowanie (takie jak Samsung Magician, narzędzia CORSAIR, Crucial itp.), które wykrywa dysk pamięci masowej i proponuje odpowiednią aktualizację oprogramowania sprzętowego za pomocą kilku kliknięć.
Karty graficzne, słuchawki, klawiatury mechaniczne i inne urządzenia peryferyjne coraz częściej zawierają własne narzędzie konfiguracyjne, za pomocą którego można załadować nowe oprogramowanie układowe w celu zwiększenia kompatybilności, naprawienia błędów lub dodania funkcji.
W środowisku Mac może również istnieć hasło oprogramowania sprzętowego, zapobiegające nieautoryzowanym zmianom w rozruchu. Zabezpieczeniem tym zarządzają narzędzia do odzyskiwania systemu macOS.
Bezpieczeństwo oprogramowania układowego: ataki i obrona
Bezpieczeństwo oprogramowania sprzętowego stało się kwestią kluczową , szczególnie w obliczu rosnącej liczby urządzeń podłączonych do sieci (IoT), kamer, routerów i czujników w domach i firmach.
Jak wyglądają ataki na oprogramowanie sprzętowe?
Atak na oprogramowanie sprzętowe polega zasadniczo na przerobieniu lub modyfikacji kodu wbudowanego , tak aby urządzenie zachowywało się zgodnie z zainteresowaniami atakującego. To rodzaj hakowania na bardzo niskim poziomie.
Konsekwencje mogą obejmować uniemożliwienie korzystania z urządzenia , wykorzystanie go jako bramy do sieci, instalację oprogramowania ransomware, szpiegowanie komunikacji lub kradzież danych. Ponieważ złośliwe oprogramowanie jest tak głęboko osadzone, przetrwa formatowanie, przywracanie systemu, a nawet wymianę dysku twardego.
Częstym celem ataków stały się kamery bezpieczeństwa, routery operatorskie, rejestratory wideo, czujniki przemysłowe i systemy automatyki domowej, ponieważ podatne na ataki oprogramowanie sprzętowe umożliwia atakującym przejęcie kontroli nad całą powiązaną infrastrukturą.
W jaki sposób atak dociera do urządzenia
Typowe drogi wejścia to :
- Słabo zabezpieczone sieci Wi-Fi lub z domyślnymi hasłami.
- Wykorzystanie luk w zabezpieczeniach znane w niezałatanym oprogramowaniu sprzętowym.
- Zagrożone urządzenia zewnętrznetakich jak dyski USB lub już zainfekowany sprzęt w tej samej sieci.
- Pobieranie „aktualizacji” z nieoficjalnych stron internetowych które w rzeczywistości są zmodyfikowanym oprogramowaniem układowym zawierającym złośliwy kod.
Do środków obronnych zalicza się m.in. stałą aktualizację oprogramowania sprzętowego , zmianę domyślnych kluczy, segmentację sieci, jeśli to możliwe, oraz za wszelką cenę unikanie flashowania plików z podejrzanych źródeł.
Profesjonalne zarządzanie oprogramowaniem sprzętowym i konserwacja IT
W firmie zarządzanie oprogramowaniem sprzętowym nie jest już jednorazowym zadaniem, lecz częścią bieżącej konserwacji IT . Każdy serwer, przełącznik, router, zapora sieciowa, urządzenie pamięci masowej, stacja robocza i urządzenie IoT ma swój własny ekosystem oprogramowania sprzętowego, który może wymagać regularnych aktualizacji.
Dobrą praktyką jest prowadzenie szczegółowego spisu modeli, wersji oprogramowania sprzętowego i dat ostatniej aktualizacji, a także opracowanie jasnej procedury testowania nowych wersji w środowiskach testowych przed wdrożeniem ich w środowisku produkcyjnym.
Zaleca się również włączenie przeglądu oprogramowania sprzętowego do zasad cyberbezpieczeństwa : należy sprawdzić biuletyny producenta, zaplanować przerwy konserwacyjne na wypadek krytycznych aktualizacji, udokumentować możliwe ścieżki wycofania w przypadku awarii oraz przeszkolić zespół IT w zakresie znaczenia tej warstwy.
Ignorowanie oprogramowania sprzętowego w strategii bezpieczeństwa oznacza otwarcie drzwi dla najbardziej cierpliwych i najlepiej przygotowanych atakujących, w momencie, gdy tradycyjne narzędzia dają najmniejszą widoczność.
Oprogramowanie sprzętowe to w ostatecznym rozrachunku dyskretny element, który spaja wszystko inne : jeśli jest aktualne, dobrze chronione i właściwie zarządzane, Twoje urządzenia będą działać lepiej, dłużej i będą znacznie mniej narażone na trudne do rozwiązania problemy z bezpieczeństwem.