Biorąc pod uwagę poważne ryzyko, jakie słabości bezpieczeństwa systemów IoT stwarzają dla usług IoT i innych usług w społeczeństwie – w tym możliwość utraty życia ludzkiego lub zakłócenia funkcjonowania społeczeństwa – kluczowe jest identyfikowanie i usuwanie podatności IoT, zanim wykorzystają je cyberprzestępcy. Rozpowszechnienie różnorodnych urządzeń IoT w wielu sektorach przy niewielkiej standaryzacji i regulacji lub ich braku zwiększyło liczbę podatności i powierzchnię ataku, które cyberprzestępcy mogą wykorzystać do kompromitacji danych zbieranych przez urządzenia IoT oraz istniejących systemów. Do podatności IoT należą m.in. (rysunek 1):
Hasła wbudowane w urządzenia IoT: aby umożliwić zdalne wsparcie techniczne, inżynierowie i deweloperzy IoT muszą mieć zdalny dostęp do urządzeń w celu ich konfiguracji podczas wdrożenia oraz rozwiązywania problemów podczas eksploatacji i utrzymania sieci IoT z wieloma urządzeniami. Ułatwia to cyberprzestępcom dostęp do urządzeń IoT i ich wykorzystanie do złośliwych celów.
Brak uwierzytelniania: niektórzy producenci IoT dostarczają urządzenia bez jakiegokolwiek mechanizmu uwierzytelniania, co czyni je podatnymi na nieuprawniony dostęp atakujących i narusza poufność, prywatność oraz integralność danych IoT. Atakujący mogą też przejąć urządzenia i wykorzystać je do złośliwych celów. Urządzenia bez jakiejkolwiek formy uwierzytelniania mogą więc stać się elementem powierzchni ataku, wykorzystywanym do zaawansowanych ataków na systemy IoT i inne krytyczne zasoby.
Słabe hasła: aby urządzenia były łatwe w użyciu, producenci dostarczają je z domyślnymi zabezpieczeniami, takimi jak hasła wbudowane na stałe, których użytkownik nie może zmienić, domyślne nazwy użytkownika i hasła lub uproszczony sposób logowania. Ponieważ dane uwierzytelniające producenta są proste i nigdy niezmieniane, atakujący często je wykorzystują, aby uzyskać dostęp do urządzenia, naruszając poufność i integralność danych. Mogą też używać tych urządzeń do dalszych ataków.
Tylne furtki (backdoory): większość producentów IoT tworzy ukryte mechanizmy dostępu zwane tylnymi furtkami (identyfikator/hasło lub otwarte porty), aby móc serwisować urządzenia. Atakujący często uzyskują dostęp do tych furtek i wykorzystują je do przeprowadzania ataków (np. botnetów i innych ataków z użyciem złośliwego oprogramowania).
Brak instalacji poprawek i aktualizacji bezpieczeństwa: niektórzy producenci IoT nie zapewniają prostego i skutecznego sposobu instalowania poprawek i aktualizacji bezpieczeństwa, co utrudnia dostawcom usług IoT usuwanie podatności, zanim wykorzystają je cyberprzestępcy. W przeciwieństwie do tradycyjnych systemów komputerowych, wyposażonych w mechanizmy ciągłej instalacji aktualizacji bezpieczeństwa i powiadamiania o zmianach, urządzenia IoT są proste i tych funkcji nie mają, co czyni je podatnymi na cyberataki. Ze względu na swoją prostotę urządzenia IoT są też podatne na ataki takie jak nieuprawnione aktualizacje oprogramowania i firmware'u. Producenci IoT często nawet nie publikują poprawek ani aktualizacji oprogramowania swoich urządzeń, co wykorzystują atakujący. A nawet jeśli poprawki i aktualizacje są publikowane, użytkownicy mają trudności z ich instalacją, przez co większość podatności tych urządzeń nigdy nie zostaje załatana.
Słabo chronione usługi sieciowe: bezprzewodowy kanał komunikacyjny między urządzeniem IoT a punktem dostępowym lub bramą stanowi istotną powierzchnię ataku, często wykorzystywaną do atakowania urządzeń IoT. Niezaszyfrowane kanały komunikacyjne są jedną z podatności sieciowych wynikających z niechronionych usług sieciowych. Ze względu na ograniczenia energii, kosztów i mocy obliczeniowej większość producentów IoT nie implementuje mechanizmów kryptograficznych zapewniających bezpieczną komunikację. Ułatwia to atakującym przeprowadzanie ataków man-in-the-middle na sieci IoT. Bez ochrony komunikacji między urządzeniami IoT a serwerami poufne dane, w tym dane uwierzytelniające, mogą zostać skompromitowane i wykorzystane do dalszych ataków, np. DoS/DDoS. Istnieją też zbędne usługi, takie jak niechronione porty, które mogą wykorzystać cyberprzestępcy. Niewyłączenie nieużywanych portów lub niezabezpieczenie używanych portów zaporą sieciową czyni je podatnymi na cyberataki.
Ekspozycja w Internecie: niektóre urządzenia IoT są podłączone bezpośrednio do Internetu bez zapór sieciowych czy jakichkolwiek mechanizmów bezpieczeństwa i są narażone na ataki.
Niechronione interfejsy: część podatności systemów IoT wprowadzają słabo zabezpieczone lub niechronione interfejsy (np. webowe,
API zaplecza, interfejsy chmury i mgły), co czyni urządzenia IoT i inne zasoby podatnymi na cyberataki. Słabe (a czasem brak) mechanizmy uwierzytelniania, autoryzacji i kryptograficzne czynią komunikację przez te interfejsy podatną na cyberataki, ponieważ brakuje kontroli dostępu do istotnych zasobów, rozliczalności oraz ochrony danych i systemów przed kompromitacją.
Używanie przestarzałych komponentów: czasem producenci urządzeń IoT nie są w stanie usunąć wykrytych podatności sprzętowych lub programowych, przez co dostawcy usług IoT muszą nadal używać tych urządzeń bez poprawek usuwających znane podatności. Takie przestarzałe urządzenia ze znanymi podatnościami stają się łakomym kąskiem dla cyberprzestępców, którzy mogą je wykorzystać, skompromitować i uszkodzić systemy i zasoby IoT.
Podatności łańcucha dostaw: łańcuch dostaw IoT obejmuje producentów (układów półprzewodnikowych, części sprzętowych, urządzeń IoT, oprogramowania), dystrybutorów, sprzedawców, dostawców usług i użytkowników. Podatności mogą zostać wprowadzone do urządzeń IoT na dowolnym etapie łańcucha dostaw. Może to być skompromitowane oprogramowanie lub sprzęt, zmanipulowany lub zainstalowany w celu wprowadzenia słabości bezpieczeństwa, które czynią urządzenia IoT podatnymi na ataki lub łatwymi do skompromitowania. Celem ataków na łańcuch dostaw może być cyberszpiegostwo (kradzież lub kompromitacja danych) oraz wykorzystanie urządzeń do przeprowadzania zaawansowanych cyberataków. Źle zaprojektowane oprogramowanie zewnętrzne (np. biblioteki, sterowniki, jądra systemu lub komponenty sprzętowe) zainstalowane na urządzeniach lub stanowiące część innych aplikacji lub firmware'u może wprowadzać podatności, które mogą zostać ostatecznie wykorzystane do kompromitacji urządzeń lub ataków na infrastrukturę. Jednym ze źródeł podatności łańcucha dostaw jest stosowanie zewnętrznych komponentów programowych i sprzętowych bez odpowiedniego sprawdzenia ich pod kątem podatności i usunięcia ich przed włączeniem komponentów do produktów IoT. Zdarza się też, że twórcy urządzeń IoT kopiują kod ze źródeł internetowych do swoich programów, aby uzyskać pożądaną funkcjonalność. Inną formą podatności łańcucha dostaw jest wdrażanie przez producentów lub deweloperów (podczas instalacji urządzenia) bardzo niewielu mechanizmów bezpieczeństwa lub ich brak, co czyni urządzenia podatnymi na ataki. Jednym z istotnych problemów ataków na łańcuch dostaw jest to, że użytkownicy nie są świadomi tych słabości ani tego, ile urządzeń różnych producentów w ich infrastrukturze je posiada.
Przestarzałe oprogramowanie układowe (firmware): po wdrożeniu urządzeń IoT niektórzy dostawcy usług IoT przez długi czas nie aktualizują działającego na nich firmware'u ani oprogramowania. Niektórzy nie aktualizują go wcale, pozostawiając podatności, które mogą zostać wykorzystane.
Słabe strategie i polityki zarządzania urządzeniami: niektóre urządzenia IoT są wdrażane bez unikalnych identyfikatorów umożliwiających ich śledzenie, monitorowanie i zarządzanie. W rezultacie część węzłów IoT funkcjonuje w infrastrukturze bez odpowiedniego monitorowania i zarządzania, które pozwoliłoby wykrywać i usuwać podatności. Jeśli dział cyberbezpieczeństwa nie wie o istnieniu niektórych węzłów IoT, nie może ich chronić, co pozostawia je podatnymi na ataki. Niektórzy administratorzy IT zaniedbują węzły IoT, nie poświęcając im takich samych wysiłków jak tradycyjnym węzłom obliczeniowym i sieciowym, i nie umieszczają ich w ewidencji chronionych zasobów; w efekcie urządzenia te są rzadko aktualizowane i konserwowane w sposób zapobiegający ich kompromitacji lub wykorzystaniu.
Słabe protokoły zarządzania kluczami: jeśli klucze kryptograficzne zostaną skompromitowane, urządzenia IoT stają się podatne na ataki man-in-the-middle i inne ataki, które mogą zakłócić usługę IoT lub skompromitować dane IoT.
Słabe fizyczne zabezpieczenie urządzeń IoT: węzły IoT są często rozmieszczane na zewnątrz lub w odległych lokalizacjach, co czyni je fizycznie dostępnymi dla przestępców. Przestępca może fizycznie uszkodzić urządzenie, wydobyć z niego informacje lub zmanipulować je tak, aby nie mogło wykonywać swoich normalnych funkcji. Na przykład atakujący może skopiować dane zapisane w pamięci urządzenia, a nawet wymienić niektóre komponenty na skompromitowane, co może dać mu zdalny dostęp do urządzeń.
Podatności zarządzania danymi: w przypadku wdrożeń IoT na dużą skalę, liczących tysiące, dziesiątki lub setki tysięcy węzłów, ilość zbieranych danych jest tak ogromna, że tradycyjne systemy zarządzania danymi mogą nie być w stanie bezpiecznie jej obsłużyć. Poufność i integralność danych mogą zostać naruszone z powodu podatności w zakresie przechowywania, przetwarzania i odczytu danych w systemach zarządzania danymi, które pogłębiają się wraz ze skalowaniem zasobów IoT.
Standaryzacja podatności: mimo wielu działań na rzecz standaryzacji w ekosystemie IoT nadal występują problemy ze standaryzacją i interoperacyjnością. Zaprojektowanie zintegrowanego systemu bezpieczeństwa chroniącego urządzenia IoT różnych producentów, o zróżnicowanych podatnościach, jest trudne. Różnorodność urządzeń IoT różnych producentów utrudnia ich integrację z istniejącymi ramami bezpieczeństwa, co skutkuje słabym bezpieczeństwem IoT lub traktowaniem bezpieczeństwa jako oczywistości, pozostawiając urządzenia podatnymi na ataki.