1 / 44

Securitatea in aplicatiile web

Securitatea in aplicatiile web. Bogdan Brinzarea- Iamandi Banca Romaneasca. Agenda. Securitatea in lumea de azi Mituri Injectare SQL XSS CSRF Fortare JSON Unelte ajutatoare. Securitatea in lumea de azi. Care este miza ?. Top 10 riscuri.

shen
Download Presentation

Securitatea in aplicatiile web

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Securitatea in aplicatiile web Bogdan Brinzarea-Iamandi BancaRomaneasca

  2. Agenda • Securitatea in lumea de azi • Mituri • Injectare SQL • XSS • CSRF • Fortare JSON • Unelteajutatoare

  3. Securitatea in lumea de azi

  4. Care estemiza?

  5. Top 10 riscuri Open Web Application Security Project (OWASP)

  6. MITURI

  7. SSL (Secure Socket Layer) • Dacafolosesc SSL suntprotejat! • FALS: Atacurile se pot intampla la felsipeste SSL!

  8. Firewall • Dacafolosesc un firewall suntprotejat! • FALS: Firewall-ulprotejeazaaccesul web la site si nu protejeazaaplicatia de atacurirau-intentionate

  9. Dezvoltatori • Securitateaaplicatieiesteproblemadezvoltatorilor! • FALS: Mai multi factori care nu tin de dezvoltatoriinfluenteazasecuritateaaplicatiei!

  10. SQL Injection Injectaresql

  11. Injectare SQL - Definitie • Atacprin care date nevalidateajungsafaca parte dintr-o comandasau query • Impact • Se obtineacces cu rolurinecuvenite • Se obtin date sensibile • Se distrug date sensibile

  12. Injectare SQL - Scenariu Accesneautorizat Preluare date sensibile Acordaredrepturinecuvenite

  13. Injectare SQL - Scenariu Sursa: http://xkcd.com/327/

  14. Injectare SQL – Solutii • Folosirea query-urilordinamicedoar cu parametri SQL siguri • Proceduristocate • Eliminareacaracterelorspeciale • Validareadatelor de input • Folosirealisteloralbesi nu a celornegre

  15. Injectare SQL - Solutii • Protejareadatelorsensibileprincriptare • Eliminareaerorilor SQL explicite din output • Limitareainformatiilordesprebaza de date • Folosirea de conturi cu drepturilimitate • FolosirealibrarieiAntiXSS (http://antixss.codeplex.com)

  16. Cross-Site Scripting XSS

  17. XSS - Definitie • Atacprin care o aplicatiepreia date si le trimitecatre browser fara o validaresi o encodarecorecta • Permiteexecutia de scripturirauintentionatepebrowserulclientului • 2 tipuri • Reflectat – scriptulesteinclus in cereresiestereflectat in pagina • Persistat – scriptulesteinclus in cerere, estesalvatsiapoiafisat in paginiulterioare

  18. XSS – Scenariureflectat

  19. XSS – Scenariureflectat

  20. XSS – Scenariureflectat

  21. XSS – Scenariupersistat

  22. XSS - Solutii • Folosireaencodariioutputului HTML

  23. XSS - Solutii • Nu numai HTML-ultrebuievalidat! • Encodareatribute tag-urilor • Encodareatribute de tip URL • Validarea CSS-ului cu expresii regulate • Encodare JavaScript

  24. XSS – Solutii • Validareadatelorpe client cat sipe server Machine.config Web.config

  25. XSS - Solutii • Validarea in MVC se face la nivel de controller

  26. XSS - Solutii • FolosirealibrarieiAntiXSS (http://antixss.codeplex.com/) Sursa: antixss.codeplex.com

  27. XSS - Solutii • Phil Haack – AntiXssEncoderhttp://haacked.com/archive/2010/04/06/using-antixss-as-the-default-encoder-for-asp-net.aspx

  28. XSS - Solutii • Cookie HttpOnly – se previneaccesarea cu document.cookie

  29. XSS – Solutii • innerHtmltrebuiefolositdoar cu HMTL encodat • innerText nu executascripturile

  30. Cross-Site Request Forgery CSRF

  31. CSRF - Definitie • Atacceforteaza o victimaautentificatasatrimita o cerere HTTP falsa • Pentru ca cerereaprovine de la victima, masurile de securitatetraditionalesuntocolite

  32. CSRF - Scenariu

  33. CSRF - Solutii • Includerea in cookie si in pagina a unuijeton de securitate • La postareadatelorpe server se verificajetonul din cookie cu cel din pagina • Doardacaceledouacoincidactiunea se efectueaza

  34. CSRF - Solutii

  35. JSON Hijacking Fortare JSON

  36. Fortare JSON - Definitie • Atac de tip CSRF care implicaefectuarea de catrevictimaautentificatauneicereripentruobtinereaunor date confidentiale de tip JSON • Un array JSON esteconsiderat un JavaScript valid siesteexecutat

  37. Fortare JSON - Definitie • Urmatoarelecerintetrebuieindeplinite • Browserulvictimeisuporta__defineSetter__ • Serviciul JSON intoarce date confidentiale • Serviciul JSON intoarcedatele la GET • Serviciul JSON intoarcedatele sub forma unui array

  38. Fortare JSON - Scenariu

  39. Fortare JSON - Solutii • In MVC 2, doarrequesturi POST pentru JSON • Nu trebuieluateactiuni la GET • Folosireaunuijeton de securitate

  40. Fortare JSON – Solutii • Un JsonResultsigur care samodifice output-ul default de array • Ne puteminspira din AJAX-enabled WCF Service

  41. Fortare JSON - Solutii System.Web.Mvc.JsonResult.cs

  42. Unelte • URL Scan • URL Rewrite • Fiddler • IIS Log Analyzer • Log Parser 2.2

  43. Concluzii

  44. VA MULTUMESC!

More Related