facultatea de matematică şi informatică - securitate software i. …mihai-suciu/ss/curs01.pdf ·...

44
Securitate Software I. Introducere 1 / 44

Upload: others

Post on 08-Feb-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Securitate SoftwareI. Introducere

1 / 44

Page 2: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Continut

1 OrganizarePrezentarea cursuluiOrganizare

2 Introducere

3 Vulnerabilitaţi

4 Necesitatea auditului

5 Clasificarea vulnerabilitaţilor

6 Ameninţari

2 / 44

Page 3: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

De ce?

Obiective:sa invaţam sa devoltam soft mai sigur

I proiectareI implementare

scrie cod sigurI cunoaște și înţelege vulnerabilitaţi soft obișnuiteI evitarea acestor vulnerabilitaţi (design, API securizat)

code review/audit din punct de vedere al securitaţiiI stiţi ce sa cautaţi în codI stiţi cum sa cautaţi vulnerabilitaţi de securitate (instrumente, strategii,

etc.)tratarea vulnerabilitaţilor gasite

I evaluarea probabilitaţii ca vulnerabilitatea gasita sa fie exploatataI evaluarea importanţei vulnerabilitaţii gasite (ex. minora, severa, critica)

3 / 44

Page 4: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Black Hat and White Hat

Black hat: perspectiva atacatoruluigasește vulnerabilitaţi softwareexploatarea acestor vulnerabilitaţi

White hat: perspectiva aparatoruluiprevine apariţia în cod a vulnerabilitaţiloringreuneze exploatarea vulnerabilitaţilor

4 / 44

Page 5: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Conţinut curs

1 Introducere, concepte de baza2 Vulnerabilitaţi legate de coruperea memoriei (ex.

buffer overflow)3 Vulnerabilitaţi specifice limbajului C (ex. integer

overflow, type conversion)4 Vulnerabilitaţi în utilizarea și manipularea șirurilor de

caractere5 Vulnerabilitaţi specifice sistemelor de operare UNIX /

Linux6 Vulnerabilitaţi specifice sistemelor de operare Windows

5 / 44

Page 6: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Conţinut curs II

7 Vulnerabilitaţi de sincronizare (situaţii de concurenţa)8 Vulnerabilitaţi web9 Vulnerabilitaţi de criptografie și specifice aplicaţiilor de

reţea10 Metode de proiectare, implementare si evaluare a

aplicatiilor din punctul de vedere al securitatii11 Code audit: design review12 Code audit: operational review13 Code audit: application review

6 / 44

Page 7: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

BibliografieM. Down, J. McDonald, J. Schuh, “The Art of Software SecurityAssessment. Identifying and Preventing Software Vulnerabilities”,Addison-Wesley, 2007M. Howard, D. LeBlanc, J. Viega, “24 Deadly Sins of SoftwareSecurity. Programming Flows and How to Fix Them”, McGraw Hill,2010M. Howard, D. LeBlanc, ”Writing Secure Code for Windows Vista”,Microsoft Press, 2007G. McGraw, ”Software Security:Building Security In”,Addison-Wesley, 2006R. Seacord, ”CERT C Coding Standard: 98 Rules for Developing Safe,Reliable, and Secure Systems”, Addison-Wesley, 2nd edition, 2014“Common Weaknesses Enumeration (WCE)”,http://cwe.mitre.org/data/index.htmlThe Open Web Application Security Project (OWASP), “SoftwareVulnerabilities”,https://www.owasp.org/index.php/Category:Vulnerability

7 / 44

Page 8: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Organizare

curs: Mihai Suciu (www.cs.ubbcluj.ro/˜mihai-suciu/ss/)laborator:

I Daniel Ticle (http://www.cs.ubbcluj.ro/˜daniel/ss/)I Alexandru Mihai LUNGANA-Niculescu

Pagina web a cursuluiwww.cs.ubbcluj.ro/˜mihai-suciu/ss/https://moodle.cs.ubbcluj.ro/course/view.php?id=27pentru Moodle:

I va creaţi un cont (daca aveţi un cont, numele de utilizator și parola sepot recupera)

I se recomanda ca numele de utilizator sa fie de forma prenume.nume,ex. mihai.suciu

I curs: Securitate Software

8 / 44

Page 9: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Structura

Cursuri: 2 ore / saptamâna

Laboratoare: 2 ore / saptamâna

Orar:http://www.cs.ubbcluj.ro/files/orar/2019-1/disc/MLR8114.html

9 / 44

Page 10: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Precondiţii

cursuri: Arhitectura sistemelor de calcul, Sisteme de operare,Structuri de date și algoritmi, Baze de date, Programare webcompetenţe: Programare in C, cunoștinţe de baza ale arhitecturii Intelx86, elemente de baza în programarea web și SQL.

10 / 44

Page 11: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Metoda de evaluare şi cerinţe20% Activitate la curs (teste la curs); nu se impune nota minima.40% Activitate la laborator (4 teste grila pe Moodle, susţinute peparcursul semestrului); nota la fiecare test trebuie sa fie cel puţin 5.40% Colocviu (test grila pe Moodle); nota trebuie sa fie cel puţin 5.1 punct bonus pentru activitate deosebita la laborator.Restanţe:

I Pentru restanţe formula ramâne identica. Nota de la colocviu seînlocuiește cu nota obţinuta la un nou test susţinut în sesiunea derestanţe.

I În sesiunea de restanţe nu se poate recupera punctajul pentruactivitate la curs, respectiv activitate la laborator! (acestea fiindactivitaţi ce se desfașoara pe parcursul semestrului)

Nota minima la colocviu trebuie sa fie 5. Nota la fiecare test de lalaborator trebuie sa fie minim 5.Este necesar un numar de minim 10 prezenţe la laborator. Estenecesara participarea studenţilor la ambele ore de laborator pentru a filuata în considerare prezenţa.

11 / 44

Page 12: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Partea II

Vulnerabilitaţi software

12 / 44

Page 13: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Obiective

importanţa și complexitatea în scrierea de cod sigurprincipalele aspecte legate de cod sigur (secure coding)

13 / 44

Page 14: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

De ce? Motivaţie

importanţa și omniprezenţa softwareimportanţa proprietaţilor de securitate pentru software

14 / 44

Page 15: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Ce anume? Conţinut

1 vulnerabilitaţi softwareI înţelegerea unor vulnerabilitaţi elementare și implicaţiile acestora

2 verificarea codului (code auditing)I instrumente pentru a înţelege și a evalua cât de sigur este codul

3 scrie cod sigurI tehnici și API pentru a evita vulenrabilitaţi în cod

15 / 44

Page 16: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Cum? Obiective

1 cunostinţe de baza pentru a efectua o evaluare cuprinzatoare asecuritaţii unei aplicaţii:

I diseca o aplicaţieI descoperi vulnerabilitaţiI evalua consecinţele / riscurile vulnerabilitaţilor gasiteI eficientizarea procesului de audit: concentrare pe aspectele relevante

legat de securitatea coduluiI identificarea vulnerabilitaţilor critice

2 capacitatea de a scrie cod cerect din punct de vedere al securitaţiiI proiecta și scrie cod sigurI înlocuirea codului greșit cu cel corect

16 / 44

Page 17: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Definiţii

defecte / deficienţe (defects / weaknesses): comportament greșit alcodului

I greșeli (flaws) în designI defecte (bugs) în implementare

defecte relevante din punct de vedere al securitaţii ce ar permite unuiatacator sa le exploatezenu toate vulnerabilitaţiile se datoreaza defectelor software, ex.aplicaţie ce permite accesul la fisiere critice sistemului de operare

17 / 44

Page 18: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Corectitudine vs. Securitate

corectitudine / fiabilitateI aplicaţia se comporta așa cum a fost proiectata (chiar și în cazul unor

intrari și condiţii excepţionale)I siguranţa: sistemul nu este afectat de execuţia aplicaţiei, sistemul este

protejat de aplicaţiesecuritate

I prevenirea comportamentul nedorit în cazul în care un atacator rauintenţionat abuzeaza de aplicaţie

I aplicaţia nu este afectata în mod neintenţionat de sistem, aplicaţia esteprotejata de mediul înconjurator

18 / 44

Page 19: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Corectitudine vs. Securitate II

perspectiva corectitudiniiI incorect, dar comportamentul se manifesta rarI imposibil de a livra un soft fara defecteI reparate prioritar defectele ce afecteaza utlizatorii obișnuiţi

perspectiva securitaţiiI atacatorul nu este un utilizator obișnuitI incearca sa gaseasca defecte pentru moduri neobișnuite de utilizare a

aplicaţiei (non-regular usage cases)I gasește un mod de a folosi aceste defecte în avantajul luiI evita blocarea / oprirea aplicaţiei exploatateI schimba comportamentul aplicaţiei

19 / 44

Page 20: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Obiective din p.d.v. al securităţii

Pentru a asigura securitatea unei aplicaţii trebuie:eliminate greșelile și defectele din cod (ce ar permite exploatareaaplicaţiei)aplicaţii mai greu de exploatat

20 / 44

Page 21: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Securitate Software [2]

proiectarea și implementarea aplicaţiei având în vedere și aspectele desecuritatecodul este prioritardiferenţe la nivel de securitate între aplicaţie și sistemul de operare

I nu se pot impune politici de securitate specifice aplicaţieiI nu se poate restricţiona fluxul de informaţie

diferenţe la nivel de securitate între aplicaţie și ”perimetru” (exfiewall, IDS)

I nu se opresc atacuri pe date/canale nefiltrateI bazata pe analiza sintactica vs. anliza semanticaI reguli de securitate de granularitate mare − > penalizarea

performanţei, trebuie gasit un compromissecuritate software − > cod cu greșeli

21 / 44

Page 22: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Mesajul cursului

Cititi documentaţia!!!!

22 / 44

Page 23: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Mesajul cursului

Citiţi documentaţia!!!!

23 / 44

Page 24: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Mesajul cursului

Citiţi documentaţia!!!!

24 / 44

Page 25: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Politici de securitate

securitatea unui sistem este data de politicile de securitateo lista de reguli (ce este permis și ce este interzis)specificare formala: costisitoare, nu este practica în majoritateacazurilorformal, document scris cu mai multe clauzeinformal, colecţie ambigua de așteptari

25 / 44

Page 26: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Aşteptări / premize

1 confidenţialitateI datele private trebuie pastrate secretI ascunderea datelor și dovada existenţei datelorI aspecte legate de intimitateI mecanisme: compartimentare, autentificare și autorizare, criptare

2 integritateI incredere și corectitudinea datelorI impiedicarea modificarii datelorI prevenirea și detectarea alterarii neautorizate a datelor și a sursei

datelorI mecanisme: autentificare, autorizare, criptografie

3 disponibilitateI capacitatea de a folosi datele, resursele, serviciileI atacuri DoS (denial-of-service) http://www.digitalattackmap.com/

#anim=1&color=0&country=ALL&list=0&time=17443&view=mapI mecanism: autentificare, autorizare, limitarea resurselor

26 / 44

Page 27: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Necesitatea auditului

majoritatea dezvoltatorilor de aplicaţii nu ofera garanţii legat deintegritatea aplicaţieise pune accentul pe funcţionalitate, disponibilitate și stabilitatetendinţa: testare și pe partea de securitateanaliza automata a codului, testare din punct de vedere al securitaţii,audit manual al coduluicode audit = analiza codului aplicaţiei (sursa sau executabil) pentru adescoperi eventualele vulnerabilitaţi exploatabilesituaţii ce implica audit de cod:

I in-house pre-release software auditI in-house post-release software auditI third-party product range comparisonI third-party evaluationI third-party preliminary evaluationI independent research

27 / 44

Page 28: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Audit vs Black Box testing

Black box testing:evaluarea unui sistem software doar prin manipularea interfeţelorexpusefuzz-testingavantaj: instrumente automate, rezultate rapidedezavantaje: proces limitat, nu se analizeaza multe posibile cai deexecuţie

28 / 44

Page 29: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Auditul codului şi ciclul dezvoltării

Auditul de cod ar putea fi efectuat în orice etapa a ciclului de viaţa alsistemului (SDLC - System Development Life Cycle)

1 studiul de fezabilitate2 definirea cerinţelor3 proiectarea aplicaţiei4 implementare5 integrare și testare6 funcţionare și întreţinere

29 / 44

Page 30: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Vulnerabilităţi în proiectare (Design Vulnerabilities)

vulnerabilitaţi la nivel înalt, deficienţe de arhitectura, probleme cucerinţe sau constrângeri de software (SDLC 1, 2, 3)probleme care apar din cauza unei greșeli fundamentale în proiectareasoftware-uluichiar daca este implementat corect, software-ul nu este înca sigurpresupuneri greșite privind mediulproiectarea aplicaţiei este motivata de cerinţe și specificaţiiexemplu: TELNET - lipsa de criptare

30 / 44

Page 31: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Vulnerabilităţi în implementare

defecte tehniceîn general aplicaţia face ceea ce ar trebui dar problema este modul încare se desfașoara operaţiuneamediul în care se executa aplicaţiaSDLC 4,5exemple: buffer overflow, SQL injection

31 / 44

Page 32: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Vulnerabilităţi în functionare

apar prin procedurile operaţionale și utilizarea generala a unui softîntr-un anumit mediunu este prezent în codul sursa, ci în modul în care soft-ulinteracţioneaza cu mediul sauprobleme cu:

I configurarea soft-ului în mediul sauI configurarea soft-ului și a calculatoarelorI procese automate și manuale ce se executaI anumite tipuri de atacuri asupra utilizatorilor sistemului (social

engineering și furt)exemplu: utilizarea TELNET într-un mediu care îl expune la atacuri(datorita defectului sau de proiectare cunoscut)

32 / 44

Page 33: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

"zona gri"

dificil de a face distincţie între etapele de proiectare și implemetarenu exista o distincţie clara între vulnerabilitaţile de funcţionare șivulnerabilitaţile de implementare și de proiectare

33 / 44

Page 34: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Clasificare [5]

1 Input Validation and RepresentationI buffer overflow, command injection, XSS, format strings, illegal

pointer, integer overflow, SQL injection, XML validation etc.2 API Abuse

I dangerous functions, directory restrictions, exception handling,unchecked return values etc.

3 Security FeaturesI insecure randomness, least privilege violation, password management,

privacy violation4 Time and State

I deadlock, TOCTOU, insecure temporary files, signal handling etc.5 Errors

I catch “null-pointer exception”, empty catch block, overly-broad catchblock etc.

34 / 44

Page 35: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Clasificare II [5]

6 Code QualityI double free, memory leaks, null dereference, undefined behavior,

uninitialized variables, use after free etc.7 Encapsulation

I comparing classes by name, data leaking between users, leftover debugcode, private array-typed field returned from a public method, publicdata assigned to private array-typed field, system information leak

8 Environment (extra)I everything that is outside of the source code, still critical to the

application’s security

35 / 44

Page 36: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Top vulnerabilităţi

“OWASP Top Ten Project” [3]1 Injection2 Broken Authentication and Session Management3 Cross-Site Scripting (XSS)4 Insecure Direct Object References5 Security Misconfiguration6 Sensitive Data Exposure7 Missing Function Level Access Control8 Cross-Site Request Forgery (CSRF)9 Using Components with Known Vulnerabilities10 Unvalidated Redirects and Forwards

36 / 44

Page 37: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Date de intrare si fluxul datelor

majoritatea vulnerabilitaţilor software rezulta din comportamentulneașteptat declanșat de raspunsul aplicaţiei la date de intrareneadecvatedatele de intrare daunatoare sunt injectate / furnizate de un atacatorîn etapa de recenzie a codului trebuie sa se ţina cont de datelecontrolate de utilizatoratacatorul poate trimite datele în mai multe moduriîn etapa de recenzie a codului trebuie sa se ţina cont de fluxul datelor(de unde vin datele)greu de analizat

37 / 44

Page 38: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Relaţia de încredere

între diferite componente ale unui sistem softwareexista un grad diferit de încredererelaţiile de încredere sunt cruciale în fluxul de datedetermina cantitatea de date schimbate între componente pentruvalidare (overhead)ia în considerare natura tranzitiva a încrederiiincredere gresita ar putea duce la vulnerabilitaţi

38 / 44

Page 39: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Presupuneri greşite

proiectanţii și programatori fac presupuneri neîntemeiate asupraI validitatea și formatul datelor primiteI securitatea programelor de sprijinI potenţiala ostilitate a mediuluiI capacitatea atacatorilor și a utilizatorilorI comportamentul și nuanţele anumitor apeluri API sau funcţii de limba

similar cu încrederea pierdutaun atacator cauta ipoteze pe care un dezvoltator le-a facut, încercândsa eludeze aceste presupuneri furnizând aplicaţiei date greșite

39 / 44

Page 40: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Presupuneri asupra datelor de intrare

date de intrare de lungime finitastructuri de intrare bine formatate

40 / 44

Page 41: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Presupuneri asupra interfeţelor

interfeţele sunt mecanismele prin care componentele softwarecomunicaproprietaţile de securitate ale unor astfel de interfeţe sunt de multe orineînţelesedezvoltatorii presupun în mod fals ca numai utilizatorii de încrederepot accesa și utiliza interfeţeledezvoltatorul supraestimeaza dificultatea unui atacator de a accesa ointerfaţaex. un protocol personalizat de comunicare și criptare

41 / 44

Page 42: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Presupuneri asupra mediului

unele vulnerabilitaţi apar atunci când un atacator manipuleaza mediulde baza al aplicaţieiastfel de vulnerabilitaţi sunt cauzate de ipoteze facute în legatura cumediuldezvoltatorul ar trebui sa înţeleaga pe deplin potenţialele problemelede securitate ale fiecarei tehnologii de sprijinexemplu: problema ”/tmp race”

42 / 44

Page 43: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

Lecturi recomandate

1 “The Art of Software Security Assessments”, chapter 1, “SoftwareVulnerability Fundamentals”, pp. 1 – 23

2 “Seven Pecernious Kingdoms: A Taxonomy of Software SecurityErrors”, https://cwe.mitre.org/documents/sources/SevenPerniciousKingdoms.pdf

43 / 44

Page 44: Facultatea de Matematică şi Informatică - Securitate Software I. …mihai-suciu/ss/curs01.pdf · 2019-11-27 · defecte / deficienţe (defects / weaknesses): comportament greșit

BibliografieM. Dowd, J. McDonald, and J. Schuh. The Art of Software SecurityAssessment: Identifying and Preventing Software Vulnerabilities.Addison-Wesley Professional.M. Hicks. Software Security Course (Univ. of Maryland).https://class.coursera.org/softwaresec-006, Fall 2015.Accessed: 2015-09-17OWASP. OWASP Top 10. The Ten Most Critical Web ApplicationSecurity Risks. https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project#tab=OWASP_Top_10_for_2013, 2013.Accessed: 2016-10-03Steve Christey (MITRE). CWE/SANS Top 25 Most DangerousSoftware Errors. http://cwe.mitre.org/top25/index.html,September 2011. Accessed: 2016-10-03.K. Tsipenyuk, B. Chess, and G. McGraw. Seven PerniciousKingdoms: A Taxonomy of Software Security Errors. Security amp;Privacy, IEEE, 3(6):81–84, Nov. 2005

44 / 44