Skip to main content

IoT-csomópontok hardverbiztonsága egyszerűbben

Megjelent: 2020. június 17.

microchip lidNem tévedünk nagyot, ha a „dolgok internetét” nevezzük meg az elektronikai alkalmazások manapság legdinamikusabban fejlődő szektoraként. IoT-végpontok milliárdjaival számolhatunk, amelyeknek egyfelől kevés energiával kell beérniük, másfelől viszont – az informatikai támadásoknak való erős kitettség miatt – a biztonságukért rendszerint megnövelt energiafogyasztással és drága fejlesztési erőforrásokkal kell fizetni. A cikk a két szempont „összebékítésére” mutat ígéretes példát.

 

A „dolgok internete” (Internet of Things – IoT) a végpontok iránt az ultra-alacsony energiafogyasztású adatfeldolgozás és a kommunikáció területén egyaránt magas követelményeket fogalmaz meg. Egyrészt az IoT-végpontok alapjaiban alakítják át a tervezést az autóiparban, az iparban, az intelligens otthonokban éppúgy, mint az orvosi és más területeken, másrészt, a folyamatos információáramlás – a biztonsági szabályok elhanyagolása miatt, a rosszindulatú programok bejuttatásától az elosztott szolgáltatások megtagadásán (túlterheléses támadás – DDoS) át az akkumulátor gyors lemerítésével történő támadásokig – veszélyeztethetik az IoT által kínált összes előnyt. Nem meglepő tehát, hogy az IoT-hálózatok végpontjainak biztonságát veszélyeztető sebezhetőségek jelentős problémákkal szembesítik az IoT-eszközök fejlesztőit.

 

microchip 1

1. ábra  Egy IoT-végpont biztonságát fizikai közelségből és távolról érintő fenyegetések áttekintése azokkal az ellenintézkedésekkel együtt, amelyeket a beágyazott rendszerekbe építhetünk azok védelmére a lehetséges támadások ellen (Forrás: Microchip)

 

Az, hogy a hackerek egyre inkább a nem védett (az egyszerű funkcióiknál fogva kockázatmentesnek gondolt – A szerk. megj.) internet-végpontokat célozzák meg, az abból a közelmúltbeli eseményből is kitűnik, amikor a hackerek képesek voltak kihasználni egy kaszinóban lévő akvárium IoT-re csatlakoztatott hőmérőjének sebezhetőségét, amely révén később hozzáfértek a „nagy játékosok” személyes adatait tartalmazó, szigorúan bizalmas adatbázisokhoz. Ebből arra is következtethetünk, hogy az okosotthonok és az épületautomatizálás teljes eszköztárát is veszélyeztetheti akár a termosztátok, a hűtő- és légkondicionáló rendszerek sebezhetősége is. Ugyanígy a bankok és a kereskedelmi rendszerek is sebezhetők az adathálózatokon keresztül összekapcsolt, gyenge biztonságú zárt láncú figyelőkamerák (CCTV) miatt. A támadhatóság különféle formáit és a lehetséges ellenintézkedéseket az 1. ábra foglalja össze.
Itt említjük meg, hogy a hagyományos biztonsági intézkedéseket rendszerint a szerveroldalon vagy az adatátjárók (gateway-ek) szintjén valósítják meg, mivel a végkészülékek energiafogyasztása és kis mérete korlátozza, hogy mennyire erőteljes biztonságot lehet megvalósítani az IoT-végpontok tervezésénél. Ráadásul a biztonságos alkalmazások fejlesztése jelentős erőforrásokat igényel mind a tervezési idő, mind pedig a költségek szempontjából.
Ez a cikk azt kívánja bemutatni, hogyan léphetnek fel az IoT-fejlesztők a változatos biztonsági sebezhetőségek ellen, miközben eleget tesznek a kis energiafogyasztás követelményének is. Egyben bemutatunk egy biztonsági keretrendszert is, amelyet már a tervezési folyamat korai szakaszában használni lehet. Végül a cikk azt is bemutatja, hogyan lehet a hardveres védelmi képességekkel ellátott, alacsony árfekvésű mikrovezérlőkkel (MCU) – a keretrendszert felhasználva – kielégíteni a biztonsági követelményeket.


Az IoT-végpontok biztonságának aspektusai

Egy robusztus IoT-végpontnak képesnek kell lennie ellenállni a kommunikációs folyamat támadásának (beékelődéses támadás), a rosszindulatú kód futtatásának és a fizikai támadásoknak egyaránt.
A kommunikációs csatorna ellen intézett és a beékelődéses (man-in-the-middle) támadások ellen a legjobb gyakorlat egy titkosítómodul beépítése, amely megvalósítja a titkosításnak és a titkosított üzenetek visszafejtésének, valamint a jogosultság ellenőrzésének feladatait.
Az Arm® TrustZone® technológiával korlátozható a hozzáférés bizonyos memóriaterületekhez, perifériákhoz és I/O-felületekhez. Ez az egész MCU-t biztonságos és nem biztonságos zónákra osztja fel, amelyekben elkülönítetten kezeli a biztonságkritikus és a biztonsági szempontból nem érzékeny adatokat. A biztonságos programbetöltés (secure boot) gondoskodik arról, hogy az MCU mindig ismert, jó állapotból induljon, és – amennyiben ezt az Arm® TrustZone® felhasználásával valósítjuk meg – olyan környezet jön létre, amely ellenáll a rosszindulatú kód bejuttatásának és futtatásának.
Az IoT-végpont fizikai biztonsága javítható a „babrálásvédelmi” csatlakozópontok segítségével, amely kártyaszintű biztonságot kínál az illetéktelen fizikai beavatkozásokkal szemben. Amikor a támadó a kártyán vagy a tokozaton hajt végre rosszindulatú fizikai beavatkozást, a babrálásvédelmi csatlakozópontok többféle ellenintézkedések kezdeményezésére programozhatók, beleértve a titkos információk törlését is. Ugyancsak fontos, hogy a külső fizikai beavatkozásokkal szembeni ellenállóképesség mélyebbre – a csipszintre – is kiterjedjen. Ez lehetővé teszi a védelmet a csip klónozása és a beleprogramozott szellemi tulajdon (Intellectual Property – IP) illetéktelen megszerzése ellen.
Az említett három aspektuson kívül alapvető fontosságú, hogy a hardvervédelem megbízható gyökérrel is rendelkezzék, amelyet a biztonságos rendszerbetöltéssel lehet megvalósítani, a hatákonyságát pedig biztonságos kulcskezelési módszerekkel lehet fokozni.
Az IoT-csomópontok tervezőinek meg kell találniuk a megfelelő egyensúlyt a kis energiafogyasztás és a biztonság között.
A jelenkor alkalmazásainál alapkövetelmény a kis fogyasztás, mégsem lehet lemondani a magas biztonsági szintet garantáló tervezésről – és mindezt a teljesítőképességet érintő kompromisszumok, valamint többletidő- és költségigény nélkül. Azoknál az IoT-végkészülékeknél, amelyek teleptáplálással működnek, az energiaigény kritikus fontosságú. Ez viszont azt jelenti, hogy miközben erőteljesen csökkenteni kívánjuk az MCU energiafelhasználását, a biztonságot erősíteni kell.
Végül, de nem utolsósorban az IoT-végkészülékek alacsony árfekvésének fenntartása érdekében a biztonsági követelmények érvényesítéséhez rendelkezésre álló mechanizmusoknak egyszerűeknek kell lenniük. A bonyolultság, a meredek tanulási görbe és a növekvő háttérköltségek elkerülése érdekében az alacsony szintű biztonsági részleteket elfedni képes mechanizmusokra van szükség.

 

A beágyazott rendszerek biztonságának egyszerűsítése

Az említett biztonsági képességek egyszerű megvalósítására alkalmas MCU-k egy példája a SAM L11 mikrovezérlő, amelynél a biztonság szempontjait már a szilíciumlapka tervezési fázisában is figyelembe vették. Ez az MCU 32 MHz-es órajellel működik, és 64 kbájt flash, továbbá 16 kbájt statikus RAM memóriával rendelkezik. Annak illusztrálására, hogyan gondoskodtak a biztonsági funkciók megvalósításáról már az MCU korai tervezési fázisában, vegyük szemügyre kissé alaposabban, a SAM L11 négy beépített biztonsági elemét.

 

1. Megváltoztathatatlan, biztonságos rendszerbetöltés

A SAM L11-ben olyan rendszerbetöltő ROM-ot alakítottak ki, amely a megváltoztathatatlan rendszerbetöltés képességével ruházza fel. Rendelkezik egy titkosítási gyorsítóhardverrel (Crypto Accelerator – CRYA), amely hardveres feldolgozással gyorsítja fel az AES, SHA és GCM titkosítóalgoritmusok végrehajtását a titkosítás, a titkosított információ visszafejtése és a felhasználási jogosultságkezelés folyamatai során. Ezenkívül egy, a NIST (National Institute of Standards and Technology – az USA szövetségi szabványügyi szervezete) követelményeinek megfelelő véletlenszám-generátort is beépítettek.

 

2. Megbízható programvégrehajtási környezet

Az Arm® TrustZone® technológia a SAM L11-en belül egy biztonságos zóna kialakítását engedi meg. Ez – amennyiben a megváltoztathatatlan, biztonsági rendszerbetöltéssel párosítjuk – egy „biztonságos végrehajtási környezetet” (Trusted Execution Environment – TEE) hoz létre, a rosszindulatú kódok futtatásának hatékony ellenintézkedéseként. A TEE lehetővé teszi, hogy az IoT-végpontok a rosszindulatú kód elhelyezését észlelve helyreállító műveleteket hajthassanak végre. Ezzel elkerülhetővé válik a kritikus fontosságú funkciók kiesésével járó állásidő, és jelentősen megnövekszik az IoT-végpont megbízhatósága.

 

Biztonságos kulcstárolás

Azokon a csatlakozópontokon kívül, amelyek a kártyaszintű fizikai beavatkozás elleni védelmet szolgálják, a SAM L11 aktív védelmet nyújt egy 256 bájtnyi RAM-területnek, amely ellenáll a csip-szintű, mikroszondás kiolvasási kísérleteknek és az adatmaradványok felhasználásának, és ezzel a kikapcsoláskor törlődő kulcsadatok biztonságos tárolására alkalmazható. Ezenkívül rendelkezésre áll egy elkülönített, 2 kbájtos flashmemória-terület is, amelyben a kikapcsoláskor nem törlődő biztonsági kulcsok, tanúsítványok és más érzékeny adatok tárolhatók. A biztonságos kulcstárolás védelmet jelent a szoftveren és/vagy a kommunikáción keresztül végrehajtott támadások ellen, és lehetőséget ad a fejlesztőknek olyan rendszer létrehozására, amely törli az érzékeny adatokat a fizikai beavatkozással végrehajtott támadás észlelésekor.

 

Átfogó biztonsági megoldásokat nyújtó keretrendszer

A SAM L11-et egy átfogó biztonsági megoldásokat nyújtó keretrendszer (Comprehensive Security Solution Framework) is támogatja, amely – a teljes folyamatra kiterjedő – biztonsági rendszer védelme alá helyezi a kulcskezelés biztonságkritikus részleteit a szilíciumlapka gyártásától az alkalmazás biztonsági moduljainak megvalósításán át egészen a távolról történő firmware-frissítésig a termék teljes életciklusa alatt bármikor. A keretrendszer tartalmazza a Trustonic Kinibi-M biztonsági szoftverét, amely lehetővé teszi, hogy a végtermék biztonsági funkcióinak alacsony szintű részleteivel ne kelljen a feljesztőnek foglalkoznia, és egy moduláris, grafikus felhasználói felületen (GUI) át elérhető interfészt kínál az adott alkalmazásban célszerűen felhasználható biztonsági modulok kiválasztásához. Vegyük példának azt a programbetöltő szoftvert, amely a firmware-frissítések biztonságos végrehajtását teszi lehetővé. Ennek megvalósításakor a beágyazott rendszer fejlesztőjének nem kell az eszköz kézikönyvének több száz oldalát végigböngésznie annak kitalálásához, hogyan kell egy biztonságos programbetöltőt létrehozni.
A biztonsági keretrendszer alaposan definiált, és egy olyan modult kínál a fejlesztőnek, amellyel gyorsan meg lehet valósítani az alkalmazáshoz illeszkedő biztonságos programbetöltőt. Ez egyben feleslegessé teszi a beágyazott rendszerek biztonságára vonatkozó kiképzések elvégzését, jelentősen csökkentve ezáltal a fejlesztéshez szükséges időt és költségeket.

 

microchip 2

2. ábra  A tervezéstől a használatig kiterjedő biztonsági folyamat vázlata

 

A SAM L11 mikrovezérlő hardverébe szervesen beépülő biztonsági képességek segítik a beágyazott rendszer fejlesztőjét abban, hogy igénybe vehesse a Microchip biztonsági kulcsszolgáltatási lehetőségét a Trustonic Root of Trust (RoT – „a biztonság gyökere”) munkafolyamatát is (a részleteket lásd a https://www.trustonic.com/microchip/ webhelyen – A szerk. megj.) A 2. ábra mutatja a különféle modulokat, amelyek a keretrendszeren át érhetők el a biztonság megvalósításához.
Az átfogó biztonsági megoldásokat nyújtó keretrendszer azzal is segít a biztonsági megoldások területén kezdő beágyazottrendszer-fejlesztőknek is, hogy elkerülhetővé teszi a „meredek” tanulási görbék jelentős idő- és költségigényét.
A fejlesztők gyakorlatilag azonnal képesek robusztus biztonsági képességekkel felruházni az alkalmazási használati eseteket, amint az a 3 a, b, c, d. ábrán is látható.

 

 

microchip 3a jav

3 a. ábra  IoT-végpont

 

microchip 3b

3 b. ábra  Biztonságos távoli billentyűzet

 

microchip 3c

3 c. ábra  A tartozék eredetiségének ellenőrzése

 

microchip 3d

3.d. ábra  Titkosítás

 

Az eszköz alkalmazza a picoPower technológiát is, amely biztosítja, hogy mind az aktív, mind az alvó üzemmódokban alacsony legyen az energiafogyasztás. Ennek révén az egész iparágban kiemelkedőnek számító teszteredményeket mutat az EEMBC által tanúsított ULPMark tesztprogrammal mérve. Változatos energiatakarékos üzemmódjaival és a kis fogyasztású technikák alkalmazásával rugalmasan alkalmazkodik a kis fogyasztás követelményeihez, ezáltal a tervezők anélkül valósíthatják meg kényelmesen a biztonsági funkciókat, hogy azzal csapást mérnének az alacsony energiafogyasztás általános elvárására.

 

Összefoglalás

Az a gyorsaság, amivel az IoT-végkészülékek a hálózatra kapcsolódtak, meghaladta azt, amellyel ezek az eszközök biztonságosan megvalósíthatók. Ez az egyik oka, hogy ezek a biztonsági kérdések gyakran utólag vetődnek fel a beágyazott alkalmazások területén. Ennek a trendnek a másik okozója az, hogy jelenleg nem sok olyan típus érhető el az IoT-végpontok árfekvésének megfelelő, 64 kbájt flashmemóriával vagy kevesebbel felszerelt mikrovezérlők piacán, amelynek szerves része a szilárd biztonság. Ám miközben a beágyazott rendszerek sebezhetőségei egyre újabb támadási felületet kínálnak a hackerek számára, a mikrovezérlők piacának ez az új szegmense megkönnyíti az IoT-fejlesztők számára, hogy a biztonsági funkciókat gyorsan és hatékonyan konfigurálják és vegyék használatba.
Ez a cikk azt mutatta be, hogyan lehet ezeknek az új, biztonságos MCU-knak az alkalmazásával egyszerűsíteni a biztosági funkciók kivitelezését, miközben egyidejűleg mérsékelik a tanulási görbe meredekségét és a háttérköltségeket egyaránt.

 

További információk:

 

Szerző: Ramanuja Konreddy – Microchip Technology, Inc.

 

www.microchip.com

 

még több Microchip