Applikationssäkerhet

Försvar på djupet — en artikelserie om att bygga säkra system.

När det måste gå fort är det lätt att viktiga saker glöms bort. Och digitaliseringen går fort. Marknadens krav på företag förändras i takt med att ny teknik och nya tjänster blir tillgängliga. Det blir de hela tiden, vilket gör det utmanande för oss som jobbar med utveckling och arkitektur. För det betyder att vi ständigt behöver göra nya anpassningar av gamla system eller bygga nya. I stressen att snabbt bli klar, händer det att säkerheten faller mellan stolarna.

Den här artikelserien syftar till att hjälpa dig se till att det blir rätt från början.

Artikel 1-3 beskriver vad du behöver för att skapa förutsättningar till en stark behörighetskontroll, vilket är en central del av ett säkert system och försvar på djupet.

Artikel 4 visar hur vi tar hand om ett anrop och vilka skyddslager som krävs för en säker implementation.

Artikel 5 och 6 tar upp infrastruktur som utgör viktiga skyddslager till exempel transportlagerskydd, datalagring och webbläsare.

Vi avslutar med artikel 7 där vi lyfter fram viktiga principer som ger oss vägledning till hur vi bygger säkra applikationer och implementerar försvar på djupet.

I de kompletterande artikelarna:

  • Val av Identity Provider, beskriver vi vad du behöver reda ut för att välja en central lösning för identitet.

  • Secure API:s in ASP.NET, beskriver vi hur du implementerar ett API som har skydd i flera lager och är "Secure by design".

  • Secure Architecture, vi gör sex nedslag i en vanlig referensarkitektur och applicerar några grundprinciper för en säker arkitektur.

Försvar på djupet

Omegapoint - Modellering av identitet.jpeg

Del 1: Modellering av identitet

Här går vi igenom hur du modellerar identitet för att sedan skapa och hantera behörigheter. Vi visar också hur du använder OpenID Connect och OAuth2 för att bygga ett säkert system.

Omegapoint-Claimbaserad-behorighetskontroll.jpeg

Del 2: Claimsbaserad behörighetskontroll

Här visar vi hur du överför information om användarens identitet, via token och claims, och hur vi transformerar till rättigheter. Detta ger dig förutsättningar för en stark behörighetskontroll.

Omegapoint - Klienter och sessioner.jpeg

Del 3: Klienter och sessioner

Här reder vi ut hur vi gör på klienten för att få tag på en token.  Vi tittar också på vilka flöden som OAuth2 och OpenID Connect ger oss, och vilket flöde du ska välja för just din typ av klient.

Del 4: Säkra API:er

I denna artikel går vi till botten med vilka steg du behöver ta för att implementera en stark behörighetskontroll i ditt API för att skydda dina funktioner och ditt data. Vi diskuterar validering, loggning och felhantering.

Del 5: Infrastruktur och lagring av data

I del fem av vår artikelserie diskuterar vi viktiga pusselbitar i din infrastruktur, som tex TLS, brandväggar och reverse proxy samt hantering av vårt data. 

Del 6: Webbläsare

I artikel nummer sex diskuterar vi problematiken med att köra vår applikation i en webbläsare. Varför är en webbläsare en så svår miljö från ett säkerhetsperspektiv? Vilka åtgärder kan du göra för att minska risken för dina användare? 

Del 7: Summering

Vi summerar vår artikelserie och går igenom ett antal grundläggande principer för hur man bygger säkra applikationer. 

Applikationssäkerhet

Hur vi omsätter vår kompetens till säkra system

 

Omegapoints bredd och erfarenhet av att bygga säkra applikationer inom olika branscher ger en unik möjlighet att genomföra djupa säkerhetsgranskningar av system som helhet. Där team av erfarna expertkonsulter bjuder följande tjänster:

1. Offensivt penetrationstest

2. Defensiv säkerhetsgranskning

3. Hjälp med strukturerat arbetssätt för säkra applikationer över tid

Vårt penetrationstest består av manuellt arbete av våra ingenjörer, kodgranskning, samt sårbarhetsskanning. Vi kombinerar detta med en genomlysning av arkitektur, infrastruktur, skyddsvärt data, implementation och processer för utveckling och drift.

Utifrån resultaten från granskning och penetrationstest så ger vi rekommendationer på konkreta åtgärder med tydlig koppling till teamets utvecklingsarbete. Då de sårbarheter de offensiva testerna visar på ofta grundar sig på brister i arkitektur och processer gäller dessa rekommendationer ofta både hanteringen av specifika sårbarheter, men också systemet och utvecklingsprocessen som helhet.

En säkerhetsgranskning ger att en proportionerlig nivå av säkerhet identifieras, en s k Security baseline, och kan med fördel även kopplas till styrsystem så som ISO 27000 och CIS Controls.

Tillsammans med er tar vi också fram strukturerade arbetsrutiner för att säkerställa att fortsatt utveckling och drift sker på ett sätt som resulterar i ett säkrare system över tid

 Relaterade artiklar