Applikationssäkerhet ”for dummies”
Innehåll
Sammanfattning
Interna och externa webbapplikationer är nu en stor del av den moderna världen. Några av världens största företag startade med en enda webbapplikation (Facebook och Google är två exempel), och webbplattformar är avgörande för handel, finans och offentlig sektor. Alla organisationer som vill vara tillgängliga och nå en stor användarbas använder webbapplikationer. Större organisationer nyttjar ofta tio- eller hundratals av dem. Se på dig själv! Hur många applikationer har du använt i dag? Facebook? Twitter? Anmält frånvaro från skolan? Kollat barnens skolresultat? Laddat ner böcker från biblioteket? Kontrollerat saldot på banken? Beställt mathem? Handlat på nätet? Fitbit? Läst mailen? Teamsmöte? Blocket? Spotify? Larmat huset när du gick hemifrån? Alla dessa applikationer är exponerade mot nätet och därmed även sårbara.
Traditionellt säkrades de IT-miljöer där webbapplikationerna ligger genom nätverks- och infrastruktursäkerhet. Etablerade organisationer har ofta ett moget nätverks- och infrastruktursäkerhetsprogram som står för majoriteten av deras IT-säkerhetsbudget. Denna säkerhet är ofta bra men otillräcklig. Applikationen som kommunicerar med den yttre världen genom http är oftast inte säkrad och äventyrar hela infrastrukturen trots alla kostsamma säkerhetsåtgärder. Nätverkssäkerheten förmår nämligen inte att granska den till synes legitima trafiken mellan applikationen och användaren och om brister finns i applikationen kan den nyttjas för att ta över eller skada hela IT-infrastrukturen.
Webbapplikationer har blivit huvudmålet för cyberbrottslingar och står nu för 3 av 4 dataintrång över hela världen. Webbapplikationssäkerhet har aldrig varit viktigare – och ändå finns det fortfarande viss förvirring om dess plats i den övergripande säkerhetsstatusen. Denna artikel skall försöka reda ut begreppen och beskriva lösningen.
En värld i förändring
Organisationer fortsätter att flytta allt mer information och affärslogik till molnplattformar och är beroende av webbteknik för att göra affärer. Organisationens informationstillgångar som är tillgängliga via webben är nu i frontlinjen för cyberattacker. Affärs- och personuppgifter är en uppskattad vara så cyberbrottslingar fokuserar på att komma åt våra webbtillgångar via applikationerna som utgör den svaga länken i säkerhetstänket. Studier bekräftar att 3 av 4 dataintrång över hela världen nu är relaterade till webbapplikationer. Traditionellt fysiskt perimeterskydd räcker inte längre för att skydda affärsdata då den traditionella uppdelningen i privata och offentliga nätverk nu ofta är logisk snarare än fysisk. Det som en gång var privat och gömt är nu ofta publikt exponerat mot internet.
Webbapplikationsmiljöer tenderar att vara mycket dynamiska. Snabb utveckling och distribution är normen, möjliggjord av den utbredda användningen av färdiga ramverk och bibliotek. Även i de största applikationerna med miljontals användare kan ny och uppdaterad kod skickas in i produktionsmiljöer dagligen. Webbteknik utvecklas snabbt och därmed också hotbilden. Allt detta innebär att även om en webbapplikation testades och säkrades förra månaden eller förra veckan kan ändringar i applikationen, underliggande bibliotek eller attacktekniker göra den sårbar igen. Vi på eBuilder Security testar flera av våra egna applikationer på daglig basis för att identifiera och täppa igen nya säkerhetshål så snart som möjligt.
Liknelsen med legenden om den Trojanska hästen – Applikationssäkerhet förklarat.
De flesta av oss har under skolåren förmodligen kommit i kontakt med legenden om den sköna Helena av Troja och den Trojanska hästen. Det är än i dag omtvistat om Troja verkligen fanns och om kriget var ett verkligt krig eller bara en legend. Vi skall låta det vara osagt, men legenden kan som analogi hjälpa oss att visualisera problemet med applikationssäkerhet.
Enligt legenden som omskrivs i Odyssén, hade belägringen av Troja varat i tio år när grekerna kom på en krigslist – en gigantisk, ihålig trähäst. Vi kan likna staden Troja vid en traditionell säker infrastruktur med starkt nätverksförsvar, brandväggar, kryptering, nätverkssegmentering, antivirus, IPS och en radda andra obskyra förkortningar. Vid belägringen av Troja byggde fienden, dvs grekerna, en ihålig trähäst som sedan fylldes med soldater. Trähästen som sedan lämnades i gåva till Trojanerna togs in i staden och placerades på insidan av försvarsmurarna som tjänat Trojanerna så väl. På natten tog sig de grekiska soldaterna ur hästen, öppnade portarna till staden för att sedan jämna den med marken. I vår analogi behöver inte fienden bygga och ge oss en trähäst. Vi har byggt den själv eller köpt den i form av en webbapplikation och placerad den på insidan av vårt välbevakade Troja.
För att förstå problemet med webbapplikationer så måste vi förstå hur de är uppbyggda. Moderna webbapplikationer är inte monoliter utan snarare lapptäcken som består av många produkter och tekniker. Utvecklingen börjar vanligtvis med att välja ett ramverk för webbapplikationer som ger designens ryggrad och tar hand om viktiga men vardagliga uppgifter som att rendera användargränssnittet eller säkerställa stöd för olika webbläsare. Utvecklare arbetar sedan inom ramverket för att koda programlogiken och tar in externa bibliotek (ofta öppen källkod) för att tillhandahålla specifika funktioner. Tillsammans med andra externa resurser som format, teckensnitt och ikoner är det resulterande webbprogrammet ett komplext nätverk av beroenden. Varje extern komponent kan ha sin egen utvecklingshistorik och sina egna sårbarheter, vilket gör säkerhetstestning till en mycket komplicerad uppgift.
Våra IT-miljöer har likt Troja säkrats upp med höga murar, torn och andra försvarsmekanismer. Samtidigt har vi tagit in en häst, dvs applikationen som vi och försvarsmekanismerna litar blint på, och placerat den innanför försvarsmuren. Applikationen kommunicerar helt legitimt med användare på utsidan av muren via alla säkerhetsmekanismer. Det är ju trots allt dess uppgift att inhämta eller förse användarna med information. De flesta applikationer innehåller som påtalats ovan en mängd säkerhetsbrister och med rätt kunskap och information kan en hackare nyttja dessa för att ta över och styra applikationen. Övertagandet och styrning sker vanligtvis via till synes normal HTTP/s trafik som nätverksövervakningen inte kan kontrollera och som ser helt korrekt ut. Applikationen befinner sig på insidan av nätverksförsvaret och ses som en legitim och pålitlig del av IT infrastrukturen. Att den kommunicerar internt och extern är inte heller det något konstigt. Det är således väldigt svårt att upptäcka att den tagits över av illasinnade hackare och det är svårt att överskåda vilken skada den kan åstadkomma innan det är för sent. Det gäller således att själv identifiera applikationens svagheter och säkerhetsbrister samt täppa till dem innan någon annan hittar och utnyttjar dem.
Dagens hackare är en del av en ny professionell industri. De har nog med både tid och pengar för att vara tålmodiga och väl på insidan av ditt försvar kan de obemärkt ligga i flera månader och kartlägga hela infrastrukturen, all information du har samt din organisation. När de väl slår till kan de ha stulit all din information och krypterat ditt data så att den inte går att använda. I värsta fall har de även infekterat backupper så att det inte går att återställa dina system. Och så kommer kravbrevet på posten… du har inte längre någon email! Inte nog med att du fått kravbrev, hela din verksamhet ligger nere och det finns inga garantier, även om du väljer att betala lösensumman, att du skall få i gång systemen igen. Vad hindrar hackarna från att slå till igen när du väl betalat? Resultatet är i bästa fall några veckors eller månaders nedtid och en saftig lösensumma. Förmodligen måste du byta ut all IT infrastruktur och i värsta fall får du bomma igen. För evigt.
På torsdagskvällen den 16 december upptäcktes en allvarlig driftstörning i Kalix kommuns IT-system. På eftermiddagen samma dag bekräftade kommunen att den drabbats av en så kallad ransomware-attack
Hemtjänsten och hemsjukvården hade inte tillgång till journaler och läkemedelslistor.
Löneutbetalningarna till kommunens 1 900 anställda påverkades och kommunen tvingades betala novemberlönen istället för decemberlönen.
Kommunen bytte till papper och penna eftersom de inte kunde komma åt systemen.
Alla system måste byggas från grunden.
Var tredje dator måste bytas ut.
Skadorna uppgick till miljoner.
Den 2 juli 2021 blev den svenska livsmedelskedjan Coop med cirka 800 butiker offer för Supply Chain-attacken mot Kaseyas programvara. Även om Coop inte var kund hos Kaseya hade en av dess leverantörer av programvarutjänster använt Kaseyas tjänster, vilket skapade kaos för Coop.
Krypteringsmeddelanden började visas på kassor och självbetjäningskassor i Coop-butiker.
Tusentals kunder som handlade i Coops butiker kunde plötsligt inte betala för sina matvaror.
Omkring 700 av dess 800 butiker tvingades stänga i ungefär en vecka.
Lösningen: Identifiera säkerhetshålen och åtgärda dem.
Vi lever i en applikationsvärld och applikationssäkerhet måste vara en viktig del av den övergripande cybersäkerheten. Traditionella nätverkssäkerhetsverktyg är inte utformade för att kontrollera programtrafik där angripare vanligtvis skickar skadliga laster inom legitim HTTP-trafik.
De allra flesta som jobbar med IT-säkerhet är bekanta med nätverks- och systemsäkerhet eftersom det har funnits länge. Webbapplikationssäkerhet är dock ofta mindre väl förstådd, och det kräver ett helt annat tillvägagångssätt. Administratörer med bakgrund i nätverkssäkerhet kan genomsöka webbprogrammiljöer med en nätverksskanner för att hitta och korrigera sårbara servrar, ramverk och bibliotek. Detta är en bra grund för säkerhet, men nätverkssäkerheten kan inte säkra webbapplikationen eftersom det inte finns något sätt att kontrollera om själva applikationskoden är säker.
CWE-89 – SQL-injektion: Användarkontrollerade indata (till exempel en frågeparameter eller formulärfältstext) infogas direkt i en SQL-fråga som skickas till en databas utan validering. Angripare kan mata in SQL instruktioner för att extrahera data eller ändra databasinnehåll.
CWE-79 – Cross-Site Scripting (XSS): Ej validerad användarinmatning ingår i webbsidans innehåll. Angripare kan injicera JavaScript-kod för att ändra sidinnehåll, kapa användarsessioner eller omdirigera användare till en skadlig webbplats.
CWE-611 – XML External Entity (XXE) Injektion: En svagt konfigurerad XML-parser används som tillåter externa entiteter i äldre dokumenttypsdefinitioner (DTD:er). Genom att tillhandahålla ett specialtillverkat XML-dokument kan angripare krascha servern, komma åt lokala filer eller köra kod på en intern maskin för att utföra ytterligare attacker.
Flytten av programutveckling till molnet har tagit bort mycket av komplexiteten från utvecklingsarbetsflödena vilket gör det möjligt för distribuerade team att samarbeta effektivt i snabbrörliga projekt. I agila metoder kan ny kod till och med distribueras dagligen. Varje ändring av en webbapplikation innebär potentiellt att vi inför nya sårbarheter och koden bör skannas innan den produktionssätts. ”Best practice” är att integrera sårbarhetsskanningen som en naturlig del i den normala utvecklingsprocessen.
Även om koden och applikationen är statisk så är inte det någon garanti för att den är säkrad. Nya säkerhetsbrister identifierats kontinuerligt i komponenter som tidigare ansetts vara säkra. Det som ansågs vara säkert i går behöver nödvändigtvis inte vara säkert i dag. Slutsatsen är att vi regelbundet bör skanna av alla webbapplikationer – även de som är mer eller mindre statiska.
Sårbarheter skall inte bara identifieras, de skall även neutraliseras. När du hanterar tiotals webbtillgångar blir automatisering också en nödvändighet – och för att automatisera måste du vara säker på att dina skanningsresultat inte är ”falska positiva”. Det är här du behöver den dedikerade lösningar som eBuilder Security erbjuder: Acunetix. Acunetix, med sin Proof-Based Scanning-teknik, säkerställer att endast verifierade problem skickas till utvecklare för att fixa. Dvs det är viktigt att minimera ”falska positiva”.
eBuilder Security erbjuder företag och organisationer den marknadsledande sårbarhetsscannern Acunetix som tjänst. Ni behöver inte investera i dyra licenser med åtaganden över en längre tidsperiod och ni behöver inte uppdatera någon programvara. Vi säkerställer att ni alltid har de senaste signaturfilerna med kända sårbarheter och att ni har support om ni mot förmodan skulle få några problem. Ni behöver inte heller beställa ett minimum antal targets utan kan beställa scanning av en target. Ni kan scanna en target en gång per dag/vecka/månad eller när ni känner för det. Priset är detsamma. Vill ni öka eller minska antalet targets så kan ni även göra det. Ni binder er endast i 3 månader för var target.
Slutord: Varför nätverkssäkerhet inte räcker
Nätverkssäkerhet och webbapplikationssäkerhet är två separata och kompletterande delar av cybersäkerhetspusslet. Var och en relaterar till olika tekniker och måste hantera olika hot. För att hålla sig säkra i den uppkopplade moderna världen måste organisationer upprätthålla en solid cybersäkerhet inom båda områdena, särskilt eftersom majoriteten av cyberattacker och dataintrång är relaterade till webbapplikationer.
Att upprätthålla en solid säkerhetsstatus i en molnbaserad värld kräver rätt verktyg och processer inom alla områden av IT-säkerhet. Nätverks- och systemsäkerhet är fortfarande en viktig del av alla omfattande säkerhetsprogram, men här och nu har frontlinjen i kampen mot cyberbrottslig brottslighet gått mot webbsäkerhet. Med så mycket på spel om en cyberattack lyckas har organisationer inte råd att lämna några luckor.
Helt enkelt, om du har webbapplikationer behöver du webbapplikationssäkerhet. eBuilder Security erbjuder det bästa marknaden har att erbjuda i form av Acunetix, som tjänst.
This post is also available in: English