Térinfrmatika tanszék * Keresztmetszet 2004. Nyugat-Magyarrszági Egyetem, Geinfrmatikai Főisklai Kar, Székesfehérvár. DIGITÁLIS UJJLENYOMAT AZ ADATBIZTONSÁGBAN Kttyán László Nyugat-Magyarrszági Egyetem Geinfrmatikai Főisklai Kar Térinfrmatika Tanszék ÖSSZEFOGLALÁS A számítógépes rendszerek védelme a betlakdók ellen fnts prbléma. A betlakdók képesek a biztnsági hiánysságkat felderíteni, behatlni a rendszerekbe és beflyáslni azkat. A behatlás érzékelő módszerek egyike az állmányk módsításának vizsgálata. A digitális ujjlenymat segítségével az állmányk megvizsgálhatók és a betlakdás ténye meghatárzható. ABSTRACT Nwdays it is an imprtant prblem t prtect cmputer systems against intruders. Intruders are able t find ut security gaps, intrude and influence the systems. One f the intrusin detectin methds t check the mdificatin f files. Digital fingerprint is an apprpiate tl t check files and detect intrusin. Az infrmatika fejlődésével és az internet terjedésével egyre fntsabbá válik a számítógépes rendszerek védelme az illetéktelen személyek ellen. A rendszerek elleni támadásk elhárítására száms eszköz létezik, aznban a támadók megfelelő módszerek, eszközök segítségével felderítve a biztnsági hiánysságkat, képesek betörni a rendszerekbe, hgy saját érdekeiknek megfelelően kihasználják azkat. Ezért a védelmi eszközök mellett is fnts felkészülni arra, hgy a rendszer vizsgálatával felderíthető legyen, a rendszer illetéktelen személy beflyása alatt áll-e? A következőkben tekintsük át a behatlók tevékenységeit, módszereit és eszközeit (Shultze, 2002).
Kttyán László: Digitális ujjlenymat az adatbiztnságban Térinfrmatika - 2004, NyME GEO, Székesfehérvár 1. CÉLPONT FELTÉRKÉPEZÉSE, INFORMÁCIÓGYŰJTÉS ÉS BETOLAKODÁS A betlakdó első feladata, hgy aznsítsa a kihasználandó rendszert. Prt scannerek használatával meg tudja határzni, hgy melyik hszt kapcslódtt az internetre, milyen TCP és UDP prtk vannak nyitva és milyen perációs rendszer van rá telepítve. Ezután a betlakdó megpróbálja meghatárzni a web-, ftp- és mailserverek verzióit, illetve a kapcslataikat a TCP és UDP prtkkal. Ez azért lehetséges, mert száms alkalmazás küld véletlenszerű adatkat a hálózatn, amelyekből a futó alkalmazáskat és a verzió infrmációkat lehet aznsítani. Ha a behatló képes valamely prtn a hsthz kapcslódni, megkísérel a felhasználónevekről, utlsó belépési dátumkról, jelszómódsítás dátumairól, csprttagságról infrmációt szerezni, amelyekkel jgsult felhasználóként férhet hzzá a rendszerhez. Az infrmáció gyűjtés irányulhat például a helyi Rendszergazda csprt tagjaira, a Backup (Biztnsági-máslat felelős) felhasználókra, esetleg a Vendég felhasználó jelszavára. Amennyiben az intrudernek nem sikerült jelszót szereznie, a scial engineering (társadalm mérnökség) vagy a brute frce attack (nyers erő támadás) módszerekhez flyamdhat. A scial engineering lényege, hgy a felhasználókat félrevezetve, megfélemlítve, jóhiszeműségüket kihasználva vagy lefizetve, megszerezzék a szükséges adatkat. A brute frce attack, hadviselés bármely alkalmazás vagy szlgáltatás ellen, amelyek felhasználói aznsítást végeznek. A brute frce attack eszközök, felhasználói jelszó és felhasználónév párk kmbinációit próbálgatva, biznys idő elteltével, sikeresen hzzáférhetnek a rendszerhez. 2. JOGOSULTSÁG KITERJESZTÉSE, BACKDOOR TELEPÍTÉSE, RENDSZER BEFOLYÁSOLÁSA Miután az intruder felhasználói hzzáférést nyert egy hsthz, adminisztrátri jgsultságra kíván szert tenni. Ezt rendszerint a hzzáférhető infrmációfrrásk áttekintésével kezdi el megvalósítani. Ezek a következők: batch (kötegelt) fájlk: felhasználó neveket, jelszavakat tartalmazhatnak, regisztrációs bejegyzések (registry keys): alkalmazásk vagy felhasználók jelszavai, e-mailek, dkumentumk, amelyek szintén tartalmazhatnak értékes adatkat. 2
Kttyán László: Digitális ujjlenymat az adatbiztnságban Térinfrmatika - 2004, NyME GEO, Székesfehérvár Az úgynevezett statikus infrmációk begyűjtése után a behatló trójai prgramt helyezhet el a rendszerben. A trójai prgramk az alkalmazáskba, szlgáltatáskba írt kódrészletek, amelyek gyűjtik a felhasználói és jelszó adatkat, kiterjesztett jgsultsághz juttathatják a behatlót, elrejtik tevékenységét és backdrkat készítenek. A backdr, azaz hátsó ajtó a betlakdónak lehetőséget nyújt a legrövidebb idő alatt, aznsítási prcedúra nélkül, észrevétlenül visszatérni a rendszerbe. A betlakdó a megszerzett adminisztrátri jgsultsággal, telepített backdrral képes tetszése szerint beflyáslni a rendszert. 3. TEVÉKENYSÉG ELREJTÉSE, ÁLLOMÁNYOK MÓDOSÍTÁSA A behatlók tevékenységüket igyekeznek elrejteni a felhasználók elől. Annak megállapítására, hgy egy rendszer illetéktelen személy beflyása alatt áll-e, a behatlás érzékelő eszközök alkalmasak. A betlakdó a tevékenysége közben nymkat hagy maga után a rendszer állmányaiban, illetve az árulkdó nymk eltüntetésére tett kísérlete újabb nymkat eredményezhet. A behatlás érzékelésének egyik módja az állmányk vizsgálata arra vnatkzóan, hgy illetéktelen személy módsíttta-e azkat. Az perációs rendszerek állmányai alapvetően két csprtba srlhatók, váltzásuk, módsításuk szempntjából. Az egyik csprtba azk az állmányk tartznak, amelyeket a rendszergazda a telepítés alkalmával beállít és a rendszer frissítéséig nem módsít. Ide tartzak például a knfigurációs és a bináris állmányk. A másik csprtba azk a fájlk tartznak, amelyeknek egy esemény hatására gyakran módsulhat a tartalmuk. Tipikusan ilyen állmányk a napló és a jelszó állmányk. Azkat a fájlkat, amelyeket a behatlónak érdekében áll módsítani, mindkét csprtban megtaláljuk. Az alábbiak veszélyeztetettek a betlakdó részéről: felhasználói fiókk, csprtk, jgsultságk, knfigurációs beállításk, szlgáltatásk, alkalmazásk, jbk állmányai, bináris és napló fájlk, szttt és rejtett állmányk (CERT, 2000). 4. DIGITÁLIS UJJLENYOMAT Az első csprtba tartzó állmányk esetében a módsításuk érzékelésére jó megldás a hasító táblák alkalmazása. A hasító táblák dinamikus adathalmazkra alkalmazhatók, fix hsszúságú hasíttt értékeket, tárlnak, amelyeket egy hasító algritmus generál a tetszőleges váltzó hsszúságú bemenő adatkból. Egy bemenő adatból a függvény mindig ugyanazt a hasító értéket generálja, így a bemenő értékek összehasnlíthatók. 3
Kttyán László: Digitális ujjlenymat az adatbiztnságban Térinfrmatika - 2004, NyME GEO, Székesfehérvár Az ún. message-digest (üzenetkivnatló) algritmusknál is ezt az elvet alkalmazzák a gyakrlatban. Az RFC1321-es jelű dkumentumban megtalálható az RSA Data Security, Inc. MD5 Message-Digest Algrithm nevű algritmus leírása, amely a következő: Az algritmus bemenetként tetszőleges hsszúságú üzenetet kap, amelyből egy 128 bites ujjlenymatt vagy üzenetkivnatt készít. Feltételezhető, hgy számítási időigénye miatt lehetetlen két lyan üzenetet előállítani, amelyekből az algritmus ugyanazt a kivnatt állítaná elő, vagy lehetetlen bármely lyan üzenetet előállítani, amely megfelel egy előre adtt célkivnatnak. Ha egy fájlra alkalmazzuk az MD5 algritmust, akkr egy egyedi ujjlenymatt kapunk. Ha a fájlban az adatk bármilyen módn megváltznak, akkr megváltzik a fájl ujjlenymata is. A bináris és knfigurációs állmányk esetén, ez a megldás azért hatékny, mert bármely alkalmmal összehasnlítva az ujjlenymatkat a rendszergazda képes észlelni azt a tényt, hgy a fájlk tartalma megváltztt. A másdik csprtba tartzó állmányk esetén, mivel az állmányk tartalma dinamikusan váltzik, ez a módszer nem alkalmazható. A lgfájlk tartalmának váltzása nem utal arra, hgy behatló módsíttta vlna azkat. Ebben az esetben célszerű az állmányk tulajdnságaiban történő váltzáskat vizsgálni. Például a hzzáférési jgsultság, tulajdns és csprt aznsító, fájlrendszer eszközszám, I- csmópnt szám vagy egyéb jellemzők váltzása, amely utalhat intruder tevékenységre. 5. BEHATOLÁS ÉRZÉKELÉS A digitális ujjlenymat módszerét felhasználva az első csprtba tartzó, a Linux perációs rendszer knfigurációs és bináris állmányai módsításának vizsgálatára kidlgztam egy (Kttyán, 2003), a célra hatéknyan használható, eszközt, amelynek a Smart Intrusin Detectin (SID) nevet adtam. Az elnevezés utal a prgram fürgeségére (a smart szó egyik jelentése: gyrs, fürge), amely a hash technikának köszönhető. A hash táblákat a digitális ujjlenymat készítésénél és a feldlgztt adatk tárlásánál is alkalmaztam. Célm az alábbi szempntk megvalósítása vlt: hatékny és megbízható algritmus használata az állmányk módsításának érzékeléséhez könnyen használható, grafikus felület elkészítése nagy számú állmány együttes vizsgálata a vizsgálatban résztvevő állmányk kiválaszthatósága és a kiválasztás módsíthatósága a vizsgálat adatainak tárlása hatékny adatbázis műveleteket lehetővé tevő adatstruktúra jelentés készítése az elvégzett műveletekről naplózás 4
Kttyán László: Digitális ujjlenymat az adatbiztnságban Térinfrmatika - 2004, NyME GEO, Székesfehérvár Linux perációs rendszer alatt működjön platfrmfüggetlen fejlesztőeszköz használata, a későbbi más perációs rendszerre való átültethetőség érdekében A feladat megldására a Perl prgramnyelvet választttam, mert ingyenes, hatékny a rendszergazdai feladatk megldásában és száms perlmdul áll rendelkezésre. A legfntsabb felhasznált Perl mdul a Digest::MD5, amely digitális ujjlenymatkat állít elő. Az adatk tárlásáhz a Berkley DB adatbázist választttam, amely rendelkezik hash adatbázis típussal és a tie() mechanizmus segítségével egyszerűen csatlható a Perl hash adattípushz. Gyrs adatbázis műveleteket tesz lehetővé. Az eredeti vagy betlakdó által minden biznnyal nem módsíttt állmányt tiszta állmánynak, a tiszta állmányról készült digitális ujjlenymatt tiszta digitális ujjlenymatnak nevezem. A fájlnév kifejezés alatt a SID funkcióinak megvalósításával kapcslatban, a gyökérkönyvtárból kezdődően megadtt elérési utat és az állmány nevét értem. A Smart Intrusin Detectin az állmányk biztnságs használatának elősegítése érdekében a következő funkciókkal rendelkezik: 1. tiszta digitális ujjlenymat készítés a megadtt állmánykról (célszerűen tiszta állmánykról), a tiszta digitális lenymat adatbázisban történő tárlása a fájlnevekkel együtt és az elvégzett műveletek jelentése 2. az állmányk tisztaságának ellenőrzése az elkészített ujjlenymat és a tiszta ujjlenymat összehasnlítása által, az eredmény jelentése 3. a tiszta ujjlenymat cseréje, jelentés 4. az adatbázis elemeinek törlése 5. naplózás 6. felhasználói segédlet A főprgram a sid.pl futtatható állmány. Első használatkr az adatbázis feltöltését a feltlt.pl állmány valósítja meg, amely egy lista állmányból dlgzik. A napló bejegyzéseket a sidlg állmány tárlja. A SID két adatbázis állmányt használ, a sid.db-t és a vizsgalat.db-t. Az adatbázis fájlk 640-es hzzáférési engedéllyel rendelkeznek. Mindegyik állmány Berkley DB DB_HASH típusú adatbázist tartalmaz. A sid.db állmány tartalmazza azt az adatbázist, amelyben a tiszta lenymatk tárlódnak fájlnév digitális lenymat párkban, ahl a fájlnév a hash kulcsa és a lenymat a hash értéke. A vizsgalat.db állmány az aktuálisan létrejött digitális lenymatk fájlnév digitális lenymat párkban történő ideiglenes tárlását látja el. A súgó szövegét a sug.pd állmány tárlja. 5
Kttyán László: Digitális ujjlenymat az adatbiztnságban Térinfrmatika - 2004, NyME GEO, Székesfehérvár Az alábbi menük biztsítják a felsrlt funkciókat: 1.1. BEÁLLÍTÁS A Beállítás menü lehetővé teszi a felhasználó számára, a 1. funkció és a 4. funkció használatát, azaz állmánykról tiszta lenymat készítését, tárlását, törlését, és az eredmény megtekintését. A főablak Beállítás menügmbra kattintva megjelenik az aktív Felvétel, az inaktív Törlés és Jelentés ldalak (1. ábra). 1. ábra. Beállítás menü A Felvétel ldaln, egy beviteli mezőre kattintva beírható vagy kiválasztható a felveendő állmány, amelyről digitális ujjlenymatt kívánunk készíteni. A Törlés ldaln a digitális lenymatt eltávlíthatjuk a sid.db adatbázisból. A Felvétel és a Törlés műveletek eredménye a Jelentés ldaln tekinthető meg. Megldandó feladat vlt az üresen hagytt beviteli mezők, nem létező állmánynevek, a már felvett állmányk és az lvasásra meg nem nyitható állmányk esetén indíttt műveletek kezelése. 1.2. VIZSGÁLAT A Vizsgálat menü lehetővé teszi a felhasználó számára a 2. funkció használatát, azaz az állmányk tisztaságának ellenőrzését és az eredmény megtekintését. A kiválaszttt állmánykról egy új lenymat készül a vizsgal.db adatbázisban, majd összehasnlításra kerül a sid.db adatbázisban tárlt tiszta lenymatkkal. Csak az az állmány választahtó ki, amelyről már készült előzetesen tiszta lenymat. Szükséges vlt kezelni és jelenteni az alábbi eseteket a vizsgálat végrehajtásánál: a fájl nem található (tehát módsítva lett), nem választtt ki fájlt a felhasználó, módsítva lett a fájl (nem egyezik meg az ujjlenymat), nem nyitható meg az állmány. 6
Kttyán László: Digitális ujjlenymat az adatbiztnságban Térinfrmatika - 2004, NyME GEO, Székesfehérvár 1.3. FRISSÍTÉS A Frissítés menü lehetővé teszi a felhasználó számára, a 3. funkció használatát, azaz a tiszta lenymatk cseréjét és az eredmény megtekintését. A frissítés akkr szükséges, ha állmány csere történt a rendszerben, például jgsulatlan módsítás gyanúja miatt. A frissítés a sid.db állmányban lévő ujjlenymatt törli és létrehz egy újat. A művelethez az adatbázisból készült állmánylista teszi lehetővé a kiválasztást. Kezelendő eset, ha fájl nem található (tehát módsítva lett), ha nem választtt ki fájlt a felhasználó, ha nem nyitható meg az állmány. 1.4. NAPLÓ A Napló menü lehetővé teszi a felhasználó számára, a 5. funkció használatát, azaz a sidlg állmány tartalmának megtekintését. Az állmány tartalmazza a műveletekhez tartzó bejegyzéseket amelyek a következő típusúak lehetnek: 1. L típusú: L kezdőbetűvel jelenik meg, nrmál lg bejegyzés, tájékztatás céljából, 2. A típusú: A kezdőbetűvel jelenik meg, ha az esemény alert lg bejegyzés, azaz az állmány módsult, 3.! típusú:! jellel kezdődik, ha az esemény figyelmeztetés, 4.!! típusú:!! jellel kezdődik, ha az esemény adatbázissal kapcslats figyelmeztetés. 1.5. SÚGÓ A Súgó menü lehetővé teszi a felhasználó számára, a 6. funkciót, azaz a felhasználói segédlet használatát. A sug.pd fájl tartalma belvasásra kerül. A sug.pd-ban elhelyezett hyperlink hivatkzáskra kattintva, a kiválaszttt dkumentumk betöltődnek és tartalmuk megtekinthető. 6. TOVÁBBI FEJLESZTÉSI LEHETŐSÉGEK Dinamikusan váltzó állmányk vizsgálata: a digitális lenymat készítés úgy alkalmazható, ha az állmányk jellemzőiből készítünk lenymatt és ezt vizsgáljuk. A lgfájlk rtálása: a lgfájlk rtálására a (Blank-Edelman, 2002) irdalm említ eljáráskat. A rtálás lényege, hgy vagy egy adtt idő után, vagy egy adtt méret elérése esetén a lgfájlt átnevezzük, pl.: sidlg.0 lesz a neve. A naplózás tvább flytatódik, úgy,hgy keletkezik egy üres sidlg fájl. A következő fázisban ismétlődik a lépés, először sidlg0 sidlg1-re, majd sidlg sidlg0-ra váltzik és létrejön egy üres sidlg fájl. Ezek a fázisk addig ismétlődnek, amíg egy biznys határt el nem ér a lgfájlk száma. Ekkr, a legrégibb fájl törlődik. A Perlben létezik mdul erre a feladatra, a Lgfile::Rtate, amely zárlja a lgfájlt, és végrehajtja a rtálást. Ez aznban még nem elég, gndskdni kell 7
Kttyán László: Digitális ujjlenymat az adatbiztnságban Térinfrmatika - 2004, NyME GEO, Székesfehérvár arról, hgy a megfelelő időben történjen meg a rtálás. A feladat megldását úgy képzelem el, hgy a főprgram az indítását követően létrehz egy rtáló flyamatt, amely figyeli a következő rtálás időpntját vagy a lgfájl méretének növekedését, hgy a szükséges pillanatban végre tudja hajtani a műveletet. A naplófájl zárlása idejére vagy teljesen felfüggesztődne a naplózás, vagy egy ideiglenes pufferben tárlódnának a lgk, hgy amint lehet az új, üres lgfájlba íródjanak. Mnitrzás: Ha hálózats környezetben dlgzik a felhasználó akkr előfrdulhat, hgy minden percben ki van téve betlakdói támadásknak. Ebben az esetben az állmányk vizsgálatára a SID-et meglehetős gyakrisággal kellene használni, amely nem praktikus megldás. Ennek kiküszöbölésére, haszns lehet a SID tvábbfejlesztése ly módn, ha rendelkezik egy aktív résszel, amely flyamatsan a háttérben fut és időközönként autmatikusan elvégzi a az állmányk vizsgálatát. Ez a mnitrzás kiterjeszthető úgy is, hgy több aktív, a háttérben futó flyamat indul el a hálózatban lévő különböző gépeken, és jelentést küld a rendszergazda gépén futó vezérlő flyamat számára. Mindkét esetben izgalmas feladat az ütemezés és a prcesszek közötti kmmunikáció megvalósítása. Irdalm 1. Kttyán L.: Diplmamunka, Misklci Egyetem, Misklc, 2003. 2. Shultze, E.: Thinking like a hacker, 2002, Shavlik Technlgies, http://shavlik.cm 3. CERT Crdinatin Center: Steps fr Recvering frm a Unix r NT System Cmprmise, 2000, http://www.cert.rg 4. D. N. Blank-Edelman: Perl rendszergazdáknak, Kssuth Kiadó, Budapest, 2002. 8
Kttyán László: Digitális ujjlenymat az adatbiztnságban Térinfrmatika - 2004, NyME GEO, Székesfehérvár CÍM Kttyán László Nyugat-Magyarrszági Egyetem Geinfrmatikai Főisklai Kar Székesfehérvár. Pirsalma u. 1-3. Tel. 06 22 516 553 Fax 06 22 516 521 Email: l.kttyan@ge.inf.hu CONTACTS Laszl Kttyan Cllege f Geinfrmatics, University f West Hungary Pirsalma u. 1-3. Szekesfehervar HUNGARY Tel. +36 22 516 553 Fax +36 22 516 521 Email: l.kttyan@ge.inf.hu SZAKMAI ÉLETRAJZ Okleveles mérnök-infrmatikus diplmámat a Misklci Egyetemen, alkalmazásfejlesztő szakirányn szereztem. 2004. februártól a Nyugat-Magyarrszági Egyetem Geinfrmatikai Főisklai Karán, a Térinfrmatikai tanszéken, mint tanszéki mérnök tevékenykedem. 2004. szeptemberétől Ph.D tanulmánykat flytatk, kutatási témám: Döntéstámgatás a birtkrendezésben. BIOGRAPHICAL NOTES I graduated frm the University f Misklc, having an M.Sc. in Infrmatin Engineering, specialisatin f Sftware Engineering. Frm February 2004 I wrk at the Department f Geinfrmatin Science, Cllege f Geinfrmatics, University f West Hungary. Frm September 2004 I perfrm Ph.D. studies. My research prject is Decisin Supprt in Land Cnslidatin.. 9