so - curs 13 - securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/so_curs-13.pdf · 2019-02-18 ·...

44
Securitatea sistemului SO: Curs 13

Upload: others

Post on 28-Jan-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Securitatea sistemului

SO: Curs 13

Page 2: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Cuprins

• Sisteme sigure

• Separarea privilegiilor

• Securitatea fișierelor

• Cel mai mic privilegiu• Cel mai mic privilegiu

• Identitatea utilizatorilor

SO: Curs 13: Securitatea sistemului 2

Page 3: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Suport de curs

• Operating Systems Concepts

– Capitolul 14 – Protection

– Capitolul 15 – Security• Secțiunile 15.1, 15.2, 15.5

• Modern Operating Systems• Modern Operating Systems

– Capitolul 9 – Security• Secțiunile 9.4, 9.6

3SO: Curs 13: Securitatea sistemului

Page 4: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

SISTEME SIGURE

SO: Curs 13: Securitatea sistemului 4

Page 5: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Sistem sigur

• Face ce este proiectat să facă

• Face doar ce este proiectat să facă

• Folosește corespunzător resursele date

• Asigură confidențialitate informațiilor• Asigură confidențialitate informațiilor

• Un sistem nesigur

– Are comportament nedeterminist

– Are comportament exploatabil (controlabil de atacator)

– Folosește necorespunzător/abuziv resurele sistemului

– Permite accesul la date confidențiale

SO: Curs 13: Securitatea sistemului 5

Page 6: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Bug și vulnerabilitate

• Bug: problemă de implementare/proiectare

– Generează comportament nevalid, în general eroare

• Vulnerabilitate (bug de securitate)• Vulnerabilitate (bug de securitate)

– Problema poate fi exploatată

– Un atacator poate folosi/controla bug-ul/vulnerabilitatea

– Un model de atack (attack vector) rezultă în atacator obținând acces sau controlând accesul la resurse

SO: Curs 13: Securitatea sistemului 6

Page 7: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Elemente de proiectare a unui sistem sigur

• Separarea privilegiilor

– Procesele au anumite privilegii

– O acțiune diferită -> un proces nou cu alte privilegii

– Un proces compromis nu compromite altele

• Cel mai mic privilegiu

– Nu lași unui proces mai multe privilegii (permisiuni) decât are nevoie

– Dacă un proces este compromis pagubele sunt conținute

• Limitarea resurselor

– Nu se oferă mai multe resurse decât este necesar

SO: Curs 13: Securitatea sistemului 7

Page 8: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Elemente de proiectare a unui sistem sigur (2)

• Identitatea utilizatorilor– Autentificare, credențiale robuste

• Monitorizare– Procese

– Folosirea resurselor– Folosirea resurselor

– Acționat în momentul în care sunt probleme de securitate

• Confidențialitate: criptare, integritate

• Asigurarea calității– Secure coding, secure programming, defensive programming, secure

by design

– Security auditing, fuzz testing

– Software updates

SO: Curs 13: Securitatea sistemului 8

Page 9: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

SEPARAREA PRIVILEGIILOR

9SO: Curs 13: Securitatea sistemului

Page 10: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Separarea privilegiilor

• componente separate au roluri separate

• cuplat cu principiul celui mai mic privilegiu

• exemplu: Postfix; master (root) + smtpd, pickup, cleanup, qmgr (postfix)pickup, cleanup, qmgr (postfix)

• folosirea utilizatorului nobody

• privilegii administrative (complete): kernel-mode sau root

– de folosit rar

– de delegat roluri (sudo)SO: Curs 13: Securitatea sistemului 10

Page 11: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Separația kernel mode – user mode

• Instrucțiunile privilegiate sunt executate în spațiul kernel– accesul la I/O

– alocarea de resurse– alocarea de resurse

– handler-ele de întrerupere

– gestiunea sistemului

• Suportul procesorului– niveluri de privilegiu (rings)

– x86: nivelul 0 (kernel), nivelul 3 (user)

SO: Curs 13: Securitatea sistemului 11

Page 12: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Utilizatorul administativ (root)

• Are acces complet la sistem

• Are privilegiile nucleului în sistemul de operare

• Procesele administrative rulează cu permisiuni • Procesele administrative rulează cu permisiuni de root

• Accesul trebuie limitat

• Dispozitivele mobile în general nu oferă acces de tipul “root” în mod direct

SO: Curs 13: Securitatea sistemului 12

Page 13: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Utilizatori și permisiuni

• Roluri dedicate sunt oferite altor utilizatori

• Un utilizator are un subset de privilegii și acces limitat la resursele sistemului

• Accesul la sistemul de fișiere se realizează prin • Accesul la sistemul de fișiere se realizează prin permisiuni la sistemul de fișiere

• Dacă un proces al unui utilizator este compromis pagubele sunt limitate la permisiunile acelui utilizator

SO: Curs 13: Securitatea sistemului 13

Page 14: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Stabilirea permisiunilor/privilegiilor

• DAC: Discretionary access control

– Există noțiunea de owner

– Owner-ul poate stabili permisiuni/privilegii

– Permisiunile pe sistem de fișiere

• MAC: Mandatory access control

– Kernel-ul/Sistemul/Administratorul decide întregul set de privilegii

– Nu există owner

– Modificările sunt efectuate doar de sistem/root

– SELinux

– Suport și pe sistemele mobile (Android, iOS)SO: Curs 13: Securitatea sistemului 14

Page 15: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

SECURITATEA FIȘIERELOR

15SO: Curs 13: Securitatea sistemului

Page 16: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Permisiuni pe sistemul de fișiere

• o formă de separare de privilegii

• controlul accesului

• anumiți utilizatori au anumite drepturi pe resursele din sistemul de fișiereresursele din sistemul de fișiere

• matrice de control al accesului

• liste de acces

SO: Curs 13: Securitatea sistemului 16

Page 17: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Drepturi pe fișiere

• Asocierea drepturilor de acces pentru utilizatori la fișiere

• Citire, scriere, ștergere, execuție

• Creare fișier, listare, ștergere fișier, parcurgere• Creare fișier, listare, ștergere fișier, parcurgere

SO: Curs 13: Securitatea sistemului 17

Page 18: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Matrice de acces

SO: Curs 13: Securitatea sistemului 18

Page 19: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Drepturi pe fișiere în Unix

• Matrice de acces

• Domeniile sunt– utilizator (user) - deținătorul fișierului

– grup (group) – grupul deținător al fișierului– grup (group) – grupul deținător al fișierului

– alții (others)

• Drepturi– read (r) – citire, listare

– write (w) – scriere, creare fișier

– execute (x) – execuție, parcurgere

SO: Curs 13: Securitatea sistemului 19

Page 20: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Liste de acces

SO: Curs 13: Securitatea sistemului 20

Page 21: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Liste de acces (2)

• POSIX ACL

– implementate pe sisteme de fișiere Linux cu extended attributes

– getfacl, setfacl– getfacl, setfacl

• Drepturi pe fișiere în Windows

– ACL pe NTFS

– read, write, list, read and execute, modify, full control

SO: Curs 13: Securitatea sistemului 21

Page 22: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Capabilități

• O cheie asociată unor acțiuni privilegiate sau unor drepturi de acces

• Un mod de delegare de permisiuni din partea utilizatorului root către un utilizator neprivilegiat

• Pot fi interschimbate între entități– nu este un lucru obișnuit în sistemele de operare actuale– nu este un lucru obișnuit în sistemele de operare actuale

• Capabilități POSIX (IEEE 1003.1e)– CAP_NET_BIND_SERVICE– CAP_SYS_CHROOT– CAP_NET_RAW

• man 7 capabilities– nu se poate accesa un director/fișier din afara ierarhiei impuse

de noul director rădăcină

SO: Curs 13: Securitatea sistemului 22

Page 23: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Escaladarea privilegiilor

• permiterea obținerii de permisiuni suplimentare pentru acțiuni privilegiate

– sudo

– setuid

• de obicei sunt atacate conturile privilegiate

• sunt exploatate programele care rulează ca root -atenție specială executabilelor cu bitul setuid activat

– bug în aplicații - obținerea unor drepturi necuvenite

SO: Curs 13: Securitatea sistemului 23

Page 24: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Bitul setuid

• set user-ID on execution bit

• Real user ID

• Effective user ID

• Bitul setuid (chmod 4777)– permite configurarea euid ca utilizatorul ce deține – permite configurarea euid ca utilizatorul ce deține

executabilul

• setuid– total privilege revocation (real user ID, effective user ID)

• seteuid– temporary privilege revocation (effective user ID)

SO: Curs 13: Securitatea sistemului 24

Page 25: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

main() în ping.c

int

main(int argc, char **argv)

{

struct hostent *hp;

int ch, hold, packlen;

int socket_errno;

u_char *packet;

char *target, hnamebuf[MAXHOSTNAMELEN];

char rspace[3 + 4 * NROUTES + 1]; /* record route space */

icmp_sock = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);

socket_errno = errno;

uid = getuid();

if (setuid(uid)) {

perror("ping: setuid");

exit(-1);

}

[...]

SO: Curs 13: Securitatea sistemului 25

Page 26: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

CEL MAI MIC PRIVILEGIU

SO: Curs 13: Securitatea sistemului 26

Page 27: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Cel mai mic privilegiu

• Un proces nu are acces la mai multe privilegii sau resurse decât are nevoie

• Rulează ca utilizator cu permisiuni reduse

• Rulează într-un mediu izolat (jail, sandbox), cu • Rulează într-un mediu izolat (jail, sandbox), cu acces doar la anumite resurse

• Rulează cu limitări: poate folosi resurse doar până într-o limită

SO: Curs 13: Securitatea sistemului 27

Page 28: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Permisiuni reduse

• Nu rulează ca root

• Utilizatorul care rulează nu are permisiuni de citire sau scriere pe fișiere de care nu are nevoie

• Procesul nu are capabilități de care nu are nevoie• Procesul nu are capabilități de care nu are nevoie

• Procesului nu i se permite escaladarea de privilegii

• Dacă are nevoie de permisiuni de citire, nu se dau permisiuni de scriere

• Pentru permisiuni distincte se creează o altă entitate (separare de privilegii)

SO: Curs 13: Securitatea sistemului 28

Page 29: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Mediu izolat

• Acces strict la resursele necesare

• Poate fi vorba de sistemul de fișiere sau de operații posibile: pe sockeți, apeluri de sistem, IPC-uri

• Jailing sau sandboxing• Jailing sau sandboxing

• În general avut în vedere pe dispozitivele mobile; aplicațiile rulează în câte un sandbox

• În cazul unui atac pagubele sunt limitate la nivelul sandbox-ului

• chroot, containere, virtualizare

SO: Curs 13: Securitatea sistemului 29

Page 30: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

chroot

• Modifică directorul rădăcină asociat procesului.

– nu se poate accesa un director/fișier din afara ierarhiei impuse de noul director rădăcinăierarhiei impuse de noul director rădăcină

– chroot jail

• Comanda chroot

• Apelul chroot

chroot(“/var/spool/postfix”);

SO: Curs 13: Securitatea sistemului 30

Page 31: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Containere

• Namespace dedicat de procese și alte resurse

• chroot++ (nu doar la nivel de sistem de fișiere)

• Procesele pot să se vadă doar între ele într-un containercontainer

• Se partiționează accesul la anumite resurse

• OpenVZ, LXC, docker

SO: Curs 13: Securitatea sistemului 31

Page 32: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Virtualizare

• Mai multe avantaje pentru folosirea virtualizării

– Un avantaj este izolarea

• Un întreg sistem de operare este izolat• Un întreg sistem de operare este izolat

• Orice probleme (bug-uri, vulnerabilități, performanță) sunt limitate la nivelul mașinii virtuale

• VMware, VirtualBox, KVM, Xen, Hyper-V

SO: Curs 13: Securitatea sistemului 32

Page 33: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Limitări

• Resursele să fie accesate până într-un prag

• Throttling

– nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20% din procesor, maxim 512Kbps, maxim 10 procese pornite simultan10 procese pornite simultan

• Capping

– nu se poate trece peste o limită totală de folosire a unei resurse: maxim 3GB de spațiu pe disc ocupat, maxim 2 ore timp pe procesor

• Previne atacuri de tipul denial of service

SO: Curs 13: Securitatea sistemului 33

Page 34: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

getrlimit/setrlimit

• Apelurile folosite pentru limitarea resurselor în Unix

• În general o limită soft și o limită hard

– Limita soft este cea folosită

– Limita soft poate fi schimbată până în limita hard– Limita soft poate fi schimbată până în limita hard

– Limita hard este impusă de sistem

• Exemple: dimensiune maximă spațiu de adresă, număr maxim de procese, număr maxim de fișiere deschise, dimensiunea maximă a unui fișier

• Folosit de /etc/security/limits.conf și comanda ulimit

• Apelul getrusage pentru contabilizarea folosirii resursei SO: Curs 13: Securitatea sistemului 34

Page 35: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Cote

• limitări la nivelul sistemului de fișiere

– număr maxim de fișiere care să fie create de un utilizator

– dimensiunea maximă a spațiului ocupat de fișierele unui anumit utilizator

• în Linux 4 valori de configurat la nivel de • în Linux 4 valori de configurat la nivel de utilizator/grup

– limitarea numărului de fișiere/inode-uri (soft/hard)

– limitarea spațiului ocupat la nivel de blocuri (soft/hard)

– soft: limită soft, se trimite un warning

– hard: limită hard, se interzice trecerea peste

• necesită suportul sistemului de fișiereSO: Curs 13: Securitatea sistemului 35

Page 36: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

IDENTITATEA UTILIZATORILOR

36SO: Curs 13: Securitatea sistemului

Page 37: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Autentificarea utilizatorilor

• Accesul utilizatorilor în sistem

• Parolă

• Cheie publică

• Voice recognition, identificatori biometrici• Voice recognition, identificatori biometrici

SO: Curs 13: Securitatea sistemului 37

Page 38: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

/etc/passwd + /etc/shadow

• /etc/passwd– user:password_hash:uid:gid:...– problemă

• accesul utilizatorilor (nevoie de informații diferite de password_hash)

/etc/shadow• /etc/shadow– user:password_hash:...– security enforcing

• număr de zile între schimbat parola• număr de zile după care contul este dezactivat• ....

SO: Curs 13: Securitatea sistemului 38

Page 39: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Password hash în Unix

• man 3 crypt

• Implicit DES

• $id$salt$encrypted

• ID: 1 (MD5), 2a (Blowfish), 5 (SHA-256), 6 • ID: 1 (MD5), 2a (Blowfish), 5 (SHA-256), 6 (SHA-512)

• salt este folosit pentru a adăuga un nivel suplimentar de criptare a parolei– un salt pe 12 biți înseamnă 4096 de posibilități de

criptare

SO: Curs 13: Securitatea sistemului 39

Page 40: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Problema parolelor

• Pot fi ghicite, uitate, slabe

• 6.46 million LinkedIn passwords leaked online (June 2012)– http://www.zdnet.com/article/6-46-million-linkedin-passwords-

leaked-online/

• $12,000 computer (Project Erebus v2.5), 8 AMD Radeon • $12,000 computer (Project Erebus v2.5), 8 AMD Radeon HD7970 GPU cards (August 2012)– are nevoie de 12 ore pentru a folosi brute force pe întreg spațiul de

parole de 8 caractere printabile

– http://arstechnica.com/security/2012/08/passwords-under-assault/

SO: Curs 13: Securitatea sistemului 40

Page 41: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Forme de enforcing pentru parole

• Anumite tipuri de caractere

• Expirarea parolei după un interval

• Passphrase în loc de parole

• Folosirea altor forme de autentificare (chei • Folosirea altor forme de autentificare (chei publice)

• One Time Password (OTP)

SO: Curs 13: Securitatea sistemului 41

Page 42: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Autentificarea prin chei publice

• Cheie publică + cheie privată

• Cheia publică este pe sistem (server)

• Cheia privată este folosită pentru autentificare

• Legătură matematică• Legătură matematică

– one way function

– de fapt este two-way, insa nu este computațional fezabil să se calculeze inversul funcției (încă..)

• RSA, DSA

SO: Curs 13: Securitatea sistemului 42

Page 43: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

OTP

• One Time Password• Time-synchronized OTP

– RSA SecurID

• Algoritm matematic– s – initial seed– s – initial seed– f – one-way function

• cryptographic hash function– it is easy to compute the hash value for any given message,– it is infeasible to find a message that has a given hash,– it is infeasible to modify a message without changing its hash,– it is infeasible to find two different messages with the same hash.

– f(f(f(f(...f(s)...))), ..., f(s)

SO: Curs 13: Securitatea sistemului 43

Page 44: SO - Curs 13 - Securitatea sistemuluielf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf · 2019-02-18 · – nu se poate trece de o viteză (un prag instantaneu de folosire): maxim 20%

Cuvinte cheie

• sistem sigur• bug• vulnerabilitate• atac• separarea privilegiilor

• permisiuni• cel mai mic privilegiu• sandboxing• chroot• containere• separarea privilegiilor

• escaladarea privilegiilor• kernel mode• root• setuid• utilizatori• DAC• MAC• liste de acces

• containere• virtualizare• limitări• setrlimit/getrlimit• ulimit• Cote• /etc/passwd, /etc/shadow• password hash• OTP

44SO: Curs 13: Securitatea sistemului