Behatolásvédelem

A IT Biztonság kurzus wikiből

Az informatikai biztonság területén behatolásvédelemről beszélünk, mikor a rendszer olyan gyanús viselkedéseit igyekszünk megfigyelni és kiszűrni, melyek veszélyt jelenthetnek a tárolt adatok és a rendszer elemeinek bizalmasságára, sértetlenségére, rendelkezésre állására nézve. A cél tehát minden olyan folyamat észlelése, mely a rendszer biztonságos állapotát sértheti.

Eszköze lehet IDS (intrusion detection system) vagy IDPS (intrusion detection and prevention system).

Tartalomjegyzék

Betörés

A behatolásvédelem feladata a betörések megakadályozása. A betörés egy olyan tevékenység, amely során egy adott személy vagy program (bot, script) nem engedélyezett hozzáférést szerez a védett rendszerhez és adatokhoz.

Mivel az informatikai biztonságban valamilyen vagyonelem (asset) védelmét kell biztosítani, ezért betörés esetén a rendszerhez való hozzáférésnél lényegesebb lehet, hogy milyen adatokat ért el a támadó. Hasonlóan betörésnek tekinthetők a szolgáltatás lassítására vagy megszakítására irányuló túlterheléses támadások is (DoS, DDoS).

Támadások menete

  1. Külső felderítés
    Elsősorban olyan információk gyűjtése (pl. IP tartomány, a host milyen domainhez tartozik, ki a tartománynév tulajdonosa), melyek külső rendszerekből kinyerhetők, ezáltal észrevétlenül begyűjthetők. Bizonyos mélyebb vizsgálatok (pl. a domain, a lehetséges hostok feltérképezése) vagy aktív felderítések (pl. port scan) már érinthetik a célba vett rendszert.
  2. Belső felderítés
    Belső információk gyűjtése a hálózatról, rendszerről, melyek közös jellemzőként az emberi hiszékenységre alapoznak. Leggyakrabban felhasználóknak küldött válaszkérő vagy kártékony csatolmánnyal ellátott e-mailek, illetve social engineering.
  3. Betörés
    Behatolás a rendszerbe a felfedett sérülékenységek, kiskapuk kihasználásával.
  4. Jogosultság emelése
    A támadó megpróbál minél mélyebbre férkőzni a rendszerbe, minél több legálisnak látszó jogot (felhasználónevek, jelszavak) szerezni, minél több kihasználható sérülékenységet felderíteni a rendszerben a további betörések érdekében.
    Eközben igyekszik eltűntetni a betörés nyomait. Ha a rendszert teljes mértékben sikerül feltörni, vagyis a támadó korlátlan hozzáférésre tesz szert, végleg visszakövethetetlenné teheti saját tevékenységét. Léteztek vírusok és trójaiak, melyek a bejutás után kijavították a kihasznált gyengeségeket a rendszerben, hogy más ne férkőzhessen be ugyanazzal az eszközzel.
  5. További rendszerek feltörése és a haszon kiélvezése

Reakció egy eseményre

Négy esetet különböztethetünk meg az alapján, hogy egy behatolásvédelemért felelős rendszer (IDS) miként reagál egy potenciálisan veszélyes eseményre.

  • Positive (van riasztás)
    True positive
    Valós támadás, melyet az IDS (helyesen) jelez.
    False positive
    Olyan esemény, mely riasztást vált ki, de valójában nem történik támadás (hamis riasztás).
  • Negative (nincs riasztás)
    False negative
    Van támadás, de az IDS ezt nem érzékeli, nem riaszt.
    True negative
    Nincs támadás, és az IDS (helyesen) nem is riaszt.

A négy esetből nyilvánvalóan a true positive és true negative esetén beszélhetünk helyes működésről, vagyis a cél a másik kettő minimalizálása. A két téves eset közül úgy tűnhet, hogy csak a false negative, vagyis az észrevétlen támadás jelent veszélyt, hiszen ennek elkerülése az IDS célja. Hosszútávon viszont a nagy mennyiségű téves riasztás (false positive) a felhalmozódó jelentések nehéz kezelhetősége miatt okozhatja a valós védelem csökkenését.

IDS

Az IDS (intrusion detection system, illetéktelen behatolást jelző rendszer) olyan eszköz vagy alkalmazás, mely a hálózati vagy rendszerműködéseket megfigyelve kiszűri a rosszindulatú tevékenységeket, illetve a biztonsági szabályok megsértését, és jelentéseket küld ezekről. A felderítésben (detektálásban) segíti az üzemeltetők és az informatikai biztonsági személyzet munkáját.

Jellemzően két részből áll, van egy monitorozó alkalmazás és egy központi rendszer, amely az érkező riasztásokat és riportokat kezeli, naplózza, továbbítja. Ez jellemzően egy eszközben csoportosul, attól függetlenül, hogy az egyéb informatikai biztonságot érintő monitorozó rendszerek is képesek az IDS-ből kijövő adatokat kezelni.

Hasonló szerepet tölt be, mint a fizikai biztonsági rendszerekben a riasztók: jó esetben nem csak a világba üvölti a betörés tényét, hanem vagy egy szolgáltató céghez, vagy a rendőrséghez bekötve a megfelelő eljárást indítja el egy-egy esemény kapcsán.

Mint általában minden biztonsági kérdésben, az IDS-ek esetében is fontos, hogy semmilyen eszköz vagy rendszer sem jelenthet teljes védettséget, csak a kockázatok csökkentése az elérhető cél.

Bevezetése, felépítése

IDS bevezetése több módon és célból lehetséges. Mindegyiknél megegyezik, hogy pontos tervezést igényel, mert az IDS-nek rengeteg adatot kell kezelnie valós időben. Az IDS bevezetésénél három fő komponensét, funkcionális elemét kell megtervezni:

  1. Milyen információt és honnan fog megkapni a rendszer?
    Szenzorok, vagy forgalomfigyelő (traffic collector) elemek
    Ezek figyelik és gyűjtik azokat az aktivitásokat, illetve eseményeket, amelyeket az IDS feldolgoz. Ehhez szükség van valamilyen forrásra, melyet az IDS monitorozni tud. Ilyen lehet:
    • Hálózati forgalom (csomagok megfigyelése, csomaglehallgató mechanizmus (sniffer)), ekkor NIDS-ről beszélünk;
    • Host információk (CPU használat, futó folyamatok, I/O információk, naplófájlok, fájl használati minták stb.), ezt nevezzük HIDS-nek.
    Az információ lehet valós idejű vagy batch jellegű. Természetesen minél közelebb kerülünk a valós idejű megjelenéshez és riasztásokhoz, annál hatékonyabb lehet a biztonsági rendszerünk.
  2. Milyen motort szeretnénk használni?
    Elemző (analizáló) motor
    Az IDS agya, mely képes a támadó tevékenységeket a valós adatoktól/forgalomtól megkülönböztetni. A forgalom és a kapott információk elemzése több módon lehetséges, ez a működés határozza meg az IDS-implementáció fő irányvonalát. Egy IDS az alkalmazott szűrési elv alapján lehet szabály vagy anomália alapú. Egy kártékony vagy gyanús elem felismerése után riasztást adhat és/vagy beavatkozhat a futó folyamatokba (IDPS).
  3. Ki kapja meg a riasztásokat, és mit fog tenni ezután?
    Felhasználói interfész és jelentéskészítő modul
    Riasztások esetére meg kell határozni azokat a személyeket, akik az adott rendszerért felelősek, illetve azt a kommunikációs formát, amelyen keresztül az adott személyek vagy csoportok értesülnek az eseményről. A legjellemzőbb módszer az e-mail, amely valamilyen szolgáltatón keresztül SMS-ben is érkezhet, vagy akár direkt SMS küldéssel is továbbítható (szükséges egy közvetlen kapcsolat a mobilszolgáltatókkal). Amennyiben az eszköz lehetővé teszi, javasolt eszkalációs sort is megadni, azaz meghatározni, hogy ha a riasztást nem kezelik az előre kiszabott időn belül, akkor kit kell értesíteni a közvetlen felelősökön túl.
    Fontos, hogy az IDS lényege a riasztás, így ha nincs kellő emberi háttér, akik lekezelnék a kapott riasztásokat (incident response team), azok hatástalanná és ezáltal haszontalanná, értelmetlenné válnak. A biztonsági rendszerek csak állandó felügyelet, folyamatos ellenőrzés és finomhangolás mellett működhetnek a célnak megfelelően. A biztonság állapotát hosszútávon fenn kell tartani.
    Az utólagos vizsgálatok, fejlesztések érdekében a naplózásról sem szabad megfeledkezni.

Ezekhez a megvalósított IDS-ben még társulhat egy szignatúra (lenyomat) adatbázis, mely a már ismert, gyanús vagy kártékony aktivitások mintagyűjteménye. Mivel a legtöbb IDS egy-egy konkrét környezet igényeire van hangolva, ezért bizonyos minták, minta csoportok a gyakorlatban kikapcsolhatók. Például egy tisztán UNIX alapon működő környezetben feleslegesek lehetnek a Windows alapú riasztások. Különböző hálózati eseményekhez azok veszélyességét figyelembe véve különböző riasztási szintek kapcsolhatók. A legtöbb IDS-ben arra is van lehetőség, hogy a rendszer különböző gépeihez különböző mintákat illesszünk. Azaz ha ugyanannak a tevékenységnek a végzését az egyik gépnek megengedjük, más gépek esetében tilthatjuk.

Tűzfal vagy IDS

A tűzfalak és az IDS-ek feladata egyaránt a hálózati biztonság támogatása, a kettő között mégis jelentős különbségek vannak. A tűzfal feladata a külső behatolások figyelése és megakadályozása, az alkalmazásszintű tűzfal adott szabályok alapján próbálja meggátolni a külső behatolásokat, viszont a rendszerből kifelé irányuló üzeneteket nem figyeli. Az IDS a rendszer minden működését monitorozza, így egyaránt riaszt belső és külső támadások, gyanús tevékenységek esetén.

Típusai

Hogyan monitoroz?

Szabály alapú IDS

Jelenleg a legelterjedtebb megoldás a piacon. Működése nagyban hasonlít a vírusirtók működéséhez, azaz rendelkezik egy előre definiált és viszonylag statikus szabályrendszerrel, amely meghatározza a felismerhető támadásokat. A vírusirtókkal ellentétben általában a felhasználók is definiálhatnak szabályokat, amelyeket a szabály alapú IDS használni fog. Hátránya az, hogy a támadás felfedezése, a szabály megírása és érvényre kerülése (kiadási ciklus, frissítési ciklus) időt igénylő folyamat, mely alatt a rendszer védtelenül áll az adott támadásokkal szemben. Emiatt kiemelt szerepet kap (akárcsak a vírusirtóknál) a gyártói támogatás, a folyamatos frissítés.

Anomália alapú IDS

Az anomália alapú IDS-ek bevezetésük után elkezdik tanulmányozni a hálózatot, illetve a kapott adatokat. Ezek alapján elkészítenek egy "normál" működést tartalmazó térképet, amelyhez az aktuális események adatait hozzávetik. A normális működést a motor határozza meg különböző szempontok alapján, mint:

  • heurisztika,
  • statisztikai adatok,
  • előre definiált szabályok.

A rendszer elve alapján a betörés eltér a normál hálózati mintától, vagyis akkor kapunk riasztást, ha az ismert karakterisztikákban eltérés mutatkozik. Ez a működés pont ellenkezője a szabály alapú IDS-eknek, amelyeknél csak és kizárólag arra kapunk riasztást, amire van definiált szabályunk.

Az anomália alapú rendszereknél az említett módszerek mellett a Mesterséges Intelligencia használata is kezd elterjedni.

Hátránya a szabály alapú módszerrel szemben, hogy a hálózati zaj jelentősen megnehezíti a rendszer működését. Nagy zaj és forgalom esetén könnyen átsiklanak a támadások. Ha pedig a rendszer érzékenyebb, nagy mennyiségű hamis riasztást kaphatunk, ami a jelentések átláthatatlanságához, kezelhetetlenségéhez vezet. Erre megoldásként a riasztások gyakoriságát csökkentik (pl. nem minden második bekövetkezés esetén, hanem csak minden tizediknél érkezik riasztás), ami ismét oda vezet, hogy az IDS nem ad információt a támadásról, amely így észrevétlen marad, és sikeres lehet.

Előnye viszont, hogy új, addig nem ismert támadásokat találhat meg, melyek alapján új szabályokat lehet létrehozni (Honeypot), illetve hogy nem kifejezetten exploit jellegű támdásokat is képes érzékelni (pl. abuse of privileges, azaz a felhasználó technikailag megteheti, amit tesz, de jellemzően nem teszi, illetve a vállalati policy szerint nem is tehetné). Hasonlóan képes furcsa, szokatlan kommunikációkat is megtalálni attól függetlenül, hogy annak tartalma valódi és a szabályoknak megfelel. Például egy nagyobb összeg internetes átutalása legális és megszokott esemény a rendszerben, de egy ismeretlen, esetleg külföldi IP-címről (ahonnan eddig még sosem kezdeményeztek átutalást) gyanús lehet.

Hol monitoroz?

NIDS

Az NIDS (network intrusion detection system) a hálózati forgalmat monitorozza. Viszonylag egyszerű telepíteni, nagy rendszerek esetén megfelelő gyorsaság mellett elegendő lehet relatíve kis számú eszköz használata.

IDS kapcsán általában erről a megoldásról van szó.

Előnye, hogy mivel nem avatkozik bele a hálózati forgalomba, a támadó nem képes detektálni. Emellett képes több különböző eszköz ellen érkező támadást egyszerre látni, ezáltal lényegesen nagyobb eséllyel talál meg például egy osztott port scannelést, mint egy HIDS.

Hátránya viszont, hogy nagy sebességű hálózaton nagy teljesítményű eszközre van szükség (drága vagy nem ad teljes lefedettséget), illetve a nagy forgalom elemzését a manapság működő nagyvállalatok esetén még a dinamikus és eltérő adatok is megnehezítik. Jellemzően magas a hamis riasztások száma.

Integráció szempontjából négy megoldást különböztethetünk meg:

  • TAP
Egy T-dugó, melynek felső szárán halad keresztül a forgalom, míg az alsó szárához az IDS kapcsolódik. Előnye, hogy bár az IDS megszakíthatja a kommunikációt, a meghibásodás - a vonal és ezzel a kommunikáció is megszakad - esélye rendkívül alacsony.
  • SPAN
A switch-ek közép és felső kategóriája rendelkezik egy tükrözési lehetőséggel, azaz a switch-en áthaladó forgalom teljes egészében tükrözhető egy adott portra. Erre a portra csatlakozik az IDS.
  • In-line
A legelterjedtebb megoldás, az IDS beékelődik a forgalomba. Ebben az esetben már IDPS funkciókat is lehet alkalmazni, azaz a szoftver képes a kapcsolatok lezárására és a támadó kizárására. Hátránya viszont, hogy az IDS meghibásodása esetén leáll a kommunikáció, ami sok esetben nem megengedhető.
  • WIDS
Wireless IDS, minden szempontból egyedinek tekinthető eset. Fontos megemlíteni, mivel a vezeték nélküli hálózatok folyamatosan terjednek, ezáltal a szerepük egyre nő, és a jövőben minden bizonnyal csak tovább fejlődnek. Egyre inkább kikerülhetetlenné válik a használatuk, és ezáltal a WIDS-ek alkalmazása is nagy szerepet kap.
A vezeték nélküli rendszerek közös jellemzője (legfőbb előnyük, de egyben hátrányuk is), hogy semmilyen fizikai korlátok közé nem szoríthatók. Léteznek ugyan szigetelő megoldások, de ezek a magas költségek miatt nem hatékonyak és többnyire megkerülhetők. Így a támadás bárhonnét, akár nagy távolságról is véghezvihető, vagyis a támadó könnyebben és biztonságosabban törhet a rendszerbe.
A hálózat működése szempontjából fontos, hogy a megfelelő lefedettséggel szolgáljon a felhasználóknak, azaz a monitorozás nemcsak a védelem, hanem a felhasználhatóság szempontjából is fontos. Így a vezeték nélküli hálózatok megfigyelése esetén spektrumanalízist és IDS szolgáltatást is kell nyújtani.
HIDS

A HIDS (host-based intrusion detection system) egy adott gép működését monitorozza, az adott rendszert érintő adatokat figyeli. Ellenőrzi a hálózati forgalmat, a lokális erőforrásokat, mint a CPU, a memória, a futó folyamatok, illetve fájlok elérései. Emellett képes vizsgálni a rendszerben futó naplózó folyamatok bejegyzéseit is.

Előnye, hogy képes a hálózati forgalmakat felhasználókhoz kötni, illetve az operációs rendszer mélyén is képes bizonyos eseményeket, változásokat megfigyelni.

Hátránya viszont, hogy ami gyanús egy adott rendszerben, nem biztos, hogy egy másikban is az, azaz több különböző rendszer esetén egy folyamatosan karbantartandó, diverz adatokat tartalmazó adatbázist kell fenntartani, vagy a gyártó által kiadott frissítésekre hagyatkozni. Komplex hálózatok esetén ezért nehéz a telepítése és a frissítése, a hatékony működéshez elengedhetetlen, hogy központi vezérelhető legyen mind a rendszerműködés, mind a frissítések folyamata. Ha a rendszert külső, kompromittáló behatás éri, az IDS vagy leáll, vagy tovább generálja az adatokat, melyek viszont nem lesznek többé megbízhatóak.

Jellemző IDS-integráció

Két alapvető irányvonal jellemző. Az egyik a szabály alapú NIDS bevezetése a határvédelmi szinten. Ez sok esetben úgy kerül megvalósításra, hogy a tűzfal foglalja magában az IDS/IDPS funkciót. A másik lehetőség a vegyes megoldás lenne, mely egyszerre a szabály és anomália alapú elvek, illetve az NIDS és a HIDS ötvözete. Ez lehetővé tenné, hogy a két módszer előnyeit is egyszerre élvezzük, viszont ennek bevezetése és működtetése is komoly költségekkel és emberi erőforrásokkal jár.

Titkosított forgalom

A titkosított forgalom megnehezíti az IDS működését, mivel a titkosított adatok dekódolása nem mindig lehetséges. Ha rendelkezünk az SSL titkos kulcsával és az IDS támogatja, telepíthetjük a kulcsot az eszközre. Ezzel az IDS képessé válik dekódolni és így monitorozni a titkosított forgalmat is, ami viszont súlyos terheléstöbbletet jelent.

IDS termékek

  • Ingyenes termékek
    • SNORT (SourceFire)
    • Prelude
    • AIDE
    • ACARM-ng
    • Bro NIDS
    • OSSEC HIDS
    • Samhain
    • Suricata
  • Elterjedt nagyvállalati megoldások
    • SourceFire
    • McAfee IPS
    • IBM Network Intrusion Prevention System
    • UTM (FortiNet, WatchGuard, Paloalto Networks)

IDPS

Az IDPS (intrusion detection and prevention system) az IDS-hez képest annyival tud többet, hogy támadás esetén be is avatkozik a kommunikációba, például lezárja a stream-et, kilövi a végpont csatlakozását (lekapcsolja a switch portot). Ezt jellemzően akkor tudja megtenni, ha

  • in-line csatlakozik a hálózathoz,
  • valamilyen agent segítségével képes a forgalom ACL-ben beavatkozást kikényszeríteni.

Honeypot

Másnéven Honeynet. Egy olyan, szándékosan gyenge védelemmel ellátott rendszer, melynek célja, hogy magához vonzza a támadásokat. Jellemzően hibás szoftverek, alapértelmezett hozzáférések és gyenge jelszavak vannak a Honeypot kiszolgálókon, amelyek megkönnyítik a támadók betörését. A cél az, hogy naplózással, IDS segítségével minél több információt szerezzünk a támadásokról, illetve a támadók viselkedéséről. A szerzett információkat később feldolgozva pl. IDS szabályokat tudunk építeni más rendszereink hatékonyabb védelme érdekében. Kiváló módszer 0-day exploitok gyűjtésére.

A Honeypot sebezhetősége miatt fontos, hogy mindig izolált környezetben legyen megvalósítva, másként a támadó a többi rendszert, a hálózat többi résztvevőjét támadhatja meg a Honeypot feltörése után.

Források