Skipi: Využitie metód umelej inteligencie v oblasti detekcie a prevencie sieťových útokov.

Z Psychostudia

Jump to: navigation, search

Obsah

Abstrakt ?

..

Systémy detekcie a prevencie prienikov (IDS/IPS systémy)

Čo sú to IDS/IPS systémy

V podnikových sieťach sa v posledných rokov rozšírilo využívanie sieťových služieb, ktoré obsahujú alebo spracúvajú rôzne typy citlivých údajov. Tieto údaje, od osobných údajov zamestnancov až po rôzne údaje spĺňajúce kritériá obchodného či štátneho tajomstva, musia byť chránené pred neoprávneným prístupom a zneužitím. Na ich ochranu sa využívajú rôzne technológie a metodiky. Jednou z nich je použitie systémov, ktoré sledujú sieťovú prevádzku alebo jej kópiu, detegujú nekalú činnosť na sieti a buď na ňu upozornia bezpečnostných pracovníkov (Intrusion Detection systems - IDS), alebo jej priamo zabránia (Intrusion Prevention Systems - IPS). Systémy, ktoré sledujú dátové toky a správanie sa jednotlivých používateľov priamo na sieti sa nazývajú sieťové (network) IDS/IPS. Systémy, sledujúce sieťovú prevádzku jedného klienta a zároveň aj správanie sa používateľov a aplikácií na tomto klientovi sa nazývajú klientské (host) IPS.

Rozdelenie IDS/IPS systémov

Existujú dva základné druhy IDS/IPS systémov. Sú umiestnené buď priamo v ceste dátovým tokom (inline) a môžu do nich zasahovať priamo, alebo sa do nich presmeruje kópia produkčnej prevádzky - tzv. promiskuitné (offline) systémy. Na tejto kópii vykonávajú detekciu no buď do dátových tokov vôbec nezasahujú, alebo zasahujú iba nepriamo. Na zásah používajú buď prostriedky TCP/IP protokolov (reset spojenia a pod) alebo iné sieťové bezpečnostné systémy (firewally, smerovače a pod).

Výhodou inline systémov je, že sú schopné reagovať hneď pri vytváraní podozrivého toku a zabrániť tak aj tzn. atomickým útokom, pozostávajúcim iba z jedného packetu. Naopak za nevýhodu sa dá považovať krátky čas ktorý majú na rozhodovanie a menej informácií v čase vytvárania spojenia.

Promiskuitné (offline) systémy naproti tomu ragujú s časovým oneskorením až po nadviazaní spojenia (nie sú schopné zabrániť atomickým útokom), ale majú k dispozícii viac času a informácií, ako bolo pri vytváraní spojenia.
Pri detekcii prienikov sa používajú dva rôzne prístupy:
  • rozpoznávanie signatúr útokov (signature based)
  • detekcia anomálií v prevádzke (anomaly detection - AD)

IDS/IPS systémy, založené na rozpoznávaní signatúr útokov, využívajú podobne ako antivírové systémy súbory signatúr (špecifických znakov) jednotlivých útokov, s ktorými potom porovnávajú sieťovú prevádzku a pri výskyte zhody reagujú podľa vopred pripravených pravidiel. Výhodou takýchto systémov je relatívne vysoká presnosť detekcie a jednoduchšie vyladenie systému. Na druhej strane, systémy založené na AD musia byť pri svojom nasadení prejsť fázou učenia, počas ktorej sledujú prevádzku na sieti a budujú si znalostnú databázu správania sa siete za normálnych okolností - tzv. baseline. Po tejto fáze nasleduje ostrá prevádzka, počas ktorej systém porovnáva aktuálnu prevádzku na sieti s baseline a prípadné anomálie identifikuje, kategorizuje a hlási bezpečnostným pracovníkom. Tak ako sa menia podmienky v sieti (nový používatelia, systémy alebo služby), systémy IDS/IPS je nutné kontinuálne ladiť. Ladenie je nekonečný proces učenia sa nových, meniacich sa podmienok. Pri práci týchto systémov vznikajú dva druhy základných chýb. Je to buď stav, keď systém detekuje útok na prevádzke, ktorá je normálna. Tento stav sa volá false positive (FP) a spôsobuje neprehľadnosť a zmätok v monitorovacom sytéme. Naopak závažnejším problémom je stav, keď pri útoku systém nič nehlási. Tento stav sa volá false negative (FN) a spôsobí, že útok nebude rozpoznaný.


Problémy tradičných systémov IDS/IPS

Tradičné IDS/IPS systémy využívajú expertné systémy, ktoré obsahujú sady definovaných signatúr útokov, k nim priradených dôležitostí (severity) a pravidiel, čo sa má vykonať, keď daná signatúra odpáli. Sady týchto informácií sú statické. Pri aktualizácii sa musia vložiť nové pravidlá alebo aktualizácia od výrobcu. Systém nieje schopný sa sám naučiť nové signatúry alebo pravidlá.

Pri ladení systému je potrebné dosiahnuť rovnováhu medzi citlivosťou detekcie na jednej strane a množstvom generovaných informácií na strane druhej. Čím je citlivosť vyššia, tým viac FP je generovaných a tým viac je rozptyľovaná obsluha nepodstatnými informáciami. Ak je však citlivosť prinízka, môžu nastať situácie, keď sa uskutočnený útok nezdeteguje (FN). V prípadoch, že sa jedná o viac útokov v jednom momente, nieje jednoduché určiť, ktorý z nich je závažnejší a hodnejší pozornosti.

Problémy pri detekcii prienikov

Pre správne fungovanie IDS/IPS systému je nutné v rozsiahlych množstvách dátovej prevádzky vyhľadávať známky útokov. V tradičných IDS/IPS sa používajú buď expertné systémy, ktoré porovnávajú prevádzku so signatúrami existujúcich útokov a na základe toho podnikajú dopredu pripravené činnosti. Táto metóda je náročná na čas a výkon zariadení. Pri ladení takého expertného systému je nutné eliminovať FP, čo je úloha extrémne náročná na čas a množstvo informácií.

Druhou možnosťou je detekcia anomálií. Pri tejto metóde sa systém nechá učiť určitý čas normálnu prevádzku v sieti, na základe čoho si potom vybuduje model normálneho správania sa siete (baseline) a deteguje odchýlky od neho. Tento systém je extrémne náročný na elimináciu FP, pretože aj nepatrná odchýlka od baseline (ktorá nemusí znamenať útok) generuje alarm.

Problémy pri kategorizácii útokov

V prípade detekcie útoku niektorou z metód je ho veľmi dôležité správne kategorizovať, aby bolo možná jeho správna vizualizácia. Je nutné určiť závažnosť alarmu, presnosť metódy detekcie (napríklad spoľahlivosť signatúry), jeho kategóriu, určiť cieľ útoku a jeho dôležitosť, prípadne porovnať informácie o útoku s informáciami v databáze zraniteľností (vulnerability assessment) a určiť relevantnosť tohto útoku (či je daný systém proti takémuto typu útoku chránený alebo nie).

Problém vhodnej vizualizácie informácií

Pri vizualizácii v bezpečnostnom monitorovacom systéme je nutné zobrazovať alarmy (oznamy o útokoch) podľa rôznych kritérií. Je dôležité brať do úvahy informácie získané či už pri samotnej detekcii útoku ako aj pri následnej kategorizácii útoku. Na základe týchto informácií sa následne zvolí vhodný typ vizualizácie informácií. Do úvahy sa ale musí brať aj preferencia používateľa, ktorý môže mať väčší záujem o niektorý z druhov útokov. Ak je zodpovedný za určitú službu, jeho záujem sa sústredí na útoky proti konkrétnej skupine aktív (napr. web serverov) alebo proti konkrétnemu sieťovému protokolu (napr. HTTP). Tieto preferencie je nutné tak isto zohľadniť pri vizualizácii informácií.


Možnosti využitia umelej inteligencie (AI) v IDS/IPS systémoch

Keďže práca IDS/IPS systémov sa skladá z veľkej časti zo spracovania a získavania informácií z množstva dát, rozpoznávania schém správania sa podľa rôznych metód a adaptovania sa na nové, zmenené podmienky, je využitie AI pri týchto úlohách ideálne.

Využitie AI pri detekcii a klasifikácii prienikov

Jednou z používaných metód pri riešení tohto problému sú genetické algoritmy (GA) v spojení s rozhodovacími stromami ktoré automaticky generujú pravidlá pre klasifikáciu sieťových spojení. Možné sú aj kombinácie rôznych techník, napr. GA môžu byť použité na vybudovanie neurónovej siete (NN), alebo –probabilistic reasoning-- môže byť vybudované na základe fuzzy logiky.

Najpoužitelnejšie sa v tejto oblasti javia rôzne typy neurónových sietí (NN). Ich výhodou je, že sú rýchle pri klasifikácii udalostí, sú schopné sa naučiť a identifikovať udalosti, ktoré sa explicitne nenaučili. Najväčším ich problémom je ich black-box forma, kde neexistujú jasné pravidlá pre výsledok, a odpovede sa na výstupe objavujú bez akýchkoľvek vysvetlení.

Tieto našli využitie napríklad pri rozpoznávaní vzoriek útokov v sieťových spojeniach, kde sa používajú správne natrénované neurónové siete s dopredným šírením (feed-forward NN). Počas učenia sa parametre siete nastavia tak, aby každej vstupnej vzorke bola priradená správna výstupná hodnota, ktorá reprezentuje triedu vstupného sieťového spojenia (normálne, útok). Vstupné vzorky spojení sú reprezentované vektorom vlastností získaných z týchto spojení. Keď sa na vstup naučenej siete dostane vzorka, ktorej nebol pri učení priradený prislúchajúci výstup, bude použitý naučený výstup, ktorého vstup je najbližší ku neznámemu vstupu.

Ďalším využitím NN je napríklad rozpoznávanie zmien v správaní sa používateľa. NN sa naučí rozpoznávať jeho normálne správanie, používané príkazy, auditné záznamy a pod. Následne po zaradení do úrevádzky potom môže detegovať zmeny a anomálie v správaní sa používateľa. Na túto úlohu sa používajú napr. rekurentné NN.

Pri offline detekcii sa využívajú aj viacvrstvové perceptróny so spätným šírením chyby (back-propagation MPL NN). NN sa naučí rozpoznávať profil používateľa vytvorený pre skupinu najdôležitejších príkazov. Na konci každého zaznamenaného spojenia vyhodnotí použité príkazy na možné zneužitie. Úspešnosť takého systému s použitím trojvstvového MLP a dvojstavového výstupu (normálna prevádzka, útok) sa ukázala na hranici 90 percent. V inej štúdii pri použití štvorvrstvového MLP bola preukázaná úspešnosť až 99 percent.

Iné výskumy boli smerované na využitie samoorganizujúcich sa máp (self-organizing maps – SOM).

Všetky tieto prístupy však riešili iba problém s dvoma možnými výstupmi: normálna prevádzka alebo útok. V reálnej prevádzke je ale potrebné riešiť problém s viacerými výstupnými triedami, kde sú útoky klasifikované do viacerých skupín podľa ich typu. Pri riešení takéhoto typu úlohy je nevyhnutné si zadefinovať triedy útokov (výstupov NN). Tieto triedy môžu byť napríklad (distribuované) odmietnutie služby (DoS, DDoS), neoprávnené zvýšenie právomocí (priviledge escalation), zbieranie informácií (probe, recognition), a podobne. Ďalším krokom je výber vlastností, ich číselná reprezentácia a normalizácia. Tieto vlastnosti sa vzťahujú k vykonaným príkazom, aktuálnemu spojeniu, ktoré je preverované, ale aj k uplynulým udalostiam (napr. spojeniam z toho istého zdroja za posledných niekoľko sekúnd).

Pri detekcii útokov sa ako užitočné javia nielen informácie o aktuálnom spojení, ale aj informácie o tom, čo sa dialo v určitej predchádzajúcej časovej perióde. Tieto informácie nám pomôže získať dolovanie informácií (data mining) z obrovských objemov uložených dát. S úspechom sa v tejto sfére používajú asociačné pravidlá (association rules), pomocou ktorých sa vydolovali z auditných údajov vzorky normálnej prevádzky, používané detekciou anomálií. Pre tieto asociačné pravidlá bol vyvynutý algoritmus Apriori

Na vytvorenie abstraktnejších dátových štruktúr sa používajú koncepty fuzzy logiky, ktoré umožňujú používanie abstraktnejších pojmov namiesto exaktných čísel. To odstraňuje problém ostrých hraníc (sharp boundary problem), keď veľmi malá zmena hodnoty vediet k úplnej zmene triedy na výstupe. Využitie Fyzzy logiky prináša vyššiu flexibilitu a umožňuje budovať komplexnejšie IDS/IPS systémy. Väčšinou je ale potrebná ľudská obsluha na vyladenie fuzzy množín a pravidiel. To je extrémne náročné na čas a obsluhu. Je však možné tieto elementy generovať automaticky. Na automatické generovanie je vhodný napr. fuzzy window Markov model.

Jedným z mechanizmov, ktoré kombinujú použitie fuzzy logiky a dolovania dát je system FIRE [Dickerson and Dickerson, 2000] , ktorý používa jednoduché algoritmy dolovania dát na získanie vlastností, ktoré budú užitočné pri detekcii útokov. Administrátor použije automaticky generované fuzzy množiny na vytvorenie fuzzy pravidiel. Je možná aj automatizácia vytvárania týchto pravidiel, čo vedie k eliminácii potreby ľudskej obsluhy.

Využitie AI pri vhodnej vizualizácii informácií

Pre správne fungovaie IDS/IPS systému je nutné výsledky detekcie prehľadne vyzualizovať tak, ako to vyhovuje konkrétnemu bezpečnostnému pracovníkovi. Keďže každý pracovním môže byť zameraný na inú oblasť sieťovej bezpečnosti, je nutné perzonalizovať klasifikáciu a vizualizáciu alarmov. Je vhodné mať aspoň jeden AI systém na detekciu a klasifikáciu udalostí a druhý, ktorý bude rozhodovať, ktoré udalosti konkrétneho bezpečnostného pracovníka budú zaujímať. Toto rozdelenie umožní systému mať jediný detekčný a klasifikačný AI systém a zároveň personalizované GUI pre každého používateľa.

Detekčný Ai systém sa bude učiť na vzorke sieťovej prevádzky, kým vizualizačný AI systém by mal mať určité jednoduché základné nastavenia, ktoré bude možno dynamicky meniť na základe vstupov od používateľa. Takýto AI systém je možné učiť niekoľkými spôsobmi:

  • sledovaním práce používateľa (jeho klikania)
  • vysvetľovaním kliknutí používateľom
  • uvedením dôvodu, prečo si AI myslí, že udalosť je dôležitá a spätnou väzbou od používateľa
  • kladením otázok používatelovi o hodnotení udalostí
Prvá z metód umožňuje učenie AI bez zbytočnej záťaže na používateľa. Jej problémom je ale šum (prekliknutie sa) a podobné typy udalostí sa zvyknú prioritizovať, až kým nieje používateľ zahltený podobnými udalosťami. Pomôcť by pri tom mohla negatívna spätná väzba od používateľa.

Ostatné metódy predstavujú priame učenie AI učiteľom. Je možné a vhodné používať kombináciu týchto metód.

Zhrnutie  ?

Zdroje  ?

[1] ...