„Spustite sieť! 3“ – Systémy detekcie a prevencie prieniku

„Spustite sieť! 3“ – Systémy detekcie a prevencie prieniku

Spoločne s každodenným vývojom nových sieťových technológií vstupujú do hry tiež nové hrozby, ktoré sa snažia tieto technológie poškodiť. Dynamická povaha sieťových útokov si vyžaduje dynamickú obranu hneď na niekoľkých miestach.

Systémy pre správu siete často krát disponujú možnosťou monitorovania sieťovej prevádzky a podávajú tiež jednotný pohľad do internej sieťovej infraštruktúry, čo poskytuje sieťovým administrátorom a bezpečnostným technikom silnú zbraň v boji proti záškodníkom, ktorý chcú ich sieť poškodiť.

Pokiaľ chcú v dnešnej dobe správcovia sietí zabezpečiť ich infraštruktúru, mali by spojiť tzv. Defense-in-depth / Obranu do hĺbky / a osvedčené postupy pri zabezpečovaní siete.

 

IDS a IPS nástroje

IPS (Intrusion Prevention Systems) – systémy prevencie prieniku
IDS (Intrusion Detection  Systems) – systémy detekcie prieniku

Systémy detekcie prieniku a systémy prevencie prieniku (IDS/IPS) sú zariadenia, ktoré dokážu odhaliť narušenie bezpečnosti sieťovej infraštruktúry a to tak, že monitorujú aktivity sieťových zariadení alebo operačných systémov. Pokiaľ sa vyskytne anomália pri behu systému, IPS vykoná potrebné kroky k navráteniu systému do štandardného stavu.

Narušenie bezpečnosti obvykle prichádza vo forme škodlivých vstupov do cieľovej aplikácie alebo služby (bežiacej napr. na servery). Útočník môže takto získať nie len prístup do aplikácie, ale tiež kontrolu nad pracovnou stanicou alebo serverom. Po úspešnom útoku na zraniteľné miesta aplikácie môže útočník vypnúť služby ktoré daná aplikácia poskytuje. Útočníci však často krát napádajú systémy preto, aby získali prístup k právam a oprávneniam ktoré sú pre danú aplikáciu v systéme implicitne potrebné.

 

Ako pracuje IPS?


IPS býva často krát zariadenie, ktoré je v sieťovej infraštruktúre zaradené hneď za firewall a poskytuje tak doplnkový stupeň ochrany pred vstupom škodlivých dát a správ do systému. Systémy IDS sú systémy pasívne, čo znamená, že len načúvajú sieťovej komunikácii a pokiaľ sa vyskytne problém, alarmujú administrátora, tam však ich úloha končí. Systém IPS je naopak radený priamo medzi odosielateľa a prijímateľa sieťovej komunikácie a dokáže tak priamo a aktívne skenovať takúto komunikáciu, a pokiaľ sa vyskytne nejaká anomália, ktorá môže byť vyhodnotená ako narušenie bezpečnosti, IPS začne konať.

 

Medzi činnosti ktoré IPS vykonáva pri odhalení škodlivej komunikácie patrí:

  • Upozornenie správcu na výskyt bezpečnostného problému
  • Zahodenie škodlivých (resp. podozrivých) packetov
  • Blokovanie komunikácie z danej IP adresy odosielateľa
  • Resetovanie / obnovenie spojenia

 

Keďže IPS je zariadenie radené priamo do sieťovej komunikácie a svoju činnosť vykonáva v reálnom čase, musí pracovať rýchlo a efektívne, aby zbytočne nezaťažoval sieť a neznižoval tak jej výkon. IPS musí byť tiež schopné rozlíšiť, či sa skutočne jedná o škodlivú komunikáciu, aby sa predišlo problémom pri komunikácii spôsobenými práve činnosťami ktoré vykonáva IPS pri detekcii nechcenej komunikácie.

 

Detekčné mechanizmy


IPS využíva mnoho metód pre vyhľadávanie útokov na zraniteľné miesta systému. Spomeňme tie mechanizmy, ktoré sú v IPS/IDS systémoch používané najčastejšie.

Porovnávanie vzoriek (signature based)

Detekčný mechanizmus je založený na vyhľadávaní fixných sekvencií znakov v pakete ktoré sú typické pre niektoré druhy sieťových útokov. Ako už samotný názov detekčného mechanizmu naznačuje, jedná sa o značne nepružnú, avšak jednoduchým spôsobom použiteľnú metódu. Systém IPS má v tomto prípade svoj vlastný slovník „značiek“, ktorý si postupne automaticky dopĺňa. IPS monitoruje sieťový tok a pokiaľ nájde v komunikácii značku, ktorá je zhodná s tou v slovníku, vykoná určitú príslušnú operáciu

V mnohých prípadoch je vzorka porovnateľná len vtedy, ak je podozrivý paket priradený konkrétnej službe, prípadne (pri požiadavke na vyššiu presnosť detekcie) je paket cielený na konkrétny port, alebo prichádzajúci z konkrétneho zdrojového portu. To umožňuje znížiť počet vykonaných kontrol nad každým paketom, ale zvyšuje to náročnosť detekcie pri protokoloch, ktoré sa neodkazujú na známe porty (napr. Trójske kone a nimi vyvolané toky údajov, ktoré si aplikácie zvyčajne sami presúvajú podľa potreby).

Štruktúra mechanizmu porovnávania vzoriek je približne nasledovná:

Ak je TCP paket typu IPv4, cieľový port je 2222 a údaje obsahujú reťazec znakov “pqr” spustí sa reakcia.

Tento príklad detekčného mechanizmu založeného na porovnávaní vzoriek je samozrejme veľmi zjednodušený. V skutočnosti sa do vzorky vkladá i špecifický štartovací a ukončovací bod pre detekciu v rámci paketu, prípadne sú špecifikované TCP príznaky pre pakety na ktoré má byť braný ohľad.

 

Výhody:

  • Táto technika je veľmi jednoduchou, až primitívnou cestou pre detekciu prienikov.
  • Umožňuje priamu koreláciu exploitov podľa veľmi špecifickej vzorky.
  • Spoľahlivejšie hlási presne špecifikovanú vzorku.
  • Je aplikovateľná naprieč všetkými protokolmi.

Nevýhody:

  • Táto metóda môže viesť k vyššiemu množstvu falošných hlásení, ktoré nie sú totožné s hláseniami, ktoré boli očakávané v opise signatúr.
  • Akékoľvek modifikácie útoku môžu viesť k opomenutiu detekcie incidentu  (false negative).
  • Môže vyžadovať niekoľko rôznych signatúr pre obsluhu toho istého typu ohrozenia. Rôzne nástroje útoku generujú potrebu mnohorakých signatúr.
  • Je zvyčajne limitovaná na detekciu jednoduchého paketu a z toho dôvodu nepodporuje dostatočným spôsobom detekciu incidentov v prúde údajov (napr. v protokole HTTP). Tento scenár nepriamo podporuje jednoduché použitie tzv. „vyhýbacích“ (evasion) techník útokov.

 

Analýza odchýlok (anomaly based)

Metóda štatistickej analýzy odchýlok je založená na vyhľadávaní takej sieťovej prevádzky, ktorá je odlišná od prevádzky označenej za „normálnu“. Pri tomto mechanizme detekcii, je najprv vytvorený obraz normálneho prevádzkového stavu siete a ten je potom periodicky porovnávaný s aktuálnym stavom siete. IPS takto dokáže detekovať anomálie v sieťovej komunikácii a vykonať príslušné opatrenia pre ochránenie systému. Najväčším problémom tejto metodiky je prvotná definícia „normálnej“ prevádzky.

Niektoré systémy majú pevne stanovené definície normálu a na základe toho môžu byť hodnotené heuristickými metódami. Niektoré systémy sú vybudované tak, aby sa po implementácii postupne dostali do normálu, pričom ich výhodou je, že sú schopné eliminovať možnosť nevhodnej klasifikácie abnormálneho správania za normálne.

Ak je vzorka sledovanej prevádzky považovaná  za normálnu, systém musí rozhodnúť, akým spôsobom rozlíšiť  medzi povolenými odchýlkami a odchýlkami ktoré nie sú povolené, alebo ktoré môžu predstavovať prebiehajúci útok. Aplikácie v tejto oblasti sú prevažne akademické, i keď existuje aj niekoľko komerčných produktov, ktoré používajú metódu analýzy odchýlok.

Podkategóriou tohoto typu detekcie sú metódy založené na detekcii profilov (profile-based analysis). Tieto systémy majú hlásenia založené na zmenách spôsobu akým prebieha interakcia používateľov a siete. Druhy tejto interakcie spôsobujú mnohé podobné limitácie a na základe týchto zmien je možné odvodiť a definovať jednotlivé profily.

Zaujímavé fakty môžu byť odvodené z trendových údajov, pričom tieto sú schopné odhaliť prebiehajúci  útok na základe uvedeného algoritmu.

Informácie, ktoré tieto systémy poskytujú sú však vo všeobecnosti veľmi nešpecifické a ak majú byť uvedené do správneho kontextu, je nutné vždy ich ďalšie došetrenie.

V niektorých prípadoch sú hranice medzi jednotlivými metodikami rozostreté, pretože mnohé prostriedky pre dekódovanie protokolov upozorňujú používateľa na prítomnosť porušenia pravidiel protokolu, ktoré nemusia priamo súvisieť s konkrétnym typom útoku, avšak sa zdajú byť „neobvyklé“ (napr. detekcia možného pretečenia zásobníka). V takomto prípade detekčné prostriedky udržujú databázu atribútov systému pre detekciu anomálií.

 

Výhody:

  • Ak je táto metóda správne implementovaná, dokáže detegovať neznáme typy útokov.
  • Vyžaduje si minimálne náklady, pretože nemusia byť vyvíjané  nové typy signatúr.

 

Nevýhody:

  • Vo všeobecnosti tieto systémy nie sú schopné extrahovať a poskytnúť pre ďalšiu analýzu „útočné“ údaje v akomkoľvek rozlíšení.
  • Metóda je veľmi závislá od prostredia, v rámci ktorého je prevádzka označená za normálnu.

 

Dekódovanie protokolov

Algoritmus dekódovania protokolov je v mnohých ohľadoch inteligentnejším rozšírením stavového porovnávania vzoriek.

Táto trieda signatúr je implementovaná pomocou detekcie protokolu. Akonáhle je identifikovaný protokol, IDS vyhľadá prípadné priestupky voči pravidlám, ktoré sú definované v konkrétnom RFC.

V niektorých prípadoch sú tieto porušenia pravidiel nájdené pomocou porovnávania vzoriek priamo v rámci špecifického poľa protokolu, ale niektoré si vyžadujú pokročilejšie techniky ktoré opisujú premenné spolu s  dĺžkou  poľa, prípadne i s počtom argumentov.

Je potrebné si uvedomiť, že porovnávanie vzoriek a dekódovanie protokolov sa navzájom nevylučujú.

Pre ilustráciu metódy je možné opäť použiť príklad „pqr“ útoku:

Nech základným protokolom ktorý je pri útoku použitý bude fiktívny BGS protokol a zároveň je predpokladaná prítomnosť nepovoleného argumentu “pqr“ v poli „Type“, protokolu BGS. Pre skomplikovanie prípadu je ešte možné uvažovať, že poľu „Type“ predchádza pole „BGS Options“ s premenlivou dĺžkou.  Reálnymi hodnotami môžu byť napríklad „opqrs“ alebo „pqrst“.

Použitie bežného algoritmu porovnávania vzoriek povedie k vygenerovaniu falošného hlásenia, pretože všetky hodnoty obsahujú sledovanú vzorku. Navyše – vzhľadom na to, že dĺžka poľa môže byť rôzna, nie je možné obmedziť falošné hlásenia limitáciou začiatku a konca sledovanej vzorky.

Jediným spôsobom, ako sa uistiť, že reťazec “pqr“ bol odovzdaný prostredníctvom argumentu BGS „Type“ je úplné dekódovanie protokolu.

 

Výhody:

  • Ak je použitý protokol známy, metóda minimalizuje pravdepodobnosť falošne pozitívnych hlásení.
  • Umožňuje priamu koreláciu exploitov podľa špecifickej vzorky.
  • Umožňuje zachytenie rôznych variantov exploitu vzhľadom na svoju rozsiahlosť a všeobecnosť.
  • Spoľahlivo hlási porušenie definovaných pravidiel protokolov.

Nevýhody:

  • Môže viesť k vysokému množstvu falošne pozitívnych hlásení, pokiaľ je RFC nejednoznačné a umožňuje vývojárom určitú voľnosť pri  interpretácii a implementácii metódy. Tieto porušenia pravidiel protokolu sú veľmi časté.
  • Pre správnu implementáciu parsera si táto metóda vyžaduje dlhší čas vývoja.

 

Kľúčovým predpokladom efektívnej činnosti IDS/IPS je získanie relevantných informácií zo zdrojov rozmiestnených v monitorovanom prostredí. Návrh architektúry IDS/IPS je teda závislý predovšetkým na správnom vyznačení sledovanej sieťovej prevádzky.

Touto časťou seriálu o sieťovej bezpečnosti sme chceli poskytnúť pohľad na systémy prevencie a detekciu prieniku, ktoré pomáhajú chrániť interné siete každej väčšej spoločnosti. Sieťové technológie a bezpečnosť je skutočne rozsiahla téma, takže ďalšia časť „Spustite sieť“ v poradí už 4. príde čoskoro.

 

Prvá časť:   „Spustite sieť!“ – bezpečnosť a iné pojmy

Druhá časť: „Spustite sieť!“ – keď sa vám služba odoprie

 

Tomáš Paulus

 

Zdroje:

http://www.networkcomputing.com/careers-and-certifications/next-generation-firewalls-101/a/d-id/1234097

https://www.paloaltonetworks.com/resources/learning-center/what-is-an-intrusion-prevention-system-ips.html

http://www.fedtechmagazine.com/article/2013/09/6-network-security-tools-every-agency-needs

http://searchnetworking.techtarget.com/definition/network-access-control

Vyjadrite váš názor v komentároch