Artikelserie: Försvar på djupet del 7 av 7
Summering
Vi har genom denna artikelserie berört ett antal grundläggande principer för hur man bygger säkra applikationer.
Defense in depth - Bygg säkerhet i flera lager
CIA-A - Säkerhet är en balans, glöm inte bort tillgänglighet
Least Privilege - Minsta möjliga behörighet för uppgiften
Rotate, Repave and Repair - Säker drift kräver automatisering
Secure by design Säkerhet är en del av din domän
Zero trust Lita inte på någon aktör, något data, eller enskilt säkerhetslager
Secure defaults Begränsa möjligheten för felkonfiguration
När vi på Omegapoint genomför säkerhetsgranskningar hittar vi normalt sett fler sårbarheter ju mer komplext systemet är. Det är inte bara på grund av att komplexa system har fler funktioner och ger oss en större attackyta, utan även på grund av att de kan vara svåra att få grepp om. Många brister som vi hittar grundar sig i att teamet inte förstår sitt system fullt ut. Det kan till exempel handla om att teamet inte vet vilka API som är publika.
Ett system som teamet förstår och kan överblicka har mycket bättre förutsättningar för att bli säkert. Vi hittar normalt färre brister i system där teamet kan rita upp och förklara systemet till sin helhet.
Vi inleder varje säkerhetsgranskning med att teamet som ansvarar ger en teknisk systembeskrivning och bland annat svarar på följande frågor:
Vilket data systemet innehåller och vad som är skyddsvärt
Vilka ingångar som finns, hur de skyddas och hur behörighetskontrollen ser ut
Vilka integrationer som finns och hur de används
Enligt vår erfarenhet kan säkra system alltid beskrivas av teamet enligt dessa punkter. Det omvända gäller inte, dvs. ett system som kan beskrivas är inte alltid säkert. Förståelsen för systemet ger dig förutsättningar att bygga en säker lösning, det är inte en garanti.
https://www.schneier.com/essays/archives/1999/11/a_plea_for_simplicit.html
Det är också viktig att förstå olika typer av attacker för att kunna implementera och verifiera systemets olika skyddslager. Här är OWASP en utmärkt start. Vår erfarenhet från säkerhetsgranskningar visar att OWASP definierar en bra basnivå som är relevant för många system och är rimlig att implementera. OWASP har mycket bra dokumentation. Vi vill särskilt lyfta fram:
För att få ett säkert system över tid krävs ett strukturerat arbetssätt där säkerhet är en integrerad del av din process. Oberoende, återkommande säkerhetsgranskningar ger dig återkoppling på att ditt säkerhetsarbete fungerar.
Läs de andra delarna i artikelserien