Porttiskannaus
(
engl.
port scanning
) on toimenpide, jonka avulla pyritaan selvittamaan tietojarjestelman eri
tietoliikenneporteissa
toimivia
ohjelmia
ja
kayttojarjestelmia
seka niiden haavoittuvuutta. Tavanomaisesti porttiskannaus suoritetaan kayttaen hyvaksi tata varten tehtya ohjelmaa, joka voi ? kaytetysta ohjelmasta riippuen ? esimerkiksi palauttaa raportin tiedustelun kohteena olevasta koneesta, sen tietoliikenneporteista, ohjelmistoista ja niiden tiedetyista
tietoturva-aukoista
. Porttiskannausta voidaan kayttaa esimerkiksi tietojarjestelman turvallisuusjarjestelyjen selvittamiseen.
Porttiskannausohjelmalla on mahdollista jarjestelmallisesti selvittaa tietojarjestelman mahdollisia aukkoja ja sen heikkoja kohtia. Tiedot voivat mahdollistaa myos luvattoman paasyn kohteena olevaan jarjestelmaan.
Niin sanottu puoliavoin tiedustelutekniikka, jossa
TCP
-yhteyden vaatimaa kolmivaiheista kattelya ei edes pyrita viemaan loppuun, vaan tiedustelun suorittava tyoasema odottaa vain vastetta tai sen puutetta lahettamaansa arsykeeseen. Tarkoitus on siis saada selville kuunteleeko haluttu maaranpaaasema haluttua porttia. Tiedusteleva tyoasema lahettaa TCP-paketin SYN-valitsin (engl. flags) asetettuna maaranpaaaseman tutkittavaan porttiin. Jos maaranpaaasema kuuntelee porttia ja sallii yhteydet siihen sen tulee lahettaa takaisin
RFC 793
:n mukaan paketti, jossa on SYN- ja ACK-valitsimet asetettuina. Jos porttia ei sen sijaan kuunnella tulee siihen vastata
RFC 793
:n mukaan paketilla, jossa on RESET- ja ACK-valitsimet asetettuina. Jos skannauksen suorittava tyoasema ei saa mitaan vastetta lahettamaansa arsykkeeseen tiedetaan melko varmasti palomuurin torjuneen paketin tai sitten se on kadonnut matkalla (palomuurit voivat myos hamata lahettamalla jo aiemmin mainitun RESET/ACK-paketin, jolloin tyoasema ei voi tietaa tassa tapauksessa palomuurin torjuneen skannausta vaan on oletettava taman tiedon perusteella portin olevan suljettu). Maaranpaaaseman ollessa tavoittamattomissa yleensa oletusreititin verkossa, jossa maaranpaaasema sijaitsee tai sijaitsi, vastaa skannaavalle tyoasemalle
ICMP
host unreachable -paketilla. Myos suodattava reititin voi estaa maaranpaaaseman portin kayton; talloin vastauksena saadaan tavallisesti ICMP host unreachable - admin prohibited filter -paketti (riippuen reitittimen suodattimen asetuksista se saattaa auktorisoimattomien tiedustelujen vuoksi hamata lahettamallakin ICMP host unreachable -paketin). Riippuen palomuureista ja suodattavista reitittimista vasteet SYN-skannauksen arsykkeisiin saattavat siis vaihdella. Nykyaan useimmat tunkeutumisenhavaitsemisjarjestelmat (engl. intrusion detection system eli IDS) huomaavat auktorisoimattomat SYN-skannaukset.
Ominaisuuksiltaan muuten sama kuin SYN-skannaus mutta tassa tapauksessa TCP-yhteyden vaatima kolmivaiheinen kattely viedaankin loppuun asti, mikali sallitaan. Connection-skannaus lisaa havaituksi tulemisen riskia; mieluummin kaytetaan SYN-skannausta. Connection-skannausta kaytetaan yleensa olosuhteiden pakosta; esimerkiksi silloin, kun skannauksen suorittavan tyoaseman jarjestelma ei salli SYN-skannausta.
Kun aiemmat tunkeutumisenhavaitsemisjarjestelmat kehitettiin havaitsemaan auktorisoimattomat SYN-skannaukset, kehittiin tilalle FIN-skannaus, jossa kohdeaseman porttiin lahetetaan TCP-paketti, jossa FIN-valitsin asetettuna (normaalisti FIN ilmaisee jommankumman toisiinsa yhteydessa olevan aseman halusta lopettaa TCP-yhteys, taten palomuurit tai suodattavat reittimet saattavat pitaa tata normaalina liikenteena eivatka siten reagoi siihen). Mikali valissa ei ole suodattavaa reititinta tai palomuuria, kohdeaseman kuuntelevan portin ei tule
RFC 793
:n mukaan vastata mitaan ja mikali porttia ei kuunnella tulee sen vastata RESET/ACK-paketilla. Suodattavat reitittimet ja palomuurit voivat muuntaa vastauksia FIN-skannauksen arsykkeeseen.
ICMP ei kayta kommunikointiinsa protokollaportteja; ICMP-skannauksen tarkoitus onkin selvittaa onko kohdeasema saavutettavissa lahettamalla yleensa kohdeasemaan ICMP echo request -paketti. Kohdeaseman vastaa olemassaolostaan tavallisesti ICMP echo reply -paketilla. Riippuen tyoasemien valissa olevista palomuureista tai suodattavista reitittimista vastaukset saattavat kuitenkin vaihdella tai niita ei saada ollenkaan. Koska ICMP:lla on tietoliikenteessa tarkea tehtava muun muassa virhetilanteiden raportoimisessa niin palomuurit tai suodattavat reitittimet usein kuitenkin sallivat ICMP-liikenteen vapaasti lavitseen. Monet haittaohjelmat hyodyntavatkin tata palomuurien ja suodattavien reititinten ominaisuutta ja saattavat katkea kayttamansa informaation normaalilta nayttavien ICMP-pakettien otsikoihin.
ACK-skannauksessa kohdeaseman porttiin lahetetaan TCP-paketti, jossa on ACK-valitsin asetettuna. ACK-skannauksen tarkoitus on ICMP-skannauksen tavoin selvittaa kohdeaseman saavutettavuus; seka avointen, etta suljettujen porttien tulee palauttaa arsykkeeseen RESET-valitsimen sisaltava paketti mutta kohteen ollessa saavuttamaton saadaan viimeiselta oletusreitittimelta verkossa, jossa kohdeasema sijaitsee tai sijaitsi ICMP virheviesti. Jos ei saada mitaan vastausta, voidaan olettaa palomuurin tai suodattavan reitittimen filtteroineen arsykkeen. Palomuurit ja suodattavat reitittimet, jotka sallivat muodostetut yhteydet sisalle verkkoon tai tyoasemaan eivat useimmiten suodata ACK-skannausta.
Null-skannauksessa kohdeaseman porttiin lahetetaan TCP-paketti, jossa ei ole yhtaan valitsinta asetettuna, ts. valitsintavu on paketissa arvossa 0 eli null. Arsykkeeseen, jossa ei ole RESET-valitsin asetettuna tulisi suljetun portin vastata
RFC 793
:n mukaan vastata paketilla, jossa RESET-valitsin on asetettuna. Avoimen portin ei tule vastata mitaan. FIN-skannaus perustuu samaan
RFC 793
:n kohtaan (RESET-valitsin ei asetettuna). Kaikki kayttojarjestelmat eivat kuitenkaan noudata
RFC 793
:sta, vaikka se onkin TCP:n virallinen standardi. Taten Null-skannausta kaytetaan myos osana kohdeaseman kayttojarjestelman tunnistusta. Tallainen epatavanomainen ja normaalista liikenteesta poikkeava toiminta (yleensa TCP-paketissa on ainakin yksi valitsin asettuna, yleisimmin ACK) saatetaan kuitenkin havaita palomuureissa ja suodattavissa reittimissa.
Sama periaate kuin Null- ja FIN-skannauksissa mutta arsykeessa on FIN- PUSH- ja URG-valitsimet asettettuina. URG-valitsin ilmaisee tiedon olevan kiireellisesta eli kaytannossa pyyntoa asettaa tieto etusijalle. PUSH-valitsimen tarkoitus on tyontaa tiedot heti kohdeaseman sovellukselle odottamatta puskurin tayttymista. PUSH- ja URG-valitsimien olisi siis tarkoitus vahentaan skannaukseen kuluvaa aikaa.
UDP
-skannauksessa kohdeaseman porttiin lahetetaan UDP-paketti, johon suljetun portin tulisi vastata ICMP port unreachable tyyppisella paketilla. Muun tyyppinen ICMP virheviesti kertoo yleensa portin olevan palomuurin tai suodattavan reitittimen filtteroima. Jos arsykkeeseen vastataan UDP-paketilla, niin talloin portti on luonnollisesti avoin. Jos mitaan vastausta ei saada saattaa portti olla avoin mutta palomuurin tai suodattavan reitittimen filtteroima.
Saanut nimensa kehittajansa Uriel Maimonin mukaan. Kohdeaseman porttiin lahetetaan FIN- ja ACK-valitsimilla varustettu paketti. Mikali palomuurit tai suodattavat reitittimet paastavat arsykkeen lapi tulee siihen vastata
RFC 793
:n mukaan RESET-valitsimella varustetulla paketilla olipa portti avoin tai suljettu (ks. ACK-skannaus). Maimon huomasi useiden BSD-pohjaisten jarjestelmien toimivan TCP-standardin vastaisesti kyseisen arsykkeen tapauksessa; ne eivat vastaa laisinkaan, jos portti on avoin.
Sama kuin ACK-skannaus mutta lisaksi tutkitaan TCP-paketin ikkunan kokoa, josta voidaan selvittaa kohdeaseman kayttojarjestelma. Jotkin jarjestelmat palauttavat toisistaan poikkeavat ikkunan koot suljetuista ja avoimista porteista.
IP
-paketin lahdeosoitteen
vaarentaminen
(
engl.
IP-spoofing
) on teknisesti suhteellisen helppo toimenpide. Taten skannaava tyoasema voi peittaa identiteetinsa nain toimiessaan. Porttiskannauksen yhteydessa pelkkaa vaarentamista ei juurikaan kayteta (ellei haluta esimerkiksi mustamaalata jotain toista jarjestelmaa); kohdeasema lahettaa mahdolliset vastauksensa vaarennettyyn osoitteeseen eika skannaava tyonasema nain ollen saa skannauksesta mitaan informaatiota, ellei vaarennetyn lahdeosoitteen omistava asema ole kohdeaseman hallussa esimerkiksi Troijalaisen hevosen avulla. Jos lisaksi vaarennetyn osoitteen asema ei ole toiminnassa, alkaa jokin reititin skannattavan kohdeaseman ja vaarennetyn osoitteen valilta lahettaa ICMP host unreachable -virheviesteja, jolloin kohdeaseman tunkeutumisenhavaitsemisjarjestelman pitaisi normaalisti heti halyttaa poikkeavasta liikenteesta. Yleensa vaarennettya IP-osoitetta kannattaa tutkia; miten se vastaa esimerkiksi eri arsykkeisiin ja toimia sen pohjalta, ettei vaarennos ilmenisi liian helposti. Osoitteen vaarentamista kaytetaan myos
TCP-yhteyden kaappauksessa
, esimerkiksi kuuluisa krakkeri
Kevin Mitnick
kaytti tata tekniikkaa tehokkaasti hyvakseen hyokatessaan vuonna 1995 tietoturva-asiantuntija
Tsutomu Shimomuran
koneeseen.
Toimenpiteessa vaarennetaan useita eri osoitteita IP-paketteihin mutta johonkin pakettiin laitetaan skannaavan tyoaseman oma osoite, jolloin skannauksesta haluttu informaatio saadaan takaisin. Kohdeasema ei voi mitenkaan oman koneensa liikennetta tutkimalla tietaa mista osoitteesta skannaus todella suoritetaan.
Toimenpiteessa paloitellaan IP-paketit tahallisesti halutusta TCP-otsikon kohdasta ja mahdollisesti viela paallekkaistamalla pakettien tietoja. Ne palomuurit ja suodattavat reitittimet, jotka eivat kykene pakettien kokoamiseen paastavat todennakoisesti liikenteen lavitseen, koska eivat kykene hahmottamaan TCP-otsikon tietoja paloitelluista paketeista.
Porttiskannauksen lainmukaisuus voi vaihdella maittain. Suomessa siita voidaan tuomita
tietomurron
yrityksena.
[1]