GRCCRA

Sårbarheter i IoT-komponenter: leverantörer, beslut och korrigeringar

Följ ett meddelande om syntetisk IoT-komponent från produktversionsbedömning till leverantörsåtgärder och verifieringsbevis.

Brillnet Piotr Adamski•

Senast uppdaterad:

Cyberresiliensförordningen kräver att tillverkare identifierar och dokumenterar sårbarheter och komponenter i produkter med digitala element, bland annat genom att upprätta en programvaruförteckning (SBOM) i ett vanligt, maskinläsbart format som omfattar åtminstone beroendena på den översta nivån.

Arbetet slutar inte när filen har genererats. En SBOM blir användbar i verksamheten när teamet kan gå från en komponent till en verklig produktutgåva, sårbarhet, konsekvensbeslut, avhjälpande och verifieringsunderlag.

Vad CRA säger om SBOM

Del II i bilaga I kräver att tillverkare identifierar och dokumenterar sårbarheter och produktkomponenter, bland annat genom att upprätta en SBOM.

Bilaga VII kopplar SBOM till den tekniska dokumentationen för processer för sårbarhetshantering. En marknadskontrollmyndighet kan också begära relevant SBOM när den behövs för att verifiera överensstämmelsen med väsentliga cybersäkerhetskrav.

En viktig skillnad: förordningen säger inte att varje tillverkare måste publicera hela sin SBOM för varje användare. Bilaga II kräver information om var en SBOM finns tillgänglig om tillverkaren beslutar att göra den tillgänglig för användaren.

Filformatet är bara det första beslutet

CycloneDX och SPDX är vanliga SBOM-format. Att välja ett format löser inte hanteringen av livscykeln.

Dokumentera åtminstone följande för varje SBOM-artefakt:

  • produkt;
  • utgåva/version;
  • genereringstid;
  • verktyg och genereringsprocess;
  • skanningens omfattning;
  • formatversion;
  • lagringsplats;
  • artefaktidentifierare eller hash;
  • valideringsstatus.

Utan en koppling till utgåvan kan det senare vara omöjligt att fastställa om en komponent faktiskt levererades till en kund.

Arbetsflödet som skapar värde

komponent → komponentversion → produktutgåva → sårbarhet → konsekvensbedömning → beslut → åtgärd → rättning → test → underlag → kommunikation

Exempel:

  1. verktyget identifierar biblioteket X i utgåva 4.8.1;
  2. en sårbarhet offentliggörs för angivna versioner av X;
  3. teamet bekräftar om den berörda koden finns och är relevant i produkten;
  4. en konsekvensbedömning och ett prioriteringsbeslut dokumenteras;
  5. avhjälpandet kopplas till en bestämd ändring och produktutgåva;
  6. ett test verifierar resultatet;
  7. verifieringsunderlag bifogas ärendet;
  8. om kriterierna i artikel 14 är uppfyllda startar det separata arbetsflödet för CRA-rapportering.

Varken en CVE-post eller själva SBOM avgör produktpåverkan åt teamet.

SBOM och leverantörer

En komponent kan komma från öppen källkod, en kommersiell leverantör eller ett annat internt team. En mogen process kopplar därför beroendet till:

  • leverantör eller källa;
  • underhållsstatus;
  • källa för sårbarhetsinformation;
  • personen som ansvarar för uppdatering;
  • en ersättningsväg om komponenten inte längre stöds.

Detta är också viktigt för beslut om stödperiod. CRA tillåter att tillverkare beaktar stödperioderna för integrerade tredjepartskomponenter som tillhandahåller grundläggande funktioner.

Gör inte GRC till ännu en skanner

Pulsar ska inte konkurrera med verktyg för analys av programvarukomponenter, beroendeskannrar och SBOM-generatorer. Dessa verktyg identifierar och beskriver komponenter.

GRC skapar värde när resultaten används för kontrollerade beslut:

  • koppla en artefakt till produkten och utgåvan;
  • koppla risk och åtgärd;
  • tilldela ansvarig och tidsfrist;
  • bevara beslutet;
  • bifoga underlag för avhjälpande och tester;
  • tillhandahålla historik vid granskning.

Använd Pulsar för att organisera risker, åtgärder, leverantörer, dokument, underlag och rapporter kopplade till komponenthantering. Kom överens om stöd för CycloneDX/SPDX-format inom tjänstens omfattning innan ni planerar en SBOM-import.

Kontrollera er nuvarande process

  • Kan ni identifiera SBOM för en bestämd utgåva?
  • Går genereringen att återskapa?
  • Har varje kritisk komponent en ansvarig eller källa?
  • Kan en sårbarhet kopplas till en berörd produktutgåva?
  • Har ett beslut om riskacceptans en godkännare och ett granskningsdatum?
  • Finns verifieringsunderlag för avhjälpandet?
  • Finns en tydlig regel för övergången från sårbarhetshantering till bedömning av CRA-rapporteringsplikt?

Se Pulsar GRC i ett underlagsflöde

En SBOM måste beskriva det som faktiskt levereras

Anta att byggmiljön genererar en förteckning för produktens källkod. Den levererade produkten innehåller dessutom ett containerlager, ett installerat hjälpprogram och en tredjepartskomponent som läggs till senare. Förteckningen kan då vara tekniskt korrekt för sin källa men ofullständig för den levererade utgåvan. Ange därför vilket objekt SBOM avser och vilka delar som ingår. Koppla den till produktens distributionsartefakt, inte bara till namnet på utvecklingsprojektet.

Bevara verktyg, inställningar och tidpunkt för genereringen. När två förteckningar skiljer sig kan teamet då undersöka om produkten ändrats eller om verktyget hittat andra delar. En stor komponentlista är inte automatiskt mer korrekt än en liten. Kontrollera vad listan kan styrka och vad som ligger utanför omfattningen. Osäkerheter ska anges så att de inte blir dolda antaganden i en senare sårbarhetsbedömning.

Skilj tre nivåer av kvalitet

Den första nivån gäller filen: går den att läsa i angivet format och stämmer strukturen med rätt specifikationsversion? Den andra gäller identiteter: går komponent, version och relationer att förstå och jämföra? Den tredje gäller produktens innehåll: beskriver listan de komponenter som verkligen finns i den levererade utgåvan? Ett godkänt formatstest besvarar bara den första frågan. Produktteamet behöver kontrollera de övriga två.

CycloneDX och SPDX publicerar specifikationer genom sina officiella kanaler. Välj en version som era verktyg och mottagare kan använda och dokumentera valet. Artikeln rekommenderar inte att varje organisation byter till den nyaste versionen om dess arbetsflöde ännu inte stöder den. Ett kontrollerat och interoperabelt format är mer användbart än ett versionsnummer som gör att en kund eller granskningsfunktion inte kan läsa materialet.

Ett exempel på relevant komponentidentitet

Två paket kan ha liknande namn men komma från olika ekosystem eller leverantörer. Bevara den identitet som gör att säkerhetsfunktionen kan avgöra vilket paket och vilken version som avses. Ange även relationen till produktutgåvan. Om komponentens namn används som enda nyckel kan ett sårbarhetsfynd matchas mot fel programvara och skapa både onödiga åtgärder och missade risker.

En intern komponent behöver också kunna följas över tid. Ange version eller annan identifierare som går att koppla till den levererade artefakten. Om teamet använder utvecklingsnamn som ändras mellan byggningar behöver det en stabil relation till utgåvan. Det är inte nödvändigt att exponera allt internt material i ett kundpaket, men den interna bedömningen måste kunna finna källan.

Leverantörsunderlag ska ha en tydlig avgränsning

När en leverantör lämnar sin SBOM behöver teamet kontrollera vilken produkt och version den gäller. En allmän lista för en produktfamilj kan vara otillräcklig när en viss distributionsvariant innehåller andra komponenter. Fråga hur materialet uppdateras, vilka delar som saknas och vilken kontaktväg som används för rättelser. Bevara svaret tillsammans med den bedömning organisationen gjort.

Avsaknad av fullständigt leverantörsmaterial kan behöva bli en öppen risk eller en kompletterande teknisk uppgift. Skapa inte en fiktivt fullständig förteckning för att stänga ärendet. Beskriv i stället vad som har verifierats och vad som fortfarande är okänt. Organisationens ansvar för den egna produkten behöver bedömas oberoende av hur leverantörens dokument är utformade.

Från ett fynd till ett beslut om produkten

Anta att säkerhetsfunktionen får information om ett problem i en komponentversion. Sök först vilka produktutgåvor som använder komponenten. Undersök därefter hur den används, vilken funktion som berörs och vilka förutsättningar som krävs för att felet ska påverka produkten. SBOM hjälper till att hitta beroendet. Den ersätter inte den tekniska bedömningen av produktens verkliga exponering.

Dokumentera slutsatsen med källor och ansvarig. Om komponenten inte påverkar produkten på det aktuella sättet ska motiveringen finnas, inte bara texten ”inte relevant”. Om en rättelse behövs ska uppgiften länkas till rätt utgåvor, tester och kommunikation. Rapportering enligt CRA behöver en separat bedömning när tillämpliga kriterier kan vara uppfyllda. Varje sårbarhetsfynd är inte automatiskt en rapporteringspliktig händelse.

Förteckningen ska ändras med utgåvan

Ett uppdaterat bibliotek kan ge en ny SBOM även när produktens namn är oförändrat. Bevara relationen mellan tidigare och senare utgåvor så att teamet kan förstå vilka beroenden som ändrats. Ett jämförelsetest kan kontrollera att den avsedda ändringen syns och att inga oväntade komponenter tillkommit. Det är ett internt kontrollförslag som behöver anpassas till produktens bygg- och leveransprocess.

Om listan genereras på nytt efter utgåvan ska det framgå att den är en senare rekonstruktion. Den kan fortfarande vara användbar, men förutsättningarna skiljer sig från material som skapades i samma byggning som produkten. Bevara källa och begränsning. Skriv inte om tidsuppgiften så att en efterhandsfil ser ut att ha funnits vid det ursprungliga utgåvebeslutet.

Ett mottagningstest för SBOM-arbetsflödet

Välj en känd komponent som finns i två stödda utgåvor och saknas i en tredje. Be en granskare hitta rätt utgåvor från förteckningarna och koppla dem till produktens leveransartefakter. Lägg sedan till en testkopia med fel version. Arbetsflödet ska kunna upptäcka att kopian inte passar underlaget. Testa även om saknade uppgifter blir synliga i stället för att tyst ignoreras.

Bedöm resultatet på fler sätt än att filen finns. Kan en tekniker hitta berörd funktion? Kan produktansvarig se vilka kunder eller leveranser som kan behöva uppföljning utifrån organisationens egna register? Kan granskaren förstå varför en risk avvisades eller accepterades? Ett negativt resultat visar var processen behöver mer innehåll eller tydligare ansvar. Det ska inte döljas bakom ett framgångsrikt formatstest.

Bestäm delning och sekretess utifrån mottagaren

En kund, myndighet och intern utvecklare kan behöva olika omfattning. CRA:s regler om tillgänglighet och begäran ska bedömas med aktuella källor, medan organisationen behöver en praktisk delningsregel. Kontrollera avtalsvillkor, affärskänslig information och eventuella personuppgifter innan material lämnas ut. En fil som är maskinläsbar är inte automatiskt en fil som bör publiceras fritt.

Bevara vilken version mottagaren fick och vem som godkände delningen. När en rättelse senare görs ska teamet kunna avgöra vilka mottagare som behöver en uppdatering. Pulsar kan koppla förteckningar, risker, uppgifter och bedömningar till samma produkt. Skannrar och byggverktyg fortsätter producera det tekniska innehållet. Teamets värde uppstår när komponentinformationen leder till ett granskat och relevant produktbeslut.

Följ ett avvisat fynd till dess motivering

Välj ett tidigare komponentfynd som teamet bedömde inte påverka produkten. En granskare ska kunna hitta den komponentidentitet som undersöktes, den berörda utgåvan och de tekniska fakta som motiverade slutsatsen. Om svaret bygger på en funktion som inte används ska detta kunna styrkas med relevant arkitektur eller annat granskat underlag. Ett svar som bara säger ”falskt positivt” är för svagt för kontrollerad återanvändning.

Kontrollera sedan vilka förändringar som skulle göra beslutet inaktuellt. Funktionen kan aktiveras, konfigurationen ändras eller komponenten användas i en ny del av produkten. Registrera vem som omprövar beslutet när en sådan ändring sker. En korrekt tidigare bedömning är inte automatiskt korrekt för en ny utgåva. Den spårbarheten hindrar teamet från att antingen åtgärda irrelevanta fynd gång på gång eller ignorera ett nytt problem med hänvisning till ett gammalt beslut.

Bevara även vilka uppgifter som saknades när beslutet fattades. Osäkerhet kan motivera ett extra test eller fortsatt uppföljning. Den bör inte döljas genom att en senare sammanställning visar en entydig grön status.

Relaterad vägledning

En sårbarhet i en syntetisk IoT-komponent

Överväg en fiktiv industriell sensor med en nätverksansluten firmware-komponent som levereras av ett annat företag. Tillverkaren får ett sårbarhetsmeddelande som namnger den komponenten. Övningen börjar med det meddelandet och slutar med ett granskat beslut och bevis. Det förutsätter inte att varje produkt som bär komponenten påverkas, eller att en SBOM-matchning bevisar utnyttjande.

Identifiera produkt- och firmwareversionen som distribueras till användarna. Jämför komponentens identitet och version med meddelandet och registrera sedan under vilka förhållanden den sårbara funktionen kan nås. Inkludera de versioner som stöds som behöver granskas. Ett uppströms komponentnamn kan vara otillräckligt där leverantören har backporterat en fix eller ändrat en build. Be om den information som behövs för att lösa den specifika frågan.

Skapa en leverantörspost eller länka den befintliga leverantören i Pulsars tillgängliga arbetsflöde. Registrera en risk och en åtgärd för att bedöma meddelandet. Namnge produktägaren och personen som granskar den tekniska slutsatsen. Bifoga en syntetisk notis och produktversionsbeskrivning. Håll deras fiktiva status synlig så att övningen inte kan förväxlas med en operativ sårbarhetsrapport.

För exemplet, anta att den tekniska granskningen hittar en påverkad konfiguration. Förbered en åtgärd för att erhålla och utvärdera den korrigerade komponenten. Definiera testet som kommer att fastställa resultatet i sensorns faktiska driftsförhållanden. En leverantör som säger “fast” är relevant input, men tillverkaren behöver fortfarande bevis på att versionen och konfigurationen som den levererar uppfyller acceptanskriteriet.

Efter testet, bifoga det fiktiva resultatet och registrera det granskade beslutet. Länka den till den berörda versionen och eventuellt återstående implementeringsarbete. En korrigerad komponent i en testmiljö visar inte att alla distribuerade enheter har uppdaterats. Håll release-, distributions- och kundkommunikationsuppgifter åtskilda där de utgör en del av den verkliga processen.

Granska rapporteringsskyldigheterna separat mot fastställda fakta och tillämpliga CRA-villkor. Sedan den 11 september 2026 gäller rapporteringsskyldighet enligt artikel 14 för de angivna aktivt utnyttjade sårbarheterna och allvarliga incidenter för produkter i omfattning. Rapportera inte varje komponentmatchning som en utnyttjad sårbarhet eller behandla den här övningen som en officiell anmälan.

Försöket utvärderar om Pulsar låter ditt team lokalisera produktkontext, leverantörsfråga, ägare, åtgärd och stödjande bevis. Det gör inte Pulsar till en SBOM-generator, sårbarhetsskanner, firmwareuppdatering eller automatisk rapporteringstjänst. Börja med detta ena syntetiska fodral under den 14-dagars provperioden, granska dess nödvändiga betalningsmetod och avbokningsvillkor och avgör om posten stöder ditt eget produktarbetsflöde.

Granska villkoren och påbörja den 14-dagars provperioden

CRA för SaaS: omfattning, åtgärder med ansvarig och bevis

Polska KSC/NIS2 för IT-leverantörer: bedömning och ett åtgärdsregister

API och MCP i GRC: definiera åtkomst innan system ansluts

Källor och omfattning

Informationsmaterial. Ersätter inte licensierade standarder eller individuell juridisk rådgivning.