Beágyazott rendszerek biztonsági problémái.
A 2005-ben gyártott 9 milliárd mikroprocesszor nem egészen két százaléka került asztali számítógépekbe és kiszolgálókba, a többi 8,8 milliárd beágyazott it-rendszerek része lett. Ezek az eszközök a modern élet szinte minden területén megtalálhatók a digitális óráktól kezdve a hordozható mp3- és dvd-lejátszókig, illetve a legváltozatosabb háztartási, szórakoztató, ipari és egyéb elektronikai eszközökig. Ugyanezek a beágyazott rendszerek felelősek a forgalomirányításért, a gyártási folyamatokban részt vevő robotok vezérléséért, a nukleáris erőművek zökkenőmentes működtetéséért vagy azért, hogy a cirkáló rakéták célba találjanak.
A kritikus alkalmazásokban magukban vagy hálózatba kapcsoltan működő beágyazott rendszerek évek óta csendben teszik a dolgukat a színfalak mögött, miközben sajnálatosan sokan feledkeznek el arról, hogy olyan biztonsági problémák kapcsolódnak hozzájuk, amelyekkel a mai bonyolult környezetekben egyre többet kell foglalkozni.
Sajátságos kombinációk
A beágyazott rendszerekre általában jellemző, hogy az egyedileg fejlesztett és a kereskedelmi szoftverek sajátságos kombinációját használják. Ezeket a szoftvereket általában csak az adott eszköz fejlesztői ismerik behatóan, emiatt nehéz számba venni a sebezhetőségeiket, és így bonyolult a biztonsági frissítésük is.
A beágyazott protokollok megvalósításáról az esetek egy részében olyan régebbi nyílt kódú megoldások gondoskodnak, mint például az OpenSSL vagy a BSD tcp/ip-verme. Gyakran fordul elő, hogy az eredeti szoftver már jelentős fejlesztésen ment át, miközben a beágyazott rendszerben futó régi kód még fogékony egy sor ismert támadásféleségre.
Problémák persze az egyedileg fejlesztett alkalmazásokkal is lehetnek. A nulláról fejlesztett szoftver fő csapdáját az jelenti, hogy nem részesül a nyilvánosság és a nyilvános elemzés előnyeiből. Mivel nincs kipróbálva, hogy mire képes támadások alkalmával, ezért ezeknél a megvalósításoknál kiszámíthatatlan, hogy kritikus helyzetekben mit bír ki a védelmük.
Sebezhető sérülékenységkezelés
A beágyazott rendszerek kódjához nehéz hozzáférni, emiatt – még ha azonosították is a szoftver sebezhetőségeit – az adott eszközhöz vagy eszközcsaládhoz a fejlesztőnek kell elkészítenie a biztonsági javításokat. Ehhez a munkához azonban elengedhetetlen, hogy a szoftver fejlesztője és az eszköz készítője/összeszerelője között szoros és hatékony legyen az együttműködés.
Ha elkészül a frissítés, akkor annak telepítése okozhatja a következő nehézséget. Ez a folyamat ugyanis nemcsak bonyolult, hanem általában drága és időigényes is. A kifinomult beágyazott rendszerek szoftverjavításainak alkalmazásához ráadásul többnyire járulékos – gyakran ugyancsak egyedi – it-eszközök is szükségesek, amelyek tovább növelik a sérülékenységkezelés költségeit. A szoftverfrissítéshez szükséges komplikált és drága infrastruktúra további hátránya, hogy a felhasználói oldalon jelentősen csökkenti a motivációt a javítások alkalmazására.
Felügyeleti gondok
A legtöbb, hálózatban működő beágyazott rendszer közös jellemzője, hogy nincsenek ellátva megfelelő felügyeleti és ellenőrzési lehetőségekkel, emiatt nehéz és drága a központi konfigurálhatóságuk és a monitorozhatóságuk.
Az eszközök további gyakori hiányossága a naplózó és jelentéskészítő képességük hiánya vagy korlátozott volta. A szolgáltatott adataik alapján nehéz elemezni az ellenük indított támadásokat, de ugyanezek a korlátok behatárolják a különféle incidensek miatt kezdeményezett bűnügyi nyomozásokat, és természetesen a törvényi megfelelőségük is hagy maga után kívánnivalókat.
Stratégiai szükség
A felsorolt problémák orvoslása a kereskedelmi és egyedi beágyazott szoftverek fejlesztői, az eszközök készítői és forgalmazói, továbbá felhasználói részéről is komoly erőfeszítéseket igényel, és ez különösen igaz a hálózatban működő beágyazott rendszerekre. A rendszerfejlesztőknél stratégiai szemponttá kell válnia az információbiztonságnak, különben a beágyazott rendszerek továbbra is sérülékenyek maradnak, és ez egyre kevésbé esik egybe az üzlet érdekeivel.
Kelemen László







