Nyheter

Artiklar om IT-säkerhet

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.

18 maj, 2019

Den ”hemliga sektorn”

Ni känner ju till begreppet ”Offentliga sektorn” och ”Privata sektorn”, men känner ni till den ”Hemliga sektorn” ? Ok, det är inte det officiella namnet, men försvarsbranschen har många spännande projekt igång och om du arbetar inom IT-säkerhetsområdet finns det mycket som kan vara bra att delta i. Det kräver dock rent mjöl i påsen! Om du får chansen att jobba som konsult i något försvarsbaserat projekt måste du gå igenom intervjuer och säkerhetskontroller, så om din ekonomi är trasslig eller du har gjort något brottsligt nyligen är detta inte för dig!

Skulle du få chansen att jobba för något försvarsinriktat kommer du hamna i en värld med många intressanta projekt och konstruktion av diverse saker som är till för att försvara landet. Det kommer också sätta din disciplin på prov. Jobbar du med något hemligstämplat, kan du inte bara trycka ner pappren i stövelskaften och gå ut ur byggnaden! Du arbetar hela tiden på ett metodiskt sätt så att ingenting försvinner eller faller i fiendens händer. Tyvärr blir det normalt inte några hemliga fraser, agentutbyten eller samtal med skumma typer i trenchcoat när du jobbar inom den hemliga sektorn. Men du kan lära dig en hel del om hur säkerhet går till i en värld där det som folk räknar som överdriven försiktighet är vad som är normalt förfarande här.

Vad du också lär dig är att du kan bidra till att förstärka vårt försvar och samtidigt få en bild i hur en riktigt säkerhetsmedveten bransch fungerar.

8 maj, 2019

Omvärldsbevakning

Det gäller att fortsätta lära sig, skrev jag ju tidigare i denna blogg. Men låt oss prata om en den delen av det ständiga lärandet som kallas omvärldsbevakning. När man jobbar inom säkerhetsområdet är det viktigt att se trender och samtidigt ha reda på vad som händer. En del förändringar av branschen sker snabbt medan andra går med en glaciärs hastighet. Det finns två sorters information som är av intresse: de kortare nyheterna som berättar vad som just hände och sammanställningarna över trenderna. Nyheterna kan man lätt få genom att vara med i Facebook-grupper, prenumerera på säkerhetsbrev från folk som Bruce Schneier och kolla siter på nätet. Sammanställningarna får man enklast från stora säkerhetsföretag och firmor som Gartner.

Men det är inte utan problem att hålla sig uppdaterad. Många webinars (alltså korta webbutsändningar med senaste nytt) är inget annat än förtäckta produktpresentationer. De redovisar ett intressant hot och fortsätter sedan problemfritt med att använda 95% av presentationen till att berätta hur deras produkt kan användas för att bekämpa hotet. Denna typ av videos är rätt döfödda. Gratisseminarier är det ofta lika illa med. Ett av föredragen under en dag av seminarier kanske har en allmängiltig presentation, medan resten pratar produkter … produkter och … produkter. Jag tycker dessa är ganska intetsägande och inte värda tiden de tar att se. Dessutom tror jag många deltagare letar efter ett skäl att kunna få betalt utan att behöva arbeta när de går på dessa evenemang. Det och gratis mackor.

Sen finns det podcasts och tjänster som Youtube. Om man har tiden är dessa ofta värdefulla om man vet vad man ska lyssna på. Jag har ofta podcasts i lurar eller i internetradion vid sängkanten när jag har tid. Självklart tror jag vår podcast kan vara värdefull i sammanhanget, men det är ju inte den jag lyssnar på under dessa tillfällen. 🙂

Om du har ett ansvar på din avdelning att hålla dig och dina kollegor eller kunden uppdaterade med vad som händer, starta ett nyhetsbrev eller någon annan typ av tjänst. För många är en sån tjänst värdefull när man behöver svara på frågan om vad den senaste tidens händelser och trender betyder för just den som lyssnar. Måste något förändras? Är det dags att dra öronen åt sig på något sätt? Är det man gör bra eller dåligt vad det gäller säkerhet.

Om du lyssnat på vår podd ett tag kanske du har en liten lista med saker som är intressanta för dig och som vi pratat om:

  • Attackerna blir mer riktade.
  • Lösenorden är på väg bort – och de som fortfarande används måste vara långa.
  • Social manipulation är en stor faktor.
  • Att upptäcka attacker på ett smart sätt är viktigt.
  • AI är påväg – mycket kommer ändras.
  • Tänk två gånger innan du hoppar på IoT-tåget.
  • Internet har stöpt om säkerhetstänket och fortsätter att göra så!

Och så vidare. Det är helt klart värt att sätta ihop sådana här listor lite nu och då och givetvis alltid från många olika källor.

Så se till att du ha örat mot rälsen och vet vad som händer och kan ana framtiden.

24 april, 2019

När man säger för mycket

Det är en allt mer ovanlig syn: felmeddelandet som säger allt.

Kommer ni ihåg när man kunde gå till en hemsida och se följande meddelande?

”Microsoft OLE DB Provider for ODBC Drivers error ’80040e14’

[Microsoft][ODBC SQL Server Driver][SQL Server]Unclosed quotation mark before the character string ’46’.

/webapp.php, line 12″

Detta förekommer fortfarande, men just detta meddelande är idag nästan ett museiföremål. Meddelandet ovan kommer från en sårbar webbapplikation som råkat ut för någon som testat att lägga till en apostrof i ett indatafält. Detta är en indikator att man kan göra en SQL-injektion. Meddelandet avslöjar även vilken databasmotor man använder.

Att säga att det inte sker längre är dessvärre att tro för väl om säkerheten på Internet. Det finns stora mängder exempel på system som berättar vilken version de är eller läcker ut annan känslig information. Det finns många ställen där man kan demonstrera detta. En av de mest användbara är ”Google Hacking Database” som innehåller en lista på sökord som kan användas för att hitta sårbara applikationer eller intressanta saker att titta djupare på. Den bygger på att applikationer ofta läcker ut konfigurationer, lösenord eller loggar på nätet, som Googles sökmotor snappar upp när den indexerar sidorna. Ett exempel ur den digra listan: prova följande länk för att hitta applikationer på Github som hårdkodar sina lösenord i konfigurationsfiler. Många av dessa är troligen av rätt begränsad användning. Men det finns anledning att fundera på om det är så lämpligt att skriva en applikation på detta sätt. Kan man använda denna information för att hacka? Svaret är att det beror på ens fantasi.

Sen finns ShodanHQ som låter dig söka efter enheter som är nåbara från Internet. Detta verktyg har vi pratat om på podden, så det enda jag kan säga här är att det avslöjar mycket. Det ska noteras att sökningen är helt laglig. Den gör absolut ingen skada. Däremot ska du inte göra något för att ta över systemen. Vi avråder starkt från att faktiskt försöka hacka system utan tillstånd. Vi tar inget ansvar för vad som händer om du försöker dig på något sådant. Håll dig på den lagliga sidan!

Vad finns det att lära av detta? Det jag ser är att det är viktigt att inte ge ut någon information annat än den mest absolut nödvändiga. All information kan komma att användas av någon som har oärliga avsikter.

18 april, 2019

Att förstå säkerheten

I början av 2000-talet fanns siten ”Interface Hall of Shame”. Denna site visar exempel på värdelösa grafiska användargränsnitt. Min favorit är hur de relaterar till någon som på ett forum undrade hur en dropdown meny kunde fås att fungera när man hade tusentals möjliga val i den. Svaret är: varför vill du ens bygga något så dumt?

Säkerheten är inget undantag från att dålig design. Eller, vad som nästan är ännu värre, exempel på egenpåfunna lösningar. Som jag skrivit i tidigare blogginlägg: inom säkerhetsområdet är det i stort sätt alltid en dålig idé att komma på sin egen krypteringsalgoritm och tro att den kommer förbli säker om man bara låter bli att berätta hur den fungerar.

Men det finns många tillfällen där personer och företag har byggt lösningar utan att förstå säkerheten bakom.

I Windows 95 sparades lösenorden man loggade in med i ett format som Microsoft själva hade hittat på. Hur det fungerade höll man givetvis för sig själva. Och det tog inte lång tid för några duktiga hackare att knäcka det. Lärdomen av det, som jag skrev ovan, är att inte hålla det hemligt och att inte försöka bygga algoritmerna själv.

Säkerhetsexperten Steve Gibson kom på en metod för att skydda datorer från överbelastningsattacker. Innan hans lösning blev ens byggd, tittade några andra säkerhetsexperter igenom vad han gjorde reklam för och sågade lösningen. Den var inte säker. Steve hade inte pratat med någon annan medan han satt på kammaren och byggde vad han trodde var en perfekt lösning. Dessutom hade han troligen inte koll på att en liknande lösning redan fanns och hade används under ett antal år. Lärdom: prata med andra om din lösning och kolla om du måste bygga den överhuvudtaget.

De som uppfann den trådlösa krypteringsmetoden WEP gjorde en katastrofalt dålig lösning som visade sig var extremt enkel att knäcka. Om man skyddar sitt trådlösa nätverk med WEP, är det i princip som att skicka data i klartext. Anledningen till problemet var att man inte förstått hur man krypterar säkert och gjort några nybörjarfel i designen. Lärdomen är att se till att man förstå området man ger sig in på innan man bygger sin lösning. Bara för att du själv inte kan hacka din egen lösning, betyder det inte att andra inte kan.

Och jag har själv gjort en tavla. Jag byggde ett autentiseringssytem i php som jag var mycket noggrann med att säkra. Alla inmatningar kontrollerades och sanerades. Databasanropen skedde med ett nedlåst konto. När jag provade att göra en SQL-injektion, lyckades jag hacka min egen lösning på första försöket Jag hade helt enkelt glömt att kontrollera datat från inmatningsfältet för lösenordet, vilket är det andra fältet som skickar data till applikationen. Lärdomen är att inte anta du gjort allting rätt för att du tycker att du kan området. En förmildrande omständighet var att jag faktiskt kollade säkerheten innan jag släppte applikationen lös på nätet.

Säkerhetsområdet kan vara svårt att förstå och jag tror att det korrekta sättet att hantera det är att vara öppen och låta andra titta på vad du gör. Se till att källkoden till det du bygger släpps fritt på nätet om du kan. Använd alltid testade och vedertagna principer när du arbetar med säkerhet. Försök inte göra allt själv och förlita dig inte helt och hållet på någon enstaka person som har rykte om sig att vara en guru.

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 april, 2019

När säkerheten blir för svår

Numera är det ärligt talat rätt lätt att motivera säkerhet i princip alla lägen. Det är ingen som längre tycker det är för jobbigt att man måste logga in på alla ställen man går. Det är alltid bättre än att bli av med sina uppgifter eller att någon hackar ens konto.

Men det finns fortfarande en smärtgräns när säkerheten blir ett hinder i vägen för arbetet. En klassisk mekanism för att demonstrera säkerhet i ett projekt eller när man konstruerar något är ”USE”-modellen. Den går ut på att se tre faktorer : ”Användarvänlighet (Usability), Säkerhet (Security) och Kostnad (Economy)”.

Användarvänlighet är när en produkt är enkel och kan användas utan problem eller utan att kräva några förberedelser. Säkerhet är en process där produkten görs så säker som det går. Och kostnad är att produkten är så billig som möjlig. Det som är intressant är att man bara kan välja två av dessa faktorer. Den tredje får man offra. En produkt som är billig och
användarvänlig är inte säker. En produkt som är
användarvänlig och säker är inte billig och en produkt som är billig och säker är inte användarvänlig.

Ett klassiskt exempel på när säkerheten offras är när president Kennedy krävde att man skulle sätta en kod på varje kärnvapenbestyckad missil. Denna kod måste anges för att låsa upp missilen. Detta blev byggt, men man valde koden 00000000 (åtta nollor) som kod för alla missiler. Detta dokumenterades också i pappren. Så på pappret var det ett säkert skydd, medan det i verkligheten inte dög någonting till i det avseendet.

Enligt boken ”Jävla skitsystem” skriven av Jonas Söderström, lade IT-avdelningen in ett lösenordsskydd på en vårdcentrals terminaler. Detta stängde skärmen efter ett antal minuters inaktivitet. Terminalerna i receptionen måste ju vara igång, så personalen lade datormusen i en vagga som används för att kontinuerligt skaka om blodprovet så att de inte ska koagulera. Effekten blev att vaggan höll muspekaren igång så att skyddet aldrig startade.

Listan på hur folk går runt säkerhet kan göras hur lång som helst, men anledningen verkar alltid vara den samma: det är för jobbigt hantera saker som har hög säkerhet. Och det är också utmaningen för oss i branschen: att bygga säkerhet så att den säkra vägen också är den naturliga. Ett exempel: biometrisk inloggning är hyggligt säker och gör inte lösningen mycket krångligare än att bara använda namn och lösenord. Så visst finns det säkerhet som fungerar utan att vara iväg.

7 april, 2019

Hur förberedd är du?

I veckans avsnitt pratar vi med Anna-Maria Stawreberg eftersom hon skrivit boken Prepping.

Avsnittet är inspelat på Zetups kontor i Kista och jag tog emot henne på eftermiddagen och Erik hade riggat upp ett av konferensrummen med mikrofoner och ljudutrustning.

Anna-Maria är knivskarp. Det märker jag direkt när hon kliver in på vårt kontor och hur hon ser sig omkring, noterar våra bilder på väggarna och ställer frågor. Jag hinner knappt avsluta mitt svar förrän hon förstått vad jag menar.

Prepping dårå? Är det bara knäppgökar som har hela källaren full med konserver eller amerikanska redneck med hemmet fullt av vapen och konspirationsteorier?
Kanske. Några ja…. men tänk så här istället. Ifall mobilnätet går ner eller svenska elnätet hackas. Har ni några rutiner hemma? VAR ska ni ses? Vem ser till att hämta barn från skolan? Var och hur ska ni ta del av nyheter och information? Kan du till exempel telefonnummer till din familj utantill?


4 april, 2019

Säkerhetsäggen finns fortfarande

Det är riktigt gammalt nu och jag minns att det pratades om det redan när jag började min karriär inom säkerhetsområdet. Jag talar om de berömda ägget. Alltså den där säkerhetslösningen som fungerade som ett enda hårt skal. Tog man sig igenom det, kom man åt det goda innanför utan hinder. Istället förordade man löken. Denna fantastiska ätbara tingest som hade lager på lager som måste tas bort innan man kunde komma någon vart. Precis så skulle säkerheten vara. Lösning på lösning där varje lager skyddade det nästa. Halleluja! Jag var på en föreläsning där man släppte ett riktigt ägg på en utvikt sopsäck och sedan släppte man en lök på samma sätt. Inga poäng om du lyckas gissa vilket som gick sönder och vilket som höll! Pedagogiskt och något effektsökande. Men idag är det väl inte så längre?

Kanske inte. I alla fall inte huvudsakligen. Men ändå på något sätt ska jag säga. En kompis till mig ringde för några dagar sedan och var överlycklig över att han hackat en Chromecast. Denna tingest, menade han på, var lätt att ta kontroll över. Huvudsakligen för att de har tjänster som är öppna och bjuder på lite motstånd till den som vill ta över dem. Själv roade jag mig med att hacka mitt eget Netgear NAS en kväll jag hade tråkigt. Så dessa enheter finns ju alltid. Och vad skyddar sådana tingestar?. Dörren till huset. I övrigt kan man ta sin dator och koppla in den på nätet och prata direkt med dem. Många ägg finns bland skrivare, scanners och TV-apparater som man kopplat in bland kontor-PCs på arbetsplatser. Ingen löksäkerhet så långt ögat kan nå. Men webbapplikationerna har brandväggar, reverse proxys och nås enbart via ett VPN med multifaktorautentisering. En riktig lök!

Sen hur ser det ut inne i applikationerna? Bland många organisationer jag varit ute på ser man samma mönster: numera får man inte ut så mycket data ur en katalogtjänst som Active Directory utan att autentisera sig. Men om du autentiserar dig med ett helt vanliga användarkonto är det mesta tillgängligt. De flesta attributen är läsbara du kan tömma hela personalkatalogen med några enkla LDAP-frågor från en dator med Kali-Linux på. Den webb-baserade personalkatalogen är skyddad av Kerberos och släpper bara ut utvald information, så där har du katalogtjänstens ägg mot personalkatalogens lök. En låst ytterdörr och en öppen bakdörr som ger dig både äggvita och ägg-gula. Ok, jag ska sluta prata ägg nu. Påsken är i instundande, så det kanske är rätt tid för det, men jag tror att jag lyckats få fram min poäng med denna diskussion.

28 mars, 2019

Misstag med sessionshanteringen i webbapplikationer

Låt oss vara lite tekniska för en stund. Autentisering, auktorisering och sessionshantering är en svår konst. Man vill att användaren ska loggas in på ett säkert sätt och att man inte ska kunna ta sig in i sessionen. Här är några vanliga misstag som görs av programmerare.

Session fixation

När man bygger en webbapplikation är det ganska vanligt att man använder sessions-id. Dessa är till för att man ska kunna hålla en användare inloggad. Det är en mycket känslig del av det hela rent säkerhetsmässigt. Den korrekta metoden är att logga in en användare och sedan sätta ett sessions-id därefter. Detta ska leva tills användaren loggar ur eller tills en viss tid uppnåtts. När jag utför pentester, stöter jag ofta på webbapplikationer som sätter sessions-id INNAN användaren loggar in och sedan använder samma sessions-id EFTER att du loggat in. I ett sådant scenario går det ofta att ta över användarens hela session med ett mail och lite social engineering.


Man skriver ett mail med en länk till applikationen som man ska hacka. Detta mail anger ett sessions-id som man själv hittat på. Användaren klickar på länken och loggar in som vanligt. Nu vet du denna användares sessions-id efter du själv bestämt det. Då kan du på din egen webbläsare ange samma sessions-id och gå in som användaren utan att behöva logga in.

cookies utan secure-flaggan

Ofta realiseras sessions-ids med cookies. Om man inte sätter flaggan ”secure” på dessa, kan man övertala applikationen att skicka dem över en klartextförbindelse. Genom att använda ett verktyg som sslstrip, kan en attackerare på det lokala nätverket få tag i giltiga sessionscookies.

sessions-id i get-metoden

Om man tillåter sessions-ids i address, som tillexempel www.sårbarsite.se/app?SESSION=235234532556768, kan en användare av misstag råka ge bort sin session via mail. Man bör också undvika att ta in variabeln via både get och post.

Sessionen tar aldrig slut

En session måste ha en klocka som räknar ner och avslutar sessionen när användaren varit inaktiv en viss tid. En del webbapplikationer byter även sessions-id när sessionen varit igång en viss tid. Men många webbapplikationer låter sessionerna lever i all evighet, eller har extrema värden som gör att en session kan vara inaktiv i veckor och fortfarande vara aktiv.
cookie utan httponly-flaggan

Mindre allvarligt, men ändå. En sessionscookie bör vara satt httponly, för att hindra att man på klientsidan kan manipulera den med javaskript-kod.

Ingen webcookie

En webcookie är ett värde som läggs till jämte session-id. Den måste finnas i anropen för att användaren ska kunna göra ändringar i webbapplikationen. En session är nämligen giltig i alla flikar i en webbläsare (Om man inte köra i inprivate mode). Detta gör att elak kod som körs i en annan flik kan göra ändringar i den webbapplikation du använder. Ofta saknas denna webbcookie, vilket gör webbapplikationen sårbar för en cross site request forgery-attack. Med en webcookie kan du bara göra ändringar i webbapplikation från den fliken du loggade in i webbapplikationen med. Detta kan skydda dig om du är inne och ändrar inställningarna i en routers webbinterface medan du surfar i en annan flik (Inte att rekommendera, dock!)

Ingen HSTS (HTTP Strict Transport Security)

HSTS är en HTTP Header som säger åt en webbläsare att ALLTID använda HTTPS mot en sida. Denna enkla mekanism gör verktyg som sslstrip verkningslösa. Tillsammans med secure-flaggan på sessionscookie, ökar de säkerheten enormt.
Ingen HTTPS

Detta borde inte vara ett problem idag, men det är det. Siter som hanterar inloggningar men inte har HTTPS finns fortfarande. Detta är ganska självklart ett problem. Men det finns fortfarande de som lever i det förgågna.
Så för att sammanfatta: det finns ett antal metoder man kan använda för att se till att användaren kan lita på att deras interaktioner mot din webbsida är säker. Använd dessa!

Scroll to top