Verkkoliikenteen seuraaminen ja tulkitseminen Kevät 2007 Arsi Hartikainen, Mikko Pukki
Johdanto Miksi verkkoliikennettä seurataan? Miten verkkoliikennettä seurataan? Haasteet Hyökkäyksenhavainnointijärjestelmät Työkalut Johtopäätökset ja tulevaisuus
Miksi verkkoliikennettä seurataan Vaikeaa pitää muuten turvallisena Havaitaan luvaton käyttö sekä sääntörikkomukset Palomuurin sääntöjen muutokset P2P –liikenteen karsiminen Viruspostien torjunta
Miten verkkoliikennettä seurataan Kirjoitetaan ja tulkitaan lokeja Pyritään olemaan haittaamatta liikennettä Läpinäkyvää muulle liikenteelle Kaappaavan laitteen verkkorajapinta asetetaan tilaan jossa liikennettä ei suodateta kerätään pakettien otsikot tai koko paketit
Haasteet Resurssit (varsinkin hyökkäyksenhavannointijärjestelmässä) Laiteresurssit henkilöstöresurssit Verkkoliikenteen luonne Paketti täytyy kerätä sen esiintymishetkellä Samaan liikenteeseen voi liittyä useita paketteja Kaikki paketit kerättävä Laki ja etiikka sähköisen viestinnän tietosuojalaki Ratkaisuja? kaapataan vain paketin alku
Hyökkäyksenhavainnointijärjestelmät Etsii tapahtumasarjoja jotka viittaavat ilkeämieliseen toimintaan Host based IDS & Network IDS Signature based & Anomaly detection Hyökkäykseen reagointi Lokiin kirjoittaminen ja hälyttäminen vastatoimet
Useamman IDS:n yhtäaikainen käyttö
Snort Avoimen lähdekoodin NIDS Toimii pakettikaappaajana ja/tai IDS:nä Signature based (www.snort.org) Voi säätää iptablesin sääntöjä hälytysten perusteella Kun hälytyksen aiheuttaman liikenteen kulku estetään, se ei enää aiheuta lisähälytyksiä jatkossa Toimii myös ylemmillä protokollatasoilla
tcpdump Työkalu verkkoliikenteen seuraamiseen Käyttää libpcap kirjastoa Työssä käytetty versiota 3.9.4 (pcap 0.9.4) Kaappaa oletuksena kaikkien verkkorajapintaan tulevin pakettien otsikot (promiscuous mode) Linux:ssa voidaan kaapata liikennettä kaikista verkkorajapinnoista tcpdump -i any Non Promiscuous Mode
tcpdump Monia suodatus mahdollisuuksia Voidaan käyttää boolean operaatiota tcpdump 'not host 192.168.0.50 and (port 22 or portrange 55600-55700)' Tiputtaa paketteja, jos kuorma on suuri Koe: 1 GB/s Ethernet verkko, 3.03GB tiedosto, “tcpdump host 192.168.0.5 and not port 22” > 26% kaapatuista paketeista tippui Määrä riippuu myös koneesta jolla kaapataan
Tcpdump esimerkki 13:02:29.305580 IP (tos 0x0, ttl 64, id 3613, offset 0, flags [DF], proto: TCP (6), length: 64) 192.168.0.21.49160 > 192.168.0.10.ssh: S 4127978631:4127978631(0) win 65535 <mss 1460,nop,wscale 0,nop,nop,timestamp[tcp]> 13:02:29.305818 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto: TCP (6), length: 44) 192.168.0.10.ssh > 192.168.0.21.49160: S, cksum 0x75f4 (correct), 3134202974:3134202974(0) ack 4127978632 win 5840 <mss 1460> 13:02:29.305864 IP (tos 0x0, ttl 64, id 3614, offset 0, flags [DF], proto: TCP (6), length: 40) 192.168.0.21.49160 > 192.168.0.10.ssh: ., cksum 0x818a (incorrect (-> 0xa481), 1:1(0) ack 1 win 65535
Tcpdump esimerkki jatkuu 13:02:40.231702 IP (tos 0x10, ttl 64, id 3684, offset 0, flags [DF], proto: TCP (6), length: 40) 192.168.0.21.49160 > 192.168.0.10.ssh: F, cksum 0x818a (incorrect (-> 0x89b8), 3477:3477(0) ack 3381 win 65535 13:02:40.232369 IP (tos 0x10, ttl 64, id 11842, offset 0, flags [DF], proto: TCP (6), length: 40) 192.168.0.10.ssh > 192.168.0.21.49160: F, cksum 0x5537 (correct), 3381:3381 (0) ack 3478 win 13440 13:02:40.410576 IP (tos 0x10, ttl 64, id 11843, offset 0, flags [DF], proto: TCP (6), length: 40) 192.168.0.10.ssh > 192.168.0.21.49160: F, cksum 0x5537 (correct), 3381:3381(0) ack 3478 win 13440 13:02:40.410639 IP (tos 0x10, ttl 64, id 3685, offset 0, flags [DF], proto: TCP (6), length: 40) 192.168.0.21.49160 > 192.168.0.10.ssh: ., cksum 0x818a (incorrect (-> 0x89b8), 3478:3478(0) ack 3382 win 65534
Tcpdump sovelluskohteita Vian etsinta Tutkimus Hajautettu seuranta Vähäiset liikennemäärät seurattavissa kohteissa Kerätään yhteen paikkaan ja analysoidaan Analysointi mahdollisesti jollain muulla sovelluksella
Wireshark Graafinen käyttöliittymä Käyttää libpcap kirjastoa kuten tcpdump Oletuksena riettaassa tilassa (promiscuous mode) Kaappaa myös pakettejen kuormaa Yksityisyyden suoja Käyttäjätunnukset salasanat...
Yhteenveto IDS ei välttämättä huomaa kaikkia hyökkäyksiä. Hyökkääjä voi huijata IDS:ää muuntamalla paketteja. Tällöin tärkeää että tapahtumat on tallennettu. Olettaen että hyökkäys/tietomurto on todettu. Snort voi olla toimiva pienessä yrityksessä Isommassa mittakaavassa ulkoinen palvelu voi olla kannattava. Tcpdump soveltuu pakettien keruuseen vähäisessä liikennemäärässä Analysointiin tarvitaan muita työkaluja (Wireshark)
Yhteenveto Seuraaminen ei ole halpaa ja vaatii resursseja Ei järkeä maksaa tiedon turvaamisesta sen enempää kuin tiedon arvo on Tarvitsee ottaa huomioon myös lainsäädäntö Suomalaisia IDS –palveluita tarjoavia yrityksiä ovat mm. Secode ja Citadec Solutions Hintatietoja odotetaan yhä (odotettu jo viikko)