Säkerhetsberoenden som koncept är enkelt att förklara: två system har ett säkerhetsberoende om någon form av intrång i den ena kan påverka säkerheten i den andra.


Jag tror att det här faller sig naturligt för många tekniker, tyvärr så naturligt att säkerhetsberoenden sällan uttalas explicit i tal eller skrift. Det är synd, säkerhetsberoenden är viktiga för att avgöra vilka system, eller vilka delar av ett system, som är mest säkerhetskritiska. Kartläggning av säkerhetsberoenden är ett viktigt verktyg vid prioritering av system.

Språkligheter

Säkerhetsberoenden kan uttryckas på olika sätt. Man kan säga att en arbetsstation i ett Windowsnätverk har ett säkerhetsberoende till domänkontrollanten eller är beroende av domänkontrollantens säkerhet men det är också lämpligt att säga att arbetsstationen litar på domänkontrollanten. Uttrycket ”litar på” är bra, det ger känslan av att domänkontrollanten skulle kunna bedra arbetsstationen, vilket den i allra högsta grad kan.

Tillit är något vi som människor har en rätt bra uppfattning om. Vissa personer i vår omgivning litar vi på, vissa litar vi inte på. Det är dock inte svart eller vitt: vissa personer litar vi mycket på och vissa mindre på. Vi kan också visa tillit i olika avseenden: jag litar på att min kompis inte är vårdslös med min bil men jag litar inte på att han håller tyst om skvaller. För en annan kompis kan läget vara tvärtom.

Inom säkerhet är det dessutom meningsfullt att skilja mellan att något är betrott och att något är tillförlitligt. Bara för att någon är betrodd betyder det inte att tilliten är välgrundad och att personen verkligen är tillförlitlig. Det blir tyvärr lite blandning av uttryck på svenska, engelska är lite mer praktiskt, där skulle man tala om att någon eller något är trusted respektive trustworthy.

Prioritering med säkerhetsberoenden

Ett system som litar på många andra system är mindre säkert eftersom det riskerar att påverkas av alla de andra systemens sårbarheter. Minsta motståndets lag blir genast relevant. Givetvis litar min blogg på stora delar av WordPress infrastruktur. Den litar dessutom på min browser eftersom den regelbundet har tillgång till LastPass där lösenordet finns. Den litar också på min telefon där WordPress-appen har lösenordet sparat. Motståndet som jag skulle erbjuda om du försökte stjäla min telefon är sannolikt mindre än vad mitt lösenord skulle erbjuda om du försöker gissa det.

Som ni märker låter ”litar på” lite ansträngt i de här sammanhangen. Det är en vanesak.

Ett system som många andra system litar på blir mer säkerhetskritiskt eftersom en sårbarhet i det systemet kan påverka många andra. För att återgå till telefonen, många delar av mitt liv beror av min telefon. Med den kan du inte bara lägga upp blogginlägg utan köpa biljetter till tunnelbanan, avboka mina möten, sabotera min tidrapportering eller göra slut med min flickvän över sms.

Min telefon är därför väldigt viktig för säkerheten i många ”system” jag har runt omkring mig och bör därför prioriteras, inte bara för informationen som den behandlar.

Kartläggning av säkerhetsberoenden är lika viktigt som skyddsvärdesanalys av information.

Begränsning av säkerhetsberoenden

Ett exempel som är mer relevant i vår it-verklighet är webbapplikationen och dess databas. I samma sekund som filen dbcreds.php, web.config eller liknande fylls med lösenordet till databasen skapas ett säkerhetsberoende: databasen litar på webbapplikationen.

Här har vi dock chansen att tillämpa samma metod som vi själva gör för att skilja på låna-bilen-kompisar och skvaller-kompisar. Vi kallar det the principle of least privilege. Databasen kan nämligen värja sig mot en osäker webbapplikation, åtminstone i viss utsträckning, genom att bara ge viss åtkomst till vissa delar av informationen. Databasen kan begränsa säkerhetsberoendet med hjälp av behörighetskontroll.

Detta kan också vara ett exempel på ett dubbelriktat säkerhetsberoende, vilket inte är ovanligt. Tänk en applikation som är noggrann med att HTML-koda alla strängar som kommer från användaren men inte gör det med strängar som den hämtar från databasen. Typfallet är en applikation som, efter registrering av en ny användare, hälsar ”Welcome <u>Stefan</u>” men att det, när du går in på sidan med användarinställningar, står ”Settings for Stefan”.

Det är ett tecken på att webbapplikationen litar på databasen men på ett helt annat sätt. Webbapplikationen kan begränsa säkerhetsberoendet genom att HTML-koda strängar som hämtas från databasen.

Varianter av säkerhetsberoenden

Den enklaste varianten av säkerhetsberoende är förmodligen hemsidan som går ner när brandväggen framför den går ner. Otillgänglig brandvägg innebär otillgänglig hemsida. Det behöver däremot inte vara så enkelt. Baiardi et al försöker under rubriken Assessing the Risk of an Information Infrastructure through Security Dependencies ta fram en formell(are) metod för att beskriva situationer där, exempelvis, riktigheten i ett system kan påverka konfidentialiteten i ett annat.

Säkerhetsberoenden graf

De använder bland annat metoden för att prioritera mellan skyddsåtgärder, de som hanterar flera beroenden (attackvägar) är bättre än de som hanterar färre:

Any countermeasure that stops just one strategy and neglects the equivalent ones is not cost effective because it cannot avoid all the impacts.

Det här påminner förresten om vad jag gjorde under mitt examensarbete om att jämföra säkerhetsfunktionerVisualizing Endpoint Security Technologies using Attack Trees.


Jag tycker inte att det är nödvändigt att gå in på CIA för att meningsfullt kunna diskutera säkerhetsberoenden. Däremot kan så kallade transitiva beroenden – system A beror av system B som beror av system C, alltså beror A av C – vara relevanta ibland. Oftast blir det dock helt enkelt för mycket för att det ska vara möjligt att hantera. Jämför med kompisars kompisar på Facebook.

Det är däremot viktigt att beroenden tydligt tas upp som en en anledning till förhöjt skyddsvärde, i synnerhet eftersom situationen kan bli teknisk, något som flera inom informationssäkerheten (de som känner sig tvungna att skilja på it- och informationssäkerhet) verkar ha svårt för. Det är inte bara informationen som gör ett system skyddsvärt, se också till säkerhetsberoenden.