innføring i datasikkerhet · massivt oppslag på rutere eller dns-servere phishing mye av dette...
TRANSCRIPT
Side 1 av 11
Institutt for informatikk og e-læring, Norges teknisk-naturvitenskapelige universitet
Innføring i datasikkerhet André Gaustad
Lærestoffet er utviklet for emnet INI4005 Datasikkerhet
Innføring i datasikkerhet
Resymé: I denne leksjonen har vi en innføring i hva datasikkerhet innebærer og forskjellige former for
angrep
1. Innledning ....................................................................................................................................... 2
2. Bakgrunn ......................................................................................................................................... 2
2.1 Typiske angrep ........................................................................................................................ 3
2.2 Ormen W32.SQLExp (“SQL Slammer”) .................................................................................... 4
2.3 W32.Downadup (“Conficker”) ................................................................................................ 5
2.4 Hvordan har infeksjonene blitt spredt? .................................................................................. 6
3. Antivirus/Antimalware .................................................................................................................... 7
3.1 Ulike løsninger ........................................................................................................................ 7
3.2 Virkemåte ................................................................................................................................ 8
3.3 Svakheter ................................................................................................................................ 9
4. Passord .......................................................................................................................................... 10
Side 2 av 11
1. Innledning
I dette faget skal vi se på hvordan du kan planlegge og sette opp sikkerhet i et system. Dette går
både på design av nye systemer, for eksempel ved etablering av en ny bedrift, og revisjon av
eksisterende systemer der man ønsker å sette fokus på sikkerhet. Det meste av faget vil berøre
datasikkerhet, men vi vil også komme inn på generell drift og sikkerhet i en bedrift. Dett kan gjelde
så enkle ting som adgang til et lokale. Vi skal også se på hvordan du kan sikre din egen PC, men det
meste vil angå sikkerhet i nettverksbaserte systemer. Enkelte leksjoner vil være teoretiske, mens
andre vil gå gjennom praktiske ting som f.eks. oppsett av Group Policy.
En del av lærestoffet har sitt opphav i boken «Principles of Information Security»1. Det er ikke
påkrevd å kjøpe boka, og den er ikke pensum til sluttvurdering i emnet, men det er selvsagt en
fordel.
2. Bakgrunn
Datasikkerhet vil si å bygge systemer som er pålitelig og driftssikre uansett situasjon som måtte
oppstå. I dette emnet skal vi se på hvordan man kan planlegge og designe ”sikre” nettverk”,
implementere disse i en organisasjon, teste systemene og sette de i drift. Når man skal designe
nettverk med høy grad av sikkerhet kreves ofte at man bruker kunnskap fra mange forskjellige
disipliner, men hovedvekten vil likevel ligge på:
kryptografi
datasikkerhet
nettverkstopologi
oppsett av brannmurer
logging av trafikk
kunne lese logger på riktig måte
backuprutiner
iverksette tiltak når innbrudd skjer
Alle organisasjoner har behov for sikkerhet og trygghet. For de som jobber med datasikkerhet har
trusselbildet økt de seinere årene. Dette skyldes mange forhold, men viktig her er:
Stadig flere har PC’er
Stadig flere nett
Økende kommunikasjon
Økt bruk av Internett
Mer sofistikerte datasystemer
Mer komplekse datasystemer
E-handel
1 Principles of Information Security, 5th Edition, Whitman/Mattord, ISBN:1-285-44836-7 https://www.cengagebrain.co.uk/shop/search/9781285448367
Side 3 av 11
Usikre handelsløsninger
Industrien representerer både en fristelse og dermed også et skadepotensiale. Å analysere hvilke
farer som truer en bedrifts nettverk og enkeltmaskiner og legge vekt på forebygging av innbrudd bør
være en selvfølgelig del av en bedrifts oppgaver.
Sikkerhetsanalyse og tiltak vil variere mye fra bedrift til bedrift. Noen har enkle datasystemer uten
internett-tilgang, mens andre har store systemer som mange aksesserer og som dermed blir mye
mer sårbar enn andre.
Bedrifter er likevel blitt langt flinkere til å iverksette tiltak for å redusere muligheten for et
”vellykket” angrep. Derimot er private mye mer utsatt fordi langt flere enn før nå har fast internett-
forbindelse, og de fleste av disse har lite kunnskaper om beskyttelse av sin egen maskin.
2.1 Typiske angrep
Vi skal i det følgende se på en del typiske angrep man kan bli utsatt for:
Virus
Orm
Finne brukenavn og passord
Direkte angrep ved innlogging
Spamming (uønsket mail)
Mailbomber
Massivt oppslag på rutere eller DNS-servere
Phishing
Mye av dette kan du enkelt stoppe ved å holde et oppdatert antivirusprogram, mens andre ting er
vanskelig å stoppe.
Ofte legges det inn bakdører eller cookies på servere eller frittstående PC’er uten at man vet om det
selv. Disse kan du i stor grad unngå ved å laste ned et program av typen adaware som du finner på
http://www.lavasoft.com.
Microsoft gir ut Microsoft® Windows® Malicious Software Removal Tool som en del av de månedlige
oppdateringene og dette fjerner også en del kjente virus og ormer. Dette kan i tillegg lastes ned fra
http://www.microsoft.com/downloads/details.aspx?FamilyID=ad724ae0-e72d-4f54-9ab3-
75b8eb148356&displaylang=no.
Det finnes mange andre programmer som fungerer på tilsvarende måte.
Side 4 av 11
2.2 Ormen W32.SQLExp (“SQL Slammer”)
La oss se på et eksempel på et angrep som ble iverksatt lørdag januar 2003. Følgende er tatt fra
Symantecs side (http://www.symantec.com/security_response/writeup.jsp?docid=2003-012502-
3306-99) :
W32.SQLExp.Worm is a worm that targets systems running Microsoft SQL Server 2000, as well as
Microsoft Desktop Engine (MSDE) 2000. The worm sends 376 bytes to UDP port 1434, the SQL Server
Resolution Service Port. Beginning at 5:31am GMT, we started to see a significant increase in the
unique number of source IPs scanning for UDP port 1434. Symantec Security Response highly
recommends all users of either Microsoft SQL Server 2000 or MSDE 2000 audit their machines for the
vulnerabilities referred to in Microsoft Security Bulletin MS02-039 and Microsoft Security Bulletin
MS02-061.
Symantec Security Response also recommends configuring perimeter devices to block UDP traffic to
port 1434 from untrusted hosts. The worm has the unintended payload of performing a Denial of
Service due to the large number of packets it sends out.
Vi ser at dette er en orm med navnet W32.SQLExp. Den sendte ut 376 bytes til UDP-port 1434. I
løpet av kort tid var svært mange SQL-servere infisert av ormen, og det ble sendt ut så mange
massive DDOS angrep (Distributed Denial of Service) at 5 av de daværende 13 root nameservere ble
slått ut og de fleste andre opplevde store pakketap. Denne ødela ikke systemene i seg selv, men
genererte voldsomme mengder trafikk som kunne føre til at de fleste andre tjenester ble blokkert.
Hvordan skulle man sikre seg mot dette raskt? Man kunne vente på en patch, men det enkleste var
at man blokkerte UDP port 1434. Etter hvert kom det en patch som kunne installeres:
MS02-039: Buffer Overruns in SQL Server 2000 Resolution Service Might Enable Code Execution.
I tillegg til å avdekke svakheter i systemene som ble infisert viste også W32.SQLExp at det finnes
svakheter i måten Internett fungerer på, nemlig at voldsomme mengder UDP-trafikk er i stand til å
lamme DNS-tjenesten. Uten en operativ DNS-tjeneste feiler navneoppslag, og Internett vil oppleves
som utilgjengelig for de fleste brukere.
Side 5 av 11
2.3 W32.Downadup (“Conficker”)
En annen sikkerhetstrussel som fikk mye oppmerksomhet er ormen W32.Downadup, som finnes i 5
varianter med forskjellige egenskaper. Microsoft ga ut en patch som fjernet sikkerhetshullet den
rettet seg mot, men ormen infiserte allikevel flere millioner maskiner i det som blir omtalt som det
største utbruddet siden SQL Slammer.
I Norge er denne ormen trolig mest kjent for å ha infisert et firesiffret antall av politiets pc’er
(http://www.aftenposten.no/norge/Rundt-1000-av-politiets-PC-er-slatt-ut-av-datavirus-
262319b.html).
Den første varianten rettet seg mot en “Buffer overflow”-svakhet i “Server”-servicen i Windows
(http://www.microsoft.com/technet/security/bulletin/ms08-067.mspx), mens senere varianter også
benytter passordangrep mot nettverksdrev og kopierer seg selv over på eksterne enheter som den
kan spre seg til andre systemer fra. I tillegg til å fjerne tilgangen til en rekke sikkerhetsnettsteder blir
servicene “Windows Automatic Update”, “Windows Security Center”, “Windows Defender” og
“Windows Error Reporting”, samt en rekke antivirusprogrammer disablet på infiserte maskiner. Den
kobler seg også opp mot systemprosessene svchost.exe, explorer.exe og services.exe.
Videre kontakter ormen en server eller annen arbeidsstasjon for å motta videre instruksjoner, som
for eksempel å hente ut personlig informasjon eller laste ned og installere annen skadelig
programvare på den infiserte maskinen.
Det er også verdt å merke seg at ormen har den egenskapen at den utfører “oppgraderinger” av seg
selv mellom forskjellige versjoner. Oppgraderingene forsøkes hentet ned fra domenenavn den
genererer, hvor antallet er avhengig av ormens versjon. For å sikre integriteten på
oppgraderingspakkene bruker den hash-verdier som er signert med en RSA-nøkkel.
Selv om ormen benyttet metodikk som var kjent fra tidligere fikk den relativt raskt en meget stor
spredning, noe som skyldes at den brukte en kombinasjon av mange angrepsmetoder og hadde
metoder for oppgradering av seg selv som rettet svakheter i tidligere utgaver.
Analyser av ormens virkemåte og oppbyggning gir et bilde av hvor profesjonell skaperne av
ondsinnet programvare kan opptre. Verifisering av oppgraderingspakker, bruken av både velkjente
funksjoner og tilpassninger av koden der det trengs, samt utstrakt bruk av indirekte kall og hopp i
koden for å vanskeliggjøre etterforskning og “reverse-engeneering” tyder på at de som står bak
denne ormen er meget dyktige og profesjonelle.
Det er foreløpig ikke avslørt hvem som sto bak ormen, til tross for at Microsoft utlovet en dusør på
250 000 amerikanske dollar for informasjon som fører til pågripelse og domfellelse av de ansvarlige
(https://news.microsoft.com/2009/02/12/microsoft-collaborates-with-industry-to-disrupt-conficker-
worm/).
Side 6 av 11
2.4 Hvordan har infeksjonene blitt spredt?
Hvorfor skjer slike utbrudd? For SQL Slammer var den viktigste årsaken er at de som har ansvaret for
SQL-servere ikke hadde oppdatert med siste servicepack, og for Conficker manglet en
sikkerhetoppdatering for en kritisk sårbarhet. Dette viser at skal man unngå angrep (i den grad dette
lar seg gjøre), må mye tid brukes på oppdatering av sikkerhetspatcher. Dette kan synes som en enkel
oppgave, men det som skjedde som vist overfor viser at det fungerer ikke slik. Årsaken til dette kan
være:
Mangel på kunnskaper
Mangel på tid
Finner ikke korrekte patcher
Angrep kan skje mens man har fri
Nye ormer kan komme som det ikke er patcher til ennå
Det er verdt å merke seg at i store og komplekse systemer kan patching være en omfattende
oppgave som krever testing i kontrollerte miljøer før det kan gjennomføres på
produksjonssystemene, og derfor ikke er noe som kan utføres umiddelbart etter at oppdateringene
blir gjort tilgjengelige.
For å kunne redusere muligheten for angrep er det viktig å bruke mye tid på å søke etter nye
oppdateringer. Hvor finnes disse?
Hos programvareleverandør (Microsoft, Adobe, etc.)
Hos tilbydere av sikkerhetstjenester (Symantec, Norman, etc.)
Hos nasjonale og internasjonale sikkerhetsgrupper (Norsis, CERT, etc.)
På newssider, mailinglister og twitter (full-disclosure, securityfocus, etc.)
Særlig nyttig kan det være å følge med på offentliggjøring av sårbarheter på http://www.exploit-
db.com/ (nå som milw0rm ikke lengre blir oppdatert) og maillinglisten Fulldisclosure
(https://nmap.org/mailman/listinfo/fulldisclosure).
Felles for begge kildene er det at de inneholder voldsomt mye informasjon som må filtreres for å
finne det som er nyttig og det er veldig tidkrevende å skulle gå gjennom all informasjon som
publiseres.
Side 7 av 11
3. Antivirus/Antimalware
I takt med at trusselbildet har blitt forverret har også markedet for sikkerhetsløsninger økt, og vi har
i dag en rekke leverandører av antivirus- og antimalvareprogrammer. Disse kommer i forskjellige
varianter fra enkel skanning av områder og sanntidsskanning, til mer komplette løsninger med sjekk
av trafikk mot Internett og brukerkontroll. For installasjoner i nettverk finnes det løsninger med
sentral styring.
3.1 Ulike løsninger
Ut fra behovet finnes det flere forskjellige løsninger med ulik funksjonalitet og pris. For hjemmebruk
finnes det en god del gratisløsninger som gir beskyttelse mot ondsinnet kode, typisk hvor
produsentene tilbyr en utvidet pakke som kan kjøpes (for eksempel Avast og AVG). Ettersom disse
tilbys gratis til hjemmebruk fungerer de ofte kun til operativsystemer beregnet på arbeidsstasjoner.
En enkel sikkerhetsløsning for Windows 7 er Microsofts eget program Microsoft Security Essentials
som kan lastes ned fra http://www.microsoft.com/security_essentials/. Denne er ment for
enkeltstående arbeidsstasjoner og hjemmemaskiner, og gir automatisk oppdatering av signaturfiler,
sanntidsskanning og regelmessig skanning av filer på lokale drev. I senere utgaver av Windows har
denne løsningen blitt implementert som en del av operativsystemet.
For hjemmebrukere som ønsker en mer komplett pakke finnes produkter som for eksempel Norton
Security (http://us.norton.com/internet-security). I tillegg til beskyttelse mot skadelig kode har
denne blant annet egen brannmur, foreldrekontroll, skanning og filtrering av e-post samt
gjennoppretting av boot-sektorer på maskiner som har blitt infisert.
Nettverksløsninger administreres gjerne sentralt, og til dette finnes komplette løsninger som for
eksempel F-Secure Business Suite (http://www.f-secure.com/en_EMEA/products/business/security-
suites/business-suite/index.html). Denne består av flere produkter som gir beskyttelse til mobile
enheter, arbeidsstasjoner, servere og e-postservere, samt en policy manager som gir sentral styring
av nodene i nettverket.
Tradisjonellt har ondsinnet programvare stort sett rettet seg mot arbeidsstasjoner og servere på
Windows-plattformen, men det finnes også sikkerhetsløsninger for andre plattformer.
Til Macintosh finnes for eksempel denne løsningen fra Symantec: http://us.norton.com/macintosh-
antivirus/, og Kaspersky har denne for Linux arbeidsstasjoner: http://www.kaspersky.com/business-
security/endpoint-linux.
I takt med utbredelsen av smarttelefoner har det også kommet løsninger for disse, slik som for
eksempel denne fra F-Secure for Android operativsystem: https://www.f-
secure.com/en/web/home_global/mobile-security
Side 8 av 11
3.2 Virkemåte
Selve antivirusløsningen fungerer stort sett på samme måte uavhengig av leverandør og bruker en
eller flere av tre grunnleggende metoder for å detektere ondsinnet kode:
Sjekk av signatur på kjørbare filer for å se etter signaturene til kjent ondsinnet kode opp mot en
signaturdatabase er den mest utbredte måten å sjekke for virus på. Denne metoden avhenger av
hyppige oppdateringer av signaturdatabasen. I tillegg trenger den som vedlikeholder
signaturdatabasen (typisk leverandøren av antivirusløsningen) å være kjent med den ondsinnede
koden for å kunne legge inn signaturen i databasen.
Det er også mulig for polymorfiske og metamorfiske virus, hvor deler av koden skrives om av viruset
selv, å unngå deteksjon når de kun sjekkes mot en signaturdatabase.
Heuristisk deteksjon er en metode som også sammenligner kjørbare programmer opp mot en
signaturdatabase over ondsinnet kode, men tar i tillegg høyde for at ukjente programmer med
signaturer som ligner kjent ondsinnet kode kan være skadelige. Dermed blir skanneren i stand til å
avdekke ondsinnede programmer selv om de ikke finnes i signaturdatabasen. En svakhet med denne
metoden er økt mulighet for såkalte “falske-positiver” hvor harmløse filer blir mistenkt for å være
ondsinnede.
Den tredje metoden er bruk av en såkalt “sandkasse” (sandbox) hvor antivirusprogrammet kjører
koden i et kontrollert miljø. Under kjøring blir resultatet av koden observert for mistenkelig
oppførsel, og dersom det er tilfelle blir filen som inneholder koden plassert i karantene eller slettet. I
motsatt fall kjøres den som normalt. Ettersom filer som sjekkes med denne metoden blir kjørt en
gang før de startes opp på selve maskinen vil dette, naturlig nok, redusere ytelsen på systemet.
Enkelte av sikkerhetsprogrammene spør etter input fra brukeren i tvilstilfeller. Dette gjøres som
regel ved at brukeren får informasjon om filen og spørsmål om hvorvidt det er trygt å kjøre den eller
ikke. Hvor effektivt dette er avhenger at av informasjonen om filen er forståelig for brukeren, og at
brukeren har en viss kjenskap til hvilke programmer som skal kjøre på maskinen.
Noen har også en mulighet for å sende en kopi av den tvilsomme filen til leverandøren for videre
analyse mens orginalfilen blir plassert i karantene.
Side 9 av 11
3.3 Svakheter
Felles for alle deteksjonsmetodene er at de vil, i forskjellig grad, påvirke ytelsen på systemene. Så
lenge filer skal sjekkes før de kjøres vil dette ta lengre tid enn å starte programmet direkte. Vanligvis
vil også minneforbruket på maskiner bli høyere etter installasjon av sikkerhetsløsninger ettersom for
eksempel signaturdatabasen ofte blir lastet inn i minnet og evt. testing i sandkasse blir kjørt i
minnet.
Heldigvis har leverandører av sikkerhetsprogrammer økt fokuset på ytelse den senere tiden, og både
treghet og høyt minneforbruk er mindre problemer enn for få år siden.
Problemet med “falske-positiver” oppstår når sikkerhetsløsningen feilaktig melder om ondsinnet
kode i filer. Filer kan da bli satt i karantene eller slettet uten at de inneholder ondsinnet kode, og i
verste fall kan dette være filer som systemet er avhengig av.
Et eksempel på hvor store problemer dette kan medføre er da antivirusprogrammet til leverandøren
Mcafee feilaktig detekterte “svchost.exe” i Windows XP som en skadelig fil, noe som resulterte i at
maskinene ikke fikk nettverkskontakt og at Windows ikke startet som den skulle etter forsøk på
restart (http://www.idg.no/computerworld/article164425.ece).
Man bør også være forberedt på at løsningene ikke er i stand til å detektere 100% av all skadelig
programvare. I en test av 19 forskjellige antivirusløsninger utført av AV-Comparatives var det beste
resultatet 99,9% og det dårligste resultatet var 97,6%.
Hele testrapporten, med forklaring av hvordan testingen ble utført, kan leses på
http://www.av-comparatives.org/wp-content/uploads/2016/04/avc_fdt_201603_en.pdf. Den
inneholder også sammenligninger over antall falske positiver som ble detektert.
Flere typer tester fra AV-Comparatives er tilgjengelig på http://www.av-
comparatives.org/comparatives-reviews/.
En mulighet for å øke sikkerheten i større nettverk er å bruke løsninger fra flere leverandører på
forskjellige punkter i nettverket, for eksempel en leverandør av sikkerhetsløsning på
arbeidsstasjoner og servere, og en annen til skanning av e-post. Den økede sikkerheten må
imidlertid veies opp mot ulempene det medfører, som mer komplisert administrasjon og økte
kostnader.
Selv om antivirus- og antimalwareløsninger er en nødvendighet er det altså ikke mulig å stole på
dem alene som beskyttelse mot skadelig programvare.
Til tross for at det kan virke som en selvfølge kan det ikke gjentas ofte nok at påpasselighet hos
brukere er det beste våpenet mot ondsinnet programvare, mens sikkerhetsløsningene skal fungere
som et sikkerhetsnett som håndterer unntakstilfellene.
Viktigheten av påpasselighet blir synliggjort av det økende problemet med falske antivirusløsninger.
Disse bruker forskjellige, og ofte veldig kreative, metoder for å presentere meldinger til brukerne om
at maskinen deres er infisert av skadelig programvare, og at de må sette i gang skanning og fjerning
av denne. Når en bruker bekrefter denne operasjonen blir programvaren lastet ned og installert på
maskinen. Etter installasjon vil programvaren gi stadige pop-ups med oppfordring om å betale for
produktet til tross for at det ikke har noen reell funksjon, og fjerning av det falske
antivirusprogrammet kan være meget vanskelig.
Side 10 av 11
4. Passord
Dette er kanskje det som det syndes mest mot.
Viktige elementer ved passordbruk er:
Hvor ofte skiftes passord
Hvor mange tegn kreves
Hvilken kombinasjon av tegn
Er det tillatt å lagre passordet skriftlig
Er det tillatt å oppgi administratorpassordet over telefon eller epost
Her er noen praktiske passordregler fra nettet (http://www.ruskwig.com/passwords_policy.htm):
Don’t use dictionary words - All real words are easy to guess. Avoid using any words, words
in foreign languages, swear words, slang, names, nicknames, etc.
The names of family, friends and partners, anniversary dates, car registrations and telephone
numbers are the first thing potential crackers will try when guessing your passwords.
Instead try to pick acronyms, mnemonics, random letters, etc, or insert non-alphabetic
characters in the middle of the word, replace letters with numbers (‘o’ to zero, I to 1, E to
3), etc.
Use a mIxTuRe of UPPER and lower case.
You must include a number (0-9) somewhere in the password. Try to fit this in somewhere
inside whatever letters you choose, instead of at the end or beginning of the password.
When changing passwords, change more than just the number: perhaps move its position
within the password, add or subtract letters, change capitalisation, etc.
However, choose something you can remember. This is very important; it is no good having
a password like "h498cj3t34" if you have it written on a Post-It Note stuck to your monitor! If
you must have a reminder or hint, use something cryptic that only you can understand.
Never tell anyone else your password or allow them to log in as you. Try to avoid letting
other people watch you key your password in. Choose something that is not easy to guess
from watching, like "qwerty12345".
Side 11 av 11
Passordreglene er i utgangspunktet enkle regler som bør kunne følges, men likevel vet vi at dette er
det letteste måten å komme seg inn på et nett på. Hvorfor skjer det likevel:
Ansatte gidder ikke å skifte passord
Ansatte gidder ikke å lære nye passord
Ansatte gjemmer passordet under tastaturet
Ansatte lures til å oppgi passordet i telefonen til noen de tror er betrodd passordet
Passord legges i klartekst i loggfiler og lignende
Det mest brukte passordet er passord (password) og test
Mange tror at ved å bruke 16 bit, kan man eliminere mange forsøk på å knekke passord. Hvis man
tillater kontinuerlig testing av nye passord der hvert forsøk tar ca 0,1 sekund, vil det ikke ta mer enn
ca 1 time å knekke passordet for enkle systemer som tillater gjentatt forsøk. Endres dette til 32 bit
finnes det 4.294.967.296 muligheter, men fortsatt er det mulig å knekke passordet. Slike passord-
knekkere finnes det flere av på Internett, og vi skal se nærmere på passord og programvare for
dekryptering i en senere leksjon.