====== Inovativní výukové metody v předmětu PA192: Secure hardware-based system design ====== Projekt: MUNI/IVV/1468/2024 Projekt byl zaměřen na inovaci metod výuky v předmětu PA192: Secure hardware-based system design, která byla již realizována v rámci výuky předmětu v podzimním semestru roku 2025/2026. Inovace spočívá v systematickém uplatnění kombinace badatelsky orientované výuky a projektově orientovaných metod, jež byly do tohoto předmětu nově zavedeny. Výuka je nyní postavena na malých laboratorních projektech, v jejichž rámci studenti pracují s reálnými scénáři návrhu a analýzy zabezpečených hardwarových systémů. Studenti jsou vedeni k samostatnému badatelskému přístupu, analýze dosažených výsledků a návrhu vlastních řešení v rámci projektové práce. Tyto inovované metody výuky propojují teoretické poznatky získané v přednáškách s praktickými zkušenostmi z laboratorních cvičení, čímž zvyšují míru interaktivity a aktivního zapojení studentů do výuky. Projekt zahrnoval přípravu nových zadání, tvorbu vzorových řešení a pořízení moderních laboratorních přípravků, které umožnily realizaci těchto inovativních výukových metod v praxi. V rámci inovace byly vytvořeny např. tyto nové úlohy: ** 1) Communication Buses ** Cvičení je zaměřeno na praktické seznámení studentů s nejběžnějšími digitálními komunikačními sběrnicemi používanými v embedded systémech (UART, SPI, I²C) a jejich rolí z hlediska bezpečnosti hardwaru. Studenti pracují s reálnou vývojovou deskou a analyzují skutečnou komunikaci mezi mikrokontrolérem a periferiemi. V rámci cvičení studenti: * identifikují signály jednotlivých sběrnic na hardwarové platformě, * měří přenosové rychlosti a napěťové úrovně pomocí osciloskopu, * dekódují přenášená data pomocí logického analyzátoru, * analyzují komunikaci jako potenciální bezpečnostní slabinu systému (např. únik hesel, nechráněný přístup k paměti). Cvičení je koncipováno badatelsky a projektově orientovaným způsobem – studenti samostatně vyhodnocují naměřená data a interpretují výsledky. Praktická úloha zároveň vytváří přímou návaznost na další bezpečnostní témata v předmětu, zejména na hardwarové útoky. {{ :celozivotko:w03_communication_buses.pdf | Prezentace Communication buses}} ** 2) Attacking a Safe Lock ** Cvičení je zaměřeno na praktickou analýzu bezpečnosti embedded systému na příkladu elektronického trezoru. Studenti pracují s emulátorem trezoru řízeným mikrokontrolérem a jejich cílem je získat přístupový PIN bez použití hrubé síly. V rámci cvičení studenti: * analyzují chování systému při zadávání správných a nesprávných znaků, * měří časové rozdíly v komunikaci na UART rozhraní, * sledují chování indikačních LED a jejich časové charakteristiky, * měří okamžitou spotřebu proudu a hledají rozdíly v průběhu napájení, * využívají osciloskop a logický analyzátor k identifikaci postranních kanálů. Cvičení je zaměřeno na side-channel analýzu a ukazuje, jak mohou i zdánlivě jednoduché rozdíly v chování systému vést k úniku citlivých informací. Studenti si prakticky ověřují, že bezpečnost embedded zařízení není dána pouze kryptografií, ale i implementačními detaily a fyzikálními vlastnostmi hardwaru. Tato úloha přímo navazuje na předchozí cvičení věnovaná komunikačním sběrnicím a vytváří základ pro další pokročilé útoky na mikrokontroléry. {{ :celozivotko:w04_safe_lock.pdf | Prezentace Safe Lock}} ** 3) Side-Channel Analysis (Introduction & Acquisition) ** Cvičení je zaměřeno na úvod do analýzy postranních kanálů (Side-Channel Analysis, SCA) se zaměřením na praktickou akvizici měření pomocí platformy ChipWhisperer. Studenti se seznamují s principy, na kterých jsou side-channel útoky založeny, a s rozdílem mezi klasickým „black-box“ modelem a reálným „grey-box“ scénářem. V rámci cvičení studenti: * získají přehled o typech postranních kanálů (časování, spotřeba, elektromagnetické vyzařování), * pochopí principy Simple Power Analysis (SPA) na praktických příkladech, * sestaví a otestují měřicí sestavu pro snímání spotřeby mikrokontroléru, * pracují s platformou ChipWhisperer (hardware i software), * zachytí a vizualizují side-channel stopy při provádění kryptografických operací a ověřování PINu. Cvičení klade důraz na praktickou práci s reálným měřicím řetězcem, identifikaci problémů měření (šum, rozhození signálů) a jejich vliv na úspěšnost útoku. Studenti si ověřují, že bezpečnost kryptografických algoritmů v praxi výrazně závisí na způsobu jejich implementace a fyzikálním chování zařízení. Toto cvičení rozšiřuje předchozí úlohy zaměřené na jednoduché side-channel úniky a vytváří základ pro pokročilejší analýzu a útoky na embedded kryptografické systémy. {{ :celozivotko:w08_sca_into_LAB_handout.pdf | Prezentace Side-Channel Analysis}} Cvičení bylo nachystáno kolegy z CRoCS ([[https://crocs.fi.muni.cz/]]). ** 4) JTAG / SWD ** Cvičení je zaměřeno na praktickou analýzu ladicích a testovacích rozhraní JTAG a SWD, která jsou běžnou součástí moderních mikrokontrolérů a SoC, ale zároveň představují významné bezpečnostní riziko, pokud nejsou správně chráněna. V rámci cvičení studenti: * seznámí se s principy rozhraní JTAG a SWD a jejich rozdíly, * analyzují možnosti, které tato rozhraní poskytují z hlediska ladění, testování a přímého přístupu k systému, * prakticky pracují s nástroji pro přístup přes SWD/JTAG (např. J-Link), * zastavují a spouštějí procesor, sledují stav systému a interpretují výstupy ladicích nástrojů, * čtou obsah paměti Flash a RAM a analyzují získaná data z pohledu možného úniku citlivých informací. Pro cvičení byla využita vývojová deska Trenz Electronic ZU2CG-1E (AMD Zynq UltraScale+ MPSoC), pořízená v rámci inovace předmětu, na které bylo demonstrováno a testováno rozhraní JTAG a SWD v prostředí komplexního SoC s procesorovou i programovatelnou logikou. Studenti tak pracují s platformou odpovídající reálným průmyslovým návrhům, nikoli pouze s jednoduchým mikrokontrolérem. Cvičení ukazuje, že ladicí rozhraní mohou v případě nevhodné konfigurace fungovat jako hardwarový backdoor, a přirozeně otevírá diskuzi o protiopatřeních, dopadech na servisovatelnost zařízení a souvislostech s aktuálními legislativními požadavky (např. Cyber Resilience Act). {{ :celozivotko:w07b_jtag_swd.pdf | Prezentace JTAG / SWD}} ** Individuální studentské mini projekty ** Individuální závěrečné projekty umožňují studentům samostatně aplikovat znalosti z oblasti bezpečnosti embedded systémů na reálných zařízeních a technologiích. Projekty jsou prezentovány v posledním týdnu semestru a dále ve zkouškovém období. Mezi ukázková témata realizovaných projektů patřily například: * útoky na bezdrátová rozhraní (Bluetooth BrakTooth, analýza Wi-Fi komunikace a handshake), * demonstrace schopností nástrojů pro wireless hacking (ESP32 Marauder), * analýza a reverzní inženýrství firmware embedded zařízení, * praktické projekty se software-defined radio (ADS-B přijímač, analýza neznámých protokolů), * bezpečnostní analýza NFC technologií (klonování a emulace karet). Vybrané projekty byly realizovány také na platformě TE0802 (AMD Zynq UltraScale+ ZU2CG-1E), kde studenti pracovali s bezpečností JTAG rozhraní, bootovacím řetězcem a ochranou FPGA bitstreamu v prostředí komplexního SoC. Tyto projekty završují předmět praktickou formou a dávají studentům prostor pro vlastní volbu tématu, experimentování s reálným hardwarem a hlubší pochopení bezpečnostních rizik moderních embedded systémů.