LINUX-BG Adres : http://www.linux-bg.org |
Vuvedenie v SNORT |
Ot: Nick Angelow Publikuvana na: 4-02-2005 Adres na statiiata: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=369185624 |
SNORT Dmitrii Rozhkov UNIX administrator v ID Piter 29 ianuari 2001 || Biblioteka LinuksTSentur
Kolkoto i dobre da e zashtiten edin web-server ili shlyuz kum Internet, vinagi sushtestvuva vuzmozhnost za probiv v nego. I za sistemniiat administrator shte e po-dobre da razbere za tezi opiti oshte predi da e osushtestven samiiat probiv. Zatova sredstvata, pozvoliavashti ne samo otkrivaneto na fakta na pronikvane v sistemata, no i sposobni da preduprezhdavat za podobni nahluvaniia, sa ot osobena vazhnost. Sushtestvuvat dva vida sistemi za otkrivane na narushiteli1 kum purvite spadat programite, otkrivashti anomalii vuv funktsioniraneto na sistemite, naprimer neobichaino goliamo kolichestvo ednovremenno raboteshti protsesi, uvelichen trafik prez interfeisite na sistemata i drugi podobni. Kum vtorite se otnasiat sistemite za otkrivane na narushiteli, rabotata na koito se sustoi v turseneto na predvaritelno izvestni priznatsi na ataki. SHTo se otnasia do programata Snort, tia smelo mozhe da bude prichislena i kum dvata vida. Blagodarenie na svoiata otvorena arhitektura, Snort mozhe lesno da bude razshirena i dopulnena za reshavane na razlichni zadachi. Tazi statiia ne pretendira da e vseobhvatno rukovodstvo po Snort, a e edin dosta svoboden prevod na rukovodstvoto, napisano ot Martin Roesh2, smesen s moite sobstveni misli. Izcherpatelna informatsiia za tova, kakvo predstavliava Snort i kak da go izpolzvate, mozhe da se nameri na http://www.snort.org/. Kakvo predstavliava Snort? Snort e mrezhova sistema za otkrivane na narushiteli, sposobna da izvurshva v realno vreme analiz na trafika, predavan po kontroliraniia interfeis, s tsel otkrivane na opiti za probivi ili opiti za tursene na uiazvimosti (takiva kato prepulvane na bufera, skanirane na portove, CGI-ataki, identifitsirane na operatsionnata sistema, identifitsirane na versiite na izpolzvanite mrezhovi uslugi i drugi takiva). Guvkavostta i udobstvoto na Snort sa osnovani na slednite tri faktora:
Triabva da otbelezhim, che protsedurite, dekodirashti mrezhoviia trafik, rabotiat v kanalniia prez mrezhoviia i transportniia do prilozhniia sloi3. V momenta Snort poddurzha dekodirane za protokolite Ethernet, SLIP i PPP4. Neka razgledame nai-vazhniiat ot gledna tochka na potrebitelia komponent ezika za suzdavane na pravilata. Pravilata se zadavat v konfiguratsionniia fail na Snort, kato tehniiat sintaksis e dostatuchno prost: ACTION PROTO IP_ADDR1 PORT1 DIRECTION IP_ADDR2 PORT2 [ (OPTIONS) ACTION Ima tri osnovni direktivi, opredeliashti posledvashtite deistviia pri otkrivane na mrezhov paket, otgovariasht na niakoe ot pravilata pass, log i alert. Direktivata pass oznachava paketa prosto da bude ignoriran. Direktivata log opredelia paketut da bude podlozhen na protsedurata za zapis, izbrana ot potrebitelia za posledvasht zapis v dnevnika. I poslednata direktiva alert generira suobshtenie za otkrit paket, koito udovletvoriava praviloto pak po opredelen ot potrebitelia nachin i sled tova predava paketa na protsedurata za zapisvane v dnevnika za po-kusen analiz. Mogat da se izpolzvat oshte dve direktivi activate i dynamic. Te pozvoliavat za niakakvo mnozhestvo paketi, udovletvoriavashti niakakvo pravilo da bude povikano drugo pravilo. Naprimer, mozhe da se nalozhi pri otkrivane na paket s iavni priznatsi za ataka s prepulvane na bufera, da se generira suobshtenie za atakata i da se zapishat v dnevnika niakolko ot sledvashtite paketi za posledvasht tehen analiz. Tazi funktsionalnost se postiga sus suvmestnoto izpolzvane na direktivite activate i dynamic. Osven tova, ima vuzmozhnost za suzdavane na sobstveni direktivi, asotsiiraiki gi s edna ili niakolko protseduri na zapis v dnevnika. Naprimer, opredelenieto ruletype redalert { type alert output alert_syslog: LOG_AUTH LOG_ALERT output database: log, mysql, user=snort dbname= snort host= localhost } suzdava nova direktiva redalert, generirashta suobshtenie, koeto se predava na syslog i zapisvashta sled tova informatsiiata za otkritiia paket v baza danni MySQL. PROTO V momenta, za analiz sa dostupni tri protokola i suotvetno, sa dopustimi tri znacheniia na tozi parametur tcp, udp i icmp. Vuzmozhno e v budeshte da se poiavi poddruzhka i na arp, ipx, igrp, gre, rip, ospf i drugi. IP_ADDR V Snort niama mehanizum za razpoznavane na imena (i nadali shte se poiavi niakoga ot suobrazheniia za proizvoditelnost), zatova e neobhodimo za zadavane na hostovete da se izpolzvat tehnite IP adresi. Klyuchovata duma any pozvoliava zadavaneto na vsichki vuzmozhni adresi, a za zadavane na podmrezhi se izpolzva CIDR zapis. Simvolut ! obrushta obratno uslovieto !192.168.3.0/24 oznachava vseki neprinadlezhasht na podmrezhata 192.168.3.0/24 IP adres. Osven tova mozhe da se zadavat i spisutsi ot adresi, razdeliaiki gi sus zapetaika i zatvariaiki gi v kvadratni skobi naprimer [192.168.2.0/24, 192.169.3.54/32]. PORT Posochvaneto na portovete se izvurshva po sushtiia nachin, kakto i pri ipchains. Osven edin edinstven port, mozhe da zadavame i diapazon ot portove, kato gi razdelim s dvoetochie, naprimer 6000:6010 portove ot 6000 do 6010 vklyuchitelno, :1024 vsichki portove ot 1 do 1024, 1024: vsichki portove ot 1024 do 65535. Kakto pri zadavaneto na IP adresite, simvolut ! obrushta obratno uslovieto, a klyuchovata duma any oznachava vsichki portove. DIRECTION Tozi operator pozvoliava da opredelim posokata na dvizhenie na paketa:
OPTIONS Zatvorenite v krugli skobi parametri sa nezadulzhitelni chasti ot praviloto i v sushtoto vreme sa nai-vazhnata chast ot sistemata za otkrivane na nahluvane. Parametrite mogat da opredeliat teksta na suobshtenieto za zaplaha ot nahluvane, d zadavat dopulnitelni deistviia pri zadeistvane na praviloto, kakto i dopulnitelni usloviia za suotvetstvie na analiziranite paketi na dadeno pravilo. Parametrite se otdeliat edin ot drug s tochka i zapetaia, a klyuchovata duma na parametura se otdelia ot negoviia argument s dvoetochie. Do momenta sushtestvuvat 24 parametura, kato tiahnoto kolichestvo se uvelichava s vsiaka nova versiia na programata. Parametrite, zadavashti dopulnitelni usloviia na suotvetstvie na praviloto sa:
Kakto mozhe da se zabelezhi, izbroenite parametri pozvoliavat suzdavaneto na pravila za prehvashtane prakticheski na vsiakakvi paketi, koito mogat po niakakuv nachin da zastrashat sigurnostta na sistemata. A ako otchetem, che Snort mozhe da prehvashta paketi i ot kanalniia sloi, to negovoto izpolzvane e osobeno interesno na hostove, zashtiteni sus zashtitni steni, tui kato othvurlenite ot zashtitnata stena paketi vse edno shte popadat v negovoto polezrenie. Parametrite, stoinostite na koito imat smisul pri tursene na suotvetstvie na analiziraniia paket na vsichki usloviia sa:
Po-dolu sa pokazani niakoi primeri za suzdavane na pravila.
Na saita http://www.snort.org/ ima suzdaden nabor ot gotovi pravila, koito mozhe da izpolzvame za svoi sobstveni tseli, kato pravilata sa razdeleni na niakolko grupi:
Kakto se vizhda ot naimenovaniiata na grupite, oblastta na prilozhenie na Snort e mnogo shiroka. Za da ne se izchakva obnoviavaneto na nabora pravila sled publikuvaneto na nov, mnogo opasen eksploit, mozhe mnogo burzo samostoiatelno da se sustavi novo pravilo. Za tova e nuzhno da namerim v Internet eksploita, da go izpolzvame sreshtu host opitno zaiche, kato zapishem tseliia trafik mezhdu atakuvashtiiat host i hosta-zhertva. Sled tova, analiziraiki dnevnika e neobhodimo da namerim unikalna signatura na eksploita. Naprimer, v sledvashtiia paket 052499-22:27:58.403313 192.168.1.4:1034 -> 192.168.1.3:143 TCP TTL:64 TOS:0x0 DF ***PA* Seq: 0x5295B44E Ack: 0x1B4F8970 Win: 0x7D78 90 90 90 90 90 90 90 90 90 90 90 90 90 90 EB 3B ...............; 5E 89 76 08 31 ED 31 C9 31 C0 88 6E 07 89 6E 0C ^.v.1.1.1..n..n. B0 0B 89 F3 8D 6E 08 89 E9 8D 6E 0C 89 EA CD 80 .....n....n..... 31 DB 89 D8 40 CD 80 90 90 90 90 90 90 90 90 90 1...@ ........... 90 90 90 90 90 90 90 90 90 90 90 E8 C0 FF FF FF ................ 2F 62 69 6E 2F 73 68 90 90 90 90 90 90 90 90 90 /bin/sh......... redut /bin/sh/ iavno izglezhda podozritelen. Po tozi nachin, tozi red i niakolkoto baita predi nego shte predstavliavat signaturata na eksploita i novoto pravilo za Snort shte izglezhda primerno po tozi nachin: alert tcp any any -> 192.168.1.0/24 143 (content:"|E8C0 FFFF FF|/bin/sh"; msg:"New IMAP Buffer Overflow detected!";) VUZMOZHNOSTI ZA RAZSHIRENIE NA SNORT V sustava na paketa Snort vlizat kakto spetsifikatsii, taka i preporuki za razrabotvaneto na dopulnitelni moduli, prednaznacheni za stranichni avtori. V momenta Snort podurzha tri vida dopulnitelni moduli detektori, preprotsesori i moduli za izvezhdane na informatsiia. Detektorite sa prednaznacheni za otkrivane na niakakuv unikalen aspekt na paketa, kato po tozi nachin razshiriavat nabora ot vuzmozhni parametri, opredeliashti usloviiata za suotvetstvie na pravilata. Naprimer, parametura flags, zadavasht usloviiata za nalichie ili otsustvie v paketa na konkretni TCP flagove, e realiziran s pomoshtta na otkrivasht modul. Preprotsesorut se izvikva za izpulnenie sled dekodiraneto na paketa i predi izpulnenieto na detektora. CHrez negoviia mehanizum e vuzmozhno da modifitsirame paketite, naprimer za povtorno subirane na TCP potoka, za defragmentatsiia na paketite, za normalizatsiia na HTTP zaiavkite, kato e vuzmozhen i dopulnitelen analiz izvun osnovniia kod, kakto e vuzmozhno i izpulnenieto na zadachi za subirane na statistika. V chastnost, protsedurata za opredeliane dali se osushtestviava skanirane na portovete e realizirana imenno s pomoshtta na preprotsesor. Pod skanirane na portove tozi preprotsesor razbira izprashtaneto ot edin i susht IP adres na SYN-, FIN-, NULL-, SYNFIN- ili XMAS paketi kum kontroliraniia host na poveche ot P porta, za vreme po-malko ot T ili kum edin port ednovremenno na niakolko hosta. Sledvashtite versii na Snort shte mogat da otkrivat i razpredeleno skanirane na portove, kogato paketite kum skaniranite hostove se izprashtat ot niakolko atakuvashti hosta. Polzata ot tozi preprotsesor e v tova, che pri otkrivane na ataka niama nuzhda da se generira suobshtenie za vseki paket, a mozhe da se generira edno edinstveno suobshtenie za tsialata ataka. Mnogo interesen modul e preprotsesorut SPADE na firmata Silicon Defence. SPADE e abreviatura na Statistical Packet Anomaly Detection Engine Sistema za otkrivane na statisticheski anomalni paketi. Tozi modul e chast ot proekta SPICE (Stealthy Portscan and Intrusion Correlation Engine)6. Spade sledi trafika, otkriva paketite, koito suglasno niakakvi statisticheski kriterii se priemat za anomalni i predava informatsiiata za tiah na protsedurata za zapis v dnevnika. Otdelianeto na anomalnite paketi mozhe da stava po sledniia primeren nachin: na vseki paket se dava otsenka za negovata anomalnost, osnovana na istoriiata na pregledaniia trafik. Za tazi tsel se suzdava tablitsa s otsenkite na veroiatnostta za poiava na razlichnite vidove paketi, osnovana na chestotata im na poiava za izvesten period ot vreme i vremeto na poiava (na po-svezhite paketi se prisvoiava po-goliamo teglo). Naprimer, za web survur P(dip=198.168.1.1, dport=80)= 0.3 i P(dip=198.168.1.1, dport=12543) =0.001. Otsenkata na anomalnostta se presmiata neposredstveno ot veroiatnostta za poiava na paketa: A(X)= -log2(P(X)) Po tozi nachin, anomalnostta na paket, nasochen kum port 80 na host 198.168.1.1 shte bude 1,737, a anomalnostta na paket, nasochen kum port 12543 na sushtiia host shte e 9,97. Kolkoto e po-visoka otsenkata na anomalnostta na paketa, tolkova poveche vnimanie zasluzhava toi, kato pri nadhvurliane na niakakuv prag se generira suobshtenie za podozritelen paket, a v perspektiva informatsiiata za nego shte se podava i kum taka narecheniia portscan-korelator za posledvasht analiz i otkrivane na dobre maskirani ataki. Ot versiia 1.7 e vuzmozhno ednovremennoto izpolzvane za izvezhdane na informatsiia na niakolko dopulnitelni modula:
Ot vsichko, kazano po-gore, mozhe da napravim izvoda za izklyuchitelno goliamata poleznost na programata Snort. Vuv vseki sluchai, izpolzvaneto na tazi programa shte napravi zhivota na krakerite po-truden, koeto e edna ot tselite na vseki sistemen administrator. Prevod: Nikolai Angelov
1 IDS Intrusion Detection Systems. 2 Martin Roesh e avtor na programata. 3 Kanalniiat, mrezhoviiat, transportniiat i prilozhniiat sloi sa chasti ot modela OSI, koito predstavliava obsht komunikatsionen model po otnoshenie na razlichnite niva na komunikatsiia sus sedem sloina struktura. 4 Neka ne zabraviame, che tova e polozhenieto kum 2001 g. V momenta, kum datata na prevod na statiiata, aktualna e versiia 2.3.0RC2. Za izminalite chetiri godini, neshtata, opisani v statiiata mozhe da sa se promenili, kato tochnoto miasto za poveche informatsiia e http://www.snort.org/. 5 Opisanie
na zaglavnata chast na edin IP paket mozhe
da se nameri tam
6 Pulna
informatsiia za koito mozhe da se nameri
na adres
7 Primer
na takuv otchet mozhe da se nameri na tozi
adres 8 Za poveche informatsiia mozhe da poglednete na tozi adres: http://www.snort.org/dl/binaries/linux/ 9 Pulna informatsiia za tozi modul mozhe da se nameri na adres http://www.cert.org/kb/snortxm << Nelegitimen dostup do resursi (ueb-bazirani poshtenski uslugi) | Promqna firmware-a na Linksys WRT54G s Linux >> |
Avtorite na saita, kakto i tehnite sutrudnitsi zapazvat avtorskite prava vurhu sobstvenite si materiali publikuvani tuk,
no te sa copyleft t.e. mogat svobodno da budat kopirani i razprostraniavani s iziskvaneto izrichno da se upomenava imeto na avtora,
kakto i da se publikuva na vidno miasto, che te sa vzeti ot originalniia im URL-adres na tozi survur (http://www.linux-bg.org). Avtorskite prava na prevodnite materiali prinadlezhat na tehnite avtori. Ako s publikuvaneto tuk na niakakuv material nevolno sa narusheni nechii prava - sled konstatiraneto na tozi fakt materialut shte bude svalen.
All trademarks, logos and copyrights mentioned on this site are the property of their respective owners.
|