Svenska

Välj språk

EnglishDeutschFrançaisрусский한국의ItaliaNederlandespañolPortuguêsMagyarországDanskΕλλάδαpolskiPilipinoČeštinaTiếng ViệtMelayuMaoriSvenskaSuomiУкраїнаromânescSlovenija
Hem > Nyheter > Kompilerverktygskvalificering för funktionell säkerhet och cybersäkerhet

Kompilerverktygskvalificering för funktionell säkerhet och cybersäkerhet

År 2020 släppte FN: s ekonomiska kommission för Europa förordningen om enhetliga bestämmelser om godkännande av fordon med avseende på cybersecurity och cybersecurity management -system, även känt som WP.29.

I EU, Japan, Korea och Storbritannien införlivas denna förordning i lagstiftning för godkännande av fordonstyp, vilket gör efterlevnad av cybersecurity som inte förhandlingsbar för att säkerställa marknadstillträde.

Även om WP.29 inte nämner ISO/SAE 21434: 2021 vägfordon -cybersäkerhetsteknisk standard, förstås att om en OEM och dess leveranskedja kan visa överensstämmelse med denna standard, kan den efterlevnaden användas för att visa överensstämmelse med WP.29 Reglering. Att visa överensstämmelse med ISO -cybersäkerhetsstandarden bör skydda OEM -tillverkare och deras leverantörer från ansvar.




Kompilatorkvalifikation

ISO 26262 Standard ägnar ett kapitel till kriterier för att bestämma den erforderliga förtroendet för ett programverktyg och tillhandahåller metoder för att kvalificera verktyget för att skapa bevis för att det är lämpligt att användas för funktionell säkerhetsrelaterad mjukvaruutveckling.

Fyra metoder kvalificerar ett mjukvaruverktyg: ökat förtroende från användning; utvärdering av utvecklingsprocessen; validering av programvaruverktyget; och utveckling i enlighet med en säkerhetsstandard.

För högre fordonssäkerhetsintegritetsnivåer (ASIL) är endast de två senare metoderna lämpliga. Verktygsvalidering innebär att använda åtgärder för att bevisa att programvaruverktyget uppfyller de angivna kraven för dess syfte.

Två olika tillvägagångssätt används för att uppfylla ISO 26262 -valideringskraven. Vissa kompilatorleverantörer utför verktygsvalideringen internt och bjuder in ett överensstämmelsebedömningsorgan för att intyga att verktyget och dess säkerhetsdokumentation är lämpliga för syftet. Kunden får en certifierad kompilatorverktygssats och behöver endast tillämpa riktlinjerna från säkerhetshandboken för att visa att användningsfallet är förenligt med ett kvalificerat användningsfall. Andra leverantörer erbjuder en certifierbar (kontra certifierad) kompilatorverktygset plus en verktygskvalifikationsmetodik med stödverktyg och dokumentation.

Verktygskvalifikationsmetodiken är generellt certifierad och kunden måste utföra verktygskvalifikation, som kan sammanfattas som:

* Ange användningsfallet för att definiera de krav som ska uppfyllas av verktyget
* Välja lämpliga tester för att verifiera dessa krav
* Utföra testerna och analysera testresultaten
* Generera säkerhetsdokumentationen och tillämpa vägledningen från säkerhetsdokumenten.
Det finns dolda kostnader med detta tillvägagångssätt, till exempel att lära sig kvalifikationsmetodiken och tillhörande verktyg, licensiera de nödvändiga testens sviter, utföra verktygsvalideringsprocessen, interagera med certifikatet och slutligen vad man ska göra om tester misslyckas.

Kompilatorkvalifikation

En kompilator kan ändra (optimera) beteendet hos ett program på sätt som programmeraren inte förutspådde. Programvaruutvecklarens strukturella avsikt får inte visas exakt i den slutliga representationen av källprogrammet och kompilatorn kan påverka programvarans säkerhet.

Till skillnad från ISO Functional Safety (FUSA) -standard anger inte ISO Cybersecurity Standard (ISO 21434 Avsnitt 5.4.7 Verktygshantering) verktygskvalificeringskrav. Kriterierna för att bestämma den erforderliga förtroendet för en kompilatorverktygssats för utveckling av cybersecurity -relaterad programvara är okända och ingen metod anges för att visa att cybersäkerhetsrelaterade kriterier har uppfyllts.

ISO -standarden innehåller referenser till ISO -funktionell säkerhetsstandard. Den beprövade verktygsvalideringsmetoden i ISO 26262 -standarden är lämplig för att kvalificera en kompilatorverktygssats som används vid utvecklingen av en Cybersecurity Regulation Compliant -programvara. För att tillämpa denna metod måste verktygsvalideringskriterierna för utveckling av cybersecurity-relaterad programvara upprättas.

Verktygsvalidering

I analogt med valideringskriterierna för funktionell säkerhet kan kriterierna för verktygsvalidering för cybersäkerhet specificeras som åtgärder för att ge bevis på att programvaruverktyget uppfyller de angivna cybersäkerhetskraven.

Cybersecurity -riskerna som kan införas av programvaruverktyget och deras motsvarande beteende ska analyseras med information om möjliga konsekvenser och med åtgärder för att undvika eller upptäcka dem.

Reaktionen av programvaruverktyget på anomala driftsförhållanden ska också undersökas.

Mission Assurance Engineering (MAE) -processen som utvecklats av National Cyber ​​Security FFRDC kan användas för att specificera cybersecurity -kraven i kompilatorns verktygssats. Denna process är kompatibel med ISO 21434 Kapitel 15 Hotanalys och riskbedömningsmetoder. Om MAE -processen utförs av verktygsleverantören och resultaten beskrivs i säkerhets- och cybersecurity -dokumentation, eliminerar detta behovet av att verktygsanvändaren utförs en verktygsvalidering.

Verktygsanvändaren måste bedöma den återstående risken i samband med det specifika användningsfallet som återstår efter tillämpningen av riktlinjerna.

Verktygsleverantören måste analysera reaktionen från programvaruverktyget på anomala driftsförhållanden med MAE -processen. Resultaten översätts till riktlinjer och ingår i verktygens säkerhets- och cybersecurity -manual. Verktygsanvändaren måste implementera de angivna riktlinjerna och bedöma den återstående risken för ett användningsfall.

MAE -processen (figur 1) tillhandahåller en analytisk strategi för att identifiera de cybertillgångar som är mest kritiska för uppdragets prestation, förstå cyberhoten och tillhörande risker för dessa tillgångar och välj minskningsåtgärder för att förhindra och/eller slåss genom attacker.

En felläge och effektanalys (FMEA) och en hotbedömning och saneringsanalys (TARA) säkerställer integriteten för verktygets användares programvara, snarare än integriteten hos kompilatorverktygssatsen i linje med syftet med ISO 21434 för att hantera cybersäkerhet i elektriska och Elektroniska system inom vägfordon där system som är externa till fordonet inte ligger inom ramen för ISO 21434. Integriteten i kompilatorverktygssatsen och filerna som drivs styrs av andra standarder som ISO/IEC 27001 (Information Security Management). Det är viktigt att både verktygsleverantören och användaren också uppfyller en IT -säkerhetsstandard.

FMEA används för att identifiera de potentiella cybersecurity -riskerna som kompilatorverktygssatsen kan införa i användarens programvara. Syftet med kompilatorverktyget är att beteendet hos programvaran sammanställs för att uppfylla användarens avsikter under både normala förhållanden och under cybersecurity -attackförhållanden. ISO C- och C ++ -språkspecifikationen gör det möjligt för kompilatortekniker att tillämpa transformationer på programvaran som är korrekta baserat på en legalistisk tolkning av ISO C- och C ++ -standarder, men som skulle överraska många programvaruprogrammerare. Det är därför fördelaktigt om FMEA genomförs av ett team av ingenjörer som har en djupgående förståelse av kompilatorernas krav, arkitektur, design och implementering. För varje identifierat felläge måste ett eller flera begränsningsåtgärder för att minska risken tillhandahållas.

Tara -metodiken identifierar och utvärderar cyber -sårbarheter och väljer motåtgärder för att mildra dessa sårbarheter. Metodiken är förenlig med kraven i ISO 21434.

Tara -arbetsflödet (figur 2) använder systemtekniska detaljer för att konstruera en cybermodell av systemarkitekturen. Detta ger en grund för att söka i katalogen efter rimliga attackvektorer. Databasen för vanliga attackmönster och klassificeringar kan användas och listan över attackvektorer filtreras och rankas enligt bedömd risk. Listan över sårbarheter kombineras med mappningsdata från att mappa från katalogen för att identifiera en initial lista över motåtgärder, som filtreras och rankas baserat på bedömda användbarhets- och livscykelkostnader, vilket producerar en mappningstabell.

Motåtgärder väljs baserat på kostnader och nivån på risktolerans för att skapa en lösningseffektivitetstabell som listar rekommenderade motåtgärder/minskningar och ger detaljer om effektiviteten hos varje motåtgärd över utvärderingen av sårbarheter. Information från andra databaser, såsom CWE (programvaru- och hårdvarusvaghetstyper) och CVE (avslöjade sårbarheter för cybersäkerhet) kan också användas.

Den dynamiska karaktären av cybersäkerhet innebär att regelbunden upprepning av ovanstående analyser är nödvändig.

Resultatet av FMEA och Tara

Kompilerinducerade sårbarheter kan klassificeras som relaterade till standardsårbarhetsklasser, sidokanalattacker, odefinierat beteende och ihållande statliga kränkningar. De tillhörande minskningar är cybersäkerhetsrelaterade krav som måste implementeras av verktygsleverantören. Dessa inkluderar skydd mot stack-smash-attacker via kompilator placerade stack-kanor, åtgärder för att upptäcka buffertöversvämning eller bestämmelser för att stödja minneslayout randomisering.

Verktygsanvändaren är skyldig att uppfylla generiska kodningsriktlinjer och riktlinjer som är specifika för den specifika kompilatorverktygssatsen som används. Motor Industry Software Extheriability Association (MISRA) efterlevnad anses vara ett minimum, och anslutning till SEI CERT C/C ++ kodningsriktlinjer ger mer omfattande förebyggande. Riktlinjerna för en viss kompilatorverktygset beror till stor del på optimeringen av kompilatorleverantören.

Vissa leverantörer hävdar att FUSA- och cybersecurity-kraven hämmar alla optimeringar som tillämpas av kompilatorn, medan vissa kompilatorutvecklare tillämpar en mycket legalistisk tolkning av ISO C-standarden och överväger kompilatorinducerad cybersecurity-risker som en biverkning av användarens otillräckliga förståelse av det programmerande språket .

Mellangrunden innehas av dem som tror att optimeringar inte behöver införa FUSA- och cybersecurity -risker om, och endast om kompilatorn ger tillräcklig diagnostisk information om tillämpade optimeringar för att göra användaren av verktyget medvetna om möjliga konsekvenser.

Om författaren

Gerard Vink är en branschspecialist, produktdefinition, på Tasking