criptarea cu parolă a fișierelor -...
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ă
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