Karta Przedmiotu
| Politechnika Białostocka | Wydział Informatyki | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kierunek studiów | Cyberbezpieczeństwo |
Poziom i forma studiów |
pierwszego stopnia stacjonarne |
||||||||||||||||||||||||
| Grupa przedmiotów / specjalność |
Bezpieczeństwo systemów IoT | Profil kształcenia | ogólnoakademicki | ||||||||||||||||||||||||
| Nazwa przedmiotu | Analiza podatności i testowanie bezpieczeństwa urządzeń IoT | Kod przedmiotu | CYB1IOT1 | ||||||||||||||||||||||||
| Rodzaj zajęć | obieralny | ||||||||||||||||||||||||||
| Formy zajęć i liczba godzin | W | Ć | L | P | Ps | T | S | Semestr | 5,6 | ||||||||||||||||||
| 26 | 26 | Punkty ECTS | 4 | ||||||||||||||||||||||||
| Program obowiązuje od | 2026/2027 | ||||||||||||||||||||||||||
| Przedmioty wprowadzające | Architektura komputerów i systemy operacyjne (CYB1SOP), Internet rzeczy (CYB1IOT), Sieci komputerowe II (CYB1SKO2), | ||||||||||||||||||||||||||
| Cele przedmiotu |
Nabycie wiedzy i umiejętności w zakresie technik ofensywnej analizy bezpieczeństwa urządzeń IoT i systemów wbudowanych, ze szczególnym uwzględnieniem testowania interfejsów sprzętowych oraz komunikacyjnych. Opanowanie metod ekstrakcji i analizy firmware oraz podstaw reverse engineeringu oprogramowania wbudowanego w celu identyfikacji i wykorzystania podatności. Rozwinięcie umiejętności przeprowadzania ustrukturyzowanych testów bezpieczeństwa urządzeń IoT z wykorzystaniem narzędzi sprzętowych i programowych oraz dokumentowania wyników. Ukształtowanie świadomości etycznych i prawnych aspektów prowadzenia testów bezpieczeństwa urządzeń oraz odpowiedzialnego ujawniania podatności. Odniesienia do frameworka edukacyjnego mikrokompetencji SFIA: Testowanie penetracyjne (PENT) – poziom 3 Operacje ofensywne w cyberprzestrzeni (OCOP) – poziom 3 |
||||||||||||||||||||||||||
| Ramowe treści programowe | Techniki ofensywnej analizy bezpieczeństwa urządzeń IoT i systemów wbudowanych z naciskiem na praktyczne testowanie podatności. Analiza interfejsów sprzętowych, ekstrakcja i analiza firmware oraz podstawy reverse engineeringu oprogramowania wbudowanego. Identyfikacja i wykorzystanie podatności w urządzeniach oraz ich interfejsach komunikacyjnych, w tym zastosowanie technik fuzzingu. Analiza aplikacji towarzyszących i usług backendowych w kontekście eksploatacji podatności. Dokumentowanie wyników testów i klasyfikacja podatności. | ||||||||||||||||||||||||||
| Inne informacje o przedmiocie | przedmiot ma związek z prowadzoną na Uczelni działalnością naukową | ||||||||||||||||||||||||||
| przedmiot kształtuje umiejętności praktyczne | |||||||||||||||||||||||||||
| Wyliczenie: | Nakład pracy studenta związany z: | Godzin ogółem |
W tym kontaktowych |
W tym praktycznych |
|||||||||||||||||||||||
| udziałem w wykładach | 26 | 26 | |||||||||||||||||||||||||
| udziałem w innych formach zajęć | 26 | 26 | 26 | ||||||||||||||||||||||||
| przygotowaniem do bieżących zajęć o charakterze praktycznym | 13 | 13 | |||||||||||||||||||||||||
| realizacją zadań praktycznych | 20 | 20 | |||||||||||||||||||||||||
| przygotowaniem do zaliczenia wykładu | 15 | ||||||||||||||||||||||||||
| Razem godzin: | 100 | 52 | 59 | ||||||||||||||||||||||||
| Razem punktów ECTS: | 4 | 2.1 | 2.4 | ||||||||||||||||||||||||
| Zakładane kierunkowe efekty uczenia się | Wiedza | Umiejętności | Kompetencje społeczne |
||||||||||||||||||||||||
| CYB1_W05 | CYB1_U03 | CYB1_K01 | |||||||||||||||||||||||||
| CYB1_W07 | CYB1_U06 | CYB1_K02 | |||||||||||||||||||||||||
| CYB1_W14 | CYB1_U12 | ||||||||||||||||||||||||||
| CYB1_U15 | |||||||||||||||||||||||||||
| Cele i treści ramowe sformułował(a) | dr inż. Tomasz Grześ | Data: | 09/04/2026 | ||||||||||||||||||||||||
| Realizacja w roku akademickim | 2028/2029 | ||||||||||||||||||||||||||
| Treści programowe | |||||||||||||||||||||||||||
| Wykład | |||||||||||||||||||||||||||
| 1. | Wprowadzenie do testowania bezpieczeństwa urządzeń IoT – zakres, specyfika systemów wbudowanych, środowisko laboratoryjne, zasady etyczne i prawne | ||||||||||||||||||||||||||
| 2. | Metodyka testów bezpieczeństwa IoT – etapy analizy urządzenia: rekonesans techniczny, analiza firmware, testowanie interfejsów i dokumentowanie wyników | ||||||||||||||||||||||||||
| 3. | Rekonesans sprzętowy urządzeń – identyfikacja komponentów (SoC, pamięci, interfejsy), analiza PCB i punktów testowych | ||||||||||||||||||||||||||
| 4. | Interfejsy serwisowe UART i JTAG – zasada działania, możliwości uzyskania dostępu do urządzenia, znaczenie dla bezpieczeństwa | ||||||||||||||||||||||||||
| 5. | Interfejsy SPI i I2C – komunikacja z pamięcią i układami peryferyjnymi, możliwości ekstrakcji danych | ||||||||||||||||||||||||||
| 6. | Ekstrakcja firmware – metody programowe i sprzętowe, formaty systemów plików, wprowadzenie do narzędzi analitycznych | ||||||||||||||||||||||||||
| 7. | Statyczna analiza firmware – analiza struktury systemu plików, identyfikacja konfiguracji, danych uwierzytelniających i podatnych komponentów | ||||||||||||||||||||||||||
| 8. | Dynamiczna analiza firmware – emulacja, debugowanie oraz obserwacja zachowania systemu w czasie wykonania | ||||||||||||||||||||||||||
| 9. | Podstawy reverse engineeringu oprogramowania wbudowanego – analiza kodu binarnego, identyfikacja funkcji i mechanizmów bezpieczeństwa | ||||||||||||||||||||||||||
| 10. | Testowanie interfejsów komunikacyjnych – analiza usług sieciowych urządzenia oraz aplikacji towarzyszących i API | ||||||||||||||||||||||||||
| 11. | Fuzzing w systemach IoT – techniki generowania danych wejściowych, testowanie usług i analiza błędów | ||||||||||||||||||||||||||
| 12. | Klasyfikacja i raportowanie podatności – ocena podatności, przygotowanie raportu oraz zasady odpowiedzialnego ujawniania | ||||||||||||||||||||||||||
| 13. | Zaliczenie wykładu | ||||||||||||||||||||||||||
| Pracownia specjalistyczna | |||||||||||||||||||||||||||
| 1. | Konfiguracja środowiska laboratoryjnego – przygotowanie stanowiska (Kali Linux, narzędzia do analizy firmware i reverse engineeringu), wprowadzenie do urządzenia testowego | ||||||||||||||||||||||||||
| 2. | Rekonesans sprzętowy – identyfikacja komponentów urządzenia, analiza PCB, wskazanie interfejsów serwisowych | ||||||||||||||||||||||||||
| 3. | Dostęp przez UART – podłączenie adaptera USB-UART, konfiguracja komunikacji, uzyskanie dostępu do konsoli urządzenia | ||||||||||||||||||||||||||
| 4. | Ekstrakcja firmware – pobranie firmware metodą programową lub sprzętową, analiza przy użyciu binwalk | ||||||||||||||||||||||||||
| 5. | Statyczna analiza firmware I – przeszukiwanie systemu plików, identyfikacja danych uwierzytelniających i plików konfiguracyjnych | ||||||||||||||||||||||||||
| 6. | Statyczna analiza firmware II – analiza wybranego komponentu binarnego z użyciem narzędzi reverse engineeringu | ||||||||||||||||||||||||||
| 7. | Dynamiczna analiza firmware – uruchomienie firmware w środowisku emulowanym, obserwacja działania usług | ||||||||||||||||||||||||||
| 8. | Interfejsy SPI/I2C – odczyt danych z pamięci urządzenia, zapis obrazu i jego analiza | ||||||||||||||||||||||||||
| 9. | Testowanie usług urządzenia – identyfikacja i analiza usług sieciowych oraz interfejsów API | ||||||||||||||||||||||||||
| 10. | Fuzzing usług – konfiguracja i przeprowadzenie podstawowego fuzzingu wybranego interfejsu | ||||||||||||||||||||||||||
| 11. | Identyfikacja i dokumentacja podatności – analiza wyników testów i przygotowanie opisu podatności | ||||||||||||||||||||||||||
| 12. | Projekt końcowy – przeprowadzenie uproszczonej analizy bezpieczeństwa urządzenia IoT (rekonesans, firmware, test interfejsu) | ||||||||||||||||||||||||||
| 13. | Prezentacja projektów, wystawienie ocen | ||||||||||||||||||||||||||
| Metody dydaktyczne (realizacja stacjonarna) |
|||||||||||||||||||||||||||
| W | wykład informacyjny, wykład problemowy, wykład z prezentacją multimedialną | ||||||||||||||||||||||||||
| Ps | programowanie z użyciem komputera | ||||||||||||||||||||||||||
| Metody dydaktyczne (realizacja zdalna) |
|||||||||||||||||||||||||||
| W | wykład informacyjny, wykład problemowy, wykład z prezentacją multimedialną | ||||||||||||||||||||||||||
| - | |||||||||||||||||||||||||||
| Forma zaliczenia | |||||||||||||||||||||||||||
| W | zaliczenie pisemne | ||||||||||||||||||||||||||
| Ps | ocena sprawozdań z wykonanych zadań oraz ocena projektu | ||||||||||||||||||||||||||
| Warunki zaliczenia | |||||||||||||||||||||||||||
| W | Uzyskanie min. 30% punktów z każdego efektu uczenia się z zakresu wiedzy, a po spełnieniu tego warunku ostateczna ocena wynika z sumy uzyskanych punktów. Kryteria oceny: [ 0 – 50]% punktów – 2.0 (50 – 60]% punktów – 3.0 (60 – 70]% punktów – 3.5 (70 – 80]% punktów – 4.0 (80 – 90]% punktów – 4.5 (90 – 100]% punktów – 5.0 |
||||||||||||||||||||||||||
| Ps | Minimalne wymagania odnośnie efektów uczenia się: E3 - wykonanie jednej podstawowej czynności analitycznej, np. ekstrakcji firmware lub uzyskania dostępu do interfejsu urządzenia E4 - zastosowanie co najmniej jednego narzędzia sprzętowego lub programowego do analizy urządzenia E5 - wskazanie co najmniej jednej potencjalnej podatności w analizowanym urządzeniu lub jego oprogramowaniu E6 - przygotowanie krótkiego opisu zawierającego wykonane działanie oraz jego rezultat E7 - realizacja projektu na min. 50% punktów Zaliczenie całości po spełnieniu powyższych warunków oraz zsumowaniu uzyskanych punktów. Kryteria oceny: [ 0 – 50]% punktów – 2.0 (50 – 60]% punktów – 3.0 (60 – 70]% punktów – 3.5 (70 – 80]% punktów – 4.0 (80 – 90]% punktów – 4.5 (90 – 100]% punktów – 5.0 |
||||||||||||||||||||||||||
| Symbol efektu | Zakładane efekty uczenia się | Odniesienie do efektów uczenia się zdefiniowanych dla kierunku studiów | |||||||||||||||||||||||||
| Wiedza | Umiejętności | Kompetencje społeczne |
|||||||||||||||||||||||||
| Wiedza: student zna i rozumie | |||||||||||||||||||||||||||
| E1 | techniki analizy bezpieczeństwa urządzeń IoT i systemów wbudowanych, w tym metody ekstrakcji i analizy firmware oraz testowania interfejsów sprzętowych i komunikacyjnych | ||||||||||||||||||||||||||
| E2 | metody identyfikacji i klasyfikacji podatności w urządzeniach IoT oraz zasady odpowiedzialnego ujawniania podatności | ||||||||||||||||||||||||||
| Umiejętności: student potrafi | |||||||||||||||||||||||||||
| E3 | przeprowadzić analizę bezpieczeństwa urządzenia IoT w kontrolowanym środowisku, obejmującą ekstrakcję i analizę firmware lub testowanie interfejsu | ||||||||||||||||||||||||||
| E4 | zastosować narzędzia sprzętowe i programowe do identyfikacji podatności w systemach wbudowanych | ||||||||||||||||||||||||||
| E5 | zidentyfikować i wstępnie zweryfikować podatność w urządzeniu IoT lub jego oprogramowaniu | ||||||||||||||||||||||||||
| E6 | przygotować dokumentację wyników analizy zawierającą opis podatności i podstawowe wnioski | ||||||||||||||||||||||||||
| Kompetencje społeczne: student jest gotów do | |||||||||||||||||||||||||||
| E7 | prowadzenia testów bezpieczeństwa urządzeń IoT w sposób odpowiedzialny, z uwzględnieniem aspektów etycznych i prawnych | ||||||||||||||||||||||||||
| Symbol efektu | Sposób weryfikacji efektu uczenia się | Forma zajęć na której zachodzi weryfikacja | |||||||||||||||||||||||||
| E1 | zaliczenie pisemne | W | |||||||||||||||||||||||||
| E2 | zaliczenie pisemne | W | |||||||||||||||||||||||||
| E3 | ocena sprawozdań z wykonanych zadań, ocena projektu | Ps | |||||||||||||||||||||||||
| E4 | ocena sprawozdań z wykonanych zadań, ocena projektu | Ps | |||||||||||||||||||||||||
| E5 | ocena sprawozdań z wykonanych zadań, ocena projektu | Ps | |||||||||||||||||||||||||
| E6 | ocena sprawozdań z wykonanych zadań, ocena projektu | Ps | |||||||||||||||||||||||||
| E7 | ocena sprawozdań z wykonanych zadań, ocena projektu | Ps | |||||||||||||||||||||||||
| Literatura podstawowa | |||||||||||||||||||||||||||
| 1. | F. Chantzis, I. Stais, P. Calderon, E. Deirmentzoglou i in., Hakowanie internetu rzeczy w praktyce. Przewodnik po skutecznych metodach atakowania IoT, Helion, Gliwice, 2021 | ||||||||||||||||||||||||||
| 2. | M. Sikorski, Internet rzeczy, PWN, Warszawa, 2019 | ||||||||||||||||||||||||||
| 3. | A. King, Programowanie Internetu rzeczy. Wprowadzenie do budowania zintegrowanych rozwiązań IoT między urządzeniami a chmurą, Helion, Gliwice, 2021 | ||||||||||||||||||||||||||
| 4. | D. Guinard, V. Trifa, Internet rzeczy. Budowa sieci z wykorzystaniem technologii webowych i Raspberry Pi, Helion, Gliwice, 2017 | ||||||||||||||||||||||||||
| 5. | S. Saxena, A.K. Pradhan (red.), Internet of Things: Security and Privacy in Cyberspace, Springer, Singapore, 2022 | ||||||||||||||||||||||||||
| Literatura uzupełniająca | |||||||||||||||||||||||||||
| 1. | OWASP Foundation, OWASP Firmware Security Testing Methodology (FSTM), https://owasp.org, (dostęp online, bezpłatny), 2026 | ||||||||||||||||||||||||||
| 2. | OWASP Foundation, OWASP IoT Attack Surface Areas, https://owasp.org (dostęp online, bezpłatny), 2026 | ||||||||||||||||||||||||||
| 3. | ENISA, Baseline Security Recommendations for IoT, https://enisa.europa.eu, (dostęp online, bezpłatny), 2017 | ||||||||||||||||||||||||||
| 4. | NIST IR 8228, Considerations for Managing IoT Cybersecurity and Privacy Risks, https://csrc.nist.gov, (dostęp online, bezpłatny), 2019 | ||||||||||||||||||||||||||
| 5. | FIRST, Common Vulnerability Scoring System v3.1 Specification Document, https://first.org, (dostęp online, bezpłatny), 2026 | ||||||||||||||||||||||||||
| Koordynator przedmiotu: | dr inż. Tomasz Grześ | Data: | 09/04/2026 | ||||||||||||||||||||||||