Criptarea cu parolă a fișierelor -...

Post on 06-Mar-2020

8 views 0 download

transcript

Cursul XIV. Stocarea sigură.

Testarea securității prin penetrare

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

Laptopuri pierdute� Laptopurile pierdute sau uitate sunt ceva obișnuit

� În aeroporturile din SUA cca 12000/saptamână� Costul mediu pentru o firmă al unui laptop pierdut este de $50K

� Costurile includ scurgeri de informații, pierderi de proprietate intelectuală, forensics, pierderi de productivitate, cheltuieli legale și de reglementare

� Scurgerile de informații sunt mai serioase decât pierderile hardware� Criptarea scade costul cu $20K� Existența copiilor de siguranță complete cresc costul

� C0sturile rezultate din scurgerea de informații sunt estimate la $200/înregistrare client� Costurile directe cuprind descoperirea, notificarea și răspunsul� Costurile indirecte includ cifra de afaceri a clientului (pierderi mai mari

și achiziții mai mici)� Datele pot fi copiate și când laptopul este nesupravegheat

� Sursa: Ponemon Institute. Research Studies & White Papers: Security

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

Alte scenarii de protecție a datelor� Apărarea împotriva pierderii drive-urilor USB și a

smart phones

� Apărarea împotriva software rău-intenționat care fură date

� Apărarea împotriva confiscării echipamentelor

� Donarea mașinilor casate

� Reciclarea mașinilor învechite sau defecte

� Copii de siguranță Off-site

� Stocarea pe Cloud

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

Criptarea cu parolă a fișierelor� Microsoft Office 97/2003

� Cheie de cifrare de 40-bit� Spargere garantată în 2 săptămâni cu un PC standard

� Microsoft Office 2007� Criptare AES� Cheia implicită de 128-bit poate fi crescută la 256� Cheia secretă derivată din parola „sărată” prin calcularea dispersiei

SHA-1 iterativ de 50,000 de ori� Adobe Acrobat 9

� Criptare AES� Chei de 256-bit� Cheia secretă derivată din parola „sărată” folosind o dată SHA-256, care

este mai rapid decât SHA-1� Elcomsoft vinde instrumente de recuperat parole

� Încercări pe secundă: 5K Office 2007 vs. 75M for Acrobat 9

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

Cifrarea sistemului de fișiere� Cifrarea discurilor

� Cifrare la nivel de bloc

� Cifrarea discului fizic sau a celui logic

� BitLocker în Windows Vista și 7

� TrueCrypt open source software

� Cifrarea sistemului de fișiere� La nivel de fișier

� Encrypting File System (EFS) în Windows

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

Partajarea fișierelor cifrate� Soluția A

� Cifrează fișierul cu cheia simetrică K� Distribuie cheia utilizatorilor autorizați� Utilizatorii trebuie să păstreze multe chei� Revocarea unui utilizator necesită redistribuirea noii chei

� Soluția B� Chei simetrice diferite K1, …, K

n pentru cei autorizați

� Fișierele cifrate cu fiecare dintre chei (pentru fiecare utilizator)� Ineficientă din perspectiva spațiului și a timpului de calcul

� Soluția C� Cifrează fișierul cu cheia simetrică unică K� Cifrează K cu cheile publice ale utilizatorilor autorizați PK1, …, PK

n

� Stocarea împreună cu fișierele EPK1(K), …, EPKn(K)

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

Encrypting File System (EFS)� Disponibil în Windows de la Windows 2000� Caracteristici

� Operează transparent oferind cifrare/descifrare automată a fișierelor din directoarele specificate

� Protejează conținutul, iar nu numele sau alte meta-date� Suportă partajarea fișierelor cifrate� Cheile sunt deblocate la logon reușit� Ultima versiune folosește RSA, SHA-256 și AES

� Probleme� Protecția este locală pentru sistemul de fișiere

� Fișierele copiate pe alt sistem de fișiere sunt decriptate� Atașamentele la Email sunt trimise decriptate

� Conținutul fișierelor se poate scurge în fișiere temporare neprotejate� Gestiunea cheilor este greoaie

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

Cheile EFS

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

� Utilizatorii au perechi de chei publică-privată� Fiecare fișier este cifrat cu o cheie de

cifrare fișier (FEK) simetrică diferită� FEK este cifrată cu cheia publică a

proprietarului și a altor utilizatori autorizați

� Data Decryption Fields (DDF) stocate în antetul de fișier (metadate)� ID al utilizatorului autorizat� FEK cifrat cu cheia publică a

utilizatorului� Data Recovery Fields (DRFs)

furnizează FEKs suplimentare, asociate cu agenții de recuperare

Lucrul cu EFS� Criptarea inițială

� Fișierul este cifrat când e creat sau inițializat EFS� Este creat DDF al proprietarului și adăugat la antetul

fișierului

� Adăugarea unui nou utilizator autorizat� Este creat DDF al noului utilizator și adăugat la antetul

fișierului� Oricare utilizator autorizat poate adăuga utilizatori

� Înlăturarea unui utilizator autorizat� DDF al utilizatorului revocat este înlăturat din antetul de

fișier� Fișierul ar trebuie re-cifrat cu noua FEK, dar nu e …

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

BitLocker� Țintește scenariul laptop pierdut

� Criptează volume NTFS

� Toate sectoarele discului sunt cifrate folosind cifru simetric

� Cheia o poate da utilizatorul la momentul boot� Frază de trecere

� Token hardware

� Cheia se poate stoca într-un cip criptografic special care o eliberează după ce verifică integritatea sistemului� Trusted Platform Module (TPM)

Arhitectura BitLocker� Volumele

� Volum de boot de dimensiuni mici, necifrat� Volum de dimensiuni mari, cifrat, are stochează

restul SO și fișierele utilizator

� Cheile� Volume Master Key (VMK)

� Deblocarea: prin procedura de autentificare� Cheia de cifrare a întregului volum

� Folosită la cifrarea sectoarelor volumului cifrat� Stocată pe volumul de boot cifrată cu VMK� Se păstrează în memorie si nu se scrie niciodată

pe disc în clar (necifrată)

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

Pornirea și funcționarea�Procedura de autentificare verifică

integritatea sistemului și desigilează VMK

�VMK se folosește la decriptarea FVEK, care este păstrată în memoria internă

�Pentru fiecare sector de disc accesat

�Decriptare la citire

�Criptare la scriere

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

Criptarea sectoarelor de disc� Fiecare sector este cifrat indepedent

� Nu se pot creea dependențe inter-sector� Viteza este esențială

� Criptarea/decriptarea la aceeași viteză sau mai bună decât rata maxima I/O a discului într-un laptop standard

� Nu se folosește verificarea integrității� Dimensiunile sectoarelor sunt puteri ale lui 2 (512B până la 8,192B)� Adăugarea unui MAC ar dubla spațiul necesar� Cifrurile bloc sunt vulnerabile la atacurile cu bit-flipping (atacatorul

poate modifica textul cifrat astfel încât să rezulte o modificare predictibilă a textului în clar, deși atacatorul nu poate afla textul în clar în sine) în toate modurile de cifrare simetrică

� Textul în clar al SO și codul aplicațiilor este predictibil� Principii de proiectare criptografică [Ferguson, 2006]

� Cifrarea este autentificarea săracului� Se preprocesează fiecare bloc pentru a obține difuzia� AES în mod CBC cu vector de inițializare (IV) dependent de sector

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

Trusted Platform Module

(TPM)� Este un cripto procesor (cip)

� Montat pe placa de bază� Rezistent la intervenții� Păstrează cheia rădăcină, K, care nu este eliberată niciodată� Are câteva registre de configurare a platformei (PCRs), care au valori fixe la

power up� Operația seal (sigilare)

� Criptează cu cheia K textul clar dat p și îl asocciază cu un PCR i� Returneză textul cifrat c = EK(p) și MAC m = MAC(K,PCR[i])

� Operația unseal (desigilare)� Intrarea este un text cifrat c, PCR de index i, și MAC m� Decriptează textul cifrat c și returnează DK(c) if MAC(K,PCR[i]) = m

� Operația extend (extindere)� Singura operație suportată pe PCRs� Intrarea: data item x și PCR de index i� Socotește pasul de lanț de dispersie: PCR[i] = h(PCR[i], x)

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

Bootarea cu TPM

� Verificare de integritate multi-nivel� Permite autentificarea BitLocker fără intervenția utilizatorului

� Inițializarea� PCR extins cu straturi de cod SO de încredere (BIOS, boot loader,

kernel, etc.)� Cheia master a volumului (VMK) sigilată în PCR

� Boot de încredere� BIOS care nu permite intervenții asociat cu TPM� Fiecare strat de cod extinde PCR cu următorul strat� Dacă nu se verifică integritatea, PCR este extins cu o valoare

aleatoare � Execuția este transferată următorului strat de cod� VMK se poate desigila doar dacă integritatea tuturor straturilor a

fost verificată cu succes

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

Atacuri asupra TPM� Compromiterea TPM

� Extragerea datelor din Infineon TPM prezentată de către Christopher Tarnovsky la Black Hat DC 2010

� Bazată pe microprobing asupra substratului� Necesită instrumente specializate și e coplicat

� “Lest We Remember: Cold Boot Attacks on Encryption Keys”� Cheia de cifrare a volumului este stocată în memorie pentru a

decripta discul� RAM își păstrează conținutul după power down timp de 2-3

secunde în mod normal� Timpul de păstrare poate fi crescut până la o oră prin răcirea cipului

de memorie� Conținutul memoriei este accesat după boot de pe drive USB� Cheia este recuperată prin analizarea memoriei

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

Drives USB pierdute

� Milioane de USB flash drives sunt în uz și se pierd mii în fiecare zi potrivit unei estimări

� Securitatea sistemelor nu previne pierderea lor

� Dar putem încerca să evităm scurgerile de informație

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

Criptarea USB Flash Drives

� Într-o lume perfectă nu am stoca date sensibile pe dispozitive portabile� Toate datele sensibile ar trebui păstrate pe servere sigure.� Din nefericire, această abordare nu este întotdeauna practică

� Obiective de proiectare pentru criptarea datelor pe dispozitive portabile� Să ruleze doar pe dispozitiv� Să nu necesite instalarea pe gazdă� Să fie compatibile cu diferite platforme și sisteme de fișiere� Să ruleze dintr-un cont neprivilegiat� Să fie rapide și, dacă se poate, pe gratis …

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

TrueCrypt

� Software gratuit open-source pentru criptarea discurilor pe Windows 7/Vista/XP, Mac OS X și Linux� Disponibil la http://www.truecrypt.org

� Creează o zonă criptată (un disc virtual criptat) înlăuntrul unui fișier obișnuit

� În Windows, dacă utilizatorul furnizează parola corectă, fișierul devine un volum în My Computer și are literă de volum —exact ca un drive USB

� Fișierele copiate pe/de pe acest volum criptat sunt cifrate/descifrate din zbor, automat și transparent

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

Confiscarea laptopurilor și negabilitatea

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

� Laptopurile și alte dispozitive electronice pot fi inspectate și chiar conficate de către oamenii legii� De obicei este nevoie de mandat� Excepție notabilă: autoritatea de a căuta și confisca a Vamei

SUA� Scenariu descris în [Defeating Encrypted and Deniable File

Systems, Czekis et al., 2006]� Alice este un activist pentru drepturile omului care are info

sensibile pe laptop� Alice folosește TrueCrypt, dar este îngrijorată că poliția secretă

îi va cofisca calculatorul și îi va cere să divulge cheia de cifrare� Ea trebuie să-și protejeze datele astfel încât fișierele cifrate să

fie negabile: nimic nu ar trebui să indice poliției secrete că sunt fișiere ascunse pe calculatorul ei.

Negarea plauzibilă� Doctrină politică dezvoltată în SUA în anii 50

� Dacă se descoperă operațiuni ilegale să fie posibil să se nege orice legătură sau vină a conducătorilor

� Aplicată la operațiile CIA. (la invazia eșuată din Golful Porcilor din Cuba)

� În general, negarea plauzibilă se referă la

� Orice act care lasă dovezi puține sau de loc pentru nereguli sau abuz

� În limbajul calculatoarelor este abilitatea de a nega prezența datelor ascunse într-un container

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

Volum ascuns TrueCrypt

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

Volum ascuns TrueCrypt

� Amplasarea antenei şi suprimarea semnalului nucriptează datele

� Antena hackerului e mai bună

� Antenele direcţionale cu câştig mare pot culege semnale slabe de la kilometri distanţă

� Scăderea puterii de emisie poate afecta utilizatorii legitimi mai mult decât pe atacatori

� Vopselele/tapetele speciale Wi-Fi nu sunt 100% sigure şi sunt foarte scumpe

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

Unelte și metode

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

Testarea securității prin penetrare� Este:

� Testarea securității sistemelor și a arhitecturilor de securitate din perspectiva unui atacator (hacker, cracker …)

� Un “atac simulat” cu un obiectiv prestabilit care trebuie atins într-un interval de timp fixat

� NU este:� O alternativă la alte măsuri de securitate IT – ea

complementează alte teste� Un joc de capturat steagul, scump� O garanție a securității

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

Scrisoarea de autorizare� Înțelegeri detaliate/scopul

� Ce nu e voie?

� Intervalul de timp pentru testare?

� Este permisă ingineria socială?

� War Dialing?

� War Driving?

� Atacurile cu refuzul servirii?

� Trebuie definită ținta (the end point)

� Consultați un avocat înainte de a începe testarea

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

Informarea personalului� Prea multe persoane informate pot invalida testul

� Totuși, nu dorim ca resurse valoroase să urmărească un „intrus” inexistent prea mult timp

� Procedurile de ridicare a nivelului de alertă fac să fie riscantă neinformarea

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

OSSTMM� OSSTMM – Open-Source Security Testing

Methodology Manual

� Disponibil la http://www.isecom.org/research/osstmm.html

� Definește cum se face testarea fără a intra în utilizarea uneltelor

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

Etapele testului

� 1) Adunarea informațiilor

� 2) Scanarea adreselor IP

� 3) Amprentarea

� 4) Identificarea serviciilor vulnerabile

� 5) Exploatarea vulnerabilității (cu grijă!)

� 6) Rezolvarea problemelor descoperite ?

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

Adunarea informațiilor�Scopul – fiind dat numele companiei, să

determine informații cum sunt:

�Ce gamă de adrese au� WHOIS (arin.net …)

� Nslookup

� Informații personale� Ingineria socială

� Google

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

Scanarea adreselor IP

� Scopul – fiind dat un set de adrese să se determine ce

servicii și sisteme de operare rulează fiecare

� Unelte:

� Nmap – http://nmap.org

� Gfi languard – http://www.gfi.com/products-and-

solutions/network-security-solutions/gfi-languard

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

Amprentarea

� Ce server de web rulează?

� Ce conturi am descoperit?

� Ce servicii rulează?

� Ce sisteme de operare rulează?

� Cine este logat?

� Sunt info disponibile pe situl de web?

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

Identificarea serviciilor vulnerabile� Fiind date o adresă IP anume și un port, se încearcă să

se obțină accesul la o mașină. Se raportează toate vulnerabilitățile cunoscute pentru această țintă

� Unelte:� Nessus – http://www.tenable.com/products/nessus

� OpenVAS – http://www.openvas.org/

� …

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

Exploatarea vulnerabilității� Se încearcă exploatarea vulnerabiltăților, spre

exemplu:� Depășirea zonelor tampon

� Depășirea Heap

� Injecția SQL

� Injecția de cod

� Cross-site scripting

� Metasploit este un cadru care permite testarea atacurilor – http://www.metasploit.com/

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

Dezvăluirea vulnerabilităților

descoperite� Dacă găsim o vulnerabilitate nouă (Zero Day

Vulnerability) ce avem de făcut?� Să nu spunem nimic și să păstrăm secretul; poate în

viitor producătorul o va repara

� Să răspândim informația� la toată lumea sau doar la producător?

� La nivel de detaliu?� Dezvăluire completă cu posibilitatea ajutării crackerilor?

� Dezvăluire parțială care ar putea fi nefolositoare?

� Să o vindem…

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

Practic

� Încercăm în laborator…

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

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