Nederland

Selecteer Taal

EnglishDeutschFrançaisрусский한국의ItaliaNederlandespañolPortuguêsMagyarországDanskΕλλάδαpolskiPilipinoČeštinaTiếng ViệtMelayuMaoriSvenskaSuomiУкраїнаromânescSlovenija
Huis > Nieuws > Compiler Tool Qualificatie voor functionele veiligheid en cybersecurity

Compiler Tool Qualificatie voor functionele veiligheid en cybersecurity

In 2020 heeft de Economische Commissie van de Verenigde Naties voor Europa de regelgeving vrijgegeven voor uniforme bepalingen met betrekking tot de goedkeuring van voertuigen met betrekking tot cybersecurity en cybersecurity managementsysteem, ook bekend als WP.29.

In de EU, Japan, Korea en het VK wordt deze verordening opgenomen in wetgeving voor goedkeuring van het voertuigtype, waardoor de naleving van cybersecurity als niet-onderhandelbaar wordt voor het veiligstellen van markttoegang.

Hoewel WP.29 de ISO/SAE 21434: 2021 Road Vehicles -CyBersecurity Engineering Standard niet vermeldt, is het duidelijk dat als een OEM en de supply chain de naleving van deze norm kunnen aantonen, dan kan die naleving worden gebruikt om de naleving van de naleving van de WP.29 Regulering. Het aantonen van naleving van de ISO -cybersecurity -norm moet OEM's en hun leveranciers beschermen tegen aansprakelijkheid.




Compiler kwalificatie

De ISO 26262-standaard wijdt een hoofdstuk aan criteria om het vereiste niveau van vertrouwen in een softwaretool te bepalen en biedt methoden voor het kwalificeren van de tool om bewijs te creëren dat het geschikt is om te worden gebruikt voor functionele veiligheidsgerelateerde softwareontwikkeling.

Vier methoden kwalificeren een softwaretool: meer vertrouwen van gebruik; evaluatie van het ontwikkelingsproces; validatie van de softwaretool; en ontwikkeling in overeenstemming met een veiligheidsnorm.

Voor hogere autovertegriteitsniveaus (ASIL) zijn alleen de laatste twee methoden geschikt. Toolvalidatie betekent het gebruik van maatregelen om te bewijzen dat de softwaretool aan opgegeven vereisten voor zijn doel voldoet.

Twee verschillende benaderingen worden gebruikt om te voldoen aan de ISO 26262 -toolsvalidatievereisten. Sommige leveranciers van compiler voeren de toolsvalidatie in eigen huis uit en nodigen een conformiteitsbeoordelingsorgaan uit om te certificeren dat de tool en de veiligheidsdocumentatie ervan geschikt zijn voor het doel. De klant ontvangt een gecertificeerde compiler -toolset en hoeft alleen de richtlijnen uit de veiligheidshandleiding toe te passen om aan te tonen dat de use case compatibel is met een gekwalificeerde use case. Andere leveranciers bieden een certificeerbare (versus gecertificeerde) compiler toolset plus een toolkwalificatiemethode met ondersteunende tools en documentatie.

De toolkwalificatiemethode is over het algemeen gecertificeerd en de klant moet de toolkwalificatie uitvoeren, die kan worden samengevat als:

* Het opgeven van de use case om de vereisten te definiëren waaraan moet worden voldaan door de tool
* De juiste tests selecteren om die vereisten te verifiëren
* De tests uitvoeren en de testresultaten analyseren
* Het genereren van de veiligheidsdocumentatie en het toepassen van de richtlijnen van de veiligheidsdocumenten.
Er zijn verborgen kosten bij deze aanpak, zoals het leren van de kwalificatiemethode en bijbehorende tooling, licenties van de benodigde testsuites, het uitvoeren van het hulpmiddelvalidatieproces, interactie met de certificeerder en ten slotte, wat te doen als tests mislukken.

Compiler kwalificatie

Een compiler kan het gedrag van een programma wijzigen (optimaliseren) op manieren die de programmeur niet had voorzien. De structurele intentie van de softwareontwikkelaar mag niet nauwkeurig worden weergegeven in de uiteindelijke weergave van het bronprogramma en de compiler kan de beveiliging van de software beïnvloeden.

In tegenstelling tot de ISO Functional Safety (FUSA) -standaard, geeft de ISO Cybersecurity Standard (ISO 21434 Sectie 5.4.7 Tool Management) geen toolkwalificatievereisten op. De criteria om het vereiste niveau van vertrouwen te bepalen in een compiler -toolset voor de ontwikkeling van cybersecurity -gerelateerde software zijn onbekend en er is geen methode gespecificeerd om aan te tonen dat aan de criteria van cybersecurity is voldaan.

De ISO -standaard bevat verwijzingen naar de ISO -functionele veiligheidsnorm. De bewezen tools -validatiemethode van de ISO 26262 -standaard is geschikt om een ​​compiler -toolset te kwalificeren die wordt gebruikt bij de ontwikkeling van een compatibele software voor cybersecurityregulering. Om deze methode toe te passen, moeten de toolsvalidatiecriteria voor de ontwikkeling van cybersecurity-gerelateerde software worden vastgesteld.

Gereedschapsvalidatie

Analoog aan de criteria voor het valideren van gereedschap voor functionele veiligheid, kunnen de criteria voor toolsvalidatie voor cybersecurity worden gespecificeerd als maatregelen om bewijs te leveren dat het softwaretool voldoet aan de gespecificeerde cybersecurity -eisen.

De cybersecurity -risico's die kunnen worden geïntroduceerd door de software -tool en hun overeenkomstige gedrag moeten worden geanalyseerd met informatie over mogelijke gevolgen en met maatregelen om ze te vermijden of te detecteren.

De reactie van het softwaretool op abnormale bedrijfsomstandigheden moet ook worden onderzocht.

Het Mission Assurance Engineering (MAE) -proces ontwikkeld door de National Cyber ​​Security FFRDC kan worden gebruikt om de cybersecurity -eisen van de Compiler Toolset te specificeren. Dit proces is compatibel met ISO 21434 Hoofdstuk 15 Dreigingsanalyse en risicobeoordelingsmethoden. Als het MAE -proces wordt uitgevoerd door de tool -leverancier en de resultaten worden beschreven in veiligheids- en cybersecurity -documentatie, elimineert dit de noodzaak voor de gereedschapsgebruiker om een ​​toolsvalidatie uit te voeren.

De gereedschapsgebruiker moet het resterende risico beoordelen dat is gekoppeld aan de specifieke use case die blijft na het toepassen van de richtlijnen.

De tool -leverancier moet de reactie van het softwaretool analyseren op abnormale bedrijfsomstandigheden met behulp van het MAE -proces. De bevindingen worden vertaald in richtlijnen en opgenomen in de veiligheids- en cybersecurityhandleiding van het gereedschap. De gereedschapsgebruiker moet de verstrekte richtlijnen implementeren en het resterende risico voor een use case beoordelen.

Het MAE -proces (figuur 1) biedt een analytische benadering om de cyberactiva te identificeren die het meest cruciaal zijn voor missieverwerking, de cyberdreigingen en bijbehorende risico's voor die activa te begrijpen en mitigatiemaatregelen te selecteren om te voorkomen en/of te vechten door aanvallen.

Een faalmodus en effectenanalyse (FMEA) en een dreigingsbeoordeling en saneringsanalyse (TARA) zorgen voor de integriteit van de software van de gereedschapsgebruiker, in plaats van de integriteit van de compiler -toolset in lijn met het doel van ISO 21434 om cybersecurity in elektrische en Elektronische systemen binnen wegvoertuigen waar systemen die extern zijn voor het voertuig niet binnen de reikwijdte van ISO 21434 vallen. De integriteit van de compiler -toolset en bestanden die worden beheerd, wordt beheerst door andere normen zoals ISO/IEC 27001 (informatiebeveiligingsbeheer). Het is belangrijk dat zowel de tool -leverancier als de gebruiker ook voldoen aan een IT -beveiligingsstandaard.

De FMEA wordt gebruikt om de potentiële cybersecurity -risico's te identificeren die de Compiler Toolset kan introduceren in de software van de gebruiker. Het doel van de compiler -tool is dat het gedrag van de software wordt gecompileerd om te voldoen aan de intenties van de gebruiker onder zowel normale omstandigheden als onder cybersecurity -aanvalsomstandigheden. Met de ISO C- en C ++ taalspecificatie kunnen compiler -ingenieurs transformaties toepassen op de software die correct zijn op basis van een legalistische interpretatie van de ISO C- en C ++ -standaarden, maar die veel softwareprogrammeurs zouden verrassen. Het is daarom voordelig als de FMEA wordt uitgevoerd door een team van ingenieurs die een diepgaand inzicht hebben in de vereisten van de compilers, architectuur, ontwerp en implementatie. Voor elke geïdentificeerde foutmodus moet een of meer mitigatiemaatregelen worden verstrekt om het risico te verminderen.

De TARA -methodologie identificeert en beoordeelt cyberkwetsbaarheden en selecteert tegenmaatregelen om die kwetsbaarheden te verminderen. De methodologie is compatibel met de vereisten van ISO 21434.

De TARA -workflow (figuur 2) maakt gebruik van technische details van het systeem om een ​​cybermodel van de systeemarchitectuur te construeren. Dit biedt een basis voor het zoeken naar de catalogus naar plausibele aanvalsvectoren. Het gemeenschappelijke aanslagpatroon -opsommings- en classificatiedatabase kan worden gebruikt en de lijst met aanvalsvectoren wordt gefilterd en gerangschikt volgens het beoordeelde risico. De lijst met kwetsbaarheden wordt gecombineerd met mitigatiegegevens van de catalogus om een ​​initiële lijst met tegenmaatregelen te identificeren, die wordt gefilterd en gerangschikt op basis van beoordeelde hulpprogramma en levenscycluskosten, waardoor een mitigatie -mappingtabel wordt geproduceerd.

Tegenmaatregelen worden geselecteerd op basis van kosten en het niveau van risicotolerantie om een ​​oplossing -effectiviteitstabel te creëren die aanbevolen tegenmaatregelen/mitigaties weergeeft en details geeft over de effectiviteit van elke tegenmaatregel over het bereik van de beoordeelde kwetsbaarheden. Informatie uit andere databases, zoals de CWE (software- en hardware -zwaktetypen) en CVE (bekendgemaakte cybersecurity kwetsbaarheden) kan ook worden gebruikt.

De dynamische aard van cybersecurity betekent dat regelmatige herhaling van de bovenstaande analyses noodzakelijk is.

Het resultaat van FMEA en TARA

Door compiler geïnduceerde kwetsbaarheden kunnen worden geclassificeerd als gerelateerd aan standaard kwetsbaarheidsklassen, zijkanaalaanvallen, ongedefinieerd gedrag en aanhoudende staatsovertredingen. De bijbehorende mitigaties zijn cybersecurity-gerelateerde vereisten die moeten worden geïmplementeerd door de tool-leverancier. Deze omvatten bescherming tegen stack-smashing-aanvallen via compiler geplaatste stack-canarissen, maatregelen om buffer-overstroom te detecteren, of bepalingen ter ondersteuning van randomisatie van geheugenlayout.

De gereedschapsgebruiker is verplicht om te voldoen aan generieke coderingsrichtlijnen en richtlijnen die specifiek zijn voor de gebruikte compiler -toolset die wordt gebruikt. De naleving van de Motor Industry Software Reliability Association (MISRA) wordt als een minimum beschouwd en de naleving van SEI Cert C/C ++ Codering -richtlijnen biedt meer uitgebreide preventie. De richtlijnen voor een bepaalde compiler -toolset hangen grotendeels af van de optimalisatie door de compiler -leverancier.

Sommige leveranciers beweren dat FUSA- en cybersecurity-vereisten alle door de compiler toegepaste optimalisaties belemmeren, terwijl sommige compilerontwikkelaars een zeer legalistische interpretatie van de ISO C-norm toepassen en door compiler geïnduceerde cybersecurity-risico's beschouwen als een bijwerking van het onvoldoende begrip van de gebruiker van de programmeertaal .

Het middenveld wordt gehouden door degenen die geloven dat optimalisaties geen FUSA- en cybersecurity -risico's hoeven te introduceren als, en alleen als, de compiler voldoende diagnostische informatie biedt over de toegepaste optimalisaties om de gebruiker van de tool bewust te maken van mogelijke gevolgen.

Over de auteur

Gerard Vink is een industriële specialist, productdefinitie, bij tasking