Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Cursul 13Elemente de securitate
Utilizarea Sistemelor de Operare (USO)15 ianuarie 2016
Automatica si Calculatoare Cursul 13, Elemente de securitate 1/47
Moto
The only truly secure system is one that is powered off, cast in ablock of concrete and sealed in a lead-lined room with armed
guards - and even then I have my doubts.
Eugene H. Spafford
Automatica si Calculatoare Cursul 13, Elemente de securitate 2/47
Prelucrarea datelor
Automatica si Calculatoare Cursul 13, Elemente de securitate 3/47
Prelucrarea datelor
http://www.duckout.de/programming/do-funny-stuff-with-the-google-charts-api-and-php/
Automatica si Calculatoare Cursul 13, Elemente de securitate 4/47
Cuprins
Not, iuni de securitate
Securitatea sistemului de operare
Parole
Criptarea datelor
Concluzie
Automatica si Calculatoare Cursul 13, Elemente de securitate 5/47
Suport curs
I Suport (Introducere ın sisteme de operare)I Capitolul 10 – Elemente de securitate
Automatica si Calculatoare Cursul 13, Elemente de securitate 6/47
Cateva ıntamplari
I 6.46 million LinkedIn passwords leaked online (June 2012)I http://www.zdnet.com/article/6-46-million-linkedin-passwords-leaked-online/
I $12,000 computer (Project Erebus v2.5), 8 AMD Radeon HD7970 GPU cards
(August 2012)I are nevoie de 12 ore pentru a folosi brute force pe ıntreg spat,iul de parole de 8 caractere printabileI http://arstechnica.com/security/2012/08/passwords-under-assault/
I NSA infiltrates links to Yahoo, Google data centers worldwide, Snowden
documents say (October 2013)I http://www.washingtonpost.com/world/national-security/
nsa-infiltrates-links-to-yahoo-google-data-centers-worldwide-snowden-documents-say/
2013/10/30/e51d661e-4166-11e3-8b74-d89d714ca4dd_story.html
I The Heartbleed Bug (April 2014)I vulnerabilitate ın biblioteca OpenSSL, cea mai raspandita pentru comunicare criptateI http://heartbleed.com/
I Celebrity photo leak (September 2014)I ,,Security researcher reported brute force attacks were possible in March.”I http://arstechnica.com/security/2014/09/
apple-knew-of-icloud-api-weakness-months-before-celeb-photo-leak-broke/
Automatica si Calculatoare Cursul 13, Elemente de securitate 8/47
Problematica securitat, ii
I protect, ia informat, iilor pret, ioase (companii, institut, ii) sauprivate (persoane)
I Ce este un sistem sigur?I resursele sale sunt utilizate s, i accesate ın orice ımprejurare as, a
cum se dores, te
I Se poate obt, ine un sistem sigur?I Da. Complet izolat de lumea exterioara.I nu este util, nici flexibil
I Ce ınseamna securizarea unui sistem de calcul?I folosirea de metode de protect, ie suficient de puterniceI un potent, ial atacator va fi descurajatI compromiterea sistemului este greu de realizat
I Securitatea este un proces nu o finalitate
Automatica si Calculatoare Cursul 13, Elemente de securitate 9/47
Cerint, ele pentru securitate (IT)
I IT security, information security
I confident, ialitate
I protejarea resurselor
I auditiarea activitat, ilor (monitorizare)
I integritate
I autenticitate
I disponibilitate
I rulare conform as, teptarilor/standardelor (compliance)
I minimizarea riscurilor
Automatica si Calculatoare Cursul 13, Elemente de securitate 10/47
Roluri s, i privilegii
I agent, ii sunt entitat, ile active ıntr-un sistem: persoane, procese,departamente
I obiectele sunt resursele
I agent, ii au roluri, fiecare rol are anumite privilegii
I funct, ie de roluri, un agent poate executa anumite act, iuni s, ipoate avea anumite forme de acces la obiecte
Automatica si Calculatoare Cursul 13, Elemente de securitate 11/47
Principii ın securitate
I principiul celui mai mic privilegiu (least privilege)
I principiul separarii privilegiilor (privilege separation)
I security through obscurity vs. security by design
I cea mai slaba verigaI simplitate (feature creep)
I Bruce Schneier: Complexity is the worst enemy of security.
I defense in depth
I securitate vs. utilizabilitate
Automatica si Calculatoare Cursul 13, Elemente de securitate 12/47
Niveluri de securitate
I la nivel de persoanaI utilizatorii sunt ales, i cu grijaI educarea utilizatorilor
I la nivel fizicI protect, ia ıncaperilor ce cont, in sistemele de calcul
I la nivelul sistemului de operareI securizarea accesului (parole)I protect, ia resurselor SO (memorie, fis, iere)
I la nivelul aplicat, ieiI autentificarea ın cadrul aplicat, ieiI stabilirea rolurilorI criptarea datelorI politici de acces la resursele aplicat, iei
I la nivelul ret, eleiI securizarea accesului de la distant, aI filtrarea pachetelor de compromitere a ret, elei
Automatica si Calculatoare Cursul 13, Elemente de securitate 13/47
Resurse utile pentru securitate aplicata
I OWASP (Open Web Application Security Project):https://www.owasp.org/index.php/Main_Page
I wargames and challenge sitesI http://www.wechall.net/I http://overthewire.org/wargames/I http://captf.com/practice-ctf/I https://w3challs.com/
I CTF (Capture the Flag) security contestsI https://ctftime.org/
I Stack ExchangeI http://security.stackexchange.com/I http://crypto.stackexchange.com/I http://reverseengineering.stackexchange.com/
Automatica si Calculatoare Cursul 13, Elemente de securitate 14/47
Securitatea sistemului de operare
I sistem de operare sigur: resursele acestuia sunt accesate ınmod valid
I securitatea memoriei s, i a aplicat, iilorI fiecare proces este izolat, nu poate scrie ın memoria altui
procesI fluxul de lucru al aplicat, iei nu este deturnat
I securitatea accesuluiI gestiunea parolelorI privilegii pentru utilizatoriI autentificare, autorizare, controlul accesuluiI limitari: cate accese simultane, cate procese pornite, cat spat, iu
pe disc ocupat
I securitatea sistemului de fis, iereI permisiuni de acces la fis, iereI izolarea accesului doar la anumite part, i din sistemul de fis, iere
Automatica si Calculatoare Cursul 13, Elemente de securitate 16/47
Securitatea sistemului de fis, iere
I aspecte importanteI directorul home al fiecarui utilizator
I drepturi deplineI utilizatorul poate sau nu permite accesul altor utilizator
I doar utilizatorul privilegiat are acces la anumite intrariI fis, iere de configurare, programe executabile
I Cum se implementeaza securitatea fis, ierelor?I permisiuni de acces (sau liste de acces)
I pentru fiecare intrare se precizeaza drepturile utilizatorilorI forma redusa pe Unix (user, group, others)
Automatica si Calculatoare Cursul 13, Elemente de securitate 17/47
umask
I restrict, ia drepturilor de creare a intrarilor ın sistemul de fis, iere
I valori tipice pentru umask: 022, 027, 077I drepturi de creare implicite
I 666 pentru fis, ierI 777 pentru director
I drepturi de creare efectiveI S, I logic ıntre permisiunile implicite s, i masca inversata
Automatica si Calculatoare Cursul 13, Elemente de securitate 18/47
Securitatea accesului
I autentificareI permiterea accesului unui utilizator (numit s, i agent sau
subiect) la sistem
I Cand este un utilizator autentic?I poseda o unitate de identificare (cheie, card)I poseda un nume de utilizator s, i o parolaI poseda un atribut de utilizator (amprenta, retina, semnatura)
Automatica si Calculatoare Cursul 13, Elemente de securitate 19/47
Contul privilegiat
I controlul absolut al sistemuluiI obt, inerea contului de superuser ınseamna spargerea sistemului
I trebuie folosit numai atunci cand este nevoieI pentru operat, ii obis, nuite, folosit, i contul neprivilegiatI o buna parte din atacurile pe Windows se bazeaza pe faptul ca
utilizatorii folosesc numai contul Administrator
I sudoI permite unui utilizator obis, nuit (dar de ıncredere) rularea unui
set restrans de comenzi cu privilegii de rootI o forma de privilege separation
Automatica si Calculatoare Cursul 13, Elemente de securitate 20/47
Autentificare, autorizare, controlul accesului
I autentificare (authentication)I permiterea utilizatorului ın sistem pe baza credent, ialelor
(parola, semnatura biometrica, certificat digital etc.)
I autorizare (authorization)I acordarea de drepturi de acces la resurse pentru utilizator
I controlul accesului (access control)I verificarea drepturilor de acces la resurse; se permite sau nu se
permite accesul
Automatica si Calculatoare Cursul 13, Elemente de securitate 21/47
Parole
I forma de autentificare (username + password)I se compara parola introdusa cu cea stocata de sistemI daca cele doua coincid se permite accesul
I modul echo off sau ,,cu stelut, e”I ımpiedicarea shoulder surfing
I neajunsurile folosirii parolelorI pastrarea secreta a parolei
I sticky-note care este lipit pe monitorI stocata ın telefonul mobil
I spargerea paroleiI transferul parolei de la un utilizator autorizat la unul
neautorizat
Automatica si Calculatoare Cursul 13, Elemente de securitate 23/47
Password Cracking
http://arstechnica.com/security/2012/08/passwords-under-assault/
I Project Erebus v2.5
I AMD Radeon HD7970: 8.2 billion password combinations each second
I 8xAMD Radeon HD7970: 12 hours to brute force entire keyspace for anyeight-character passwords (upper- or lower-case letter, digits or symbols)
Automatica si Calculatoare Cursul 13, Elemente de securitate 24/47
Spargerea unei parole
I guessing
I brute force
I dictionary attack
I hybrid attack : dict, ionar s, i modificari uzuale (a devine 4 etc.)
I social engineeringI John the Ripper – http://openwall.com/john/
I dict, ionare (wordlist)
Automatica si Calculatoare Cursul 13, Elemente de securitate 25/47
Protect, ie la spargerea parolelor
I politica de alegere a parolelorI minim 10 caractere, atat lower case cat s, i upper caseI cel put, in un caracter special sau numericI nu trebuie sa fie nume de persoane sau cuvinte din dict, ionar
usor de ret, inut
I utilizarea parolelor generate aleator de sistemI pwgen
I verificarea periodica a parolelor utilizatorilor
I password aging : schimbarea parolei dupa o anumita perioada
I folosirea de passphrase-uri: stong bitter whiteboard mule
I passphrase nepotrivit: One does not simply walk into Mordor– fraza celebra, us, or de ghicit
Automatica si Calculatoare Cursul 13, Elemente de securitate 26/47
Passwords vs. Passphrases
http://xkcd.com/936/
Automatica si Calculatoare Cursul 13, Elemente de securitate 27/47
Parole ın Unix
I la ınceput parolele se pastrau criptat ın /etc/passwd
I fis, ierul /etc/passwd cont, ine s, i alte informat, iiI numele utilizatorilorI directorul homeI shell-ul folosit
I multe programe au nevoie de informat, iile de mai susI fis, ierul /etc/passwd este citibil de tot, i utilizatorii
Drepturi de acces pe /etc/passwd
razvan@anaconda:~/junk$ ls -l /etc/passwd
-rw-r--r-- 1 root root 2147 Nov 4 15:35 /etc/passwd
I parola criptata este vizibilaI potent, ial risc de spargere prin ıncercari (brute force)
Automatica si Calculatoare Cursul 13, Elemente de securitate 28/47
Parole ın Unix (cont.)
I fis, ierul /etc/shadow – accesibil numai de rootI parola ar putea fi sparta prin ıncercari de login repetate
I timeout ıntre ıncercarile de autentificare
/etc/passwd
razvan@anaconda:~/junk$ cat /etc/passwd | grep guest
guest:x:1001:1001:Guest,EF 303,,,Test:/home/guest:/bin/bash
/etc/shadow
razvan@anaconda:~/junk$ cat /etc/shadow | grep guest
cat: /etc/shadow: Permission denied
anaconda:/home/razvan/junk# cat /etc/shadow | grep guest
guest:$1$jv4hP2au$BSrUDS0J7LhJv8PrCFltU/:13124:0:99999:7:::
Automatica si Calculatoare Cursul 13, Elemente de securitate 29/47
Validarea autentificarii ın Unix
1. se introduce username-ul
2. se introduce parola
3. se localizeaza username-ul ın sistem; daca nu exista, eroare
4. se aplica algoritmul de criptare peste parola introdusaI este un algoritm one-way: doar criptare, nu poate fi decriptatI pentru brute force, se genereaza parole s, i se cripteaza
5. se verifica s, irul criptat obt, inut mai sus cu parola criptata dinfis, ierul /etc/shadow
6. daca cele doua s, iruri (criptate) corespund, utilizatorul esteadmis ın sistem; altfel, eroare
Automatica si Calculatoare Cursul 13, Elemente de securitate 30/47
Alternative la parole
I biometrice (amprenta, retina)
I authentication tokens (precum cele folosita la online banking)
I two-factor : parola + SMS, parola + token
I OAuth: folosirea contului de Google, Facebook, Twitter pealte site-uri fara ca parola sa fie transmisa
Automatica si Calculatoare Cursul 13, Elemente de securitate 31/47
Criptografie
I studiul comunicarii sigure
I criptare, hashing, criptanaliza
I utilizare: criptare (comunicare sigura), autentificare,semnaturi digitale
Automatica si Calculatoare Cursul 13, Elemente de securitate 33/47
Criptare s, i decriptare
I criptarea este procesul de transformare a unui text clar (plaintext) ıntr-un text cifrat (ciphertext)
I decriptarea este procesul inversI criptarea/decriptarea necesita
I un algoritmI o cheieI date/mesaj
I Ce criptam?I date de orice felI trafic de ret, eaI sisteme de fis, iere/partit, ii
Automatica si Calculatoare Cursul 13, Elemente de securitate 34/47
Criptare s, i decriptare (2)
Automatica si Calculatoare Cursul 13, Elemente de securitate 35/47
Criptografie cu chei simetrice
I symmetric-key cryptography
I transmit, atorul s, i receptorul au aceeas, i cheie
I de avut ın vedere unde se stocheaza cheia
I rapida, implementare ın hardware
I standardul de criptare cu chei simetrice este algoritmul AES(Advanced Encryption Standard)
Automatica si Calculatoare Cursul 13, Elemente de securitate 36/47
Criptare s, i decriptare cu chei simetrice
Automatica si Calculatoare Cursul 13, Elemente de securitate 37/47
Criptografie cu chei asimetrice
I public-key cryptography
I o cheie este privata (secreta) s, i alta cheie este publica
I cele doua cheie sunt legate matematicI criptare cu cheia publica (orice poate cripta); decriptare cu
cheia privata (doar det, inatorul poate decripta)I ınceataI folosita doar ın fazele de init, iere a unei conexiuni pentru
stabilirea unei chei simetriceI folosita pentru autentificare: cine are cheia privata poate
decripta mesajul s, i garanta ca este utilizatorul ın cauza
I semnaturi digitaleI mesajul este trimis ın clar dar are atas, at o semnatura digitalaI doar cheia privata poate semna (doar det, inatorul)I cheia publica poate verifia semnatura (oricine)
I RSA, curbe eliptice
Automatica si Calculatoare Cursul 13, Elemente de securitate 38/47
Criptare s, i decriptare cu chei publice
Automatica si Calculatoare Cursul 13, Elemente de securitate 39/47
Semnare s, i verificare cu chei publice
Automatica si Calculatoare Cursul 13, Elemente de securitate 40/47
Security Engineering
I Ross Anderson
I 2nd Edition, 2010
I prima edit, ie poate fi descarcata gratis
I o privire ın ansamblu a securitat, ii sistemelor s, i ret, elelor
I atacuri s, i aparare
I bogata ın povestiri reale
I us, or de citit
I cont, ine formalisme, dar insista pe aspecte practice
Automatica si Calculatoare Cursul 13, Elemente de securitate 42/47
Bruce Schneier
http://en.wikipedia.org/wiki/File:Bruce_Schneier_1.jpg
I autorul mai multor cart, i de securitateI algoritmi de criptografieI Bruce Schneier on security (blog)
(http://www.schneier.com)I Bruce Schneier Facts
Automatica si Calculatoare Cursul 13, Elemente de securitate 43/47
RSA
I numele de la fondatorii: Ron Rivest, Adi Shamir, Led Adleman
I infiint, ata ın 1982
I algoritmul de criptare cu chei publice RSA
I token-uri de autentificare (RSA SecurID security tokens)
I RSA Factoring Challenge
Automatica si Calculatoare Cursul 13, Elemente de securitate 44/47
AES
I Advanced Encryption Standard
I adoptat de guvernul US ca standard de criptare ın noiembrie2001
I init, ial denumit Rijndael dupa numele unuia dintre inventatori
I ınlocuies, te algoritmul DES (Data Encryption Standard) din1977
I procesul de alegere a avut loc ıntre 1997 s, i 2000 – destinatcomunitat, ii criptografice
I init, ial ales, i 15 algoritmi, apoi 5 finalis, ti, apoi doar 1 (Rijndael)
Automatica si Calculatoare Cursul 13, Elemente de securitate 45/47
Cuvinte cheie
I securitate
I privilegii
I principii de securitate
I agent, i, obiecte
I umask
I autentificare
I autorizare
I controlul accesului
I root
I sudo
I parole
I password cracking
I passphrase
I /etc/passwd
I /etc/shadow
I criptografie
I criptare, decriptare
I plain text, ciphertext
I chei simetrice
I chei asimetrice
I semnatura digitala
I semnare, verificare
Automatica si Calculatoare Cursul 13, Elemente de securitate 46/47
Resurse utile
I http://www.unixtools.com/security.html
I http://insecure.org/
I http://www.linuxsecurity.com/
I http://www.schneierfacts.com/
Automatica si Calculatoare Cursul 13, Elemente de securitate 47/47