Pagina de start a forumului cls9B.MyForum.ro
Pagina de start a forumului cls9B.MyForum.ro FAQ Cautare Membri Grupuri Profil Mesaje private
 
Acum este: 03/11/2026 23:59  
securitatea retelelor

 
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului cls9B.MyForum.ro -> Teme... Subiectul anterior | Subiectul urmator  
Autor Mesaj
virus_de_timisoara
Administrator
Administrator
virus_de_timisoara

Data inscrierii: 11/Oct/2007
Mesaje: 13
Localitate: timisoara

MesajTrimis: 20/10/2007 17:39    Titlul subiectului: securitatea retelelor Raspunde cu citat (quote)

Securitatea reþelelor. Viermele Internetului



Internet este o structurã deschisã, la care se poate conecta un numãr mare de calculatoare fiind deci greu de controlat. De aceea putem vorbi de vulnerabilitatea reþelelor manifestatã pe variate planuri. Un înfățișare crucial al reþelelor de calculatoare, în excepțional al comunicaþiilor prin Internet îl reprezintă securitatea informaþiilor.


Categorii de atacuri asupra reþelelor

Ameninþãrile la adresa securitãþii unei reþele de calculatoare pot avea urmãtoarele origini: dezastre sau calamitãþi naturale, defectãri ale echipamentelor, greºeli umane de operare sau manipulare, fraude. Primele trei feluri de ameninþãri sunt accidentale, în timp ce ultima este intenþionatã. Câteva studii de securitate a calculatoarelor estimeazã cã jumãtate din costurile implicate de incidente sunt datorate acþiunilor voit distructive, un sfert dezastrelor accidentale ºi un sfert greºelilor umane. Acestea din urmã pot fi evitate sau, în cele din urmã, reparate printr-o mai bunã aplicare a regulilor de securitate (salvãri regulate de date, discuri oglindite, limitarea drepturilor de acces).
În ameninþãrile datorate acþiunilor voite, se disting douã categorii principale de atacuri: pasive ºi active.
1) Atacuri pasive - sunt acelea în cadrul cãrora intrusul observã informaþia ce trece -prin "canal", fãrã sã interfereze cu fluxul sau conþinutul mesajelor. Ca urmare, se face doar analiza traficului, prin citirea identitãþii pãrþilor care comunicã ºi "învãþând" lungimea ºi frecvenþa mesajelor vehiculate pe un anumit canal logic, chiar dacã conþinutul acestora este neinteligibil. Atacurile pasive au urmãtoarele caracteristici comune:
• Nu cauzeazã pagube (nu se ºterg sau se modificã date);
• Încalcã regulile de confidenþialitate;
• Obiectivul este de a "asculta" datele schimbate prin reþea; .
• Pot fi realizate printr-o varietate de metode, cum ar fi supravegherea legãturilor telefonice sau radio, exploatarea radiaþiilor electromagnetice emise, rutarea datelor prin noduri adiþionale mai puþin protejate.
2) Atacuri active - sunt acelea în care intrusul se angajeazã fie în furtul mesajelor, fie -in modificarea, reluarea sau inserarea de mesaje false. Aceasta înseamnã cã el _ poate ºterge, întârzia sau modifica mesaje, poate sã facã inserarea unor mesaje â false sau vechi, poate transforma ordinea mesajelor, fie pe o anumitã direcþie, fie pe -ambele direcþii ale unui canal logic. Aceste atacuri sunt serioase deoarece modificã dispoziția sistemelor de calcul, a datelor sau a sistemelor de comunicaþii. Existã . urmãtoarele soiuri de ameninþãri active:
• Mascarada - este un tip de atac în care o entitate pretinde a fi o altã entitate. De exemplu, un utilizator încearcã sã se substitue altuia sau un serviciu pretinde a fi un alt serviciu, în intenþia de a lua date secrete (numãrul cãrþii de credit, parola sau cheia algoritmului de criptare). O "mascaradã" este însoþitã, de regulã, de o altã ameninþare activã, cum ar fi înlocuirea sau modificarea mesajelor;
• Reluarea - se realizează atunci îndată ce un mesaj sau o parte a acestuia este reluatã (repetatã), în intenþia de a produce un consecință neautorizat. De exemplu, este posibilã reutilizarea informaþiei de autentificare a unui mesaj anterior. În conturile bancare, reluarea unitãþilor de date implicã dublãri ºi/sau alte. modificãri nereale ale valorii conturilor;
• Modificarea mesajelor - face ca datele mesajului sã fie alterate prin modificare, inserare sau ºtergere. Poate fi folositã pentru a se schimba beneficiarul unui credit în transferul electronic de fonduri sau pentru a modifica valoarea acelui credit. O altã utilizare poate fi modificarea câmpului destinatar/expeditor al poºtei electronice;
• Refuzul serviciului - se produce când o entitate nu izbuteºte sã îndeplineascã propria funcþie sau când face acþiuni care împiedicã o altã entitate de la îndeplinirea propriei funcþii;
• Repudierea serviciului - se produce când o entitate refuzã sã recunoascã un serviciu executat. Este evident cã în aplicaþiile de transfer electronic de fonduri este important sã se evite repudierea serviciului atât de cãtre emiþãtor, cât ºi de cãtre destinatar.

În cazul atacurilor active se înscriu ºi unele programe fabricate cu scop distructiv ºi care afecteazã, uneori esenþial, securitatea calculatoarelor. Existã o terminologie care poate fi folositã pentru a prezenta diferitele posibilitãþi de atac asupra unui sistem. Acest vocabular este bine popularizat de "poveºtile" despre "hackeri". Atacurile presupun, în general, fie citirea informaþiilor neautorizate, fie (în cel mai frecvent caz) distrugerea parþialã sau totalã a datelor sau chiar a calculatoarelor. Ce este mai grav este probabilitatea potenþialã de infestare, prin reþea sau copieri de dischete, a unui mare numãr de maºini. Dintre aceste programe distructive amintim urmãtoarele:
• Viruºii - reprezintã programe adăugate în aplicaþii, care se multiplicã singure în alte programe din spaþiul rezident de memorie sau de pe discuri; apoi, fie satureazã complet spaþiul de memorie/disc ºi blocheazã sistemul, fie, dupã un numãr fixat de multiplicãri, devin activi ºi intrã într-o fazã distructivã (care este de regulã exponenþialã);
• Bomba software - este o procedurã sau parte de cod inclusã intr-o aplicaþie "normalã", care este activatã de un eveniment predefinit. Autorul bombei anunþã evenimentul, lãsând-o sã "explodeze", adicã sã facã acþiunile distructive programate;
• Viermii - au efecte similare cu cele ale bombelor ºi viruºilor. Principala diferenþã este aceea cã nu rezidã la o locaþie fixã sau nu se duplicã singuri. Se mutã în permanenþã, ceea ce îi face dificil de detectat. Cel mai renumit exemplu este Viermele INTERNET ului, care a scos din funcþiune o parte din INTERNET în noiembrie 1988;
• Trapele - reprezintã accese speciale la sistem, care sunt rezervate în mod normal pentru proceduri de încãrcare de la distanþã, întreþinere sau pentru dezvoltatorii unor aplicaþii. Ele îngăduie însã accesul la sistem, eludând procedurile de identificare uzuale;
• Calul Troian - este o aplicaþie care are o funcþie de întrebuințare nespus de cunoscutã ºi care, intr-un mod ascuns, îndeplineºte ºi o altã funcþie. Nu creeazã copii. De exemplu, un hacker poate înlocui codul unui program normal de control "login" prin alt cod, care face acelaºi lucru, dar, adiþional, copiazã într-un fiºier numele ºi parola pe care utilizatorul le tasteazã în procesul de autentificare. Ulterior, folosind acest fiºier, hacker-ul va penetra foarte uºor sistemul.

Modelul de securitate în reþele

Modelul de securitate pentru un calculator seamãnã cu o ceapã. Niveluri de securitate înconjoarã subiectul ce trebuie protejat. Fiecare nivel izoleazã subiectul ºi îl face mai greu de accesat în alt mod decât în cel în care a fost planificat.
1) Securitatea fizicã reprezintã nivelul exterior al modelului de securitate ºi constã, în general, în încuierea echipamentelor informatice într-un birou sau într-o altã incintã. Securitatea fizicã meritã o consideraþie specialã. Problema cea mai mare o constituie salvãrile pentru copii de rezervã ale datelor ºi programelor ºi siguranþa pãstrãrii suporþilor de salvare. În aceste situaþii, reþelele locale sunt de mare ajutor: dacã toate fiºierele schimbate frecvent rezidã pe un server, aceleaºi persoane (sigure ºi de încredere), care lanseazã salvãrile pentru mainframe-uri, pot face acelaºi lucru ºi la server. Calculatorul, ca indiferent ce piesã costisitoare, ar trebui sã fie protejat ºi. de pericolul furtului. Pãstrarea în afara zonelor publice este una dintre cele mai bune înfățișări de protecþie. Simpla încuiere a echipamentelor va preveni mutãrile ascunse ca de exemplu ºi furtul. Într-un sistem în care prelucrarea este distribuitã, prima mãsurã de securitate fizicã care trebuie avutã în vedere este prevenirea accesului la echipamente. Pentru a învinge absolut orice alte mãsuri de securitate, trebuie sã se dispunã de acces fizic la echipamente. Acest lucru este comun tuturor sistemelor de calcul, distribuite sau nu.
2) Securitatea logicã constã din acele metode care asigurã controlul accesului Ia resursele ºi serviciile sistemului. Ea are, la rândul ei, mai multe niveluri, împãrþite în douã grupe mari: nivele de securitate a accesului (SA) ºi niveluri de securitate a serviciilor (SS).
3)
• Securitatea accesului (SA) cuprinde:
• accesul la sistem (AS), care este rãspunzãtor de a determina dacã ºi când reþeaua este accesibilã utilizatorilor. EI poate fi, de asemenea, rãspunzãtor pentru decuplarea unei staþii, ca ºi de gestiunea evidenþei accesului. AS executã, de asemenea, deconectarea forþatã, dictatã de supervizor. AS poate, de exemplu, sã previnã conectarea în afara orelor de serviciu ºi sã întrerupã toate sesiunile, dupã un anumit timp;
• accesul la cont (AC), care verificã dacã utilizatorul care se conecteazã cu un anumit nume ºi cu o parolã existã ºi are un profil utilizator valid;
• drepturile de acces (DA), care determinã ce privilegii de conectare are utilizatorul (de exemplu, contul poate avea sesiuni care totalizeazã 4 ore pe zi sau contul poate utiliza doar staþia 27).

• Securitatea serviciilor (SS), care se aflã sub SA, controleazã accesul la serviciile sistem, cum ar fi fire de aºteptare, I/O la disc ºi gestiunea server ului. Din acest nivel fac parte:
• controlul serviciilor (CS), care este responsabil cu funcþiile de avertizare ºi de raportare a stãrii serviciilor; de asemenea, el activeazã ºi dezactiveazã diferitele servicii;
• drepturile la servicii (DS), care determinã exact cum foloseºte un anumit cont un serviciu dat; de exemplu, un cont poate avea numai dreptul de a adãuga fiºiere la spooler-ul unei imprimante, dar are drepturi depline, de a adãuga ºi ºterge fiºiere, pentru o altã imprimantã.

O datã stabilitã conexiunea, SA valideazã ºi defineºte contul. Operaþiile ce trebuie executate sunt comandate de SS, care împiedicã cererile ce nu sunt specificate în profilul utilizatorului. Accesul intr-un sistem de securitate ideal trebuie sã se facã prin aceste niveluri de securitate, de sus în jos. Orice sistem care vã lasã sã evitaþi unul sau mai multe niveluri ale modelului de securitate implicã riscul de a fi nesigur.

Viermele Internet-ului

Introducere

În seara zilei de 2 noiembrie 1988, dupã ora 17, un program ciudat era executat pe mai multe dintre calculatoarele Internet. Acest program aduna informaþii despre host-uri, reþele ºi utilizatori ºi folosea aceste informaþii pentru a stabili conexiuni reþea ºi pentru a pãtrunde pe alte maºini. El folosea anumite defecte sau slãbiciuni prezente în anumite programe. Dupã aceastã pãtrundere, programul se multiplica, iar replica sa încerca infectarea altor sisteme, în aceeaºi manierã. Chiar dacã programul nu a infectat decât sistemele Sun Microsystems Sun 3 ºi calculatoarele VAX pe care rulau variante ale lui 4 BSD UNIX, el s-a extins rapid, creând confuzie ºi consternare în rândul administratorilor de sistem ºi al utilizatorilor, atunci când aceºtia au descoperit invazia produsã în sistemele lor. Deºi se cunoºtea cã UNIX-ul are câteva slãbiciuni de securitate, în aparte în modul obiºnuit de operare în medii deschise, totuºi scopul ºi modul în care acestea au fost folosite a constituit o surprizã mare pentru toatã lumea.
Programul era ciudat pentru utilizatori, în special din punctul de vedere al punctelor de apariþie. Au fost introduse fiºiere neobiºnuite în directoarele lusrltmp, iar unele mesaje stranii au apãrut în fiºierele unor utilitare, cum ar fi sendmail. Totuºi, cel mai notabil efect a fost faptul cã sistemele au devenit din ce în ce mai încãrcate cu procese datoritã infectãrii multiple. Cu trecerea timpului, unele dintre maºini au transformat atât de încãrcate, încât nu au mai fost capabile sã lucreze; unele maºini au fost blocate complet, atunci când spaþiul de evacuare (swaping) sau tabela de procese au fost saturate.
În dimineaþa zilei de 3 noiembrie, personalul de la Universitatea Berkeley din California ºi de la Institutul de Inginerie Massachusetts au "capturat' copii ale programului ºi au început sã le analizeze. Utilizatori din alte locuri au început, de asemenea, sã studieze programul ºi au fost dezvoltate metode de eradicare a acestuia. O caracteristicã a programului a ieºit în evidenþã: modifica resursele sistemului într-un fel care nu putea fi detectat rapid. Au fost alterate fiºiere ºi distruse informaþiile, ceea ce a impus cãutarea unei soluþii. Dupã ora 5 am la mai puþin de 13 ore de la prima descoperire a programului, Computer Systems Research Group de la Berkeley a stabilit un set provizoriu de mãsuri, în vederea opririi extinderii. Printre acestea se afla ºi o modificare la serviciul sendmail ºi sugestia de a redenumi compilatoarele C ºi încãrcãtorul, pentru a preveni întrebuințarea lor. Aceste sugestii au fost publicate în listele de poºtã electronicã ºi prin sistemul de ºtiri din reþeaua Usenet, cu toate cã extinderea viermelui a fost împiedicatã, cel mai adesea prin deconetarea sistemelor de la INTERNET, în încercarea de a le dezinfecta ulterior.
Pe la orele 9 pm, în aceeaºi zi, a fost descoperitã ºi publicatã la Purdue University o altã metodã simplã pentru stoparea invaziei acestui program. Îmbunãtãþiri soft au fost anunþate ºi de cãtre grupul Berkeley, pentru a "astupa" fisurile ce permiteau programului sã invadeze sistemele. Tot ceea ce rãmânea de fãcut era de a se analiza codul care a generat aceste probleme ºi de a descoperi cine ºi de ce lansat viermele.

Cronologia evenimentelor

Este teribil de neobișnuit de remarcat viteza ºi profunzimea cu care Viermele s-a extins ºi este semnificativ de urmãrit rapiditatea cu care a fost identificat ºi-a oprit utilizându-se aceeaºi reþea pentru comunicarea între specialiºti a rezultatelor. Este, credem noi, cumplit de incitant ºi instructiv de urmãrit desfãºurarea în timp a rãspândirii Viermelui, cel mai important eveniment de securitate din istoria INTERNET-ului, dar -este la fel de util de a vedea rapiditatea cu care s-a cristalizat riposta specialiºtilor.

2 Noiembrie 1988

• 17.00. Viermele este executat pe o maºinã la Cornell University;
• 18.00. Maºina prep.ai.mit.edu a lui MIT a fost infectatã. Prep era o maºinã cu acces public, utilizatã pentru stocarea ºi distribuirea soft-ului prin proiectul GNU. Maºina a fost configuratã cu câteva vulnerabilitãþi de securitate de notorietate, care permiteau . utilizatorilor de la distanþã sã introducã fiºiere în sistem;
• 18.30. Maºina infectatã de la Pittsburgh Univerity a infectat o maºinã a corporaþiei RAND;
• 21.00. Viermele este descoperit pe maºinile de la Stanford University; 21.30. Este invadatã o primã maºinã la Minnesota University;
• 21.34. Maºina gateway a Universitãþii Berkeley din California este invadatã. Se descoperã o neobiºnuitã incãrcare a maºinii cu procese de poºtã;
• 22.34. Este infectatã maºina gateway a Universitþãii Princeton;
• 22.40. Maºini de la Universitatea Norih Carolina sunt infectate ºi sunt încercãri de a invada alte maºini;
• 22.48. Sunt infectate maºini ale SRI via sendmail (poºtã);
• 22.52. Viemele incearcã sã invadeze maºina andrew.cmu.edu de la Universitatea Carnegie-Mellon (poºtã);
• 22.54. Calculatoarele gateway de la Universitatea din MaryJand sunt atacate prin . . procesul din fundal corespunzãtor programului fingerd;
• 22.59. Maºinile de la Universitatea din Pennsylvania sunt atacate, dar sunt "insen-sibile". Vor fi depistate 210 încercãri de infectare în urmãtoarele 13 ore, prin poºtã; 23.48. Calculatorul mimsy.umd.edu de la Universitatea din Maryland este infectat via sendmail (poºtã);
• 23.40. Cercetãtorii de la Berkeley descoperã þintele de atac ca fiind sendmail ºi rsh. Ei incep sã închidã serviciile pentru alte reþele, ca mãsurã de precauþie;
• 23.45. Maºinile de la Dartmouth ºi Laboratorul de Cercetãri Balistice al Armatei (BRL) sunt atacate ºi infectate (poºtã, NCSC);
• 23.49. Gateway-urile de la Universitatea din Utah sunt infectate. În urmãtoarea orã numãrul încercãrilor va ajunge la 100;

3 Noiembrie 1988

• 00.07. Este infectatã maºina Univesitãþii din Arizona, prin poºtã;
• 00.21. Este infectatã maºina principalã a Universitãþii Princeton (un VAX 8650). Numãrul încercãrilor ajunge la 68 ºi maºina clacheazã;
• 00.33. Este infectatã maºina dewey.udel.edu a Universitãþii din Delaware;
• 01.30. Maºinile de la UCLA sunt infectate;
• 02.00. Viermele este identificat pe maºinile de la Universitatea Harvard;
• 02.38. De la Berkeley se oferă un mesaj prin poºtã cu conþinutul: "Suntem atacaþi". Domeniile menþionate ca fiind infectate sunt: U.C.Berkeley, U.C.San Diego, LLL, Stanford ºi NASA Ames;
• 03.15. Sunt infectate maºiniie de la Universitatea din Chicago. Una dintre maºinile de la Departamentuf de fizicã suferã 225 de încercãri de infectare, via fingerd, de la maºini din Cornell;
• 03.39. Avertismentul despre Vierme este transmis de la foo@bar.arpa sub forma: "Este probabil un virus pierdut prin INTERNET.". Urmau trei scurte fraze despre cum sã fie oprit Viermele, urmate de "Sper cã acestea ajutã, dar mai mult, sper cã este vorba de o farsã.". Cel ce transmitea s-a dovedit a fi Andy Sudduth de fG Narvard, care a fost sunat prin telefon de presupusul autor al Viermelui, Robert T Morris. Datoritã încãrcãrii reþelei ºi maºinilor, avertismentul nu este propagat ir urmãtoarele 24 de ore;
• 04.00. Universitatea Colorado este ºi ea supusã atacului; 04.00. Maºinile de la Universitatea Purdue sunt infectate;
• 05.54. Se transmite prin poºtã un avertisment cu privire la Virme ºi, în plus, c mãsurã de protecþie minimalã referitoare la programul sendmail. Mesajul sãu este preluat de grupul de ºtiri Usenix;
• 06.45. Se sunã la National Computer Security Center ºi se informeazã despre Vierme;
• 07.00. Maºini ale Institutului de Tehnologie din Georgia sunt infectate. Maºina gateway (un VAX 780) suferã peste 30 de încercãri;
• 07.30. Se descoperã infectarea maºinilor de la Universitatea Purdue. Maºinile sun atât de încãrcate, încât nu se puteau citi mesajele primite prin poºtã, inclusiv mesajul despre Vierme;
• 08.07. La Berkeley se identificã atacul Viermelui prin intermediul programului fingerd, dar mesajul trimis prin poºtã nu poate fi citit mai bine de 13 ore;
• 08.18. Se retransmite avertismentul despre Vierme grupului de ºtiri Usene news.announce.important ºi altor 30 de site-uri. Acestea au fost primele informaþii despre Vierme, aflate de cei vizaþi în cursul întregii zile, acest grup a schimb de mesaje prin poºtã cu privire la progresul ºi comportarea Viermelui;
• 10.36. Se transmite întâia descriere cu privire la modul de lucru al Viermelui cele din lista nntp-managers. Atacul prin programul fingerd la aceastã orã încã nu est cunoscut;
• 11.30. Defense Communications Agency inhibã bridge-urile de poºtã între Arpane ºi Milnei;
• 13.00. Sunt blocate peste 130 de maºini ale SRI;'
• 14.50. Personalul de la Purdue descoperã maºini infectate cu variante noi de programe sendmail instalate. Se transmite un mesaj prin poºtã referitor la faptul c noua versiune de sendmail nu constituie o mãsurã de protecþie suficientã. Acel lucru era recunoscut deja în multe locuri, inclusiv la Berkeley ºi MIT de mai bine câte ore, dar nu se publicase încã nimic;
• 16.00. Administratorii de sisteme de la Purdue se întâlnesc pentru a stabili strateg localã. Versiunile de Vierme capturate au furnizat o variantã de prevenire a infecþie prin crearea unui director cu numele sh în directorul lusr tmp;
• 18.00. La Purdue s-a descoperit cum lucreazã Virmele, cu defecþiunea din program finger,
• 19.00. La MIT, s-a reconstituit atacul Viermelui prin intermediul programului fingerd' ºi s-a telefonat la Berkeley pentru a se anunþa aceasta. Nu a fost transmis nimic prin poºtã despre acest mod de atac;
• 19.19. S-au transmis noile îmbunãtãþiri aduse programelor sendmail ºi fingerd, dar aceste mesaje au fost recepþionate abia a doua zi;
• 19.37. De la Universitatea din Rochester a fost trimisã prin poºtã o descriere a atacului prin intermediul programului fingerd;
• 21.30. Grupul de la Berkeley pornește decompilarea Viermelui, pentru a determina sursa în C.

4 Noiembrie 1988

• 00.50. Se trimite prin poºtã o descriere a atacului prin intermediul fingerd. Se fac ºi primele comentarii referitoare la stilul de cod al autorului Viermelui;
• 05.00. Grupul MiT încheie decompilarea codului;
• 09.00. Grupul de la Berkeley încheie decompilarea codului;
• 11.00. Sunt reinstalate bridge-urile de poºtã între Milnet-Arpanet;
• 14.20. Se retransmit prin poºtã modificãrile aduse la programul fingerd;
• 15.36. De la MIT, se transmit clarificãri asupra modului de operare a Viermelui; • 17.2d. Se transmite un set final de îmbunãtãþiri pentru sendmail ºi fingerd;
• 21.30. Autorul Viermelui este identificat din douã surse independente ca fiind Robert T Morris, fiut directorului ºtiinþific al Centrului Naþional de Securitate a Calcutatoarelor (GNSC), Robert Morris.
• Pânã pe 8 noiembrie, marea majoritate a maºinilor au fost reconectate la INTERNET ºi traficul a revenit la normal. În aceeaºi dimineaþã, circa 50 de cercetãtori s-au intâlnit cu oficialitãti din Centru! National de Securitate. Cu aceastã ocazie, au fost identificate direciiile ulterioare de acþiune în acest domeniu. Analizatorii de trafic al reþelei au continuat sã identifice încercãri de infectare încã existente pe maºinile INTERNET-ului. O ultimã încecare a fost identificatã la începutul lunii decembrie 1988.

Despre autorul Viermelui

Dupã ce Viermele a fost oprit, au fost puse, inevitabil, douã întrebãri: "cine?" ºi "de ce?".
La prima întrebare rãspunsul a apãrut rapid prin identificarea lui Robert T. Morris de cãtre New York Times. Existã multe elemente care susþin identificarea fãcutã. Multe oficialitãþi federale au afirmat cã au dovezi, obþinute de la persoane distincte, prin care se specificã faptul cã Morris a discutat cu aceste persoane despre Vierme ºi cercetãrile sale în aceastã direcþie. Ei susþin, de asemenea, cã au înregistrãri de pe calculatoarele de la Universitatea Cornell reprezentând versiuni de început ale codului Viermelui testate pe maºini din campus ºi, de asemenea, susþin cã au copii ale Viermetui gãsite în contul lui Morris. Raportut furnizat de Oficiul Rectoratului Universitãþii din Cornelt îl indicã de asemenea pe Morris ca fiind culpabil ºi prezintã motive convingãtoare pentru a susþine aceastã concluzie.
Dar dacã autorul era stabilit, motivul acestei acþiuni rãmânea neclar, plasat între un experiment greºit ºi pânã la un act inconºtient de rãzbunare a lui Morris împotriva tatãlui sãu. Din studiul fãcut de multe persoane asupra codului decompilat, au rezultat douã concluzii:
O primã concluzie se referã la faptul cã programul nu conþine, în mod explicit, porþiuni de cod care ar provoca explicit distrugeri ale sistemelor pe care ar rula. Luând în considerare abilitatea ºi cunoºtinþele evidenþiate de cod, pentru autor ar fi constituit o chestiune simplã introducerea unor astfel de comenzi, dacã aceasta ar fi fost intenþia lui. În cele din urmã, eliberarea prematurã în reþea a Viermelui aratã cã intenþia autorului de a distruge sau perturba structuri ºi sisteme nu poate fi luatã în considerare în mod explicit;
A doua concluzie se referã fa faptul cã în cod nu este inclus un mecanism pentru a opri dezvoltarea Viermelui. Luând în considerare acest lucru, precum ºi complexitatea ºirului utilizat ca argument, necesar pentru a declanºa Viermele, multe persoane care au examinat codul nu considerã cã Viermele a fost declanºat accidental sau cã intenþia a fost de a nu fi propagat puternic. Deținând în vedere aceste lucruri, sunt ciudate încercãrile fãcute pentru a justifica acþiunea lui Morris, susþinându-se cã intenþia lui era de a demonstra ceva despre securitatea 7NTERNET ului sau cã a fost un experiment nevinovat. Raportul Rectoratului Universitãþii din Cornell nu încearcã sã scuze comportamentul lui Morris. Aceastã acþiune este etichetatã ca fiind neeticã ºi contrarã standardelor profesionale. Acþiunea sa este consideratã a fi îndreptatã împotriva politicii Universitãþii ºi practicii acceptate ºi ar fi fost de aºteptat ca, având în vedere experienþa pe care o are în acest domeniu, sã cunoascã cã astfel de acþiuni sunt nepermise. Cei care cred cã Viermele constituie un accident sau un experiment nefericit sunt de pãrere ca autorul sã nu fie pedepsit, mergând pânã la a cere pedepsirea administratorilor ºi operatorilor de pe sistemele ºi maºinile afectate, pentru neglijenþa cu care au tratat aspectele ,de securitate. Ceilalþi considerã cã autorul trebuie sã fie pedepsit sever, inclusiv cu privarea de libertate. Comisia de la Cornell a recomandat unele pedepse, dar nu atât de severe încât sã afecteze cariera ulterioarã a lui Morris. În acea recomandare este specificatã suspendarea lui Morris din Universitate pentru minimum un an. Faptul cã nu s-au întâmplat mari nenorociri poate constitui un accident ºi este posibil ca intenþia autorului sã fi fost de a supraîncãrca lNTERNET-ul, aºa cum s-a ºi întâmplat. Scuzarea unor astfel de acte de vandalism, sub declaraþia cã autorii nu au vrut sã creeze mari neajunsuri, nu poate conduce la descurajarea repetãrii unor astfel de încercãri, ba chiar mai mult, acestea sunt încurajate.

Vulnerabilitãþi exploatate de Vierme

Viermele utilizeazã o înșiruire de defecte sau slãbiciuni existente în software-ul standard al multor sisteme UNIX. Unele dintre aceste defecte sunt descrise în continuare.

Programul Fingerd
Programul fingerd este un utilitar care permite obþinerea de informaþii despre utilizatori. De obicei, este folosit pentru a identifica numele întreg sau numele de conectare (login) al unui utilizator, dacã acesta se aflã în sesiune ºi posibil, alte informaþii despre persoana respectivã, cum ar fi numerele de telefon etc. Acest program este rulat ca daemon sau proces în fundal (background), pentru rezolvarea cererilor de informaþii venite de la distanþã, utilizându-se protocolul fingerd, Acest program acceptã conexiuni de. la programe ce ruleazã în altã parte, citeºte linia de intrare ºi trimite rãspuns receptorului care a adresat întrebarea.
Punctul slab exploatat, prin care se "sparge" acest program, implicã modificarea buffer ului de intrare întrebuințat de acesta. Biblioteca f/0 a limbajului C are câteva rutine care citesc intrarea fãrã a verifica limitele buffer-ului implicat în aceastã operaþiune. În particular, apelul funcþiei gets preia datele de intrare într-un buffer, fãrã a face verificarea limitelor acestuia. Apelul acestei funcþii a fost exploatat de Vierme. Rutina gets nu este singura care are acest neajuns. O întreagã familie de rutine din biblioteca C-ului face posibilã depãºirea buffer ului, atunci când se decodificã intrarea sau când se formateazã ieºirea, dacã utilizatorul nu specificã explicit numãrul de caractere pentru conversie.
Cu toate cã programatorii experimentaþi sunt cunoscãtori ai acestor probleme, mulþi dintre ei continuã sã foloseascã aceste rutine. Necazul este cã orice server de reþea sau program privilegiat, care utilizeazã aceste funcþii, poate fi compromis datoritã utilizãrii unei intrãri improprii. Atractiv este cã recent, au mai fost descoperite încã douã comenzi în standardul BSD UNIX, care au aceastã problemã.
Dupã atacul asupra INTERNET-ului au fost relevate mai multe complicații potenþiale ºi mai multe modalitãþi de a le înlãtura, dar cu toate acestea, biblioteca cu aceste rutine continuã sã fie utilizatã.

Programul Sendmail
Programul sendmail este un serviciu de poºtã electronicã, destinat sã ruteze scrisorile într-o reþea eterogenã. Programul are mai multe moduri de operare, dar unul dintre acestea este exploatat de Vierme ºi implicã lansarea serviciului ca proces în background (daemon). În acest mod de lucru, procesul se aflã în starea de "ascultare" la un port TCP (25), pentru a face distribuirea poºtei sosite prin protocolul standard INTERNET, SMTP (Simple Mail Transfer Protocon. Când o astfel de situaþie este detectatã, procesul intrã într-un dialog cu un alt proces de la distanþã, pentru a determina expeditorul, destinatarul, instrucþiunile de distribuire ºi conþinutul mesajului.
Punctul slab exploatat în sendmail este legat de o opþiune de depanare a codului. Viermele transmite comanda DEBUG la sendmail ºi apoi specificã destinatarul mesajului, ca un set de comenzi ºi nu ca o adresã utilizator. Într-o operaþiune normalã, acest lucru nu este permis; însã, în activitatea de depanare a codului este posibilã verificarea poºtei sosite pentru un anumit destinatar, fãrã a se apela rutinele de adresare. Prin utilizarea acestei opþiuni, testele pot rula programe care sã afiºeze starea sistemului de poºtã, fãrã trimiterea de mesaje sau stabilirea unei conexiuni. Aceastã opþiune de depanare este adesea utilizatã tocmai datoritã complexitãþii configurãrii lui sendmail.
Programul sendmail este de mare importanþã, mai ales pentru sisteme UNIX derivate din BSD, căci mânuieºte procese complexe de rutare ºi distribuire a poºtei. Totuºi, în ciuda importanþei mari ºi a utilizãrii largi, cea mai mare parte a administratorilor de sisteme ºtiu puþin despre felul în care lucreazã sendmail. Deºi sunt relatate multe apariþii de driver e scrise de administratori de sisteme sau modificãri aduse Kernel-ului, nimeni nu a adus încã modificãri la sendmail sau la configuraþia fiºierelor sale. În concluzie, punctele slabe prezentate în sendmail sunt puþin cunoscute, iar unele dintre ele sunt depistate ºi comunicate pe mãsura descoperirii lor.

Parole
Una din "piesele de rezistenþã" ale Viermelui implicã încercarea de a descoperi parolele utilizatorilor. În sistemele UNIX, utilizatorul furnizeazã o parolã ca semn de verificare a identitãþii. Parola este criptatã, utilizând o versiune a algoritmului DES, iar rezultatul este comparat cu rezultatul criptãrii anterioare, prezent în fiºierul letclpasswd. Dacã acestea coincid, accesul este permis. În acest fiºier nu sunt incluse parolele în clar ºi algoritmul se presupune a fi neinversabil; deci, fãrã cunoaºterea parolei nu avem acces.
Organizarea parolelor în UNIX permite unor comenzi neprivilegiate sã utilizeze informaþii din fiºierul /etc/passwd ºi sã acceseze schema de autentificare a parolelor. Deci se permite un atac prin criptarea unei liste cu parole posibile ºi compararea rezultatelor cu fiºierul letclpasswd, fãrã a se face apel la o funcþie sistem, special dedicatã. De fapt, securitatea parolelor este asiguratã în principal prin numãrul mare de încercãri ce trebuie efectuate pentru a le determina, cu toate combinaþiile de caractere posibile. Din nefericire, existã maºini care lucreazã rapid ºi costul unei astfel de acþiuni este în continuã descreºtere, datoritã rapiditãþii dezvoltãrii produselor hard.
Divizând procesul pe mai multe procesoare, se micșorează mult momentul necesar determinãrii unei parole. Astfel de atacuri sunt uºurate mult, atunci când utilizatorul alege drept parolã un cuvânt comun sau des folosit. În acest caz, toatã cãutarea se rezumã la determinarea parolei prin verificarea unor cuvinte comune, existente într-o astfel de listã (vezi capitolul 2).
Viermele utilizeazã pentru spargerea parolei un astfel de tip de atac. În acest sens se foloseºte o listã de cuvinte standard, cuvinte care sunt considerate a fi parole posibile. Viermele asigurã criptarea lor prin intermediul unei versiuni rapide a algoritmului de cifrare ºi apoi, comparã rezultatul cu conþinutul fiºierului /etc/passwd. Deci Viermele exploateazã accesul la acest fiºier, cuplat cu tendinþa utilizatorilor de a alege cuvinte comune drept parole.
Un defect discutat în prezent ºi care a fost exploatat de Vierme implicã folosirea sesiunilor de încredere. Una din facilitãþile utile ale soft-ului de reþea al lui BSD UNIX este suportul de execuþie a proceselor pe maºini aflate la distanþã. Pentru a se evita repetarea tipãririi parolelor pentru accesul în conturi aflate la distanþã, se asigurã posibilitatea unui utilizator de a specifica o listã cu perechi gazdã/cont, care sunt considerate a fi de încredere, în sensul cã un acces la distantã de la calculatorul gazdã la acel cont se face fãrã a utiliza parola contului respectiv. Acest formă este responsabil de numeroasele accese neautorizate la calculatoare, dar continuã sã fie utilizat, fiind convenabil. Viermele a exploatat acest mecanism prin încercarea de a localiza host-urile de încredere ºi a determina perechile corespunzãtoare. Acest lucru a fost conceput prin examinarea de cãtre Vierme a fiºierului de pe host-ul curent, care conþine perechile host/conturi. Odatã ce Viermele gãseºte astfel de candidaþi, va încerca, în modul cel mai rapid, sã se autoinstaleze pe aceste maºini, întrebuințând facilitatea execuþiei la distanþã, copiindu-se pe sine pe maºina de la distanþã, ca ºi cum ar fi un utilizator autorizat, care efectueazã o operaþie standard de la distanþã. Pentru a inlãtura astfel de încercãri în viitor, este necesar ca actualul mecanism de acces la distanþã sã fie anulat ºi înlocuit cu ceva nou. Un mecanism nou creat, care se apropie de cerinþele de mai sus, este server ul de autentificare Kerberos (vezi subcapitolul 7.4).

Descrierea Viermelui

Viermele INTERNET este constituit din douã pãrþi: un program principal ºi un program vector (bootstrap).
• Programul principal, o datã instalat pe o maºinã, va colecta informaþii despre alte maºini din reþea, cu care calculatorul gazdã poate fi conectat. Va face aceastã colectare prin citirea fiºierelor de configurare ºi prin lansarea proceselor corespunzãtoare programelor utilitare de sistem, care furnizeazã informaþii despre -starea curentã a conexiunilor din reþea. Apoi, va încerca sã profite de fisurile din soft, descrise mai sus, pentru a instala programul sãu vector pe fiecare din aceste calculatoare aflate la distanþã;
• Programul vector are 99 de linii de cod C, care vor fi compilate ºi rulate pe maºina de la distanþã. Sursa acestui program va fi transferatã la "victimã", folosind una dintre metode4e care vor fi prezentate în continuare. Apoi, sursa va fi apelatã pe maºina victimã, prin intermediul unei linii de comandã, cu trei argumente: adresa de reþea a calculatorului infectat, numãrul port-ului de reþea pentru conectarea la aceastã maºinã (pentru a se copia fiºierele programului de seamă al Viermelui) ºi un numãr magic, care acþioneazã efectiv ca o parolã cu o singurã utilizare.

Dacã Viermele "server", de pe maºina de la distanþã, nu recepþioneazã înapoi acelaºi numãr magic (cel trimis de programul vector) cândva de începerea transferului, va fi deconectat repede de la programul vector. Acest lucru este concretizat pentru a preveni încercãrile de capturare a fiºierelor binare prin înºelarea Viermelui "server".
Codul vectorului acþioneazã pentru ascunderea sa ºi prin punerea pe 0 a vectorului sãu de argumente (imaginea liniei de comandã), ºi prin utilizarea mecanismului fork pentru crearea unui proces fiu identic. Dacã se întâmplã o defecþiune în timpul transferului de fiºiere, codul determinã ºtergerea fiºierelor deja transferate ºi apoi, face ieºirea.
O datã instalat pe o maºinã, programul vector se va conecta cu calculatorul pe care se executã procesul Vierme autentic ºi va executa transferul unor fiºiere binare (cod precompilat) cãtre maºina localã. Fiecare fiºier binar reprezintã o versiune a programului Vierme principal, compilat corespunzãtor unei anumite arhitecturi de calculator ºi unei anumite versiuni de sistem de operare. Programul vector va transfera, de asemenea, o copie a sursei sale folositã pentru infectarea altor sisteme. Una dintre trãsãturile mai curioase ale programului vector a generat multe întrebãri: programul are alocate structuri de date pentru transferul a 20 de fiºiere, din care au fost utilizate doar 3. Acest lucru a condus la speculaþia cã a fost planificatã, probabil pentru a fi lansatã la o datã ulterioarã, o versiune extinsã a Viermelui, cu alte fiºiere de comandã, fiºiere de parole, viruºi locali ºi programe de tip "cai troieni".
Odatã ce fiºierele binare au fost transferate, programul vector încarcã fiºierele corespunzãtor versiunii locale a bibliotecilor standard, pe care le leagã cu programele aduse. Ulterior, aceste programe vor fi apelate. Dacã unul dintre acestea ruleazã cu succes, citeºte în memoria proprie copiile programului vector ºi ale fiºierelor binare ºi apoi ºterge originalele de pe disc.
În pasul urmãtor, va încerca sã forþeze pãtrunderea pe alte maºini. Dacã nici una dintre versiuni nu ruleazã cu succes, atunci mecanismul de rulare a programului vector (un fiºier de comenzi) va ºterge toate fiºierele de pe disc create pe durata încercãrii de infectare, lãsând sistemul curat.

virus_de_timisoara
_________________
Prietenul meu imaginar crede ca ai probleme!
Sus
Vezi profilul utilizatorului Trimite mesaj privat Trimite un mesaj
Afiseaza mesajele pentru a le previzualiza:   
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului cls9B.MyForum.ro -> Teme... Ora este GMT + 3 ore
Pagina 1 din 1

 
Mergi direct la:  
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum


Powered by phpBB © 2001, 2002 phpBB Group
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro