Title: H
1Hálózati Operációs Rendszerek
SIEM rendszerek
1
2Tartalom
- Bevezetés a SIEM rendszerekbe azok általános
bemutatása - Tivoli Security Information And Event Manager
- A szoftver célja (Naplózásból származó adatok
össze gyujtése és elemzése) - Muködése
- Elonyei és hátrányai
- OSSIM
2
3Bevezetés a SIEM rendszerekbe, azok általános
bemutatása
- Mit is jelent maga a rövidítés SIEM?SIEM
(Security Information And Event Manager) egy
olyan rendszert értünk, aminek a célja a
szoftverek és hardver eszközök által generált
riasztások, figyelmeztetések naplózása és
analízise, valós idoben. A szakirodalomban
megjelenik a SIM (Security Information Manager)
és SEM (Security Event Manager) rövidítések is,
amiket össze szoktak keverni a SIEM-mel, mivel
hasonló célokra használják ezeket is (a SIEM
gyakorlatilag a két szoftver típus ötvözése,
gyakorlatban nem is szokták külön-külön
alkalmazni már oket). - A SIEM és hozzá hasonló rendszerek célja
gyakorlatilag, hogy a hardver eszközöktol és
szoftverekbol jövo naplókat (eseményeket)
központilag tárolják el és elemezzék ki azokat,
ezáltal biztosítva azt, hogy a biztonságot
veszélyezteto események, tevékenységek
felfedezésre derülnek (illetve kiderüljön az, ha
betörnek a rendszerünkbe). - A SIEM rendszerek gyakorlatilag biztonsági
monitorozást valósítanak meg, amihez társul még
részben a kockázat elemzés és a rendszer
megbízhatóságának növelése.
3
4Mi a motiváció? Miért van szükség SIEM
rendszerekre?
- Nyílván ha egy otthoni kis hálózatra gondolunk,
illetve egy kis vállalkozás rendszerére (kevesebb
mint 10-15 eszközt tartalmaz), ott nincs igazán
szükség folyamatos valós ideju esemény analízisre
(nyilván biztonságra mindenhol szükség van,
viszont a költségeket tekintve valahol meg kell
húzni a határt és egy SIEM rendszer kiépítése és
üzemeltetése nem tartozik a legolcsóbb költségek
közé). Itt általában néha beleszoktak nézni a
napló fájlokba manuálisan, illetve egyszerubb
rendszerekkel szokás a biztonságot fen tartani. - Viszont ha már egy közép vagy nagy vállalati
rendszerben gondolkodunk, ahol a rendszer mondjuk
tartalmaz 50-100 (vagy még több) kliens gépet,
továbbá különbözo szolgáltatásokat nyújtó
szervereket (gondoljunk például egyszeruen egy
apache szerverre, ami mondjuk naponta 10 ezer
embert szolgál ki), nagy földrajzi távolságokat
ível át, különbözo heterogén rendszerek
összekapcsolásával stb....... hát ott már igen
kevés rá az esély, hogy majd a rendszer
adminisztrátorok manuálisan végig nézik minden
egyes alrendszer napló fájlját, anomáliák és
betörések után kutatva. Itt bizony már szükség
van SIEM rendszerek alkalmazására.
4
5SIEM fobb funkciói
- Log consolidation, Log management
- Log normalization
- Correlation
- Incident Management
- Reporting
- Asset management
5
6Log consolidation, Log management
- A log consolidation arról szól, hogy a különbözo
forrásból jövo napló fájlokat, eseményeket egy
vagy több központi helyen tároljuk le. - Fontos követelmények az adatok tárolásával
kapcsolatban - Le legyen tárolva az eredeti formázatlan log is
- Le legyen tárolva a normalizált log
- Hatékonyan és gyorsan lehessen keresni adatokat
nagy log mennyiségek tárolása esetén is - Lehessen a tárolót klaszterezni, külön
üzemeltetni a SIEM többi részétol. - A gyakorlatban általában ezt relációs adatbázisok
segítségével oldják meg.
6
7Log normalization
- A fogadott adatok feldolgozásának elso lépése
bármely SIEM rendszerben. - Normalizáció A fogadott nyers napló adatok és
események köztes, a rendszer által használt
formába ültetése. Elsore egyszerunek hangzik,
éppen ezért nézünk meg pár Log formátumot!
7
8Log normalization Window event log
8
9Log normalization Apache access.log fájlból
127.0.0.1 - - 10/Apr/2007103911 0300 "GET
/ HTTP/1.1" 500 606 "-" "Mozilla/5.0 (X11 U
Linux i686 en-US rv1.8.1.3) Gecko/20061201
Firefox/2.0.0.3 (Ubuntu-feisty)" 127.0.0.1 - -
10/Apr/2007103911 0300 "GET /favicon.ico
HTTP/1.1" 200 766 "-" "Mozilla/5.0 (X11 U Linux
i686 en-US rv1.8.1.3) Gecko/20061201
Firefox/2.0.0.3 (Ubuntu-feisty)" 139.12.0.2 - -
10/Apr/2007104054 0300 "GET / HTTP/1.1" 500
612 "-" "Mozilla/5.0 (X11 U Linux i686 en-US
rv1.8.1.3) Gecko/20061201 Firefox/2.0.0.3
(Ubuntu-feisty)" 139.12.0.2 - -
10/Apr/2007104054 0300 "GET /favicon.ico
HTTP/1.1" 200 766 "-" "Mozilla/5.0 (X11 U Linux
i686 en-US rv1.8.1.3) Gecko/20061201
Firefox/2.0.0.3 (Ubuntu-feisty)" 127.0.0.1 - -
10/Apr/2007105310 0300 "GET / HTTP/1.1" 500
612 "-" "Mozilla/5.0 (X11 U Linux i686 en-US
rv1.8.1.3) Gecko/20061201 Firefox/2.0.0.3
(Ubuntu-feisty)" 127.0.0.1 - - 10/Apr/20071054
08 0300 "GET / HTTP/1.0" 200 3700 "-"
"Mozilla/5.0 (X11 U Linux i686 en-US
rv1.8.1.3) Gecko/20061201 Firefox/2.0.0.3
(Ubuntu-feisty)" 127.0.0.1 - - 10/Apr/20071054
08 0300 "GET /style.css HTTP/1.1" 200 614
"http//pti.local/" "Mozilla/5.0 (X11 U Linux
i686 en-US rv1.8.1.3) Gecko/20061201
Firefox/2.0.0.3 (Ubuntu-feisty)" 127.0.0.1 - -
10/Apr/2007105408 0300 "GET
/img/pti-round.jpg HTTP/1.1" 200 17524
"http//pti.local/" "Mozilla/5.0 (X11 U Linux
i686 en-US rv1.8.1.3) Gecko/20061201
Firefox/2.0.0.3 (Ubuntu-feisty)" 127.0.0.1 - -
10/Apr/2007105421 0300 "GET
/unix_sysadmin.html HTTP/1.1" 200 3880
"http//pti.local/" "Mozilla/5.0 (X11 U Linux
i686 en-US rv1.8.1.3) Gecko/20061201
Firefox/2.0.0.3 (Ubuntu-feisty)" 217.0.22.3 - -
10/Apr/2007105451 0300 "GET / HTTP/1.1" 200
34 "-" "Mozilla/5.0 (X11 U Linux i686 en-US
rv1.8.1.3) Gecko/20061201 Firefox/2.0.0.3
(Ubuntu-feisty)" 217.0.22.3 - -
10/Apr/2007105451 0300 "GET /favicon.ico
HTTP/1.1" 200 11514 "-" "Mozilla/5.0 (X11 U
Linux i686 en-US rv1.8.1.3) Gecko/20061201
Firefox/2.0.0.3 (Ubuntu-feisty)" 217.0.22.3 - -
10/Apr/2007105453 0300 "GET /cgi/pti.pl
HTTP/1.1" 500 617 "http/contact.local/"
"Mozilla/5.0 (X11 U Linux i686 en-US
rv1.8.1.3) Gecko/20061201 Firefox/2.0.0.3
(Ubuntu-feisty)" 127.0.0.1 - - 10/Apr/20071054
08 0300 "GET / HTTP/0.9" 200 3700 "-"
"Mozilla/5.0 (X11 U Linux i686 en-US
rv1.8.1.3) Gecko/20061201 Firefox/2.0.0.3
(Ubuntu-feisty)" 217.0.22.3 - -
10/Apr/2007105827 0300 "GET / HTTP/1.1" 200
3700 "-" "Mozilla/5.0 (X11 U Linux i686 en-US
rv1.8.1.3) Gecko/20061201 Firefox/2.0.0.3
(Ubuntu-feisty)" 217.0.22.3 - -
10/Apr/2007105834 0300 "GET
/unix_sysadmin.html HTTP/1.1" 200 3880
"http//pti.local/" "Mozilla/5.0 (X11 U Linux
i686 en-US rv1.8.1.3) Gecko/20061201
Firefox/2.0.0.3 (Ubuntu-feisty)" 217.0.22.3 - -
10/Apr/2007105845 0300 "GET
/talks/Fundamentals/read-excel-file.html
HTTP/1.1" 404 311 "http//pti.local/unix_sysadmin.
html" "Mozilla/5.0 (X11 U Linux i686 en-US
rv1.8.1.3) Gecko/20061201 Firefox/2.0.0.3
(Ubuntu-feisty)"
9
10Log normalization Syslog
Aug 18 102357 server1 syslog 0Monitor
process 389288 has started Aug 18 102357
server1 radiusd389288 0Local database (AVL)
built. Aug 18 102357 server1 radiusd389288
0Authentication process started Pid 549082
Port 1812 Aug 18 102357 server1
radiusd389288 0Accounting process started
Pid 643188 Port 1813 Aug 18 102357 server1
radiusd643188 0Socket created 15 Aug 18
102357 server1 radiusd643188 0Bound
Accounting socket 15 Aug 18 102357 server1
radiusd549082 0Socket created 15 Aug 18
102357 server1 radiusd549082 0Bound
Authentication socket 15 Aug 18 102407
server1 radiusd643188 1 Start
Process_Packet() Aug 18 102407 server1
radiusd643188 1Code 4, ID 96, Port
41639 Host 10.10.10.10 Aug 18 102407 server1
radiusd643188 1ACCOUNTING-START - sending
Accounting Ack to User user_id1 Aug 18
102407 server1 radiusd643188 1Sending
Accounting Ack of id 96 to 10.10.10.10
(client1.ibm.com) Aug 18 102407 server1
radiusd643188 1send_acct_reply() Outgoing
Packet Aug 18 102407 server1 radiusd643188
1 Code 5, Id 96, Length 20 Aug 18
102407 server1 radiusd643188 1 Leave
Process_Packet() Aug 18 102413 server1
radiusd643188 2 Start Process_Packet()
Aug 18 102413 server1 radiusd643188
2Code 4, ID 97, Port 41639 Host
10.10.10.10 Aug 18 102413 server1
radiusd643188 2ACCOUNTING-STOP - sending
Accounting Ack to User user_id1 Aug 18
102414 server1 radiusd643188 2Sending
Accounting Ack of id 97 to 10.10.10.10
(client1.ibm.com) Aug 18 102414 server1
radiusd643188 2send_acct_reply() Outgoing
Packet Aug 18 102414 server1 radiusd643188
2 Code 5, Id 97, Length 20 Aug 18
102414 server1 radiusd643188 2 Leave
Process_Packet()
11Log normalization
- És a példákon kívül még sok más log formátumról
beszélhetnénk (log a4j-re gondoljunk csak, és
egyéb szabványokra, ahol a formátum is variálható
tetszés szerint). És akkor még nem beszéltünk
egyedi alkalmazásokról egyedi logokkal! (Bár
manapság már ilyen kevés van). - Minden jó SIEM rendszer támogat minden ismertebb
napló formátumot, továbbá vagy konfiguráción
keresztül, vagy programozható API-val támogatja
további napló adatok feldolgozását. - Következo probléma itt még Mi az amit kiemeljünk
a naplókból/eseményekbol és mi az, ami már
haszontalan adat számunkra? - Ha túl kevés adat jön be lehet nem detektáljuk a
biztonsági incidenst, ha túl sok, akkor meg sok
ido, amíg a rendszer feldolgozza az eseményeket. - Általánosan 7 értéket dimenziót szoktak
eltárolni
11
12Log normalization 7 dimenzió
- WHEN - Mikor történt az esemény
- WHO Ki az aki az eseményt kiváltotta
- WHAT Mi az esemény (mit csinál?)
- WHERE Melyik eszközön, gépen történt az esemény
- ON WHAT Megadja, hogy melyik gépen, fájlon,
stb. történt az esemény - WHERE FROM Honnan került kiváltásra az esemény
- WHERE TO Hová ment az esemény
12
13Correlation
- A SIEM feldolgozás folyamatának következo lépcso
foka. - Megvannak a normalizált eseményeink. Ez azonban
gyakran nem elég! - PéldáulEgy belso támadás történt a rendszerben
egy ismeretlen felhasználói névvel. Ekkor fontos
lehet megtudni, hol járt még ez a felhasználó a
rendszerben, kihozta létre és így tovább.. - Ez csak úgy teheto meg, ha az összefüggo
eseményeket összekapcsoljuk, illetve tudjuk azt,
hogy mely események kapcsolódnak össze. Ez a
korreláció. - A korreláció bonyolult statisztikai és
mesterséges intelligenciai algoritmusok
segítségével jön létre.
13
14Incident Management
- Incident management esetén gyakorlatilag arról
beszélünk, hogy mi történjen, amikor a rendszer
egy behatolást észlel, illetve hogy szabjuk
testre, hogy mi számít behatolásnak és mi nem. - Minden SIEM támogatja policyk létre hozását, amik
segítségével lehetoség van arra, hogy testre
szabhassunk az alapveto biztonsági riasztásokat
és újakat hozhassunk létre. Itt általában
lehetoség an prioritás megadására is. - Ezenkívül lehetoség van beállítani, hogy milyen
közegeken történjen riasztás egy-egy incidensnél
e-mailben, sms-ben, stb. - Fontos a szabályok pontos letisztázása egy SIEM
rendszer kiépítésekor! - http//www.sans.org/reading_room/whitepapers/audit
ing/successful-siem-log-management-strategies-audi
t-compliance_33528
14
15Reporting
- Minden jó SIEM rendszerben lehetoség van arra,
hogy különféle jelentéseket készítsünk. Ezek
lehetnek különbözo gyakoriságúak. - A jelentések általában a bekövetkezett apróbb
incidensekrol szólnak, amiknek nem tulajdonítunk
olyan nagy jelentoséget. - Például egy hónapon belül a hibás bejelentkezések
száma stb. - Itt is beszélhetünk automatizált jelentés
készítésrol, kiküldésrol és saját jelentések
készítésérol ezek megléte rendszerrol,
rendszerre változik.
15
16Asset Management
- Asset management kapcsán a rendszerünkben lévo
gépek és hálózatok nyilvántartásáról van szó. - Ez általában minden SIEM rendszerben benne van,
hiszem a SIEM kliens programokat managelni kell.
16
17Tivoli Security Information And Event Manager
céljai és funkciói
- A szoftver fo célja a számítógépes rendszerek
monitorozása és ellenorzése üzleti és biztonsági
szempontból - Lehetoség van az üzleti környezetnek megfelelo
biztonsági házirend bevitelére és alkalmazására
(ezáltal történik a rendszer ellenorzése is) - Kritikus eseményekrol jelentések készítése,
szükség esetén riasztások kiküldése - http//www-01.ibm.com/software/tivoli/products/sec
urity-info-event-mgr/
17
18Tivoli Security Information And Event Manager
általános muködése
18
19Tivoli Security Information And Event Manager
általános muködése
19
20Tivoli Security Information And Event Manager
általános muködése
20
21Tivoli Security Information And Event Manager
általános muködése
- A szoftver begyujti különbözo hálózati eszközök,
operációs rendszerek és alkalmazások napló
fájljait, ezek alapján történik a rendszer
eseményeinek feldolgozása. Az adatbegyujtés
folyamata - A rendszer gépein egy ügynök program fut, aminek
feladata, hogy a beállított esemény és
felhasználói források alapján információt nyerjen
ki a rendszerbol - Az ügynökökkel a kapcsolatot egy standard vagy
egy enterprise TSIEM szerver tartja a
kapcsolatot. A kommunikáció titkosítva történik
az ügynökök és a szerverek között - A szerver eltárolja az ügynöktol fogadott
adatokat egy DB2 adatbázisba, majd ezeket az
információkat normalizálja 7 dimenzió szerint - WHEN - Mikor történt az esemény
- WHO Ki az aki az eseményt kiváltotta
- WHAT Mi az esemény (mit csinál?)
- WHERE Melyik eszközön, gépen történt az esemény
- ON WHAT Megadja, hogy melyik gépen, fájlon,
stb. történt az esemény - WHERE FROM Honnan került kiváltásra az esemény
- WHERE TO Hová ment az esemény
- A normalizált eseményekhez írt házirendet
illeszti az adatokra a szerver, szükség esetén
riasztásokat generál és küld ki - Lehetoség van jelentések generálására és
megtekintésére
21
22Tivoli Security Information And Event Manager
elonyei és hátrányai
- Az eseménynormalizálásnak köszönhetoen képes a
rendszer máshonnan észlelt adatok
összekapcsolására - Riasztások és jelentések automatizálása (leveszi
a rendszeradminisztrátorok válláról a terhet, nem
kell állandóan figyelni a szoftvert) - Lehetoség van több hónapra visszamenoleg
kielemezni az adatokat (rendszerbovítéskor
hasznos tud lenni) - Nagy eroforrás igényu az események
normalizálása és házirendek vizsgálata idoigényes
és sok eroforrást igényel - Nem lehetséges valósideju megfigyelés és elemzés
- Elore meghatározott felhasználói és esemény
források nincs lehetoség bovíteni, saját
eseményforrásokat fejleszteni
22
23OSSIM
- OSSIM Open Source SIEM
- http//communities.alienvault.com/community/
- Van egy PRO változata is, ez már nem ingyenes.
- Az egész OSSIM egy nyílt forrású szoftverekbol
felépülo megoldás (tartalmaz SNORT-ot, MYSQL-t
használ, stb.) - Hasonlóan mint TSIEM esetén lehetoség van
klaszterezni. - Nehezebb konfigurálni (sok heterogén
konfigurációs feladat) - Nem annyira eszi meg viszont az eroforrásokat, és
valós idoben elemzi ki az adatokat! - Egy iso-val töltheto le, ami gyakorlatilag
tartalmaz egy Ubuntu alapú saját operációs
rendszert, aminek segítségével feltelepítheto
maga a operációs rendszer és a szoftver is.
23
24OSSIM
- Csak Linux platformon fut.
- Lehetoség van a korrelációt konfigurálni.
- Dokumentáció nagyon hiányos!
24
25Források, további hasznos linkek a témával
kapcsolatban
- http//en.wikipedia.org/wiki/Security_information_
and_event_management - http//en.wikipedia.org/wiki/Security_event_manage
r - http//en.wikipedia.org/wiki/Security_information_
management - http//www.sans.org/reading_room/
25