Filtre de securitate Securitatea sistemelor şi a...
Transcript of Filtre de securitate Securitatea sistemelor şi a...
Securitatea sistemelor şi a aplicaţiilor
Cursul IV. Securitatea sistemelor.U.T. Cluj-Napoca
Marius Joldoş
SSA curs 4 - M.Joldoş 2
Filtre de securitate
Avem nevoie de straturi de răspunsuri diferite la incidentele de securitate:
Detectează PrevinoTolerează
SSA curs 4 - M.Joldoş 3
Metode pentru securitate
Securitatea se obţine pe câteva nivele– Securitatea fizică– Securitatea datelor– Securitatea accesului
Securitatea începe cu conştientizarea utilizatorilor– Utilizatorii trebuie educaţi ca să înţeleagă
obiectivele de securitate ale unui sistem şi riscurile implicate de un anumit comportament
SSA curs 4 - M.Joldoş 4
Nevoia de securitate fizică
“Cu toate discuţiile despre securitatea reţelelor de calculatoare şi ameninţările online… o bâtă de baseball poate fi cea mai eficientă armă pentru a realiza refuzul servirii (DoS)” (TechTV News, 2000)
SSA curs 4 - M.Joldoş 5
Accesul fizicDacă un intrus obţine accesul fizic la un fizic la un fizic la un fizic la un computer, atunci poate să obţină cu uşurinţă accesul la informaţia stocată pe acestaMetode– Distrugerea– Ia calculatorul sub braţ şi îl duce undeva unde se
ocupă de el în linişte– Pornirea calculatorului fără parolă– Demontarea HDD şi plasarea lui într-o alta
maşină unde are acces total la info de pe HDD.
SSA curs 4 - M.Joldoş 6
Ce este securitatea fizică?Securitatea fizică este aproape orice se întâmplă înainte ca un hacker să tasteze comenzi pe tastaturăDe exemplu…
– Un sistem de alarmă care sună la poliţie în cazul pătrunderii neautorizate în încăpere.
– Un key lock pe computer pentru dezactivarea tastaturii în interzicerea accesului neautorizat.
– Un UPS care să nu permită variaţiilor de alimentare cu energie să dăuneze echipamentului şi să furnizeze rezervă la căderi de tensiune
– Un paznic angajat care patrulează în afara programului...
SSA curs 4 - M.Joldoş 7
Securitatea fizică 1Securitatea fizică include pregătirea pentru riscurile naturale– Sursă de alimentare de backup– Stingătoare chimice şi detectori de fum– Rezervă caldă care să preia sarcinile după
calamitate– Linii de comunicaţie dublate care folosesc
rute diferite în cazul căderii uneia dintre ele
SSA curs 4 - M.Joldoş 8
Securitatea fizică 2Să identifici înseamnă:– Separarea fizica a zonelor desemnate ca
fiind critice.– Facilitarea zăvorârii zonelor critice pentru a
limita accesul personalului doar la cei care necesită accesul.
– Identificarea conflictelor între siguranţă şi securitate
– Specificarea materialelor de construcţie şi a aplicaţiilor a.î. să satisfacă cerinţele în spaţii existente şi în spaţii noi.
SSA curs 4 - M.Joldoş 9
Securitatea fizică 3Metode de control fizic al accesului– Ui, perei, zăvoare i gărzi– Ui duble pentru a preveni ca cineva să urmeze un
utilizator autorizat într-o facilitate cu securitate– Detectori de micare i alte sisteme de alarmă
Prevenirea accesului neautorizat la mediile fizice– Se arde sau se mărunete hârtia, se polizează
startul magnetic de pe discuri, se topesc benzile etc. pentru a preveni căutatul în gunoaiecăutatul în gunoaiecăutatul în gunoaiecăutatul în gunoaie
– Suprascrierea unui disc de mai multe ori cu bii aleatori (delete nu înlătură datele)
– Folosirea luminii ultraviolete pentru a distruge info din eeprom-uri
SSA curs 4 - M.Joldoş 10
Securitatea fizică 4
Prevenirea trasului cu urechea electronic– Computerele (monitoarele i liniile de
comunicaie) emit o cantitate mică, dar detectabilă de radiaie EM
– Aceasta poate fi monitorizată pentru a reproduce coninutul ecranului
– Programul TEMPESTTEMPESTTEMPESTTEMPEST certifică faptul că un echipament de calcul nu emite radiaii. Aceasta se face prin ecranarea calculatorului sau a unei întregi clădiri
SSA curs 4 - M.Joldoş 11
Principii de securitate generalePrincipiul privilegiului minimPrincipiul privilegiului minimPrincipiul privilegiului minimPrincipiul privilegiului minim: Să se dea unui utilizator numai privilegiile necesare pentru a efectua sarcina curentă. Nici mai mult, nici mai puin.Minimizarea cantităMinimizarea cantităMinimizarea cantităMinimizarea cantităii de componente de încredereii de componente de încredereii de componente de încredereii de componente de încredere: Se identifică în ce componente ale unui sistem trebuie avută încredere i se urmărete a se păstra acel set mic i simplu.Nu se inteNu se inteNu se inteNu se intete perfecte perfecte perfecte perfeciuneaiuneaiuneaiunea: Este în esenă : Este în esenă : Este în esenă : Este în esenă imposibil. În loc de aimposibil. În loc de aimposibil. În loc de aimposibil. În loc de aa ceva fia ceva fia ceva fia ceva fii pregătii pregătii pregătii pregătii să i să i să i să detectadetectadetectadetectai problemele, să proiectai problemele, să proiectai problemele, să proiectai problemele, să proiectai contramăsuri i contramăsuri i contramăsuri i contramăsuri i i i i să recuperai după apariia unui atacsă recuperai după apariia unui atacsă recuperai după apariia unui atacsă recuperai după apariia unui atac.
SSA curs 4 - M.Joldoş 12
Sistemul de operare
Furnizează o interfaă între utilizator i hardwareGestionează i alocă resursele locale ale sistemului
Word Excel Windows XPdesktop
Compilatoare Gestionar de ferestre
Interpretor de comenzi
Sistem de operare
Limbaj ma șină
Microprogramare
Dispozitive fizice și hardware
Programe de aplica ție și interfa ță utilizator
Programe sistem
Hardware
Utilizatorul
Mașina
SSA curs 4 - M.Joldoş 13
Funcţiile SO (1)
Referitoare la fiiere– Gestiunea directoarelor cu fiiere– Creare, tergere, mutare de fiiere
Procese (programe)– Alocarea memoriei pentru programe i
date– Lansarea i stoparea proceselor– Comutarea între procese
SSA curs 4 - M.Joldoş 14
Funcţiile SO (2)
Interfaţa cu utilizatorul– Comenzi pentru copiat fişiere,listat
directoare etc., invocarea proceselor SO
– Mediu grafic pentru desktopIntrare/ieşire– interfaţa cu monitorul,
imprimantele, discurile etc.
SSA curs 4 - M.Joldoş 15
Structurile SOMajoritatea UCP au două moduri:– Modul utilizator– Modul supervizor (nucleu)
Modul supervizor permite accesul la toate instruciunilePentru securitate, modul utilizator permite numai anumite instruciuniProgramele obinuite rulează în modul utilizatorSistemul de operare rulează în modul supervizor
SSA curs 4 - M.Joldoş 16
Ce este nucleul SO?
‘Programul ’ sistemului de operare– Oferă servicii ‘spaţiului utilizatorilor’
Creează şi gestionează proceseleAsigură separarea privilegiilor şi a memorieiAsigură accesul la dispozitive…
– Extensibil: protocoale de reţea, sisteme de fişiere
– Nu are nivele de privilegii interne
SSA curs 4 - M.Joldoş 17
Accesul utilizatorilor la nucleu
‘Spaţiul utilizatorilor’ poate– Interoga despre starea nucleului– Schimba starea nucleului
Exemplu: starea dispozitivelor de reţea
Prin:– Apeluri sistem– /dev/devices (e.g. /dev/kmem)– /proc/filesystem
Majoritatea atacurilor asupra SO sunt asupra nucle uluiSSA curs 4 - M.Joldoş 18
Funcţii SO multiprogramatIdentificarea utilizatorilorAutentificarea utilizatorilorProtecţia memorieiControlul accesului la fişiere şi la dispozitivele de I/EAlocarea şi controlul accesului la obiecte generale: concurenţa şi sincronizareaImpunerea partajăriiGarantarea serviciului onestComunicarea şi sincronizarea interproceseJurnalizarea acţiunilor utilizatorilorRaportarea violărilor actuale (şi a celor potenţiale?) ale securităţii
Majoritatea acestorfunc ţii sunt bazatepe securitate
SSA curs 4 - M.Joldoş 19
Nevoia de SO sigure
Toate aplicaţiile sunt executate pe SOSoftware ostil rulează cu privilegiile şi permisiunile utilizatoruluiDistincţia între date şi cod dispareCodul rău intenţionat este introdus fără ştiinţă
Localizarea vulnerabilităţilor. Sursa:www.sans.org, 2009
SSA curs 4 - M.Joldoş 20
Evoluţia vulnerabilităţilor în perioada 2005-2010.
Sursa: Secunia.com
SSA curs 4 - M.Joldoş 21 SSA curs 4 - M.Joldoş 22
Vulnerabilităţi ale SOVulnerabilităţi ale SO 2005- sem. I 2009
Sursa: IBM X-Force® 2009 Mid-Year Trend & Risk Repo rt
SSA curs 4 - M.Joldoş 23
Vulnerabilităţi ale SO sem. I 2008
Sursa: Jeff R. Jones’ Report - Microsoft
Top 10 vulnerabilităţi Microsoft (06.2009-06.2010)
SSA curs 4 - M.Joldoş 24
Top 10 vulnerabilităţi alte programe (06.2009-06.2010)
SSA curs 4 - M.Joldoş 25 SSA curs 4 - M.Joldoş 26
SO de încrederePiaţa cere un TOS, Trusted Operating SystemÎn general, aceasta implica trei componente:1) A politică de acces obligatorie (MAC)1) A politică de acces obligatorie (MAC)1) A politică de acces obligatorie (MAC)1) A politică de acces obligatorie (MAC)2) Un model bazat pe cele mai mici privilegii 2) Un model bazat pe cele mai mici privilegii 2) Un model bazat pe cele mai mici privilegii 2) Un model bazat pe cele mai mici privilegii
(admin control)(admin control)(admin control)(admin control)3) Validare independentă (asigurare)3) Validare independentă (asigurare)3) Validare independentă (asigurare)3) Validare independentă (asigurare)
Există câteva şi mai sunt în dezvoltareExistă câteva şi mai sunt în dezvoltareExistă câteva şi mai sunt în dezvoltareExistă câteva şi mai sunt în dezvoltare
SSA curs 4 - M.Joldoş 27
Nivele de securitate în SO
Fără protecţie (OK atunci când procedurile sensibile se ruleaza în momente diferite)Cu izolare (fiecare process are propriul spaţiu de adrese, fişiere şi alte obiecte)Partajare a tot sau nimic (Totul este fie public, fie privat pentru proprietar)Partajare prin limitarea accesului (dacă utilizatorul poate accesa este specificat într-o listă)Partajare prin capabilităţi (creeare dinamică a drepturilor de partajare pentru obiecte)Limitarea folosirii unui obiect (protejează atât utilizarea cât si accesul (d.e., vizualizare, nu tipărire)
SSA curs 4 - M.Joldoş 28
Izolarea în SOUn SO tipic izolează utilizatorii şi SO în memorie: 0
Adrese mari
Spaţiul SO
Spaţiul SO
Spaţiul utilizatorului 1
.
.
.
Spaţiul utilizatorului 2
Spaţiul utilizatorului N
SSA curs 4 - M.Joldoş 29
Protecţia prin adresăGarda/gardul (fence)Garda/gardul (fence)Garda/gardul (fence)Garda/gardul (fence) ţine utilizatorii de o parte a ţine utilizatorii de o parte a ţine utilizatorii de o parte a ţine utilizatorii de o parte a unei graniţeunei graniţeunei graniţeunei graniţe
Limita fixă face ca SO să fie într-o zona fixă, iar utilizatorii în rest.
Memoria
Adrese mari
0
Spaţiulprogramelor
utilizator
n + 1
Gama de adrese
Sistemul de operare
n
SSA curs 4 - M.Joldoş 30
Registrul de gard(ă) variabil
Registru de adresă limită
n
n + 1
n + 1
Poate proteja SO faţă de utilizatori, dar nu poate proteja utilizatorii între ei
SOversiunea 2
Spaţiul pro-gramelor utilizator
0SO versiunea 1
Spaţiul pro-gramelor utilizator
Adrese mari
0
P + 1
Registru de adresă limită
P
P + 1
Gama deadresare
Gama deadresare
Adrese mari
SSA curs 4 - M.Joldoş 31
Registrul de bază/limiteRegistrul de gard(ă) variabil este în general cunoscut sub numele de registru de bază.Acestea furnizează doar limitele de jos (adresele de început)Se poate utiliza un al doilea registru, un registru de limite.Acest registru permite interceptarea erorilor de tipul depăşirilor limitelor de tablouri, care pot afecta programele altora daca nu sunt detectate; ele nu vor salva spaţiul propriu al utilizatorului.Aceasta se poate face folosind doua perechi de registre bază/limite, unul pentru cod executabil (extragerea instrucţiunilor), altul pentru accesul la date Aceasta permite împărţirea programului şi relocarea separată a părţilor
SSA curs 4 - M.Joldoş 32
Exemplu
SO
Spaţiul deprograme al utilizatorului A
Spaţiul deprograme al utilizatorului B
Spaţiul deprograme al utilizatorului C
Adrese mari
q
q+1
n
n+1
p
p+1
n+1
P
0
Registru de limite
Registru de bază
Spaţiul deprograme al utilizatorilor
CONTROLUL DOAR AL PROGRAMULUI
Spaţiul deprograme şi de date al utilizatorilor
Baza programului
Limitele programului
Baza datelor
Limitele datelor
CONTROLUL PROGRAMULUI ŞI AL DATELOR
SO
Spaţiul de programeal utilizatorului A
Spaţiul de programeal utilizatorului C
Spaţiul de dateal utilizatorului C
Spaţiul de programeal utilizatorului B
Spaţiul de dateal utilizatorului A
Spaţiul de dateal utilizatorului B
SSA curs 4 - M.Joldoş 33
Caracteristici de securitateRegistrele bază/limite combinate cu caracteristici de control software formează baza securităţii SO
Combinaţia de software şi hardware care lucrează împreună este ceea ce furnizează un nivel acceptabil de securitate
Problema principală este accesul utilizatorului la resursele sistemului
SSA curs 4 - M.Joldoş 34
Politică de securitate. Definiţie
În general, o politică de securitatedescrie cum pot avea acces persoanele la documente sau alte informaţii.O versiune pentru calculator a politicii de securitate constă dintr-un set precis de reguli pentru determinarea autori-zării ca bază pentru luarea deciziilor privind controlul accesului.
SSA curs 4 - M.Joldoş 35
Politica de acces
Accesul la sisteme se bazează pe identificarea utilizatorilor.Accesul la obiecte (fişiere, directoare etc.) se bazează pe identificarea utilizatorilor. Proprietarii obiectelor pot da accesul altor utilizatori, la discreţie.Accesul la obiecte (fişiere, directoare etc.) se bazează pe nivelul de privilegii de securitate al utilizatorului.
SSA curs 4 - M.Joldoş 36
Controlul accesuluiControlul accesului este un proces în doi paşi– Spui sistemului cine eşti: Identificare– Dovedeşti sistemului că eşti cine pretinzi:
AutentificareBeneficiile lui I şi A sunt:– Ele pot oferi un jurnal complet al acceselor
reuşite şi al tentativelor de acces.– Privilegiile de acces pot fi acordate/eliminate
rapid
SSA curs 4 - M.Joldoş 37
Autentificarea
Există trei căi clasice pentru a demonstra că eşti cine pretinzi:– Prin ceva ce ştii– Prin ceva ce posezi– Prin ceva ce eşti
Prima implică cunoaşterea unui cuvânt de trecere – o parolă
SSA curs 4 - M.Joldoş 38
Ceva ce eşti . . .
Biometrica este din ce în ce mai mult folosită pe măsura îmbunătăţirii ratei de identificare. – Amprentele– Scanarea retinei, a irisului– Căldura facială– Recunoaşterea vocii– Semnăturile (scrisul de mână)
SSA curs 4 - M.Joldoş 39
Ceva ce posezi . . .
Foarte similară cu tehnica “ceva ce ştii” –pentru a o implementa e nevoie ca acel ceva să fie:– Un obiect unic sau nu, dar asupra căruia accesul
este limitat la utilizatorii “autorizaţi” sau alţi subiecţi (subiecţii sunt acum definiţi ca “participanţi activi care operează asupra obiectelor")
– O modalitate de prezentare a acestui obiect la entitatea care solicită ca subiectul să prezinte dovada
– O modalitate de determinare dacă obiectul prezentat este cel aşteptat
SSA curs 4 - M.Joldoş 40
Ceva ce ştii . . .Un cuvânt (parolă)Un algoritm (algorithm de trecere)frază (frază de trecere)O imagine (imagine de trecere)Un certificatO combinaţie sau o secvenţă din cele de mai susCineva poate cere unui utilizator să producă secretul sau să aleagă secretul dintr-o mulţime. Aceasta este metoda provocareprovocareprovocareprovocare----răspunsrăspunsrăspunsrăspuns şi poate apărea de mai multe ori pe durata unei sesiuni; se foloseşte la validarea identităţii reclamate de partea necunoscută.– Provocare = cere autentificare– Răspuns = secretul arătat/ales
SSA curs 4 - M.Joldoş 41
Provocare/răspuns
Clientul foloseşte un PIN pentru a debloca un dispozitiv şi iniţiază un login
Serverul compară cele două valori şi autentifică utilizatorul dacă cele două se potrivesc
Algoritmul dă 87608435 ca răspuns care este Înaintat server-ului
Care este rezultatul lui 7987465?
SSA curs 4 - M.Joldoş 42
ExempluSmart cards pentru provocare-răspuns
Utilizator PassPort Canal Autentif. Server Furnizor de servicii
ID utilizatorContor de ID utilizator1. Utilizatorul introduce ID
Generator deprovocări
2. Gazda caută ID,Extrage nr. de secv.
3. Trimite provocareaPIN utilizator
4. Utilizatorul introducePIN pe PassPort
5. PassportCalculează răspunsul folosind cheia secretă
Evaluează rezultatul6. Răspuns
7. Rezultatele autentificăriitransmise furnizorului de servicii
SSA curs 4 - M.Joldoş 43
Pasul următorO dată utilizatorul identificat şi confirmat, SO trebuie să controleze ce utilizatori au acces la obiectele sistemuluiObiectele care au nevoie de protecţie– Memoria– Fişierele de pe dispozitivele de stocare– Programele care se execută în memorie– Directoarele de fişiere– Dispozitivele hardware– Structurile de date – de ex. stiva– Părţi ale SO– Instrucţiunile– Parolele– Mecanismul de protecţie
SSA curs 4 - M.Joldoş 44
Obiectivul
So ar trebui să verifice fiecare acces la un obiectSO ar trebui să funcţioneze pe baza principiului celui mai mic privilegiu– Un proces are trebui să aibă acces la cel mai mic
număr de obiecte necesare pentru a îndeplini o sarcină dată
SO ar trebui să verifice întotdeauna utilizarea acceptabilă
SSA curs 4 - M.Joldoş 45
Metoda Unu – Directorul
Funcţionează ca un director de fişiere.Uşor de implementat: o listă per utilizator, listă care numeşte toate obiectele la care i se permite utilizatorului să aibă access.Partajarea este posibilă: mai mulţi utilizatori pot avea un pointer (un nume) la acelaşi obiect în directorul lor.Problemă: revocarea accesului– Pentru a schimba accesul unui grup de utilizatori sistemul
trebuie să caute obiectul prin toate listele.Prea simplă pentru majoritatea situaţiilor de protecţie a obiectelor.
SSA curs 4 - M.Joldoş 46
Metoda Doi – Controlul accesului
O listă pentru fiecare obiect.Lista conţine toţi subiecţii care ar trebui să aibă acces la obiect şi cel fel de acces este acesta.Şi grupurile pot fi folosite ca subiecţi.Folosită frecvent, d.e. în Windows NT.
SSA curs 4 - M.Joldoş 47
Politici de control al accesului
În general, utilizatorii pot şi ar trebui să aibă abilitatea de a decide cine are acces la fişierele, programele lor, . . .Există trei politici generale pentru permiterea accesului în acest fel– Control discreţionar al accesului [Discretionary
Access Control], DAC– Control obligatoriu al accesului [Mandatory
Access Control], MAC– Control al accesului bazat pe roluri [Role Based
Access Control], RBAC
SSA curs 4 - M.Joldoş 48
Conceptul control discreţionar al accesului (DAC)
Controlul discreţionar al accesului(DAC) reprezintă o politică de control al accesului la date care permite utilizatorilor să permită sau să refuze accesul la fişierele proprii pentru alţi utilizatori.Implementări uzuale– Biţi de permisiune– Scheme de parole– Liste de capabilităţi– Liste de control al accesului (ACLs)
SSA curs 4 - M.Joldoş 49
Biţi de permisiuneFolosiţi de Unix, VMS şi alte sisteme.– Se specifică un utilizator ca proprietar al fiecărui fişier sau
director.– Fiecare fişier sau director este asociat unui grup.– În orice moment, fiecare utilizator este asociat cu un grup.
Exemplu
Dezavantaje
Granularitate insuficientă (cumpoate Alice să-i dea acces
în citire la file1 NUMAI lui Bob?)
Nu poate refuza accesul unuisingur utilizator
SSA curs 4 - M.Joldoş 50
Slăbiciunile DACPresupunem că avem un sistem care:– Impune corect o politică I şi A – Impune corect o politică DAC– Stochează atât informaţii clasificate (secrete) cât şi
neclasificate– Are atât utilizatori neclasificaţi cât şi utilizatori clasificaţi– De asemenea, toţi utilizatorii clasificaţi se comportă în
concordanţă cu procedurile de mânuire a info clasificate în ceea ce priveşte faptul că nu pun permisiuni de acces la fişiere cu info secrete astfel ca utilizatorii neclasificaţi să le poată vedea
Ce poate merge prost?– Software rău intenţionat
SSA curs 4 - M.Joldoş 51
Exemplu (I)Un utilizator neclasificat, Ivan, aduce la serviciu un joc de tipul Star Trek. Jocul devine foarte popular. Fără ştirea utilizatorilor, programul copiază fişiere ale utilizatorilor în directorul lui Ivan, astfel că acesta le poate citi.– Acest tip de program se numeşte program cal troian
(Trojan Horse). El execută o funcţie utilă, astfel ca utilizatorii să-l folosească, dar, în secret execută şi alte acţiuni.Atunci când Alice, utilizatoare clasificată, rulează programe, programele respective (editoare etc.) pot accesa toate fişierele la care are acces Alice, deoarece ele rulează sub identitatea lui Alice.
SSA curs 4 - M.Joldoş 52
Exemplu (II)
Atunci când Alice rulează programul Star Trek şi acesta rulează sub identitatea ei şî poate accesa toate fişierele la care are acces Alice. – Astfel, programul jocului poate citi toate fişierele pe
care l poate citi şi poate face copii în directorul lui Ivan cu asemenea permisiuni încât Ivan să le poată citi.
– Astfel, atunci când Alice rulează jocul (sau orice software rău intenţionat) acesta poate face orice poate face Alice.
– Concluzia: mecanismele DAC au o slăbiciune inerentă. Sunt vulnerabile la atacuri cu cai troieni.
SSA curs 4 - M.Joldoş 53
Riscuri din partea software rău intenţionat
Luaţi în considerare următoarele aspecte:– Cât din software de pe sistemul Dvs. aţi scris?– Pentru cât din software de pe sistem puteţi garanta?– Din ce în ce mai mult software este scris în alte ţări.– E nevoie doar de un inginer rău într-un grup de o mie
pentru a introduce un cal troian într-un produs.– Dacă stocaţi informaţie care merită furată, atacul cu cal
troian este foarte atractiv– Rulaţi un browser care descarcă şi execută applet-uri
Java?
De citit
Pfleeger, Security in Computing, cap.4
SSA curs 4 - M.Joldoş 54
SSA curs 4 - M.Joldoş 55
Rezumat
Introducere în securitatea sistemelor de operare
Controlul accesului– DAC (accesul discreţionar)