Detail publikace
Testing Embedded Software Through Fault Injection: Case Study on Smart Lock
Pánek Richard, Ing., Ph.D. (UPSY)
Podivínský Jakub, Ing., Ph.D. (UFYZ)
Čekan Ondřej, Ing., Ph.D. (UFYZ)
Krčma Martin, Ing., Ph.D. (UFYZ)
Kotásek Zdeněk, doc. Ing., CSc.
Elektronický zámek, krokový motor, softwarová injekce poruch, prostředí pro
vyhodnocení, Linux, ARM, x64
Rostoucí úroveň integrace na čipu zvyšuje rovněž náchylnost na vznik poruch ve
využívaných komponentách. Tento fakt se rovněž vztahuje na běžně používané typy
pamětí a datových úložišť. Nabitá částice způsobí převrácení hodnoty uloženého
bitu a uchovávaný program tak změní svůj význam. Ještě horší situace vzniká
v případě, kdy jsou tyto chyby do systému vpravovány útočníkem za účelem daný
systém vyřadit z provozu a nebo přimět k odlišnému chování. Protože tzv. chytrá
zařízení jsou stále více rozšířená, zmíněná manipulace s nimi je velmi nežádoucí.
Příkladem může být tzv. chytrý elektronický zámek. Proto v tomto článku
vyhodnocujeme následky poškození řídicího programu v elektronickém zámku. Cílíme
na elektronické zámky fungující na odlišných architekturách CPU a ukazujeme změny
v chování zámku. V článku rovněž představujeme naše prostředí pro vyhodnocení,
které je schopno pracovat s tzv. jednodeskovými počítači a vývojovými kity za
účelem testu programu přímo na cílové platformě. Vyhodnocení se koná za
přítomnosti chyb v testovaném řídicím softwaru. Naše výsledky ukazují, že nejvíce
citlivou částí softwaru je obecně načtení sdílených knihoven v operačním systému.
Chyba v takové části programu obvykle vyústí v neschopnost spuštění softwaru.
Následuje Segmentation Fault a předčasné ukončení programu (např. problém
v logice programu, jež počítá úhel natočení krokového motoru), což jsou také
závažné projevy chyby. Nejméně problematické jsou podle našich pozorování
syntaktické chyby v příkazech na výstupu softwaru, jež řídí krokový motor.
V těchto případech jsou tyto chybné příkazy ignorovány v řadiči motoru. Důsledkem
jsou mechanické záškuby motoru. Jistá pozorování z experimentální části tohoto
článku mohou být zobecněna rovněž na ostatní chytrá zařízení, o čemž článek
rovněž stručně pojednává v závěrečné části.
@inproceedings{BUT175783,
author="Jakub {Lojda} and Richard {Pánek} and Jakub {Podivínský} and Ondřej {Čekan} and Martin {Krčma} and Zdeněk {Kotásek}",
title="Testing Embedded Software Through Fault Injection: Case Study on Smart Lock",
booktitle="2021 IEEE 22nd Latin American Test Symposium, LATS 2021",
year="2021",
pages="80--85",
publisher="Institute of Electrical and Electronics Engineers",
address="Punta del Este",
doi="10.1109/LATS53581.2021.9651770",
isbn="978-1-6654-2057-0",
url="https://www.fit.vut.cz/research/publication/12503/"
}