• Like
  • Save
ярослав рабоволюк
Upcoming SlideShare
Loading in...5
×
 

ярослав рабоволюк

on

  • 1,356 views

 

Statistics

Views

Total Views
1,356
Views on SlideShare
580
Embed Views
776

Actions

Likes
0
Downloads
4
Comments
0

2 Embeds 776

http://techforum.mail.ru 754
http://www.techforum.mail.ru 22

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    ярослав рабоволюк ярослав рабоволюк Presentation Transcript

    • безопасность клиентской части - xss - csrf- цель атаки: пользователь, его браузер - clickjacking- доступность: веб-сайт открыт злоумышленнику - фиксация сессии- распространенность - расщепление запросов - открытый редирект ... 2
    • XSS внедрение подконтрольного злоумышленником html-кода в контекст браузера пользователя - отраженная ( reflective ) - сохраненная (stored) - на основе обьектной модели (DOM-based) 3
    • XSS:reflective url attacker user url user TARGET html user TARGET 4
    • XSS:reflective:пример http://site.com?username=’><script>payload</script> site.com: <input type=’text’ name=‘username’ value=’’><script>payload</script>’> 5
    • известные инциденты apache.org, 04.05.2010, xss + configuration error 6
    • XSS:stored attacker TARGET url attacker user html user TARGET 7
    • XSS:stored:пример POST site.com?addmsg msg=<script>payload</script> site.com/getmsg?id=1234 <div class=‘message’> <script>payload</script> </div> 8
    • известные инциденты twitter.com, 2009.04,2010.09, xss worm 9
    • XSS: возможности 1. кража сессии 2. обход firewall/NAT 3. заражение вирусами, drive by download) 10
    • XSS: пример векторов атакиЦель: выполнение function() в контексте сайта site.com 1. <script>a=param;</script> http://site.com?param=1;function() 2. <a href=‘http://param‘> http://site.com?param=’><script>function()</script> 3. <img src=‘param’> http://site.com?param=crap’ onerror=‘function() 4. <div style=’background-url: “param”;’> http://site.com?param=javascript:function() 11
    • XSS: защита1. не использовать недоверенные данные в местах, вкоторых санитизация в принципе невозможна. <script>param</script> <script src=‘param’> <!-- param --> <tag param> <param> <style>param</style> 12
    • XSS: защита1. не использовать недоверенные данные в местах, в html:которых санитизация в принципе невозможна. <div>param</div>2. санитизация данных в зависимости от места их attribute value:применения <div class=‘param’> javascript: <script>a=‘param’;</script> css style property: <div style=‘background-url:’param’> url: <a href=‘param’> 13
    • XSS: защита1. не использовать недоверенные данные в местах, вкоторых санитизация в принципе невозможна. - GET/POST/COOKIE2. санитизация данных в зависимости от места ихприменения:html,attribute,javascript,css,url - storage3. применение правил фильтрации ко всем источникампользовательских данных - json 14
    • XSS: защита1. не использовать недоверенные данные в местах, вкоторых санитизация в принципе невозможна.2. санитизация данных в зависимости от места ихприменения:html,attribute,javascript,css,url3. применение правил фильтрации ко всем источникампользовательских данных5. флаг HttpOnly 15
    • пользовательский html Что делать, если необходимо использовать пользовательский контент: 16
    • пользовательский html Что делать, если необходимо использовать пользовательский контент: НЕ ДЕЛАЙТЕ ЭТОГО! 17
    • пользовательский html Что делать, если необходимо использовать пользовательский контент: 1. в iframe с отдельного домена 2. whitelist тегов и аттрибутов 3. пре/постмодерация 4. желательно рассмотреть возможность “языка разметки” 18
    • CSRF вызов функций сайта от лица аутентифицированного пользователя evilsite EVILSITE attacker user <html> user EVILSITE ... <img src=‘http://target/action’> user TARGET ... </html> 19
    • CSRF: защита 1. Referer check 2. использование security tokens & POST method 3. challenge-response 20
    • CLICKJACKINGevilsite, cursorjacking: evilsite, likejacking:cursor:url("img.png") addEventListener(‘mousemove’... +iframe OK OK OK 21
    • CLICKJACKING 22
    • CLICKJACKING 23
    • CLICKJACKING...style=position:absolute;left:0px;top:0px;z-index:10000;... 24
    • CLICKJACKING: защита 1.X-Frame-Options: DENY header 2. css validation 3. challenge-response 25
    • ресурсы https://www.owasp.org http://code.google.com/p/browsersec/wiki/Main http://html5sec.org/ http://www.mniemietz.de/demo/cursorjacking/cursorjacking.html 26
    • Спасибо! Рабоволюк Ярославруководитель отдела И.Б. yaroslav@corp.mail.ru