Hálózatbiztonság - BME mérés

Embed Size (px)

Citation preview

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    1/25

    Hlzatbiztonsg

    MRSI SEGDLET

    Ksztette: Fodor [email protected]

    tdolgozta: Pallos B. [email protected]

    verzi 1.0

    Budapesti Mszaki s Gazdasgtudomnyi EgyetemTvkzlsi s Mdiainformatika Tanszk

    2006.

    mailto:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]
  • 7/25/2019 Hlzatbiztonsg - BME mrs

    2/25

    2

    Tartalomjegyzk

    1 Alapok ................................................................................................................................ 3

    1.1 A biztonsgrl ltalban ............................................................................................. 31.2 Kliens-Szerver modell ................................................................................................ 31.3 Biztonsgos kommunikci [2].................................................................................. 41.4 Biztonsgi elvek......................................................................................................... 4

    2 Tmadsi mdszerek.......................................................................................................... 52.1 Bels tmads ............................................................................................................. 52.2 Social Engineering ..................................................................................................... 6

    2.3 Kls tmads ............................................................................................................ 62.3.1 Hamists alap tmadsok................................................................................ 72.3.2 Szolgltats lebntsa (Denial of Service, DoS)............................................... 72.3.3 Informciszerzs............................................................................................... 8

    3 Vdekezsi lehetsgek, mdszerek.................................................................................. 83.1 Vdekezs bels tmads ellen.................................................................................. 93.2 Vdekezs kls tmadsok ellen............................................................................ 10

    3.2.1 Snifferek ........................................................................................................... 10

    3.2.2 Portscanek ........................................................................................................ 10

    3.2.3 Tvoli opercis rendszer detektls(OS fingerprinting) ................................ 123.3 Naplzs ................................................................................................................... 13

    4 A hlzati forgalom vdelme........................................................................................... 134.1 Az SSL/TLS protokoll [10] ...................................................................................... 13

    4.1.1 SSL kzfogs .................................................................................................... 144.1.2 A szerver hitelestse ........................................................................................ 154.1.3 A kliens hitelestse .......................................................................................... 164.1.4 Titkostsi algoritmusok................................................................................... 16

    5 A Linux opercis rendszer biztonsgi megoldsai......................................................... 165.1 A chroot krnyezet ................................................................................................... 16

    5.1.1 A chroot tmadsa ............................................................................................ 175.1.2 A szolgltatsok elzrsnak biztonsgos megoldsa...................................... 18

    5.2 A Pluggable Authentication Modules (PAM) .......................................................... 18

    5.3 Az Access Control List (ACL) ................................................................................. 19

    5.4 Az Nmap portscan program ..................................................................................... 20

    5.5 A GrSecurity rendszermagfolt ................................................................................. 20

    5.5.1 Hozzfrs-vezrls (ACL) .............................................................................. 205.5.2 Hlzati kiegsztsek...................................................................................... 215.5.3 Rendszer kiegsztsek..................................................................................... 21

    Felkszlshez feladatok.......................................................................................................... 22Mrsi feladatok....................................................................................................................... 23Segdletek a mrsi feladatokhoz............................................................................................ 24Irodalomjegyzk....................................................................................................................... 25

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    3/25

    3

    ha ismerjk az ellensget s ismerjk magunkat is, akkor szz csatban sem

    jutunk veszedelembe; ha azonban nem ismerjk az ellensget, csak magunkat

    ismerjk, akkor egyszer gyznk, msszor veresget szenvednk; s ha sem az

    ellensget, sem magunkat nem ismerjk, akkor minden egyes csatban

    felttlenl vgveszly fenyeget bennnket.Szun-Ce: A hadvisels trvnyei

    1 AlapokA szmtgpes rendszerek bonyolultsgi foka egyre inkbb n. Mg a legjobb szakembereksem ismerik rszletekbe menen a pontos mkdsi mechanizmusokat, gy rendkvl nehzarrl meggyzdni, hogy egy rendszer tnyleg gy mkdik-e, ahogy kellene, valban

    biztonsgos-e[1].A mrs sorn a hlzatbiztonsg kiemeltebb krdseivel fogunk foglalkozni a teljessgignye nlkl, szubjektven kiemelve rszeket. A mrsnek nem clja tmadsi tippeket-trkkket ismertetnie, specilis hibk kihasznlst megmutatnia, mivel ezen informciknagyon hamar elvesztik rtkket. A mrs sokkal inkbb egy tfog ismerethalmazttartalmaz, mely igyekszik az elmletben tanult biztonsgi szemlletet gyakorlati pldkkalkiegszteni.

    1.1 A biztonsgrl ltalban

    A biztonsgot, mint fogalmat klnbz szitucikban klnbzkppen rtelmezhetjk.Informatikai rendszerek esetben nem elegend, hogy egy rendszer j, mkdkpesllapotban maradjon, hanem azt is meg kell gtolni, hogy bizalmas informcik a rendszeren

    kvlre jussanak.Mg a biztonsgfogalma pozitv oldalrl kzelti meg a kvnt llapotot, addig a kockzatgyakorlatiasabb szemllettel dolgozik: egy adott rendszert fenyeget veszlyeket vesziszmba, s az ltaluk okozott krokat prblja megbecslni, sszegezni. Informatikairendszerek esetn mivel a krok tttelesen tovbbterjednek, s ez a hats nehezenmutathat ki pnzben a kockzat pontosan nem llapthat meg a gyakorlatban. Ezrtinkbb csak kockzatelemzsrl, a kockzat cskkentsrl, menedzselsrl szoks

    beszlni ezen a terleten. Az egyes fenyeget tnyezk egymshoz viszonytottkockzatbecslse az informatikai biztonsg terletn is jl kijelli azon leggyengbblncszemeket, ahol a vdelmet clszer ersteni.ltalban elmondhat, hogy informatikai rendszerek esetn nem ltezik tkletes biztonsg.

    A ksbb bemutatsra kerl mdszerek s gondolatok a tudatos kockzatvllals jegybenprbljk megvilgtani a biztonsg sarkalatos krdseit. A biztonsg nvelsre irnyulerfesztseknek a biztonsgot olyan mrtkre kell nvelnie, melyet a vdend rendszermegkvn.

    1.2 Kli ens-Szerver modell

    Az Interneten keresztl elrhet szolgltatsok a kliens-szerver modell alapjn mkdnek. Aszolgltatst nyjt zemeltet egy szmtgpet, a szervert, ami a hozz rkez krseketkiszolglja. A szolgltatst ignybe vev felhasznl ehhez a szerverhez csatlakozik a sajtszmtgpvel, a klienssel, ltalban az Internet hlzatn keresztl. Ebben a modellben a

    kommunikci alapja ltalban az, hogy a kliens zenetet kld a szervernek, melyben

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    4/25

    4

    valamilyen feladat elvgzst kri tle. Miutn a szerver elvgezte a feladatot, visszakld egyvlaszzenetet.A mrs sorn a hlzatbiztonsgi krdsek gykernek a kliens-szerver modellt tekintjk.

    1.3 Biztonsgos kommunikci[2]

    Az, hogy kt tvoli fl biztonsgosan szeretne kommuniklni egymssal a konkrt esetektlfggen jelentsen eltr kvetelmnyeket is jelenthet. Az, hogy mit tekintnk

    biztonsgosnak nagyon fgg az adott szitucitl. Elfordulhat pldul, hogy a msik flmegbzhat azonostsa alapkvetelmny, de lehet, hogy ppen az anonimits biztostsa akulcskrds. Ltni fogjuk, hogy a biztonsgos kommunikcinak tbb egymstlfggetlenthet s mgis egymssal sszefgg sszetevje van:

    Srtetlensg: Annak garantlsa, hogy hibamentesen (vltozs nlkl) r clba egyelkldtt zenet, illetve egy esetleges hiba detektlhat, gy jraadssal javthat.

    Hitelessg: A srtetlensg nmagban mg nem garantlja, hogy az zenetet valbanaz kldte, akit feltteleznk, pusztn azt, hogy a hlzati tovbbts sorn nem srlt.A hitelessg a srtetlensgen fell a vev fl fel garantlja, hogy az adott zenet afelttelezett kldtl szrmazik s annak tartalma nem mdosult.

    Letagadhatatlansg: A letagadhatatlansg a hitelessgnl annyival tbb, hogy ezesetben nem csak a vev fel, hanem tetszleges harmadik szemly fel is igazolhat,hogy egy adott zenetet (megrendelst, nyilatkozatot) a valdi kld kldte, tetttletagadni nem tudja. A letagadhatatlansg kvetelmnyt csak az gynevezettaszimmetrikus vagy nyilvnos kulcs kriptogrfia mdszereivel lehet biztostani,amikor mr a harmadik fl szmra is bizonythat, hogy az alrst ki ksztette.

    Bizalmassg: A biztonsgos kommunikci kapcsn legtbben a bizalmassg, avagytitkossg biztostst rtik. Kriptogrfiai mdszerekkel ugyanis elrhet, hogy olyanformban kdolva tovbbtdjon egy zenet, hogy azt egy tmad lehallgatva, a titkos

    kulcs ismerete nlkl ne rtse meg, illetve szigorbb esetben magnak az zenetnek atartalmra mg valsznsgi alapon se tudjon kvetkeztetni. Tvoli azonosts: A mennyiben kt fl szemlyesen mg nem tallkozott, illetve

    kettejk kztt nincs biztonsgos (manipullhatatlan, lehallgathatatlan) csatorna (pl.szemlyes tallkoz), akkor egyb mdszerekkel, tipikusan kls szerepl(k)

    bevonsval kell biztostani, hogy ket egymsnak biztonsgosan mutassk be s aksbbiekben hitelt rdemlen tudjk egymst azonostani. Gyakorlatban a tvoliazonostst az gynevezett elektronikus igazolvnyok rendszervel, illetve ezenigazolvnyok hitelessgt biztost PKI (Public Key Infrastructure) infrastruktrvaloldjk meg.

    1.4 Biztonsgi elvekTitkolzsra alapozott biztonsg (Security Through Obscurity, [3]) az olyan biztonsgiintzkedsek sszefoglal neve, amelyek arra ptenek, hogy valamilyen informcit titokbantartanak a tmadk ell. (pl.: egy ismeretlen kdolsi eljrs, biztonsgi hibk titokbantartsa, zrt forrskdra alapozott biztonsg). Amennyiben ez a titok kiderl, akkor a

    biztonsg srl. Az ilyen technikk legjobb esetben is csak kiegszt vdelmi intzkedsnekfelelnek meg, a tapasztalat azt mutatja, hogy ez az elv nmagban nem mkdik. Mindenesetben gy kell sszelltani a biztonsgi rendszert, hogy ha a tmad pontosan ismeri afelptst, akkor se legyen kpes thatolni rajta. Ilyen mdszer minden ltalnosan ismerttitkost eljrs (DES, AES, SHA, stb), ahol nem az eljrs titokban tartsa a biztonsg

    zloga, hanem az, hogy a kulcs ismerete nlkl a titkostott zenet nem trhet fel sszer id

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    5/25

    5

    alatt. A titkolzsra alapozott biztonsggal szemben a Teljes kzls (Full Disclosure) elvell.Mindent tiltunk, azon kvl, amit kifejezetten engednk. Gyakorlatban bevett szoks,hogy a bonyolult rendszerek biztonsgi szablyozst nem a tiltsok oldalrl kzeltjk meg.ppen ellenkezleg, szmba vesszk azon mveleteket, melyeket engedlyeznk, majd a

    hozzfrs vezrlst ennek megfelelen gy ptjk fel, hogy minden hozzfrs tiltsa utnengedlyezzk a rendszer mkdshez szksges eljrsokat. gy nem fordulhat el, hogy abiztonsgi alapelvek tervezse kzben bizonyos elemek tiltsa elkerljea tervez figyelmt,ami bonyolultabb rendszerek esetn igen knnyen bekvetkezhet.

    2 Tmadsi mdszerekA tmadsokat kivlt okok tbbflk lehetnek, ltalban a kvetkezk valamelyike:

    a tmad hasznot akar hzni a dologbl, haszonszerzsre trekszik, elfordulhat, hogyel akarja adni ms szemlyeknek a felhasznl adatait,

    a tmad a szolgltat megtlst, hrnevt akarja gyengteni, ezzel krt okozva a

    szolgltatnak, mivel kevesebben bznak meg benne ezutn a tmad bizonyos rtelemben j szndk, csak a rendszerhibira akarja felhvni a

    figyelmet

    a tmads lehet egyszer erfitogtats, szrakozs ugrdeszka keresse ms gpek feltrshez

    A tmadsok megklnbztethetk a szerint is, hogy a tmad a hlzaton keresztl, ahlzati biztonsgi belltsok kijtszsval (kls); vagy e nlkl (bels) jut informcikhoz,vagy bntja meg gpnket. A tmadsok ellen elg nehz konkrt megoldst nyjtani, deltalnossgban elmondhat, hogy a legtbb esetben elkerlhetek, kivdhetek, hamegfelelen vannak belltva afelhasznlk jogosultsgai, az erforrsokhoz val hozzfrs,hlzati paramterek.

    Nyilvnval, hogy a kliens s a szerver mind bels mind kls mdon tmadhat, hiszenmindkett kapcsolatban van a hlzattal. A kztk lv hlzat esetn nem rtelmezhet ez amegklnbztets.

    2.1 Bels tmads

    Bels tmadsnak neveznk minden olyan tmadsi mdszert, melyet olyan felhasznlkvalstanak meg, akik mr a rendszerrel szemben valamilyen bizalmi sttuszban vannak(pldul van jelszavas hozzfrsk egy adott kiszolglhoz), gy nem kell a hlzati

    biztonsgi belltsait kijtszaniuk. A gyakorlatban a tmadsok nagy hnyada bels tmads,ugyanakkor egy sikeresen megvalstott kls tmads clja sok esetben a rendszerhez val

    hozzfrs, s azon valamilyen bels tmads vgrehajtsa. A kvetkezkben a belstmadsok alapvet mdszereit vesszk szmba. Fork bomba (fork bomb):Olyan program, amely a fork() rendszerhvs segtsgvel,

    sajt magt tbb pldnyban elindtja, s gy feleslegesen emszti fel a processzoridts memrit. Vdekezni ellene erforrs korltozssal lehetsges.

    Puffer tlcsorduls (buffer overflow):Programozsi hiba folytn, ha egy puffer azadott mretn tlrhat, akkor a fggvny visszatrsi cme trhat. Ennek az oka,hogy a C fordtk fordtskor nem figyelik a tmbhatr tllpst, illetve vannak olyanfggvnyek, melyek nem ellenrzik a puffer mrett rs eltt. gy az adott rendszerena fut program jogaival tetszleges ms programok is futtathatk. Manapsg egyretbbfle megjelense van ezen tmadsi formnak. Nem csupn kiszolgl

    programok, de akr gyfloldali programok (pl. mdialejtsz, webbngsz) ellen iskszlnek hasonl tmadst megvalst krtkony programok.

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    6/25

    6

    Ismert tmp fjl tmads (known tmp filename attack): A lnyege, hogy egyesprogramoknak a /tmp knyvtrba rt fjljainak neve kitallhat, gy mg a programindtsa eltt, ezzel a nvvel ltre lehet hozni egy linket, mely egy msik fjlra mutat.Ezzel az eljrssal olyan fjlokat mdosthatunk, amelyhez egybknt nincs jogunk.

    Exploit-ok: olyan elre gyrtott programocskk, melyek minden klnsebb

    szakrtelem nlkl rendszergazdai jogkrket adhatnak az jdonslt tmadknak.ltalban egy-egy program biztonsgi hibi alapjn kszlnek, tudvn, hogy nemminden rendszeren vgzik el egy hiba bejelentse utn az rintett programok

    biztonsgi frisstst.Ezekkel a mdszerekkel lehetsg van a szmtgpen trolt adatok illetktelenfelhasznlsra. Rgebben csak a szerveren troltk a jelszavakat, ezrt inkbb a sze rvertkellett a tmadsok elleni vdelemre felkszteni. Az jabb bngszkben megjelent azonbanegy j knyelmi szolgltats, a felhasznl jelszavainak automatikus bersa. Ez felajnlja afelhasznlnak, hogy adott felhasznli nvhez tartoz jelszavt eltrolja, gy afelhasznlnak nem kell azt minden egyes alkalommal begpelnie. gy viszont egy jabbtmadsi pont keletkezik, ezttal a kliens oldalon, hiszen ezek a jelszavak is egy fjlban

    troldnak valahol.

    2.2 Social Engineering

    A tmadk legknnyebbena felhasznlk nem megfelel jelszvlasztst s gondatlansgtkihasznlva szerezhetik meg a jelszt. Ilyen tmadshoz nem is felttlenl szksgesszmtstechnikai ismeret. Nagyon gyakori, hogy a felhasznlkat ismerve knnyenkitallhat az ltaluk hasznlt jelsz, mivel az valamilyen kedvenck (hzillat, sportol,zensz) neve, sajt adatuk (szletsi hely, lakhely, szletsnap), stb. Szintn srn elfordul,hogy a szmtgp monitorra ragasztanak egy cetlit, amire felrjk az ltaluk hasznlt jelszt,gy azt brki lthatja.

    A Social Engineering [4] az emberek bizalomra val hajlamnak kihasznlsa. A rosszszndk tmadk gyakran hasznljk ezt a mdszert a szmtgpekhez val illetktelenhozzfrsre s informcik megszerzsre.A Social Engineering nem a hardver, a szoftver vagy a hlzat hibit, hanem az emberitermszet gyengesgeit hasznlja ki a szmtgpek feltrsre. Alkalmazsval brki, akicsak minimlis informatikai ismeretekkel rendelkezik, behatolhat egy biztonsgosnak tartottrendszerbe, majd hozzfrhet, mdosthatja vagy akr trlheti az ott trolt adatokat. Alegjellemzbb ilyen jelleg bncselekmnyek krbe az "adathalszat" tartozik, amelynl acsalk klnbz eszkzkkel (pldul telefonhvs, e-mail) rveszik a gyantlanfelhasznlt, hogy rulja el jelszavt, adjon meg bizalmas adatokat, illetve szmtgpntltsn le, indtson el alkalmazst az elektronikus zenetben kapott link segtsgvel.

    Habr gy tnik a szakmaisgtl elg messze ll ezen mdszer, nagyonfontos gondolnunk altezsre. Lehetsges ugyanis, hogy egy rendszer karbantartsa esetn sok olyan emberrelkell egytt dolgoznunk, akikre (hlzatbiztonsgi ismeretek hinyban) szigoran bizalmas

    jelszavakat rbzni kockzatos.

    2.3 Kls tmads

    Kls tmadsnak nevezzk azokat a tmadsokat, melyek ahlzati biztonsgi belltsokkijtszsval prblnak egy rendszerhez jogosulatlanul hozzfrni. A kls tmadsokirnyulhatnak informci megszerzsre, trlsre, egy szolgltats megbntsra vagyspecilis erforrsok jogosulatlan felhasznlsra (pl.: bels biztonsgi rendszerhezhozzfrs, kiszolgl erforrsainak kihasznlsa, stb).

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    7/25

    7

    2.3.1 Hamists alap tmadsok

    Ezen tmadsok kzs vonsa, hogy az ellltott protokoll zeneteket valamilyen hamisinformcival tltik fel, gy okozva nem vrt mkdst a hlzatra kapcsolt eszkzn.

    IP cm hamists(IP address spoofing):az IP datagram alap protokoll, melyben akommunikl felek ptik fel a teljes IP fejlcet. Emiatt elkpzelhet, hogy egy

    hlzati eszkz olyan zenetet kldjn, melyben az IP datagram feladjtmeghamistja, abba nem a vals IP cmt helyezi. Ugyan a felad ekkor az IPtvlasztsa miatt nem kapja meg a vlaszzenetet, de ltni fogjuk, hogy egyestmadsok esetn erre nincs is szksg. Az esetek kis rszben az IP hamistskiszrheti pldul gy, hogy bizonyos helyekrl egyrtelmen meghatrozhatcmeket fogadunk csak el (pl. egy privt hlzatban gyans lehet egy, a hlzatimaszkhoz nem ill IP cm megjelense), de ltalnossgban csak specilis protokolloksegtsgvel bizonyosodhatunk meg az IP datagramokban lev IP cmek valdisgrl(pl. IPSec).

    Nvszerver tejts (DNS spoofing): a tmads lnyege, hogy az ldozat egynvfeloldssal hamis informcit kapjon. Ez elrhet az ldozat DNS szervernekfeltrsvel, vagy hamis DNS vlaszzenet kldsvel a DNS szerver nevben (aDNS lekrs UDP protokollon megy, egy megfelel hlzati bekeldssel pedig mrnagyon knny meghamistani a vlaszt). A tmadssal elrhet, hogy az ldozatmsik hlzati eszkzzel lpjen kapcsolatba, mint amivel eredetileg szeretett volna. ADNS tejtssel a tmad kiknyszertheti, hogy az ldozat kapcsolatotkezdemnyezzen vele (pl. jelszval elrhet szolgltats eltrtse esetnmegszerezheti a jelszt, melyet a gyantlan ldozat elkld neki).

    TCP/UDP tejts (TCP/UDP spoofing):Hibsan implementlt protokollverem, vagyprotokollhinyossgok miatt a mr felplt, illetve kezdemnyezett kapcsolatokat egyharmadik szemly elrabolhatja vagy idegen csomagokat csempszhet bele.

    2.3.2 Szolgltats lebntsa (Denial of Service, DoS)

    Szolgltats lebntsra irnyul tmadsi mdszerek (Denial of Service, DoS)clja egyszolgltats lelasstsa, megakasztsa. DDoS (Distributed Denial of Service , Elosztott DoStmads) esetn sok rtatlan szmtgpre tmadprogramot teleptenek a tulajdonosengedlye(s akr tudta) nlkl, melyekrl ksbb egy idpontban indul elosztott tmadsa clgp ellen.A tmadott erforrs alapjn nhny pldaDoS tmadsokra:

    Amerevlemez kapacitselleni tmads lehet olyan esemnyek elidzse egy adotthlzati kiszolgln, melyek naplbejegyzst okoznak. Rosszul tervezett kiszolglesetn a naplbejegyzsekkel megtlttt merevlemez tbb szolgltats lellst isokozhatja (pl. levelezs, webszerver, stb.).

    A szmtsi kapacits elleni tmadsok a kiszolgln nagymrtkprocesszorterhelst okoznak. A tmadst ltalban olyan, nem vrt esemnyekkelvltjk ki, melyekre a tmadott program hibsan van felksztve. Ilyen esemny lehet

    pldul egy nem specifiklt rtket tartalmaz zenet egy adott protokoll felett.Sikeres tmads esetn a tmadott program vgtelen ciklusba esve emszti fel akiszolgl szmtsi kapacitst.

    A svszlessg elleni tmadsokat legtbbszr a mr emltett DDoS mdszerrelvalstanak meg. Ilyenkor ltalban egy, az Interneten elrhet hlzati kiszolglhasznos forgalmt szeretnk kiszortani nagymennyisg haszontalan forgalomgenerlsval. A mr tbb nagyvllalat Internetes portlja ellen bekvetkezettDDoS

    tmadsok tapasztalata, hogy ezen tmadsok kivdse ltalban nagyon sok pnzt senergit emszt fel.

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    8/25

    8

    Egybhlzati erforrs elleni tmadsok is elkpzelhetek. Ilyen lehet pldul akregy DHCP kiszolgl cmternek szndkos kimertse vagy egy hlzati switchMAC cmtbljnak tltltseis.

    Nhny ismertebb gyakorlati plda DoS alap tmadsokra:

    SYN elraszts (SYN flooding): Ez a tmadsi tpus olyan TCP csomagokkalrasztja el gpnket, melyekben a SYN flag rtke 1, azaz hatalmas mennyisgkapcsolat kezdemnyezst jelz csomagot kapunk, mely ltszlag egy olyan gptlrkezik, ami nem rhet el. Mialatt gpnk a hamis SYN csomagok kiszolglsvalfoglalkozik, nem marad elg erforrsa, hogy a valdi kapcsolatkezdemnyezseketkiszolglja.Elfordul olyan SYN elraszts is, mikor a tmad az ldozat cmt helyezi feladknta SYN zenetbe, majd ezt nagyon sok helyre elkldi. Ebben az esetben a cmzettek ahamis felad alapjn nem a tmad, hanem az ldozat fel kldenek nagyon sokSYN/ACK zenetet. Ebben az esetben a tmadnak nem is kell kzvetlenkapcsolatban lennie az ldozattal.

    Land attack: lnyege, hogy valaki olyan csomagot kld, aminek a feladjt gyhamistja meg, hogy a cmzettel essen egybe, ami egy vgtelen ciklusba kergeti afogadt, s bizonyos opercis rendszerek esetn a szmtgp lefagysteredmnyezi. Ezzel a mdszerrel nem csak szmtgpek, hanem routerek, hlzatinyomtatk is tmadhatk.

    Smurf attack: Egy adott hlzatban olyan ping csomagokat kldenek el broadcastzenetknt, melyben feladknt a megtmadni kvnt gp van feltntetve. Ezrtvisszafel hatalmas mennyisg vlaszzenetet fog kapni a megtmadott szmtgp,melyek fogadsa teljesen felemszti a rendszer erforrsait. Ilyenvolt pldulnhnyve az Amazon elleni tmads is.

    A hall pingje (Ping of Dead):A hlzati opercis rendszerek (UNIX, Windows,stb.) azon hibjt hasznlta ki rgen, miszerint olyan ICMP csomagot kldtek atmadott gp fel, mely 64 kB-nl nagyobb volt, s ettl a rendszer azonnal lefagyott.Az jabb verzikban mr javtottk ezt a hibt.

    Knnycseppek (Teardrop):Az ilyen jelleg tmadsok lnyege az, hogy olyan TCPs UDP csomagokat kldnk a clgpnek, melyek fejlce valtlan adatokat tartalmaz.Szmtgpnk ezen hamis adatok alapjn prblja meg sszerakni a teljes csomagot,melynek eredmnye az lesz, hogy gpnk iszonyatosan lelassul.

    2.3.3 Informciszerzs

    Szaglszs (Sniffing): Hlzati forgalmat figyelhetnk vele, mely segtsgvel

    rtkes informcihoz juthatunk. Segtsgkkel vdekezni is lehet a tmadsok ellen,ezrt bvebben a vdekezsrl szl rszben lesz rluk sz.

    Portpsztzs (Portscan): Egy hlzati eszkz nyitott portjait ellenrizhetjk emdszerrel. Szintn hasznlhat vdekezsre is, gy bvebben a vdekezsrl szlrszben lesz rla sz.

    3 Vdekezsi lehetsgek, mdszerekltalban nem llnak rendelkezsnkre konkrt, minden esetben tkletes vdelmet nyjtvdelmi mdszerek. Vannak azonban ltalnos elvek, melyek hasznlatval minimlisra

    cskkenthet a tmads kockzata. Elszr nzzk vgig a fenti tmadsi mdszerek ellenivdekezs formit.

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    9/25

    9

    3.1 Vdekezs bels tmads ellen

    A puffer tlcsorduls tmads ellen egyrszt gondos programtervezssel s implementcival,msrszt a memriatartalmat ellenrz programozsi segdeszkzk hasznlatval lehet. Azismert tmp fjl tmadst dinamikus tmp fjlokkal, illetve megfelel szerverbelltssal iskivdhetjk. Az egyes programok folyamatos frisstseivel, hibajavtsaik hasznlatval

    cskkenthetjk az ltaluk teremtett biztonsgi lyukak szmt, azonban minden ok nlkl necserlgessk a mkd programjainkat. Elszr egy tesztgpen prblkozzunk, s csak utnateleptsk az les gpre a programokat.A tmads egyik lehetsges clpontja a szerver, ugyanis itt troljk a felhasznlk sszesadatt, belertve a jelszt is. Leggyakrabban az adatok valamilyen fjlban vagy pedigadatbzisban tallhatk. Ezrt nagyon fontos az adott fjlhoz vagy adatbzishoz trtnhozzfrsi jogosultsgok megfelel menedzselse. Ha lehetsges, akkor clszer ezeket azadatokat valamilyen mdszerrel titkostani s gy trolni.ltalban a Linux opercis rendszerek a felhasznlrl az informcikat, belertve a kdolt

    jelszt is, a /etc/passwd fjlban troljk, de ez a fjl mindenki ltal olvashat. A problmaezzel az, hogy brki letltheti ezt, s megfelel programok segtsgvel megprblhatja feltrnia kdolt jelszavakat. E problma kikszblsre talltk ki a shadow passwd nev fjlt.Ennek a lnyege annyi, hogy a kdolt jelszavakra csak olyan programoknak van szksge,melyek rendszergazdai jogosultsggal futnak, ezrt a neveket s jelszavakat kt klnbzfjlban troljuk. Amelyikben a jelszavakat troljuk (shadow), ahhoz csak a rendszergazdnakvan hozzfrsi joga.A jelszavakat ltalban egyirny titkostssal kdolt formban troljk (pl.: hash). Ez azt

    jelenti, hogy tipikusan a jelsztrolsi technikknl, nem magra a rejtjelezett adatra vagyunkkvncsiak, hanem inkbb a kdolt adatot hasonltjuk ssze, a rejtjelezve trolt adattal. Ezcsak akkor lehet azonos, ha ugyanazt a jelszt, adatot adtuk be a titkost programnak. A

    problma az, hogy ha ismerjk a titkost eljrst, akkor prblgatssal kiderthet az eredeti

    jelsz. A prblgatsra is tbbfle eljrs alkalmazhat.Sztr alap (Dictionary Based) tmads arra a felttelezsre pt, hogy a felhasznlktbbsge a sajt anyanyelvnek valamely szavt hasznlja jelszknt. A program egy listblsorba veszi a szavakat, az ismert titkost eljrssal kdolja, s ha ez megegyezik a troltalakkal, akkor megvan a jelsz. A Nyers er (Brute force) tmadskor a program azsszes alfanumerikus karaktersorozatbl tetszleges sorrendben sszerak szavakat, majd eztkdolva hasonltjk a trolthoz. Ezzel a mdszerrel ugyan mindig megtallhatjuk a jelszt, denem mindegy, hogy mennyi idt fektetnk be. A jelszavak tipikusan ne legyenek tl rvidek,ne legyen rtelmes sz, s tartalmazzon kis s nagybetket, szmokat is. A biztonsgoshasznlat rdekben clszer a jelszt bizonyos idkznknt lecserlni.A kliens oldalon leginkbb a felhasznlkat szablyozva vdekezhetnk. Tudatostani kell a

    felhasznlban, hogy mennyire fontos a jelsz titokban tartsa. Nem engedhet meg neki,hogy azt lerva trolja a szmtgp kzelben. Fel kell hvni a figyelmt arra, hogy neengedje msoknak figyelni a billentyzetet, mikzben a jelszavt megadja. Az sem engedhetmeg, hogy brkivel telefonon kzlje a jelszavt, mg akkor sem, ha az a valaki esetleg azinformatikai osztly alkalmazottjnak mondja magt. A bngsz automatikus

    jelszbersnak hasznlatt is rdemes tiltani. Ismertetni kell a felhasznlkkal ajelszvlaszts fenti kritriumait. Amennyiben ezeket nem tartja be, akr bntet szankcikatis kiltsba helyezhetnk. Ilyen s ehhez hasonl szablyok alkalmazsval a kliens oldalt is

    biztonsgosabb tehetjk a bels tmadsokkal szemben.A felhasznlk csak kdolt formban levelezzenek, tovbb a szerver is kpes legyen kdoltlevltovbbtsra. Ehhez szksges programok pl. a gpg, vagy pgp, illetve szerveroldalon pl.

    postfix-tls (levltovbbt).

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    10/25

    10

    3.2 Vdekezs kls tmadsok ellen

    A szolgltatsmegbntsra irnyul tmadsok ellen a leghatkonyabb vdekezs a hlzatieszkzk paramtereinek figyelmes belltsa, s maga a szmtgp erforrsaihoz valhozzfrs megfelel belltsa. Pldul TCP SYN elraszts ellen Linux alatt az albbi

    bellts szksges a /etc/network/options fjlban: syncookies=yes, s spoofprotect=yes.

    A kls tmadsok ellen hlzatfigyel, integritst ellenrz programcsomagok hasznlatvalvdekezhetnk. Ezen programok segtsgvel megolddnak a szaglszsbl szrmaz

    problmink, nyomon kvethetjk adatforgalmunkat, titkosthatjuk hlzati kapcsolatainkat,ellenrizhetjk nyitott portjainkat. vatosan kell hasznlni ket, mivel ugyangyhasznlhatk vdekezsi s tmadsi clokra is. Kt f csoportjuk van, a sniffer-ek s a

    portscan-ek.

    3.2.1 Snifferek

    A sniffing, szaglszs igazbl egy szinonimja annak, hogy egy a szmtgpen futprogram segtsgvel betekintst nyerhetnk az adott hlzat adatforgalmba. Ennek ltalban

    kt clja lehet: Hibaelhrts, hlzati adatforgalom elemzs, analzis. Felhasznli nevek s jelszavakjogosulatlan megszerzse.

    Ezen programok mkdsi alapja, hogy az adott szmtgp a hlzatban nem csak a nekicmzett csomagokra figyel, hanem az sszes csomagra, mely a helyi hlzaton thalad. Ezt ahlzati krtya n. promiscuous zemmdba trtn tkapcsolsval lehet elrni. Asnifferek futsnak detektlsa is a hlzati krtya promiscuous mdjnak belltsval fggssze. A detektorok mkdsi elve a kvetkez:A program vgig pingeli a loklis hlzatot, gy megkapja az sszes hlzati interfsz IPilletve fizikai (MAC) cmt. Ezutn az ARP cache-ben, ahol az IP cmek ssze vannakrendelve a hlzati krtya fizikai cmvel, vletlenszeren sszekeveri a megfeleltetseket,

    majd jra vgig pingeli a hlzatot. Amelyik szmtgp erre is vlaszol, annak a hlzatiinterfsze biztosan promiscuous mdba van lltva, persze ez mg nem biztos, hogy azt

    jelenti, hogy sniffert futtat, mert akad msfajta program is, mely tlltja a hlzatiinterfszt.A snifferek tmadsi cl felhasznlsa ellen az egyik leghatsosabb vdekezsi mdszer az,ha az informcikat kdolt formban kldjk t a hlzaton, gy azokat a szaglsz

    programok nem tudjk rtelmezni, visszafejteni. A hlzati kommunikci vdelmvelksbb, a4.fejezetben foglalkozunk.

    3.2.2 Portscanek

    Mg azt is meg kell jegyeznem, hogy ismeretes, hogy az nmap bizonyos

    gyengn megrt alkalmazsok, TCP/IP vermek s mg opercis rendszerek

    sszeomlst is okozhatja.

    Fyodor az egyik legnpszerbb portscan program rja sajt programjrl

    A portpsztzs egy eljrs, mellyel megllapthat, hogy egy tvoli szmtgpen melyportok vannak nyitva, zrva, vagy tzfallal vdve. A portscan szablyos vagy szablytalankapcsolatot kezdemnyezs az sszes vagy csak a privilegizlt portokra. Ezltalfeltrkpezdnek a szmtgp tmadhat portjai, vagy egyszeren fut szolgltatsokat lehetmeghatrozni vele.. Mivel az 11024 portok elre meghatrozott portok (well-known-ports),

    azaz a portszmhoz szolgltatst rendeltek, mint (pl.: 21 ftp, 22 ssh, 23 telnet stb.), gy aportszmbl kvetkeztethetnk a vizsgltszmtgp szolgltatsaira.

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    11/25

    11

    Mkdsk ltalban igen egyszer, ha ismerjk a TCP/IP modellben a kapcsolatkialaktsmenett. A program kld a clszmtgp vizsgland portjnak egy kapcsolat kezdett,vagykapcsolat lezrst biztost csomagot, majd vr a vlaszra, melybl ki tudja derteni azt,hogy az adott portszmhoz tartoz szolgltats fut-e a figyelt szmtgpen vagy nem. Anyitott portok szmnak kidertse fontos a gp vdelme szempontjbl, ugyanakkor egy

    nagyon j tmpont a clszmtgp feltrsi stratgijnak kidolgozshoz is. Aszmtgpek ellen irnyul tmadsok ezen rsznek feldertse elgg egyszer, hiszen alegtbb portscan program sorban s egyms utn nagyon gyorsan tesztelia PC portjait, gy haegy adott gprl sok kapcsolat indul a clgp klnbz portjaira, akkor ezen szmtgpeketrdemes kitiltani a szmtgpes hlzatunkbl.Sok rendszergazda rossz nven veszi, ha portscan al veszik az ltala felgyelt kiszolglt.ltalnossgban elmondhat viszont, hogy a manapsg elterjedt opercis rendszerek ltalimplementlt TCP s UDP protokollvermek ezen kapcsoldsi ksrletektl nem omlanakssze, azok szoftverben krt nem okoz.A portscan egyes tpusai[5]:

    TCP connect() scan: a legalapvetbb fajtja a psztzsnak, amikor az opercis

    rendszer ltal nyjtott connect() rendszerhvst hasznljuk egy kapcsolatmegnyitshoz a minket rdekl portokon.Ha a tvoli gp vizsglt portjn szolgltatselrhet, akkor a connect() hvs sikeresen lefut. Legnagyobb elnye, hogy nagyonegyszer megvalstani s hasznlathoz nincs szksg az adott opercis rendszerenadminisztrtori jogosultsgra. Msik elnye a gyorsasg. Mg egy portonknti

    portscan a TCP idtllpsi mechanizmusa miatt sokig is eltarthat, addig sokkapcsolatot prhuzamosan hasznlva felgyorsthatjuk a vizsglatot.

    TCP SYN scan: ezt a mdszert gyakran nevezik half open ellenrzsnek, mivelnem nyitunk meg egy teljes TCP kapcsolatot. Elkldnk egy SYN csomagot, majdvlaszt vrunk. Egy SYN/ACK esetn az adott porton egy szolgltats figyel, mgRST vlaszt esetn a porton nem figyel szolgltats. Amennyiben SYN/ACK vlasztkapunk, feljegyezzk a port nyitott voltt, majd eltren a szabvnyos TCPhvsfelptssel egy RST csomaggal zrjuk a flig felplt kapcsolatot. Ennek amdszernek elnye, hogy sokkal kevesebb helyen naplzzk az ilyen ksrletezseket,ugyanakkor htrnya, hogy az adott rendszeren az alacsonyszint csomagkezels miattrendszergazdai jogokkal kell futtatnunk a portscant.

    TCP FIN scan:vannak helyzetek, amikor a SYN scan hasznlata sem elg. Nhnytzfal s csomagszr ugyanis figyeli az ilyen psztzsokat is. A FIN csomagokviszont keresztljuthatnak hbortatlanul. A mdszer tlete a kvetkez: a zrt

    portoknak vlaszolniuk kell a FIN csomagunkra egy megfelel RST-vel. A nyitottportoknak azonban figyelmen kvl kell hagyniuk a krdses csomagokat. Ez elvrt

    TCP viselkeds. Ennek ellenre bizonyos gpek (pldul a Microsoft rendszerei) nemmegfelelek ebben a tekintetben. Ezen rendszerek RST-t kldenek, figyelmen kvlhagyva a port llapott, ms rendszerekkel viszont ez a vizsglat jl mkdik.Valjban nha hasznos is lehet ez a tulajdonsga a klnbz rendszereknek, erre akvetkezalfejezetben mg visszatrnk.

    UDP ICMP port nem elrhet- scan:az UDP datagram alap protokol, semmilyennyugtt, vagy hibazenetet nem kell vlaszul kldenie egy krsre. Szerencsre alegtbb hlzati eszkz kld egy ICMP Port Unreachable (port elrhetetlen) hibt,amennyiben egy zenetet kldnk egy lezrt UDP portra. Ezzel megtudhatjuk, hogymely portok nincsenek nyitva, gy kizrsos alapon, hogy melyek igen. Ebben azellenrzsbe be kell ptennk egy mechanizmust arra az esetre is, ha elvesznnek

    csomagok, ebben az esetben ugyanis tbb fals pozitv tallatunk lenne a nyitottportokra.

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    12/25

    12

    3.2.3 Tvoli opercis rendszer detektls (OS fingerprinting)

    Nyilvnvalanhasznos tud lenni, ha el tudjuk dnteni tvolrl egy hlzati eszkzrl, hogyazon milyen opercis rendszer fut[6].Erre legjobb plda, hogy a biztonsgi rsek ltalbanersen opercis rendszer fggek. Egy megfelel portpsztzs s a tvoli opercisrendszer tpusnak megismerse utn a tmad kpes lehet clzottan a mi rendszernk ellen

    ksztett tmadsi mdszereket alkalmazni.A legegyszerbb megolds a clpont kiszolglinak bejelentkezst megfigyelni. Az egyikmagyar Internet szolgltatnl pldul a Sendmail levelez szerver jelentkezik be:

    ural2:~$ telnet smtp.axelero.hu 25Trying 195.228.240.14...Connected to smtp.axelero.hu.Escape character is '^]'.220 smtp.axelero.hu ESMTP sendmail @ axelero

    Ez a trkk gyakran vezethet ugyan eredmnyre, de sokszor meg is tveszthet minket. Alegtbb helyen ezeket az informcikat ugyanis nem csupn elhallgatjk a kiszolgl

    programok, de van, hogy flrevezetsbl ms tpusnak valljk magukat. Ezeket abejelentkezsi dvzleteket (bannereket) ugyanis a legtbb program esetn nagyon egyszertlltani(ezt sok szolgltat meg is teszi).Egy hlzati eszkz opercis rendszernek felismerst ezen okok miatt teht msmdszerrel vgzik. Az OS fingerprinting lnyege, hogy a hlzati kommunikci sorn olyanegyedi jellegzetessgeket, ujjlenyomatokat keresnek az adatfolyamban, ami egyesrendszerekre jellemz, mg msokra nem. Ezen klnbsgek abbl addnak, hogy az egyesrendszerek fejleszti az IETF de facto szabvnyainak, az RFC-knek [7] bizonyos ajnlsaitmskppen rtelmezik, vagy valamilyen indok alapjn figyelmen kvl hagyjk. gy egyhlzati kommunikci alatt tucatnyi olyan rulkod jelet tallhatunk, mely csak bizonyostpus rendszerekre jellemz. Ilyen jel volt az elz fejezetben emltettTCP FIN scan esetn

    visszakldtt RST vlasz. A tovbbiakban ezen jelekbl vessznk sorra nhnyat. TCP FIN prba: ebben az esetben kldnk egy FIN csomagot (vagy brmilyen

    msikat ACK vagy SYN flag nlkl) s vrjuk a reakcit. A helyes RFC793viselkeds nem reaglni. A szabvnytl eltr rendszerek (mint pldul: MSWindows, a BSDI, a CISCO, a HP/UX, a MVS s az IRIX) egy RST -t kldenekvissza. A legtbb tvoli operci rendszer detektl eljrs alkalmazza ezt a prbt.

    HibsTCP flag prba:ez egy tletes teszt melynek lnyege egy definilatlan TCPflag (64 vagy 128 rtk bitek) belltsa egy SYN csomag TCP fejlcben.A Linuxrendszermagban megvalstott TCP verem egy adott verziig (2.0.35-ig) ezt a flag-etmegtartja belltva a vlaszban. Nem tudunk msik rendszerrl, mely rendelkezik

    ezzel a hibval. Nhny rendszer azonban megszaktja a kommunikcit, ha ilyencsomagot kapnak. TCP ISN mintavtel:ennek a tesztnek az tlete, hogy talljunk szablyossgokat a

    TCP protokollverem ltal vlasztott ISN (Initial Sequence Number, kezdetiazonostszm) vlasztsban, amikor kapcsolatkrsre kapunk vlaszt (emlkeztet:ez az a vletlenrl indul szm, melyet minden egyes zenetvltskor a TCP nveleggyel. Feladata megakadlyozni, hogy egy TCP kapcsolatba illetktelenl

    bekeldjenek csomagok, gy helyes megvlasztsa knyes pontja lehet arendszernek). Ezek a tapasztalatok csoportokba oszthatkmint pldul a tradicionlis64K (rgi UNIX rendszerek), vletlen nvekmny (jabb Solaris, IRIX, FreeBSD,Digital UNIX, Cray s sok msik rendszerek), valdi vletlen alap (Linux 2.0.*,

    OpenVMS, jabb AIX, stb). Windows rendszerek egy idfgg megoldstalkalmaznak, ahol az ISN minden idegysg alatt meghatrozott mrtkben nvekszik.

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    13/25

    13

    TCP kezd ablakmret:az IP csomag fejlcbenez a szm mondja meg, hogy azadott gp mennyi fogadott csomag utn kld vissza nyugtzst (ACK). Mivel ez egy,az opercis rendszerre jellemz konstans, sok rendszert be lehet azonostani csupnennek a szmnak az ismerete alapjn. Pldul az AIX az egyetlen opercis rendszer,ami 0x3F25 (16165) rtket alkalmazza. Az NT5-ben teljesen jrart TCP veremben a

    Microsoft a 0x402E (16430). rdekes mdon ez ugyanaz az rtk, amit az OpenBSDs FreeBSD rendszerek is alkalmaznak.Tovbbi prbk [8] az Nmap portscan program honlapjn rhetek el, mely ezen prbkalapjn kpes tvoli opercis rendszer detektlsra is. Termszetesen nem csak TCP alap

    prbkat lehet vgezni, pldul az ICMP protokollra is lteznek hasonl prbk.Krdses, hogy van-e rtelme vdekezni a tvoli opercis rendszer detektls ellen, annakfnyben, amit az1.4.fejezetben a titkolzsra alapozott biztonsg estn olvastunk.Amennyiben mgisszksgt ltjuk, hogy a kretlen kvncsiskodkat megtvesszk, Linuxopercis rendszer estben lehetsgnk van klnbz rendszermag foltokat teleptennk[9].Ezek a rendszermagban tallhat TCP vagy egybprotokollvermet gy vltoztatjkmeg,hogy a tvoli opercis rendszer detektls sorn a rendszerre nem jellemz rtkeket adjon

    vissza a kiszolgl, megtvesztve ezzel a tmadt.

    3.3 Naplzs

    A vdekezs sorn egy nagyon fontos, ltalnosan hasznlhat mdszer a naplzs. Aszmtgpen trtnt esemnyek naplzsa, s ezen fjlok rendszeres elemzse arendszerbiztonsg egyik legkritikusabb, legfontosabb eleme. Ezen fjlok tartalmazzkltalban a felhasznlk ki-, s bejelentkezst, valamint a klnfle kiszolgl

    programokhoz intzett krseket. Ezen fjlok vizsglatval megelzhetjk a betrst agpnkre, hiszen ha brmilyen gyans informcit tallunk, akkor idben fellphetnk altrehozja ellen; de ezen fjlokbl derthetjk ki az esetleges megtrtnt betrsek okait is.

    Linux alatt ezek a fjlok rendszerint a /var/log knyvtrban helyezkednek el, s tartalmuksyslog() fggvnyhvssal keletkezik. Az, hogy mit s hov naplzzon a rendszernk a/etc/syslog.conf fjlban adhat meg. Br a naplfjlok nagy rsze egy specilis adatbzisformtumban troldik, azrt a bennk trolt informci megvltoztathat, gy a krltekint

    betr el tudja tntetni a betrs nyomait. Azrt, hogy ezt olyan egyszeren ne tehesse meg,szksg van a fjlok rendszeres msolatra egy msik szmtgpen vagy esetleg papron,hiszen ebbl derthet ki, hogy valjban mi is trtnt a rendszerrel.

    4 A hlzati forgalom vdelmeA kvetkeztmadhat pont a kliens s a szerver kzti kommunikcit megvalst hlzat.A tmad a hlzati forgalmat figyelve megfejtheti a jelszt, amennyiben tudja, hogy azt

    milyen formban s hol keresse egy adott zeneten bell. Mivel az internetes kommunikcisorn adataink tbb hlzati eszkzn is keresztlmennek, mire clba rnek, szksgszer a

    bizalmas adatokat kdolt formban tovbbtani.

    4.1 Az SSL/TLS pro tokoll[10]

    A Secure Socket Layer (SSL) s Trasport Layer Security (TLS) protokollok lehetv teszik akliens s a szerver hitelestst, valamint a kommunikci bizalmassgnak megteremtst.Az SSL-t a Netscape Communications cg fejlesztette ki 1994-ben, legutols verzija az SSLv3 (a korbbi verzik nem biztonsgosak, hasznlatuk nem javasolt). Az 1996-ban az IETFkerettben megalakult TLS munkacsoport fejleszti s szabvnyostja a TLS protokollt. A TLS

    v1.0 (RFC2246) 1999-ben kerlt kibocstsra s biztonsgi szempontbl megfelel az SSL v3vltozatnak.

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    14/25

    14

    Az SSL/TLS a TCP/IP-re pl alkalmazsok fel teremti meg a hlzati kt pontja kztt abiztonsgos kapcsolat lehetsgt. Leggyakoribb hasznlata a biztonsgos HTTP alapkliens-szerver kommunikci egy web bngsz s kiszolgl kztt. Ahogy eltrbe kerl a

    biztonsgos kommunikci, gy egyre tbb protokoll SSL kiterjesztett vltozata kerlhasznlatba a mindennapokban is. A kvetezkben nhny protokoll SSL kiterjesztst

    soroljuk fel: FTPS: az FTP llomny tviteli protokoll kiterjesztse POP3S: a POP3 levlletlt protokoll kiterjesztse IMAPS: az IMAP szerveroldali leveleket kezel protokoll kiterjesztse TELNET-SSL: a telnet protokoll kiterjesztse, gyakorlatban inkbb az SSH protokoll

    terjedt el

    HTTPS: a HTTP protokoll kitejesztse

    Az SSL rteg logikailag a TCP s az IP rteg kztt helyezkedik el:

    IP

    TCP

    SSL

    HTTPS FTPS SMTPS POPS

    Hlzati rteg

    Alkalmazsi rteg

    IP

    TCP

    SSL

    HTTPS FTPS SMTPS POPS

    Hlzati rteg

    Alkalmazsi rteg

    4.1.1 SSL kzfogs

    A Handshake Protocol feladata a kliens s a szerver hitelestse valamint a titkostsialgoritmus s a titkos kulcsok egyeztetse. Ezeket a feladatokat sszefoglalva SSL-

    kzfogsnak nevezzk. Egy SSL-viszony mindig ilyen SSL-kzfogssal kezddik.

    A kzfogs sorn hasznlt fontosabb fogalmak: Pre-master secret: a pre-master secret gyakorlatilag egy 384 bites (48 byte) vletlen

    szm. A kliens hozza ltre. Ezt rejtjelezi a szerver nyilvnos kulcsval, majd elkldineki. Ha a szerver kpes dekdolni a szmra kdolt zenetet a sajt titkos kulcsval(teht valban az, akinek lltja magt, mert rendelkezika titkos kulccsal) s gy megtudja ismerni a pre-master secret-et, akkor ebbl elkszti a master secret-et.

    Master Secret: egy 48 byte hossz titkos adatcsomag, amit a kliens s a szerverugyanazzal a mdszerrel hoz ltre. Ebbl kszl a szimmetrikus rejtjelezs kzs

    szimmetrikus kulcsaknt hasznlt session key. Session Key: a kapcsolat sorn rejtjelezsre, illetve a MAC alrsra hasznlt

    szimmetrikus kulcs. A master secretbl kszti egymssal prhuzamosan a kliens s aszerver.

    Az SSL-kzfogsteht az albbiak szerint megy vgbe:1. A kliens elkldi a szervernek a kliens SSL protokolljnak verziszmt, egy viszony-

    azonost szmot, az ltala hasznlni kvnt titkostsi paramtereket s tmrtsimdszert.

    2. A szerver vlaszknt elkldi a sajt SSL protokolljnak verziszmt, a viszony-azonostt, a sajt titkostsi belltsait. Ezen kvl elkldi a sajt tanstvnyt, s ha

    hitelesteni akarja a klienst, akkor annak tanstvnyt. (A kliensek hitelestse nagyonritkn fordul el.)

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    15/25

    15

    3. A kliens a kapott tanstvny alapjn megprblja hitelesteni a szervert (lsd Aszerver hitelestse rszben). Amennyiben a hitelests nem sikerl, akkor nemlehetsges titkostott kapcsolat kiptse, az egyeztets megszakad.

    4. A kzfogs sorn kapott adatok alapjn a kliens generl egy pre_master_secret rtket,ezt kdolja a szerver nyilvnos kulcsval, s elkldi a szervernek.

    5. Ha a szerver hitelesteni akarta a klienst, akkor a kliens a titkostott pre_master_secretmellett elkldi sajt tanstvnyt is a szervernek.6. Ha a szerver krte a kliens tanstvnyt, akkor a kapott tanstvny alapjn

    megprblja hitelesteni a klienst (lsd A kliens hitelestse rszben). Amennyiben ahitelests sikertelen, az egyeztets megszakad. Sikeres hitelests utn a szerver asajt titkos kulcsval dekdolja a pre_master_secret rtket, s ezt hasznlva ltrehozegy master_secret rtket.

    7. Mind a kliens, mind a szerver ltrehozza ezutn a viszony-kulcsokat egy kzsalgoritmus alapjn. Ezek szimmetrikus kulcsok, ezeket hasznljk a tovbbiakban azzenetek titkostsra s az adatok srtetlensgnek biztostsra (szimmetrikuskulcsok, mert az aszimmetrikus kulcs titkosts nagyon sok erforrst emsztene fel.

    gy csupn csak a szimmetrikus kulcs titkosts kulcst egyeztetik a kzfogs kzbenaszimmetrikus kulcs titkostst hasznlva. Az adatfolyamot teht szimmetrikuskulcs titkostssal rejtjelezik).

    8. A kliens kld egy zenetet a szervernek, mellyel jelzi, hogy a kzfogs rszrlbefejezdtt.

    9. A szerver is kld egy zenetet a kliensnek, mellyel azt jelzi, hogy a kzfogs rszrlvget rt.

    10.Ezzel az SSL-kzfogs vget rt. A tovbbiakban a felek a viszony-kulcsoksegtsgvel titkostjk az egymsnak kldtt zeneteiket.

    4.1.2 A szerver hitelestse

    A kliens megkapja a szervertl annak tanstvnyt. Egy tanstvny az albbi, ahitelestshez szksges informcikat tartalmazza:

    a szerver nyilvnos kulcsa a tanstvny rvnyessgi ideje a szerver neve

    a tanstvny killtjnak (Certificate Authority, CA) neve a killt digitlis alrsa.

    A kliens karbantart egy listt, melyben az ltala megbzhatnak tartott tanstvny-killtkadatai szerepelnek:

    a killt neve a killt nyilvnos kulcsa a killt digitlis alrsa.

    A sikeres hitelestshez az albbi ngy kritrium mindegyiknek teljeslnie kell.1. Az adott pillanatban rvnyes a szerver tanstvnya, azaz az aktulis dtum beleesik

    az rvnyessgi idbe.2. A tanstvnyt killt neve szerepel a kliens ltal megbzhatnak tartottak listjban.3. A listban szerepl nyilvnos kulcs segtsgvel ellenrizhet a killt digitlis

    alrsnak rvnyessge.4. A szerver tanstvnyban megadott neve megegyezik a kliens ltal aktulisan ismert

    szervernvvel. (Ez nem rsze az SSL protokollnak, de ez az ellenrzs vdelmet nyjta man-in-the-middle tmadsok ellen, ezrt a gyakorlatban szinte mindigmegvalstjk.)

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    16/25

    16

    Amennyiben mind a ngy kritrium teljeslt, a hitelests sikeres, s folytathat az SSL-kzfogs.

    4.1.3 A kliens hitelestse

    A szerver megkapja a klienstl annak tanstvnyt, valamint a kliens titkos kulcsval alrt

    adatot. Egy tanstvny az albbi, a hitelestshez szksges informcikat tartalmazza: a kliens nyilvnos kulcsa a tanstvny rvnyessgi ideje a kliens neve

    a tanstvny killtjnak (CA) neve a killt digitlis alrsa.

    A szerver karbantart egy listt, melyben az ltala megbzhatnak tartott tanstvny-killtkadatai szerepelnek:

    a killt neve a killt nyilvnos kulcsa

    a killt digitlis alrsa.A sikeres hitelestshez az albbi ngy kritrium mindegyiknek teljeslnie kell.1. Az adott pillanatban rvnyes a kliens tanstvnya, azaz az aktulis dtum beleesik az

    rvnyessgi idbe.2. A tanstvnyt killt neve szerepel a szerver ltal megbzhatnak tartottak listjban.3. A listban szerepl nyilvnos kulcs segtsgvel ellenrizhet a killt digitlis

    alrsnak rvnyessge.4. A kliens titkos kulcsval kdolt adat a kliens tanstvnyban szerepl nyilvnos kulcs

    segtsgvel visszafejthet.Amennyiben mind a ngy kritrium teljeslt, a hitelests sikeres, s folytathat az SSL-kzfogs.

    4.1.4 Titkostsi algoritmusok

    Az SSL protokoll a titkostsi algoritmusok szles trhzt (DES, DSA, MD5, RC2, RSA,stb.) tmogatja a hitelestsek, kdolt kommunikci vagy tanstvnycsere lebonyoltsasorn. Amennyiben a kliens s a szerver is tbbfle algoritmust tmogat, akkor az SSL-kzfogs sorn egyeznek meg abban, hogy az adott kommunikcihoz pontosan melyiket ishasznljk. A kzfogs a mindkt fl ltal tmogatott algoritmusok kzl a legersebbet fogjakivlasztani.

    5 A Linux opercis rendszer biztonsgi megoldsai

    5.1 A chroot krnyezet

    A chroot egy olyan mvelet, mely megvltoztatja az alaprtelmezett gykrknyvtrat. Magaa chroot-olt program a mvelet vgrehajtsa utn nem lesz kpes elrni a fjlrendszer azon

    pontjait, mely a belltsra kerlt gykrnek nem gyermekei. Ezltal a Unix rendszerekbengyakran hasznlt azon szimbolikus linkek is elvesztik konzisztencijukat (nem ltezllomnyra fognak mutatni), melyek a chroot krnyezeten kvlre mutatnak. A kvetkezbra a chroot krnyezetet illusztrlja az llomnyrendszeren.

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    17/25

    17

    chroot

    /

    etcdevbin lib var

    etcdevbin lib var

    Chroot krnyezet

    chroot

    /

    etcdevbin lib var

    etcdevbin lib var

    Chroot krnyezet

    A chroot mvelettel gy olyan krnyezetet hozhatunk ltre, melyben, elzrva agazdarendszertl, nem megbzhatnak szmt alkalmazsokat futtathatunk. Az gy kialaktottkrnyezetet hvjk brtnnek (jail) s homokoznak (sandbox) is.Gyakorlatban a chroot mvelet megfelel tervezst ignyel, hiszen a chroot-olt krnyezetbenfut programok a konfigurcis s dinamikusan linkelt fggvnyknyvtrakat a szoksoshelyeken keresik az llomnyrendszerben. Hogy kpess tegynk egy alkalmazst a speciliskrnyezetben futni ltalban szksges egy minimlis llomnystruktrt thelyezni alevlasztsra kerl rendszerbe. A futtatsra sznt program ltal hasznlt dinamikusknyvtrak kilistzsra a Unix rendszereken az ldd parancs szolgl. Sajnos a konfigurcisllomnyok esetben ilyen segtsgnk nincs, itt a program ismeretre, vagy a

    programcsomag tanulmnyozsra van szksg.A chroot hasznlata kedvelt eszkz olyan rendszereken, melyek nyilvnos szolgltatsokatfuttatnak. Ilyen lehetnek pldul az anonim ftp kiszolglk vagy web kiszolglk. Szintnszvesen hasznljk olyan programok esetben, melyek nagyobb biztonsgi kockzatvllalsra knyszertik a szolgltats zemeltetjt. gy az esetlegesen kompromittldottszolgltats segtsgvel bejutott tmad nem kpes a rendszer tbbi komponensben krttenni, onnan informcikat kinyerni.A "chroot" a Unix rendszerekben vonatkozhat a chroot() rendszerhvsra, mely a meghvfolyamatra (processz) s annak gyerekfolyamataira lltja be a gykrknyvtrat. Tovbb

    ttezik egy chrootprogram is, mellyel sajt magunk tudunk chroot-olt programot indtani akvnt knyvtrban, mint gykrben.A rendszerhvsrl a man 2 chroot, a programrl pedig a man 8 chroot paranccsal kaphatunktbb informcit.

    5.1.1 A chroot tmadsa

    Mint lthattuk a chroot mvelettel hatkonyan nvelhetjk kiszolglnk biztonsgt, de csakisakkor, ha krltekinten alkalmazzuk. Habr nagyon jl hangzik, hogy kpesek lehetnk azllomnyrendszert teljesen elzrni egy esetlegesen biztonsgi rst jelent szolgltats ell, devajon lehetsges-e kitrni egy chroot krnyezetbl? A vlasz sajnos igen, amennyiben

    bizonyos felttelek teljeslnek[11].

    ltalban elmondhat, hogy minl tbb szolgltatst futtatunk a levlasztott krnyezetenbell, annl tbb lehetsget adunk a tmadnak, hogy a szolgltatsok kzl valamelyiketsikeresen tmadja. Ilyen esetben pedig kpes lehet rendszergazdai jogokat is szerezni a"virtulis homokozban". Miutn a tmad rendszergazdai jogosultsgot szerzett, mr tbbtmadsi mdja is ltezik a chroot krnyezetbl val kitrsnek. Amennyiben viszont kpesekvagyunk a krnyezeten bell mellzni a rendszergazdai jogosultsgokkal futszolgltatsokat, elmletileg nem adunk lehetsget arra, hogy a bent fut programoksegtsgvel egy tmad kitrjn belle.A chroot() rendszerhvs magban nem elegend egy "virtulis homokoz" belltsra. Achroot program ezrt nem csupn magt a chroot() rendszerhvst alkalmazza, hanem utnakiadja az aktulis chroot krnyezet gykrknyvtrra val knyvtrvltst is:

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    18/25

    18

    chroot ("/chroot");chdir ("/");

    Mivel a chroot a filerendszeren logikailag csak egyetlen helyen szerepelhet, ezrt egy rootjogokkal fut alkalmazs kpes ezt a chroot knyvtrat mshova lltani s kilpni belle,amennyiben nem hasznlja a knyvtrvltst eredmnyez rendszerhvst.A kvetkez brkon a chroot trsnek 3 lpst lthatjuk. Az els lpsben a root jogokkalfut tmad program a chroot-ot egy lentebbi knyvtrra helyezi, gy sajt maga kikerl

    belle.

    chroot

    /

    etcdevbin lib var

    etcdevbin lib varChroot thelyezs

    Knyvt

    rvlts

    1

    2

    chroot

    /

    etcdevbin lib var

    etcdevbin lib varChroot thelyezs

    Knyvt

    rvlts

    1

    2

    Miutn a tmad program kpes elrni a teljes llomnyrendszert, annak gykerre helyezi achroot krnyezetet, gy ettl fogva a teljes llomnyrendszert elrheti brmilyen program

    futtatsval.

    chroot

    /

    etcdevbin lib var

    etcdevbin lib var

    j Chroot krnyezet

    3

    chroot

    /

    etcdevbin lib var

    etcdevbin lib var

    j Chroot krnyezet

    3

    5.1.2 A szolgltatsok elzrsnak biztonsgos megoldsa

    A chroot mvelet megfelel krltekintssel kpes a megkvnt biztonsgot nyjtani.Ugyanakkor tbb fejleszt is gy rezte, hogy ezt a rendszerhvst szksges megerstenitovbbi megoldsokkal. Ilyen megolds pldul a Linux rendszermagjra alkalmazhat folt(patch), a GrSecurity [12], mely szmos tovbbi biztonsgi funkcija mellett a chrootkrnyezetek megerstsre is alkalmazhat.A chroot alap megoldsok egy j alternatvja a virtulis gpet emull programok.Manapsg ezen emulcik olyannyira hatkonyak, hogy hasznlhatak arra, hogy egyetlenszmtgpen akr tucatnyi virtulis pldnyt futtassuk az opercis rendszernek tlzottteljestmnycskkens nlkl. Mivel ezek az emultorok egy felhasznl nevben futnak,ezrt az emullt rendszer sikeres tmadsa esetn sem kpesek a felhasznl jogainlmagasabb jogosultsgot szerezni a rendszerben. Napjainkban egyre tbb tartalom szolgltat

    is kihasznlja az emultorok ezen j genercijt, hogy biztonsgosabb tegye rendszert.

    5.2 A Pluggable Auth ent icat ion Modu les (PAM)

    A PAM egy egysges autentikcis interfsz, melyet messzemenkig a rendszernkhztudunk igaztani (pl.: belpsi korltozsok, klnbz hitelests mdok, stb).Rgebbi rendszereken a hitelests nagyrszt a shadow password llomny alapjn trtnt. APAM-ot hasznl rendszereken az sszes olyan program, amelynek kritikus adatokhoz (pl.

    password file) van hozzfrse (pl. logins mg sok egyb program vagy segdprogram) aPAM API-n keresztl ri el ezeket a hitelestsi informcikat. Ennek elnye, hogy aklnbzprogramokban ugyanazokat a fggvnyeket hasznlhatjuk, nem kell jra s jra

    feltallni a spanyolviaszt (azaz az autentikcis technikt). A PAM kpes a felhasznlihitelestst a shadow passwd llomnyon kvl LDAP, SQL szerverek segtsgvel, vagy

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    19/25

    19

    akr tvoli POP3, Kerberos, Radius, stb. kiszolglk segtsgvel megoldani. Szleskrelterjedse miatt kiegsztsei vannak klnbz token alap hitelestsi technikhoz is (pl.:

    jelsz megads mellett USB httrtron trolt biztonsgi kulcs ellenrzse).A PAM valjban a program API-n keresztl megkapja a hitelestshez szksges adatokatahitelestst vgz programtl, majd visszaad egy vlaszt az autentikci sikeressgrl, vagy

    kudarcrl. gy ha egy meglv rendszerben a felhasznli hitelestst szeretnnkmegvltoztatni, nem szksges az sszes kiszolgl programot jra belltanunk (pl.: levelezszerver, ftp szerver, bels weboldalakat kiszolgl webszerver), elegend csupn a PAM-ot amegfelel hitelestsre megtantani.A PAM segtsgvel tovbb korltozhatak a felhasznlkra vonatkoz erforrslimitek. Afelhasznlkra vonatkoz belltsokat a /etc/security/ knyvtrban lv file-ok segtsgvelvgezhetjkel, a programokkal kapcsolatos config file-ok /etc/pam.d/ knyvtrban vannak. Arszletes dokumentci a /usr/doc/pam*/ alatt tallhat.

    5.3 Az Access Control List (ACL)

    A hozzfrs vezrl lista (Access Control List, ACL) egy mechanizmus, amely tetszsszerinti hozzfrs vezrlst biztost egy erforrshoz. ltalban ACL hasznlatval sokkalrszletesebb, specifikusabb szablyokat tudunk fellltani egy erforrs elrsre.Maga az ACL egy olyan lista, melynek elemei hozzfrst vezrl szablyok. Egy szablyltalban tartalmaz valamilyen erforrs egyedet, valamint az ehhez kapcsold hozzfrsi

    jogokat. Az ACL-ek tartalmazhatnak engedlyezst s tiltst meghatroz szablyokat is, deelkpzelhet az adott program adottsgainak megfelel specilis vezrls meghatrozsa is.Az ACL-ek vgrehajtsa ltalban a szablyok megadsi sorrendjben trtnik, ezrt fontosodafigyelnnk a szablyok megfelel sorrendben val felvtelre. Amennyiben egy ACLvezrelt erforrshoz hozzfrsi krelem rkezik, az erforrst vezrl program egyesvelvgiglpked a szablyokon addig, amg az adott krsre egyezt nem tall. Amennyiben az

    ACL nem tartalmaz megfelel illeszked szablyt, a program egyb belltsain mlik azerforrs hozzfrs engedlyezs vagy tiltsa.

    Hozzfrs vezrl listkat sok helyen alkalmaznak:llomnyrendszerre alkalmazott hozzfrsi lista: a Linux llomnyrendszere tmogatjaACL-ek alkalmazst. Egy szably megadsakor ebben az esetben megadhatjuk azllomnyrendszer egy rszt (llomny, knyvtr), azt a felhasznlt vagy csoportot, akire aszably vonatkozik, illetve a szabvnyos Unix llomnyrendszer hozzfrsi szablyait(olvass, rs, futtats jogok).A kvetkez paranccsal kilistztunk egy llomnyrendszer ACL-t. Az ACL john felhasznlmydir knyvtrrl szl, aki bill felhasznlnak, valamint a students csoportnak teljes

    hozzfrst ad a knyvtrra.debian :~# getfacl mydir# file: mydir# owner: john# group: usersuser::rwxuser:bill:rwxgroup::r-xgroup:students:rwxmask::rwxother::---

    Szintn ACL-t alkalmaz a Linux csomagszrje, az IPTables. Ebben az esetben egy ACL egyadott hlzati forgalomra vonatkoz szablyokat r le. Az kvetkez parancsokkal pldul az

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    20/25

    20

    albbi szablyokat vesznk fel az IPTables-be. Az els parancs alapjn az eth0 interfszenbejv csomagokat engedlyezzk, mg a msodikban nem adunk megktst a bejvinterfszre, azaz minden bejv csomagot eldobunk. Az ACL teht az eth0 interfsztl eltrhlzati csatolnbejv csomagokat eldobja (a A segtsgvel adunk j szablyt az INPUTACL-hez, ai a bejv interfszt, a j pedig a csomagra alkalmazott mveletet rja le).

    IPTABLES -A INPUT -i eth0 -j ACCEPTIPTABLES -A INPUT -j DROP

    Figyeljk meg, hogy amennyiben a kt szablyt felcserljk, gy az ACL rtelmemegvltozik. Gondoljuk vgig, hogyan!

    5.4 Az Nmap po rtscan program

    "We have all seen many movies like Hackers which pass off ridiculous 3D

    animated eye-candy scenes as hacking. So I was shocked to find that Trinity

    does it properly in The Matrix Reloaded. She whips out Nmap, uses it to find a

    vulnerable SSH server, and then proceeds to exploit it using the SSH1 CRC32

    exploit from 2001. Shame on them for still being vulnerable."Fyodor, az Nmap program ksztje

    (A teljesen leth, valdi betrs mozivsznonval brzolsa miatt a Brit Szmtgpes

    Trsasg (BCS) nemtetszst fejezte ki.)

    Az Nmap az egyik legnpszerbb nylt forrs portscan program. Kpes detektlni egyhlzati eszkz opercis rendszert, valamint nyitott portjait. Futtatsakor a kvetkezhzhasonl kpet kaphatunk:

    debian:~# nmap localhost

    []PORT STATE SERVICE22/tcp open ssh25/tcp open smtp53/tcp open domain80/tcp open http993/tcp open imaps

    Nmap finished: 1 IP address (1 host up) scanned in 0.328seconds

    A szksges kapcsolk lersa megtallhat a man oldalakon (man nmap).

    5.5 A GrSecurity rendszermagfo lt

    A GrSecurity[12] egy gyjtemnye azonfoltoknak (patch) a Linux rendszermaghoz, melyeknvelik egy rendszer biztonsgt. A GrSecurity egy nagyon jl sszefogott csomag, mely sok

    biztonsgi hinyossg lefedsre alkalmas. Kpessgeinek megismersvel sokkal kzelebbkerlhetnk a biztonsgi krdsek mlyebb ismerethez, ezrt a tovbbiakbanbemutatjuk afolt nhny kpessgt a teljessg ignye nlkl[13].

    5.5.1 Hozzfrs-vezrls (ACL)

    A GrSecurity egy finom felbonts hozzfrs vezrlst alkalmaz. A mdszer a korbbanismertetett ACL-ek elvn mkdik, kiegsztve azt klnbz egyb megoldsokkal:

    Szerepeket oszthatunk ki, melyekkel akr a rendszergazda tevkenysgt isbekorltozhatjuk a megfelel mrtkig. gy elrhet, hogy az illetktelenl

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    21/25

    21

    rendszergazdai jogokat szerzett tmadnak olyan szk mozgsteret biztostsunk, melya tmads befejezshez nem elegend.

    Korltozhatjuk az llomnyrendszer egyes rszeihez val hozzfrst specilisfelhasznli s csoport szerepkrk kiosztsval.

    Pontosan definilhatjuk, hogy egyes programok az llomnyrendszer mely rszhez

    milyen jogokkal frhetnek hozz, gy megakadlyozhatjuk, hogy egy hibs kiszolglprogramot megtmadva illetktelenek programokat mdostsanak a kiszolgln.

    5.5.2 Hlzati kiegsztsek

    A TCP/IP protokollverem kiegsztse tovbbi vletlenszmok alkalmazsval,melyekkel a korbbi opercis rendszer detektl technikk is becsaphatak, valamintkiszmthatatlann teszik a tmad szmra egy adatfolyamhoz val illetktelenhozzfrst.

    Hlzati erforrsokhoz val hozzfrs korltozsa (pl.: hlzati socket nyitskommunikci cljbl).

    5.5.3 Rendszer kiegsztsek

    A korbban ismertetett chroot() rendszerhvs biztonsgnak nvelsre a foltkpes megakadlyozni specilis mveleteket a chroot-olt krnyezetben. Tiltja pldulllomnyrendszerek csatolst (mount), a chroot krnyezeten kvl fut programokkalval interakcikat s sok egyb veszlyes-nek minsthet mveletet.

    A GrSecurity tartalmazza a PaX foltot is. A PaX projekt elsdleges clja, hogyvdelmi mechanizmust nyjtson a puffer tlcsordulsi (stack s heap overflow) segyb rendszergazdai konzol elrsre lehetsget ad hibk, kihasznlsa ellen. A

    programok futtatsakor a memriacmek vletlenszeren kiosztsval nehezti egytmads sikeressgt, valamint figyel, hogy a nem futtathat memrialapokon lv

    adatterletek valban ne kerlhessen futtatsra.A PaX folt ezekkel a technikkkal aprogram cmtr elleni tmadst megvalst exploitok nagy rszt megakadlyozza asikeres tmadsban.

    Rendszerhvsok figyelse s naplzsa. Pldk:o rendszerra megvltoztatsa (egyes biztonsgi protokollok rzkenyek a

    rendszerrra)o kls llomnyrendszer csatolsa (normlis mkds esetn erre ritkn kerl

    sor)

    o meghisult fork() rendszerhvs (az exploitok nagy szmban alkalmazzk afork rendszerhvstjogosulatlan rendszergazdai parancsrtelmez futtatsra)

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    22/25

    22

    Felkszlshez feladatok

    A kvetkez feladatok mrsre val felkszlshez szksgesek

    1. Ismtelje t (ha nem tanulta, nzzen utna) a TCP protokoll hromutas kzfogskapcsolatfelptsi eljrst! Mire val a SYN, ACK s RST nev TCP flag?

    2. A mrs sorn a rendszergazdai jogokat ignyl feladatokhoz a programokat a sudoparanccsal kell indtani. Nzzen utna hozzvetlegesen Linux alatt az albbiparancsoknak s programoknak is, amennyiben nem mozog otthonosan ebben azopercis rendszerben!

    a. ethereal, tcpdumpb. sudoc. sshd. nmap

    3. Frisstse fel C programozsban jrtassgt, a 24. oldalon tallhat Segdletek amrsi feladatokhoz cm fejezet alapjn. Ismerje meg a programrszleteket, prbljamegrteni a feladatukat!

    Formai elvrsok a jegyzknyvvel szemben: tartalmazza a feladatok megoldsnak menett,indoklst, forrskdot, ahol szksges. Legyen jl ttekinthet, PDF vagy RTF formtum.Amennyiben az ttekinthetsget nem rontja, a jegyzknyv beadhat TXT formtumban is.A jegyzknyv tartalmazza a hallgatk nevt, neptun kdjt, a mrs nevt s rra pontosidpontjt is!

    Minta ellenrz krdsek: Mire val a chroot krnyezet? Mi a Titkolzsra alapozott biztonsg (Security Through Obscurity)? Mi a Brute Force (Nyers er) tmads? Mi a hibs TCP flag prba? Mondjon legalbb 3 pldt a DoS tmadsok ltal clbavett erforrsokra! Magyarzza a kvetkez fogalmakat: srtetlen, hiteles, bizalmas!

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    23/25

    23

    Mrsi feladatok

    1. Ksztsen fork bombt!

    a. Ksztsen fork bombt, mely ltrehoz 100 gyermek folyamatot. A folyamatokmindegyike 30 msodperc ttlensg utn lpjen ki.b. A PAM modul /etc/security/limits.conf llomnynak szerkesztsvellltson

    be korltot, mely korltozza a sajt felhasznlnevben indtott folyamatokszmt! Ehhez vegye figyelembe, hogy jelenleg hny folyamattal dolgozik!

    c. Futtassa jra a fork bombt! Mit tapasztal?A jegyzknyvbe kerljn bele aprogram forrskdjas a futs eredmnye isa tmads kivdse eltt s utn!A feladat vgeztvel lltsa helyre a /etc/security/limits.conf llomnyt!

    2. Ksztsen chroot krnyezetet!a. Ksztsen sajt chroot krnyezetet a chroot program segtsgvel, mely

    tartalmazza legalbb a bash s ls binrisokat. A binrisok helyt a which, a

    binrisok ltal hivatkozott dinamikus programknyvtrakat az ldd paranccsaltudja kilistzni.

    b. Prblja ki a krnyezetet, rgztse tapasztalatait! Listzza ki a ltrehozottstruktrt a chroot-on bell (hasznlja az ls parancsR kapcsoljt is)

    c. Trjn ki a felptett chroot krnyezetbl a segdletben megtallhatforrsprogram segtsgvel! A tapasztalatai s a segdlet 5.1.1.fejezet alapjnrjon olyan programot, mely a megfelel jogosultsgokkal indtja a chrootkrnyezetet!Mkdik a chroot-bl kitr program ebben az esetben?

    3. Hajtson vgre egy man-in-the-middle tmadst!a. A tmads vgrehajtshoz alaktson kt szmtgpbl ll csoportokat! A

    csoport egyik szmtgpe legyen az Internet fel tjr, ezen a gpen lesz a

    tmads megvalstva.b. Ha sikeresen ellenrizte, hogy a kliens szmtgp az internetes forgalmt az

    tjrn keresztl bonyoltja, hasznlja a dsniff programot a tmadsmegvalstsra (lsd segdlet, 24. oldal)! rja le tapasztalatait a bekeldsutn, figyeljen a tanustvnyokra! Vonjon le tanulsgokat az esetbl!

    4. Szerezzen informcikat egy tvoli szmtgprl!a. Portscan: prblja ki az Nmap programot mrtrsa gpn! Milyen portokat

    tallt nyitva? Dokumentlja a futsi eredmnyeket s ethereal segtsgvelfigyelje meg egy port ellenrzsnek menett (ehhez rdemes egyetlen portravgeznicsak a prbt)!

    b. Prblja ki a FIN prbt Nmap segtsgvel! Ehhez keressen egy Windows segy Linux rendszert (lehetleg hasznlja a laborkrnyezet gpeit)! Hasonltsassze a kt rendszer viselkedst az ethereal program segtsgvel a FIN

    prbra!c. Nzze meg nhny Interneten elrhet webszerver kezdeti TCP ablakmrett

    (ehhez hasznlja a telnet programot)! Prblja meg a kapott rtkek alapjn aweboldalakat csoportokba rendezni (legyen legalbb 10 kiszolgl prba,ebbl kb. 3-4 csoport alakul ki). Miutn elkszlt, a netcraft.com oldal adataialapjn vesse ssze tapasztalatait a kiszolglk opercis rendszervel! Mittapasztal a BSD s a Microsoft alap kiszolglk kezdeti ablakmretvel?(tipp: ltalban a szervezetek a sajt termkket hasznljk a sajt

    weboldalakhoz, gy rdemes lehet megnzni a bsd.hu vagy a microsoft.hucmeket)

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    24/25

    24

    Segdletek a mrsi feladatokhozA rendszergazdai jogokat ignyl programokhoz hasznlja a sudo parancsot!Pl.: sudo tcpdumpi eth0

    1. Fork bomba - vzlat

    /**************************************************** Fork Bomb - demo***************************************************/

    #include #include

    /* main function */

    int main(int argc, char *argv[]) {int forked_pid;

    forked_pid = fork();if (forked_pid == -1) {/* fork() error */

    perror("fork");exit(1);

    }if (forked_pid == 0) {

    /* child */

    }/* parent */

    printf("Child started, pid:%d\n", (int)forked_pid);...

    Az elkszlt program a gcc -o paranccsal fordthat le.

    2. Chroot trs

    /**************************************************** Break Out from Chroot - demo***************************************************/

    #include #include

    int main(void) {int i;

    mkdir("breakout", 0700);chroot("breakout");for (i = 0; i < 100; i++)

    chdir("..") ;chroot(".");execl("/bin/sh", "/bin/sh",NULL);

    }

    A trs kivdshez szksgnklesz a setuid() fggvnyre, melyrl bvebb informcit ad aman setuid parancs.

    3. A dsniff egy tbb programbl ll programcsomag. HTTPS forgalomba keldshez awebmitm programjra lesz szksgnk. Errl bvebb informci a man webmitm

    paranccsal rhet el.

  • 7/25/2019 Hlzatbiztonsg - BME mrs

    25/25

    Irodalomjegyzk[1] Informatikai biztonsg Bevezet

    Demcu Karolina

    http://www.biztostu.hu[2] Biztonsgos kommunikci

    Endrdi Csillahttp://www.biztostu.hu

    [3] Szakmai sztrAndrews IT Engineering Kft.

    http://www.andrews.hu/dictionary.hu.html

    [4] BiztonsgtudatMagyarorszag.hu - gyflkapuhttp://www.magyarorszag.hu/ugyfelkapu/segitseg/biztonsagtudat/

    biztonsag.html

    [5] Port szkennels s TCP eltrtsJuhsz Pter Kroly, Modla Ferenchttp://www.biztostu.hu

    [6] Tvoli operci rendszer detektlsJuhsz Pter Krolyhttp://www.biztostu.hu

    [7] Internet Engineering Task ForceRequest for Comments

    http://www.ietf.org/rfc.html

    [8] Remote OS detection via TCP/IP Stack FingerPrintingFyodor

    http://www.insecure.org/nmap/nmap-fingerprinting-article.html[9] A practical approach for defeating Nmap OS-Fingerprinting

    David Barroso Berrueta

    http://www.zog.net/Docs/nmap.html

    [10] SSL/TLS alap biztonsgos kommunikciInformatikai s Hrkzlsi minisztriumhttp://www.itktb.hu

    [11] Using Chroothttp://www.linuxexposed.com/Articles/General/Using-Chroot-3.html

    [12] http://www.grsecurity.net[13] GNU Linux Szakmai Konferencia 2004

    Linux-felhasznlk Magyarorszgi EgyesleteBudapest, 2004. november 20.

    http://www.biztostu.hu/http://www.biztostu.hu/http://www.biztostu.hu/http://www.biztostu.hu/http://www.andrews.hu/dictionary.hu.htmlhttp://www.andrews.hu/dictionary.hu.htmlhttp://www.magyarorszag.hu/ugyfelkapu/segitseg/biztonsagtudat/%0bbiztonsag.htmlhttp://www.magyarorszag.hu/ugyfelkapu/segitseg/biztonsagtudat/%0bbiztonsag.htmlhttp://www.magyarorszag.hu/ugyfelkapu/segitseg/biztonsagtudat/%0bbiztonsag.htmlhttp://www.biztostu.hu/http://www.biztostu.hu/http://www.biztostu.hu/http://www.biztostu.hu/http://www.ietf.org/rfc.htmlhttp://www.ietf.org/rfc.htmlhttp://www.insecure.org/nmap/nmap-fingerprinting-article.htmlhttp://www.insecure.org/nmap/nmap-fingerprinting-article.htmlhttp://www.zog.net/Docs/nmap.htmlhttp://www.zog.net/Docs/nmap.htmlhttp://www.itktb.hu/http://www.itktb.hu/http://www.linuxexposed.com/Articles/General/Using-Chroot-3.htmlhttp://www.linuxexposed.com/Articles/General/Using-Chroot-3.htmlhttp://www.grsecurity.net/http://www.grsecurity.net/http://www.grsecurity.net/http://www.linuxexposed.com/Articles/General/Using-Chroot-3.htmlhttp://www.itktb.hu/http://www.zog.net/Docs/nmap.htmlhttp://www.insecure.org/nmap/nmap-fingerprinting-article.htmlhttp://www.ietf.org/rfc.htmlhttp://www.biztostu.hu/http://www.biztostu.hu/http://www.magyarorszag.hu/ugyfelkapu/segitseg/biztonsagtudat/%0bbiztonsag.htmlhttp://www.magyarorszag.hu/ugyfelkapu/segitseg/biztonsagtudat/%0bbiztonsag.htmlhttp://www.andrews.hu/dictionary.hu.htmlhttp://www.biztostu.hu/http://www.biztostu.hu/