Författare: Erik Zalitis

4 september, 2019

När det förflutna jagar oss

… Lite falsk trygghet är vad det är…

Klassiskt citat vid det här laget: ”Vi som är födda före Facebook blev populärt, slipper skämmas för vad vi gjorde när vi var ungdomar”.

Visst är det så. Det finns säkert många pinsamma bilder de äldre generationerna när de har en lampskärm på huvudet och super billig Rysk Vodka. Dessa bilder hamnar troligen bland massor av andra i ett arkiv där de aldrig mer ser dagens ljus. Och ingen är ledsen för det. Men det är inte alltid så.

Ibland flyter gamla försyndelser upp och personer får stå till svars för saker de sagt, eller gjort när de var unga. T.ex. bilder, som då var menade som en rolig grej, men som många år senare blir pinsamma inför en persons valrörelse eller när vederbörande blir VD för ett företag.

Men allt är inte bilder. Med vår stora förtjusning av digitalisering som företag, kommuner och organisationer sysslar med just nu, dyker saker upp helt oväntat.

När jag sökte på mitt namn på Google kom helt plötsligt en artikel från DN som skrevs om mig 1993 upp. Det är när jag förklarade att jag hellre var ensam än hängde på ytliga fester och drack mig berusad. Ingenting pinsamt egentligen, men helst hade jag nog sett att den försvann i glömskans djup.

I IT-säkerhetsvärlden är denna typ av information ingenting som man tänker på. Men för en hackare eller en penetrationstestare ger den mer vapen att tillgå under ”footprinting”-fasen, när man försöker ta reda på information om ett företag, en person eller en organisation. Alla försök att minimera informationen som finns att tillgå, kan motverkas av att information från gamla faxar, BBSer, brev och telex helt plötsligt läggs ut på nätet utan förvarning. Och det är inte under vår kontroll.

När information digitaliseras, kan en hackare som tar sig in hos en myndighet läcka ut bra mycket mer information än för 10-15 år sedan. Och mer blir det. ”Vad som göms i snö, kommer upp i tö”.

Vad är strategin för att hantera detta? Det är troligen en plan att se till att ha en omvärldsbevakning där man har mekanismer för att hantera när information om en själv, sitt företag eller organisation omnäms. Det är också viktigt att fundera på om man verkligen VILL digitalisera allting. Måste saker som skulle kunna vara skadligt i händerna på en hacker bli digitalt? Fundera på detta och kom ihåg ”Internet glömmer aldrig”.

28 augusti, 2019

Att välja bättre lösenord med passfraser

Att välja bättre lösenord med passfraser
Av Erik Zalitis.
Skriven: 2019-08-26.

2012 skrev jag ett inlägg om säkra lösenord och diskuterade hur de borde användas. Det har hänt en del sen dess och numera är vi långsamt påväg att lämna lösenorden för säkrare sätt att autentisera oss. Men vi är inte där på långa vägar, så frågan om lösenord kvarstår. Hur väljer man säkra sådana?

I originaltexten skrev jag att man kan skikta lösenorden och ha regler för vilka som fick återanvändas och vilka som måste vara unika. Detta råd är helt förlegat. Nu gäller det att ha en vettig lösenordshanterare som låter dig generera starka lösenord för varje tjänst.

Men om du måste använda manuella lösenord, kommer här vad du behöver tänka på.

Ta fram en mening som inte är direkt möjlig att koppla till dig, din familj eller ting du har i din närhet. Solen skiner och jag är glad låter bra och går lätt att trycka ihop till SolenskinerOchJagEGlad. Notera att jag konverterade bort mellanslagen och de svenska tecknen. Om ditt system stöder Svenska tecken kan du öka säkerheten genom att använda dem. Det är tyvärr många system som inte funkar med tecken som åäöÅÄÖ.

Det är viktigt att ha MINST fyra ord i varje lösenord du genererar på detta sätt. Och antalet tecken måste överstiga 12.

Matematiken bakom

Vettigt byggda system lagrar lösenordsuppgifter som så kallade hashar. Dessa kan ses som ”fingeravtryck” av en lösenord. Man kan inte få tillbaka lösenordet från en hash, däremot kan man utnyttja testa lösenord tills man får fram samma hash och då vet man lösenordet. En komplicerat lösenord är oftare än många anar värdelöst. Lösenordet Sommar11 är lättare att knäcka än Ad21cTG4, men detta beror på hur man försöker gissa lösenordet.

Två saker avgör svårigheten i att gissa ett lösenord: entropin och längden på lösenordet. Entropin i detta fall är antalet möjliga tecken per position i lösenordet. Tänk dig att vi vet ett av lösenorden i listan på lösenords-hashar som vi vill knäcka och att det är Ad21cTG4. Där kan man gissa att systemet som genererat det har gett varje position en slumpmässigt vald siffra, stor eller liten bokstav. Det är rimligt att anta att det handlar om bokstäver från A-Z, a-z (26 små bokstäver + 26 stora bokstäver) och nummer mellan 0-9. Det innebär att entropin är 26+26+10=62 möjliga tecken per position.

Vi gör ännu en djärv gissning: lösenorden är automatiskt genererade och alla har samma längd. Dessutom verkar inte användaren tvingas att byta det direkt, eftersom det lösenord vi redan har verkar vara genererat av en dator och inte en människa. Det kan vara fel, men hackare måste lära sig göra rimliga gissningar.

Längden för lösenordet är som sagt 8 tecken, så kan man ju tro att antalet möjliga lösenord är 62 * 8 = 496. Om nu så vore fallet skulle lösenord inte gå att använda överhuvudtaget. 496 möjliga kombinationer är trivialt att knäcka. I verkligheten är det lite knepigare att beräkna antalet möjliga kombinationer: n!/k! * (n-k)!, där n är antal möjliga tecken och k är lösenordets längd. 1)

”!” inom matematiken kallas fakultet och innebär förenklat att man multiplicerar alla heltal från 1 till och med talet självt. För att ta ett exempel: 6! blir då 12345*6.

Mer om begreppet ”Fakultet”:
http://sv.wikipedia.org/wiki/Fakultet_%28matematik%29

Vi har 62 möjliga kombinationer (entropin) gånger 8 tecken, så:

62!/(8!*(62-8)!) = 3381098545 (3,381098545 x 10^9) möjliga kombinationer.

Tyvärr är detta också helt fel, då det antar att varje tecken bara få användas en gång och att ordningen av positioner är ointressant. Ad21cTG4 skulle då vara exakt samma lösenord som dA21cT4G, vilket är väldigt osannolikt.

Lösningen är att använda en formel för att räkna permutationer istället. Detta funkar som en formel för kombinationer, men räknar som att tecknens placering i lösenordet är relevanta. Vår valda formel tillåter att alla tecken i entropirymden får användas mer än en gång i samma lösenord.

Goda nyheter, den är betydligt enklare än den förra formeln:

n upphöjt till k

62 upphöjt till 8 = 218340105584896 (2,18340105584896 x 10^14) möjliga kombinationer.

Varför detta krånglande kan man tycka? Min poäng var att poängtera att inte glömma detta med att ett lösenord måste ha en viss ordning för att vara unik, när man räknar på lösenordsstyrka och att jag vill poängtera att ordet ”kombinationer” är felaktigt att använda om lösenord. Det heter ”antalet möjliga permutationer” och inte ”antalet möjliga kombinationer”.

Nu kommer den sista delen av sifferjonglerandet, där jag ska visa att ett 14 tecken långt lösenord inte ger dubbelt så många kombinationer som ett sju tecken långt.

Entropi: a-ZA-Z0-9

Antal tecken (k)Möjliga lösenord (permutationer) (n upphöjt till k)
162
23844
3 238 328 (238 tusen)
4 14 776 336 (15 miljoner)
5 916 132 832 (nästan en miljard)
6 56 800 235 584 (57 miljarder)
7 3 521 614 606 208 (3,5 tusen miljarder)
8 218 340 105 584 896 (218 tusen miljarder)
9 13 537 086 546 263 552 (13 tusen tusen miljarder)

(…)

1412 401 769 434 657 526 912 139 264

I detta fall har ett 14 tecken långt lösenord 3 521 614 606 208 (3,5 tusen miljarder) fler kombinationer än ett 7 tecken långt. Man kan ju tycka att ett 7 tecken långt lösenord med denna entropi är omöjligt att knäcka. 3,5 tusen miljarder möjliga lösenord kan tyckas vara extremt, men det finns en faktor kvar och det är hur många lösenord man kan testa i sekunden. Wikipedian ger oss något att jobba med: “For some kinds of password hash, ordinary desktop computers can test over a hundred million passwords per second using password cracking tools running on a general purpose CPU(…)”. 2) Låt oss anta att detta stämmer i vårt fall och din helt splitternya PC hanterar 100 miljoner lösenord-gissningar i sekunden. Då får du fram:

3521614606208 / 100 000 000 = 35216 sekunder (avrundat) = 9,8 timmar.

Tydligen är detta ett bevis på att sju tecken inte är på långa vägar tillräckligt. Hur funkar det med 14 tecken då?`

12401769434657526912139264 / 100 000 000 = 1,2401769*10^17 sekunder (avrundat) = 3932 575 290 = drygt 3,9 miljarder år.

Det finns idag extremt kraftfulla beräkningskluster (ungefär en stor samling ihopkopplade datorer som delar upp beräkningarna mellan sig) som kan gissa långt fler än 100 miljoner lösenord per sekund. Men problemet kvarstår, det handlar om så pass långa tidsrymder att det troligen inte är möjligt att knäcka inom rimlig tid.

1) https://betterexplained.com/articles/easy-permutations-and-combinations/
2) http://en.wikipedia.org/wiki/Password_cracking

Hur attackerar man ett lösenord i verkligheten?

SolenskinerOchJagEGlad har fler än 14 tecken, vilket betyder att ni som kör Windows-burkar inte lagrar lösenordet med hjälp av den knäckta LanManager-algoritmen som lagrar lösenordet som två 7-teckens lösenord och inte skiljer mellan stora och små bokstäver. Ni förstår säkert nu hur illa detta är med tanke på vad vi just gått igenom.

Brute force
Alla formlerna ovan har visat hur svårt det är att gissa riktigt långa lösenord med hög entropi. Brute force testar alla möjliga permutationer upp till ett visst antal tecken med en förinställd entropi. På riktigt långa lösenord är brute force inte särskilt användbart.

Ordliste-attack
Ordliste-attacker testar ord och kombinationer av ord från ordlistor. Den lägger normalt även till siffror, så kombinationen Sommar11 är lätt att knäcka med en ordliste-attack.

Dock har dessa attacker problem med lösenord som innehåller fyra ord eller fler. Särskilt som att du nu har ändrat delar av orden till siffror.

Rainbowtables
En bra teknik för att snabba upp knäckandet är att förberäkna och skapa en databas med möjliga hashar för en lösenordslängd och entropi. Då behöver du bara slå upp din hash och kan då få svar mycket snabbare. Problemet är att dessa databaser snabbt blir stora och tar tid att bygga. De finns förberäknade databaser att köpa eller ladda ner gratis. När lösenorden närmar sig 20 tecken eller mer, är de flesta inte användbara längre.

Hybridattacker
Här finns nog den bästa möjligheten. Genom att blanda ordlistor med brute force kanske det är möjligt. Men jag ställer mig tvekande till att SolenSkinerOchJagEGlad är möjligt att knäcka inom rimlig tid. Tänk också på att det är en stor skillnad mellan ”offline-attacker” där du har en ”oändlig tid” på dig att testa och online-attacker som är svåra att hinna med innan kontot spärras eller någon skyddsfunktion träder in.

Läs vidare
http://sv.wikipedia.org/wiki/Permutation
http://sv.wikipedia.org/wiki/Kombination_%28matematik%29

21 juni, 2019

Glad midsommar – var alerta!

Det finns ett gammal skämt – om du vill vinna över Sverige i krig, attackera på midsommarafton. Då lär det inte finns många som är nyktra nog att försvara sig. Troligen mer av ett skämt än verklighet, men en kul tanke ändå.

Fast skrattet kanske fastnar i halsen när man tänker på att IT-världen ser annorlunda ut vad det beträffar just detta. Just nu, när all säkerhetspersonal går på semester, är det högsäsong för allas vår nemesis – hackaren.

ID-kapningar ökar också, vilket föranleder mig att rekommendera er att lyssna på nästa avsnitt av vår podd. Den handlar faktiskt om just detta ämne: id-kapningar.

Så för att sammanfatta: hur mycket sommar, bad och sol hägrar, var beredd på att det kan smälla till och håll ett vakande öga öppet!

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.

3 juni, 2019

Att ta steget

Nya teknologier kommer hela tiden och i ett tidigare blogginlägg pratade vi om att inte komma efter och att hela tiden patcha. Men kanske borde vi också diskutera om det motsatta problemet: när man INTE ska ta steget eller åtminstone när man bör vänta.

En hel del nya programvaror och teknologier har problem och fel som långsamt rättas. De flesta vet att första utgåvan av en helt ny programvara eller en ny större versionuppgradering kan strula. Eller snarare, vi vet att de KOMMER att strula. Hur är det med säkerhetsproblem då? Svaret är att det är ett ganska stort problem om något som en ny kryptoalgoritm är just det: ny. När krypteringsalgoritem AES kom, gick det flera år innan den började användas i stor skala. Till en viss del vill man inte investera i nya algoritmer eller teknologier direkt när de finns. Sen finns det en känsla av att det kan vara ett misstag. Vad om det finns en allvarlig säkerhetsbrist inbyggt i protokollet eller teknologin? Misstaget när man kastade sig över WEP-krypteringen och sen insåg att den var mycket osäker är något industrin minns idag.

Samma sak gäller saker som TLS 1.3 och WPA3. De kommer att ta över, men det är troligen så att det kommer ta ett tag innan de finns tillgängliga överallt och att alla använder dem. Och risken för att man hittar allvarliga säkerhetsproblem med dem finns alltid. Få vill vara ”early adopter”, men alla vill ha nya programvaror, säkerhetsprotokoll och produkter.

Så vad är stalltipset då? Svarat är: vänta tills det är dags och låt andra ta smällarna. Det handlar ofta om en rätt stor investering och då vill man vara säkra på att produkterna man köper fungerar som de ska och inte inför nya hot. Ett visst mått av konservatism är troligen bra. Men glöm inte att inte vänta för länge. Då blir det problem med det istället.

27 maj, 2019

Elektronisk röstning?

Igår var det den stora valdagen. Svenska folket gick till valurnorna för att rösta fram vår närvaro i Europeiska unionen. Valurnor, ja. De är ju fortfarande en grej. Idag kan du betala räkningar, köpa varor och deklarera via nätet. Bra va? Borde inte nästa sak vara att rösta via Internet? Allt du behöver göra är att sitta hemma och fylla i ett formulär och avsluta med att signera med mobilt bankid och sedan är allt klart?

Varför har vi inte Internetröstning ännu? Svaret är att det finns ett visst mått av konservatism bland länderna. Men det är så av en bra anledning: om nu röstningen vore elektronisk, skulle fientliga makters påverkan kunna få oöverskådliga effekter. Vi talar om att ett helt lands regering kan tillsättas av hackare styrda av en annan nation. Detta skulle kunna bli katastrofalt. Även om detta inte sker, skulle blotta misstanken om att det KAN ha skett göra att resultatet och regeringens legitimitet ifrågasätts. En annan sak är pappersspåret. Idag finns valsedlarna kvar och kan räknas för att bekräftas och kontrolleras mot vallängder som också finns på papper. Detta är troligen mycket svårt att påverka i stor skala. Denna spårbarhet är själva kärnan i trovärdigheten för hela systemet.

Personligen tror jag att röstning alltid bör vara pappersbaserad. Jag tror inte ens att elektronisk röstning med en skrivare kopplad till elektroniska valmaskiner är tillräckligt säkert. Diebolds valmaskiner i USA där man diskuterade nödvändigheten av att ha ett virusskydd i dem för att kunna lita på dem är ett skräckexempel.

Så beställ gärna skor på nätet, men kräv att få gå till en vallokal trots regn och rusk för att rösta. Det hänger hela vår demokrati på!

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.

Scroll to top