Témakör: Beágyazott
Infineon-válaszok az információbiztonság kihívásaira
Megjelent: 2018. október 10.
A beágyazott eszközök ma már ugyanolyan célpontjai az informatika módszereivel végrehajtott rosszindulatú befolyásoknak, mint az otthoni vagy irodai számítógépek vagy akár a mobiltelefonok. Tesztrovatunk ezzel a cikkel olyan eszközöket kíván „felhasználóközelbe” hozni, amelyek jelentősen megnehezíthetik az adataink iránt illetéktelenül érdeklődők vagy a beágyazott informatikai eszközökkel más módon visszaélni akarók dolgát.
A XX. század nyolcvanas éveiben, az informatikai eszközök tömeges elterjedésével – kis túlzással – „eufória” kerítette hatalmába a személyi informatika fejlesztőit és felhasználóit. Ennek egyik oka az volt, hogy kiderült: a számítógépek fizikai korlátain belül gyakorlatilag bármely – a matematikai logika módszereivel kezelhető – feladat számítógéppel is megoldható. A „kijózanodást” az első számítógépvírusok megjelenése indította el (idősebbek még emlékezhetnek a „potyogós command.com” vagy a „Jerusalem” vírusok keltette pánikra az 1980-as évek végén), amikor a naív felhasználók – és fejlesztők – is kezdtek ráébredni, hogy a „minden feladat megoldható” kitétel – az egyszerű „kellemetlenkedéstől” a komoly gazdasági veszteségeket okozó adatlopásokon és -módosításokon át egészen a tömegkatasztrófák előidézéséig – a rosszhiszemű felhasználásokra is ugyanúgy érvényes. A PC-világ „egyformára szabott” megoldásai, az operációs rendszerek és alkalmazások általános elterjedtsége megkönnyítette a kevés munkával nagy kárt okozni akarók dolgát. Az ipari rendszerek fejlesztői és felhasználói eleinte csak „legyintettek” erre, mondván: a rendszerük, az alkalmazott megoldásaik annyira egyediek (gyártó-, termék-, technológia- és rendszerspecifikusak egyszerre), hogy az informatikai támadónak rendkívül sok belső információval kell rendelkeznie ahhoz, hogy hatékonyan kárt okozhasson. Ahhoz, hogy az ipari rendszerek sebezhetősége is nyilvánvalóvá váljon az egyszerű felhasználók számára, egy újabb „világbotrányra” volt szükség: a máig vitatott eredetű Stuxnet vírus tönkretette egy iráni urándúsító létesítmény PLC-kkel vezérelt centrifugáinak jelentős részét, jelentős anyagi kárt okozva ezzel – egyéb (máig vitatott) következményekről nem is beszélve. Ebből tehát az is nyilvánvalóvá vált, hogy az ipari termelő, energiaelosztó és szolgáltatórendszereket vezérlő, speciálisan ipari alkalmazásokra fejlesztett ipari vezérlőeszközök, a PLC-k és alkalmazások szinte felmérhetetlen sokfélesége sem jelent védelmet az illetéktelen beavatkozások ellen, ráadásul egy magánfelhasználó nyaralási fotóinak elvesztésénél vagy bankszámláinak kifosztásánál messze súlyosabb, akár emberéleteket is veszélyeztető következményekkel is számolni kell. A sokáig „csodafegyvernek” gondolt vírusvédelmi eszközök – maguk is szoftveralkalmazások lévén – ugyancsak kijátszhatók, sőt, nem ritkán maguk is hordozóivá válhatnak azoknak a kártevőknek, amelyek ellen védeniük kellene – egyszóval a pusztán szoftveralapú információbiztonsági megoldások csak részleges, időleges és önmagukban is sebezhető védelmet adnak, a biztonság illúzióját keltve a felhasználókban. Különös hangsúlyt ad a veszélyeztetettségnek a beágyazott rendszerek megjelenése, amelyek felhasználói előtt gyakan teljesen rejtve marad a tény, hogy az általuk vásárolt „okos” fogyasztási cikk – az okostévétől a szervizzel a hálózaton át kommunikáló háztartási gépekig – ugyancsak az informatika és a digitális kommunikáció módszereit alkalmazza, amelynek szoftverét távolról frissíti a gyártó úgy, hogy erről a felhasználó mit sem tud. És ha ezt megteheti a gyártó, bárki más is megteheti, ha feltöri az eszköz – gyakran meghökkentően felületes – információbiztonsági rendszerét.
Ez vezeti azokat a félvezetőalkalmazásokat fejlesztő és gyártó vállalatokat, amelyek az informatikai biztonság nehezebben manipulálható, speciális hardvereszközöket is tartalmazó védelmi rendszerekkel történő fokozásához dolgoznak ki eszközöket. Tesztsorozatunk jelen cikke két ilyen eszközt tesz vizsgálat tárgyává az Infineon félvezetőgyártó vállalat kínálatából azzal a céllal, hogy bemutassa: ezek az eszközök mind a felhasználásukhoz szükséges ismeretek, mind pedig a szükséges ráfordítások szempontjából hozzáférhetők az átlagos beágyazott elektronikai fejlesztések számára.
Az információbiztonság alapkérdései
Az információbiztonságról sokan csupán annyit gondolnak, hogy „ha X levelet ír Y-nak, azt Z (de inkább senki más) ne tudja elolvasni” – ami valóban fontos, de számos további kérdésről megfeledkezik. Az 1. táblázat arra tesz kísérletet, hogy az információbiztonság alapfogalmait néhány egyszerű, hétköznapi nyelven megfogalmazott kérdéssel tegye világossá.
Hardveralapú informatikai biztonság – miért fontos?
Miközben az informatikai alkalmazásoknak (köztük a rosszindulatúaknak is) ma már nélkülözhetetlen platformja az Internet, egyre erősödik a trend, hogy azt még több eszköz kommunikációjára használjuk. Ezek között egyre több a felügyelet nélküli alkalmazás, amelynek fejlesztését, anyag- és energiaszükségletét, valamint memóriaigényét egyaránt alacsony „költségvetésből” kell fedezni. Ez jellemző a ma „dolgok Internetének” (Internet of Things, IoT) nevezett alkalmazások nagy többségére, és ezek miatt fordít számos alkalmazás tervezője méltatlanul kevés gondot az eszközök informatikai sebezhetőségének csökkentésére (kevésbé eufemisztikusan szólva: ezen spórolnak). Az ebből adódó – gyakran jelentős – anyagi és erkölcsi kár viszont elbizonytalanítja a fogyasztókat, ami pedig egy ígéretes piacot érint érzékenyen: az IoT – becslések szerint – 2024-ig 19 billió USD-vel járul hozzá a világ GDP-jéhez. Egyedül az USA-ban évente 300 milliárd USD-re becsülik azt a veszteséget, amelyet szellemi tulajdon eltulajdonítása miatt veszítenek a fejlesztővállalatok. A fogyasztók és felhasználók több mint 70%-a tart – különböző mértékben – attól, hogy értékes, személyes adataik kerülnek illetéktelen kezekbe az „okos” háztartási eszközök sebezhetőségein keresztül, és az IoT-piac bővülésével együtt ezek a károk is rohamosan növekednek. A tisztán szoftveralapú ellenintézkedések egyetlen kedvező tulajdonsága a gyakorlatilag korlátlanul megvalósítható funkcionalitás, de a szoftveres védelmi módszerek az igazán hatásos elszigetelés, a biztonsági tanúsítványokkal garantálható védelem és a „babrálás” elleni védettség területén „elvéreznek”. Jelen tudásunk szerint nincs megbízható védelem valamilyen biztonságspecifikus hardvertámogatás nélkül. Az Infineon erre a megállapításra alapozva fejleszti OPTIGA™ alkatrészcsaládját, amely az alkalmazás biztonságigényétől függően többféle védettségi fokozatot kínál. Ezek közül a – jelenleg – második legmagasabb biztonsági fokozatú és szolgáltatásválasztékú család az OPTIGA Trust X, amely rendkívül jó árteljesítőképesség arány mellett egyszerű alkalmazhatóságot, kis méretet és fogyasztást kínál az IoT alkalmazások sokaságához.
Egy személyes megjegyzés
Amikor elfogadtam az első felkérést egy fejlesztői segédeszköz, egy demonstrációs kártya tesztelésére és a róla szerzett személyes benyomások cikké fogalmazására, elgondolkoztam, mivel segíthetném hozzá a fejlesztőket valamely aktuális problémájuk megoldásához. A fejlesztést számos külső gazdasági „kényszeren”, például a határidőn és a fejlesztőmunkára fordítható limitált humán- és anyagi erőforrásokon kívül az is befolyásolja, hogy milyen „felhasználói élményt” jelent az adott fejlesztőeszköz alkalmazása egy fejlesztési projektben: mennyire egyszerű, milyen – általánosnak tekinthető – fejlesztői ismeretekre támaszkodik, mennyire intuitív, „öntanító” jellegű, milyen jól dokumentált, és milyen gyorsan lehet elsajátítani a használatához szükséges ismereteket. Az ezekről szerzett benyomásaimat igyekeztem átadni az olvasónak, azonban ez a modell e cikkben „nem jól működik”. Ezeknek a szoftverbiztonsági eszközöknek ugyanis nem túl „látványos” a felhasználása. Ha egy – önmagában védtelen – informatikai eszközhöz (ez esetben jelesül egy beágyazott készülékké fejleszthető demonstrációs áramkörhöz) csatlakoztatjuk, és az alkalmazás szoftverébe beépítjük (és helyesen használjuk) az eszközmeghajtó (driver) programokat, akkor „védenek” és kész. Az informatikai védelemnek csak az alapjaival vagyok tisztában, mint ahogy vélhetően nem kevés beágyazott-elektronikai fejlesztő is, aki ezt a cikket olvassa. Nem vagyok képes „hekkerként” megtámadni a vizsgált eszközt és ezzel próbára tenni védelmi képességeit. Csak azt tehetem: megbízom a gyártóban és azokban a tanúsítványokban, amelyek szerint a védelmi eszközöket tervezték és vizsgálták. Egy nagyon lényeges „felhasználói élményem” azonban mindegyik – a továbbiakban említett – eszközzel kapcsolatban elmondható: meglepően egyszerű használni őket, és szinte „mulatságosan” kevés többletel terhelik az anyagárat, a végtermék helyfoglalását és energiafogyasztását, a piacra kerülésének idő- és erőforrás-szükségletét. Eközben viszont jelentősen hozzájárulnak a termék értékéhez, a végfelhasználó biztonságérzetéhez és érzékeny adatainak védelméhez.
1. ábra Az XMC4500 Relax MCU demonstrációs panel
Biztonságos iparivezérlő-környezet
Az egyik vizsgálatra kapott informatikai biztonsági „minirendszer” hoszt platformja az Infineon XMC4500 demonstrációs kártya (1. ábra), amelynek alapvető rendeltetése a cég ARM® Cortex™-M4F architektúrára épülő XMC4500 mikrovezérlője (MCU) képességeinek bemutatása. A 10 × 5 cm-es NyÁK-lapra épített eszköz feladata lényegében nem több, mint az XMC4500 MCU kipróbálásához (azaz kényelmes üzembe helyezéséhez és kommunikációs környezetbe kapcsolásához) szükséges minimális feltételek biztosítása. Tápellátását egy mikro-USB csatlakozóról kapja, és a panel egy „letörhető” darabjára épített hibakereső modullal is rendelkezik, amely egy második XMC4500 processzorral és egy második mikro-USB-csatlakozóval megvalósított soros (UART) portot tartalmaz, amihez a tesztelést, hibakeresést és egyéb fejlesztői beavatkozásokat lehetővé tevő PC csatlakoztatható. A fejlesztőkártyának a felhasználó alkalmazásához történő illesztése két, egyenként 2 × 20 pólusú, kétsoros tűs csatlakozóján valósítható meg, amelyre akár a csatlakozók megfelelő ellendarabjával ellátott vendégpanel, akár egyeres kábelekkel a végfelhasználói alkalmazás illeszthető. Ezen a felületen 2 db SPI-master, 3 db I2C, 3 db I2S, 3 db UART, 2 db CAN interfész, 17 db A/D- és 2 db D/A-konverter csatorna, valamint (az ipari alkalmazások, motorvezérlések, teljesítményelektronikai rendszerek fejlesztőinek örömére) 31 db impulzusszéleség-modulátor (PWM) kimenet áll rendelkezésre. A panelen ezenkívül RJ-45 csatlakozású Ethernet interfész, valós idejű óra és 32 Mbit kapacitású Quad-SPI flashmemória, továbbá (a felhasználói programok és adatok háttértárolójaként) mikro-SD kártyacsatlakozó is helyet kapott.
2. ábra A RELAX biztonsági vendégpanel
Az informatikai biztonsági alkalmazásokat demonstráló készlet ezenkívül egy OPTIGA TrustX Relax V2.5 típusjelű, 5 × 5 cm méretű vendégpanelt (2. ábra) is tartalmaz, amely a hoszt platform 2 db 2 × 20 pontos tűs csatlakozósorára dugaszolható (3. ábra). Ez – azonkívül, hogy az alkatrészoldalán „megismétli” az alappanel csatlakozó tűsorait, ezzel lehetőséget adva a bővítésre további „emelet(ek)” hozzáadásával – tartalmaz egy (az alkatrészigényét tekintve) rendkívül egyszerű áramkört, amely a cikk tárgyát képező biztonsági funkciókkal vértezi fel az alappanelen elhelyezett mikrovezérlőt és környezetét. A panel szíve a 3 × 3 mm-es, USON-10 tokozatú, SLS32AIA integrált áramkör. Ezenkívül az eszköz mindössze néhány további apró (és „filléres”, többnyire passzív) alkatrészt tartalmaz. Nyomtatási mintázata is egyszerű, amelybe még egy „mikro-deszkamodellezéshez” használható, 5 × 11-es furatmező is belefért.
Mivel járul hozzá a biztonsághoz?
A vizsgált demonstrációs panelkészlet infromatikai biztonsági vendégpaneljének funkcionalitásait értelemszerűen az alkalmazott biztonsági periféria IC adja. Fő alkalmazási területei:
-
Kölcsönös autentikáció: olyan hitelesítési folyamat, amelynek során a kommunikáló partnerek (hoszt és kliens) kölcsönösen meggyőződhetnek arról, hogy a másik kommunikáló partner az, akinek mondja magát, és rendelkezik a szerepének betöltéséhez szükséges felhatalmazással.
-
Biztonságos kommunikáció:
-
– Védelem a kölcsönös autentikáció során egyeztetett titkosítókulcsokkal a harmadik fél által megszerzett tartalom értelmezése ellen és
-
– védelem a kommunikáció tartalmának a harmadik fél általi megváltoztatása ellen.
-
Tárolt adatok védelme: célja az eszköz tartalmához való fizikai hozzáférés esetén a tartalom közvetlenül értelmezhető „olvasásának” és módosításának kizárása.
-
Biztonságos szoftverfrissítés: az olyan illetéktelen tevékenységek megakadályozása, amely a távoli kommunikációval végzett szoftverfrissítés folyamatába beavatkozva, annak tartalmát megváltoztatva helyez el rosszindulatú kódrészleteket.
-
Platform integritásának ellenőrzése: amennyiben egy adott kód futtatása csak egy adott platformon megengedett, megakadályozza az illetéktelen futtatást a megfelelő autentikációval nem rendelkező platformon. E körbe tartozik az „ellenőrzött rendszerbetöltés” (verified boot) megoldása is, az informatikai rendszerek elleni támadások egyik elterjedt fajtája elleni védekezésül. Gyakori támadási forma ugyanis a rendszer újraindulásakor a rendszerbetöltés „eltérítése” egy „meghekkelt” operációs rendszerre vagy alkalmazásra, amellyel utána minden, az eredetileg védett rendszerbe épített biztonsági intézkedés megkerülhető.
A Trust X biztonsági eszközcsalád
Az Infineon OPTIGA biztonsági termékcsaládjának Trust X megnevezésű tagja a fenti feladatokat a CC EAL 6+ biztonsági szinten látja el; ez a vizsgálati módszer „elméleti megalapozottságát” tekintve a második legszigorúbb követelményszint. 10 kbájt nem törlődő tartalmú belső memóriával rendelkezik, és 384 bites „világ-egyedi” privátkulcsot alkalmaz a kriptográfiai műveletekben (ECC384). A hosztrendszer az operációs rendszer nélkül működő mikrokontrollertől a valós idejű operációs rendszereken át a beágyazott rendszerekhez használt Linux (embedded Linux) operációs rendszert futtató megoldásokig terjed. A kriptográfiai hardver a hoszt platformmal I2C-interfészen keresztül kommunikál.
Javasolt alkalmazási területek
A Trust X-platform az ipari automatizálási környezetben jól használható PLC-s vezérlésekben, illetve mérő- és irányítástechnikai hálózatok végpontjainak védelmére. Az „okosotthonokban” egyre jobban terjedő, „csatlakoztatott”, hálózaton kommunikáló berendezések bármelyikében ugyancsak jó szolgálatot tehet a háztartás informatikai biztonságának fokozására. Jelentős alkalmazási terület lehet továbbá számos biztonságkritikus rendszerelem „beépített” biztonsági megoldásainak alapjaként: ilyenek a drónok, a térfigyelő kamerák, a robotok, a vagyonbiztonsági megoldások, az okosvilágítás stb.
4. ábra A Raspberry Pi védelmére kidolgozott TPM9670 biztonsági kiegészítő
A biztonsági hardver szoftvertámogatása
Az informatikai biztonságról való gondoskodás természetesen nem ér véget a biztonsági hardver beépítésével vagy csatlakoztatásával. Ellenkezőleg: ezzel kezdődik. A szoftveralkalmazás fejlesztésekor kell olyan biztonsági kódrészleteket beépíteni, amelyek az ismertetett biztonsági hardver szolgáltatásait veszik igénybe.
A biztonsági hardvereszköz gyártója e területen sem hagyja magára a végtermékfejlesztőt: a felhasználóknak rendelkezésére áll egy OPTIGA™ Trust X Toolbox elnevezésű szoftverkönyvtár, amelynek elemeit felhasználva a biztonság protokollok széles választéka valósítható meg, a hoszt firmware biztonságos frissítésétől a TLS kliens/szerver megoldásokon át egy „kulcsrakész”, védett kommunikációs eljárás, az OPTIGA Shielded Connection megvalósításáig. A szoftver-eszközkészlet része például a nyilvános kulcsú titkosítás kulcspárjainak generálása, a kriptográfiában gyakran és sokféle célra használt hash-értékek kiszámítása, elektronikus aláírások generálása és ellenőrzése is.