11
Cursul 13 Elemente 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 a block 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 Notes Notes Notes Notes

Cursul 13 - Elemente de securitateswarm.cs.pub.ro/~george/uso/res/cursuri/curs-13-handout-4on1-notes.pdf · Elemente de securitate Utilizarea Sistemelor de Operare (USO) 15 ianuarie

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Cursul 13 - Elemente de securitateswarm.cs.pub.ro/~george/uso/res/cursuri/curs-13-handout-4on1-notes.pdf · Elemente de securitate Utilizarea Sistemelor de Operare (USO) 15 ianuarie

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

Notes

Notes

Notes

Notes

Page 2: Cursul 13 - Elemente de securitateswarm.cs.pub.ro/~george/uso/res/cursuri/curs-13-handout-4on1-notes.pdf · Elemente de securitate Utilizarea Sistemelor de Operare (USO) 15 ianuarie

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

Notes

Notes

Notes

Notes

Page 3: Cursul 13 - Elemente de securitateswarm.cs.pub.ro/~george/uso/res/cursuri/curs-13-handout-4on1-notes.pdf · Elemente de securitate Utilizarea Sistemelor de Operare (USO) 15 ianuarie

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

Notes

Notes

Notes

Notes

Page 4: Cursul 13 - Elemente de securitateswarm.cs.pub.ro/~george/uso/res/cursuri/curs-13-handout-4on1-notes.pdf · Elemente de securitate Utilizarea Sistemelor de Operare (USO) 15 ianuarie

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

Notes

Notes

Notes

Notes

Page 5: Cursul 13 - Elemente de securitateswarm.cs.pub.ro/~george/uso/res/cursuri/curs-13-handout-4on1-notes.pdf · Elemente de securitate Utilizarea Sistemelor de Operare (USO) 15 ianuarie

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

Notes

Notes

Notes

Notes

Page 6: Cursul 13 - Elemente de securitateswarm.cs.pub.ro/~george/uso/res/cursuri/curs-13-handout-4on1-notes.pdf · Elemente de securitate Utilizarea Sistemelor de Operare (USO) 15 ianuarie

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

Notes

Notes

Notes

Notes

Page 7: Cursul 13 - Elemente de securitateswarm.cs.pub.ro/~george/uso/res/cursuri/curs-13-handout-4on1-notes.pdf · Elemente de securitate Utilizarea Sistemelor de Operare (USO) 15 ianuarie

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

Notes

Notes

Notes

Notes

Page 8: Cursul 13 - Elemente de securitateswarm.cs.pub.ro/~george/uso/res/cursuri/curs-13-handout-4on1-notes.pdf · Elemente de securitate Utilizarea Sistemelor de Operare (USO) 15 ianuarie

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

Notes

Notes

Notes

Notes

Page 9: Cursul 13 - Elemente de securitateswarm.cs.pub.ro/~george/uso/res/cursuri/curs-13-handout-4on1-notes.pdf · Elemente de securitate Utilizarea Sistemelor de Operare (USO) 15 ianuarie

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

Notes

Notes

Notes

Notes

Page 10: Cursul 13 - Elemente de securitateswarm.cs.pub.ro/~george/uso/res/cursuri/curs-13-handout-4on1-notes.pdf · Elemente de securitate Utilizarea Sistemelor de Operare (USO) 15 ianuarie

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

Notes

Notes

Notes

Notes

Page 11: Cursul 13 - Elemente de securitateswarm.cs.pub.ro/~george/uso/res/cursuri/curs-13-handout-4on1-notes.pdf · Elemente de securitate Utilizarea Sistemelor de Operare (USO) 15 ianuarie

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

Notes

Notes

Notes

Notes