Verkon tietoturvan työkalut

Edellä on tarkasteltu hyökkäyksiä ja puolustautumista protokollatasolla. Tässä luvussa esitellään puolustuksen vakiintuneita työkaluja. Näiden käyttöönottoa on jo käsitelty pääluvussa Turvatoimet ja tietoturvapoikkeamien hallinta.

Palomuurit

Palomuurit voidaan sijoittaa reitittimien yhteyteen tai toteuttaa erillisinä palvelimina riippuen verkon rakenteesta ja toteutustavasta. Niiden tehtävänä on toimia verkon portinvartijoina tarkastamalla kaikki saapuva ja lähtevä liikenne.

Palomuurit ovat tyypillisesti verkon reunalla toimivia järjestelmiä, joiden tarkoituksena on estää haitallinen liikenne ja rajoittaa luvaton pääsy verkkoon. Ne tarkkailevat liikennettä ja suodattavat datapaketteja ennalta määriteltyjen sääntöjen mukaisesti. Säännöt määrittävät, miten paketteja käsitellään: ne voidaan sallia, hylätä tai hylätä ja ilmoittaa lähettäjälle esimerkiksi ICMP-viestillä. Suodatus perustuu muun muassa pakettien lähde- ja kohdeosoitteisiin, käytettyihin protokolliin (TCP, UDP, ICMP), porttinumeroihin sekä TCP-lippuihin (kuten SYN ja ACK).

Perinteisesti palomuurit toimivat yksinkertaisina pakettisuodattimina, jotka tarkastelivat vain pakettien otsikkotietoja. Nykyisin käytössä ovat usein tilalliset palomuurit, jotka ylläpitävät tietoa aktiivisista yhteyksistä ja pystyvät yhdistämään yksittäiset paketit samaan tietovirtaan. Tämän avulla ne voivat seurata yhteyksien tilaa ja varmistaa, että vain odotettu liikenne pääsee kulkemaan verkon läpi.

Nykyaikaisissa organisaatioverkoissa käytetään tyypillisesti useita palomuureja eri verkon osissa ja eri käyttötarkoituksiin, esimerkiksi verkon segmentointiin ja sisäisen liikenteen valvontaan.

Yksinkertaisen palomuurin kokoonpano

Kuvan sääntöjen mukaisesti pakettien liikennettä ohjataan seuraavasti:

  • Kaikki sisäverkon (172.16.0.0/24) isäntälaitteet voivat muodostaa yhteyksiä ulkoisiin palveluihin HTTP- ja :abbr:HTTPS-protokollilla (portit 80 ja 443) (sääntö #1).
  • Ulkoiset laitteet voivat muodostaa yhteyden sisäiseen SSH-palvelimeen TCP-porttiin 22 (sääntö #2).
  • Näihin yhteyksiin liittyvä paluuliikenne sallitaan (sääntö #3).
  • Kaikki muu liikenne estetään (ns. sulkusääntö) (sääntö #4).

Todellisissa ympäristöissä palomuurisäännöstöt ovat usein huomattavasti monimutkaisempia kuin tässä esitetty esimerkki. Johdonmukaisten ja kattavien sääntöjen määrittely on tyypillisesti haastavaa. Yleinen periaate on niin sanottu default deny -lähestymistapa: kaikki liikenne estetään oletusarvoisesti, minkä jälkeen sallitaan vain erikseen määritelty tarpeellinen liikenne. Työkaluista esimerkiksi Firewall Builder ja Capirca voivat auttaa sääntöjen hallinnassa ja ylläpidossa.

Sovellusyhdyskäytävä (AG) eli sovellustason välityspalvelin, tarjoaa käyttöoikeuksien hallintaa ja mahdollistaa lisätodennuksen ennen yhteyden hyväksymistä. Se voi myös tarkastella liikennettä sovelluskerroksessa, mikäli liikenne ei ole päästä päähän salattua. Tyypillisessä toimintamallissa asiakas muodostaa yhteyden AG:hen, joka hoitaa todennuksen ja muodostaa tämän jälkeen erillisen yhteyden kohdepalvelimeen. AG toimii välissä releenä ja muodostaa kaksi erillistä istuntoa. Tämä muistuttaa teknisesti MITM-tilannetta, mutta hallitusti ja tarkoituksellisesti. Yleinen käyttökohde on myös TLS-liikenteen käsittely: salattu yhteys voidaan päättää AG:ssä, jolloin raskas salaus ja purku tehdään keskitetysti ja liikenne välitetään edelleen taustapalvelimille. Käytännössä AG:llä voidaan myös tarkastaa salattua lähtevää liikennettä, mikäli tarvittavat varmenteet on asennettu siihen.

Piiritason yhdyskäytävä (CG) toimii välityspalvelimena TCP-yhteyksille mahdollistaen sisäverkon laitteiden yhteydet ulkoverkkoihin. Se sijaitsee tyypillisesti palomuurin yhteydessä. Yleisin toteutus on SOCKS, joka toimii sovelluksille lähes läpinäkyvästi, kun asiakasjärjestelmät on määritetty käyttämään sitä. CG on kevyempi toteuttaa kuin AG, koska sen ei tarvitse ymmärtää sovelluskerroksen protokollia.

Demilitarisoitu vyöhyke (DMZ): Verkon turvallinen suunnittelu edellyttää segmentointia ja huolellista palomuurien sijoittelua. Tätä varten käytetään usein DMZ-aluetta (ns. kehäverkko), johon sijoitetaan julkisesti saavutettavat palvelut, kuten verkkopalvelimet ja DNS-palvelimet. Sisäinen verkko jaetaan lisäksi useisiin turvavyöhykkeisiin organisaation turvallisuusarkkitehtuurin mukaisesti. Näin rajoitetaan palveluiden näkyvyyttä ja saavutettavuutta siten, että vain valtuutetut käyttäjät ja laitteet pääsevät niihin käsiksi.

Mikä on palomuurin käytön hyöty verkon tietoturvaa toteutettaessa?

Tunkeutumisen havainnointi- ja estojärjestelmät (IDS/IPS)

Tunkeutumisen havaitsemisjärjestelmät (IDS) tarjoavat tietoa verkon poikkeavasta käytöstä. Ne tarkastelevat pakettien hyötykuormaa ja ylempien kerrosten tietoja sekä muita istuntoihin liittyviä ominaisuuksia, joita perinteiset palomuurit eivät käsittele. IDS-järjestelmät valvovat liikennettä antureiden avulla ja tuottavat hälytyksiä havaitessaan epäilyttävää toimintaa.

Havaitseminen perustuu liikenteen vertaamiseen normaaliksi määriteltyyn käyttäytymiseen. Hälytyksiä voidaan tuottaa pelkkien otsikkotietojen perusteella, mutta myös syvällisempi tarkastelu (Deep Packet Inspection) mahdollistaa kuljetus- ja sovelluskerroksen hyötykuorman analyysin tunnettujen haitallisten mallien tunnistamiseksi. Laajasti käytettyjä IDS-järjestelmiä ovat esimerkiksi Snort, Zeek ja Suricata. IDS:iä käytetään monissa yhteyksissä, kuten haittaohjelmien, palvelunestohyökkäysten ja erilaisten verkkoihin kohdistuvien hyökkäysten havaitsemiseen.

IDS-järjestelmien keskeinen haaste on tarkkuus. Väärät positiiviset havainnot (laillinen liikenne tulkitaan haitalliseksi) ja väärät negatiiviset havainnot (haitallinen liikenne jää tunnistamatta) kuormittavat valvontaa edelleen merkittävästi.

Tunnusmerkistöpohjaiset IDS-järjestelmät vertaavat liikennettä tunnettujen hyökkäysmallien tietokantaan, jota on päivitettävä jatkuvasti. Tunnusmerkit voivat olla yksinkertaisia (esim. IP-osoitteet, portit) tai monimutkaisempia hyötykuorman rakenteita. Esimerkiksi sääntö voi laukaista hälytyksen, jos TCP-portin 80 liikenne sisältää tietyn merkkijonon (kuten “GET”). Tällaiset järjestelmät vaativat paljon laskentatehoa, koska liikennettä verrataan suureen määrään tunnettuja malleja. Tämän vuoksi käytetään rinnakkaisia ja hajautettuja ratkaisuja sekä laitteistokiihdytystä suorituskyvyn parantamiseksi.

Poikkeamiin perustuvissa IDS-järjestelmissä liikennettä verrataan aiemmin opittuun normaalikäyttäytymiseen. Oppimisvaiheessa järjestelmä muodostaa mallin “normaalista” liikenteestä, ja hälytykset tuotetaan tästä poikkeavista havainnoista. Haasteena on muodostaa riittävän edustava ja puhdas normaalimalli. Esimerkiksi epätavallinen porttiskannaus voidaan havaita poikkeamana liikenteen tilastollisissa ominaisuuksissa. Koneoppimismenetelmistä huolimatta poikkeavuuspohjaisen havaitsemisen tarkkuus on käytännössä edelleen rajallinen.

IDS-järjestelmät voidaan luokitella myös sijoituspaikan perusteella. Isäntäpohjainen tunkeutumisen havaitsemisjärjestelmä (HIDS) toimii yksittäisissä laitteissa ja valvoo niiden toimintaa sekä liikennettä. Monissa virustorjuntaohjelmissa on tällaisia ominaisuuksia. Verkkopohjainen IDS (NIDS) puolestaan sijoitetaan verkon keskeisiin pisteisiin valvomaan segmenttien välistä liikennettä.

Tunkeutumisenestojärjestelmä (IPS) laajentaa IDS:n toimintaa siten, että se ei ainoastaan havaitse uhkia, vaan myös reagoi niihin automaattisesti. IPS voi estää liikennettä pudottamalla paketteja, katkaisemalla yhteyksiä tai päivittämällä verkon suodatussääntöjä. Järjestelmä toimii tyypillisesti reaaliajassa ja useimmiten sisältää myös IDS-toiminnallisuuden.

IDS/IPS-järjestelmä verkon suojauksessa.

Verkon tietoturvan monitorointi (syventävä)

Verkon valvontatyökalut auttavat muodostamaan kokonaiskuvaa verkon tietoturvatilanteesta. Liikennevirtapohjaiset ratkaisut, kuten NetFlow ja IPFIX, keräävät tietoa tiedonsiirtovirroista ja tarjoavat yleiskuvan verkkoliikenteestä. Ne ovat kevyitä käyttää sekä laskennan että tallennustilan kannalta, mikä mahdollistaa pitkän aikavälin seurannan. Näitä tietoja voidaan hyödyntää sekä poikkeamien havaitsemisessa että rikosteknisissä analyyseissa.

Tarvittaessa liikenteestä voidaan poimia tarkempaa sisältöä jatkoanalyysiä varten. Esimerkiksi NetworkMiner ja Xplico pystyvät rekonstruoimaan liikenteestä tiedostoja, sähköposteja ja HTTP-istuntoja sekä tunnistamaan verkon laitteita ja niiden ominaisuuksia.

Verkon kartoitus- ja skannaustyökalut, kuten Nmap ja Zmap, mahdollistavat verkon laitteiden ja palveluiden tunnistamisen esimerkiksi ICMP- ja SYN-kyselyiden avulla. Tällaisia työkaluja käytettäessä on tärkeää ymmärtää niiden vaikutus sekä verkon toimintaan että tietoturvaan. Työkalujen tuottaman tiedon oikea tulkinta on keskeistä verkon turvallisuuden arvioinnissa.

IP-kaukoputket (IP telescopes) ovat verkkoalueita, joilla ei tarjota palveluja, mutta jotka ovat silti reititettävissä. Näihin osoitteisiin saapuvaa liikennettä voidaan analysoida esimerkiksi verkkoskannausten tai muun haitallisen toiminnan havaitsemiseksi. Ne mahdollistavat myös niin sanotun takaisinsironnan (backscatter) tarkastelun, jossa havaitaan esimerkiksi IP-osoitteiden väärentämiseen (IP spoofing) liittyvää liikennettä.

Honeypot eli hunajapurkki on tarkoituksella haavoittuvaksi tehty järjestelmä, jonka tavoitteena on houkutella hyökkääjiä. Se voi simuloida palvelimia, sovelluksia tai laitteita ja kerätä tietoa hyökkäystavoista ja -työkaluista. Näin saatu tieto auttaa ymmärtämään uhkia ja kehittämään tehokkaampia suojautumiskeinoja. Honeypotteja valvotaan jatkuvasti, ja niiden tuottama aineisto on arvokasta erityisesti tutkimus- ja kehityskäytössä.

Tietoturvan arviointipalvelut voivat kartoittaa verkon haavoittuvuuksia analysoimalla esimerkiksi IP-osoitteita ja verkkotunnuksia. Tällaisia palveluja tarjoavat sekä kaupalliset toimijat että internetpalveluntarjoajat. Tulosten luotettavuus voi kuitenkin olla rajallinen, erityisesti jos tarkastelu on lyhytaikaista tai kohdeverkon osoitteistus muuttuu (esim. NATin vuoksi). Siksi kattava arviointi edellyttää sekä sopivia työkaluja että syvällistä asiantuntemusta.

SIEM-järjestelmät kokoavat yhteen tapahtumatietoja useista lähteistä, kuten IDS-järjestelmistä, palomuureista, isäntäpohjaisista agenteista ja lokitiedostoista. Ne analysoivat nämä tiedot keskitetysti ja nostavat esiin turvallisuuden kannalta merkittävät tapahtumat. Useiden tietolähteiden yhdistäminen mahdollistaa laajemman tilannekuvan muodostamisen ja auttaa tunnistamaan esimerkiksi brute force -hyökkäyksiä, haittaohjelmien leviämistä ja verkkoskannauksia.

Pääsynvalvonta (syventävä)

Verkot eivät lähtökohtaisesti rajoita sitä, mitkä laitteet voivat liittyä verkkoon tai käyttää sitä. Aiemmin kuvattu IEEE 802.1X tuo pääsynvalvontaa edellyttämällä laitteilta tunnistautumista ennen verkkoon pääsyä. Tämä ei kuitenkaan yksin takaa, että verkossa toimivat laitteet ovat jatkuvasti luotettavia.

Esimerkiksi alun perin luotettavaksi todettu laite voi muuttua epäluotettavaksi järjestelmään tehtyjen muutosten seurauksena. Tätä ongelmaa pyritään ratkaisemaan verkkoyhteyden hallinnalla, joka voidaan toteuttaa TNC-arkkitehtuurin avulla. Tällöin verkkoon liittyvän laitteen on täytettävä ennalta määritellyt tietoturvavaatimukset ennen pääsyn myöntämistä. Lisäksi tällainen lähestymistapa mahdollistaa liikenteen tarkemman valvonnan esimerkiksi palomuureissa, jolloin voidaan yhdistää tietty verkkoliikenne sitä tuottaneeseen asiakasohjelmistoon.

Liittyvän laitteen turvallisuuden tarkastaminen edellyttää, että tarkastava laite on luotettava. Sen varmistaminen kuuluu seuraavan pääluvun aiheisiin.

TNC:n ja vastaavien mekanismien merkittävä rajoite on, että ne kuvaavat vain laitteen tilaa tarkistushetkellä. Järjestelmän ajonaikaisia muutoksia ei kyetä luotettavasti havaitsemaan tai estämään. Laitteen turvallisuustila voi heikentyä myöhemmin esimerkiksi haitallisten ohjelmien tai etähallinnan kautta tehtyjen muutosten seurauksena. Tällöin laitteen nykyinen tila ei enää vastaa alkuperäisessä tarkastuksessa todettua luotettavaa tilaa.

Luottamattomuuden periaate verkoissa (syventävä)

Nollaluottamusverkoissa luovutaan perinteisestä oletuksesta, että verkon laitteisiin voidaan lähtökohtaisesti luottaa. Ajatus on, että kaikki laitteet ovat epäluotettavia, ellei niiden luotettavuutta ole erikseen todistettu. Kyseessä on merkittävä paradigman muutos perinteisiin verkkomalleihin, joissa verkko jaetaan luotettuihin ja epäluotettaviin osiin esimerkiksi palomuurien avulla.

Muutos on seurausta siitä, että perinteisissä verkoissa menetetään helposti näkyvyys ja hallinta siihen, mitä laitteita liitetään näennäisesti suojattuun sisäverkkoon. Erityisesti mobiililaitteet liikkuvat jatkuvasti eri verkkojen välillä, kuten kotiverkkojen ja organisaatioverkkojen välillä, mikä heikentää perinteisen verkkorajan merkitystä.

Siirtyminen nollaluottamusmalliin ei ole yksinkertaista. Se edellyttää kokonaisvaltaista ymmärrystä verkon resursseista, kuten käyttäjistä, laitteista, palveluista ja tiedoista. Lisäksi tarvitaan jatkuvaa tilannekuvaa näiden resurssien tietoturvatasosta. Kaikki palvelupyynnöt tulee hyväksyä vahvan todennuksen kautta, mieluiten hyödyntäen monivaiheista tunnistautumista yhdistettynä kertakirjautumiseen, jotta käyttökokemus säilyy sujuvana.

Haasteena on, että kaikkia perinteisiä palveluita ei voida helposti sovittaa nollaluottamusmalliin. Tämä edellyttää muutoksia palveluihin, jotta ne tukevat yleisiä todennusmekanismeja (esim. OpenID Connect, OAuth tai SAML).

Yksi tunnetuimmista nollaluottamusarkkitehtuureista on BeyondCorp. Siinä verkon pääsynvalvontaa hyödynnetään laitteiden tunnistamiseen, ja käyttäjät tunnistetaan keskitetyn kertakirjautumisjärjestelmän avulla. Mallissa aiemmin sisäiset palvelut käsitellään ulkoisina palveluina, joita suojataan pääsyvälityspalvelimen kautta. Tämä pakottaa vahvan salauksen ja tarkasti määritellyn pääsynvalvonnan kaikkiin yhteyksiin.

Palvelunestohyökkäysten vastatoimet (syventävä)

Palvelunestohyökkäykset (DoS) voidaan karkeasti jakaa kahteen luokkaan sen mukaan, mitä resursseja ne kuormittavat. Laajamittaisissa hyökkäyksissä pyritään kuluttamaan kohteen verkkokaistanleveys. Tyypillisiä esimerkkejä ovat vahvistushyökkäykset sekä hajautetut palvelunestohyökkäykset (DDoS), joissa hyödynnetään laajoja botnet-verkkoja suuren liikennemäärän tuottamiseen. Hyökkäykset kohdistuvat usein yksittäisiin palveluihin tai verkkoihin, mutta voivat pahimmillaan vaikuttaa myös koko verkkoinfrastruktuuriin.

Hyökkäysten vaikutuksia voidaan lieventää tehokkaimmin pysäyttämällä haitallinen liikenne mahdollisimman varhaisessa vaiheessa, ennen kuin se saavuttaa kohdeverkon. Tätä varten käytetään esimerkiksi kaupallisia suodatuspalveluja (“scrubbing services”), jotka sijoittuvat Internetin ja asiakasverkon väliin ja poistavat haitallisen liikenteen ennen sen välittymistä kohteeseen.

Vaihtoehtoisesti liikennettä voidaan ohjata tai suodattaa verkon reititystasolla. Esimerkiksi BGP-mainoksilla voidaan ohjata liikennettä hallitusti pois kohteesta tai erillisiin suodatusalueisiin, ja BGP FlowSpec -mekanismin avulla voidaan määritellä tarkempia liikenteen suodatusehtoja reitittimille.

Sovellustason DoS-hyökkäyksissä kohteena ovat palvelun ohjelmistoresurssit, kuten muisti ja suorittimen laskentateho. Näissä hyökkääjä pyrkii kuormittamaan palvelua esimerkiksi suurella määrällä pyyntöjä. Puolustautumiskeinot ovat usein sovelluskohtaisia. TCP-pohjaisissa palveluissa SYN-evästeet ja nopeudenrajoitus voivat suojata yhteyksien muodostamiseen kohdistuvilta hyökkäyksiltä.

Lisäksi CAPTCHA-mekanismeilla voidaan erottaa ihmisten ja automatisoitujen järjestelmien tuottama liikenne. Tämä on erityisen hyödyllistä verkkopalveluissa, joissa halutaan estää robottien aiheuttamaa kuormitusta ja väärinkäyttöä.

Palautusta lähetetään...