Uppdateringar av Framework

Slutförd

Många utvecklare anser att de ramverk och bibliotek som de använder för att skapa sin programvara främst bestäms av funktioner eller personliga preferenser. Det ramverk som du väljer är dock ett viktigt beslut, inte bara ur ett design- och funktionsperspektiv, utan även ur ett säkerhetsperspektiv . Att välja ett ramverk med moderna säkerhetsfunktioner och att hålla det uppdaterat är ett av de bästa sätten att se till att dina appar är säkra.

Välj ditt ramverk noggrant

Den viktigaste faktorn avseende säkerhet när du väljer ett ramverk är hur väl det underhålls. De bästa ramverken har uttryckliga säkerhetsplaner och stöds av stora communities som förbättrar och testar ramverket. Inga program är 100 % felfria eller helt säkra, men när en säkerhetsrisk identifieras vill vi vara säkra på att den åtgärdas eller att en kringåtgärd tillhandahålls snabbt.

Ofta är ”bra stöd” synonymt med ”modernt”. Äldre ramverk tenderar att antingen ersättas eller gradvis bli mindre populära. Även om du har betydande erfarenhet av (eller många appar som skrivits i) ett äldre ramverk är det bättre att välja ett modernt bibliotek som har de funktioner du behöver. Moderna ramverk tenderar att bygga vidare på lärdomarna från tidigare iterationer, vilket gör valet av dem för nya appar till en form av minskning av hotytan. Du har ytterligare en app att oroa dig för om en säkerhetsrisk upptäcks i det äldre ramverket där dina äldre program skrivs.

Mer information om säker design och minskning av hotytan finns i Microsoft Azure Well-Architected Framework – Security.

Håll ditt ramverk uppdaterat

Programutvecklingsramverk (till exempel Java Spring och .NET Core) släpper uppdateringar och nya versioner regelbundet. Dessa uppdateringar innehåller nya funktioner, borttagning av gamla funktioner och ofta säkerhetskorrigeringar eller förbättringar. När vi tillåter att våra ramverk blir inaktuella skapar det "teknisk skuld". Ju längre inaktuella vi blir, desto svårare och mer riskabelt blir det att föra vår kod upp till den senaste versionen. Ungefär som med det inledande valet av ramverk ökar användningen av äldre ramverksversioner sårbarheten mot säkerhetshot som har åtgärdats i nyare versioner av ramverket.

Från 2016–2017 hittades till exempel fler än 30 sårbarheter i Apache Struts-ramverket. Utvecklingsteamet tog snabbt itu med dessa sårbarheter, men vissa företag tillämpade inte korrigeringarna och betalade priset i form av ett dataintrång. Se till att hålla dina ramverk och bibliotek uppdaterade.

Hur uppdaterar jag mitt ramverk?

Vissa ramverk, till exempel Java eller .NET, kräver en installation och tenderar att lanseras regelbundet. Det är en bra praxis att bevaka nya versioner och planera inför att skapa en egen kodgren för att prova dem när de släpps. Till exempel har .NET Core en sida med viktig information som du kan kontrollera för att hitta de senaste tillgängliga versionerna.

Du kan uppdatera mer specialiserade bibliotek, till exempel JavaScript-ramverk eller .NET-komponenter via en pakethanterare. NPM och Webpack är populära alternativ för webbprojekt som stöds av de flesta IDE:er eller byggverktyg. I .NET använder vi NuGet för att hantera våra komponentberoenden. Ungefär som att uppdatera kärnramverket, förgrena koden, uppdatera komponenterna och testa är en bra teknik för att verifiera en ny version av ett beroende.

Kommentar

Kommandoradsverktyget dotnet har ett add package och-alternativ remove package för att lägga till eller ta bort NuGet-paket, men har inget motsvarande update package kommando. Dock visar det sig att du kan köra dotnet add package <package-name> i ditt projekt så uppgraderar det automatiskt paketet till den senaste versionen. Det här är ett enkelt sätt att uppdatera beroenden utan att behöva öppna IDE.

Dra nytta av inbyggd säkerhet

Kontrollera alltid vilka säkerhetsfunktioner dina ramverk erbjuder. Distribuera aldrig din egen säkerhet om det finns en inbyggd standardteknik eller funktion. Dessutom bör du använda beprövade algoritmer och arbetsflöden eftersom de ofta har granskats av många experter som påpekat och förbättrat funktionerna så att du kan lita på att de är tillförlitliga och säkra.

.NET Core-ramverket har otaliga säkerhetsfunktioner. Här är några grundläggande startplatser i dokumentationen:

Var och en av dessa funktioner skrevs av experter inom sitt område, sedan slagna med tester för att säkerställa att de fungerar som avsett och endast som avsett. Andra ramverk erbjuder liknande funktioner. Kontakta leverantören som tillhandahåller ramverket för att ta reda på vad de har i varje kategori.

Varning

Att skriva egna säkerhetskontroller i stället för att använda dem som tillhandahålls av ditt ramverk är inte bara slöseri med tid, det är mindre säkert.

Microsoft Defender for Cloud

När du använder Azure som värd för dina webbprogram varnar Defender för molnet dig om dina ramverk är inaktuella som en del av fliken rekommendationer. Glöm inte att titta där då och då för att se om det finns några varningar relaterade till dina appar.

Screenshot of Microsoft Defender for Cloud recommending a framework upgrade.

Sammanfattning

Närhelst det är möjligt bör du välja ett modernt ramverk för att bygga dina appar. Använd alltid de senaste inbyggda funktionerna och se till att du håller det uppdaterad. Dessa enkla regler hjälper till att ge programmet en fördelaktig start.