TPL_YOOTHEME_SKIP_TO_MAIN_CONTENT

Uppfyll den nya cybersäkerhetslagen med bevisad säkerhet

Grundläggande principer för säkerhetsbevis och bevisad säkerhet

Ett säkerhetsbevis (Assurance Case) är en dokumenterad argumentation som besvarar frågan: "Hur vet vi att detta system är säkert nog?". Det handlar om att demonstrera att riskerna har reducerats till en acceptabel nivå (ALARP) genom en struktur av påståenden (Claims), argument (Arguments) och bevis (Evidence). Moderna krav innebär att denna bevisföring sker integrerat under hela systemets livscykel, en metod känd som "Safety & Security by Design".

Ett säkerhetsbevis (safety case/assurance case) är i grunden en strukturerad argumentation som förklarar varför ett system är säkert nog att tas i drift. Den mest etablerade metoden för att bygga upp ett sådant bevis kallas CAE-strukturen (Claims, Arguments, Evidence), men även den grafiska notationen GSN (Goal Structuring Notation) är vanlig i säkerhetskritiska branscher. Utifrån din specifika process och de internationella standarderna (IEC 61508, ISO 27001, NIS2) bör ett säkerhetsbevis vara uppbyggt enligt följande logik:

1. Kärnstrukturen: CAE (Claims, Arguments, Evidence)

 För att ett säkerhetsbevis ska vara granskningsbart delas det upp i tre nivåer:

  • Claims (Påståenden): Högnivåmål som ska bevisas, till exempel "Systemet är skyddat mot obehörig åtkomst som kan påverka driftssäkerheten".
  • Arguments (Argument): Den logiska länken som förklarar varför bevisen stöder påståendet. Ett argument kan vara: "Genom att implementera nätverkssegmentering och MFA minimeras risken för lateral förflyttning vid ett intrång".
  • Evidence (Bevis): De konkreta artefakterna som styrker argumenten. Exempel är testrapporter, FMEDA-analyser, konfigurationsfiler eller revisionsloggar.

Övergripande beskrivning av Ensions metodik

Processen består av fyra huvudaktiviteter:

  • Beräkna risk: Kvantifiering av risker baserat på den faktiska tekniska designen.
  • Skapa säkerhetsbevis: Automatiserad generering av dokumentation och artefakter ur systemmodeller.
  • Granska säkerhetsbevis: Kritisk utvärdering av säkerhetsbeviset.
  • Skapa åtgärdslista: Definition av specifika säkerhetsfunktioner och krav som realiseras.

1. Beräkna risk

Aktiviteten att beräkna risk är en teknisk fördjupning som sker efter att den initiala kontexten och säkerhetskraven har fastställts. I Ensions metod fokuserar denna beräkning på de identifierade farliga händelser som kan uppstå i den faktiska tekniska designen.

1.1 Detaljerad riskberäkning i teknisk design

När den tekniska designen faller ut ur kravställningsfasen, utförs en beräkning av riskerna för de specifika händelsekedjor som arkitekturen medför. Det innebär att man analyserar:

  • Frekvens: Hur ofta en teknisk komponent förväntas fela eller ett hot realiseras i den specifika nätverks- eller systemarkitekturen.
  • Sannolikhet för farlig händelse: Den beräknade sannolikheten att ett fel i designen leder till en oacceptabel konsekvens, ofta genom Failure Modes, Effects, and Diagnostic Analysis (FMEDA).
  • SIL-verifiering: Att verifiera att den valda designen faktiskt uppnår den krävda Safety Integrity Level (SIL) genom att räkna på hårdvarans tillförlitlighet och diagnostiska täckning.

2. Skapa säkerhetsbevis

När riskerna har beräknats baserat på designen, skapas säkerhetsbevisen för att visa att de valda åtgärderna är effektiva.

2.1 Modellbaserat bevisande

En central del i Ensions metod är MBSE (Model-Based Systems Engineering). Genom att integrera säkerhetsattribut direkt i den tekniska modellen kan säkerhetsbevis genereras automatiskt. Detta säkerställer att bevisen alltid speglar den aktuella designen och de riskberäkningar som ligger till grund för den.

2.2 Bevisartefakter

FMEDA-rapporter: Visar den matematiska beräkningen av felfrekvenser i hårdvarudesignen.Spårbarhetsmatriser: Kopplar samman lagkrav (NIS2), riskanalyser och de tekniska kontrollerna i designen.

3. Granska säkerhetsbevis

Granskningen verifierar att de beräknade riskerna i designen är korrekt hanterade. Detta inkluderar formell verifiering för att matematiskt säkerställa att designen uppfyller säkerhetsegenskaperna, samt penetrationstester för att validera motståndskraften mot externa hot.

Enligt IEC 61508 krävs oberoende granskning (FSA), där graden av oberoende ökar med systemets SIL-nivå. För NIS2 innebär detta att man kan redovisa effektiviteten i sina riskhanteringsåtgärder vid en tillsyn.

4. Skapa åtgärdslista

Detta kapitel beskriver det steg som föregår och möjliggör den detaljerade riskberäkningen. Här omvandlas risker och hot till specifika krav på system och organisation.

4.1 Processen för att ta fram åtgärder

Arbetet sker i en strukturerad process som mynnar ut i den tekniska designen :Säkerhetsfunktioner:

  • Man identifierar vad systemet måste göra för att hindra en incident (t.ex. "stänga ventilen vid övertryck").
  • Funktionssäkerhetskrav (FSR): Specifika krav på responstid, säkerhetstillstånd och noggrannhet.
  • Integritetskrav (SIL): Fastställande av hur tillförlitlig funktionen måste vara.

Logisk arkitektur: Säkerhetsfunktionerna allokeras till specifika objekt i arkitekturen. Det är denna resulterande tekniska design som sedan ligger till grund för den detaljerade riskberäkningen i Kapitel 1.Slutligen mappas dessa åtgärder mot ISO 27001 Bilaga A för att skapa ett Statement of Applicability (SoA), vilket fungerar som det organisatoriska beviset på att man valt rätt skyddsnivå.

Hur bevisar man säkerhet?

Bevisande av säkerhet är en viktig process inom informationssäkerhet och datavetenskap. Det innebär att man visar att ett system, en algoritm eller en process är säker enligt vissa kriterier. Här är några metoder som används för att bevisa säkerhet:

  1. Matematisk bevisning: Inom kryptografi och datavetenskap används ofta matematiska bevis för att visa säkerhet. Detta innebär att man använder formella metoder och matematiska tekniker för att visa att ett system eller en algoritm uppfyller säkerhetskraven. Exempelvis kan man använda induktionsbevis, kontraposition eller motsägelsebevis för att visa att vissa säkerhetsegenskaper gäller.

  2. Säkerhetsmodeller: Genom att använda säkerhetsmodeller kan man beskriva och analysera hur olika säkerhetsmekanismer fungerar inom ett system. Modellerna kan vara matematiska eller grafiska och hjälper till att identifiera sårbarheter och hot. Exempel på säkerhetsmodeller inkluderar Bell-LaPadula-modellen och Biba-modellen inom informationsflödessäkerhet.

  3. Penetrationstester: Ett annat sätt att bevisa säkerhet är att utföra penetrationstester eller sårbarhetstester. Detta innebär att man försöker hacka eller attackera systemet för att identifiera sårbarheter och säkerhetsbrister. Genom att dokumentera och åtgärda dessa brister kan man förbättra systemets säkerhet.

  4. Formell verifiering: Formell verifiering är en avancerad metod där man använder formella metoder och datorverifiering för att säkerställa att en programvara eller ett system uppfyller sina säkerhetskrav. Detta kan inkludera användning av model checker-verktyg och specifikationspråk som exempelvis Z och TLA+.

  5. Säkerhetsanalys: Säkerhetsanalyser innebär att man utvärderar systemet eller programvaran för att identifiera potentiella säkerhetsbrister och hot. Detta kan inkludera riskbedömningar, hotmodellering och sårbarhetsbedömningar.

  6. Regressionstester: Efter att säkerhetsförbättringar har implementerats i ett system är det viktigt att utföra regressionstester för att säkerställa att inga nya sårbarheter har införts och att tidigare säkerhetsproblem har åtgärdats korrekt.

Det är viktigt att notera att säkerhet sällan kan bevisas med 100% säkerhet, särskilt i en ständigt föränderlig och hotfull digital miljö. Istället strävar man efter att minimera riskerna och uppfylla säkerhetskraven så gott som möjligt genom en kombination av de ovan nämnda metoderna. Säkerhet är en kontinuerlig process som kräver uppmärksamhet och uppdateringar över tiden.