1 (5) REGELVERK & HANDBÖCKER Innehåll sid. Uppdateringar/kompletteringar 2 Nyskrivning av rutiner 4 Gränsytan mellan systemsäkerhet och programvarusäkerhet 5
2 (5) Uppdateringar/kompletteringar Software Development Handbook 1: Methods and Guidelines <KS 0402.5000> Software Development Handbook 2: Standard specific documents < KS 0402.5001> 0402.5000/003 Software Development Process - Method - Roll/ansvar för - kritiska applikationer (minst 2) - programvarusäkerhet inklusive kopplingen till system - CM - Kunskap/kompetens - säkerhetsanalys - framtagning av säkerhetskritiska applikationer 0402.5000/011 Project Planning - Guideline Komplettera med safety under 'Planning Objective' och 'Planning Outcome'. Komplettera med krav på validerad kompilator för säkerhetskritiska applikationer under 'Equipment and Facilities'. Komplettera med referens till programvarusäkerhetsplan. 0402.5000/012 Test Planning Method Komplettera kapitel 2 'Test levels, tests and test classes ' med - safety class - testgrupp för säkerhetstest skall ha minst en person, som ej deltagit i utvecklingen av systemet - testplaner och testprocedurer skall inkludera aspekter på programvarusäkerhet. 0402.5000/014 Risk Analysis - Method Denna Riskanalysinstruktion gäller projektrisker, förtydliga detta. Eventuellt ändra rubrik. Komplettera checklistan med safetyrisker (ansvar, kunskap, minst två personer, etc.) 0402.5000/031 Software Requirement Analysis - Method Komplettera kapitel 5 'Categorizing requirements' med egen rubrik för safety requirements. Förtydliga resursanalyskraven (H ProgSäk 4.3.2.7.7). Komplettera kapitel 3 'Properties' med verifierbarhet. Referera till ISO/IEC 9126. 0402.5000/041 Software Design - Method Komplettera kapitel 6 'Equipment' med säkerhetskrav för programutvecklingsverktyg. Verktyg är att betrakta som COTS-programvara. Se rekommendationer under avsnitt 4.5.1 i H ProgSäk. Komplettera med krav på validerad kompilator {H}, samt krav på lista över kompilatorproblem. Komplettera med krav på korrekthet hos formella verktyg.
3 (5) 0402.5000/053 Informal Tests Method Komplettera kapitel 4.4 'Test requirements' med gränsvärdestester. Komplettera 'Form for static test' med analysens omfattning avseende källkodens kritiska data-, styroch informationsflöden och källkodens komplexitet. Komplettera kapitel 4.2 'Dynamic test' och kapitel 5 'Integration and test' med referens till säkerhetsgenomgångar på systemnivå där säkerhetstester skall presenteras. Komplettera också med att valda testfall skall verifiera att - programvarans samtliga säkerhetskrav är uppfyllda, - programvarusystemet hanterar identifierade risker på ett säkert sätt - programvarusystemet inte initierar säkerhetsrisker. Ev. förtydliga ytterligare enligt övriga krav vid test av kritiska programvarudelar och kommunikationsvägar (H ProgSäk 4.3.2.2.5) Förtydliga att resursanalyserna skall kompletteras med test i målmiljö (H ProgSäk 4.3.2.7.7). Komplettera regressionstester i kapitel 5.2 'Integration test' med regressionstester safety. Komplettera kapitel 5.3.2 'Test responsibilities' med krav på ansvar för programvarusäkerhet. Komplettera kapitel 5.3.3 'Test classes' med Safety tester. Verktyg skall användas för statisk och dynamisk analys {HM}. Komplettera med tester som kan generera säkerhetskritiska betingelser. Komplettera med krav om emulator används: korrekt, dokumentera skillnader, analysera egenskaper (H ProgSäk 4.4.3). 0402.5000/061 Formal Tests Method Komplettera kapitel 2.2 'Activities' med verifiering av att safety requirements identifierats. 0402.5000/101-3 Software Configuration Management CM-instruktionerna otydliga med vad som ska ingå i CM hantering. Förtydliga med lista. Komplettera med att all access till safety-critical sw ska kontrolleras 0402.5001/011 Software Development Plan - Template Uppdatera mallen enligt MIL-STD-498, dvs. lägg in hela mallen enligt standarden med följande tillägg: - Under 'Handling of critical requirements', Safety assurance, ska strategin för software safety beskrivas. Strategin ska inkludera software safety program, som ska integreras med den övergripande systemsäkerhetsplanen. - Under 'Project Resources', Personnel resources, ska kraven på ansvar och kunskap/kompetens för säkerhetskritiska applikationer in (H ProgSäk 4.1). - Under 'Project Resources', Personnel resources, ska kraven på ansvar för programvarusäkerhet in. 0402.5001/013 Software Development Plan - Checklist Uppdatera checklista SDP enligt uppdaterad 0402.50001/011 Software Development Plan - Template. Alternativt låt checklistan utgå. 0402.5001/031 Software Requirement Specification - Template Uppdatera mallen enligt MIL-STD-498.
4 (5) Nyskrivning av rutiner 1. Planering av programvarans säkerhetsarbete 2. Säkerhetsanalys av programvara 3. Framtagning av programvarusäkerhetsplan
5 (5) Gränsytan mellan systemsäkerhet och programvarusäkerhet En del brister i kravuppfyllnad mot H ProgSäk kan hänföras till att gränsytorna mellan system och programvara respektive systemsäkerhet och programvarusäkerhet är oklara, ej dokumenterade eller bristfälligt dokumenterade. I detta förslag finns flertalet av dessa brister identifierade tillsammans med förslag till åtgärd. Åtgärder behövs i många fall både på system- och programvarusidan. - Programutvecklingshandboken ska kompletteras med att person med ansvar för programvarusäkerhet i projektet skall vara utsedd {HML}. - Rutin för systemsäkerhet ska ha referens till programutvecklingshandboken. - Beskrivning av gränsytan mellan programvarusäkerhetsansvarig och systemsäkerhetsansvarig. - Krav på programvarusäkerhetsplan (4.2.2). Kan ingå i SSPP eller refereras från denna. Det ska framgå av mall SSPP att programvarusäkerhetsplanering ingår. (3.4.1) Ur denna skall framgå vilka relationer som föreligger mellan systemsäkerhetsanalyser för system och för programvara samt för programutvecklingsarbetet. Speciell uppmärksamhet skall riktas mot hur säkerhetskrav genereras, implementeras, spåras och verifieras. - Säkerhetstest, som verifierar säkerhetskraven, skall planeras, utföras, granskas samt presenteras under säkerhetsgenomgångar på systemnivå {HML} (4.3.2.2.5). Komplettera både programutvecklingshandbok och systemsäkerhetsrutiner. - Säkerhetsanalys skall utföras på programvara och baseras på resultat från systemnivå {HML}.I SDP identifieras säkerhetskritiska CSCI'er (baserat på resultat från systemnivå). Komplettera instruktion. - Ändringar i säkerhetsanalyser på systemnivå, skall föras ned till motsvarande analyser på programvarunivå {HML}. Finns ej i någon instruktion. - Analysresultaten skall presenteras vid planerade granskningar av programvaran (se nya rutiner) samt vid säkerhetsgenomgångar på systemnivå (komplettera instruktioner programvara och systemsäkerhet) {HML}. - Spårbarhet mellan programvaran samt systemets identifierade riskkällor och vådahändelser skall föreligga {HM}. Komplettera instruktioner systemsäkerhet. Spårbarhet inom programvara samt till systemnivå ok. - Förekomst av sidoeffekter och konsekvenser från andra delar än de kritiska skall utredas under säkerhetsanalyserna och elimineras {HML}. - SSWG. Komplettera instruktioner.