Témakör:
A beágyazott rendszerek végponttól végpontig tartó biztonsága
Megjelent: 2021. augusztus 27.
A beágyazott rendszerekkel kapcsolatban meg kellene szabadulni attól a felfogástól, hogy könnyű prédái a támadásoknak. Az egyik oka a könnyen kompromittálható rendszerek hírnevének, hogy sokan egyetlen, gyenge védelmi mechanizmusra támaszkodnak a tartalmukhoz és funkcióikhoz való hozzáférés megakadályozására.
Amikor a beágyazott eszközök elkezdtek rutinszerűen csatlakozni az internethez, gyorsan nyilvánvalóvá vált ezen megközelítések gyengesége. Ha egy hekker megtalálta az egyik eszköz kódját, akkor azt az összes azonos típusú eszközön használhatta.
A hekkerek az áldozattá vált eszközök firmware-jének cserélésével és botnetekbe való toborzásával demonstrálták az ilyen jellegű sebezhetőség mértékét.
Bár rengeteg gyártó kínál beágyazott biztonsági megoldásokat, ezek általában a rendszer egy adott aspektusára összpontosítanak, és valódi biztonságot csak akkor lehet elérni, ha a megoldás a rendszer egészére kiterjed. A végponttól végpontig tartó biztonság ezért a tervező felelőssége, akinek holisztikusan kell gondolkodnia, hogy minden elemet figyelembe vegyen. Minden beágyazott eszközzel szemben alapvető követelmény, hogy a karbantartási funkciókhoz való hozzáférést legalább egy, az adott eszközre egyedi kóddal védjék. Ez azonban az abszolút minimum. A gyakorlatban a biztonsági tervezésnek sokkal részletesebbnek és többrétegűnek kell lennie, hogy megakadályozza a hekkerek által indítható különböző támadásokat.
Szabotázsvédelem és eszközbiztonság
A beágyazott rendszerek tervezőinek figyelembe kell venniük a számos lehetséges támadási pontot. Ebből az elemzésből kiindulva kell mérlegelniük a védelem, a költségek és az energiafogyasztás közötti legjobb kompromisszumot. A támadások középpontjában állhat a későbbi felhasználásra szánt adatok megszerzése, vagy a rendszer működésének veszélyeztetése az üzemeltető zsarolása, illetve közvetlen károkozás céljából. A támadás minden típusa az átfogó rendszer vagy rendszerek rendszerének különböző elemeire összpontosít. A hekkerek egyre gyakrabban alkalmaznak hibrid stratégiákat. A hekkerek például egy vagy két eszközhöz való fizikai hozzáférést használnak ki, hogy információkat szerezzenek egy rendszer működéséről, mielőtt távoli támadást indítanának a felhőszerverek ellen, amely a végső zsákmányt biztosítja számukra. Az ilyen egyre kifinomultabb fenyegetések elleni védelem gyakran több különböző gyártótól származó különböző összetevőket foglal magában.
Minden védelemnek ára van – vegyük például az adattitkosítást. Ideális esetben az eszköz által kezelt adatokat három fázisban titkosítással védik: amikor a flashmemóriában vagy a felhőalapú tárolóban pihennek; amikor a hálózaton vagy akár a belső rendszerbuszon keresztül mozognak; és amikor a processzor használja őket. Minden egyes titkosítási és visszafejtési ciklus több energiát és költséget jelent. A nyugalmi állapotban lévő adatok esetében csábító lehet nagyon hosszú kulcsokat használni a tartalom védelmére, mivel a kulcsok feltöréséhez szükséges idő exponenciálisan növekszik a kulcs hosszával. Az adatok értéke azonban idővel csökkenhet.
Egy ipari érzékelőből származó átmeneti hőmérsékletmérési adatok csak korlátozottan hasznosak egy támadó számára, hacsak nem férnek hozzá a teljes előzményekhez, amelyekből visszafejthetnek egy gyártási folyamatot. A hatékony védelem sokkal nagyobb hangsúlyt fektetne az adatok védelmére egy olyan célállomáson, mint például a felhő, vagy egy olyan átjáróban, amelyet több helyi eszközről történő adatgyűjtésre használnak, szemben az egyetlen eszközön lévő adatok védelmével. Az eszközön és az interneten keresztül történő továbbítás esetén a könnyű titkosítási technológia megfelelőbb lehet, és lehetővé teszi, hogy az eszköz költséghatékonyabb, kisebb teljesítményű processzort használjon. A nagyobb teljesítménykeret és a támadó számára nagyobb érték miatt egy olyan átjáró, mint a Schneider Electric FactoryCast, magasabb szinten titkosíthatja az adatokat, mielőtt az adatokat más szerverekre továbbítja, valamint tűzfalvédelmet biztosít a távoli helyről történő hekkelési kísérletek megakadályozására.
Nagy értékű adatok nagyobb tétje
Az eszközön lévő egyéb, nagyobb értékű adatokat, például a felhasználó személyes adatait vagy bármilyen kereskedelmi, illetve pénzügyi szempontból érzékeny adatot viszont nagyobb mértékben kell védeni. A granuláris adatvédelem egyik módja a hardveres bizalomgyökér használata. A szoftver önmagában nem elegendő a biztonság garantálásához egy beágyazott eszközön, mivel valamilyen hardveres védelem nélkül a hekkerek számára túl könnyű, hogy az eredeti kód helyett saját szoftvert töltsenek be, és nagyobb kontrollt szerezzenek maguknak.
A bizalom gyökere (root of trust) biztosítja az eszközön belüli összes védelem alapját, mivel csak az arra jogosult felhasználók végezhetnek kritikus változtatásokat, akár a firmware-en, akár az adatokon. Ezenkívül tartalmaznia kell az eszköz által tárolt vagy továbbított, a kockázatértékelés szerint érzékeny adatok titkosításához használt alapvető kulcsokat. A bizalom gyökerének semmilyen körülmények között nem szabad felfednie a memóriájában tárolt magánkulcsokat. A használati modellnek olyannak kell lennie, amelyben ideiglenes munkamenetkulcsokat generálnak, és szükség szerint más alrendszerek rendelkezésére bocsátják őket, azon az alapon, hogy ha feltörik őket, az általuk védett adatok már nem érvényesek vagy nem hasznosak harmadik fél számára.
Titkosítás a chipben
Egyes rendszerek támaszkodhatnak egy fix funkciójú bizalomgyökérre, amely egy olyan elem, amely egy meghatározott funkciókészletet hajt végre. Erre példa az STMicroelectronics által az ST32 mikrokontroller-család számos tagjában megvalósított biztonságos motor. Ez olyan szolgáltatásokat nyújt, mint a biztonságos rendszerindítás és a biztonságos firmware-frissítések, valamint a futásidejű biztonsági ellenőrzések és a kulcstárolás. A biztonságos rendszerindítás gyorsan a beágyazott rendszerek biztonságának létfontosságú elemévé válik. Segít a költségek ellenőrzésében, mivel lehetővé teszi a szabványos flashmemória használatát a program tárolására, ahelyett, hogy az összes kódot egy nagy, drága, biztonságos memóriában kellene tárolni. A biztonságos rendszerbetöltő hash-ek segítségével ellenőrzi a memóriában tárolt kód érvényességét a biztonsági eszközben lévő privát kulcsokkal. Csak akkor engedélyezi a kód futtatását, ha a kód hash-je érvényes. Sikertelenség esetén az eszköz visszalép a ROM-ban tárolt ismert, jó másolatra, vagy nem bootol, amíg a flashmemóriában vissza nem állítják az érvényes firmware-képet. A rendszerindítás után az operációs rendszer ugyanazokat a funkciókat hívhatja meg az egyes alkalmazások hitelesítésére, mielőtt azok futtatását engedélyeznék.
Számos Arm-alapú eszköz, köztük az ST32-családba tartozó eszközök is, programozható biztonsági motort biztosítanak a Trustzone formájában, amely számos védelmi mechanizmus beépítését teszi lehetővé, például a belső rendszerbuszon vagy hálózati kapcsolaton keresztül továbbított adatok titkosítását és visszafejtését.
Biztonság a felhőben
A terepen telepített eszközökkel szemben további követelmény, hogy képesek legyenek ellenállni az agresszív fizikai támadásoknak, amelyek veszélyeztethetik a bizalomgyökeret. Elvileg a bizalomgyökeret rá lehet venni arra, hogy a váratlan hibaállapotokba kényszerítésével hozzáférést biztosítson a jogellenes szoftverekhez vagy kiadja a magánkulcsokat. A támadások a tápellátás és az órajelek megszakításával kényszeríthetik ki ezeket a hibákat. A bizalomgyökér megvalósításai számos ellenintézkedést alkalmazhatnak annak megakadályozására, hogy ezek a támadások sikeresen kiadják az érzékeny adatokat vagy veszélyeztessék a funkciókat.
Még egy jól védett bizalomgyökér sem garantálja a biztonságot egy IoT-rendszerben. Egy hekker elvileg megszerezhet olyan eszközöket, amelyek utánozzák a hiteles rendszerek működését, be tudja őket vezetni a hálózatba, és felforgathatja velük a teljes IoT-alkalmazás működését. Ezért a teljes IoT-ellátási lánc biztonsága létfontosságú. Ehhez olyan gyártási és telepítési folyamatra van szükség, amely csak akkor engedi meg az érvényes eszközök csatlakozását és részvételét a rendszerben, ha azok megfelelő hitelesítő adatokkal rendelkeznek. Bonyolult lehet olyan ellátási láncokat létrehozni, amelyek lehetővé teszik a tanúsítványok kiadását az eszközök számára, és a kiegészítő hitelesítő adatok átvitelét a felhőbe, hogy azok ellenőrizhetők legyenek, amikor az eszközt üzembe helyezik. A Microchip Trust Platform és a Microsoft Azure IoT Hub olyan mechanizmusokat támogat, amelyek lehetővé teszik az ilyen ellátási láncok egyszerű létrehozását és ellenőrzését.
Bár a beágyazott rendszereket fenyegető veszélyek folyamatosan nőnek, a tervezőmérnökök hozzáférnek azokhoz az eszközökhöz, amelyekkel megvédhetik azokat. A szükséges védelmi szint biztosításához azonban bölcsen kell választaniuk a technikák, protokollok és termékek széles választékából, nem elég egyetlen komponensre hagyatkozniuk.
Szerző: Cliff Ortmeyer – a Farnell műszaki marketing globális vezetője
Farnell element14
Ingyenesen hívható telefonszám: 06 80 016 413
Műszaki támogatás e-mailben: Ez az e-mail-cím a szpemrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát.
http://hu.farnell.com
www.element14.com