280 likes | 413 Views
A beágyazott rendszerek és a biztonság. Tartalom. Egy kis történelem… A beágyazott rendszerekről Miben speciálisak? Biztonság és megbízhatóság Mitől kell félni? Min kell javítani?. Mi ez?. Forrás: www.computerhistory.org. Ebben van:. Forrás: NASA. Apollo Guidance Computer.
E N D
Tartalom • Egy kis történelem… • A beágyazott rendszerekről • Miben speciálisak? • Biztonság és megbízhatóság • Mitől kell félni? • Min kell javítani? Beágyazott rendszerek
Mi ez? Forrás: www.computerhistory.org Beágyazott rendszerek
Ebben van: Forrás: NASA Beágyazott rendszerek
Apollo Guidance Computer • Az első „beágyazható” számítógép • Könnyű és kicsi: csak pár ezer integrált áramkör (újdonság!) • 4kszó RAM, 36kszó ROM • 1MHz órajel • Specializált szoftver (assemblyben) Beágyazott rendszerek
Nézzünk körül! Mi a közös? • Mobiltelefon • Autó • DVD • Kenyérsütőgép • Atomerőmű • Űrsikló • MP3 lejátszó • CNC szerszámgép Beágyazott rendszerek
Beágyazott rendszer • Mindegyik tartalmaz valamilyen vezérlő számítógépet • Beágyazott rendszer • Számítógép, amely egy eszköz, berendezés alkotóeleme, annak vezérlését végzi • Sokféle formában létezik • Messze a legnagyobb számban eladott számítástechnika Beágyazott rendszerek
Miben hasonlít egy PC-hez? • Alapelvek ugyanazok. • CPU, memória, I/O • Program, felhasználói felület • Néha akár „mezei” PC. • Nem a felépítés, hanem a cél határozza meg, hogy mi a beágyazott rendszer! Beágyazott rendszerek
Miben más? • Általában, de nem mindig, specializált hardver • Specializált szoftver (firmware) • Specializált felhasználói felület és ki/bemeneti egységek • Teljesen más követelmények: pl. valósidejű működés Beágyazott rendszerek
Egy más világ • Kékhalál – kikapcsolhat a fék? • Nem várt input – lezuhanhat a repülő? • Felhasználó rossz gombot nyom – undo reaktor? • Lassú az algoritmus – majd a csak a kipufogó ütemben adunk gyújtószikrát? • Jön Szkriptkiddi Janó – nincs fűtés? Beágyazott rendszerek
Biztonság és megbízhatóság • Beágyazott rendszerek más rendszerek vezérlését végzik: kritikus rendszerek • Jobb, ha nem hibázik… • De, hiba esetén „kultúráltan” kell viselkednie. • Fel kell készülni előre nem látható eseményekre. • Speciális megbízhatósági megoldások: • Többszörözés, szavazás • Független rendszerek Beágyazott rendszerek
Biztonsági jellemző • Gyakori a „security by obscurity”, néha meglepő módon működhet • Korlátozott lehetőségek és számítási kapacitás • Hosszú időre tervezett rendszerek • Árérzékenység • Nehéz a kompromisszum az egyéb funkciókkal • Kemény követelmények • Frissítés hogyan? • Rendszergazda? Beágyazott rendszerek
Az hálózatosodás problémái • Kényelem <-> biztonság • Távolról nem kívánt működést okozhat a támadó • Zöldre állítja a jelzőt • Adatokat szerezhet meg • Megtudja a vérnyomásom • Rejtett csatornákat nyithat • Villanyórát figyelve kirabol, ha nem vagyunk otthon Beágyazott rendszerek
Jó tervezés és kivitelezés kell! • Legyen pontos specifikáció! • Ne csináljunk felesleges dolgokat • De figyeljünk „nem történhet meg” esetekre • Funkciók és részegységek elszeparálása • Beavatkozó és visszajelző elemek szeparálása • Többszörös biztosítás • Kód újrafelhasználásnál vigyázni! • Tesztelés!!! Beágyazott rendszerek
Autó • Lásd tegnap: Lehet-e vírusos Bluetoothon? • Funkciók és rendszerek szeparálása eddig jól volt. • „lokális hálózatok” kérédése – VAN, CAN (Vehicle/Controller Area Network) • Egyre több funkció, egyre bonyolultabb • Ha félni kell, akkor nem a távoli feltöréstől • Elégtelen fejlesztés és tesztelés nagyobb probléma • Egyre nagyobb számítógépesítés (nem feltétlenül baj!) • Adatvédelmi kérdések (távoli nyomkövetés) Beágyazott rendszerek
Melyiket szeretnénk? • 1 - Telefonon felhívni házat, hogy legyen meleg mire hazaérek • 2 - Telefonon felhívni a házat, hogy legyen otthon 38,7 °C fürdővíz, amely szintjét MMS-ben ellenőrizhetem Beágyazott rendszerek
1. eset • Termosztát három állással: • Fagymentesítés – ha nem vagyunk otthon • Hideg – éjszakára • Meleg – nappalra • Távolról ezek közül választhatunk • Legnagyobb kár amit a támadó okozhat: • Nagyobb gázszámla • Hideg, mikor hazaérek Beágyazott rendszerek
2. eset • Rendszer távolról: • fürdővizet csinál • MMS-t küld a kész fürdőről • Támadó által okozható kár: • Forró víz elönti a lakást • MMS-ben képeket küldhet rólunk, mikor fürdünk • Mi a kockázat? Van-e igény? Józan ész szerint mit kellene? (gyakran hiányzik…) Beágyazott rendszerek
Ariane 5 • Nagyon komoly szoftverfejlesztés, és mégis: • Ariane 4-ből átvett szoftver, de a körülmények megváltoztak • Szükségtelenül futó modulban bekövetkező túlcsordulás • A hiba hatással volt a teljes rendszerre: rakéta letér a pályáról http://www.ima.umn.edu/~arnold/disasters/ariane.html Beágyazott rendszerek
„A” klasszikus példa • Therac-25 sugárkezelő készülék • Korábbi modellek továbbfejlesztése • Röntgen és elektronsugaras kezelés • PDP-11 alapú vezérlés • több halott http://www.technology.niagarac.on.ca/courses/ctec1435/notes/Therac-25/SouthPark/07.htm Beágyazott rendszerek
Mi történt? • Ha a kezelő 8 másodpercen belül kitölti a kezelési űrlapot és backspace-szel javít,a beteg sokezerszeres dózist kap és meghal • Okok: • Rosszul tervezett szoftver (versenyhelyzet, stb.) • Rejtélyes hibaüzenetek (Error 64) • Minden a szoftverre bízva (korábbi modellben nem!) • Elégtelen tesztelés • Egymásra mutogatás, tagadás Beágyazott rendszerek
Sztorik • Apollo 11, 14: „1201” hiba és „abort gomb” • Feleslegesen működő radar • Bravúros javítás • Berlin CallABike „hack-a-bike” • Bicaj firmware átprogramozása • Mars Pathfinder: • Prioritás inverzió • Teszt során látták, de elsikkadt • Laborban reprodukálva • Debug interfészen távolról javítva Beágyazott rendszerek
Mi várható? • Eddig a legtöbb beágyazott rendszer nem volt hálózatra kapcsolva • Egyre több eszköz kapcsolódik a hálózatra (kell ez?) • Jó lenne, ha az általános szoftverfejlesztés venné át a beágyazott rendszerek fejlesztési módszereit, de sajnos nem mindig van így • Egyre összetettebb rendszerek • A fejlesztő felelősége nagyobb, nehéz elhárítani Beágyazott rendszerek
És még mi várható? • Tűzfal a mosógéphez!? • A felhasználóknak fel kell ismeri a veszélyt • Ésszerű alapbeállítások kellenének • Nagy a kísértés a piaci verseny oldaláról • IP cím a villanykörtének!? • Bizonyos dolgokat nem szabad / értelmetlen távolról elérhetővé tenni Beágyazott rendszerek
Szóval? • A beágyazott rendszerek áthatják az egész környezetünket • Más filozófia, mint egy asztali PC… • A legnagyobb bajok nem a „hackerek” miatt vannak • Megbízhatóság, rendelkezésre állás a legfontosabb • Jó tervezéssel a bajok elkerülhetőek (ezt eddig is tudtuk…) Beágyazott rendszerek
Pár link • AGC: http://www.ibiblio.org/apollo/ • Hack-a-bike: • http://www.ccc.de/hackabike/ • Therac 25: • http://sunnyday.mit.edu/papers/therac.pdf • Kevésbé komolyan: http://www.technology.niagarac.on.ca/courses/ctec1435/notes/Therac-25/SouthPark/00.htm • Ariane5: • http://www.niwotridge.com/Resources/DomainLinks/Ariane5Failure.htm Beágyazott rendszerek
Ennyi Beágyazott rendszerek