Attacker och skyddsmöjligheter Situationen i dagens datormiljö Så var passar kursens presenterade metoder in i olika hotbilder? Vad mer bör vi göra för att få rimlig säkerhet?
Grundfrågor att ställa sig idag Vad vinner vi på att ansluta en tänkt ny tjänst till nätet, eller behålla en tjänst där? Hur ändrar detta skaderisk för tjänsten jämfört med att inte ha den via internet? Hur ser balansen mellan vinst och risk ut för helt nya tjänster? För våra existerande tjänster utifrån nya hot?
Exempel idag Basstationer i dagens telenät underhålls via nätet, inte via människor som låser upp larmad, fysisk dörr till basstationen. Kan nu någon obehörig koppla bort kryptering, installera avlyssningsprogram o s v? Smarta telefoner förses med kryptonycklar, som tidigare lagrades i separata kort, i särskilda dosor eller i den stationära hemmadatorn. Kan trojan-appar avslöja nycklarna, eller använda dem? Vad innebär det riskmässigt att vi alltid bär telefonerna med oss till skillnad från de tidigare nyckelbärarna?
Då vi identifierat (nya) risker Exakt hur kan våra identifierade möjliga skador via nätuppkopplingen uppkomma? Finns kända skydd mot just dessa hot? Är skydden tillräckligt effektiva? Stör skydden effektiviteten för den tjänst vi vill tillhandahålla? I så fall, till vilken grad?
Vad behöver vi skydda oss från enligt media? E-postburna virus/maskar/trojaner Lömska webbsidor (otydligt vad de förväntas göra) Identitetsstöld (ofta = stöld av kreditkortsnummer) Attacker via säkerhetshål (med ospecificerat resultat) Phishing Skimming Bot-nets och Denial of Service Massavlyssning (eller snarare: Hur förbjuds det) Och kanske spam när vi ändå är på alerten
Vad anses bara drabba vissa organisationer och personer Åsiktsmotiverad DoS Åsiktsmotiverat sabotage av hemsidor Anställdas överutnyttjande av rättigheter, insider-problemet Politiskt motiverad övervakning
Det händer inte mig/oss-syndromet och ger i alla fall ingen skadlig effekt för mig, tror jag Nätavlyssning (utan officiell brottsmisstanke) NSA och FRA: Total avlyssning, inklusive med aktiv hjälp av tjänsters tillhandahållare Medvetet förfalskade signaturer eller certifikat Falskt uppdateringscertifikat från Microsoft Spionage från konkurrent via dator Ej offentliggjort normalt, men jovisst enstaka fall sedan årtionden Medvetet, riktat sabotage (ej överbelastning) Stuxnet: Riktat sabotage
Standardråden i media och från myndigheter Ha brandvägg och virusfilter, och uppdatera dem. Var misstänksam mot bilagor o s v. Ladda inte ner saker från skumma sajter och besök bara välkända, pålitliga sajter. Ha automatuppdateringar påslaget. Välj bra lösenord, och byt ofta
Fungerar råden? Räcker de? Uppdaterad brandvägg och virusfilter är självklart. Men de tar ju inte helt nya hot och hjälper inte mot säkerhetsluckor Bilagor är nödvändiga för de flesta. Manipulerade sådana kan ha transporterats via betrodd kontakt. Vilka sajter är skumma? Inga nya kontakter??? Automatuppdatering stjäl ofta resurser just då datorägaren själv behöver dem, vilket gör att många slår av uppdateringarna. Datorn är alltid sårbar då den slås på, eller då säkerhetshålet är upptäckt men uppdateringen inte skickats ut av leverantören än. Lösenordteknikens allmänna svaghet har vi presenterat tidigare, och exakt vilket hot mildras av täta byten? Så nej, de allmänna råden är vettiga, men räcker inte långt
Hur bra fungerar då det vi hittills gått igenom i kursen? Vi har lärt oss grundtyper för användarautentisering, hur de bör implementeras och deras svagheter Vi har gått igenom behörighetsbegränsningar, vad de kräver och hur de kan användas Vi har tittat på funktion och tänkbara problem för nyckelhantering och certifikat Vi har nämnt grundfunktion och problem med virusskydd och andra filter och med IDS Låt oss gå igenom en lista över välkända hot
Vad behöver vi skydda oss från egentligen? Virus/maskar/trojaner Attacker via säkerhetshål Falska webbsidor (med t ex phishing eller skadlig kod) Identitetsstöld inklusive phishing och skimming Nätavlyssning Medvetet sabotage, inklusive Bot-nets och DoS Och kanske spam och cookies när vi ändå är på alerten Industrispionage och insiders Mobil kod.
Virus/maskar/trojaner Skydd kräver särskild filterprogramvara med snabb uppdatering och certifikat för uppdaterings avsändare Begränsa skademöjligheter om du ändå drabbas: Använd så snäva behörigheter som möjligt, logga inte in som administratör i onödan Minimera automat-tjänster för e-post m m Sandlådor i webbläsare och för telefon-appar Ha back-up på ej ändringsbart medium, alltså inte i moln och inte på fast monterat, ändringsbart medium lokalt, där attackkoden kan ändra,
Attacker via säkerhetshål Snabb uppdatering av alla viktiga program och certifikat för uppdaterings avsändare Begränsa skademöjligheter om du ändå drabbas: Använd så snäva behörigheter som möjligt, logga inte in som administratör i onödan Ta bort/stäng av alla ej utnyttjade tjänster Sandlådor i webbläsare och för telefon-appar Ha back-up på ej ändringsbart medium, alltså inte i moln och inte på fast monterat, ändringsbart medium lokalt, där attackkoden kan ändra,
Falska webb-sidor Webb-läsaren kan varna för rapporterade skumma adresser, men det är lätt att flytta skumt innehåll till ny adress Certifikat ska säkerställa att jag i alla fall nått avsedd adress, skum eller inte. Man-in-the-middle kvarstår
Problem med certifikat Om Eve fått certifikat i Bobs namn blir Alice lurad. Eve dekrypterar allt avsett endast för Bob, och kan skicka data som Alice tror kommer från Bob. Hur utfärdas certifikat? Äldre certifikat använde den numera knäckta SHA-1 för signaturen, vilket möjliggör skapande av falskt certifikat Det är så vanligt att ärliga sajters certifikat har gått ut, så användaren struntar ofta i varningar om ogiltiga certifikat Certifikat bygger på att klienten kan kontrollera certifikatets äkthet med en nyckel för signerande CA, men hur får man en pålitlig CA-nyckel? Certifierad krypterad kommunikation skyddar innehållet, men inte meta-data, hindrar inte upprepade effekter av upprepad kommunikation, och varje certifikat ger skydd i bara en riktning
Identity theft Amerikanskt uttryck för att man gör saker i annans namn (och lyckas med det). Allt vanligare som identitetsstöld även i Sverige. Grundproblem: Ofta finns ingen hållfast autentisering av identitet. Något man vet används, inklusive sådant som många andra vet. Åtgärdsförslag innebär ofta att minska, inte utesluta, spridningen av data, som många ändå måste känna till, t ex kontokortsnummer. Även vid känsliga applikationer används identitetsautentisering, som bygger på metoder som är sårbara för phishing och skimming,
Phishing (lura användaren att sända t ex lösenord till fel adressat) Phishing bygger på att attackeraren kan sända det kontrollanten förväntar sig vid ID-autentisering. Motmedel måste bli att attackeraren inte vet vad kontrollanten förväntar sig Challenge - response med kryptografisk styrka Eller övergång till metod där attackeraren inte kan ta emot och därefter kopiera giltig signal Autentisering av kontrollanten innan lösenordet sänds (och då förstås krypterat i tidsberoende meddelande) Realtidsarbetande man-in-the-middle stoppas inte av åtgärd mot phishing
Skimming (Avläsning och kopiering av magnetremsa på kort) Kortläsare och skrivare är enkelt att komma över/tillverka Försvar är aktiva kort, som verkligen använder stark challenge-response. Kortets hemliga innehåll får då ej vara åtkomligt för någon yttre läsare. (Fysiskt svårförfalskade kort är en annan möjlighet, som prövats historiskt)
RFID, NFC, Bluetooth o s v Radiotransmission är bara mer lättavlyssnad överföring av data, som annars läses med direktkontakt till magnetremsa eller aktiv krets. Idag på kort, i pass, i telefon, i bilnyckel o s v. Ger legitima användare lättare hantering men sämre säkerhet. Deklarerat maximalt läsavstånd gäller garanti att läsning är möjlig inom det avståndet med godkänd utrustning enligt standarden, inte på något sätt att avläsning är omöjlig eller ens svår på längre avstånd.
Skydd mot identitetsstöld Applikationen/servern ska betrakta identiteten som preliminär, utan juridisk bindning eller allvarlig åtgärd, tills verklig autentisering genomförts Godkänn aldrig något som flera känner till som bevis för ID Lagra och sänd aldrig lösenord i klartext. Användare ska se till att ha starka lösenord, som är olika för olika tillämpningar. Magnetremsa respektive radiokrets kan ersätta t ex metallnyckel, men säkerhet kräver minst PIN och helst challenge-respons Vid känsliga operationer måste starkare autentisering krävas. Man-in-the-middle hindras inte av inledande autentisering!!! Innehållskryptering med ägarkontrollerad nyckel klarar dock de flesta hot på nätet.
Nätavlyssning Bra kryptering är mycket lätt att åstadkomma idag. Enda ursäkten för att inte kryptera känsliga data är att man verkligen inte ser något hot, trots noggrann analys. För allmän surfning blir problemet att tjänster ofta inte stöder bra kryptering, trots att sammanställning av kommunikation kan vara känslig även för oskyldiga data, t ex metadata. Och tjänsten kan samarbeta med avlyssnaren, tex ISP med NSA. Hög säkerhet kräver mer komplex nyckelhantering än grundversioner. Glöm inte, vid behov, skydden för metadata, t ex vem som kommunicerar!
Metadata som avlyssningsmål Vem kontaktar du? Är det känsligt? Vilka sidor besöker du? Är det känsligt? Vilka tjänster använder du? Är det känsligt? Skydd krävs på kommunikationsnivån under den du vill dölja Skydd för vilka nätpunkter du kontaktar (lägsta nivån) kräver då skydd som Tor
Medvetet, riktat sabotage Idag mest känt som DoS, ändring av dåligt skyddade webb-sidor och framkallande av tillfällig systemkrasch Hittills använt politiskt (Estland, Georgien, Taiwan kontra Kina o s v) och militant, som mot vissa industrier och näringar Fysiskt sabotage rekommenderades redan av 70-talets terrorister Det verkliga hotet vore smygändringar...
Botnets och Denial of Service För att inte bli del i ett botnet: Uppdatera säkerhetshål Kör inte rutinmässigt under systemadministratörens identitet För att hantera attack: Resurser och uppsättning av protokoll anpassade för att klara mer än normal belastning Beredskap för reducerad service (t ex förenklade och/eller färre tillgängliga webbsidor) Bra ISP, som kan hjälpa till
Hemsidessabotage Ändring ska kräva hög behörighet (med bra autentisering för innehavaren) Säkerhetshål ska automatbevakas Rätt version ska finnas lätt tillgänglig för återladdning, men oåtkomlig från webbservern för ändring
Spam Spam är bara delvis ett säkerhetsproblem Spam kan begränsa tillgänglighet genom överbelastning Spam kan begränsa tillgänglighet genom att filter slänger önskad post, som förväxlats med spam Använd hotanpassad adressfiltrering (blacklist, white-list, grey-list) och innehållsfiltrering, samt regler utöver black-list, som möjliggör blockering av uppenbara spam-källor. Sortera misstänkt spam till särskild mapp
Cookies Cookies är korta teckensträngar, som en tjänst lägger i en klients webb-läsare för att spara egen information från samma session eller en tidigare Cookies är praktiska, eftersom tjänsten inte behöver spara kundspecifik information med egna resurser, och kan se information från tidigare sessioner med oidentifierad användare med variabel IP-adress Cookies har standardformat, och kan därför avslöja mycket om klientens webb-aktiviteter Cookies ska bara kunna läsas av den som skapat dem.
Industrispionage via dator Händer det??? Tja det finns kända fall, men oftast handlar det om att nästla sig in i företaget, utnyttja social engineering o dyl snarare än IT-attack Det är idiotiskt att inte inse möjligheten och bevaka säkerhetshål, ha restriktiv inre brandvägg i DMZ-konfiguration, använda VPN och ha snäva behörigheter internt En hel del läcker via användarmisstag!
Användarmisstag (t ex att sända hemligt innehåll till fel mottagare) Begränsa alltid behörighet till need to know / need to handle Logga vad som händer, följ upp orsaker och förbättra systemet där misstag kan göras mindre sannolika Automatkryptera allt på bärbara media Åtgärda bristande användarvänlighet Utbilda personalen (får aldrig ersätta något av ovanstående!!!)
Insiders Återigen: Inga onödigt vida behörigheter Loggning Spårning, inklusive individuell och säker användarautentisering Utbildning (fungerar både klargörande och avskräckande, om den utförs rätt)
Och så alla webb-tricks! Nedgradering av skyddsnivån i protokollet vid handskakning Attack-URL som liknar måltavlans DNS-spoofing att dirigera om anrop till attackerarens sidor Dold vidaredirigering i länkar Dolda knappar till länkar/åtgärder Och att smyga in exekverbar kod
Så vad är exekverbar kod och vad är bara data?
Kod via hål i extrafunktioner Läsare (browsers) och verktyg för e-post har ofta många och diversifierade funktioner utöver grundfunktionen att förmedla innehåll. Typiska extrafunktioner är att följa länkar i dokument och webb-sidor, att öppna bilagor, att editera till lokalt format och annat. Man kan inte presentera en bilagas typ m m utan att öppna åtminstone headern, och säkerhetshål där har gett möjlighet att få kod exekverad. Det är dålig säkerhetsarkitektur att göra alltför mycket automatiskt, utan att fråga användaren. Onödiga tjänster ska slås av.
Klassisk introduktion av kod: Buffer overflow/overrun Internlagring i datorer blandar direkta maskininstruktioner, avkodbara instruktioner, pekare till programkod och rena data allt efter tillgängligt minnesutrymme Om användaren (=attackeraren) lyckas skicka in datasträngar, som är längre än reserverat utrymme för indata, kan datasträngens innehåll överlappa utrymme där processorn hämtar instruktioner eller pekare på instruktioner
Mobil kod Mobil kod är ett samlingsnamn för programkod som är avsedd att tas emot och därefter exekveras över nätet Hit hör hemsides-applets, makron till ordbehandling och mycket annat För webbläsare använder man sandlåda, d v s behörighetsbegränsning kopplad till varifrån koden kom, till exempel att koden bara får läsa lagrade data som skapats av kod-avsändaren (gäller även cookies) Signerad mobil kod har garanterad avsändare, men ingen automatisk garanti för vad den sedan gör med sin behörighet.
Telefon-appar då? En app är ett litet program du själv laddar ner, alltså inget principiellt nytt så långt. Kan innehålla trojaner, säkerhetshål och alla andra svagheter. En app ersätter idag ofta det som tidigare skulle gjorts via en hemsida (jämför t ex att ladda ner en app för ett flygbolag och att använda webbläsaren för att nå bolagets hemsida). Så en apps kod kräver sandlåda, precis som motsvarande nedladdade kod från en hemsida. App-store o s v försöker granska det de distribuerar.
Och scripts som hot? Ordet scripts används ofta vid avancerade attacker. Det är egentligen bara benämning på en samlad serie instruktioner. Scripts kan vara program på en server, där de utför uppgifter nödvändiga för att fylla webb-sidor med rätt uppgifter utifrån klientens anropsdata Det kan också vara motsvarande funktioner, som körs i anroparens dator Det kan vara en serie instruktioner från anropare
Att få elaka scripts exekverade Cross site scripting, XSS, innebär att angriparen smyger in eget script i svar från pålitlig webb-sajt, t ex genom säkerhetsluckor, genom att delar av svaret hämtas från opålitlig sajt o s v Exempel: Man kan lyckas ändra vidarelänk i den efterfrågade sidan eller ändra hämtningsadress för delar av innehållet Man kan smyga in kod i det som borde vara text i fält som fylls i av användarna (kommentarsfält o s v) Säkerhetshotet är framför allt att sådana insmugna script körs med den pålitligas behörighet
Har kursen nämnt allt relevant? Det dyker kontinuerligt upp nya tjänster och kommunikationsstrukturer, ofta med nya svagheter och tyvärr ofta med upprepning av gamla välkända, liksom att nya svagheter hittas i gamla tjänster Vi har inte alls berört grundläggande säkerhetskärnor i OS, hårdvaruåtgärder m m, vi behandlar dolda kanaler, att lista ut datainnehåll på annat sätt än att direkt läsa data, bara som ett exempel i en labb o s v Kursboken (och OH till TSIT02) innehåller mycket mer! Seriösa säkerhetsbloggar, som Bruce Schneiers Cryptogram, ger bra tips om det senaste.