Esittely

Vaikka varhaiset verkkohäirinnän havaitsemisjärjestelmät ovat peräisin 1980-luvun alkupuolelta, IDS-käsite lähti liikkeelle, kun Martin Roesch loi ilmaisen ja avoimen lähdekoodin IDS-järjestelmänsä SNORTin. Kevyen rakenteensa ja joustavien käyttöönottovaihtoehtojensa ansiosta Snortin käyttäjäkunta kasvoi nopeasti seuraavien vuosien aikana (tällä hetkellä jopa 400 000 käyttäjää).

Vuonna 2001 Martin Roesch perusti Sourcefire-yrityksen (jonka Cisco osti vuonna 2013) kaupallista IDS-tuotetta varten, joka perustui SNORTiin. SNORTin alkuperäinen ilmainen ja avoimen lähdekoodin versio pysyi kuitenkin saatavilla, ja sitä käytetään edelleen laajalti verkoissa eri puolilla maailmaa. Tällä välin eräät kilpailijat ovat saaneet jalansijaa avoimen lähdekoodin IDS:n alalla, erityisesti Suricata IDS.

Mitkä ovat niiden tärkeimmät erot, ja mitä voimme odottaa SNORTilta tulevaisuudessa?

Säännöt

IDS-ratkaisu on vain niin hyvä kuin käytettävissä olevat säännöt, joita se voi soveltaa valvottavaan liikenteeseen. Snortilla on aina ollut paljon yhteisön tukea, ja tämä on johtanut huomattavaan sääntökokonaisuuteen, jota päivitetään säännöllisesti. Sääntöjen syntaksi on melko yksinkertainen, ja ohjelman rakenne mahdollistaa sen, että kuka tahansa voi ottaa räätälöityjä sääntöjä käyttöön IDS-järjestelmässään tai jakaa niitä yhteisön kanssa.

Jotkut kaupalliset tahot kehittävät myös SNORT-sääntöjä, joita voi ostaa kuukausi- tai vuosimaksua vastaan. Esimerkkeinä mainittakoon Talosin SO/VRT-säännöt (julkaistaan ilmaiseksi kuukauden kuluttua) ja CrowdStrikes Threat Intelligence Services.

Suricata voi käyttää samoja sääntöjä kuin SNORT. Monet, mutta eivät kaikki, VRT-säännöt toimivat edelleen. Suricatalla on oma sääntökokonaisuutensa, joka julkaistaan aluksi maksaville tilaajille, mutta on vapaasti käytettävissä 30-60 päivän kuluttua: Emerging Threats. Näissä Suricatan säännöissä hyödynnetään enemmän Suricatan tarjoamia lisäominaisuuksia, kuten porttiagnostista protokollantunnistusta sekä automaattista tiedostojen tunnistusta ja tiedostojen poimimista.

Sovellusten tunnistus

Snortin alkutaipaleelta lähtien on sanottu, että Snort ei ole ”sovellustietoinen”. Se vain tarkastelee liikennettä, joka vastaa sen sääntöjä, ja ryhtyy toimenpiteisiin (hälytys, hylkääminen ja niin edelleen), kun sääntöihin osuu. Esikäsittelijät auttavat muokkaamalla liikennettä käyttökelpoiseen muotoon, johon sääntöjä voidaan soveltaa: esimerkiksi purkamalla ja dekoodaamalla, mutta Snortin ei tarvinnut ymmärtää, mikä sovellus on tuottanut datan.

Liiketoiminnan vaatimukset ovat kuitenkin muuttuneet ajan mittaan, ja sopeutuakseen markkinoihin Snort lanseerasi OpenAppID:n 2.9.7-versiossaan vuonna 2014. OpenAppID mahdollistaa sovellusten havaitsemisen niin sanottujen Layer 7 -ilmaisimien avulla. Vaikka tunnetun sovelluksen olemassaolo ei aina ole suora tietoturvaloukkaus (esimerkiksi Dropboxin käyttö), se mahdollistaa paremman käsityksen siitä, mitä verkossa on. Sen lisäksi, että aiemmin tuntemattomia sovelluksia voidaan löytää, niiden liikennettä voidaan myös hylätä tai siitä voidaan antaa hälytys yhdistämällä AppID perinteiseen SNORT IDS/IPS-sääntöön.

Suricata toimii tällä alueella hieman eri tavalla. Se tukee sovelluskerroksen havaintosääntöjä ja voi esimerkiksi tunnistaa HTTP- tai SSH-liikenteen epätyypillisissä porteissa protokollien perusteella. Se myös soveltaa protokollakohtaisia lokiasetuksia näihin havaintoihin.

Tässä suhteessa ei ole oikeastaan parempaa tai huonompaa tuotetta, vaan se riippuu siitä, mitä yritys etsii ja mikä järjestelmä täyttää parhaiten havaitsemisen puutteet. Koska molemmat ovat täysin avoimen lähdekoodin tuotteita, testiympäristön perustaminen on suhteellisen nopeaa ja edullista.

Multithreading

Yksi Suricatan suurimmista eduista on se, että se on kehitetty paljon tuoreemmin kuin Snort. Tämä tarkoittaa, että siinä on paljon enemmän ominaisuuksia, jotka ovat nykyään lähes ohittamattomia. Yksi näistä ominaisuuksista on tuki monisäikeistämiselle.

Verkkoliikenteen kasvu vuosien varrella on seurannut tiiviisti IDS-laitteiden käsittelyvaatimuksia (mitattuna paketeissa sekunnissa). Onneksi Suricata tukee monisäikeistystä jo valmiiksi. Snort ei kuitenkaan tue monisäikeistystä. Riippumatta siitä, kuinka monta ydintä suorittimessa on, Snort käyttää vain yhtä ydintä tai säiettä.

On olemassa melko monimutkainen kiertoratkaisu: ajetaan useita SNORTin yhden säikeen instansseja, jotka kaikki syöttävät samaan lokiin. Tämän prosessin hallintaan liittyvien lisäkustannusten (AutoFP) ja laitteiston korkeiden kustannusten vuoksi tätä asetelmaa esiintyy kuitenkin harvoin tuotantoympäristöissä. SNORT3 tukee monisäikeistystä, mutta se on vielä Alpha-vaiheessa ja toimii nimellä Snort++. Alpha-vaiheen tuotetta ei tietenkään kannata käyttää tuotantoympäristössä. Monisäikeistäminen on epäilemättä vahva peruste harkita Suricataa Snortin sijaan.

Tiedostojen louhinta

Suricata tukee tiedostojen louhintaa. Tämä on uskomattoman hyödyllinen ominaisuus, joka mahdollistaa valittujen tiedostojen automaattisen louhinnan, kun sääntö, joka sisältää vaihtoehdon ”filestore”, käynnistyy. On esimerkiksi mahdollista poimia kaikki .pdf-tiedostot tai kaikki yhden pikselin .png-tiedostot ja tallentaa ne valmiiksi määritettyyn kansioon myöhempää manuaalista analyysia, VirusTotal-haun tekemistä tai jopa automatisoitua hiekkalaatikkokäsittelyä varten.

Vaihtoehtoiset järjestelmät

Niinkin kuin Snort ja Suricata ovat epäilemättä suosituimpia avoimen lähdekoodin tunkeutumisen havaitsemisjärjestelmiä, on olemassa myös joitakin vaihtoehtoja. Aiemmin mainittu päivitetty SNORT3-julkaisu näyttää erittäin lupaavalta, sillä se tukee monisäikeistystä, palvelujen tunnistamista ja suoraviivaisempaa sääntökieltä. Tätä on kehitetty useita vuosia. Alpha-vaihe ulottuu kuitenkin vuoteen 2014, eikä tuotantoversion julkaisupäivää ole vielä asetettu.

Vaihtoehtoja perinteisille IDS/IPS-ratkaisuillekin on olemassa, mutta ne voivat joskus toimia hieman eri tavalla. Esimerkiksi Bro Network Security Monitor (tunnetaan nykyään nimellä Zeek) on enemmänkin anomalioiden havaitsemisjärjestelmä. Siinä missä Snort ja Suricata toimivat perinteisten IDS-signatuurien avulla, Bro/Zeek käyttää skriptejä liikenteen analysointiin.

Bro/Zeekin merkittävä etu on, että nämä skriptit mahdollistavat myös pitkälle automatisoidut työnkulut eri järjestelmien välillä, mikä mahdollistaa paljon yksityiskohtaisemmat päätökset kuin vanhat pass or drop -toimet. Sen konfiguroinnista voi kuitenkin tulla varsin monimutkaista.

Johtopäätös

On olemassa useita hyviä avoimen lähdekoodin IDS-vaihtoehtoja. Niiden erojen vuoksi kaikki ratkaisut eivät kuitenkaan toimi kaikissa ympäristöissä. Parhaiden tuotteiden valinnan tulisi perustua siihen, mitä muita, mahdollisesti päällekkäisiä tietoturvatuotteita on jo käytössä, minkälaista liikennettä verkossa kulkee, liikenteen määrä ja käytettävissä olevan IT-henkilöstön osaaminen.

Vastaa

Sähköpostiosoitettasi ei julkaista.