Documente Academic
Documente Profesional
Documente Cultură
Securitatea Datelor in Retelele de Calculatoare
Securitatea Datelor in Retelele de Calculatoare
2008 2009
REPROGRAFIA UNIVERSITII TRANSILVANIA DIN BRAOV
1
1
2
Cuprins
Sisteme informatice
nainte de a ncepe prezentarea problemelor de securitate s definim mai ntai ce
nseamna un sistem IT. IT vine din limba englez i este prescurtarea pentru information
technology: o ramur a ingineriei care se ocup de foloirea computerelor i a tiinei
telecomunicaiilor pentru a primi, stoca i transmite informaii. Deci un sistem IT va fi un
sistem cu ajutorul cruia se pot efectua schimburi de date ntre mai muli utilizatori. Pentru
a se putea efectua acest schimb de date, utilizatorii trebuie s fie interconectai prin
intermediul unei reele. Nu se pune problema de securizare a unui calculator care nu este
legat la nici o reea deoarece prin simpla sa izolare problema este rezolvat, el nefiind
accesibil vreunui atac electronic. Deci problema securitii sistemelor IT se confund cu
problema securitii reelelor de calculatoare.
Importana aspectelor de securitate n reelele de calculatoare a crescut odat cu
extinderea prelucrrilor electronice de date i a transmiterii acestora prin intermediul
reelelor.
n cazul operrii asupra unor informaii confideniale, este important ca
avantajele de partajare i comunicare aduse de reelele de calculatoare s fie susinute de
faciliti de securitate substaniale. Acest aspect este esenial n condiiile n care reelele
de calculatoare au ajuns s fie folosite inclusiv pentru realizarea de operaiuni bancare,
cumprturi sau plata unor taxe.
n urma implementrii unor mecanisme de securitate ntr-o reea de calculatoare,
informaiile nu vor putea fi accesate sau interceptate de persoane neautorizate (curioase
sau, eventual, chiar ru intenionate) i se va mpiedica falsificarea informaiilor transmise
sau utilizarea clandestin a anumitor servicii destinate unor categorii specifice de utilizatori
ai reelelor.
Persoanele care atenteaz la securitatea reelelor pot aparine unor categorii
diverse, comitnd delicte mai mult sau mai putin grave: studeni care se amuz ncercnd
s fure posta electronic a celorlali, hackeri care testeaz securitatea sistemelor sau
urmresc s obtin n mod clandestin anumite informaii, oameni de afaceri care ncearc
s descopere strategiile adversarilor, persoane care realizeaz fraude financiare (furtul
numerelor de identificare a crilor de credit, transferuri bancare ilegale etc.), spioni militari
sau industriali care ncearc s descopere secretele / strategiile adversarilor, sau chiar
teroristi care fur secrete strategice.
n condiiile n care pot exista interese att de numeroase de atac asupra unei
reele, este evident c proiectanii resurselor hard i soft ale acesteia trebuie s ia msuri
de protecie serioase mpotriva unor tentative ru intenionate. Metode de protecie care
pot stopa atacatorii accidentali se pot dovedi inutile sau cu un impact foarte redus asupra
unor adversari redutabili - dedicai i cu posibiliti materiale considerabile.
2.2
Obiective de securitate
Criptografia tradiional
Modelul clasic de criptare presupune transformarea unui text surs ("plain text")
printr-o functie dependent de o cheie ("key"), transformare n urma creia rezult textul
cifrat ("ciphertext"). Domeniul care se ocup de spargerea (decodificarea) cifrurilor se
numete criptanaliz ("cryptanalysis") iar conceperea cifrurilor (criptografia) i spargerea
lor (criptanaliza) sunt cunoscute global sub numele de criptologie ("cryptology").
ntr-o ncercare de formalizare matematic a proceselor de criptare i decriptare, se
pot folosi urmtoarele notaii: S - textul surs, CK - functia de criptare, dependent de o
cheie K, R - codul rezultat i DK - functia de decriptare. Cu aceste notaii, criptarea este
exprimat prin formula:
R = CK(S) iar decriptarea - prin S = DK(R).
Se observ c DK(CK(S)) = S.
Modelul de baz al criptrii folosete o metod general cunoscut, care este
parametrizat cu o cheie secret, ce poate fi schimbat usor. n mod paradoxal,
publicarea algoritmului de criptare, prin faptul c d posibilitatea unui numr mare de
criptologi s sparg sistemul, i poate dovedi stabilitatea, n caz c dup ctiva ani nici
unul din specialitii care au ncercat s-l sparg nu a reuit.
Componenta secret a criptrii este, n consecin, cheia, a crei lungime devine
foarte important. n mod evident, cu ct cheia este mai lung, cu att elementele ei sunt
mai greu de determinat. De exemplu, pentru o secvent de n cifre (0,...,9), exist 10 n
posibilitti de a o crea. Astfel, pentru determinarea unei secvente de 6 cifre ar trebui
parcurse 1 milion de posibilitti. n cazul n care cheile ar contine litere, numrul de
alternative crete fiindc n alfabet exist 26 de litere. Se poate deduce c lungimea cheii
produce creterea exponential a volumului de munc al criptanalistului. O cheie care s
poat ine la distant adversari profesionisti ar trebui s aib cel puin 256 de biti (cel putin
32 de cifre), n timp ce uzual se pot folosi chei de 64 de bii (n jur de 8 cifre).
Exist dou metode traditionale de criptare: cifruri cu substituie i cifruri cu
transpoziie. Aceste tehnici de baz sunt folosite, n forme evoluate, i n sistemele
moderne de criptare.
Cifrurile cu substituie. ntr-un asemenea cifru, fiecare liter sau grup de litere
este nlocuit() cu o alt liter sau cu un grup de litere. Cel mai vechi exemplu este cifrul
lui Cezar, prin care a devine D, b devine E, ..., z devine C. Prin generalizare, alfabetul
poate fi deplasat cu k litere n loc de 3. n acest caz, k devine cheia pentru metoda
general a alfabetelor deplasate circular. O alt metod de substituie este nlocuirea
fiecrei litere din textul surs cu o anumit liter corespondent. Sistemul se numete
substituie monoalfabetic i are ca i cheie un ir de 26 de litere. Pentru o persoan
neavizat, acest sistem ar putea fi considerat sigur fiindc ncercarea tuturor celo r 26! de
6
chei posibile ar necesita unui calculator 1013 ani alocnd 1msec pentru fiecare soluie.
Totusi, folosind o cantitate foarte mic de text cifrat, cifrul va putea fi spart cu usurint.
Abordarea de baz porneste de la propriettile statistice ale limbajelor naturale.
Cunoscnd frecventa statistic a fiecrei litere i a fiecrui grup de dou sau trei litere (de
exemplu, n limba romn: ce, ci, ge, gi, oa, ua etc.) ntr-o anumit limb, numrul mare
de alternative initiale se reduce considerabil. U n criptanalist va numra frecventele relative
ale tuturor literelor n textul cifrat i va ncerca s fac asocierea cu literele a cror
frecvent este cunoscut. Apoi va cuta grupurile de litere, ncercnd s coroboreze
indiciile date de acestea cu cele furnizate de frecventele literelor.
O alt abordare, aplicabil dac exist informaii despre domeniul la care se refer
textul, este de a ghici un cuvnt sau o expresie probabil (de exemplu, "financiar" pentru
un mesaj din contabilitate) i de a cuta corespondentul su, folosind informaii despre
literele repetate ale cuvntului i pozitiile lor relative. Abordarea se poate combina cu
informaiile statistice legate de frecventele literelor.
Cifruri cu transpoziie. Spre deosebire de cifrurile cu substituie, care pstreaz
ordinea literelor din textul surs dar le transform, cifrurile cu transpoziie ("transposition
ciphers") reordoneaz literele, fr a le "deghiza". Un exemplu simplu este transpoziia pe
coloane, n care textul surs va fi scris liter cu liter i apoi citit pe coloane, n ordinea
dat de o anumit cheie. Ca i cheie se poate alege un cuvnt cu litere distincte, de o
lungime egal cu numrul de coloane folosite n cifru. Ordinea alfabetic a literelor din
cuvntul cheie va da ordinea n care se vor citi coloanele.
Unele proceduri de criptare accept blocuri de lungime fix la intrare i genereaz
tot un bloc de lungime fix. Aceste cifruri pot fi descrise complet prin lista care defineste
ordinea n care caracterele vor fi trimise la ieire (irul pozitiilor din textul de intrare pentru
fiecare caracter din succesiunea generat).
Problema construirii unui cifru imposibil de spart a preocupat ndelung pe
criptanalisti; ei au dat o rezolvare teoretic simpl nc de acum cteva decenii dar
metoda nu s-a dovedit fiabil din punct de vedere practic, dup cum se va vedea n
continuare.
Tehnica propus presupune alegerea unui ir aleator de biti pe post de cheie i aducerea
textului surs n forma unei succesiuni de biti prin nlocuirea fiecrui caracter cu codul su
ASCII. Apoi se aplic o operaie logic - de tip Sau exclusiv (operaia invers echivalentei:
0 xor 0 = 0, 0 xor 1 = 1, 1 xor 0 = 1, 1 xor 1 = 0) - ntre cele dou iruri de biti. Textul cifrat
rezultat nu poate fi spart pentru c nu exist indicii asupra textului surs i nici textul cifrat
nu ofer criptanalistului informaii. Pentru un esantion de text cifrat suficient de mare, orice
liter sau grup de litere (diftong, triftong) va aprea la fel de des. Acest procedeu este
cunoscut sub numele de metoda cheilor acoperitoare. Desi este perfect din punct de
vedere teoretic, metoda are, din pcate, cteva dezavantaje practice:
- cheia nu poate fi memorat, astfel nct transmittorul i receptorul s poarte cte o
copie scris a ei fiindc n caz c ar fi "capturati", adversarul ar obtine cheia;
- cantitatea total de date care poate fi transmis este determinat de dimensiunea
cheii disponibile;
- o nesincronizare a transmittorului i receptorului care genereaz o pierdere sau o
inserare de caractere poate compromite ntreaga transmisie fiindc toate datele
ulterioare incidentului vor aprea ca eronate.
2.4
stea la baza unor sisteme folosite n mod curent. DES folosete (uzual) o cheie de 56 de
biti; aceasta a fost n cele din urm adoptat n locul uneia de 128 de biti, neagreat de
NSA (National Security Agency), agentia "sprgtoare de coduri a guvernului", care dorea
suprematia n domeniul criptografic.
Din 1977, cercettorii n criptografie au ncercat s proiecteze masini pentru a
sparge DES. Prima asemenea masin (1977) a fost conceput de Diffie i Hellman, avea
nevoie de mai putin de o zi iar costul ei a fost estimat la 20 de milioane de dolari. Dup
aproape 2 decenii, costul unei astfel de masini a ajuns la 1 milion de dolari iar timpul
necesar spargerii codului a scazut la 4 ore. Ulterior, s -au dezvoltat i alte metode, cum ar
fi foloirea unui cip DES ncorporat (loteria chinezeasc).
n scopul decriptrii s-ar mai putea folosi mecanisme soft specifice (cum ar fi
algoritmul asimetric Diffie-Hellman) i resursele libere ale unor calculatoare cu destinatie
universal. Astfel, s-a demonstrat c rularea pe mai multe calculatoare a unor programe
distribuite de criptare (uzual, pe un numr mare de masini, de ordinul miilor sau chiar
zecilor de mii) crete considerabil eficienta procesului de decriptare.
Un alt cifru renumit este IDEA (International Data Encryption Algorithm), realizat de
doi cercettori la Politehnica Federal din Zrich (ETHZ). Acest algoritm folosete o cheie
de 128 de biti i este inspirat din metodele anterioare - DES i cele imaginate pentru
spargerea DES.
Un alt algoritm performant a fost descoperit de un grup de cercettori de la MIT Ronald Rivest, Adi Shamir, Leonard Adelman - i s-a numit cu initialele creatorilor lui:
RSA. Algoritmul de criptare RSA folosete o cheie public.
Se observ c utilizarea unor astfel de algoritmi de criptare a datelor asigur
transmisii confideniale de date n reele neprotejate, rezolvnd problema interceptrii. De
fapt, riscul de interceptare / modificare nu dispare cu totul, din cauz c orice mesaj criptat
poate fi n general decriptat fr a detine cheia corespunztoare, dac se dispune de
suficiente resurse materiale i de timp.
Evident, dimensiuni variate ale cheii asigur diferite grade de confidenialitate iar
perioada de timp necesar pentru decriptare poate fi prevzut n functie de mrimea cheii
utilizate. Totusi, dac procesul de decriptare este lent, este posibil ca n momentul n care
s-ar obtine datele dorite, acestea s nu mai fie actuale sau utile.
Timpul de decriptare depinde n mod natural i de puterea procesoarelor utilizate n
acest scop, astfel nct utilizarea distribuit a unui foarte mare numr de procesoare poate
duce la o micsorare considerabil a timpului necesar. Din acest motiv, pentru transmisii de
date n care este necesar o confidenialitate stricta se utilizeaz chei de dimensiuni mult
mai mari, chiar pentru algoritmul DES (de 256, 512, 1024 i chiar 2048 sau 4096 de biti),
stiut fiind c timpul necesar decriptrii crete exponential cu dimensiunea cheii de criptare
/ decriptare.
Pentru utilizatorii obisnuiti ai Internet-ului, cei mai convenabili algoritmi de criptare
sunt cei cu cheie public fiindc foloirea lor nu implic schimbul preliminar de chei pe
canale de transmisie protejate, ca n cazul algoritmilor cu cheie secret. Cheia public
poate fi distribuit fr restrictii pe intranet (reeaua local) sau Internet, iar mesajele
criptate cu aceast cheie de un emitator vor putea fi decriptate numai utiliznd cheia
privat, care este detinut exclusiv de ctre destinatar. Astfel, nici mcar expeditorul nu ar
putea realiza decriptarea mesajului trimis.
2.5
Problema autentificrii
Un alt domeniu n care a evoluat criptografia modern este cel al crerii unor
protocoale de autentificare - tehnica prin care un proces verific dac partenerul de
comunicatie este cel presupus i nu un impostor. Verificarea identittii unui proces de la
distant este dificil i necesit utilizarea unor protocoale complexe, bazate pe tehnici
criptografice.
9
Problema poate fi imaginat intuitiv sub forma a doi parteneri care comunic i a
altuia care doreste s se introduc fraudulos n comunicatie, simulnd pe oricare din
partenerii de discuie. Ca o metod de protecie, cei doi utilizatori pot stabili, de exemplu, o
cheie secret de sesiune, dar aceast metod presupune transmiterea cheii printr-un
canal sigur; de aceea, se prefer, ca i n cazul mpiedicrii interceptrilor, utilizarea
criptrilor cu chei publice.
Unul din protocoalele de autentificare folosit n sistemele n timp real se numete
Kerberos (omonimul cinelui-paznic al lui Hades, care i tinea pe cei nedoriti afar).
Conectia securizat la un server aflat la distant cu SSH folosete pentru autentificare un
alt protocol, bazat pe algoritmul cu cheie public RSA.
Problema autentificrii impune gsirea unui corespondent electronic pentru
semnturile autorizate de pe documentele legale. Un asemenea corepondent se numete
semntur digital i presupune existenta unui sistem prin care una din prti s poat
transmite mesaje "semnate" celeilalte prti, astfel nct:
- receptorul s poat verifica identitatea pe care pretinde c o are emittorul. Aceast
cerint este necesar, de exemplu, n sistemele financiare: calculatorul trebuie s
se asigure c un ordin de cumprare sau de plat apartine companiei cu al crei
cont bancar se va opera.
- transmittorul s nu poat renega ulterior coninutul mesajului. Aceast necesitate
asigur protejarea bncilor mpotriva fraudelor: un client necinstit ar putea acuza
banca implicat n tranzactie, pretinznd, de exemplu, c nu a emis un anumit ordin
(de plat).
- receptorul s nu poat pregti el nsusi mesajul. n cazul unei tranzactii financiare
cu o banc, aceast cerint protejeaz clientul dac banca ncearc s-i falsifice
mesajul.
Ca semnturi digitale, se pot folosi semnturi cu cheie secret sau public dar, asa
cum s-a explicat anterior, de obicei se prefer cheile publice. n cazul mesajelor transmise
prin post electronic, riscul legat de impersonificarea expeditorului este destul de mare
fiindc standardele utilizate pentru transmiterea postei electronice sunt simple i n plus au
fost fcute publice (ceea ce nseamn ca oricine are acces la ele i poate s le studieze).
Standardul de e-mail nu are la baz nici un sistem pentru verificarea identittii celui care
trimite un mesaj de post electronic, bazndu-se pe o ncredere reciproc ntre utilizatori.
Acest neajuns ar putea fi fructificat de ctre persoane ruvoitoare pentru a trimite mesaje
de post electronic de pe adrese false, sau chiar de pe adrese existente, pretinznd c
sunt utilizatorii care detin acele adrese de post electronic. Practic, este (aproape)
imposibil identificarea unei persoane care a emis astfel de mesaje fiindc n Internet
exist servere care asigur transmiterea anonim a mesajelor ("anonymous remailers"),
trimitndu-le de la un server la altul de mai multe ori nainte de a le directiona ctre
adevrata destinatie.
Pentru autentificarea expeditorului unui mesaj (de post electronic sau un
ansamblu de date transmis prin Internet n alte scopuri) se folosete cel mai adesea un
sistem cu cheie public. Astfel, dac expeditorul cripteaz mesajul cu cheia privat
proprie, datele pot fi decriptate doar utiliznd cheia public pereche (vezi figura de mai
jos), deci oricine poate verifica faptul c mesajul a fost transmis ntr-adevr de expeditor,
i nu de o persoan ce pretinde a fi expeditorul (dup cum s-a explicat deja, mesajul
criptat cu o cheie poate fi decriptat doar utiliznd cheia pereche acesteia i se presupune
c expeditorul este singurul care are acces la cheia sa privat).
Evident c este posibil s se realizeze o criptare a mesajelor n paralel cu
autentificarea, astfel nct inclusiv datele transmise s fie codificate. n acest caz, se vor
utiliza perechile de chei privat, public nu numai pentru autentificare, ci i pentru
criptarea, respectiv decriptarea mesajelor transmise. Practic, pentru codificarea i
10
11
2.7
2.8 Troieni
Un troian reprezinta un program destructiv care se ascunde in spatele unei aplicaii
inofensive, punand una dintre cele mai mari probleme de securitate la ora actuala. Un
astfel de troian poate fi un program care pretinde curatarea calculatorul de virui, dar in
schimb ii introduce in calculator.
Potrivit legendei (Iliada lui Homer), grecii au daruit un urias cal din lemn inamicilor
lor, troienii, drept o oferta de pace. Dar dupa ce troienii au introdus calul in interiorul
zidurilor cetaii, soldaii greci s-au furisat afara din cal i au deschis portile cetaii, lasandu-i
pe compatriotii lor sa patrunda i sa captureze Troia. De aici vine numele acestei aplicaii.
Programele de acest fel sunt de obicei de doua tipuri: primul este reprezentat de
utilitare soft uzuale care au fost modificate de o persoana prin introducerea de cod
distructiv care se executa in timp ce programul ruleaza (de exemplu programe care
furnizeaza starea vremii, care seteaza ora i data exacta, utilitare peer-to-peer); al doilea
tip sunt programe independente care iau forma unui joc sau a unei imagini pentru a pacali
utilizatorul sa declanseze actiunile distructive.
Felul in care lucreaza troienii este foarte simplu. Un troian de tip client/server de
exemplu este alcatuit in general din doua parti: partea de client i cea de server . Ideea
este ca victima sa ia serverul care asculta pe un anumit port. Clientul este folosit pentru
conectarea la IP-ul victimei i portul deschis al victimei, pe care troianul asculta.
Serverul, odata activat, se ascunde in memorie i face anumite schimbari in sistemul
victimei. Va adauga o intrare la start-up in registrul sistemului sau in AUTOEXEC.BAT,
WIN.INI, sau alt fiier similar. Astfel, serverul va putea porni automat, odata cu sistemul
de operare. Serverul poate fi astfel configurat incat odata ce victima a deschis fiierul,
acesta sa se dizolve, pentru a nu putea fi vazut. Serverul poate de asemenea sa fie setat
pentru a trimite detaliile victimei la o adresa de e-mail. Odata ce victima este infectata, se
12
poate deschide clientul i sa se conecteze la aceasta cu portul i parola setate, iar odata
conectat se pot face multe actiuni nepermise.
Iata o lista cu functiile cele mai cunoscute ale trojenilor:
FileManager - este folosita pentru a accesa HardDisk-ul victimei.FileManager-ul va
avea in mod normal alte cateva functii, printre care Upload, Download, Execute,
Execute hidden, Show image, Set image as wallpaper, Play sound, Delete a file,
Move File, Make new folder, sau Copy file.
Find Files se poate cauta orice fiier pe HardDisk-ul victimei.
Manual commands - este folosita pentru a putea introduce anumite comenzi
manual, in loc de a le cauta prin meniu.
Live Capture - este o functie prin care se pot face imagini ale desktop-ului, una
dupa alta, pentru a putea vedea ce face victima.
Open/Close CD-ROM deschide sau inchide CD-ROM-ul.
Hide/Show Start Button afiseaza sau ascunde butonul de Start.
Set system date - seteaza data curenta.
MessageBoxes permite trimiterea de diferite mesaje de eroare victimei.
System colors permite schimbarea culorilor sistemului.
Set resolution se pot modifica setarile ecranului victimei.
Mouse Options - activarea/dezactivarea mouse-ului victimei, schimbarea butoanelor
sau chiar miscarea cursorului pe ecran.
Goto URL deschiderea unei pagini in browser-ul victimei.
Print text imprimarea de texte la imprimanta victimei.
Remote host info aduna informaii despre calculatorul victimei.
Spre deosebire de virui, troienii nu dispun de mecanisme de replicare. Acest tip de
malware se bazeaza pe naivitatea utilizatorilor pentru declansarea actiunilor distructive.
Pentru a evita infectarea cu troieni se recomanda:
sa nu se faca download-uri din surse nesigure
chiar daca programul este preluat dintr-o sursa de incredere acesta ar trebui
verificat prin foloirea unui program specializat
sa se evite ascunderea extensiilor (putand fui depistate astfel executabilele)
sa nu se foloseasca in aplicaii facilitati care permit download-ul sau preview-ul
automat al fiierelor
sa nu se execute comenzi sugerate de alte persoane, sa nu se viziteze pagini sau
sa se ruleze programe sugerate de acestia
prezenta unui anti-virus nu garanteaza securitatea sistemului
Printre troianii cunoscuti se numara: SubSeven (folosit pentru schimbarea unor setari ale
sistemului, incarcarea anumitor pagini web sau chiar aflarea unor detalii cum ar fi numarul
cartii de credit), NetBus, BackOrifice (folosit pentru controlul de la distanta a unei staii pe
care ruleaza sistemul Windows), BackOrifice2000, BeastTrojan (troian de tip client/server).
BeastTrojan
BeastTrojan este un troian de Windows de tip backdoor (o aplicaie backdoor
incearca sa preia controlul asupra sitemului incercand sa ramana ascunsa la eventualele
detectii), cunoscut i sub numele de RAT (Remote Administration Tool). Acest program
poate infecta aproape orice sistem care are instalat sistemul de operare Windows. A fost
scris in Delphi i folosete mecanismul de tip client/server, clientul fiind rulat de catre
atacator, iar serverul infecteaza victima. Beast este unul dintre primii troiani care contine
capacitatea de conexiune inversa la victime care, odata stabilita, permite controlul total
asupra calculatorului infectat. Folosind aceasta facilitate atacatorul nu mai trebuie sa
cunoasca ip-ul destinatiei, server-ul conectandu-se la un DNS predefinit care este
redirectat la ip-ul atacatorului. DLL-urile troianului sunt inserate intr-un utilitar obisnuit (cum
13
- 80 - HTTP
- 139 - Netbios-ssn
- 445 - Microsoft-Ds
- 138- UDP pentru File Sharing
- 3389 - TCP Remote Desktop Connection
5. Ce s-ar scana daca pe interfata GFi se lasa toate obtiunile default si se scaneaza
192.168.39.0?
Nu se scaneaza nimic.
6. Ce capabilitati are un server de antivirus de retea?
Un server de antivirus de retea are urmatoarele capabilitati:
- securizarea traficului Web si SMTP
- protectie impotriva virusilor,viermilor, troienilor si pentru fisierele de pe dispozitive
de stocare atasate la retea
- poate scana pe toate statiile din retea
- poate fi programat sa scaneze la anumite intervale de timp
- poate arata ce virusi au fost detectati in ultima perioada de timp, pe ce statii si la ce
utilizatori
- poate arata care statie a fost cel mai frecvent atacata de virusi si la ce utilizat or au
fost detectati cel mai frecvent virusi
7. Pot fi instalati noi clienti de antivirus folosind consola serverului de antivirus? In ce
conditii?
Da, daca clientul se afla in aceeasi retea (subreatea) LAN ca si statia de pe care
este
accesata consola serverului de antivirus.
8. Descrieti avantajle folosirii unui server de antivirus intr -o retea.
Folosirea unui server de antivirus intr-o retea are urmatoarele avantaje:
- protectia retelei de virusi, viermi, troieni
- daca virusul este detectat si identificat, se poate opri raspandirea lui in toata
reteaua
- poate fi setat folosind consola sa pentru a scana pe toate statiile din retea fara ca
administratorul sa fie nevoit sa se deplaseze la fiecare statie in parte
- poate fi programat sa scaneze la anumite intervale de timp
- poate arata ce virusi au fost detectati in ultima perioada de timp, pe ce statii si la ce
utilizatori
- poate arata care statie a fost cel mai frecvent atacata de virusi si la ce utilizator au
fost detectati cel mai frecvent virusi
3 Analiza riscurilor
Creterea numrului intreprinderilor i instituiilor dn ultimele decenii, are un impact
puternic asupra sistemelor de calculatoare. Acestea n condiiile n care n ziua de azi
15
4 Autentificarea
Tehnica prin care un proces verific dac partenerul sau de comunicaie este cel
presupus a fi i nu un impostor, se numete autentificare. Verificarea identittii unui
proces la distan este dificil i necesit protocoale complexe bazate pe criptografie. ntre
autentificare i autorizare exist o mare diferen. Dac autentificarea se ocup cu
problema identificrii exacte a procesului cu care se realizeaz comunicarea, autorizarea
se ocup cu ceea ce i este permis unui proces s fac n sistem adic la ce resurse are
acces procesul respectiv.
Problema autentificrii se pune n contextul unei relaii de tip client-server(de
exemplu cazul unui server de fiiere aflat la distan); de exemplu, atunci cnd un client X
dorete tergerea unui fiier care aparine unui client A, atunci serverul de fiiere trebuie
19
s asigure c, clientul care a fcut aceast cerere este chiar A; de asemenea, clientul
trebuie s se asigure de identitatea server-ului(de exemplu pentru a nu scrie datele sale
pe un calculator gestionat de un impostor sau s obin informaii false de pe un alt
calculator, nu de pe cel pe care se gsete fiierul dorit).
Uzual, aa cum am expus n introducere, tehnicile de autentificare se mpart n trei
categorii fundamentale:
Autentificare prin cunotine (ceva ce utilizatorul tie: coduri PIN, coduri
de tranzacie, parole)
Autentificare prin posesie (ceva ce utilizatorul are: chei, carduri de
identificare sau altfel de dispozitive fizice)
Autentificare prin proprieti (identificarea biometric a utilizatorului cum
ar fi identificarea feei, imagini ale retinei, abloane vocale, amprente)
n tehnica de calcul actual autentificarea preponderent este cea prin cunotine.
20
21
Clientul decripteaz prima parte a ultimului mesaj primit i verific dac rezultatul
este mai mare cu 1 dect numrul aleator x pe care l-a transmis serverului; dac relaia
este verificat, atunci el va ti c serverul posed cheia lui secret. n acest moment,
clientul a autentificat serverul. De asemenea, clientul decripteaz numrul aleator pe care
serverul i l-a transmis(notat cu y), cripteaz acel numr incrementat i transmite rezultatul
serverului. Daca serverul este capabil sa refac valoarea y+1 atunci i clientul este
legitim.
C lie n t
S e rv e r
( C lie n t id , E ( x , C H K ) )
(E (x + 1 ,S H K ),E (y ,S H K ))
(E (y+ 1 , C H K ))
(E (S K ,S H K ))
4.5 Kerberos
Autentificarea (authentication) este procesul prin care se verific identitatea unei
instane (de exemplu un utilizator) care a produs nite date. Cele mai sigure metode de
autentificare sunt cele biometrice, care msoar caracteristici fizice unice ale unui individ
(cum ar fi amprentele digitale sau forma irisului). Acestea sunt foarte greu de pclit. Din
(ne)fericire sunt nc foarte costisitoare i puin rspndite.
Metoda prin care n mod uzual calculatoarele identific identitatea unei entiti cu
care comunic este verificarea c acea entitate tie o informaie care foarte probabil nu
mai este cunoscut de nimeni altcineva. n sistemele tipice Unix acel secret este parola pe
care utilizatorul trebuie s o tasteze nainte de a ncepe lucrul.
S observm c pentru a putea vorbi despre autentificare trebuie s avem o
noiune de identitate a utilizatorilor. Calculatorul trebuie s poat distinge cumva ntre
diferiii indivizi care l folosesc. Trebuie s existe un spaiu de nume pentru utilizatori;
22
4.5.1 Principii
Premiza iniial este c exist un server central, numit serverul de autentificare
(AS), care cunoate identitile tuturor clienilor posibili. De asemenea, fiecare client a
stabilit o parol secret pe care i acest server o tie. Parola ajunge la server printr-o cale
sigur, de exemplu prin pot sau printr-un mesager uman (m rog, sigur cel puin din
punct de vedere software). Parola asta nu este cunoscut de nimeni altcineva, nici mcar
de celelalte servere cu care clientul va comunica (de la care va obine serviciile care-l
intereseaz de fapt). Toate celelalte servere din domeniul administrativ sunt i ele clieni ai
AS: au o parol unic tiut numai de AS i de acel server.
Niciodat parola nu va circula n clar pe reea; atunci oricine ar putea s o citeasc
i s o foloseasc n locul clientului de drept.
Pentru a se proteja mpotriva dumanilor care vor nregistra sau terge mesaje,
mesajele vor avea informaii ca ora la care au fost trimise i un numr de ordine (pentru a
detecta omisiunile).
O alt regul interesant este c cheile folosite n comunicarea dintre client i
servere se schimb frecvent. Implementarea standard expir o cheie dup 25 de ore. n
felul acesta un atac criptanalitic nu va avea prea mult succes: dac dureaz ma i mult de
25 de ore atunci cheia descoperit este deja inutil (desigur, eventualele mesaje deja
interceptate i stocate vor putea fi citite, dar stricciunile sunt limitate). Cheia pe care un
23
Cum am spus mai sus, AS este serverul de autentificare, care tie parola fiecrei
alte entiti din sistem;
- Kz este cheia pe care clientul z i AS o folosesc n comun (parola clientului z); de
pild Ks este parola serverului de disc (cunoscut numai de el i de AS);
Voi scrie {mesaj1, mesaj2}K pentru a indica faptul c mesajele 1 i 2 sunt puse
impreuna ntr-un pachet care este apoi criptat cu cheia K.
- abreviere util este cea de tichet (ticket): T a,b = { Ka,b, a, ora curenta }: un mesaj n
care sunt mpachetate 3 informaii: o cheie de sesiune ntre a i b, numele lui a i
ora curent.
- Cu aceste notaii putem scrie complet clar toate mesajele schimbate ntre C, S i
AS. Sgeata indic traseul fiecrui mesaj:
C ---> AS:
C, S, ora expirare, N (nonce, aleator).
Clientul afirm propria identitate, identitatea serverului cu care vrea s discute,
trimite un numr aleator i ct timp ar dori s converseze cu S. Pn aici totul e simplu. AS
va rspunde astfel:
AS ---> C$:
{KC,S, S, ora expirare, N} KC, {T C,S}KS .
Acest complicat mesaj mai are dou pri:
Prima este destinat clientului i este criptat cu cheia clientului KC, iar a doua este
un tichet pentru S. Prima parte a mesajului ciptat cu cheia KC a lui C este secret i
nimeni nu poate decripta acest mesaj dect C. La fel sunt lucrurile i pentru a doua parte a
mesajului criptat cu KS i inteligibil numai pentru S.
KC,S este un este un numr aleator generat de AS , care va fi folosit ca cheie de
sesiune ntre C i S. Observai c cheia de sesiune apare n ambele pri ale mesajului, n
aa fel nct va fi cunoscut att de ctre C ct i de S.
AS i confirm lui C identitatea serverului de disc S i indic durata de validitate a lui
KC,S.
Faptul c N apare n mesajul ctre C garanteaz c acest mesaj a fost criptat de
AS: nimeni altcineva nu putea s-l bage pe N nauntru. De asemenea, acest mesaj nu
putea fi un mesaj mai vechi dintr-o comunicaie anterioar, pentru c N difer.
Partea a doua a mesajului este opac pentru C; tot ce poate face C cu ea este s o
nainteze lui S. C (sau oricine altcineva) nu o poate citi. Dac cineva ar modifica partea a
doua, S nu ar mai putea-o decodifica i obine un mesaj corect, deci tichetul nu poate fi
contrafcut sau modificat.
C ---> S:
{C, ora curent, suma de control}, K C,S, {TC,S}KS .
Mesajul are din nou dou pri.
Partea a doua este exact partea a doua a mesajului 2, aa cum a fost primit de la
AS.
Prima parte a mesajului are scopul de a demonstra c acest mesaj este
``proaspt'': S va extrage K C,S din partea a doua a mesajului i o va folosi pentru a citi
prima parte a mesajului. De acolo afl ora la care a fost trimis mesajul, i l rejecteaz
dac ora difer prea tare de ora local. (Asta ar putea s nsemne c mesajul a fost
capturat de un inamic i re-lansat). Suma de control ne asigur c mesajul nu a fost
modificat de nimeni; este practic imposibil s modifici un mesaj criptat i s repari i suma
de control dac nu tii cheia.
S ---> C:
{ora curenta+1} K C,S.
Prin acest mesaj S n convinge pe C c a ajuns la destinaia dorit: mesajul are ora
curent trimis anterior de C plus 1. Dar ora putea fi extras numai de cel care avea K C,S,
care fiind o cheie de sesiune era tiut numai de S. Nu era suficient s returneze aceeai
25
valoare, pentru c atunci acest mesaj putea fi o copie a (unei pri a) mesajului anterior.
La sfritul acestei comunicaii att C ct i S sunt siguri de identitatea celuilalt i n plus au
la dispoziie o cheie de sesiune K C,S cu care pot cripta toate mesajele pe care le schimb.
Autentificarea a fost fcut.
4.5.4 Concluzie
Securitatea n calculatoare este o problem de mare importan economic, mai
ales acum cnd tot mai multe tranzacii se fac prin Internet. Proiectarea unui protocol de
securitate este o treab foarte complicat, iar implementarea nu este deloc simpl.
Domeniul este n plin cercetare n continuare. Dificultile sunt amplificate de faptul c
lanul este tot att de slab ct cea mai slab verig, iar verigi sunt destul de multe. Fii deci
cu ochii-n patru.
4.6 Biometrie
4.6.1 Smart Carduri
In acest moment in portofelul tau sunt probabil cateva Credit Card-uri, un ID Card,
un ATM Card i poate alte Carduri de plastic. Fara sa realizam aceste carduri de plastic au
devenit o parte foarte importanta din viata noastra. Putem lua in considerare cateva
scenarii legate de foloirea acestor carduri de plastic:
- Pentru a ne identifica in diferite situaii
- Pentru a obtine bani din banca
- Card de credit
- Telefonie conventionala
- Access Control
- Programe de loialitate
Un smart card (Figura 6.1) este un fel de chip intr-un card de plstic care stocheaza i
tranzactioneaza date intre utilizatori. Aceste date sunt ascociate fie cu valori sau informaii
sau amandoua i sunt stocate i procesate cu ajutorul chipului sau cu ajutorul memoriei
sau microprocesorului. Datele de pe card sunt tranzacionate via un reader care este parte
a unui system de calcul.
Privind o statistica Dataquest, valoare de piata in intreaga lume a smart cardurilor va
crete in 2006 $11.000.000.
Majoritatea acestor carduri de plastic sunt carduri magnetice. In ciuda popularit aii marie
pe care o au sufera de o slabiciune cruciala. Datele stocate pe ele pot fi foarte usor citite i
modificate de cineva care are access la echipament specializat. Ca rezultat informaii
confideniale cum ar fi PIN-ul sau parola nu pot fi stocate pe ele i astfel tranzactia trebuie
facuta de system, conectanduse la o baza de date pentru a verifica pinul iar aceasta
operaii costa timp i bani.
Scurta istorie a SmartCardurilor
Multa lume considera Smart Cardurile o inventii recenta. Este total eronat. In 1968
inventatorul german Jurgen Dethloff impreuna cu Helmet Grotrupp a patentat o bucata
de plastica pentru transportul microchipurilor. In 1970 inventatorul Japonez Kunitake
Arimura a applicat pentru acelasi patent. Smart cardurile au fost introduse in Japonia i
nacelasi an. In 1974 francezul Ronald Moreno si-a inregistrat patentul sau de smart card in
Franta.
27
Dat fiind faptul ca majoritatea cercetarii pentru smart carduri a fost facuta in Europa
nu este surprinzator faptul ca Europenii sunt printre cei mai multi utilizatorii de smart
carduri. Europa au aproximativ 80% din piata de smart carduri.
Aplicaii
- Au fost introduse prima oara in Europa in anii 70, ele au debutat ca un suport
de valoare pentru telefoanele publice reducand astfel furtul. Cum tehnologia
a avansat foarte repede smart cardurile sunt introduse in mai multe domenii
de activitate, credit cards sau pentru a retine informaii in schimbul hartiei.
- In S.U.A. consumatorii folosesc samrt carduri pentru orice, de la vizitat librarii
pana la cumparaturi i vizionat filme, integrandu-se astfel in activitatile
noastre de zi cu zi.
De ce Smart Carduri
Smart cardurile sporesc foarte mult securitatea fiecarei tranzactii. Ne protejeaza
impotriva unor riscuri de securitate foarte importante cum ar fi stocarea de parole
necorspunzatoare i system hacks sofisticate.
Oamenii folosesc smart cardurile in ziua de astazi pentru o varietate larga de sarcini
zilnice:
- Loialitate i valoare stocata
- Securizarea informatiei i Bunurilor fizice
- E-Commerce
- Finante Personale
- Sanatate
- Network Security
- Acces fizic
Tipuri de smart carduri
Smart cardurile sunt definite astfel
1). Cum se scriu sau se citesc datele de pe card, i
2). Tipul chipului implantat in card i capabilitatile lui.
28
4.6.2 Biometrie
Ce este biometria?
Biometria este un domeniu modern care se axeaza pe indentificarea unui individ pe
baza caracteristicilor sale fizice. Biometria se ininde pe mai multe domenii cum ar fi
Inteligenta Artificiala i biologie precum i pe diverse domenii hardware. Cele mai
cunoscute metode de identificare biometrica sunt: amprentele, vocea, irisul, retina, mana,
facial, semnatura.
Amprentele i mana
Amprentele sunt una din cele mai intalnite forme de identificare biometrica. Datorita
unicitaii amprentelor la fiecare om in functie de bifurcaii, cute, insule i alte aspecte un
individ poate fi identificate foarte usor daca semnatura amprentei sale este inregistrata
intr-o baa de date.
Tehnologia scanarii mainii este similara dar surprinzator folosete mai putine date
pentru a indentifica o persoana.
Voce
Recunoasterea vocei este diferita de recunoasterea vorbirii. Recunoasterea vorbirii
detecteaza fraze i cuvinte. Amprenta noastra vocala este determinata de diferiti factori:
marimea cavitaii vocale cat i alte caracteristicei ale coardelor vocale.
Iris i Retina
Recunosterea Irisului personificarea identificarii biometrice, toata planeta ar putea fi
inregistrata intr-o baza de date i tot ar fi sanse infime de identificare falsa. Metoda in care
caracteristicile sunt extrase este extrem de complicata dar pe scurt o camera specializata
monochroma face o fotografie a ochiului, sfotul apoi localizeaza irisul in functie de reflectia
luminii i umiditatea ochiului. Segmente ale irisului sunt apoi mapate in sute de vectori
creeand astfel IrisCode.
Scanarea retinei are un nivel de acuratete ca i scanarea irisului. Se folosete un
dispozitiv care citeste spatele ochiului(retina) folosind mai mult de 400 de puncte diferite .
Facial
Biometria faciala folosete diferite aspecte ale fetei pentru a recunoaste un individ.
Sunt patru tehnici primare de recunostere faciala: valoarea fetei, analiza trasaturilor, reele
nuronale i procesare automatica a fetei. De exemplu tehnica reelelor neuronale folosete
un model al fetei i il ruleaza intr-o reea nuronala incercand astfel sa il identifice sau
compara modelul cu un model existent pentru a verifica autenticitatea persoanei.
4.8 PKI
4.8.1 Generalitati
PKI reprezinta o combinatie intre hardware i software, politici i proceduri, ce
asigura securitatatea necesara pentru a comunica in siguranta. Securitatatea informaiilor
pe internet se poate asimila cu semnarea unui document i apoi trimiterea lui
destinatarului. PKI a aparul odata cu nevoia de a trimite informatie in regim de
confidenialitate pe cale digitala catre un destinatar. In acelasi timp PKI asigura
destinatarul informatiei de autenticitatea expeditorului.
33
cheie publica
informatia ce leaga cheia publica de detinatorul ei
informatia de validitate a certificatului
semnatura digitala
Non-repudierea este o alta proprietate a securitaii oferind certitudinea ca cel care
transmite mesajul nu poate sa nege mai tarziu ce a transmis.
Din cele prezentate putem sa observam ca: integritatea, confidenialitatea i non repudierea sunt asigurate prin criptografia cheilor publice. Pentru aceasta trebuie insa sa
se stie: cine genereaza certificatul, unde este stocata cheia i unde se gasesc
certificatele? Un certificat digital bazat pe infrastructura cheilor publice (PKI - Public Key
Infrastructure) asigura rezolvarea tuturor problemelor.
Fuctiile realizate cu ajutorul PKI
1. identificarea i autentificarea sunt realizate cu ajutorul semnaturilor digitale;
entitatea ce trebuie autentificata sau identificata va semna o provocare cu ajutorul
cheii sale private. Verificatorul semnaturii poate fi sigur de identitatea celui cu care
discuta in baza a trei condiii presupuse a fi indeplinite: 1. cheia privata este
cunoscuta doar proprietarului sau; 2. exista o singura cheie privata, care sa
corespunda cheii publice din certificatul digital; 3. certificatul face legatura
nemijlocita intre identitatea proprietarului i cheia sa publica. Presupunand aceste
condiii indeplinite, verificarea semnaturii digitale va duce implicit la "cunoasterea"
partenerului de dialog;
2. integritatea datelor este obtinuta tot prin intermediul semnaturilor digitale;
verificarea cu succes a semnaturii (operaie efectuata cu ajutorul cheii publice),
duce la concluzia ca datele nu au fost modificate ulterior procesului de semnare;
34
Aceasta schema este mai putin eficienta decat schema lui Shamir, pentru ca fiecare
parte a secretului este mai mare ca dimensiune decat secretul initial.
37
mesajul a fost semnat cu cheia aleasa apare mesajul "Correct Signature", altfel apare
mesajul "Invalid Signature".
6. Creati un fisier text ce contine textul "teste". Ce valoare de hash (MD5) are acest fisier?
Pentru a afla valoarewa de hash(MD5) a fisierului alegem din meniul Indiv.
Procedures din Hash optiunea MD5. Valoarea de hash(MD5) a fisierului ce contine textul
"teste" este:
69 8D C1 9D 48 9C 4E 4D B7 3E 28 A7 13 EA B0 7B
7. Creati un fisier care contine textul "abracadabra". Ca valoare SHA are acest fisier?
Pentru a afla valoarea SHA a fisierului alegem din meniul Indiv. Procedures din
Hash
optiunea SHA. Valoarea SHA a fisierului ce contine textul "abracadabra" este:
F5 43 39 3F C9 4B C9 92 16 5A F2 00 FB AC 09 79 42 FD E6 3B
8. Decriptati fisierul "cryDES" folosind Crypt>DES(ECB) cu cheia AAAAAAAAAAAAAAAA
Ce contine acest fisier?
Pentru a decripta fisierul acesta se deschide, din meniul Crypt/Decrypt, din
Symmetric se alege DES(ECB) si se introduce cheia. Fisierul cryDES contine:
Acesta este un test. Felicitari ati reusit!!
9. Decriptati urmatorul fisier "cryIDEA" folosind Crypt>IDEA cu cheia:
BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
Ce reprezinta acest mesaj?
Pentru a decripta fisierul acesta se deschide, din meniul Crypt/Decrypt, din
Symmetric
se alege IDEA si se introduce cheia. Fisierul cryIDEA contine:
!!"Nimic nu-i mai de ras ca plansul in ochii unui luptator"!!
5 Securitatea reelelor
5.1 SSL Secure Socket Layer
O definiie,pe scurt, a ceea ce nsemna SSL Secure Socket Layer:
SSL este un protocol dezvoltat de Netscape pentru transmiterea documentelor
particulare de-a lungul Internetului. Folosete un sistem de criptografie care utlizeaz 2
chei pentru criptarea datelor: o cheie public cunoscut de toi utlizatorii i o cheie
secret cunoscut doar de cel care transmite mesajul. Netscape Navigator i Internet
Explorer suporta SSL i foarte multe site-uri web folosesc protocolul pentru a obine
informaii confideniale ale utilizatorilor cum ar fi carile de credit.
1. Convenional URL-urile care implementeaz conexiunile SSL ncep cu
https:// n loc de http://
2. SSL folosete o conexiune sigur ntre un client i un server, conexiune prin
care oricare date pot fi transimse sigur.
3. Protocolul a fost aprobat de IETF (Internet Engeenering Taskforce) ca
standard.
39
SSL-Obiective i arhitectura
Obiectivele principale ale protocolui SSL sunt:
1. Autentificarea clientului i serverului unul fa de cellalt . SSL permite utilizarea
tehnicilor standard de criptare (cu cheie public) pentru a permite autentificarea
celor doua pri. Dei cele mai frecvente aplicaii constau in autentificarea unui
serviciu client pe baza unui certificat, SSL poate folosi aceste metode i pentru a
autentifica clientul.
2. Asigurarea integritii datelor: n timpul unei sesiuni datele nu pot fi falsificate.
3. Asigurarea confidenialitaii datelor: datele de transport dintre client i browser
trebuie protejate de interceptarea i citirea lor. Acest lucru este necesar att pentru
datele asociate cu protocolul nsui (securizarea traficului n timpul negocierii) ct i
pentru datele aplicaiei care sunt transmise n timpul sesiunii. Privit din acest punct
de vedere SSL este mai mult un set de protocoale dect unul singur. SSL poate fi
divizat pe 2 niveluri:
- Protocolul care asigur securitatea i integritatea datelor SSL Record
Protocol (Protocolul de nregistrare SSL)
- Protocolul care stabilete conexiunile SSL. Alte 3 protocoale sunt folosite la
acest nivel: Protocolul SSL Handshake (Protocolul dialogului de confirmare ),
Protocolul SSL Change Cipher (Protocolul modificare de cifru SSL) i
Protocolul SSL Alert (Protocolul de alert SSL).
Stiva de protocoale SSL este prezentat n figura de mai jos:
Protocolul
SSL Handshake
(dialogul de confirmare
SSL)
Protocolul
SSL Cipher Change
(modificare cifru)
Protocolul
SSL Alert
(alert SSL)
Protocol
La nivel aplicaie (ex.
HTTP)
Date1
Date 2
Date 3
Pachete de date
Date comprimate
criptare
Cod MAC
Date criptate
Transmisie
Pachet TCP
41
Hello-client
Faza1
Hello-server
Certificat
e
Transmitere cheie server
Faza 2
Faza 3
Schimb cifru
Stop
Faza 4
Schimb cifru
Stop
Figura 10.4 :Stabilirea unei sesiuni SSL intre server i client
Faza 1: n timpul primei faze, o conexiune logic trebuie iniiat ntre client i server,
urmat de negocierea parametrilor. Clientul trimite un mesaj de salut serverului care
conine date cum ar fi :
- cea mai noua versiune SSL pe care o folosete,
- date aleatoare folosite pentru protecia cheii de sesiune,
- id-ul sesiunii : numrul de identificare al sesiunii. O valoare diferit de 0 indic faptul
c un client dorete s actualizeze parametrii conexiunii sau s stabileasc o noua
conexiune a acestei sesiuni. O valoare egal cu 0 indic dorina clientului de a
stabili o noua conexiune ,
- lista cu cifruri : o list de algoritmi de criptare i metode de schimb ale cheilor
suportate de ctre client.
- Serverul, ca mesaj de rspuns fa de client trimite, de asemenea, un mesaj de
salut clientului coninnd aceleai cmpuri ca la mesajul primit:
- versiunea :cea mai veche versiune a protocolului SSL suportat de server;
- date aleatoare;
- id-ul sesiunii: dac cmpul clientului este diferit de 0 se pstreaz valoarea, altfel
id-ul de sesiune al serverului conine o valoare pentru o sesiune noua.
Lista de cifruri: o mulime de protocoale selectate de server dintre cele propuse de
client. Primul element al acestui cmp este metoda aleas pentru schimbul cheilor de
criptare, urmtorul element specific algoritmul de criptare i funciile hash care vor fi
folosite.
Faza 2: Serverul ncepe urmtoare faz a negocierii trimind certificatul sau
pentru a fi autentificat de ctre client. Acest pas nu este obligatoriu i poate fi omis dac
42
metoda negociat pentru schimbul de chei nu cere transmiterea certificatului. Pasul final al
fazei 2 este mesajul de rspuns al serverului. Dupa trimiterea acestui mesaj se asteapt
un rspuns.
Faza 3: La primirea mesajului clientul ar trebui s verifice certif icatul serverului,
precum i ceilali parmetrii transmii de server odat cu mesajul de salut.
Faza 4: Const n confirmarea mesajului primit i verificarea datelor. Clientul trimite
un mesaj cu lista de cifruri i apoi fixeaz parametrii i cheile algoritmilor, clientul trimite
mesajul de inchidere care este protejat prin intermediul algoritmului i cheilor secrete.
Astfel se confirma dac parmetrii negociai i datele sunt corecte. Serverul, ca rspuns al
mesajului client trimite aceeai secvena de mesaj. Dac mesajul de final este corect
atunci datele transmise, algoritmii negociai i cheia de sesiune sunt corecte. Acestea
indic faptul c sesiunea s-a terminat i este posibil transmiterea datelor aplicaei ntre
client i server prin SSL. n final, sesiunea TCP ntre client i server este nchis.
Perspective
In 1996 IETF a incercat s dezvolte o metod standard de securizare a
comunicaiilor n Internet. Au adoptat ca standard versiunea 3.0 a Protocolului SSL, nsa in
1999 au definit noul protocol Transport Layer Security (TSL) versiunea 1.0. Scopul acestui
protocol era acela de a furniza securitatea i integritatea datelor la nivelul de transport
ntre dou aplicaii web. Mai mult chiar, au fost adaugate cteva caracteristici noi :
introperabilitatea i expandibilitatea.
5.2 VPN
VPN (Virtual Private Network) este o conexiune privat ntre dou sau mai multe
reele sau calculatoare care trimit date protejate peste o reea public de date sau prin
Internet. Reeaua virtual privat ofera astfel posibilitatea folosind o infrastructur de reea
public, asa cum este Internetul.
Acest serviciu este cea mai eficient cale de satisfacere a cerinelor clienilor care
au ntr-adevr nevoie de transmisii securizate de date, de capacitate ridicat i vitez
mare. Serviciul permite realizarea unei reele private n cadrul companiilor, ceea ce implic
un risc minim din punct de vedere al securitii transmisiilor. Suport viteze mari de
transmisie date de pn la 34 Mb/s, folosind tehnologia radio de band larg. Se ofer
astfel avantajul mobilitii i al uurinei n instalare i exploatare, ct i avantajul realizrii
de comunicaii folosind o lime de band foarte mare.
Traficul VPN poate fi transmis pe infrastructura public (ex: pe Intenet), folosind
protocoale standard (i deseori nesigure), sau peste reeaua unui provider de servicii de
telecomunicaii care furnizeaza servicii VPN bine definite de SLA (Service Level
Agreement) intre consumatorul VPN i furnizorul de servicii VPN.
VPN-urile securizate folosesc tuneluri criptate(principiul tunerrii) pentru a avea
confidenialitatea necesar, autentificarea parilor i integritatea mesajelor. Atunci cnd
sunt corect alese, implementate i folosite, aceste tehnologii pot furniza comunicaii
securizate peste reele nesigure.
Tehnologii pentru VPN-uri securizate pot fi folosite pentru mbunatatirea securitaii
sau ca patur de securitate peste infrastructuri de reea dedicate.
Tipuri de VPN:
1. Intranet VPN - Un VPN Intranet conecteaz mai multe sedii fixe ale unei companii.
indiferent de locaie, utilizatorii vor avea acces la toate resursele reelei locale.
2. Remote Access VPN - Un VPN Remote Access conecteaz un utilizator mobil la
reeaua companiei. utilizatorul mobil se conecteaz la Internet din diferite locuri
(exemplu: folosind dial-up).
3. Extranet VPN - Un VPN Extranet face conexiunea ntre o corporaie i partenerii
strategici de afaceri (distribuitori, furnizori, clieni), pentru a le permite acestora
accesul sigur la o parte a reelei Interne a companiei.
43
44
Bonzi Buddy
eAcceleration Software Station and Threat Scanner
Smiley Central, with PopSwatter and MyWebSearch
Freeze.com's "Living Rainforest"screensaver
Weatherbug
46
Kazaa
iMesh
Grokster
Dupa instalarea acestora impreuna cu altii intrusi (in general intrusii atrag alti
intrusi) au inceput sa apara nedoritele pop-up-uri cu reclame, cauzand frecvente caderi ale
Internet Explorer-ului i de asemenea o incetinire a sistemului.
-
De asemenea nu s-a atins de multe fiiere din Tempory Files. Un alt dezavantaj al sau
este faptul ca este singurul program testat care a cerut bani pentru update-ul datelor.
Softul vine cu un an gratis pentru updates. Cel mai mare neajuns al sau este ca nu este
un soft gratuit. Dat fiind ca exista subtituenti care sunt gartis este destul de greu sa alegi in
schimbul acestora Spyware Doctor. Nota primita de cei care au condus testul este 8.
Site-ul de unde se poate descarca:http://www.pctools.com/spyware-doctor/
SpySubtract
Dupa ce ai instalat acest soft iti cere adresa mai, acesta este destul de ciudat daca
te gandesti ca utilizatorii acestui soft sunt oameni a caror intimitate a fost
incalcata.Trecand peste acest lucru scanarea facuta a fost destul de eficienta, dar a avut
probleme cu BroadCastPC i VX2 ca multi altii. De asemenea a ignorat incercarile hijackerilor de browser. Are de asemenea o facilitate de a cauta hardul de fiiere care au fost
create cam in acelasi timp impreuna cu alte nume de aplicaii. Marea majoritate a
problemelor acestui soft sunt legate de faptul ca porgramul se interpune cu el insusi. Pana
cand cei care l-au dezvoltat nu vor rezolva aceasta problema utilizatorii se vor orienta
pentru alte produse de pe piata. Nota primita de cei care au condus testul este 5.
Site-ul de unde se poate descarca: http://www.spysubtract.com/
Ad- Aware SE 6 Personal
Este un soft bun i care este de asemenea gratuit, lucru care a atras foarte multi
utilizatori. Reputatia lui este bine meritata. A fost singurul soft care a reusit cu succes sa
restaureze functionalitatea sistemului de test. Reputatia lui i-au adus i probleme. Exista
niste intrusi care pur i simplu iti dezinstaleaza Ad-Aware de pe calculator. Are o interfata
foarte clara i prietenoasa pentru oricine. Scanarea se face repede. Informaii detaliate
apar pe parcursul intregului proces. Cel mai bun lucru la Ad-Aware pe langa faptul ca cu
toate ca reusesti sa-ti refaci sistemul, nu ti se pare ca ii predai cu totul controlul asupra
calculatorului. Ad-Aware devine confuz abea dupa ce s-a terminat scanarea. O lista mare
i bogata te intimideaza, mai ales cand este prezentata in trei formate diferite. Cauza
principala este ca nu stii ce este de facut dupa terminarea scanarii.
Ad-Aware a detectat i a sters marea majoritate a intrusilor prezenti in sistemul de
test, inclusiv BroadCastPc i VX2. Spybot a detectat cateva resturi, dar nimic care sa
afecteze performantele sistemului.
Ad-Aware este un soft care isi merita reputatia. Este rapid, eficient i este gratis.
Putine programe pot sa se mandreasca cu aceste performante. Nota primita de cei care
au condus testul este 9.
Site-ul de unde se poate descarca:http://www.lavasoft.de/
4. Daca un calculator are blocat cu ajutorul FW portul 80, ce semnificatie ar putea avea
lucrul acesta?
Accesul de pe calculatorul respectiv in exterior, prin intermediul portului 80, sau din
exterior la orice serviciu ce ruleaza pe portul 80 e restrictionat.
Portul 80 e portul implicit folosit de serverele Web pt. tranzactii. Daca accesul la
acest port e blocat, paginile de web nu mai pot fi accesate.
5. Dati 3 exemple de programe FW.
1.) NortonFirewall
2.) ZonaAlarm
3.) BitDefender Firewall
4.) Windows Firewall
6. Ce rezultat are comanda "nmap -O gazda" ? Explicati pe scurt
Aceasta comanda este folosita pentru aflarea sistemului de operare de pe masina
gazda.
7. Cate porturi scaneaza implicit nmap?
Implicit scaneaza 1660 de porturi (fisierul nmap-services).
8. Ce semnificatie are un port filtrat?
Un port filtrat este un port controlat de un firewall
9. ce semnificatie are un port inchis?
Un port poate fi inchis de firewall. Un port inchis nu primeste cereri sau pachete
10. scrieti parametrii comenzi pentru scanarea porturilor de la 2500 la 10250.
nmap -p 2500-10250 gazda
49
6.2 Optiuni
Bash interpreteaza urmatoarele optiuni atunci cand este apelat:
-c string
Daca aceasta optiune este prezenta, comenzile sunt citite dintr-un string. Daca sunt
argumente dupa string, ele sunt atribuite parametrilor de intrare, incepand cu $0;
-i
Daca aceasta optiune este prezenta, shell-ul este interactiv.
-l
Bash se comporta ca si cand ar fi apelat ca un login shell.
-r
Daca aceasta optiune este prezenta, shell-ul devine restrictiv.
-s
Daca aceasta optiune este prezenta, fara alte argumente, comenzile sunt citite din
fisierul standard de intrare. Aceasta optiune permite setarea parametrilor atunci cand este
apelat shell-ul interactiv.
-D
Este tiparita o lista a tuturor string-urilor intre ghilimele si precedate de $ la iesirea
standard. Aceasta optiune seteaza implicit si optiunea n, adica nu se va executa nici o
comanda.
[-+]O [shopt_option]
shopt_option este una din optiunile shell acceptate de shopt builtin. Daca
shopt_option este prezent, -O activeaza valoarea acelei optiuni; +O deactiveaza
acea valoare. If shopt_option nu este inlocuit, numele si valorile optiunilor shell
acceptate de shopt sunt tiparite la iesirea standard. Daca apelarea este +O, iesirea
este afisata intr-un format care poate fi folosit si ca intrare.
-Mentioneaza sfarsitul optiunii si dezactiveaza setarea altor optiuni in vii tor. Orice
argument dupa -- este tratat ca fiind numele unui fisier sau numele unor argumente.
Bash poate interpreta si optiuni formate in mai multe caractere. Aceste optiuni
trebuie sa apara in linia de comanda inainte de caracterul pentru a fi recunoscute.
--dump-po-strings
Este echivalent cu D, dar iesirea este in format GNU gettext po (portable object)
--dump-strings
Este echivalent cu D.
--help
Afiseaza un mesaj privind optiunea specificata, la iesirea standard.
--init-file file
--rcfile file
Executa comenzi dintr-un fisier si nu de la initializarea standard ~/.bashrc, daca
shell-ul este interactiv.
--login
50
6.3 Argumente
Daca raman argumente dupa precizarea optiunilor comenzii, si nu a fost setata
optiunea c sau s, primul argument este considerat ca fiind numele fisierului care contine
comenzile shell, iar restul parametrilor sunt considerati ca fiind parametrii de intrare.
6.4 Rulare
Un login shell este acela al carui prim caracter din lista de argumente este -, sau
optiunea login.
Un shell interactiv etse cel ce incepe cu argumente non-option si fara optiunea c ale
carei intrari si iesiri sunt conectate la terminale, sau care incepe cu optiunea i.
Cand bash este apelat ca si un login shell interactiv, sau ca un shell neinteractiv dar cu
optiunea login, mai intai citeste si executa comenzi din fisierul /etc/profile, daca acesta
exista. Dupa ce a citit din acest fisier, se cauta fisierele ~/.bash_profile, ~/.bash_login, si
~/.profile, in aceasta ordine si citeste si executa comenzi din primul care exista.
Cand un shell login exista, bash citeste si executa comenzi din fisierul ~/.bash_logout,
daca acesta exista.
Cand este apelat sub forma sh, el incearca sa imite comportamentul versiunilor
anterioare de sh, tinand cont de standardele POSIX.
Cand este apelat in modul posix, ca si in cazul in care este setata optiunea --posix, el
se adapteaza standardului POSIX in ceea ce priveste fisierele de care are nevoie la
lansare.
Bash determina cand este rulat de remote shell daemon, sau rshd. In acest caz, citeste
si executa comenzi din fisierul ~/.bashrc, daca acel fisier exista. Optiunea --norc poate fi
utilizata pentru a opri acest comportament, la fel cum optiunea --rcfile poate forta citirea
altui fisier.
51
//corespunzatoare
//rezultatul este 0 daca nu s-a gasit nici o asemanare sau valoarea
//ultimei comenzi executate
if list
then
//se executa comenzile din lista cat timp ultima comanda din
//lista returneaza valoarea 0
//valoarea finala va fi cea a ultimei comenzi executate
//sau zero daca nu s-a executat nici una
until list
do
list
done
//se executa comenzile din lista cat timp ultima comanda din
//lista returneaza o valoare nenula
//valoarea finala va fi cea a ultimei comenzi executate
//sau zero daca nu s-a executat nici una
[ function ] name ()
{
list
}
Caractere speciale
\a alert (bell)
\b backspace
\e caracterul escape
\f form feed
\n new line
\r carriage return
\t horizontal tab
\v vertical tab
\\ backslash
\' single quote
\nnn caractetul a carui valoare in octal este nnn
\xHH caractetul a carui valoare in hexazecimal este HH
\cx un x-caracter de control
6.6 Parametrii
Parametrul este o entitate care retine o valoare. Poate fi un nume, un numar sau unul
din caracterele speciale mentionate anterior. Daca nu se atribuie nici o valoare se va
atribui implicit valoare null.
name=[value]
Parametrii speciali
*
//$* va reprezenta toti parametrii din linia de comanda
53
@
//$@ este echivalent cu $1 $2; daca nu sunt parametrii va fi null
#
//numarul de parametrii din linia de comanda
?
//linia de comanda cel mai des executata
//optiunile setate
$
//ID-ul pentru shell
!
//ID-ul procesului cel mai des executat in background
0
//numele fisierului shell script
_
//numele absolut al numelui fisierului script
${parametru} //se va obtine valoarea parametrului
Substituirea comenzilor
Sunt doua forme de a substitui numele comenzii:
$(command)
sau
`command`
Sabloane
*
//orice string, inclusiv null
?
//potrivirea unui caracter
[...]
//orice caracter din lista
?(pattern-list) //una sau nici o aparitie a sablonului
*(pattern-list) //una sau mai multe aparitii ale sablonului
+(pattern-list) //una sau mai multe aparitii ale sablonului
@(pattern-list)
//una sau mai multe aparitii exacte ale sablonului
!(pattern-list) //orice caracter care nu se potriveste cu sablonul dat
Redirectare
< este folosit pentru a redirecta intrarea standard, iar > pentru a redirecta iesirea standard.
Pentru adaugare se foloseste operatorul >>.
Operatori
id++ id-//post-incrementare si post-decrementare
++id --id
//pre-incrementare si pre-decrementare
-+
//scadere si adunare unare
!~
//negatie logica pe biti
**
//exponential
*/%
//inmultire, impartire, rest
+//adunare si inmultire
<< >>
//shiftare pe biti
<= >= < >
//comparari
== !=
//egalitate si neegalitate
&
//si pe biti
^
//sau exclusiv pe biti
|
//sau pe biti
&&
//si logic
||
//sau logic
expr?expr:expr
//expresie conditionata
= *= /= %= += -= <<= >>= &= ^= |=
EXPRESII CONDITIONATE
-a file
//adevarat daca fisierul exista
-b file
//adevarat daca fisierul exista si e un fisier block special
-c file
//adevarat daca fisierul exista si e un fisier caracter special
-d file
//adevarat daca fisierul exista si e director
54
-e file
//adevarat daca fisierul exista
-f file
//adevarat daca fisierul exista si e un fisier obisnuit
-s file
//adevarat daca fisierul exista si are dimensiunea mai mare de 0
-r file
//adevarat daca fisierul exista si poate fi citit
-w file
//adevarat daca fisierul exista si poate fi scris
-x file
//adevarat daca fisierul exista si poate fi executat
file1 -nt file2 //adevarat daca file1 este mai recent decat file2, sau daca file1 exista si file 2
nu
file1 -ot file2 //adevarat daca file1 este mai vechi decat file2, sau daca file2 exista si file 1
nu
-z string
//adevarat daca dimensiunea string-ului este 0
-n string
//adevarat daca dimensiunea string-ului nu este 0
string1 == string2 //adevarat daca sunt egale
string1 != string2
//adevarat daca nu sunt egale
string1 < string2
//adevarat daca string1 este mai mic decat string2
string1 > string2
//adevarat daca string1 este mai mare decat string2
arg1 OP arg2
unde OP poate fi -eq, -ne, -lt, -le, -gt, or -ge. Aceste operatori returneaza adevarat daca
arg1 e egal, nu e egal, e mai mic, e mai mic sau egal, e mai mare, e mi mare sau egal
decat arg2. Arg1 si arg2 sunt valori intregi.
Exemple
1. Se cere un fisier de comenzi care are in linia de comanda un nume de fisier f si un
numar n. Se cere crearea fisierului f prin concatenarea fisierelor f.1, f.2, ..., f.n. Daca unul
din aceste fisere nu exista el va trebui creat si va trebui sa contina textul "Eroare: acest
fisier nu a existat inainte de executia comenzii".
if test $# -ne 2
//daca nu s-au dat doi parametrii
then
//se va tiparii un mesaj de eroare
echo "Comanda are nevoie de 2 parametri!" //si nr parametrilor introdusi
echo "Ati introdus $#"
else
//daca sunt doi parametrii
if test -s $1
//daca fisierul dat ca prim parathen
//metru exista deja se va afisa un
echo "Fisierul specificat deja exista" //mesaj de atentionare
else
//daca nu exista
i=0;
//se seteaza i la 0 adica nu s-a
while test $i != $2
//creat nici un fisier
do
//cat timp mai trebuie create fis.
let i=i+1
//se trece la unul nou
if test -s $1$I
//se verifica daca exista
then echo ""
//daca da nu se tipareste nimic
else
//daca nu exista se creaza si se
echo "Eroare: acest fisier nu a existat inaite de executia comenzii">>$1$i
fi
//tipareste textul in el
cat>>$1<$1$I
//se adauga fisierul nou creat la
done
//sfarsitul celui cerut a se crea
fi
fi
55
2. Un fisier de comenzi care ordoneaza dupa numarul de cuvinte continute, fisierele date
ca si parametrii.
if test $# -eq 0
//daca nu se da nici un parametru
then
//se va afisa un mesaj de eroare
echo "Nu sunt parametrii!!"
else
if test -e sort.txt
//daca exista fisierul sort.txt
then
//se va sterge pentru a nu se
rm sort.txt
//suprapune datele
fi
touch sort.txt
//se creaza fisierul
while test $# -ne 0
//cat timp mai sunt fisiere in linia
do
//de comanda
if test -s $1
//daca exista fisierul dat
then
nc=`cat $1|wc -w`
//se numara cate cuvinte contine
echo $nc $1 >> sort.txt
//se tipareste in fisier nr lor si
fi
//numele fisierului
shift
//se trece la urmatorul parametru
done
sort -g -r sort.txt > sort1.txt
//se sorteaza fisierul dupa nr de
cat sort1.txt
//cuvinte si se tipareste
fi
3. Sa se scrie un program Shell care primeste ca parametri doua nume de directoare si
muta ramura desemnata de cel de-al doilea director ca subramura a primului, adaugand
extensia .unu la fiecare fisier.
if test $# -ne 2
//daca nu s-au dat doi parametri apare un
then
//mesaj de avertizare
echo "Sunt necesari doi parametrii."
else
mv $2 $1
//se muta cel de-al doilea subdirector ca ramura
cd $1
//a primului
temp=`find $2`
//se schimba calea curenta la primul director si
for f in $temp
//continutul lui se depune in variabila temp
do
//fiecare element din temp se verifica daca
if test -d $f
//este director si daca da nu se face nimic
then
//daca este fisier se redenumeste prin
sleep 1
//adaugarea la numele lui a extensiei .unu
else
if test -e $f
then
rename $f $f.unu $f
fi
fi
done
fi
4. Un fisier de comenzi care din 10 in 10 secunde ( folosind un ciclu while) afiseaza
incarcarea sistemului (comanda uptime) si spatiul ocupat pe disc.
while true
//intr-un ciclu infinit
do
56
sleep 10
uptime
du -k c
done
5. Se da un fisier (sau mai multe) cu utilizatori. Sa se scrie un fisier de comenzi care din 20
in 20 de secunde trimite un mesaj (aflat intr-un fisier primit ca si parametru) utilizatorilor din
fisierul (sau fisierele) respective.
//unspe.sh
if test $# -lt 2
//daca nu sunt cel putin 2 parametrii
then
//se tipareste mesaj de eroare
echo "Comanda are nevoie de cel putin 2 parametri!"
echo "Ati introdus $#"
else
mesaj=$1
//se retine primul parametru ca fisier cu
shift
//mesaj si se trece la urmatorul
fis=$*
//se retin toti parametrii din linia de
while test $# -gt 0
//comanda
do
//cat timp mai sunt fisiere cu utilizatori
cat $1 | sh tipmesaj.sh $mesaj
//continutul unuia este intrare pentru
shift
//tipmesaj.sh si se trece la urmatorul
done
//dupa ce s-au terminat fisierele se reia
sh unspe.sh $mesaj $fis
//ciclul cu aceiasi parametrii
fi
//tipmesaj.sh
while read v
//continutul fisierului primit la intrare
do
//se citeste linie cu linie
sleep 20
//se asteapta 20s
mail -s "Mesaj din fisier" $v < $1 //se trimite un mail cu subiect Mesaj
done
//continutl va fi fisierul venit din exterior
afiseaza numele fisierului sters si proprietarul acestuia. Numele fisierului sters si ora la
care a fost sters se vor salva in fisierul Lost_Files.
5. Fiind dat un program sursa Pascal, sa se determine pentru fiecare procedura definita in
program numarul locurilor unde este apelata, afisandu -se si numerele de linii din program
unde apar aceste apeluri.
6. Sa se scrie un program de supraveghere care actioneaza astfel: la fiecare conectare si
deconectare din sistem a unor anumiti utilizatori (furnizati ca parametri) va salva intr -un
fisier numele, ora, daca este vorba despre conectare sau deconectare si serverul la care
s-a produs actiunea.
7 Bibliografie
1. Lars Klander, "Anti-hacker. Ghidul securittii reelelor de calculatoare", ALL
Educational, Bucuresti, 1998
2. Andrew S. Tanenbaum, "Reele de calculatoare", Ed. Computer Press Agora, 1997,
Internet
3. Gary McGraw , The Role of Architectural Risk Analysis in Software Security
4. Tom Welsh, The Security Risks of Modern distributed Systems
5. http://web.mit.edu/kerberos/
6. http://www.javvin.com/protocolKerberos.html
7. http://en.wikipedia.org/wiki/Kerberos_(protocol)
8. http://www.isi.edu/gost/publications/kerberos-neuman-tso.html
9. http://www.cs.cmu.edu/~mihaib/articles/kerberos/kerberos-html.html
10. http://www.byte.ro/byte95-03/mon4.html
11. http://www.generation5.org/
12. http://www.tibs.org
13. http://www.smartcardbasics.com/
14. http://sumitdhar.blogspot.com/
15. Tehnologii Semntura Electronic, Revista ComputerWorld Romnia, august 2002
16. http://www.pki-page.org/
17. http://en.wikipedia.org/wiki/PKI
18. http://www.webopedia.com/TERM/P/PKI.html
19. http://ospkibook.sourceforge.net/
20. http://en.wikipedia.org/wiki/Secret_sharing
21. http://szabo.best.vwh.net/secret.html
22. http://www.x5.net/faqs/crypto/q103.html
23. http://www.cs.cornell.edu/Courses/cs513/2000SP/SecretSharing.html
24. http://arstechnica.com/reviews/apps/spyware-removal.ars/1
25. http://www.irchelp.org
58