Mottagare Addressee(s) Inga-Lill Bratteby-Ribbing, FMV; Ingemar Johansson, AerotechTelub 1 (22) Utvärdering H ProgSäk 1 Uppgiftsbeskrivning Denna rapport beskriver hur Saab Bofors Dynamics, inom FoTA P12:s ramar kartlagt hur H ProgSäk kan implementeras i affärsenheternas, Air Defence och Land, verksamhet i enlighet med specifikationen för teknikprov, <1>. Till grund för kartläggningen finns resultat från tidigare inventering <2> 1.1 Presentation av företaget Saab Bofors Dynamics är huvudsakligen engagerad inom området Precision Engagement (PE). Applikationerna varierar från större distribuerade system för exempelvis eldledning och uppdragsplanering, till inbyggda system för t ex missil- och torpedstyrning. Merparten av systemen är av inbyggnadskaraktär, där programvarusystemet samverkar i ett överordnat system med egenutvecklad elektronik och mekanik. Ofta ingår systemen som delar i större vapensystem, t ex fartygssystem, ubåtssystem eller flygplanssystem. Flertalet av applikationerna är i någon mån säkerhetskritiska. Beroende på system kan problematiken avse ammunitionssäkerhetsfrågor, hanteringssäkerhet och/eller i vissa fall flygsäkerhetsaspekter. 2 Summering 2.1 Genomfört arbete Kartläggningen utfördes under perioden 2002-09-19 2002-11-12. Följande har genomförts: 1. Instudering av handboken Instudering skedde som miniworkshops i form av korta möten med deltagande av representanter för programvarusektionerna inom områdena Arkitektur och utvecklingsstöd, Applikation, Basprogramvara, samt Test, samt efterföljande egen instudering. Instuderingsarbetet motsvarar ca 6-8 timmar per person för totalt 5 personer, vilket ger ca 40 timmar. 2. Identifiering av brister i programvaruutvecklingsprocessen Kartläggning har skett utgående från var och en av de deltagande sektionernas specialkompetens på så sätt att var och en svarat för kartläggning inom sina mest närliggande avsnitt. Arbetstiden för kartläggning
2 (22) och efterföljande sammanställning uppgår till ca 60 timmar, varav ung 15 timmar åtgick för rapportsammanställningen. 2.1. Personalkvalifikationer Dokumenterade krav saknas 2.2. Projektplanering Projektstyrningsmodellen inom Saab Bofors Dynamics är under översyn 2.3. Verifiering övergripande krav täcks delvis, dock i första hand av projektvisa instruktioner a Statisk analys ej kravsatt b Felprediktering ej kravsatt c Resursanalyser ej kravsatt d Användande av metriker för testtäckning ej kravsatt e Metriker för stoppkriteria för test ej kravsatt f Graftest som strukturell tekni ej kravsatt 2.4. Systemsäkerhetsanalys kravsätts i systemsäkerhetsprocessen 2.5. Programvaruverktyg a Säkerhetsanalys/-åtgärder, ej kravsatt b Krav på val, verifiering och hantering av kompilatorer, ej kravsatt c Kodgenereringssystem, spårbarhet, ej kravsatt d Programvaruverktyg, statisk & dynamisk analys, ej kravsatt i VS (projektvisa instruktioner finns) 2.6. Emulerad målmaskin ej explicit kravsatt 2.7. Återanvändning regelverk saknas hel 2.8. Grundläggande konstruktionsprinciper ej beskrivna (produktspecifikt) 2.9. Riskreduktion kravsätts i systemsäkerhetsprocessen (produktspecifikt) 2.10. Defensiv programering ej beskrivet (produktspecifikt) 2.11. Felhantering ej beskrivet explicit (berörs i ) 2.12. Språk a Systemsäkerhetsanalys ej kravsatt b Standardisering ej kravsatt c Assembler krav på kodningsföreskrift saknas d Förbud mot ickedeterministiska konstruktioner saknas i viss mån 2.13. Gränsytor produkspecifika krav (allm principer berörs i ) 2.14. Ändringar under produktion kravsätts i systemsäkerhetsprocessen
3 (22) 2.15. Dokumentation handhav. och underhåll. Kravsätts i ILS-processen. 2.16. Måldatormiljö produktspecifik kravställning. 2.17. Revisoner, hårdvaruutrustning ej kravsatt. 2.2 Avgränsningar Systemsäkerhets- och ILS-processerna - krav som i huvudsak berör systemsäkerhetsprocessen har endast studerats översiktligt. Processförbättring av denna bedrivs utanför programvaruutvecklingsavdelningen, varför detta ej kunnat hanteras i detalj. Övergripande processförbättringsförslag att beakta programvarusäkerhetskrav enligt handboken har dock lämnats. 2.3 Resultatsammanfattning 2.3.1 Kravuppfyllnad I tabellen nedan redovisas totalt antal krav och kravuppfyllnad i respektive kategori. Kategori Antal krav Kravuppfyllnad Ja Personal 8 2 6 Projektplanering 2 2 Kvalitetsstyrning 7 4 2 1 Konfigurationsstyrning 1 1 Produktionsprocess 48 3 42 3 Produktionsmiljö 30 7 1 22 1 Produkt 132 17 70 43 1 Totalt 228 34 123 71 Som framgår av tabellen är kravuppfyllnaden idag begränsad. Här bör man dock notera att inventeringen endast utgår från Verksamhetssystemets (VS) programvaruutvecklingsprocess, dvs projektspecifika instruktioner har inte beaktats. 1 Ett större antal av kraven adresseras översiktligt via, som refererar IEC61508. Behöver sannolikt förtydligas
4 (22) Samtliga krav som berör processer utanför programvaruprocessen (systemsäkerhetsoch ILS-processern har noterats som ej uppfyllda, då kartläggningen ej har behandlat dessa i detalj. 2.3.2 Allmänna intryck Allmänt sett visade kartläggningen på effektiviteten i att projektmässigt genomföra inventeringar av regelverk och handbokssystem. Projektarbetet gav som så ofta en tydlig målsättning och därmed en möjlighet att prioritera arbetet. I detta fall gav arbetet förutom ett mått på processtatus även ett stort utbyte som kompetenshöjare, inom området programvarusäkerhet. Metoden för genomförande, som baserades runt miniworkshops med hemarbete mellan tillfällena, visade sig vara såväl tidseffektiv, som kunskapsuppbyggande. Metoden kan sannolikt med fördel tillämpas inom andra intressanta områden, t ex analys- och designmetodik (jfr Sjöland & Thyselius och EMW:s studiecirklar inom området Patterns ), testning, etc. I detta fall förenklades dessutom arbetet ytterligare av att det, i handbokens krav, fanns en tydlig struktur att utgå ifrån vid instuderingen. 3 Inventering av H ProgSäk 3.1 Regelverk & verksamhetssystem Åtgärdsförslag rörande uppdatering/komplettering av brister i verksamhetssystemet har tagits fram enligt följande: 1. Projektledning följ upp att 12207:s krav på projektstyrning beaktas i samband med översyn av projektledningsprocessen. 2. Verifiering 2.1. Ställ krav på statisk analys i P08-2005, Implementera och enhetstesta 2.2. Utred process-/metod för felprediktering och beslut om testavslut 2.3. Ställ krav på användande av metriker testtäckning 2.4. Ställ krav på metriker för stoppkriteria för test 2.5. Ställ krav på graftest eller annan strukturell testteknik 3. Systemsäkerhetsanalys föreslå beaktande av H ProgSäk-krav i systemsäkerhetsprocessen, ställ krav på systemsäkerhetsplan för programvara 4. Programvaruverktyg 4.1. Ställ krav på systemsäkerhetsanalys av verktyg (se pkt 5) 4.2. Utarbeta instruktion för val, verifiering och hantering av kompilatorer
5 (22) 5. Återanvändning utarbeta instruktion för återanvändning 6. Riskreduktion föreslå beaktande av H ProgSäk-krav i systemsäkerhetsprocessen 7. Språk 7.1. Ställ krav på systemsäkerhetsanalys av språk (se pkt 5) 7.2. Utarbeta instruktion för val av språk 7.3. Ställ krav på kodningsföreskrift för ev assembler 7.4. Se över kodningsföreskrifter m a p ickedeterministiska konstruktioner 8. Ändringshantering ställ krav på systemsäkerhetsanalys vid ändringar (se pkt 5) 9. Dokumentation, handhavande och underhåll, föreslå beaktande av H ProgSäk i ILS-processen 10. Revisioner, hårdvaruutrustning utred hur versionsbyte av hårdvara hanteras. Fortsatt utredning krävs runt hur ovanstående förslag lämpligen förs in i verksamhetssystemet. Sannolikt sker detta lämpligast genom att tillföra krav (av allmän karaktär) i befintliga processbeskrivningar och instruktioner; i kombination med kompletterande instruktioner för säkerhetskritisk programvara. De senare kommer att utarbetas när projektbehov uppkommer. 3.2 Verktygsstöd 1. Programvaruverktyg 1.1. Ställ krav på systemsäkerhetsanalys av verktyg (se avsnitt 3.1, pkt 5) 1.2. Utarbeta instruktion för val, verifiering och hantering av kompilatorer 2. Inför verktygsstöd för kravspårning 3. Utred behov av verktygsstöd för testtäckning 3.3 Kompetensutveckling 1. Personalkvalifikationer/Resurshantering 1.1. Utarbeta process för kompetensförsörjning (t ex kompetensmatris) 1.2. Ställ krav på systemsäkerhetsplan för programvara (inkl personalkvalifikationskrav) 2. Genomför riktad utbildning inom system-/och programvarusäkerhet
6 (22) 4 Korsreferenslista Kravnr. i H ProgSäk Krit Rubrik i H ProgSäk VSdokument Förbättringsförslag Kravuppfyllnad 6.41K1 HML Personalkvalifikationer - Införa en kompetensmatris kompetens 6.41K2 HML Kunskapskrav ang säkra - Ta med i utbildningsplan system 6.41K3 H Minst två personer, grundlig - Ställ krav på systemsäkerhetsplan kännedom, för varje kritisk komponent för programvara 6.41K4 M Minst två personer, kännedom, - - - för varje kritisk komponent 6.41K5 HM Integratör god kännedom - - - 6.41K6 HML En ansvarig person/tilldelad - - - uppgift i produktionsprocessen 6.41K7 HML En person med ansvar för - - - 6.41K8. c) d) HML prog.säk.het vara utsedd Oberoende verifieringspersonal H: annat företag el. org. M: annat projekt L: annan konstruktör Oberoende person i testgrupp 6.421K1 HM L Grundkraven för projektplanering enl. kap 5 ska vara uppfyllda 6.421K2 HML För varje roll enl. 4.1 ska namn, kunskap, erfarenhet vara angivet innan akt. påbörjas P08-2006 P08-2009 P08-2010 - - Ja - Kräver mer analys tillförs förbättringsprojekt Projektstyrning Se även instruktion P08-3939 - Inför instruktion vad gäller projektplan vid säkerhetskritiska system - Ställ krav på programvarusäkerhetsplan 6.422K1 Systemsäkerhetsplanering, - ledning och uppföljning 6.423K1 HML Kvalitetsstyrning - grundkrav P12-0032 - Ja 6.5222K1 6.423K1 (Avvikelser hittas i internrevisioner) Ja 6.5222K2 HML Kvalitetsstyrning kvalitetssystemet (dvs hela VS)
7 (22) 6.424K1 6.5223K1 HML Kvalitetssäkring 12207 6.3: P08-2001 12207 6.4: P08-2003 P08-2005 P08-2006 P08-2009 P08-2010 P08-2329 P08-2001 stämmer hyfsat. Det saknas ett dokument som beskriver hur vi använder kvalitetssamordnare. - Ja 12207 6.5: Det saknas en instruktion som beskriver validering. (Är detta RTKP:s boll? Validering sker ju på färdig/komplett produkt, dvs efter att vi släppt ifrån oss programvaran.) 12207 6.6: process: P08-2001 projledning: saknas tekniskt: P08-2001 P08-2005 P08-2006 P08-2009 P08-2010 Processimplementering: Ok. Projektledningsgranskning: Saknas Teknisk granskning: Ok. 12207 6.7: Det saknas en instruktion för projektgenomgångar. 6.424K2 HML Kvalitetssäkring P08-2006 - Ja P08-2001 6.425K1 c) HML Konfigurationsstyrning All programvara Verktyg Dokumentation P08-2251 - Ja 6.43K1 HML Grundkrav för produktionsprocess enl. kap 5 6.43K2 H Systemsäkerhetsanalys på pgvprocessen 6.43K3 H Systemsäkerhetsanalysen skall dokumenteras 6.43K4 H Kompletterande säkerhetsåtgärder skall införas i pgvprocessen P08-2162 Ses över med avseende på 12207 - Kompletterande instruktion utarbetas - - - - - - 6.431K1 HML Grundkrav utvecklingsmodell P08-2162 - Ja
8 (22) 6.432K1 HML Grundkrav utvecklingsmetodik P08-2162 - Ja P08-2003 P08-2005 P08-2006 6.4321K1 HM Formella metoder - Kompletterande instruktion utarbetas 6.4321K2 HML Test i målmiljö P08-2006 - Ja 6.43221K1 HML Granskningar (manuella verifieringar) - - 6.43222K1 HML Statisk analys (källkodsverifiering) 6.43222K2 c) d) e) HML Statisk analys (källkodsverifiering) Data-, styr- och infoflöden Avsteg från kodstandard Avsteg från subset Källkodens komplexitet Semantisk analys där så är möjlig P08-2005 P08-2170 P08-2005 P08-2170 Bör kravsättas i P08-2005 Bör kravsättas i P08-2005 6.43224K1 H Objektkodsanalys P08-2170 - 6.43224K2 H Objektkodsanalys P08-2170 - 6.43225K1 HML Dynamisk analys (verifiering P08-2170 Införs helt eller delvis som allmänt via test) grundkrav krav i VS-instruktioner 6.43225K2 HML Dynamisk analys (verifiering P08-2170 - via test) säkerhetstest 6.43225K3 HML Dynamisk analys (verifiering P08-2170 - via test) testnivåer Test på systemnivå Test på integrationsnivå Test på enhetsnivå c) 6.43225K4 c) HML Dynamisk analys (verifiering via test) testfall Säkerhetskrav Hanterade risker Introduktion 6.43225K5 HM Dynamisk analys (verifiering via test) kodtäckning 6.43225K6 H Dynamisk analys (verifiering via test) kodtäckning 6.43225K7 H Dynamisk analys (verifiering via test) kodtäckning vid utnyttjande av generiska enheter 6.43225K8 HML Dynamisk analys (verifiering via test) kodtäckning i felhantering P08-2170 - P08-2170 - P08-2170 - P08-2170 - P08-2170 -
9 (22) 6.43225K9 HML Dynamisk analys (verifiering P08-2170 - via test) planering av integrationstest 6.43225K10 HML Dynamisk analys (verifiering P08-2170 - via test) kodtäckning i integrationstest 6.43225K11 HML Dynamisk analys (verifiering P08-2170 - via test) test med felaktiga indata 6.43225K12 HM Dynamisk analys (verifiering P08-2170 - via test) testkod 6.43225K13 HML Dynamisk analys (verifiering P08-2170 - via test) kontroll av driftläge 6.43225K14 HML Dynamisk analys (verifiering P08-2170 - via test) målmiljötest 6.43225K15 HM L Dynamisk analys (verifiering P08-2170 - via test) återställning efter test 6.43225K16 HML Dynamisk analys (verifiering P08-2170 - via test) återställning efter säkerhetsprov 6.43226K1 H Statisk felanalys P08-2006 - Felprediktering 6.43226K2 H Statisk felanalys P08-2006 - Felprediktering, beslutsunderlag för testslut 6.43227K1 HML Resursanalys minne P08-2006 - 6.43227K2 HML Resursanalys tid P08-2006 - 6.43227K3 HML Resursanalys realtid, worstcase P08-2006 - 6.43227K4 HML Resursanalys kompletterande P08-2006 - test 6.433K1 HML Systemsäkerhetsanalys på - - programvara 6.433K2 HML Systemsäkerhetsanalys på - - programvara ändringar 6.433K3 HML Systemsäkerhetsanalys på - - programvara livscykeln 6.433K4 HML Systemsäkerhetsanalys på - - programvara gränsytor 6.433K5 H Systemsäkerhetsanalys på - - programvara jfr med annan implementation än SW 6.433K6 HML Systemsäkerhetsanalys på programvara granskningar och säkerhetsgenomgångar - -
10 (22) 6.433K7 HM Systemsäkerhetsanalys på programvara spårbarhet mellan SW och identifierade riskkällor och vådahändelser 6.433K8 HML Systemsäkerhetsanalys på programvara kritikalitetsbedömning 6.433K9 H Systemsäkerhetsanalys på programvara identifiering av kritiska kärnor 6.433K10 HML Systemsäkerhetsanalys på programvara kritikalitetstilldelning 6.433K11 HML Systemsäkerhetsanalys på programvara kritikalitet hos indata-/styrkommandokälla 6.433K12 HML Systemsäkerhetsanalys på programvara sidoeffekter 6.433K13 HML Systemsäkerhetsanalys på programvara återkoppling till krav, konstruktion och verifiering 6.4411K1 HM Konfigurationshanteringssystem 6.4411K 2 HM Konfigurationshanteringssystem 6.4412K1 HML Felrapporteringssystem ett verktyg skall användas 6.4412K2 HML Felrapporteringssystem grundkrav 6.4412K3 HML Felrapporteringssystem krav på information 6.4412K4 HML Felrapporteringssystem uppföljning av korrigerande åtgärder 6.4413K1 H Kravspårningsverktyg verktyg skall användas 6.4413K2 H Kravspårningsverktyg krav på verktyget - - - - - - - - - - - - - - P08-2162 - Not: Metod kravställs i VS snarare än verktyg. P08-2162 - Not: Metod kravställs i VS snarare än verktyg. P08-2162 - Not: Metod kravställs i VS snarare än verktyg. P08-2162 - Not: Metod kravställs i VS snarare än verktyg. P08-2162 Kan detaljeras. Not: SDP föreskriver. P08-2162 Kan detaljeras. Not: SDP föreskriver. P08-2164 - Not: Metod kravställs snarare än verktyg. P08-2162 - Not: Regleras i SDP som föreskrivs i P08-2162, Utveckla programvaruenhet Ja Ja Ja Ja
11 (22) 6.442K1 HML Programvaruverktyg Systemsäkerhetskrav Ej hota systemsäkerheten Certifierad av ober. instans 6.442K2 H Programvaruverktyg drift av kritisk programvara 6.442K3 HML Programvaruverktyg Systemsäkerhetsanalys skall utföras 6.442K4 HML Programvaruverktyg införande av (skydds-)åtgärder 6.442K1 HML Formella verktyg krav på korrekthet i bevisverktyg 6.4422K1 H Kodgenereringssystem korrekthet i kodgenerering 6.4422K2 HM Kodgenereringssystem buglista 6.4422K3 H Kodgenereringssystem - buglista, verifiering av rättningar SDP -,Systemsäkerhetskritiska Not: Regleras i resp projekt tex i SDP som resultat av kundkrav. -,Systemsäkerhetskritiska -,Systemsäkerhetskritiska - - Not: Formella verktyg bör studeras för att avgöra användbarheten.,systemsäkerhetskritiska,systemsäkerhetskritiska,systemsäkerhetskritiska Ja Ja Ja
12 (22) 6.4422K4 HML Kodgenereringssystem utformning av språkkonstruktioner m a p ev kompilatorproblem 6.4422K5 HML Kodgenereringssystem endast validerade versioner, optioner etc skall användas 6.4422K6 HML Kodgenereringssystem omverifiering efter kompilatorbyte 6.4422K7 HM Kodgenereringssystem inga optimeringar får användas 6.4422K8 L Kodgenereringssystem verifiering av optimeringar 6.4422K9 H Kodgenereringssystem generiska enheter skall realiseras med macroexpansion (ej koddelning) 6.4422K10 H Kodgenereringssystem spårbarhet: Källkod objektkod,systemsäkerhetskritiska,systemsäkerhetskritiska,systemsäkerhetskritiska,systemsäkerhetskritiska Not: 901059, Utvecklingsmo dell,,systemsäkerhetskritiska,systemsäkerhetskritiska,systemsäkerhetskritiska
13 (22) 6.4422K11 ML Kodgenereringssystem icke spårbar källkod skall identifieras och verifieras 6.4423K1 HM Statiska och dynamiska analysverktyg krav på verktysgsstöd 6.4423K2 HM Statiska och dynamiska analysverktyg krav på testverktyg 6.4423K3 HML Statiska och dynamiska analysverktyg instrumentering får ej användas 6.443K1 HML Emulerad målmaskin krav på korrekt emulering 6.443K2 HML Emulerad målmaskin dokumentation av skillnader mellan emulator och målmaskin 6.443K3 HML Emulerad målmaskin risk för anpassning mot emulatorspecifika egenskaper skall analyseras 6.451K1 H Säkerhetskrav på tidigare utvecklad produkt vid kritkalitet H 6.451K2 c) ML Återanvändning krav på tidigare utvecklad produkt vid kritikalitet ML Skall ha använts tidigare Leverantörsbedömning Dokumentation 6.451K3 HML Återanvändning modifiering av produkt 6.451K4 HML Återanvändning produkter från olika underleverantörer P08-2005 P08-2329 P08-2005 P08-2329 P08-2005 P08-2329,Systemsäkerhetskritiska Statiskt analys bör kravställas i P08-2005, Implementera och enhetstesta Not: Krav ställs på verktyg snarare än metod Not: Krav ställs på verktyg snarare än metod,systemsäkerhetskritiska Kan förtydligas,systemsäkerhetskritiska,systemsäkerhetskritiska - Kompletterande instruktion utarbetas - Kompletterande instruktion utarbetas ev tillägg till utforma programvara P08-2162 Not: Krav för nyutveckling gäller Ja - Not: Är detta genomförbart? Jfr. OS, matematikpaket etc.
14 (22) 6.451K5 HML Återanvändning icke-kritiska delar skall isoleras från kritiska 6.451K6 HML Återanvändning krav på säkerhetsanalys 6.451K7 HML Återanvändning granskning av kravspecifikationer 6.451K8 HML Återanvändning rekommendationer för intergrationstest 6.451K9 HML Återanvändning rekommendationer för komponentprov/enhetstest 6.451K10 HM Återanvändning identifiering av slumrande kod 6.451K11 HM Återanvändning analys av interaktion mellan komponent och omgivning 6.451K12 HML Återanvändning programvaruskal 6.451K13 HML Återanvändning Specificering av programvaruskal 6.451K14 HML Återanvändning Ändringar i återanvänd komponent eller ny version av programvara som komunicerar med komponent Dokumentation av ändringar Uppdatering av c) systemsäkanalys d) Integrationstest e) Påverkan på systemsäkerheten Krav u 3.3.3.1, 4.5.2.12 6.4521K1 HML Grundkrav för specifikation av programvara 6.4521K2 H Spårbarhet mellan säkerhetskrav och källkod 6.4521K3 M Spårbarhet mellan säkerhetskrav och realiseringskomponent 6.4522K1 HML Programvaruakitektur/övergripande konstruktion 6.4523K1 HML Grundläggande konstruktionsprinciper 6.4523K2 HML Grundläggande konstruktionsprinciper 6.4523K3 HML Grundläggande konstruktionsprinciper - Kompletterande instruktion för återanvändning utarbetas - - - - - - - - - - - - - - - - - - - - - - - - - Kompletterande instruktion för återanvändning utarbetas - - Ja - - - - P08-2164 P08-2166 - - - - - - -
15 (22) 6.45241K1 HML Systemsäkerhetsinriktade, Allmänna principer enkel, testbar, deterministisk 6.45241K2 HML Systemsäkerhetsinriktade, Allmänna principer ingen extra funktionalitet 6.45241K3 HML Systemsäkerhetsinriktade, Allmänna principer planerade framtida ändringar 6.45241K4 HML Systemsäkerhetsinriktade, Allmänna principer prototyp 6.45241K5 HML Systemsäkerhetsinriktade, Allmänna principer kritisk enhet som egen CSCI 6.45241K6 HML Systemsäkerhetsinriktade, Allmänna principer kritikalitetsnivå per CSCI 6.45241K7 HM Systemsäkerhetsinriktade, Allmänna principer konflikter 6.45241K8 HML Systemsäkerhetsinriktade, Allmänna principer prioritering vid konflikter 6.45241K9 HML Systemsäkerhetsinriktade, Allmänna principer död kod 6.45241K10 HM Systemsäkerhetsinriktade, Allmänna principer uppdatering av säkerhetsanalys efter borttagning av död kod 6.45241K11 HML Systemsäkerhetsinriktade, Allmänna principer deaktiverad kod 6.45241K12 HM Systemsäkerhetsinriktade, Allmänna principer mellanformer av död/deaktiverad kod 6.45242K1 c) HML Riskreduktion risklista riskutredning risk-id i risklista handhavandedokumentation 6.45242K2 HM Riskreduktion varningsfunktioner P08-2005 - P08-2005 - P08-2005 - P08-2005 - P08-2005 - P08-2005 - P08-2005 - P08-2005 - Ja P08-2005 - Ja P08-2005 - Ja P08-2005 - Ja P08-2005 - Ja - - - - 6.45242K3 HML Riskreduktion enkelfel P08-2005 - programvara 6.45242K4 HML Riskreduktion enkelfel P08-2005 - 6.45242K5 HML Riskreduktion isolering mellan kritiska och okritiska delar P08-2005 -
16 (22) 6.45242K6 HML Riskreduktion P08-2005 - minnesseparation 6.45242K7 ML Riskreduktion separation P08-2005 - mellan övervakning och styrfunktioner 6.45242K8 H Riskreduktion fysisk P08-2005 - separation mellan övervakning och styrfunktioner 6.45242K9 HML Riskreduktion oberoende P08-2005 - 6.45243K1 HML Riskreduktion - - schemaläggning 6.45243K2 HML Riskreduktion - - minneshantering 6.45244K1 HML Defensiv programmering P08-2005 - felhantering 6.45244K2 HML Defensiv programmering P08-2005 - hantera kända kompilator-/ maskinvaruproblem 6.45244K3 HML Defensiv programmering icke P08-2005 - programvarubaserad teknik för t ex diversitet 6.45244K4 HML Defensiv programmering P08-2005 - kontsruktionsprinciper 6.45244K5 HML Defensiv programmering P08-2005 - hantering av data 6.45244K6 HML Defensiv programmering P08-2005 - hantering av data 6.45244K7 HML Defensiv programmering P08-2005 - tidsgränser för giltigher 6.45244K8 HML Defensiv programmering P08-2005 - automatisk inhibering av oavslutad transaktion 6.45244K9 HML Defensiv programmering P08-2005 - begränsning av antalet inhiberingar 6.45244K10 HML Defensiv programmering P08-2005 - funktionsövervakning av iaktiva kommunikationsvägar 6.45244K11 HML Defensiv programmering - P08-2005 - omsändning 6.45244K12 H Defensiv programmering P08-2005 - lagring av kritisk information 6.45245K1 HML Felhantering Felåterhämtning Feltolerans P08-2166 - 6.45245K2 HML Felhantering Felåterhämtning Feltolerans P08-2166 -
17 (22) 6.45245K3 HML Felhantering Felåterhämtning Feltolerans 6.45245K4 HML Felhantering Felåterhämtning Feltolerans 6.45245K5 HML Felhantering Felåterhämtning Feltolerans 6.45245K6 HM Felhantering Felåterhämtning Feltolerans 6.45245K7 HML Felhantering Felåterhämtning Feltolerans 6.45245K8 HML Felhantering Felåterhämtning Feltolerans P08-2166 P08-2166 P08-2166 P08-2166 P08-2166 P08-2166 - - - - - - 6.45245K9 HML Felhantering Felåterhämtning P08-2166 - Feltolerans 6.4525K1 HML Systemsäkerhetsanalys på valt I finns en hänvisning till Ja språk IEC 61508. 6.4525K2 Systemsäkerhetsanalys på valt I finns en hänvisning till Ja språk IEC 61508. Jag vet inte vad som exakt står i den. 6.4525K3 HML Deterministisk kända P08-2007 ok, övriga bör förtydligas. språkkonstruktioner P08-2005 P08-2007 6.4525K4 HML Modulariserbar inkapsling & - Ja skydd P08-2005 P08-2007 6.4525K5 H Spårbar förbud mot P08-2005 - Ja goto etc. P08-2007 6.4525K6 H Robust typdeklarationer P08-2005 - Ja P08-2007 6.4525K7 H Robust delade datastrukturer P08-2005 - Ja P08-2007 6.4525K8 H Högnivåspråk - Inför kravet i t ex 6.4525K9 H Språkets syntax formellt - Vad menas med formellt definierad definierad 6.4525K10 H ISO, ANSI, IEEE - Inför kravet i t ex 6.4525K11 M Övrig standardisering - Inför kravet i t ex 6.4525K12 HML Lågnivåspråk/Assembler - Inför kravet i t ex 6.4525K13 c) d) e) HML Lågnivåspråk/Assembler Små moduler Väl dokumenterad funktion Inkapsling Okomplicerad, strukturerad, analyserbar Konstruktions- /kodningsföreskrift - Inför kravet i t ex
18 (22) 6.4526K1 HML Språkrestriktioner skall fastställas 6.4526K2 HML Förbud mot icke - deterministiska språkkonstruktioner P08-2007 Det finns några restriktioner angivna, men de är ej uppdelade efter kritikalitet. Fler restriktioner behöver anges. - Inför kravet i t ex eller P08-2007 6.4526K3 HML Pekare P08-2007 Vad gäller pekare ok, tasks bör förtydligas. 6.4526K4 HML Garbage collection - Inför kravet i t ex eller P08-2007 6.4527K1 HML P08-2007 Komplettering behövs i P08-2007. c) d) e) Kodningsföreskrift Tillåtna/otillåtna konstruktioner Märkning/kommentarer/namngivning Minimering av komplexitet Restriktioner pga problem i kompliator/målmaskin etc Detaljerade regler för säker konstruktion i lågnivåspråk 6.4527K2 HML Kodningsföreskrift konstruktionsprinciper P08-2007 - Ja 6.4527K3 HML Kodningsföreskrift avsteg Tillämpningsföreskrift i resp projekt 6.4528K1 HML Snittet mot Start- och Initieringsdelar 6.4528K2 HM Snittet mot Start- och Initieringsdelar Not: Ligger i projektbibliotek, ej i VS,Systemsäkerhetskritiska,Systemsäkerhetskritiska Ja
19 (22) 6.4528K3-5 HML Snittet mot Start- och Initieringsdelar 6.4528K6-11 HML 6.4528K12-14 HML Snittet mot Operatör: Inmatning Snittet mot Operatör: Utmatning 6.4528K15 HM Snittet mot Operatör: Utmatning 6.4528K16-18 HML Snittet mot Operatör: Utmatning,Systemsäkerhetskritiska,Systemsäkerhetskritiska,Systemsäkerhetskritiska,Systemsäkerhetskritiska,Systemsäkerhetskritiska
20 (22) 6.4528K19-20 6.4528K21-22 HM HML Snittet mot Operatör: Utmatning Snittet mot Operatör: Utmatning 6.4528K23 HM Snittet mot Operatör: Utmatning 6.4528K24 M Snittet mot Operatör: Utmatning 6.4528K25 H Snittet mot In-och Utenheter,Systemsäkerhetskritiska N Not 1: Funktionskrav definieras för,systemsäkerhetskritiska,systemsäkerhetskritiska,systemsäkerhetskritiska datorsystem, kapitel 6.4 referera r,systemsäkerhetskritiska
21 (22) 6.4528K26 HML Snittet mot Maskinvara 6.4528K27 HML Snittet mot Maskinvara 6.45210K1-4 HML Testprogramvara för drift och underhåll,systemsäkerhetskritiska,systemsäkerhetskritiska,systemsäkerhetskritiska 6.45212K1 HML Ändringar under produktion P08-3939 Uppdatera P08-3939 eller inför ny instruktion 6.45213K1 HML Grundkrav för dok enl. kap. 5 - - Ja 6.45213K2 HML Beställaren kan begära relevant - Kontraktsfråga (SOW) dokumentation 6.45213K3 HM Dok. av kritisk konfig.enhet - Uppdatera P08-3939 eller inför ny ned till minsta ändringsenhet instruktion 6.45213K4 L Dok. av kritisk konfig.enhet - Uppdatera P08-3939 eller inför ny instruktion 6.452131K1 HML Vad utv.dok ska beskriva P08-3939 Uppdatera P08-3939 eller inför ny instruktion 6.452132K1 HML Handhavande dokumentation - Uppdatera P08-3939 eller inför ny instruktion 6.452133K1 Underhållsdokumentation - Inför i Förvaltningsmodell/instruktion 6.452134K1 Dokumentationslista - Inför instruktion vad gäller projektplan vid säkerhetskritiska system 6.45212K1 HML Ändringar under produktion P08-3939 Uppdatera P08-3939 eller inför ny instruktion 6.453K1 HML Måldatormiljö övervakning, felhantering och fellista Systemsäkerhetskritiska datorsystem Ja
22 (22) 6.4531K1 HML OS/Runtime krav på - - resurshantering 6.4531K2 HML OS/Runtime verifiering - Kompletterande instruktion utarbetas 6.4531K3 HML OS/Runtime krav på - - - verifieringsprocess 6.4531K4 HML OS/Runtime blockering av - - - primitiver 6.4531K5 HML OS/Runtime grundkrav Systemsäkerhetskritiska datorsystem 6.4531K6 c) HML OS/Runtime isolerad exekvering HW-åtkomst endast via kärna Skydd för kärnan Minimal funktionalitet i kärnan - - 6.4532K1 HML Revisioner, hårdvaruutrustning - Kompletterande instruktion utarbetas <1> Specifikationen för Teknikprov P12, KP302009, Specifikation prov H progsäk <2> Resultat från tidigare kartläggning, RUP-00-096, Fortsatt studie av regelverk för säkerhetskritisk pgv