ShowNotes

13 februari, 2020

Machine learning inom Open source

I IT-säkerhetspoddens andra specialavsnitt är Emil Wåreus (Head of Data Science på debricked) tillbaka. Den här gången pratar vi om hans favoritämne – machine learning

Att nyttja Maskininlärning har på sista tiden blivit betydligt billigare och det finns ramverk att arbeta med som kan tillämpas till sin mjukvara. 

Säkerhetsföretaget debricked hanterar extremt mycket data i sitt analysverktyg för att identifiera sårbarheter i open source. Därför används maskininlärning för att processa all information. 

Maskininlärning inte samma sak som AI 

Emil har tidigare byggt robotar (eller autonoma agenter), till exempel drönare som följde efter människor, och där noterade han att begreppet maskininlärning missförstås. Ofta blandas det ihop med AI fast det är helt separata saker. Så för att förtydliga: 

  • AI kan beskrivas, ur ett autonom-agent-perspektiv, som human, det vill säga en agent som kan förstå sin omgivning och ta beslut helt utan styrning. 
     
  • Maskininlärning däremot, ur samma perspektiv, kan delvis uppfatta omgivningen men är bättre på varseblivning. Den fungerar väl i en stängd miljön men om man tar drönararbetet som exempel är omgivningen fysisk. Maskininlärning som teknik kan då inte “förstå” omgivningen men däremot analysera bilder. Problem kan uppstå där till exempel maskininlärning kan tro att en ko kan vara i en hästhage (där ett AI, som förstår omgivningen, förmodligen skulle anta det är en häst eftersom den förstår att det är en hästhage). Det är således viktigt att träna sin maskininlärning. 

Processad information måste bli rätt 

Vi tar oss an den amerikanska databasen NVD igen, där Emil upptäckte att sårbarheterna som presenterades var missvisande. 

Sårbarheter presenteras som att 60% av produkter som visas endast har en sårbarhet och 90% med under sex sårbarheter. Det blir alltså svårt att se allvarligheten i de olika mjukvarorna och vilka projekt som innebär störst risk att nyttja. 

Debricked tar hjälp av sin egen maskininlärningsalgoritm för att samla NVD tillsammans med issues på Github (repository med mjukvaror) för att få kvalité på informationen. Den tittar till exempel på språkbruket i skapade issuen och vad för ord som den innehåller för att bilda sig en uppfattning. På så vis kan algoritmen avgöra vad som är en säkerhetsbrist och vad som till exempel är en bugg. 

Den guidar utvecklare i rätt riktning och att göra rätt. 

Algoritmen läser miljoner rader av text (från flera olika repositories) och förstår och kategoriserar problemet. 

Träna sin algoritm 

Maskininlärning måste hela tiden tränas på sådant den känner till och på sådant den inte känner till. Tekniken kallas Semi-supervised learning och där använder debricked Googles TensorFlow

Vi återanvänder häst-exemplet. Emil tränar sitt dataset med ett antal bilder på hästar och sådant som är markerat som “inte häst”. Sedan massor av bilder på sådant som är helt okänt. Algoritmen processar bilderna och förstår, och blir ännu mer träffsäker, på vad som är en “häst i en bild”. 

Det finns färdigtränade algoritmer för till exempel bildanalys och text men inte mycket för att upptäcka säkerhetsbrister. Där är debricked ledande och slår andra som gör liknande. 

 
Vad är en säkerhetsbrist? 

Debrickeds algoritm kan läsa nästan vilken text som helst och avgöra om det är ett säkerhetsproblem som beskrivs eller inte. Företaget arbetar vidare med att kategorisera vikten av hur allvarlig bristen är. 

Emil poängterar vikten att förstå sitt område som dataanalytiker. Man måste kunna till exempel säkerhet för att kunna utveckla maskininlärning som hanterar säkerhet. Man måste hela tiden jobba och undersöka hur träffsäker sin maskininlärning är. Det går inte att ha en algoritm som förutspår sju av tio fel och genererar för mycket falska larm (false positive). Det är viktigt att den data som levereras till kund är minst över 90% korrekt, så kunden kan fokusera på rätt saker. 

Avslutande tips 

Emil avrunda med tips inom maskininlärning 

  • Det är viktigt att ha låg false positive men att arbeta med att öka informationen att ta in utan att sänka kvalitén med hög träffsäkerhet 
  • Arbeta med erkända ramverk (t.ex. TensorFlow) 
  • Arbeta med matematiken för att optimera effektivt och för att förstå sin data 
  • Förstå din domän först (område) som maskininlärningen ska hantera 
  • Maskininlärning är ett medel för att nå ditt mål 
31 januari, 2020

Statistik inom Open source

Affärsmodell med Open source 

Allt fler företag väljer att skapa mjukvara baserat på öppen källkod (Open source). I IT-säkerhetspoddens avsnitt pratar vi med Emil Wåreus Head of Data Sience på debricked om risker kopplat till öppen mjukvara och statistik (eller fun facts).

Statistiken är viktig att förstå för att välja rätt öppen källkod och hur komplext det kan vara för att undvika säkerhetsrisker. 

   Öppen källkod kan jämförs som en rörelse där skapare nyttjar öppen källkod och publicerar sina anpassningar på internet för hela Open source-scenen. Engagemanget är stort och förslag med funktionell och säkerhetsmässiga förbättringar diskuteras inom rörelsen.  

   Det kan tyckas märkligt att företagare lämnar ut sin affärsidé och delar med sig till vem som helst och för att förstå hur det hänger ihop tar vi oss till 80-talet. Trenden var då att man såg sin mjukvara just som själva affärsidén. Resultatet blev en statisk mjukvara (eller proprietär kod) med ett hackigt community. . 

   Open source startade samtidigt på konsumentsidan där engagemanget blev stort bland användare. När det nu är utbrett på företagssidan är en vanlig affärsmodell open core där kärnan är öppen medan tilläggstjänster såsom support och konsultarbeten blir affärsmodellen. På så vis behålls engagemanget i Open source och samtidigt kan företagare vara lönsamma genom att hjälpa sina kunder med vad de faktiskt efterfrågar. 

Flera hundra beroenden 

Det många inte vet är att en öppen källkod ofta inte är just en mjukvara. Tvärtom. Vanligare är snarare att mjukvaror använder flera hundra direktimporterade mjukvaror som den är beroende av. Beroenden med sina egna öppna källkod och sårbarheter. Emil Wåreus tar ramverket React som exempel som är en plattform baserad på Java och skapat av Facebook. Verktyget är väldigt populärt just nu för att skapa webapplikationer och bygger på just öppen källkod. Men få känner till att React har ungefär 3.500 beroenden. Hur ska man ha koll på vilka man använder och vilka säkerhetsrisker det finns att nyttja ett sådant ramverk? 

   Här finns fördelen med den öppna källkodsscenen där man kan ta del av andras upptäckter och idéer till skillnad mot stängd mjukvara där tillverkaren ansvarar för att upptäcka sårbarheter och täppa till dessa. 

   För att reda ut svårigheterna finns debrickeds mjukvara som analyserar mjukvaran inom tre områden – sårbarheter, licensieringen och hälsokontroll (health check), där det sistnämnda undersöker just communityt för att analysera hur högt engagemanget såsom bidragande medlemmar. Det hela poängbedöms av debricked vilket hjälper upphovsmakarna att välja rätt öppen källkod. 

Flera datakällor för att upptäcka sårbarheter 

Debricked är integrerat med Amerikanska NISTs “National Vulnerability Database” (NVD) som är en öppen databas där man kan hitta kända sårbarheter i öppen källkod. Här rapporterar communities (till exempel Github) till NVD för analys. NVD undersöker vilken typ av sårbarhet som avses och om det är kopplat till säkerhet eller inte. Ungefär femtio nya sårbarheter registreras – per dag! 

Statistik från NVD visar vilka projekt som innehåller mest sårbarheter. Bild nedan visar de högst rankade just nu.  

   Men NVD räcker inte för att upptäcka sårbarheter så därför är databasen bara en av datakällor som debricked nyttjar. En stor del upptäcks inte eftersom NVD har koll på 50.000 projekt som har ungefär 120.000-130.000 sårbarheter. Debricked däremot hittar över 200.000 sårbarheter relaterat till säkerhet eftersom de samlar in från flera datakällor. 

   Den andra stora källan är, numera Microsoft-ägda GitHub, som debricked nyttjar som datakälla. Här undersåker debricked så kallade issues på Github. 

   Om man skapar en enkel websida baserad på öppen källkod med populära verktyg och installerar enligt standard kan man räkna med ungefär 10.000-15.000 beroende mjukvaror med hundratals sårbarheter. Nästa steg blir att analysera sårbarheten som oftast (ungefär 30%) kan täppas till genom att uppdatera. Men resten är klurigare. Man ska ställa sig frågan – använder jag den här mjukvaran? Eller kan jag bygga runt det på något vis?  

Fyra råd 

Emil Wåreus ger fyras råd för öppna källkodsprojekt.  

  • Använd debricked tidigt i processen innan du importerar mjukvara för att förstå hur säker den är och undersök poängbedömningen.  
  • Sätt policys för att blockera osäker mjukvara. På så vis hjälper man utvecklare att göra rätt och förhindra att fel kod importeras 
  • Räkna på mjukvaran som är tänkt att användas. Räkna hur mycket tid och pengar det krävs för att säkra mjukvaran 
  • Använd inte gammal mjukvara 

Man får också väga “springa framåt” mot “håll tätt bakåt” i projektet. 

28 september, 2019

SQL-Injektioner

I avsnitt nummer 45 tar vi oss an begreppet SQL Injection.

Jag och Erik verkar gilla den här sårbarheten, eftersom förutom avsnittet, finns ju Eriks bloggartikel i ämnet här.

I avsnittet pratar vi om ”OWASP Top Ten Project” och den är ju intressant att kika på. – länk.

Och så nämner vi lite fakta – 65% av alla webbattacker nyttjar SQLi som vektor. Källan finns här (https://www.cbronline.com/news/sql-injection-attacks) – en väldigt spännande vinkel i artikeln är att spelkonton är hackares nya favorit.

23 juni, 2019

Avsnitt om identitetsintrång

I avsnitt 31 om id-kapning pratar vi om Identitetsintrång och begreppet beskrivs på många olika vis från olika källor.

Polisens sida om identitetsintrång har en hyfsat bra punktlista på åtgärder för att skydda sin identitet men behöver kompletteras med några andra saker:

  • Lita på din dator om du ska göra internetköp
  • Lita på sidan du handlar ifrån
  • Aktivera adresslås (väldigt viktigt) för att undvika att obehöriga byter din bokföringsadress
  • Se till att ditt betalningskort är ”säker kortbetalning aktiverat”

Den sista punkten är olika beroende på vilken bank man använder så undersök vad som gäller för just din bank. Smart är ju givetvis att onlineköp behöver godkännas med Mobilt BankID

12 juni, 2019

Dessa vilda dagar

Pratade tillsammans med Mattias med Marcus Murray från TrueSec och han sa att ”Ondskan har mognat”. Det slog an en klang och jag har funderat på det en hel del. Sanningen är att det känns som innan nästan inte hinner reagera mellan att man får veta att en viss typ av attacker blir vanligare och man ser att det händer i ens närhet.

Förut kunde attacker hanteras utan allt för mycket svett. Ett totalt övertagande av en miljö hände ju även då, men det vanligaste var att man hanterade enstaka datorer med skadlig kod eller läckta uppgifter. Idag är det mer och mer vanligt att man helt plötsligt har hundratals servrar och klienter som är krypterade eller på annat sätt övertagna. Ett litet ”nålstick” dödar hela organisationen.

Attacker blir allt mer riktade och det har vi ju talat om många gånger tidigare. Vad blir det av detta i framtiden, kan man undra? Hur många system måste tas över innan någon form av smärtgräns är nådd. Baltimore hålls gisslan, men när hör vi att även New York, Seattle och Washington råkar ut? Är det framtiden? Att i princip alla är drabbade och det blir standard att återställa allt från början eller punga ut med miljoner dollar till hackare för att få tillbaka viktigt data. Det kommer till sist bli som en form av hackar-skatt. Kanske blir det ett system med beskyddarpengar för att man inte ska bli drabbad. Och om man nu spenderar pengar på security operations centers som hela tiden övervakar allting, blir det ju ändå en ökad kostnad för att kunna försätta driva sin verksamhet. Detta i sig är också en form av ”hackarskatt” för alla. En kostnad som man anting betalar till attackerare eller till de som ska skydda mot dem.

Är Zero Trust Networks ett hopp för framtiden eller tar sig allt mer organiserade hackers förbi även detta? Det är inte utan ett visst mått av frustration som jag ser hur det blir allt mörkare på säkerhetsfronten.

Men kanske måste man även se ljuset. Vi blir allt mer säkerhetsmedvetna och fler och fler utbildar sig i säkerhet, vare sig de vill jobba inom området eller bara förstå hur saker fungerar.

9 juni, 2019

Avsnittet om elektronisk röstning

Veckans avsnitt uppkom efter att jag och Erik snackade om valet efter eu.-valen och Eriks blogginlägg i ämnet.

Vi pratar om utmaningen med elektronisk röstning jämfört med hur systemet är uppbyggt idag. En del är spårningen kring pappershanteringen vilket en del menar kan lösas med blockchain-teknik – (läs här en intressant artikel i ämnet).

Är det tekniken just som är hindret att ta steget till elektronisk röstning eller är det faktumet att människor inte kanske litar på röster som genomförts på internet? Och om människor inte litar på röstningssystemet har man stora demokratiska problem…

19 maj, 2019

Cyber kill chain

I veckans avsnitt pratar vi Kill chain, eller snarare Cyber kill chain. Begreppet finns beskrivet på många olika vis men har egentligen ETT huvudsyfte – att beskriva hur en organiserad attack går till.

Jag tycker att beskrivningen på från den här bloggen är helt okej även fast vi inte håller med helt, framförallt inte Exfiltration efter Denial of Service. Det är liksom en omöjlighet att få ut information ur ett system som man precis har sänkt i fasen innan. Det kan också vara så att de menar att man redan fått ut information och nu ska sprida det vidare.

Men just DoS hör inte riktigt till en Cyber kill chain. Det är ju snarare ett sätt att attackera ett system mer än en fas.

Jag gillar också vår liknelse med ett bankrån, vilket vi snackar om initialt. Jovisst, ett organiserat westernskurkgäng gick förmodligen igenom samma faser som dagens cyberattackerare.

14 april, 2019

Från Sälen med GDPR-information

”GDPR känns lite mossigt att prata om nu och väldigt uttjatat” sa Emma till mig en dag ”men kanske vore intressant om vi istället pratade om vad som hänt nu?”

Och så blev det. I veckans avsnitt tog vi tre en liten paus från Zetups konferensaktiviteter och tog ett snack om GDPR. 

Emma nämner även supergruppen ”29-gruppen” och här är en fin länk (42 sidor PDF) som är en slags sammanställning.

Vi pratar också Opt-in och Opt-out. Här kommer en liten förenkling:

Opt-in – att man aktivt måste kryssa i sitt godkännande, t.ex. på en website

Opt-out – att det redan är förkryssat (vilket då innebär att man t.ex. klickar vidare utan gör ett aktivt val).

Klassisk Opt-in – här måste besökaren kryssa i ”I accept the…” för att komma vidare
10 mars, 2019

Mötet med Åsa

Jag var lite nervös inför veckans avsnitt eftersom vi valt att ta en ny infallsvinkel i avsnittet. Nämligen en mer personlig intervju. Tanken var att vi skulle få reda mer på personen bakom själva tekniken.

Vi har ju bjudit in många till våra avsnitt tidigare men då har vi pratat om tekniken. Nu ville jag att vi skulle prata mer om personen. Bakgrunden, kopplingen till säkerhetsbranschen och eftersom det var Åsa Schwarz vi pratade med, hennes författarskap.

I mina anteckningar, ja manus om du vill, inför intervjun skrev jag ”Det verkar som att samtidigt som du grundar bolag blir du också författare. Vad var det som fick kreativiteten att flöda? (här vägrar jag fråga ”hur har du tid som mamma till två barn, författare och säkerhetsspecialist) ”

Klassiker! Jag valde att stryka mitt lilla skämt innan jag skickade henne frågorna men faktum var att hon själv nämnde det under intervjun vilket jag tyckte var roligt.

Vi pratar en hel del om hennes böcker, naturligtvis om ”de sju nycklarna” men även hennes andra vilket ni kan finna här på (Bokus-länk).

3 mars, 2019

Veckans avsnitt om kryptering

I veckans avsnitt går vi till botten i ämnet kryptering. Och vi börjar verkligen från början. För flera tusen år sedan dolde Ceasar sina meddelande med ett så kallat ceasarschiffer.

ceasarschiffer

En annan tidig variant av kryptering är den rulle som de gamla grekerna och spartanerna använde.

Sen nämns Enigma innan vi går vidare med de nuvarande tekniker som används för att kryptera sin information.

Men är det verkligen bra i alla lägen att kryptera sina meddelanden?

Scroll to top