44
За кулисами Windows Update. От уязвимости к обновлению. Бешков Андрей Руководитель программы информационной безопасности E-mail: [email protected] Twitter: @abeshkov

За кулисами Windows Update. От уязвимости к обновлению

Embed Size (px)

DESCRIPTION

В этом докладе будет рассказано о том, как работают разные программы внутри Microsoft, направленные на взаимодействие с исследователями безопасности и брокерами уязвимостей. Как принимаются и обрабатываются данные об уязвимостях. Как происходит проверка уязвимости, поиск вариативности в уязвимостях, классификация и принятие решения о том, что дальше делать с этой уязвимостью. Так же будут освещены вопросы тестирования выпускаемых патчей. Вы узнаете, почему патчи выходят раз в месяц. Затем поговорим про обеспечение стабильного обновления более чем миллиарда систем на планете. Будут показаны наиболее частые пути появления эксплоитов в первые 30 дней после выхода патча. И рассказано о том, как MS обменивается данными с партнерами по безопасности, чтобы они могли с помощью обновлений к IDS/IPS и антивирусам защищать тех клиентов, которые не успевают обновиться за первый месяц. Также будет рассказано о влиянии 0-day уязвимостей на общий ландшафт безопасности продуктов Microsoft. Все данные, приводимые в докладе, собраны с 600 млн ПК в 117 странах мира.

Citation preview

Page 1: За кулисами Windows Update. От уязвимости к обновлению

За кулисами Windows Update. От уязвимости к обновлению.

Бешков АндрейРуководитель программы информационной безопасностиE-mail: [email protected]: @abeshkov

Page 2: За кулисами Windows Update. От уязвимости к обновлению

ВопросыКак MS обрабатывает уязвимости?Почему MS выпускает так много обновлений?Почему выпуск обновления занимает столько времени?Как MS тестирует обновления перед выпуском?Как MS может помочь партнерам и сообществу?

Page 3: За кулисами Windows Update. От уязвимости к обновлению

Каждый месяц мы слышим! Продукты MS уязвимы!!!

Page 4: За кулисами Windows Update. От уязвимости к обновлению

Уязвимости за 5 лет ТОП 20 вендоров

Источник Secunia 2011 yearly report

Page 5: За кулисами Windows Update. От уязвимости к обновлению

Уязвимости за 9 лет

Page 6: За кулисами Windows Update. От уязвимости к обновлению

Уязвимости Microsoft Office и OpenOffice

http://www.h-online.com/security/news/item/Vulnerabilities-in-Microsoft-Office-and-OpenOffice-compared-1230956.html

Миф о безопасности ПО с открытым кодом?

Page 7: За кулисами Windows Update. От уязвимости к обновлению

Уязвимости по индустрииSun Solaris 10 1191

Red Hat Enterprise Linux Server v.5 1580

FreeBSD 6.x 86

Microsoft Windows Server 2008 302

Apple Mac OS X 1555

Red Hat Enterprise Linux Client v.5 1709

Ubuntu Linux 8.04 (выпуск 2008 год) 1397

Windows XP (выпуск 2001 год) 498

Windows 7 170

Oracle Database 11.x 315

IBM DB2 9.x 98

MySQL 5.x 66

Microsoft SQL Server 2008 1

Mozilla Firefox 4.0 (04.2011) 14 Firefox 3.5.x (2009) 161

Opera 11 (10.2010) 10 Opera 9.x (2008) 56

Google Chrome 11 (04.2011) 30 Chrome 5.x (5.2010) 56

Microsoft Internet Explorer 9 (03.2011) 18 Explorer 8.x (3.2009) 104

Cisco ASA 7.x 71

Microsoft ISA Server 2006 7

Microsoft Forefront TMG 2 В ядре Linux 2.6 — 596 уязвимостей . Почти в 3 раза больше уязвимостей чем в Windows 7

Page 8: За кулисами Windows Update. От уязвимости к обновлению

Разработка высококачественных обновлений

Обслуживание более чем миллиарда систем вокруг света

Раздаем 1-1,5 петабайта обновлений ежемесячно

Page 9: За кулисами Windows Update. От уязвимости к обновлению

Цель разработки высококачественных обновлений

Минимизировать влияние на разнородную экосистему более чем миллиарда систем на планетеСнижать стоимость применения обновлений для клиентовЗащищать от криминальной активности

Page 10: За кулисами Windows Update. От уязвимости к обновлению

Процесс выпуска обновления

MSRC получили данные через

[email protected] Анонимный отчет на вебсайте TechNet Security

Ответ от MSRCКаждому исследователю ответ в течении 24 часовВнутренний ответ

Уведомление об

уязвимости

MSRC Engineering и продуктовые команды

Тестирование обновления против уязвимостиТестирование вариаций

Тестирование обновления MSRC Engineering

Защитные мерыПост в блог SVRDРассказ партнерам MAPP о способах обнаружения атаки

Техническая помощь

Обновление лучших практик, методов дизайна, инструментов разработки и тестирования

Обновление инструментов разработки и

методов

Доверенность исследователяВлияние на клиентовКритичность уязвимостиВероятность эксплуатации

Оценка уязвимости Быстрые ответы

Регулярные обновленияПоддержка скоординированного раскрытия

Отношения с исследователе

м БюллетеньЗатронутые компоненты/ПОТехническое описаниеFAQБлагодарности

Создание контента

Выпуск бюллетеняПубликация контента и ресурсовТехнические руководства для клиентовОтслеживание проблем клиентов и прессы

Выпуск

MSRC EngineeringВоспроизведениеПоиск вариацийИсследование окружающего кода и дизайна продукта

Расследование

Page 11: За кулисами Windows Update. От уязвимости к обновлению

Сведения об уязвимостях. Пахнет спамом?

MSRC получает более 150.000 сообщений в год по адресу [email protected] или анонимные сообщения на вебсайте TechNet SecurityMSRC расследует: существует ли уязвимость, какие компоненты и продукты затронутыВ течении года получается:

~1000 подтвержденных проблем~100 обновлений суммарно для всех продуктов Microsoft

Стандартный цикл поддержки продукта 10 лет. Это очень долго!

Page 12: За кулисами Windows Update. От уязвимости к обновлению

Примеры уведомлений• Не традиционные отчеты– Subject: “yo ~new vuln ”– Subject: 你会来参加我的马来西亚朋友的聚会吧?– Subject: У вас дыра! Лузеры!

Page 13: За кулисами Windows Update. От уязвимости к обновлению

Найдите уязвимость…

bool fAllowAccess = true;If (AccessCheck(…) == 0 && GetLastError() ==ERROR_ACCESS_DENIED)

fAllowAccess = false;

Этот маленький кусок кода содержит уязвимость трудно обнаруживаемую стандартными инструментами и ручными проверками кода.

Page 14: За кулисами Windows Update. От уязвимости к обновлению

Найдите уязвимость…

bool fAllowAccess = false;If (AccessCheck(…) != 0 && GetLastError() ==ERROR_ACCESS_DENIED)

fAllowAccess = true;

Нарушение принципа “fail closed”

Иллюстрация того насколько малозаметными могут быть уязвимости. Этот маленький кусок кода содержит уязвимость трудно обнаруживаемую стандартными инструментами и ручными проверками кода

Page 15: За кулисами Windows Update. От уязвимости к обновлению

Критерии открытия кейса– Репутация исследователя (Пример: Yamata Li,

ZDI, iDefense и.т.д)– Не покрывается 10 законами безопасности

(потенциал стать уязвимостью)– Не дублирует уже известный публично случай– Не дублирует известный случай “Won’t fix”

Page 16: За кулисами Windows Update. От уязвимости к обновлению

Повторить сможешь?

• 2005 – MSRC 5879 – MS05-039 - Zotob– Исследователь прислал proof-of-concept– В формате Tarball– Для запуска требовался CYGWIN– Первоначальный ответ “Не воспроизводится”

Page 17: За кулисами Windows Update. От уязвимости к обновлению

Страшно или нет? Индекс эксплоитабельности

Page 18: За кулисами Windows Update. От уязвимости к обновлению

Эту уязвимость уже атакуют?Данные о количестве атак и заражений собираются с 600 миллионов компьютеров обслуживаемых средствами безопасности Microsoft такими как:

• Malicious Software Removal Tool• Microsoft Security Essentials• Windows Defender• Microsoft Forefront Client Security• Windows Live OneCare • Windows Live OneCare safety scanner• Binghttp://www.microsoft.com/security/sir/

Page 19: За кулисами Windows Update. От уязвимости к обновлению

График разработки обновлений

Временных границы процессов плавают. Некоторые процессы могут идти параллельно.

Page 20: За кулисами Windows Update. От уязвимости к обновлению

Факторы задержек обновленияПочему может потребоваться много времени?

Три фактора влияют на скорость выпуска обновлений

Минимизация количества обновленийОдновременность выпуска для всех версийТестирование совместимости с приложениями

Page 21: За кулисами Windows Update. От уязвимости к обновлению

Минимизация обновлений

Избегаем повторного выпуска обновлений или выпуска нескольких обновлений для одного и того же компонента“Поиск вариаций”

Помним о цикле поддержки в 10 летУчимся на ошибках – MS03-026 (Blaster)

MS03-045 выпускался 4 раза

http://www.microsoft.com/technet/security/bulletin/ms03-026.mspx http://www.microsoft.com/technet/security/bulletin/MS03-039.mspx

Page 22: За кулисами Windows Update. От уязвимости к обновлению

Одновременный выпуск обновлений для всех продуктов

Часто уязвимость влияет на несколько продуктов или компонентов. Необходим одновременный выпуск во избежание 0-day. Учимся на ошибках:

MS04-028 (14 сентября 2004) закрыл уязвимость в GDI+ влиявшую на 53 отдельных продукта

Не тривиально с точки зрения инженераПродукты и компоненты меняются от релиза к релизуЧасто уязвимость нового продукта существует и в старом продуктеВариации требуют разных исправлений и разного тестирования

Page 23: За кулисами Windows Update. От уязвимости к обновлению

Скоординированный выпуск“Интернет сломан” – уязвимость в дизайне протокола DNS найдена в 2008Повлияло на множество производителей ПО. Угадайте о ком кричала пресса?Microsoft возглавил комитет производителей ПО и помог решить проблему совместными усилиямиВыпущен бюллетень MS08-037

Page 24: За кулисами Windows Update. От уязвимости к обновлению
Page 25: За кулисами Windows Update. От уязвимости к обновлению

Тестирование на совместимостьМинимизация проблем с совместимостью приложений требует тестирования огромного количества приложений. Матрица тестирования разрастается очень быстро.Обновления безопасности Windows тестируются на:

Всех версиях подверженных уязвимости ОСWindows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7 и Windows Server 2008 R2

Разных SKU WindowsHome Basic, Home Premium, Business, Ultimate, и.тд.

Разных сервис паках Windows и уровнях (QFEs)Разных языковых локализациях WindowsРазных процессорных архитектурах

x86, x64 и Itanium

И более того тестируются ~3000 распространенных семейств приложений…

Page 26: За кулисами Windows Update. От уязвимости к обновлению

Тестирование на совместимостьNT4

-SP6

-Ser

ver-L

angu

age6

-X86

Vista-

SP0-

Ultim

ate-

Lang

uage

6-X6

4

Vista-

SP0-

Ultim

ate-

Lang

uage

11-X

64

Vista-

SP1-

Home

Basic

-Lang

uage

6-X6

4

Vista-

SP1-

Home

Basic

-Lang

uage

11-X

64

Vista-

SP1-

HomeP

rem

ium-La

ngua

ge6-

X64

Vista-

SP1-

Ultim

ate-

Lang

uage

6-X8

6

Vista-

SP1-

Ultim

ate-

Lang

uage

11-X

86

Vista-

SP2-

Busin

ess-L

angu

age6

-X86

Vista-

SP2-

Home

Basic

-Lang

uage

13-X

86

Vista-

SP2-

Home

Basic

-Lang

uage

6-X6

4

Vista-

SP2-

Home

Basic

-Lang

uage

11-X

86

Vista-

SP2-

Home

Basic

-Lang

uage

9-X8

6

Vista-

SP2-

Home

Basic

-Lang

uage

7-X8

6

Vista-

SP2-

Home

Basic

-Lang

uage

3-X8

6

Vista-

SP2-

Ultim

ate-

Lang

uage

12-X

64

Vista-

SP2-

Ultim

ate-

Lang

uage

13-X

64

Vista-

SP2-

Ultim

ate-

Lang

uage

1-X6

4

Vista-

SP2-

Ultim

ate-

Lang

uage

6-X6

4

Vista-

SP2-

Ultim

ate-

Lang

uage

11-X

64

Vista-

SP2-

Ultim

ate-

Lang

uage

2-X6

4

Vista-

SP2-

Ultim

ate-

Lang

uage

9-X6

4

Vista-

SP2-

Ultim

ate-

Lang

uage

10-X

64

Vista-

SP2-

Ultim

ate-

Lang

uage

8-X8

6

Vista-

SP2-

Ultim

ate-

Lang

uage

7-X8

6

Vista-

SP2-

Ultim

ate-

Lang

uage

5-X8

6

Vista-

SP2-

Ultim

ate-

Lang

uage

3-X8

6

Vista-

SP2-

Ultim

ate-

Lang

uage

4-X8

6

Win

2000

-SP4

-Prof

essio

nal-L

angu

age6

-X86

Win

dows7

-SP0

-Hom

e Ba

sic-La

ngua

ge12

-X64

Win

dows7

-SP0

-Hom

e Ba

sic-La

ngua

ge13

-X86

Win

dows7

-SP0

-Hom

e Ba

sic-La

ngua

ge6-

X64

Win

dows7

-SP0

-Hom

e Ba

sic-La

ngua

ge15

-X86

Win

dows7

-SP0

-Hom

e Ba

sic-La

ngua

ge11

-X86

Win

dows7

-SP0

-Hom

e Ba

sic-La

ngua

ge10

-X86

Win

dows7

-SP0

-Hom

e Ba

sic-La

ngua

ge8-

X86

Win

dows7

-SP0

-Hom

e Ba

sic-La

ngua

ge17

-X86

Win

dows7

-SP0

-Hom

e Ba

sic-La

ngua

ge5-

X86

Win

dows7

-SP0

-Hom

e Ba

sic-La

ngua

ge4-

X86

Win

dows7

-SP0

-Hom

ePre

mium

-Lang

uage

6-X8

6

Win

dows7

-SP0

-Sta

rter

-Lang

uage

6-X8

6

Win

dows7

-SP0

-Ulti

mat

e-La

ngua

ge12

-X86

Win

dows7

-SP0

-Ulti

mat

e-La

ngua

ge13

-X86

Win

dows7

-SP0

-Ulti

mat

e-La

ngua

ge6-

X64

Win

dows7

-SP0

-Ulti

mat

e-La

ngua

ge19

-X64

Win

dows7

-SP0

-Ulti

mat

e-La

ngua

ge15

-X86

Win

dows7

-SP0

-Ulti

mat

e-La

ngua

ge11

-X86

Win

dows7

-SP0

-Ulti

mat

e-La

ngua

ge10

-X64

Win

dows7

-SP0

-Ulti

mat

e-La

ngua

ge8-

X64

Win

dows7

-SP0

-Ulti

mat

e-La

ngua

ge16

-X64

Win

dows7

-SP0

-Ulti

mat

e-La

ngua

ge17

-X64

Win

dows7

-SP0

-Ulti

mat

e-La

ngua

ge7-

X64

Win

dows7

-SP0

-Ulti

mat

e-La

ngua

ge5-

X64

Win

dows7

-SP0

-Ulti

mat

e-La

ngua

ge3-

X64

Win

dows7

-SP0

-Ulti

mat

e-La

ngua

ge18

-X86

Win

dows7

-SP0

-Ulti

mat

e-La

ngua

ge4-

X86

Win

dows7

-SP1

-Ulti

mat

e-La

ngua

ge6-

X86

Win

XP-SP

2-Pr

ofes

siona

l-Lan

guag

e6-X

86

Win

XP-SP

3-Hom

e-La

ngua

ge6-

X86

Win

XP-SP

3-Pr

ofes

siona

l-Lan

guag

e11-

X86

WS0

3-SP

2-En

terp

rise-

Lang

uage

6-X6

4

WS0

3-SP

2-En

terp

rise-

Lang

uage

11-X

64

WS0

3-SP

2-Pr

ofes

siona

l-Lan

guag

e6-X

64

WS0

8 R2

-SP0

-Ente

rpris

e-La

ngua

ge6-

IA64

WS0

8 R2

-SP0

-Ente

rpris

e-La

ngua

ge11

-IA64

WS0

8-SP

1-En

terp

rise-

Lang

uage

6-X6

4

WS0

8-SP

1-St

anda

rd-La

ngua

ge6-

X64

WS0

8-SP

2-En

terp

rise-

Lang

uage

6-IA

64

WS0

8-SP

2-En

terp

rise-

Lang

uage

6-X8

6

WS0

8-SP

2-St

anda

rd-La

ngua

ge11

-X64

020406080

100120140160 16 bit Applications

Business & Home Office

Client Applications

Communication & Internet

Development Tools

Enterprise Applications

Games

Graphics & Design

Graphics & Printing

Home & Education

International Language Applications

Kids' & Educational

Line of Business

Media Applications

Music & MP3 , Photo & Video

Networking

Other Category Apps

Photo & Video Category

Security

Server Apps

Shimmed Applications

Tax & Finance

utilities

Группы приложений X версии ОС X SKU

Page 27: За кулисами Windows Update. От уязвимости к обновлению

Тестирование на совместимостьSecurity Update Validation Program (SUVP) запущена в 2005 годуПеред выпуском обновления даются группе клиентов под соглашение о неразглашении (NDA)Позволяет протестировать на широком наборе сред и конфигурацийУчастники сообщают о найденных проблемахДанные об исправляемых уязвимостях и способах эксплуатации не раскрываются

http://blogs.technet.com/b/msrc/archive/2005/03/15/403612.aspx

Page 28: За кулисами Windows Update. От уязвимости к обновлению

Совместимость со зловредамиМы прилагаем много усилий для тестирования сторонних приложений для того чтобы не беспокоить конечного клиента. Тестирования на совместимость со зловредами установленными у конечного клиента не происходит.

Page 29: За кулисами Windows Update. От уязвимости к обновлению

Совместимость со зловредами

MS10-015 локальное повышение привилегий в ядре WindowsОбновление внесло изменения в регистры ядра используемые руткитом Alureon для сокрытия себя в системеИзменения привели к возникновению BSOD на зараженных системах

Page 30: За кулисами Windows Update. От уязвимости к обновлению

Снижение трудоемкости развертывания обновлений

До Windows 98 обновления безопасности Microsoft публиковались на вебсайте Microsoft Download CenterПолезный урок:

Уязвимость в Microsoft SQL Server 2000 закрыта в MS02-039 выпущенном 24 июля 2002Процесс установки был сложен и трудоемок. Утилит поиска уязвимых систем не было. Через 6 месяцев червь SQL Slammer начал распространяться

Между июнем и августом 1998 Microsoft провела 12 “Patch Tuesdays”

WU/MU и “Patch Tuesday” помогли формализовать процесс

Page 31: За кулисами Windows Update. От уязвимости к обновлению

Минимизация перезапусков системы

Время непрерывной работы критичноПерезапуск выполняется только если нужные файлы заняты самой ОСМы ищем пути дальнейшего уменьшения количества рестартов

Один бюллетень часто закрывает несколько уязвимостей из базы (CVE)

Page 32: За кулисами Windows Update. От уязвимости к обновлению

Минимизация бюлетеней

1H06 2H06 1H07 2H07 1H08 2H08 1H09 2H09 1H100.0

0.5

1.0

1.5

2.0

2.5

3.0

3.5

1.8

2.12.2

1.51.6

2.3

3.1

2.2

2.8

Соотношение бюллетеней Microsoft и уязвимостей из CVE за период 1П06–1П10

Источник: Microsoft Security Intelligence Report Volume 9

Page 33: За кулисами Windows Update. От уязвимости к обновлению

Защита всем миромБезопасность является проблемой всей ИТ индустрииЕжегодно обнаруживаются тысячи уязвимостей

Большинство из них в сторонних приложениях и чаще всего критические

MSRC делится информацией собранной в процессе исследования уязвимостей с партнерами и сообществом

Page 34: За кулисами Windows Update. От уязвимости к обновлению

Zero day?

Page 35: За кулисами Windows Update. От уязвимости к обновлению

Скоординированное раскрытие

Мы считаем что идеальным вариантом раскрытия является приватное уведомление создателя ПО дающее ему достаточно возможностей для выпуска обновления до того как уязвимость станет публично известной.В идеале выпуск обновления предшествует или совпадает с публичным оглашением уязвимости

http://blogs.technet.com/b/ecostrat/archive/2010/07/22/coordinated-vulnerability-disclosure-bringing-balance-to-the-force.aspx

Page 36: За кулисами Windows Update. От уязвимости к обновлению

Скоординированное раскрытие

1H06 2H06 1H07 2H07 1H08 2H08 1H09 2H09 1H10

Other Coordinated Disclosure 208 241 217 247 323 264 270 377 295

Vulnerability Broker Cases 25 24 17 30 71 43 41 45 30

Full Disclosure 100 169 164 82 110 128 80 101 86

5%

15%

25%

35%

45%

55%

65%

75%

85%

95%

Full Disclosure

Vulnerability Broker Cases

Other Coordinated Disclosure

Источник: Microsoft Security Intelligence Report Volume 9

График раскрытия уязвимостей в ПО Microsoft период 1П05–1П10

Page 37: За кулисами Windows Update. От уязвимости к обновлению

Бюллетени безопасности MicrosoftОбновление и бюллетеней выпущено за период 1П05 и 2П10

Период Бюллетеней безопасности Внеочередных бюллетеней безопасности

1П05 33 0

2П05 21 0

1П06 32 1

2П06 46 1

1П07 35 1

2П07 34 0

1П08 36 0

2П08 42 2

1П09 27 0

2П09 47 2

1П10 30 2

2П10 65 2

Всего 448 11

Источник: Microsoft Security Intelligence Report – www.microsoft.com/sir

Page 38: За кулисами Windows Update. От уязвимости к обновлению

Microsoft Active Protection Program (64+ партнеров)

Sourcefire считает что до введения MAPP требовалось ~8 часов для реверс инжиниринга обновления, поиска уязвимости и разработки эксплоита. Затем нужно было потратить время на пути детектирования эксплоита.

8 часов достаточно профессиональному атакующему для разработки своего эксплоита после публичного раскрытия уязвимости

MAPP дал возможность сократить процесс до 2 часов. Теперь нужно разрабатывать только детектирование эксплоита. В результате защита обновляется раньше на много часов чем появится первый публичный эксплоит.

Page 39: За кулисами Windows Update. От уязвимости к обновлению

Microsoft Vulnerability Research

• Microsoft уведомляет приватно производителей стороннего ПО об уязвимостях последние несколько лет

• Microsoft Vulnerability Research (MSVR) позволяет построить устойчивые связи между производителями ПО и защищаться сообща

Page 40: За кулисами Windows Update. От уязвимости к обновлению

Пользователь счастлив?

Page 41: За кулисами Windows Update. От уязвимости к обновлению

Вопросы?• Бешков Андрей• Руководитель программы информационной безопасности• E-mail: [email protected]• Twitter: @abeshkov

Page 42: За кулисами Windows Update. От уязвимости к обновлению

Дополнительные ресурсыУправление уязвимостями в MicrosoftSDL - разработка безопасного ПОSecurity Intelligence ReportMicrosoft Security Update Guide

Microsoft Security Response CenterMicrosoft Malware Protection CenterTrustworthy Computing blogs

Page 43: За кулисами Windows Update. От уязвимости к обновлению

Заключение

• Microsoft является одним из самых передовых производителей с точки зрения безопасности

• Мы можем научить как использовать SDL и создать процессы ИБ в организации

• Вы можете получать обновления продуктов Microsoft раньше с помощью программы SUVP

Page 44: За кулисами Windows Update. От уязвимости к обновлению

Спасибо за внимание

Бешков АндрейРуководитель программы

информационной безопасностиE-mail: [email protected]

Twitter: @abeshkov