Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro › ~jim › SSA › Resources ›...

15
Securitatea sistemelor şi a aplicaţiilor Cursul IX. Viermele Internet. Securitatea reţelei. Marius Joldoş U.T. Cluj-Napoca SSA cursul 9 - M. Joldos - T.U. Cluj 2 Viermele Internet A scos din funcţiune 2600-6000 maşini... Estimări mai noi sunt de 3- 4000, sau 5% dintre maşinile de atunci de pe Internet. Ţinte: Sun şi VAX Unix (variantă a BSD). Într-adevăr un vierme care purta un virus şi folosea uşi din dos, cu comportament de iepure (!) Astfel vulnerabilităţi foarte comune şi cu mai bună publicitate au fost închise (deşi nu peste tot!) SSA cursul 9 - M. Joldos - T.U. Cluj 3 Componentele viermelui Viermele conţinea mai multe metode de atac: Componentele viermelui Morris Atac Sendmail Atac de tipul gazdă de încredere, la distanţă Atac asupra parolelor, cu dicţionar Atac Finger Componentele de atac ale Viermelui Morris SSA cursul 9 - M. Joldos - T.U. Cluj 4 Privire generală Viermele alege gazda de infectat. Îşi plasează ancoră de escaladă (grappling hook) pe gazdă. Face ca ancora să se compileze şi să ruleze. Ancora care se execută copiază restul codului

Transcript of Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro › ~jim › SSA › Resources ›...

Page 1: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro › ~jim › SSA › Resources › Lectures › SSA09r4bw.pdfViermele Internet. Securitatea reţelei. ... pe date da 3.11

Securitatea sistemelor şi a aplicaţiilor

Cursul IX. Viermele Internet. Securitatea reţelei.

Marius JoldoşU.T. Cluj-Napoca

SSA cursul 9 - M. Joldos - T.U. Cluj 2

Viermele Internet

♦ A scos din funcţiune 2600-6000 maşini... Estimări mai noi sunt de 3-4000, sau 5% dintre maşinile de atunci de pe Internet.– Ţinte: Sun şi VAX Unix (variantă a BSD).– Într-adevăr un vierme care purta un virus

şi folosea uşi din dos, cu comportament de iepure (!)

♦ Astfel vulnerabilităţi foarte comune şi cu mai bună publicitate au fost închise (deşi nu peste tot!)

SSA cursul 9 - M. Joldos - T.U. Cluj 3

Componentele viermelui

♦ Viermele conţinea mai multe metode de atac:

Componentele viermelui Morris

Atac Sendmail Atac de tipul gazdă deîncredere, la distanţă

Atac asupra parolelor,cu dicţionar

Atac Finger

Componentelede atac ale

Viermelui Morris

SSA cursul 9 - M. Joldos - T.U. Cluj 4

Privire generală

♦ Viermele alege gazda de infectat.

♦ Îşi plasează ancoră de escaladă (grappling hook) pe gazdă.

♦ Face ca ancora să se compileze şi să ruleze.

♦ Ancora care se execută copiază restul codului

Page 2: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro › ~jim › SSA › Resources › Lectures › SSA09r4bw.pdfViermele Internet. Securitatea reţelei. ... pe date da 3.11

SSA cursul 9 - M. Joldos - T.U. Cluj 5

Pasul unu: Urmează să se răspândească

♦Starea: maşina care infectează a găsit o victimă

Viermele depe server

S-a stabilit un socket pe victimă

SSA cursul 9 - M. Joldos - T.U. Cluj 6

Pasul doi:Plasarea ancorei

♦Starea: se trimite codul peste reţea

Viermele de pe server

Conexiune TCP sau SMTP

SSA cursul 9 - M. Joldos - T.U. Cluj 7

Pasul trei:Codul ajunge la destinaţie

♦ Starea: se trimite şirul provocare înapoi, se transferă binarele Sun, VAX şi se ţinteşte Viermele de pe server

Viermele depe server

Trimite provocareaCopiază fişiereleExecl shell şi întreţine socketVerifică şirul

provocare; transmite fişierele

SSA cursul 9 - M. Joldos - T.U. Cluj 8

Pasul patru:Comenzi ulterioare

♦ Starea: Serverul trimite codul de compilat

Viermele depe server

Execută comenzi compileTrimise de viermele de pe server; numai binarul corespunzător se va link-edita.

Trimite comenzishell pentru aÎncearcă să compilezebinarele (una după alta)

Page 3: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro › ~jim › SSA › Resources › Lectures › SSA09r4bw.pdfViermele Internet. Securitatea reţelei. ... pe date da 3.11

SSA cursul 9 - M. Joldos - T.U. Cluj 9

Pasul cinci:Ascundere & adunare de informaţii

♦ Starea: Noul vierme generează lista de victime

SSA cursul 9 - M. Joldos - T.U. Cluj 10

Pasul şase:Încearcă infectarea

♦ Citeşte prin hosts.equiv, /.rhosts , .forward (nu .rhosts al utilizatorului!)

♦ Încearcă să spargă parolele utilizatorilor ...– Prin ghiciri simple– Cu dicţionarul intern– Cu dicţionarul UNIX online

♦ Buclează “nedefinit” încercând să infecteze gazde noi

SSA cursul 9 - M. Joldos - T.U. Cluj 11

Pasul şapte:Succes

♦Pentru fiecare parolă compromisă– Caută maşini la distanţă unde utilizatorul are cont

(.forward .rhosts)– Pentru fiecare, încearcă un shell la distanţă

(rexec)

♦La succes continuă ca mai înainte

SSA cursul 9 - M. Joldos - T.U. Cluj 12

Cum a funcţionat (1)

♦ Pasul unu: agăţarea ancorei♦ Technici:

– Atacul Sendmail– Atacul gazdă de încredere la distanţă– Atacul finger– Atacul asupra parolelor, cu dicţionar

♦ Atacul Sendmail– sendmail implementează un protocol de livrare a poştei. Nu

într-o singură implementare ci cea mai comună, dezvoltatorii au pus o “trapă” în sendmail pentru a ajuta la depanare:

• Trapa execută comanda pe gazda la distanţă• Cu intenţia de depanare la dezvoltator

– Mulţi producători nu şi-au dat seama / n-au înţeles trapa şi au lăsat-o activă la livrare

Page 4: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro › ~jim › SSA › Resources › Lectures › SSA09r4bw.pdfViermele Internet. Securitatea reţelei. ... pe date da 3.11

SSA cursul 9 - M. Joldos - T.U. Cluj 13

Cum a funcţionat (2)

♦Atacul Sendmail – viermele făcea următoarele:– Punea comenzi în corpul unui mesaj de

poştă electronică– În timpul rulării, ştergea antetul de

mesaj– Corpul se rula printr-un interpretor şi:

• Stoca un program mic, de 99 linii, într-un fişier (ancora de escaladă)

• Compila programul• Îl lansa în execuţie

SSA cursul 9 - M. Joldos - T.U. Cluj 14

Cum a funcţionat (3)

♦ Atacul gazdă de încredere, la distanţă[Trusted Remote Host Attack]

♦ Multe unix-uri au o modalitate de a indica faptul că în anume gazde se poate avea ‘exact atâta’ încredere ca şi în gazda curentă. Numele acestora sunt stocate în locuri care pot fi citite de oricine şi pot fi specifice reţelei sau utilizatorului.

♦ Viermele ţintea:– Gazdele din această listă de gazde de încredere pentru reţea– Gazdele din lista specifică utilizatorului, ori de câte ori se

compromitea o parolă– Gazdele din lista de înaintare [forwarding] a utilizatorului

pentru conturi compromise (ca măsură de siguranţă!)

SSA cursul 9 - M. Joldos - T.U. Cluj 15

Cum a funcţionat (4)♦ Atacul fingerd♦ Exploata o eroare de programare în gets pentru a

ocoli autentificarea♦ Eroarea de depăşire de tampon:

– Informaţia returnată era stocată într-un tampon mare. Limitele nu erau verificate pentru acest tampon.

– Viermele trimitea “prea mulţi” octeţi, iar octeţii în plus erau codul programului. Acest cod suprascria codul original pe post de corecţie la execuţie.

– Contorul de program al rutinei, după revenirea din preluarea datelor pointa spre noul cod descărcat, care descărca, compila şi executa ancora de escaladă.

♦ Această aceeaşi categorie de slăbiciuni a fost exploatată de multe ori, iar eliminarea ei este unul dintre motivele pentru care Java gestionează atât şirurile cât şi tablourile în maniera în care o face.

SSA cursul 9 - M. Joldos - T.U. Cluj 16

Cum a funcţionat (5)

♦ Atacul cu dicţionar♦ Viermele folosea o formă foarte

simplă:– Scana fişierul de parole după nume de

utilizatori– Încerca parole uzuale folosind o

implementare rapidă a lui crypt(3).• Numele contului• Numele contului inversat• Prenumele şi numele• Un dicţionar standard online, scurt

Page 5: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro › ~jim › SSA › Resources › Lectures › SSA09r4bw.pdfViermele Internet. Securitatea reţelei. ... pe date da 3.11

SSA cursul 9 - M. Joldos - T.U. Cluj 17

Codul viermelui

♦ Au fost multe erori de programare în viermele implementat. Acestea au redus mult pagubele provocate, într-un anume sens şi l-au făcut mai uşor de identificat.

♦ Cea mai mare eroare:– Se presupunea ca viermele să-şi limiteze răspândirea

permiţând o singură versiune pe o maşină– Verificarea existenţei a fost ratată de una din 7 dăţi,

însemnând ca unii viermi au devenit nemuritori– Viermii care s-au terminat, n-au făcut-o imediat

♦ Astfel: a fost nevoie doar de una sau două ore pentru a ocupa toată puterea unei maşini foarte rapide ... Iar pentru unele doar minute, făcând viermele dificil de trecut cu vederea :)

SSA cursul 9 - M. Joldos - T.U. Cluj 18

Desfăşurarea în timp

♦ 2.11, 6pm se crede că început pe o maşină de la MIT ♦ 2.11, 6:24pm sit infectat pe Coasta de Vest♦ 2.11, 7:04pm UC Berkeley atacată ♦ 2.11, 7:54pm UMD College Park atacat ♦ 2.11, 8:40pm Berkeley îşi dă seama de potenţialul lui sendmail şi

a gazdelor de încredere şi a finger şi opreşte serviciile respective♦ 2.11, 8:49pm U Utah infectată♦ 2.11, 9pm Stanford infectată ♦ 2.11, 9pm RAND corp atacată ♦ 2.11, 10:06pm 100 de procese active la Utah; inutilizabilă♦ 2.11, 10:20pm Utah curată♦ 2.11, 10:41pm Utah infectată din nou si neutilizabilă♦ 2.11, 10:49pm Utah oprită şi rebootată♦ 2.11, 11:21pm Utah infectată din nou si neutilizabilă ♦ 2.11, 11:28pm Mesajul general "atac" postat

SSA cursul 9 - M. Joldos - T.U. Cluj 19

Răspunsul la atac

♦ Răspunsul a fost mai rapid decât ne-am aştepta, deoarece, din fericire, era o adunare de experţi în UNIX pe date da 3.11 la Berkeley, iar aceştia au putut colabora! Multe “lecţii învăţate” despre cum se răspunde la atacuri cu mare răspândire:– Deconectarea nu a fost bună, deoarece tăia informaţia despre

rezolvarea problemei.– "Old Boy Net" a fost folosită pentru ţine legătura cu exteriorul– A decide în cine să ai încredere la 3 dimineaţa a pus ceva

probleme...– … şi să-ţi dai seama pe cine să suni a fost dificil!– Uneltele nu au fost foarte importante. Majoritatea lucrului

făcut cu dezasamblorul.– Codul sursă s-a dovedit important– Siturile academice au rezolvat problema mult mai repede

decât siturle comerciale şi ale guvernului.– Presa a cam stat în drum (şi a cam încurcat în unele locuri)

SSA cursul 9 - M. Joldos - T.U. Cluj 20

Cine a făcut-o?♦ Identificat: Robert T. Morris, pe vrea aceea

absolvent la Cornell (grad student) şi fiu al faimosului expert în calculatoare Robert Morris de la NCSC.

♦ Intenţia? Morris (şi prietenii) au comentat ceva … cel mai recent este că viermele trebuia să se răspândească benign, încet, pe Internet. Se spune ca Morris i-a spus unui prieten să pună instrucţiuni despre stoparea virusului pe un BB, dar prietenul nu a putut face asta pentru că maşinile erau offline (din cauza atacului)

Page 6: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro › ~jim › SSA › Resources › Lectures › SSA09r4bw.pdfViermele Internet. Securitatea reţelei. ... pe date da 3.11

SSA cursul 9 - M. Joldos - T.U. Cluj 21

Cum a fost prins?

♦ Software forensics şi alte lucruri ...!

♦ Spaf de la Purdue, Seely de la Utah, Eichin şi Rochlis de la MIT au decompilat viermele.– Tehnicile de scriere văzute au indicat autorul

(de ex: cunoştinţele despre listele înlănţuite nu erau corespunzătoare, iar autorul nu luase un curs de structuri de date)

– Au descoperit că ancora putea transfera 20 fişiere, dar folosea doar trei ... Ceea ce a condus la speculaţia că această versiune era încă preliminară şi putea să i se adauge cod viral etc., ulterior.

SSA cursul 9 - M. Joldos - T.U. Cluj 22

Dezvoltarea viermelui

♦ Jurnalele mailer-ului de la Cornell au indicat munca de dezvoltare pe vierme (apăreau mesaje neobişnuite)– Primul test observat pe 19 oct.– Continuat până pe 28 oct.– Testare intensivă pe 29 oct.... Mecanismul de

propagare aparent eşua– Programul ancoră de escaladă a apărut pe 2 nov.

Prima testare la 5pm.– O posibilă a doua infecţie pe maşina de la Cornell

la 5:04p, ceea ce poate fi sursa reală.

SSA cursul 9 - M. Joldos - T.U. Cluj 23

Ce a păţit Morris?

♦Un cap de acuzare sub Computer Fraud and Abuse Act.din 1986

♦3 ani probaţiune, $10K amendă, 400 ore în slujba comunităţii.

SSA cursul 9 - M. Joldos - T.U. Cluj 24

Definiţii folosite în reţelele de calculatoare

♦ Reţea de comunicaţie : un set de noduri conectate prin legături şi capabile să comunice unul cu altul..

♦ Reţea de calculatoare : o reţea de comunicaţie în care nodurile sunt calculatoare.– Scopul reţelei este să servească utilizatorii, care

pot fi persoane sau procese.– Legăturile în reţea pot fi punct-la-punct sau

multipunct şi pot fi implementate folosind cai multe medii de transmisiune.

– Informaţia schimbată poate fi reprezentată în medii multiple (audio, text, video, imagini, etc.)

– Serviciile furnizate utilizatorilor pot varia mult.

Page 7: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro › ~jim › SSA › Resources › Lectures › SSA09r4bw.pdfViermele Internet. Securitatea reţelei. ... pe date da 3.11

SSA cursul 9 - M. Joldos - T.U. Cluj 25

Tipuri de reţele de bază♦ System area network (SAN)

– Aceeaşi încăpere (metri) – 300 MB/s Cray T3E– Gigabit Ethernet

♦ Local area network (LAN)– Aceeaşi clădire sau campus (kilometri) – 10 Mb/sEthernet– 100 Mb/s Fast Ethernet– Gigabit Ethernet

♦ Metropolitan area network (MAN)– Acelaşi oraş (1zeci de kilometri)– 800 Mb/s Gigabit Nectar

♦ Wide area network (WAN)– La scară naţională sau mondială (mii de kilometri) – Sistemul telefonic– 1.544 Mb/s purtătoare T1– 44.736 Mb/s purtătoare T3

SSA cursul 9 - M. Joldos - T.U. Cluj 26

Protocoale de reţea

♦ Protocoalele de comunicaţie implementate în software sau hardware transformă maşinile altfel izolate într-o societate de computere

♦ Protocoalele specifică cum pot procesele din maşini diferite să interacţioneze pentru a oferi un serviciu dat

SSA cursul 9 - M. Joldos - T.U. Cluj 27

Probleme legate de protocoale

♦ Protocol: set de reguli care guvernează interacţiunea proceselor concurente într-un sistem

♦ Un protocol are cinci părţi:– Serviciul pe care îl furnizează– Supoziţiile despre mediul în care se execută,

inclusiv de ce servicii beneficiază– Vocabularul de mesaje folosite la implementarea sa– Formatul fiecărui mesaj din vocabular– Regulile de procedură (algoritmii) care protejează

consistenţa schimburilor de mesaje şi integritatea serviciului furnizat

SSA cursul 9 - M. Joldos - T.U. Cluj 28

Straturile unui protocol

♦ Protocoalele de reţea sunt definite pe straturi– Fiecare strat se bazează pe servicii de la stratul de dedesubt

şi exportă servicii spre stratul superior– Ascunde implementarea – straturile se pot schimba fără a

conturba alte straturi (cutie neagră)

Page 8: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro › ~jim › SSA › Resources › Lectures › SSA09r4bw.pdfViermele Internet. Securitatea reţelei. ... pe date da 3.11

SSA cursul 9 - M. Joldos - T.U. Cluj 29

Aplicaţie

Prezentare

Sesiune

Transport

Reţea

Legătură de date

Protocolul OSI

♦ Protocolul Open Systems Interconnect (OSI) are 7 straturi

Sursa datelor Destinaţia datelorAplicaţie

Prezentare

Sesiune

Transport

Reţea

Legătură de date

Fizic Fizic

SSA cursul 9 - M. Joldos - T.U. Cluj 30

Definiţiile straturilor (1)

♦ Stratul Aplicaţie– Furnizează un set de comenzi pentru ca utilizatorul să

comunice cu entitatea aflată la distanţă.– Este parte a programului de aplicaţie care rulează pe fiecare

entitate care comunică (ftp, . . .).

♦ Stratul Prezentare– Datele de transmis sunt puse într-un format standard , iar

datele recepţionate sunt traduse din formatul standard într-un format pe care îl poate înţelege calculatorul care recepţionează.

– Cele două procese de mai sus sunt justificate de reprezentările diferite ale datelor şi terminalele diferite folosite de entităţile care comunică.

– Cifrarea/descifrarea datelor poate şi ea să apară în acest strat dacă este necesară o transmisie securizată.

SSA cursul 9 - M. Joldos - T.U. Cluj 31

Definiţiile straturilor (2)

♦ Stratul Sesiune– Responsabil de definirea şi stabilirea regulilor

pentru dialog.– Exemplu:

• Full duplex (permiterea transmisiunilor simultane între entităţile care comunică).

– Pot, de asemenea superviza comunicaţia prin a face ca cele două entităţi care comunică să se înţeleagă asupra unor puncte de sincronizare, care să fie folosite la recuperare în eventualitatea unui eşec. Este nevoie doar de datele transmise de la ultima sincronizare.

SSA cursul 9 - M. Joldos - T.U. Cluj 32

Definiţiile straturilor (3)

♦ Stratul Transport– Responsabil de controlul livrării mesajelor între

nodurile capăt.– Stratul Transport:

• Poate împărţi mesajele în pachete mai mici.• Dacă se solicită de stratul Aplicaţie, atunci stratul

transport poate folosi confirmări [acknowledgments] pentru a verifica faptul că pachetele sunt recepţionate de destinaţie.

• Controlează rata la care sunt trimise pachetele la destinaţie.

• Numerotează pachetele trimise şi foloseşte pachetele numerotate pentru a renumerota secvenţa pachetele recepţionate.

Page 9: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro › ~jim › SSA › Resources › Lectures › SSA09r4bw.pdfViermele Internet. Securitatea reţelei. ... pe date da 3.11

SSA cursul 9 - M. Joldos - T.U. Cluj 33

Definiţiile straturilor (4)

♦ Stratul Reţea– Ţine evidenţa nivelului de congestie a diferitelor

părţi ale reţelei.– Foloseşte informaţia despre congestie pentru a

alege căile urmate de pachete♦ Stratul legăturii de date

– Pachetele de pe o legătură sunt transmise ca secvenţă de biţi.

– Verifica să asigure că pachetele au fost transmise în mod corespunzător peste legătură.

– Supervizează retransmisia pachetelor recepţionate incorect.

SSA cursul 9 - M. Joldos - T.U. Cluj 34

Definiţiile straturilor (5)

♦ Stratul Fizic– Responsabil pentru transmisia pachetelor peste

legătura fizică.

– Stratul fizic converteşte fiecare bit în semnale electrice (sau optice).

– Semnalele trimise peste legătura fizică sunt reconvertite în biţi la capătul de recepţie.

– Receptorul reasamblează biţii succesivi în pachet.

– Pachetul recepţionat este trimis legăturii de date.

SSA cursul 9 - M. Joldos - T.U. Cluj 35

Funcţionarea straturilor

♦ Fiecare strat adaugă informaţie la pachetul de date

Aplicaţie AplicaţieDataAH

Prezentare PrezentareData unitPH

Sesiune SesiuneData unitSH

Transport TransportData unitTH

Reţea ReţeaData unitNH

Leg. de date Leg. de dateData unitLH LT

Fizic FizicBits

Mediu de transmisie fizic

DateProgram X Program Y

SSA cursul 9 - M. Joldos - T.U. Cluj 36

Topologii de reţea

♦ Cum sunt interconectate calculatoarele dintr-o reţea?– Intr-o mulţime de moduri, dependentă de

structura de reţea specifică– Reţelele LAN oferă un anume grad de control, pe

când reţelele WAN nu oferă nici una

♦ Topologiile de LAN tipice cuprind:– Stea– Magistrală– Inel– Reţea/Meşă– . . .

Page 10: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro › ~jim › SSA › Resources › Lectures › SSA09r4bw.pdfViermele Internet. Securitatea reţelei. ... pe date da 3.11

SSA cursul 9 - M. Joldos - T.U. Cluj 37

Exemple

♦ Versiuni la scară redusă de topologii LAN:

STEA INEL REŢEA/MEŞĂ MAGISTRALĂ

SSA cursul 9 - M. Joldos - T.U. Cluj 38

Topologii WAN

♦WAN este implementată ca reţea comutată– Comutatoare de circuit– Comutare de mesaje/pachete

SSA cursul 9 - M. Joldos - T.U. Cluj 39

Introducere în rutare

♦ Cum ajunge un pachet de la gazda sursă la gazda destinaţie într-o reţea WAN?

♦ Aceasta este problema rutării– Fiecare ruter recepţionează pachete şi le trimite

spre destinaţie

Ruter RuterGazdă Gazdă

Aplicaţie

Transport

Reţea

Legătură

Recep ţionează pachete şi le înainteaz ă

SSA cursul 9 - M. Joldos - T.U. Cluj 40

Rutarea

♦Funcţie de reţea care– Determină următorul "salt" [hop] la

fiecare ruter– Este intrare pentru funcţia de înaintare

[forwarding]

♦Sub-funcţiile de rutare de bază– Atribuie metrica legăturii– Distribuie starea legăturii folosind

protocolul de rutare– Calculează ruta pe baza informaţiei

Page 11: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro › ~jim › SSA › Resources › Lectures › SSA09r4bw.pdfViermele Internet. Securitatea reţelei. ... pe date da 3.11

SSA cursul 9 - M. Joldos - T.U. Cluj 41

Arhitecturi de rutare

♦Locul deciziei de rutare– La fiecare salt (hop-by-hop routing)– De către sursă (source routing)

♦Frecvenţa deciziei de rutare– per pachet– per sesiune– per schimbare de topologie

SSA cursul 9 - M. Joldos - T.U. Cluj 42

Rutarea centralizată

♦ Toată calea calculată centralizat– Starea descărcata în comutatoare– Per sesiune

♦ Protocolul de rutare distribuie– Starea legăturii de reţea la ruterul central

♦ Limitări– Ineficientă la schimbări frecvente de topologie– Nu pot lucra la granularitate la nivel de pachet– Scalarea

SSA cursul 9 - M. Joldos - T.U. Cluj 43

Rutarea la sursă♦ Expeditorul pre-calculează calea

– Foloseşte informaţie de la serverele de rutare

♦ Include calea în pachet

♦ Protocolul de rutare distribuie informaţia despre legătură la serverele de rutare

♦ Pro şi contra– Controlul la sursă– Evitarea buclelor fără consistenţă– Supraîncărcarea antetului sau întârzierea la set up– Mai puţin adaptive?

SSA cursul 9 - M. Joldos - T.U. Cluj 44

Rutarea salt-cu-salt [Hop-by-Hop]

♦ Fiecare loc înaintează pachetele– Pe baza destinaţiei

♦ Protocolul de rutare distribuie informaţia despre legătură– Rute fără bucle când fiecare ruter este consistent

♦ Caracteristici– Luarea descentralizată a deciziei– Răspuns mai bun la schimbările de topologie– Scalabil– Mai puţin control la sursă

Page 12: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro › ~jim › SSA › Resources › Lectures › SSA09r4bw.pdfViermele Internet. Securitatea reţelei. ... pe date da 3.11

SSA cursul 9 - M. Joldos - T.U. Cluj 45

Definiţii

♦ O ameninţare asupra securităţii este un posibil mijloc prin care se poate viola o politică de securitate (d.e. pierderea integrităţii sau confidenţialităţii).

♦ Un serviciu de securitate este o măsură care poate fi instituită pentru a se adresa unei ameninţări (d.e. furnizarea confidenţialităţii).

♦ Un mecanism de securitate este un mijloc de furnizarea a unui serviciu (d.e. cifrare, semnătură digitală).

SSA cursul 9 - M. Joldos - T.U. Cluj 46

Scopuri

♦ Securitatea reţelei trebuie, cel puţin:– Să menţină disponibilitatea mijloacelor –

operaţionale şi protejate de vandalism şi altele asemenea

– Protecţia proprietăţii confidenţiale şi a mijloacelor

– Să păstreze integritatea informaţiei importante

SSA cursul 9 - M. Joldos - T.U. Cluj 47

Surse de atac

♦ 68% dintre atacurile interne datorate persoanelor de încredere (FBI/CSI 3/99)

♦ Hackeri de pe Internet (30% dintre atacurile documentate)

♦ Profile pentru atacatori:– Angajaţi nemulţumiţi– Geloşi pe alţii– Răzbunători– Cei care ţin "scorul"– Faimă şi popularitate– Cultura subterană

SSA cursul 9 - M. Joldos - T.U. Cluj 48

Cât de greu este?

♦ Dureros de uşor

♦ Uneltele sunt disponibile pe Internet şi în alte locuri (CD-uri)

♦ Toate sistemele de operare NU au nici o formă de control al accesului în reţea (NAC)

♦ Lipsa facilităţilor NAC înseamnă că orice este sub stratul aplicaţie poate fi atacat cu uşurinţă pe orice SO, pe orice server

♦ Serverele nu au facilităţi de detecţie a intruziunilor

♦ Primul nivel de securitate în reţea pe servere este parola...

Page 13: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro › ~jim › SSA › Resources › Lectures › SSA09r4bw.pdfViermele Internet. Securitatea reţelei. ... pe date da 3.11

SSA cursul 9 - M. Joldos - T.U. Cluj 49

Cele mai comune atacuri

♦ Refuzul servirii♦ Atacuri de tip inundare♦ Falsificarea adreselor [Address Spoofing]♦ Capcane pentru chei/parole♦ Achiziţia sesiunii♦ Capcane pentru pachete♦ Falsificarea utilizatorilor♦ Manipularea conţinutului♦ Vandalism şi distrugerea datelor

SSA cursul 9 - M. Joldos - T.U. Cluj 50

Tipuri de atacuri (1)

♦ Întreruperea:– Distrugerea informaţiei sau aducerea la starea în

care resursele sistemului sunt indisponibile.– Atac asupra disponibilităţii sistemului.– Exemple: ştergerea fişiere, incapacitarea

conexiunile de reţea, incapacitarea sistemul de gestiune a fişierelor.

♦ Interceptarea:– Obţinerea accesului neautorizat la resursele

sistemului şi la informaţie– Atac asupra confidenţialităţii sistemului.– Exemple: copierea fişierelor şi programelor cu

caracter privat sau confidenţial, conexiunile de reţea.

SSA cursul 9 - M. Joldos - T.U. Cluj 51

Tipuri de atacuri (2)

♦ Modificarea:– Modificarea neautorizată a mijloacelor din sistem.– Atac asupra integrităţii sistemului.– Exemple: modificarea fişierelor şi a programelor,

instalarea de conturi şi programe.

♦ Fabricarea:– Inserţii neautorizate de obiecte contrafăcute,

realizate de o a treia, în sistem.– Atac asupra autenticităţii sistemului.– Exemple: trimiterea de mesaje ameninţătoare sau

care creează confuzie, crearea de fişiere cu conţinut greşit sau informaţie ofensatoare.

SSA cursul 9 - M. Joldos - T.U. Cluj 52

Atacuri pasive

♦ Trasul cu urechea: monitorizarea şi înregistrarea traficului de comunicaţie pentru a afla secrete, pentru analiza ulterioară şi eventual dezvăluire.– Folosesc: ataşarea de firele care transmit semnalele,

monitoare pentru pagere, monitoare pentru telefonia celulară, dispozitive de ascultare (urechi), monitorizarea video, monitorizarea dispozitivelor cu tub catodic (receptoare Van Eck), monitorizarea tastaturilor, adulmecarea pachetelor, privitul peste umăr, căutatul în coşul de gunoi. . .

♦ Analiza traficului: monitorizarea frecvenţei traficului şi a şabloanelor din acesta pentru a determina locaţiile oponenţilor, resursele lor, intenţiile lor şi conţinutul mesajelor posibile.

Page 14: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro › ~jim › SSA › Resources › Lectures › SSA09r4bw.pdfViermele Internet. Securitatea reţelei. ... pe date da 3.11

SSA cursul 9 - M. Joldos - T.U. Cluj 53

Atacuri active

♦ Sondarea sistemului: identificarea maşinilor, a SO, a serviciilor disponibile, a porturilor deschise şi a slăbiciunilor sistemului.

♦ Obţinerea accesului neautorizat: înfrângerea sau ocolirea autentificării.

♦ Atacuri cu reluare [replay attacks]: reluarea informaţiei pre-înregistrate pentru a înfrânge autentificarea sau a obţine accesul neautorizat la informaţie.

♦ Modificarea mesajelor: se alterează mesaje legitime pentru a produce efecte neautorizate.

♦ Deturnarea sesiunii: deturnarea unei sesiuni de comunicaţie de la una dintre părţi.

SSA cursul 9 - M. Joldos - T.U. Cluj 54

Vulnerabilităţi (1)♦ Sisteme configurate greşit sau valori implicite

necorespunzătoare.– Exemple: servicii nesigure (telnet, ftp,...), conturi pentru

musafiri, conturi neprotejate, parole implicite, configuraţii ale X-windows.

♦ Sisteme de autentificare slabe.– Exemple: atac cu dicţionar (NT), funcţii de dispersie slabe

(parola LAN manager), parole scurte (UNIX).♦ Erori din SO.

– Depăşiri de tampon, verificarea parametrilor, erori de temporizare.

– Exemple: servicii de eMail (MIME), servicii Xwindows, scenarii CGI, …

♦ Erori din programele utilizatorilor.– Exemple: X-windows, Netscape, . . .

♦ Conţinutul executabil.– Exemple Visual Basic, ActiveX, Word Macros, Emacs,…

SSA cursul 9 - M. Joldos - T.U. Cluj 55

Vulnerabilităţi (2)

♦ Fişiere şi programe neprotejate.– Executabile neprotejate, cod sursă, fişiere pentru make,

fişiere de configurare (.login, .cshrc, . . .), scenarii pentru intepretorul de comenzi [shell scripts], fişiere ale emacs

♦ Parolele slabe.– Conturi "adormite"

♦ Chei aleatoare slabe– Cheile SSL din Netscape. Numerele de secvenţă din TCP, ...

♦ Erori în implementarea protocoalelor de comunicaţie♦ Canale de comunicaţie nesigure.

– Ethernet partajat, modemuri de cablu, ethernet fără fir, telefoane celulare, . . .

SSA cursul 9 - M. Joldos - T.U. Cluj 56

Paşii într-un atac (1)♦ Pasul 1: Identificarea victimelor.

– Se alege un set de ţinte. De multe ori ţinte aleatoare. Liceele, bibliotecile publice şi universităţile sunt cele mai uşoare ţinte.

♦ Pasul 2: Adunarea informaţiei.– Se colectează informaţie asupra adreselor de IP, tipurilor de

maşini, topologiei reţelei, vulnerabilităţilor, a dispozitivelor pentru asigurarea securităţii, componentelor reţelei, . . .

– Se foloseşte: informaţia publică, serverele de Web, scanerele de porturi pentru a identifica: arhitecturi, SO, numărul de versiune a SO, serviciile care rulează, . . .

♦ Pasul 3: Penetrarea sistemului/sistemelor– Se folosesc vulnerabilităţile cunoscute şi/sau bănuite pentru a

obţine parole, a ocoli autentificarea, a obţine acces la shell,

♦ Pasul 4: Extinderea penetrării:– Se folosesc conturile compromise pentru a obţine accesul la

alte conturi, la root şi a penetra alte maşini.

Page 15: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro › ~jim › SSA › Resources › Lectures › SSA09r4bw.pdfViermele Internet. Securitatea reţelei. ... pe date da 3.11

SSA cursul 9 - M. Joldos - T.U. Cluj 57

Paşii într-un atac (2)♦ Pasul 5: Descărcarea informaţiei.

– Se descarcă nume de utilizatori, cod sursă, fişiere de parole şi alte fişiere "interesante" pentru analiza ulterioară.

♦ Pasul 6: Se instalează cod ostil.– Se creează conturi suplimentare.– Se instalează adulmecătoare (de reţea, de tastatură) şi cai

troieni pentru a facilita repetarea vizitelor.– Se modifică software existent pentru a injecta erori şi

slăbiciuni.– Se modifică SO şi zidurile antifoc.– Se adaugă intrări false în serverele de DNS. Se modifică

ruterele.♦ Pasul 7: Acoperirea urmelor.

– Se modifică sau se şterg fişierele jurnal.– Se folosesc sistemele şi conturile compromise pentru a

acoperi identitatea.

SSA cursul 9 - M. Joldos - T.U. Cluj 58

Adunarea informaţiilor♦ Adunarea informaţiilor este folosită pentru a afla cât

mai multe despre organizaţia victimei.– Structura organizaţiei.– Nume, nume de login, numere de telefon, conturi de email.– Administratorii sistemelor (Nume, numere de telefon,

numere de telefon în caz de urgenţă)– Topologiile maşinilor şi ale reţelelor.– Numele de domenii, numele de gazde, numere de IP.– Arhitecturile maşinilor şi SO, inclusiv numerele de versiune.– Serviciile care rulează: MIME, SMTP, http, servere proxy,

servere de news, compute servers, controloare de instrumentaţie.

– Căi de acces: Internet, numerele de telefon pentru modemuri, reţele fără fir.

– Dispozitive de reţea şi de securitate: ziduri [pereţi] antifoc, VPN, servere de DNS, rutere.

– Grupuri de mail şi de news.

SSA cursul 9 - M. Joldos - T.U. Cluj 59

Sursele de informaţie

♦ O mare cantitate de informaţie este disponibilă liber off-line şi on-line.– Cărţi de telefon.– Ziare.– Cărţi de telefon pe Web.– Servere de Web.– Servere de DNS: nslookup.– Motoare de căutare (AltaVista, Google, . . .)– SEC: EDGAR, www.sec.gov– Yahoo: www.yahoo.com– whois şi finger, telnet, traceroute, ping, . . .

SSA cursul 9 - M. Joldos - T.U. Cluj 60

Rezumat

♦ Viermele Internet (Morris)♦ Scurtă recapitulare reţele de calculatoare

– Tipuri– Protocoale – OSI, straturi– Topologii– Rutarea

♦ Definiţii– Ameninţare, serviciu de securitate, mecanism de securitate

♦ Tipuri de atacuri (pasive, active)♦ Vulnerabilităţi♦ Paşii într-un atac