Biztonságkritikus rendszerek architektúrája (2. rész)

Hasonló dokumentumok
Hibatűrés. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Hibatűrés. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Hibatűrés. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Biztonságkritikus rendszerek architektúrája

Hibatűrés. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Hibatűrés. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Szolgáltatásbiztos rendszerek: Architektúra tervezési példák

Biztonságkritikus rendszerek Gyakorlat: Architektúrák

A szolgáltatásbiztonság alapfogalmai

Architektúra tervezési példák: Architektúrák biztonságkritikus rendszerekben

A szolgáltatásbiztonság alapfogalmai

A szolgáltatásbiztonság alapfogalmai

Biztonságkritikus rendszerek architektúrája

Mintapélda: Rendszertesztelés a SAFEDMI projektben

Megbízhatósági analízis

Szoftver architektúra tervek ellenőrzése

Biztonsági folyamatirányító. rendszerek szoftvere

A hibakezelés tesztelése: Hibainjektálás

Beágyazott információs rendszerek

A fejlesztési szabványok szerepe a szoftverellenőrzésben

Autóipari beágyazott rendszerek. Kockázatelemzés

SZOFTVER-MINŐSÉGBIZTOSÍTÁS BIZTONSÁGKRITIKUS RENDSZEREK. Széchenyi István Egyetem. Alapfogalmak

Védelem a véletlenszerű egyedi hibák veszélyeztető hatása ellen Biztonsági stratégiák

Szoftverminőségbiztosítás

Az IEC PRP & HSR protokollok használata IEC61850 kommunikációjú védelmi automatika hálózatokban

3. Biztonságkritikus rendszerek

Kvantum-hibajavítás I.

Autóipari beágyazott rendszerek. Funkcionális biztonságossági koncepció

Rendszermodellezés. Hibamodellezés (dr. Majzik István és Micskei Zoltán fóliái alapján) Fault Tolerant Systems Research Group

Bokor Péter. DECOS Nemzeti Nap október 15. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Operációs rendszerek. Bemutatkozás

Programozó- készülék Kezelőkozol RT óra (pl. PC) Digitális bemenetek ROM memória Digitális kimenetek RAM memória Analóg bemenet Analóg kimenet

Számítógépek felépítése, alapfogalmak

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

Architektúra, megszakítási rendszerek

Norway Grants. Az akkumulátor mikromenedzsment szabályozás - BMMR - fejlesztés technológiai és műszaki újdonságai. Kakuk Zoltán, Vision 95 Kft.

1002D STRUKTÚRÁJÚ, KRITIKUS ÜZEMBIZTONSÁGÚ RENDSZER (SCS 1 ) ELEMZÉSE DISZKRÉT-DISZKRÉT MARKOV MODELLEL

Közlekedési automatika Biztonsági architektúrák

Digitális rendszerek. Digitális logika szintje

Véges állapotú gépek (FSM) tervezése

Rendszermodellezés. Modellellenőrzés. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

A számítógép egységei

A LOGSYS GUI. Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT FPGA laboratórium

Biztonságkritikus rendszerek Gyakorlat: Megbízhatósági analízis

Új kompakt X20 vezérlő integrált I/O pontokkal

Nagy bonyolultságú rendszerek fejlesztőeszközei

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Fejlesztés kockázati alapokon 2.

OPERÁCIÓS RENDSZEREK. Elmélet

IBM felhő menedzsment

Hálózatba kapcsolt adatbázisok. Erős Levente, TMIT 2011.

Összeadás BCD számokkal

Új generációs informatikai és kommunikációs megoldások ANMS. távközlési hálózatok informatikai hálózatok kutatás és fejlesztés gazdaságos üzemeltetés

The modular mitmót system. DPY kijelző kártya C API

Yottacontrol I/O modulok beállítási segédlet

Üzletmenet folytonosság menedzsment [BCM]

Csoportos üzenetszórás optimalizálása klaszter rendszerekben

Számítógép architektúra

Szoftverminőségbiztosítás

MIKROELEKTRONIKA, VIEEA306

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

MSP430 programozás Energia környezetben. Kitekintés, további lehetőségek

Aktív zajcsökkentő rendszerek megvalósítása szenzorhálózattal

Szoftverminőségbiztosítás

Mosolygó Ferenc értékesítési konzultáns

Digitális technika (VIMIAA01) Laboratórium 9

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Véges állapotú gépek (FSM) tervezése

Digitális technika (VIMIAA01) Laboratórium 9

Hibajavítás, -jelzés. Informatikai rendszerek alapjai. Horváth Árpád november 24.

OMRON FOTOELEKTROMOS KAPCSOLÓK E3NT

Multi-20 modul. Felhasználói dokumentáció 1.1. Készítette: Parrag László. Jóváhagyta: Rubin Informatikai Zrt.

OPTIKAIKÁBEL ILLESZTŐ INT-FI

Programozható Logikai Vezérlő

Kezelés FC72x Tűzjelző központ FT7224 Tűzjelző kezelő egység. RIASZTÁS-kezelés. 3. Olvassa el a tűz helyét a Kijelzőn. 4.

Számítógép-rendszerek fontos jellemzői (Hardver és Szoftver):

Hibadetektáló és javító kódolások

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Szárazföldi autonóm mobil robotok vezérlőrendszerének kialakítási lehetőségei. Kucsera Péter ZMNE Doktorandusz

3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA

A virtualizáció a modern vállalati informatikai infrastruktúra alapja

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output

S.M.A.R.T. Forrás:

Előadó: Nagy István (A65)

Tesztelési szintek Tesztautomatizálás

TANMENET 2018/2019. tanév

WAGO PLC-vel vezérelt hő- és füstelvezetés

Valós idejű kiberfizikai rendszerek 5G infrastruktúrában

Számítógép architektúrák záróvizsga-kérdések február

Verifikáció és validáció Általános bevezető

Digitális technika (VIMIAA02) Laboratórium 1

Laboratóriumi műszerek megvalósítása ARM alapú mikrovezérlővel és Linux-szal

Max. 2 DIMM bővítőhely Nem ECC kétcsatornás 1333 MHz DDR3 SDRAM, 1 8 GB

TELE-OPERATOR UTS v.14 Field IPTV műszer. Adatlap

12. Másodlagos tár szerkezet

PCS100 UPS-I Ipari felhasználási célú UPS

Szoftverminőségbiztosítás

KÓDOLÁSTECHNIKA PZH december 18.

Átírás:

Biztonságkritikus rendszerek architektúrája (2. rész) Rendszertervezés és -integráció előadás dr. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék BME-MIT

Jellegzetes megoldások failoperational működéshez: Hibatűrés BME-MIT 40.

Célkitűzés Hibahatások -> veszély elkerülése Fail-safe működés Fail-stop működés A megállás (lekapcsolás) biztonságos állapot Detektált hiba esetén le kell állítani a rendszert Hibadetektálás a kritikus feladat Fail-operational működés A megállás (lekapcsolás) nem biztonságos állapot Detektált hiba esetén is szükséges szolgáltatás teljes, vagy csökkentett (degradált) Hibatűrés szükséges BME-MIT 41.

Hibatűrő rendszerek Hibatűrés célja: Szolgáltatást nyújtani hiba esetén is o Leállás helyett autonóm hibakezelés működés közben o Beavatkozás a hibaok hibajelenség láncba Alapfeltétel: Redundancia (tartalékolás): Többlet erőforrások a hibás komponensek kiváltására o Hardver o Szoftver o Információ o Idő Redundancia típusai Együttes megjelenés is o Hideg: Normál esetben passzív; lassú átkapcsolás hiba esetén o Langyos: Normál esetben csökkentett terhelés o Meleg (forró): Normál esetben aktív; gyors átkapcsolás BME-MIT 42.

A redundancia típusai Redundancia / tulajdonság Hideg tartalék (passzív redundancia) Langyos tartalék (másodlagos funkciók) Meleg tartalék (aktív redundancia) Alapelv Csak hiba esetén aktiválva Csökkentett terheléssel működik Ugyanúgy működik, mint az elsődleges Előnye Nem hibásodik meg a passzív komponens Kisebb meghibásodási tényezőjű tartalék Gyorsan átveheti az elsődleges helyét Hátránya Lassan veszi át az elsődleges helyét Közepes sebességű feladat átvétel Azonos meghibásodási tényező Példa Kikapcsolt tartalék számítógép Naplózó számítógép belép elsődlegesként Árnyék számítógép BME-MIT 44.

Példa: Információ redundancia: Hibajavító kódolás Kódoló Átvitel, tárolás Dekódoló Hibadetektáló kódolás (EDC): Csak jelezni tudja a hibát o Paritásbit: Hamming távolság megnövelése, 1 bithiba detektálható o Ellenőrző összeg: Fájlok, hosszabb üzenetek esetén alkalmazható Hibajavító kódolás (ECC): Hibahely azonosítás, információ javítás o Nagyobb Hamming távolság: Javítható hibák Pl.: (7,4) bites Hamming kód: 1 bithiba javítható, 1 és 2 bithiba detektálható o Blokkos információ: Bonyolultabb kódok (pl. Reed-Solomon kódok) Pl.: (255, 223) bájtos RS kód: 16 bájthiba javítható Korlátozott hibajavító képesség o Információ tárolás: Hosszú idő alatt olyan sok hiba felgyűlhet, hogy a hibajavító kód nem boldogul vele o Tárakhoz: Periodikus olvasás és javítva visszaírás (pl. memory scrubbing ) 4 adatbit, 3 redundáns bit BME-MIT 45.

Milyen redundancia használandó? Hardver tervezési hibák: (< 1%) o Hardver redundancia, eltérő tervezésű o Gyakran nem számítanak rá (bevált komponensek) Hardver állandósult működési hibák: (~ 20%) o Hardver redundancia (pl. tartalék processzor) Hardver időleges működési hibák: (~ 70-80%) o Idő redundancia (pl. utasítás újravégrehajtás) o Információ redundancia (pl. hibajavító kódok) o Szoftver redundancia (pl. állapotmentés és helyreállítás) Szoftver tervezési hibák: (~ 10%) o Szoftver redundancia, eltérő tervezésű variánsok BME-MIT 46.

1. Állandósult hardver hibák kezelése Többszörözés: Kettőzés: o Komparálással: csak hibadetektálás! o Hibatűrés: Diagnosztikai támogatás és átkapcsolás TMR: Triple-modular redundancy o Hiba maszkolása többségi szavazással o Szavazó kritikus elem (de egyszerű) NMR: N-modular redundancy o Hiba maszkolása többségi szavazással Bemenet Bemenet o Missziós idő túlélése nagyobb esélyű, utána javítás jöhet o Repülőgép fedélzeti eszközök: 4MR, 5MR Normál modul Tartalék modul 1. modul 2. modul 3. modul Diagnosztikai egység Átkapcsoló egység Szavazó egység Kimenet Hibajel Kimenet Hibajel (Többségi szavazás) BME-MIT 47.

A többszörözés megvalósítása Berendezés/számítógép szint: o Szerverek: Nagy rendelkezésre állású szerver fürtök Pl. Linux HA Clustering, Windows Server Failover Clustering o Szoftver támogatás: feladatátvétel (failover) Kártya szint: o Futásidőbeli átkonfigurálás hot-swap Pl. compactpci, HDD, tápegységek o Szoftver támogatás: monitorozás, konfigurációkezelés Alkatrész szint: o Alkatrész szintű többszörözés TMR Önellenőrző áramkörök (kódolt információval dolgoznak) BME-MIT 48.

Példa: Hardver redundancia Több processzor Hibajavító kódolás RAID konfiguráció CPU1 CPU2 MEM ECC D1 D2 Opció: Kettőzött busz, paritás Monitor PS1 PS2 I/O I/O Monitorprocesszor Kettőzött tápegység Kettőzött I/O alrendszer pl. IBM xseries BME-MIT 49.

Példa: RAID diszk egységek (Redundant Array of Independent Disks) BME-MIT 50.

Duplikált Példa: diszkek RAID diszk Hibajavító egységek kódolás (Redundant Azonosítható Array of a Independent hibás diszk: Disks) Paritás elég a javításhoz Konkurens hozzáférés a blokkokhoz Paritás diszk sem szűk keresztmetszet BME-MIT 51.

2. Időleges hardver hibák kezelése Megközelítés: Szoftver alapú o Ismételt végrehajtás esetén a hiba nem jelentkezik o Hibahatások kiküszöbölése a fontos A hiba kezelhető hibamentes állapot beállításával (és részben ismételt végrehajtással) Feladatok: 1.) Hibadetektálás 2.) Hibahatás felmérése 3.) Helyreállítás 4.) Meghibásodás (hibaok) kezelése BME-MIT 52.

Időleges hardver hibák kezelésének fázisai 1. 1.) Hibadetektálás: Alkalmazásfüggetlen (mechanizmus): o Illegális utasítások felismerése o Védelmi szintek, jogosultságok ellenőrzése o Alkalmazásfüggő (ad-hoc): o Időzítés ellenőrzése o Visszahelyettesítés (algoritmus) o Hihetőség vizsgálat o Struktúra ellenőrzés o Diagnosztikai ellenőrzés o BME-MIT 53.

Időleges hardver hibák kezelésének fázisai 2. 2.) Hibahatások felmérése: Motiváció: Hibadetektálás késleltetési ideje alatt a hiba terjedhet a komponensek között hibaok interakciók! hibadetektálás Hibaterjedés behatárolása: Interakciók ellenőrzése o Bemeneti ellenőrzések elvégzése (pl. hihetőség vizsgálat) o Kimeneti ellenőrzések elvégzése (legyen fail-silent ) Hiba által érintett komponensek meghatározása: o Naplózás: Erőforrás használat, kommunikáció o A hibadetektálás késleltetési ideje alatt történt interakciók követése BME-MIT 54.

Időleges hardver hibák kezelésének fázisai 3. 3.) Helyreállítás lehetőségei Előrelépő helyreállítás: o Hibamentes állapot beállítása szelektív korrekcióval o A detektált hiba és a hibahatás függvénye o Előre figyelembe vett hibák esetén Visszalépő helyreállítás: o Állapot beállítása korábbi hibamentes állapotra o Hibától függetlenül megvalósítható o Állapotmentés és visszaállítás minden komponensre Kompenzáció: o Többlet információ alapján a hibahatás kompenzálható BME-MIT 55.

A helyreállítás lehetőségei A rendszer állapotterében: A lehetőségek v2 e3! e1 e2 s(t) visszalépés előrelépés kompenzáció állapotmentés v1 állapotváltozó BME-MIT 60.

Visszalépő helyreállítás Állapotmentés és visszaállítás alapján o Checkpoint: állapotmentés (időpontja) o Műveletek: Állapotmentés: időközönként, üzenetek után; stabil tárba Visszaállítás: stabil tárból az operatív memóriába Eldobás: adott számú checkpoint megtartása o Analógia: autosave Műveletek visszavonása alapján o Hiba: téves (szándékolatlan) művelet o Műveletek naplózása szükséges a visszavonáshoz o Analógia: többszintű undo Kombinált módszer is lehetséges BME-MIT 61.

Visszalépő helyreállítás forgatókönyvei t! t! t! t BME-MIT 62.

Checkpoint tartományok a1 b1 c1 a2 b2 c2! t Optimalizálás szempontjai: Korlátos tár az állapotmentéshez (hány állapotmentés lehet) Állapotmentés gyakorisága (mennyi számítást vesztünk el) Hibadetektálás lappangási ideje (milyen jó a detektálás) BME-MIT 63.

Időleges hardver hibák kezelésének fázisai 4. 4.) A hibaok kezelése Időleges hibák: o Előre- vagy visszalépő helyreállítás elég Állandósult hibák: Helyreállítás nem lesz sikeres (újra hibadetektálás) o Hiba lokalizálása Diagnosztikai célú tesztelés o Újrakonfigurálás Hibatűrés: Hibás komponens feladatainak teljes átvétele Degradált működés: Egyes funkciók fenntartása Graceful degradation : A kritikus funkciók fenntartása o Javítás, csere BME-MIT 74.

3. Szoftver tervezési hibák kezelése Ismételt végrehajtás nem segít (állandósult hiba) Redundáns modulok: Eltérő tervezés szükséges! Variánsok: azonos specifikáció, de o eltérő algoritmus, adatstruktúrák o más fejlesztési környezet, programnyelv o elszigetelt fejlesztés az azonos hibák bekövetkezésének csökkentésére Variánsok végrehajtásának technikái: o N-verziós programozás o Javító blokkok BME-MIT 75.

N-verziós programozás Aktív redundancia: Minden variáns végrehajtása (párhuzamosan) o Ugyanazon bemenetek o Többségi szavazás Elfogadható értéktartományt kell megadni a kimenetekre Szavazó egyszeres hibapont (SPOF), de egyszerű Variáns1 Bemenet Variáns2 Szavazó Kimenet Variáns3 Hibajelzés BME-MIT 76.

Javító blokkok Passzív redundancia: Csak hiba esetén aktiválódik o Variánsok kimenetének elfogadhatósági ellenőrzése o Hiba esetén tartalék variáns (soros) végrehajtása Bemenet Állapotmentés Variáns végrehajtása Állapot visszaállítás Elfogadhatósági ellenőrzés Van-e még variáns? i n n i Kimenet Hibajelzés BME-MIT 81.

Összehasonlítás Tulajdonság/típus N-verziós prg. Javító blokkok Ellenőrzés Szavazás, Elfogadhatóság relatív abszolút Végrehajtás Párhuzamos Soros Időigény Leglassabb variáns (vagy time-out) Mindig Redundancia aktiválása Tolerált hibák [(N-1)/2] N-1 Hibák számától függő Csak hiba esetén Hibakezelés Maszkolás Helyreállítás BME-MIT 82.

Példa: Airbus A-320, önellenőrző blokkok Páronként önellenőrző végrehajtás Elsődleges pár működik, átkapcsolás hiba esetén Állandósult hardver hiba: Ismételten hibázó pár lekapcsol V1 V2 V3 V4 H H H H BME-MIT 83.

Hibatűrés tesztelése Meghibásodás (hiba) előidézése: Hibainjektálás o Hardver: Hibaok létrehozása: busz jelek kényszerítése, tápfeszültség tüske, részecske-besugárzás, hőterhelés Hardverfüggő, lassú o Szoftver: Hibahatás létrehozása (rendszerállapot megváltoztatása): regiszterek, memóriabitek átállítása (pl. Unix ptrace()) Rugalmas, gyors Hibaokoknak való megfelelés kérdéses o Hibrid Hatás monitorozása (működés közben) BME-MIT 84.

Összefoglalás: Hibatűrés technikái 1. Hardver tervezési hibák o Diverz redundáns hardver komponensek 2. Állandósult hardver működési hibák o Hardver redundancia: többszörözés 3. Időleges hardver működési hibák o o o Szoftver redundancia 1. Hibadetektálás 2. Hibahatás felmérés 3. Helyreállítás: előrelépő vagy visszalépő 4. Hibaok kezelése Információ redundancia: Hibajavító kódolás Idő redundancia: Ismétlés 4. Szoftver tervezési hibák o Diverz redundáns szoftver komponensek (NVP, RB) BME-MIT 86.

IEC 61508: Functional safety in electrical / electronic / programmable electronic safety-related systems Szoftver architektúra tervezés Szabvány szerinti módszerek BME-MIT 87.

Az időigény összefoglalása Tiszta idő redundancia: Újrapróbálás (retry) o Alacsony hardver szinten: processzor (mikro)utasítás o Magasabb szinten: funkció, taszk ismételt végrehajtás o Időleges hibák esetén hatásos Idő overhead velejárója a többi típusnak o Hard RT rendszerek: tervezési szempont, hogy mennyire garantálható a hibakezelés ideje o Preferált megoldások: Állandósult hardver hibák: maszkolás, meleg tartalék Időleges hardver hibák: előrelépő helyreállítás Szoftver tervezési hibák: N-verziós programozás BME-MIT 88.

Az időigény áttekintése Térbeli redundancia (%) TMR N-verziós programozás Javító blokkok 100 10 Előrelépő helyreállítás Hibajavító kódolás Visszalépő helyreállítás Elosztott állapotmentés és helyreállítás Újrapróbálás Újratöltés Újraindítás 0.1 1 10 100 Időbeli redundancia (s) BME-MIT 89.

Költségoptimalizálás hibatűrés költsége eredő kialakítási költség üzemeltetési költség optimum hibatűrés mértéke BME-MIT 90.

Összefoglalás: Architektúra tervezés Fail-stop megoldások o Egycsatornás feldolgozás önteszttel o Két- vagy többcsatornás feldolgozás komparálással o Kétcsatornás feldolgozás független ellenőrzéssel Fail-operational (hibatűrő) megoldások o Hardver tervezési hibák: Diverz redundáns hardver komponensek o Állandósult hardver működési hibák: Többszörözött hardver komponensek o Időleges hardver működési hibák: Szoftver redundancia: Hibadetektálás és helyreállítás Információ redundancia: Hibajavító kódolás Idő redundancia: Végrehajtás ismétlése o Szoftver tervezési hibák: Diverz redundáns szoftver komponensek (NVP, RB) BME-MIT 91.