Portskanning er en metode som brukes for å finne ut hvilke porter på et nettverk som er åpne og kan motta eller sende data. Det er også en prosess for å sende datapakker til bestemte porter på en vertsenhet og analysere svarene for å finne sårbarheter.
Portskanningen kan bare skje etter at det er opprettet en liste over aktive verter og en oversikt over IP-adressene deres. Dette trinnet, som kalles «host discovery», starter med en nettverksskanning.
Målet med port- og nettverksskanning er å få oversikt over IP-adresser, verter og porter for å oppdage åpne eller sårbare serverplasseringer og vurdere sikkerhetsnivåer. Både nettverk- og portskanning kan vise hva slags sikkerhetstiltak som er innført, for eksempel en brannmur mellom serveren og brukerens enhet.
Når en grundig nettverksskanning er fullført og en liste over aktive vertsmaskiner er opprettet, kan portskanningen utføres for å finne åpne porter som kan gi uautorisert tilgang til nettverket.
Det er viktig å være klar over at nettverks- og portskanning kan brukes av både IT-ansvarlige og nettkriminelle for å kontrollere sikkerhetspolicyer og finne sårbarheter på et nettverk. For en angriper er målet å utnytte potensielle svakheter i inngangsportene. I virkeligheten er «host discovery» i nettverksskanningen ofte det første trinnet angripere bruker før de utfører et angrep.
Begge skannetypene er viktige verktøy for angripere, og resultatene av nettverks- og portskanning kan gi gode indikasjoner på sikkerhetsnivået for IT-ansvarlige som prøver å beskytte nettverket mot angrep.
Hva er porter og portnumre?
Porter på datamaskiner er inngangs- og utgangspunktene for dataflyten mellom programmer eller Internett og en enhet eller en annen datamaskin i nettverket. De er en slags parkeringsplass for data som skal utveksles via elektroniske mekanismer, programvare eller programmeringsrelaterte metoder.
Portnumre brukes til å opprettholde samsvar og til programmeringsformål. Portnummeret i kombinasjon med IP-adressen utgjør den helt nødvendige informasjonen som alle Internettleverandører trenger for å utføre forespørsler. Portnumre går fra 0 til 65 536 og rangeres ut ifra popularitet.
Portnumre fra 0 til 1023 er velkjente porter som brukes til Internett-formål, men de kan også brukes til andre formål. De administreres av IANA (Internet Assigned Numbers Authority). Disse portene brukes av store firmaer, organisasjoner og populære tjenester. Du gjenkjenner kanskje noen av de meste vanlige portene, og tjenestene de er tilordnet:
- Port 20 (UDP) er tilordnet FPT (File Transfer Protocol) og brukes til dataoverføring.
- Port 22 (TCP) er tilordnet protokollen SSH (Secure Shell) for sikker pålogging, FTP og videresending av porter.
- Port 53 (UDP) brukes for DNS (Domain Name System), som knytter navn til IP-adresser.
- Port 80 (TCP) brukes for HTTP-protokollen på weben (WWW).
Numrene fra 1024 til 49 151 regnes som registrerte porter og er reservert av programvareselskaper. Numrene fra 49 151 til 65 536 er dynamiske og private porter som kan brukes av alle.
Hvilke protokoller brukes i portskanning?
De generelle protokollene som brukes til portskanning er TCP og UDP. Begge er dataoverføringsmetoder på Internett, men de bruker ulike mekanismer.
TCP er en pålitelig, toveis, forbindelsesbasert dataoverføringsmetode som benytter seg av mottakerens status for å kunne fullføre en sending, mens UDP er tilkoblingsløs og upålitelig. Data som sendes via UDP-protokollen leveres uten å ta hensyn til mottakeren, og det er derfor ingen garanti for at dataene kommer fram.
Det finnes flere ulike teknikker for å utføre portskanning ved hjelp av disse to protokollene.
Portskanningsteknikker
Teknikkene som brukes til portskanning avgjøres av formålet med skanningen. Det er viktig å være klar over at nettkriminelle velger portskanningsteknikker basert på hva de er ute etter og angrepsstrategien.
Nedenfor beskriver vi noen av teknikkene.
- Ping-skanning: Den enkleste formen for portskanning kalles ping-skanning. I nettverk brukes ping til å kontrollere om en datapakke på nettverket kan distribueres til en IP-adresse uten feil. Ping-skanninger er ICMP-forespørsler og sender automatisk ut en mengde ICMP-forespørsler på en gang til ulike servere for å fiske etter svar. (ICMP står for «Internet Control Message Protocol».) IT-ansvarlige kan bruke denne teknikken til å søke etter feil, eller de kan deaktivere ping-skanning ved hjelp av en brannmur, slik at det blir umulig for angripere å finne nettverket ved hjelp av ping-teknikken.
- Halvåpne skanninger (SYN): Halvåpne skanninger eller SYN-skanning er en taktikk som angripere bruker til å avgjøre statusen til en port uten å opprette en fullstendig tilkobling. Slike skanninger sender bare en synkroniseringsmelding og fullfører ikke tilkoblingen. Dette er en rask og utspekulert teknikk som brukes til å finne åpne porter på enheter.
- XMAS-skanninger: Juletreskanninger (XMAS) er enda stillere og mindre merkbare for brannmurer. For eksempel blir FIN-pakker vanligvis sendt fra en server eller klient for å lukke forbindelsen etter opprettelse av et treveis TCP-håndtrykk og vellykket overføring av data, og dette signaliseres via en melding om at ingen flere data er tilgjengelig fra senderen. FIN-pakker blir ikke alltid oppdaget av brannmurer fordi de primært ser etter SYN-pakker. Derfor sender juletreskanninger pakker med alle flagg, inkludert FIN, og forventer ikke svar, noe som betyr at porten er åpen. Hvis porten er lukket blir RST («reset)» mottatt som svar. XMAS-skanninger vises sjelden i overvåkingslogger og er en mer utspekulert metode for å finne informasjon om nettverkets sikkerhet og brannmur.
Hvilke typer resultater får man fra portskanning?
Portskanningsresultater viser statusen til nettverket eller serveren i tre kategorier: åpen, lukket eller filtrert.
- Åpne porter: Åpne porter signaliserer at målserveren eller -nettverket aktivt godtar tilkoblinger eller datagrammer og har svart med en pakke som viser at den lytter. Det betyr også at tjenesten som brukes for skanningen (som regel TCP eller UDP) også er i bruk.
Funn av åpne porter er som oftest målet med portskanning, og for nettkriminelle som leter etter en angrepsvinkel er slike funn en seier. Utfordringen for IT-ansvarlige er å prøve å sperre åpne porter ved å installere brannmurer for å beskytte dem, uten at tilgangen for legitime brukere blir begrenset.
- Lukkede porter: Lukkede porter betyr at serveren eller nettverket mottok forespørselen, men ingen tjenester lytter på den porten. Lukkede porter kan fortsatt være tilgjengelige, og de kan være nyttige for å vise at en vert finnes på en IP-adresse. IT-ansvarlige bør likevel overvåke lukkede porter fordi de kan gå over i åpen status og utgjøre en potensiell sårbarhet. Man bør vurdere å blokkere lukkede porter med en brannmur, hvor de i stedet blir «filtrerte» porter.
- Filtrerte porter: Filtrerte porter signaliserer at en pakke med en forespørsel ble sendt, men verten hverken svarte eller lyttet. Det betyr som regel at forespørselspakken ble filtrert ut eller blokkert av en brannmur. Hvis pakkene ikke når målet, får ikke angriperne noe mer informasjon. Filtrerte porter svare ofte med feilmeldinger av typen «målet kunne ikke nås» eller «kommunikasjon ikke tillatt».
Hvordan kan datakriminelle bruke portskanning som angrepsmetode?
Portskanning er ifølge SANS-instituttet blant de mest populære taktikkene som brukes av angripere for å lete etter sårbare servere for å gjøre innbrudd.
De nettkriminelle bruker ofte portskanning som et innledende trinn når de sikter seg inn på nettverk. De bruker portskanningen til å teste sikkerhetsnivået til ulike nettverk for å finne ut hvilke som har en sterk brannmur og hvilke servere eller nettverk som kan være sårbare. Flere TCP-protokollteknikker gjør det faktisk mulig for angripere å skjule sin egen nettverksplassering og bruke luretrafikk for å utføre portskanninger, uten å avsløre nettverksadressen overfor målet.
Angriperne tester nettverk og systemer for å se hvordan hver port reagerer (åpen, lukket eller filtrert).
Svar om åpne og lukkede porter vil for eksempel gi hackere beskjed om at skanningen har fått kontakt med nettverket. De nettkriminelle kan deretter finne ut hvilken type operativsystem som brukes og nivået på sikkerheten.
Portskanning er en eldre teknikk som krever sikkerhetsendringer og oppdatert trusselinformasjon, siden protokoller og sikkerhetsverktøy utvikler seg hele tiden. Portskanningsvarsling og brannmurer bør brukes til å overvåke datatrafikken til portene og sørge for at ondsinnet trafikk ikke oppdager potensielle muligheter for uautorisert tilgang til nettverket.