UKT Mari F. Persson 040-348372 1 (7) Korsreferenslista H ProgSäk kap 4.1-4.4 - KAB Software Development Handbook Kravnr H ProgSäk Rubrik i H ProgSäk Referens i KAB Software Development Handbook Åtgärdsförslag (Siffror = kravnr i H ProgSäk) Kravupp fyllnad 4.1 Personalkvalifikationer 0402.5000/011:4.2.1 0402.5000/003:4 0402.5000/014 0402.5001/011 4.2 Styrprocesser 4.2.1 Projektplanering, -ledning 0402.5001/011 och -uppföljning 0402.5001/013 4.2.2 Systemsäkerhetsplanering 0402.5001/011 0402.5000/011:2 & 3 Komplettera med ansvar samt kunskap för kritiska applikationer (2, 4, (5), 7, 8d). Uppdatera SDP-mall. Komplettera SDP-mall enligt MIL- STD-498 med ansvar för programvarusäkerhet. Uppdatera checklista, SDP Komplettera SDP-mall enligt MIL- STD-498 med referens till programvarusäkerhetsplan. Antingen komplettera guidelines med planering av programvarans säkerhetsarbete eller skriva separat instruktion 4.2.3 Kvalitetsstyrning 0402.5000/002:2-4.2.4 Kvalitetssäkring Instruktioner för Analys, Review och Test Komplettera med verifiering krav, design, kod m.a.p. safety (i.a.) 4.2.5 Konfigurationsstyrning 0402.5000/003 0402.5000/022 0402.5000/081 0402.5000/101 0402.5000/102 0402.5000/103 0402.5001/011 0402.5001/013 Komplettera m.a.p. CM roll All access till safety-critical sw ska kontrolleras. CM-instruktionerna otydliga med vad som ska ingå i CM hantering. Komplettera med lista. SDP. 4.3 Produktionsprocess 0402.5000/011 Proj Plan 0402.5000/012:2 Test Plan 0402.5000/031 SRA 0402.5000/041-042 Design 0402.5000/051-052 kodning 0402.5000/053:4.4 Inf.test 0402.5000/061 Test 0402.5000/071 Delivery 4.3.1 Utvecklingsmodell 0402/5000/003 Software development process Uppdatera checklista, SDP. Ref. programvarusäkerhetsplan. Komplettera med safety class Ref. ISO/IEC 9126 Komplettera med gränsvärdestester Uppfyllt
UKT Mari F. Persson 040-348372 2 (7) 4.3.2 Utvecklingsmetodik 0402/5000/003 SW dev. pr. 0402.5000/031 SRA 0402.5000/041-042 Design 0402.5000/051-052 kodning 0402.5000/053:4.4 Inf.test 0402.5000/061 Test 0402.5000/071 Delivery 4.3.2.1 Formella metoder Instruktioner för kravspecificering och verifiering 4.3.2.2 Verifieringar :1 Granskningar 0402.5000/091 Evaluations & Reviews Uppfyllt Formella metoder för specificering och verifiering skall övervägas {HM}. Krav på oberoende granskningar av dokument, ok. :2 Statisk analys 0402.5000/053 Informal tests 2. Komplettera "Form for static test" med analysens omfattning a) och d). :3 Beteendeanalys - Tillståndsmaskiner används. Bra vid riskkälleanalys. :4 Objektanalys - Någon kontroll av överföringen till objektkod gör vi inte. Om vår kompilator är formellt specificerad och verifierad för aktuell plattform, så uppfyller vi kravet. Endast {H} :5 Dynamisk analys 0402.5000/053 Informal tests Komplettera dynamiska tester och integrationstester med spec. 2 och 4. 14 och 16 är delvis motstridiga? :6 Statistisk felanalys - Denna tillförlitlighetsteknik har vi inte använt oss av. Kan vara en möjlighet för Stirling beroende på kritikalitetsklassificering. :7 Resursanalys 0402.5000/053 Informal tests 4.3.3 Säkerhetsanalys, programvara 0402.5000/031 SRA method 0402.5001/031 SRS 0402.5000/103 SW Reg. System 4.4.1.2 Felrapporteringssystem 0402.5000/081 Change Management - Method 4.4.1.3 Kravspårningsverktyg 0402.5000/031 SRA 0402.5000/041 SW Design 0402.5001/061 STD Det nämns en del om timing troubles, loads och data storage; men luddigt. Förtydliga. Här nämns kraven storage spare capacity, priority, timing requirements, etc. Resurskrav ställs i SRS. Se också SRS_498 3.2.x. Uppdatera SRS enligt 498. - Ta fram instruktion för säkerhetsanalys av programvara. Komplettera instruktioner på systemnivå med programvara, samt med hänvisningar. Verktyg för konfigurationshantering är ett krav {HM} SPCR-databasen är vårt verktyg. Vi har kravspårning, men den sker manuellt. Verktyg är krav för {H}. Rekommendation: Anskaffning av kravspårningsverktyg. 4.4.2 Programvaruverktyg 0402.5000/041 SW Design Komplettera instruktion med krav. Verktyg = COTS. Se 4.5.1 Nej Nej - 4.4 Produktionsmiljö 4.4.1 Stödverktyg 4.4.1.1 Konfigurationshanteringssystem
UKT Mari F. Persson 040-348372 3 (7) 4.4.2.1 Formella verktyg 0402.5000/041 SW Design Vi har idag inga formella verktyg. Men komplettera instruktion, för framtida behov. 4.4.2.2 Kodgenereringssystem 0402.5000/011 Project Planning 0402.5000/041 SW Design 0402.5000/012 Test planning 0402.5000/053 Inf tests 4.4.2.3 Statiska och dynamiska analysverktyg Komplettera med krav på validerad kompilator {H} (Ada ok), samt lista över kompilatorproblem. Komplettera med regressionstester, safety, vid nya versioner. 0402.5000/053 Inf tests Verktyg skall användas för statisk och dynamisk analys {HM}. Komplettera instr med tester som kan generera säkerhetskritiska betingelser 4.4.3 Emulerad målmaskin 0402.5000/053 Inf tests Komplettera med krav om emulator används: korrekt, dokumentera skillnader, analysera egenskaper. tillämp - bart
4 (7) Korsreferenslista H ProgSäk kap 4.5 - KAB Software Development Handbook Kravnr H ProgSäk 4.5 Produkt Rubrik i H ProgSäk 4.5.1 Standardprodukter - Återanvända komponenter hyllvaror 4.5.2 Nyutvecklad programvara Åtgärdsförslag (Siffror = kravnr i H ProgSäk) Om inget är angivet nedan så gäller det alla kritikalitets klasser: {H,M,L} 1.{H} Innebär att man inte kan använda en COTS-komponent för en H-klassad applikation. 2. {ML} Produktverifieringar från leverantör. Kompl HB 3. Modifiering. Appliceras på egenutveckl. Kompl HB 4. Produkter från olika ulev. Kompl HB 5. Isolering tolkar vi som att icke-kritisk och kritisk skall ingå i olika moduler och inte ha gemensamt minne. Kompl HB 6. Genomförd säkerhetsanalys. Kompl HB 7. {HM}Granskning av kravspec och prov av produkt. Kompl HB 8. Integrationstest. Kompl HB 9. Komponentprov med användningsprofil. Kompl HB 10. {HM} Slumrande kod. Kompl HB för ÅA komp. 11. {HM} Möjliga interaktioner mellan hyllprodukt och system skall utredas. Kompl HB 12. Okomplicerat programvaruskal. Kompl HB 13. Krav på skalets funktionalitet. Kompl HB 14. Ny version. Integrationstest. Kompl HB 41: Allmänna produktegenskaper som hindrar ÅA för {HM}: Ställer krav så att vi i praktiken inte kan använda COTS, däremot återanvända egenutvecklade komponenter. Kompl HB Allmänna produktegenskaper, underbygger krav enl 4.5.1 bl.a. certifiering. Kompl HB 4.5.2.1 Specifikation 1. Grundkrav enl.kap 5. 2.{H} Krav på spårbarhet <=>kod gäller båda riktningar. KAB kommentar: Detta måste gälla till den lägsta nivå som specificeras, såsom en procedur inom en realiserings-komponent 3.{M} Krav på spårbarhet <=>realiseringskomponent gäller båda riktningar. 4.5.2.2 Programvaruarkitektur 1. Säkerhetsinriktad arkitektur. Dålig kunskap inom området. Behov av utbildning. Kravuppfyllnad för ÅA. för hyllvaror Nej
5 (7) 4.5.2.3 Grundläggande konstruktionsprinciper 1. OK 2. Strategi för felupptäckt, feltolerans, felsäkerhet. Exception i Ada hanterar felupptäckt. Kompl HB 3. Konstruktionsbeslut dokumenteras. Kräver arbete att uppfylla. Nej 4.5.2.4 Säkerhetsinriktade konstruktionsprinciper :1 Allmänna principer 1. Komp l HB 2. Kompl HB 3. Kompl HB 4. Kompl HB 5. Kompl HB 6. Kompl HB 7.{HM}. Information i konflikt. Kompl HB 8. Kompl HB 9. Kompl HB 10.{HM} Eliminering av död kod, uppdatera säkerhetsanalys. Kompl HB 11. oavsiktlig aktivering. Kompl HB 12.{HM} Mellanformer av död, deaktiverad resp aktiv skall elimineras, säkerhetsanalys uppdateras.. Kompl HB :2 Riskreduktion 1. Kompl HB 2. Kompl HB 3. Kompl HB 4. Kompl HB. Behov av utbildning i Felträdsanalys 5. Kompl HB 6. Kompl HB 7. {ML}Kompl HB. 8. {H} Kompl HB. 9 Nej, på kravet på att oberoende skall styrkas :3 Resurs- och tidshantering (realtid) :4 Defensiv programmering :5 Felhantering - återhämtning -tolerans Ställer krav på operativsystem avseende tidsallokering och minnesallokering. Kan ej tillämpas generellt, eftersom det kräver ingående insyn i operativsystemet, vilket vi normalt inte har gått in i. Komplettera HB för tidskritiska applikationer 1.Klaras genom Exception i Ada. 2-11. Kompl HB. Pkt 7 kan vara krav på Timeout i databusskommunikation 12.{H}. Oberoende media. Nej. tillämpbart. Kommentar: Man måste definiera vad som är ett Säkert resp. Osäkert tillstånd. 1-9. Kan ingå i den säkerhetsanalys, som är underlag för ett säkerhetsutlåtande. Kompl HB, som en Rekommendation
6 (7) 4.5.2.5 Språk och språkkonstruktioner 1. Säkerhetsanalys på språk. Information inhämtas från andra bedömare. 2. Språkkonstruktioner analyseras. Se pkt 1. 3. Begränsning av språkkonstruktioner., kompl HB (Detaljinstruktion finns i 4.5.2.6:1) 4. Inkapsling., kompl HB 5.{H} Spårbarhet., kompl HB 6. Robusthet, typdeklaration., kompl HB 7. Robusthet, delade datastrukturer., kompl HB 8. {H} Högnivåspråk., kompl HB 9. {H} Syntax.. OK för Ada., kompl HB 10.Standardisering {H}, kompl HB 11.Standardisering {M}, kompl HB 12. Villkor för lågnivåspråk., kompl HB 13. Konstruktionsprincip lågnivåspråk., kompl HB 4.5.2.6 Språkrestriktioner Allmän text om Ada95, C++ och C. 1. Subset av språkkonstruktioner., kompl HB 2. Samma som pkt 3 ovan 3. Statiska pekare och processer., kompl HB 4. Garbage collection., kompl HB 4.5.2.7 Kodningsföreskrift 1. Vad en kodningsföreskrift ska innehålla., kompl HB 2. Hänvisning till 4.5.2.2. 3. Avsteg skall dokumenteras., kompl HB Kan införas i befintlig Kodningsföreskrift för Ada, 0402.5000/051 4.5.2.8 Gränsytor :1-5 Snitt mot Start- och Inititieringsdelar :6-11 Snitt mot Operatör, inmatning : 12-24 Snitt mot Operatör, utmatning 1. Säkert tillstånd under uppstart., kompl HB 2. Kraftsättning. Vi uppfattar detta som ett krav på systemnivå. tillämpbart. 3. Oavsiktliga startkommandon., kompl HB 4. Vi uppfattar detta som ett krav på systemnivå. tillämpbart. 5. Återgång efter nedstängning., kompl HB 6. Kontroll av inmatning., kompl HB 7. Inmatning kritisk för systemsäkerhet., kompl HB 8. Osäkra tillstånd., kompl HB 9. Minst två steg., kompl HB 10. Inga genvägar., kompl HB 11. Säkerhetskritiskt larm. Kräver indelning av larm., kompl HB 12. Info skall vara klar, konsis, otvetydig., kompl HB 13. Tillräckligt beslutsunderlag., kompl HB 14. Aktuell systemmod., kompl HB 15. {HM} Källa, ålder osv. på info. Endast larm. Inga generella kontraktskrav på t.ex. giltighetstid finns idag. 16. Säkerhetskritiskt intervall., kompl HB. 17. Osäkert tillstånd., kompl HB 18. Larmklasser., kompl HB 19. {HM} Motstridig info., kompl HB 20. {HM} System- eller operatör prioritet., komp l HB 21. Effekt av vidtagna åtgärder., kompl HB 22. Info om degraderad funktion., kompl HB 23. {HM} Loggning av operatörsåtgärder. Nej. Se pkt 15. 24. {M} Loggning av presenterad info. Nej. Se pkt 15.
7 (7) :25 Snitt mot In-och 25. {H} Dubblering av enheter. Utenheter Är egentligen systemsäkerhet. :26-27 Snitt mot Maskinvara 26. Felpropagering HW till SW. Krav på maskinvara. tillämpbart. 27. Hantera fel med ursprung i HW., kompl HB tillämpbart 4.5.2.9 Detaljerad konstruktion Endast allmän text., kompl HB 4.5.2.10 Testprogramvara för drift och underhåll 1. BIT skall finnas., kompl HB 2. Aktivering av BIT., kompl HB 3. BIT är lika säkerhetskritisk som appl., kompl HB 4. Säkerhetsspärrar., kompl HB 4.5.2.11 Implementation/Kod Endast allmän text. Hänvisar till ovanstående konstruktionsprinciper., kompl HB 4.5.2.12 Ändringar under produktion 4.5.2.13 Dokumentation / Information Behandlar både egenutvecklad SW och COTS. För in pkt 1a-1f som rekommendation i HB Hänvisar till kap 5 Grundkrav 1. Grundkrav. OK 2. Uppfylls, men är ett projektspecifikt krav. Tas ej in i HB 3. {HM} dokumentation ner till minsta ändringsenhet., kompl HB 4. {L} dokumentation allmänt., kompl HB :1 Utvecklingsdokument 1., kompl HB :2 Handhavande-dok 1. Operatörsmanual i enlighet med projektkrav tas fram. Vänder sig till en kategori, nämligen operatörer. :3 Underhållsdok 1a. Krav på kompetens och utbildn. 1b. Referens till krit del i utv-dok. tillämpbart :4 Dokumentationslista Stor tabell med de dokument som skall finnas, där man hänvisar till andra kapitel, både 4.5 och andra. Felrapporteringssystem Loggar Programvarusäkerhetsplan Analysrapporter, 8 st Konstruktionsprinciper Kodningsföreskrift Dokumentation av Utveckling, Handhavande, Underhåll 4.5.3 Måldatormiljö Känns allmänt svårt att gå in i. Det som står är säkert bra. Vi har inte hållit på med run-time system på den nivå som står i texten. Se även 4.5.2.4.3 4.5.3.1 Operativ- och run-time system 1.predikterbart resursutnyttjande., kompl HB 2.säkerhetsanalyser med runtime integrerad i applikationen., kompl HB 3.verifiering med stringens motsvarande högsta kritikalitet., kompl HB 4.blockering av primitiver som leder till osäkra konstruktioner., kompl HB Pkt 5 och 6 gäller om olika kritikalitet körs på samma plattform 5.grundkrav enl kap 5., kompl HB 6.stöd för isolerad exekvering., kompl HB 4.5.3.2 Maskinutrustning 1. Ny version av HW. Info om ändring och test av nya HW skall tillställas SW-utvecklare., kompl HB tillämpbart