Detail publikace
Testing Embedded Software Through Fault Injection: Case Study on Smart Lock
Pánek Richard, Ing. (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/"
}