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

Post on 23-Feb-2016

49 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

За кулисами Windows Update . От уязвимости к обновлению. Бешков Андрей Руководитель программы информационной безопасности Microsoft abeshkov@microsoft.com. Содержание. Разработка безопасного ПО Статистика уязвимостей в ИТ индустрии Методы работы Microsoft c уязвимостями - PowerPoint PPT Presentation

Transcript

ЗА КУЛИСАМИ WINDOWS UPDATE. ОТ УЯЗВИМОСТИ К ОБНОВЛЕНИЮБешков АндрейРуководитель программы информационной безопасностиMicrosoftabeshkov@microsoft.com

СодержаниеРазработка безопасного ПОСтатистика уязвимостей в ИТ индустрииМетоды работы Microsoft c уязвимостямиРеагирование на инциденты Тестирование и выпуск обновлений

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

Отношение к обновлениям

ТерминологияУязвимость – дефект в ПО позволяющий атакующему скомпрометировать целостность, доступность или конфиденциальность ПО или обрабатываемых данных

Самыми тяжелыми считаются уязвимости позволяющие атакующему запускать свой кодРаскрытие уязвимости – обнародование ее публично в открытых источниках

Текущее положение делРучная проверка кода и автоматические инструменты такие как фаззинг, статический анализ весьма полезны, но они не могут выявить всех уязвимостей в крупном программном проекте.Факторы увеличения количества уязвимостей:

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

>8 миллионов разработчиков ПО для Windows

Исследователи будут продолжать обнаруживать уязвимости несмотря на использование нами лучших практик в разработке

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

Пример

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

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

fAllowAccess = false;

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

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

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

fAllowAccess = true;

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

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

Продукты MS уязвимы!!!

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

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

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

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

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

Уязвимости по индустрииSun Solaris 10 1191Red Hat Enterprise Linux Server v.5 1580FreeBSD 6.x 86Microsoft Windows Server 2008 302

Apple Mac OS X – 1555 Red Hat Enterprise Linux Client v.5 1709Ubuntu Linux 8.04 (выпуск 2008 год) 1397Windows XP (выпуск 2001 год) 498Windows 7 170

Oracle Database 11.x 315IBM DB2 9.x 98MySQL 5.x 66Microsoft SQL Server 2008 1

Mozilla Firefox 4.0 (04.2011) 14 Firefox 3.5.x (2009) 161Opera 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 71Microsoft ISA Server 2006 7Microsoft Forefront TMG 2

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

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

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

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

Разработка высококачественных обновленийЦелиУменьшить влияние на

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

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

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

Secure@Microsoft.com Анонимный отчет на вебсайте TechNet Security

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

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

уязвимости

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

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

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

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

Техническая помощь Обновление лучших

практик, методов дизайна, инструментов разработки и тестирования

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

методов

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

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

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

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

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

Создание контента Выпуск бюллетеня

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

Выпуск

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

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

Сведения об уязвимостяхMSRC получает более 150.000 сообщений в год по адресу secure@microsoft.com или анонимные сообщения на вебсайте TechNet SecurityMSRC расследует: существует ли уязвимость, какие компоненты и продукты затронутыВ течении года получается:

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

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

Примеры уведомленийНе традиционные отчеты

Subject: “yo ~new vuln ”2005 – MSRC 5879 – MS05-039 - Zotob

Исследователь прислал proof-of-conceptВ формате TarballДля запуска требовался CYGWINПервоначальный ответ “No repro”

Примеры уведомленийВсе еще не традиционные отчеты

Subject: 你会来参加我的马来西亚朋友的聚会吧?Критерии открытия кейса

Репутация исследователя (Пример: Yamata Li, ZDI, iDefense и.т.д)Не покрывается 10 законами безопасности (потенциал стать уязвимостью)Не дублирует уже известный публично случайНе дублирует известный случай “Won’t fix”

Индекс эксплоитабельности

Откуда данные об атаках?Данные о количестве атак и заражений были собраны с 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/

Вероятность поражения разных версий ОС

Обнаружение зловредного ПО на каждую 1000 запусков антивирусных средств.

Почему Windows 7 в 5 раз безопаснее?

Win7

    SEHOP SEHOP  Включено по

умолчанию Heap terminate

Heap terminate

  Выключено по умолчанию DEP DEP    ASLR ASLR

Vista SP1, SP2

  SEHOP SEHOP SEHOP  Heap

terminateHeap terminate

Heap terminate

  DEP DEP DEP  ASLR ASLR ASLR

Vista RTM

  SEHOP SEHOP   Heap

terminateHeap terminate

  DEP DEP   ASLR ASLR

XP SP3

SEHOP SEHOP SEHOP  Heap terminate

Heap terminate

Heap terminate  

DEP DEP DEP  ASLR ASLR ASLR  

XP SP2

SEHOP SEHOP SEHOP  Heap terminate

Heap terminate

Heap terminate  

DEP DEP DEP  ASLR ASLR ASLR  

IE 6 IE 7 IE 8 IE 9

Windows XP Windows Vista Windows 70

10203040506070

Критические уязвимости через год после выпуска

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

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

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

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

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

Помним о цикле поддержки в 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

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

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

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

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

Скоординированный выпуск

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

Тестирование на совместимостьМинимизация проблем с совместимостью приложений

требует тестирования огромного количества приложений. Матрица тестирования разрастается очень быстро.Обновления безопасности 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 распространенных семейств приложений…

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

NT4-S

P6-Se

rver-L

angu

age6

-X86

Vista-

SP0-U

ltimate

-Lang

uage

6-X64

Vista-

SP0-U

ltimate

-Lang

uage

11-X6

4

Vista-

SP1-H

ome B

asic-

Lang

uage

6-X64

Vista-

SP1-H

ome B

asic-

Lang

uage

11-X6

4

Vista-

SP1-H

omeP

remium

-Lang

uage

6-X64

Vista-

SP1-U

ltimate

-Lang

uage

6-X86

Vista-

SP1-U

ltimate

-Lang

uage

11-X8

6

Vista-

SP2-B

usine

ss-La

ngua

ge6-X

86

Vista-

SP2-H

ome B

asic-

Lang

uage

13-X8

6

Vista-

SP2-H

ome B

asic-

Lang

uage

6-X64

Vista-

SP2-H

ome B

asic-

Lang

uage

11-X8

6

Vista-

SP2-H

ome B

asic-

Lang

uage

9-X86

Vista-

SP2-H

ome B

asic-

Lang

uage

7-X86

Vista-

SP2-H

ome B

asic-

Lang

uage

3-X86

Vista-

SP2-U

ltimate

-Lang

uage

12-X6

4

Vista-

SP2-U

ltimate

-Lang

uage

13-X6

4

Vista-

SP2-U

ltimate

-Lang

uage

1-X64

Vista-

SP2-U

ltimate

-Lang

uage

6-X64

Vista-

SP2-U

ltimate

-Lang

uage

11-X6

4

Vista-

SP2-U

ltimate

-Lang

uage

2-X64

Vista-

SP2-U

ltimate

-Lang

uage

9-X64

Vista-

SP2-U

ltimate

-Lang

uage

10-X6

4

Vista-

SP2-U

ltimate

-Lang

uage

8-X86

Vista-

SP2-U

ltimate

-Lang

uage

7-X86

Vista-

SP2-U

ltimate

-Lang

uage

5-X86

Vista-

SP2-U

ltimate

-Lang

uage

3-X86

Vista-

SP2-U

ltimate

-Lang

uage

4-X86

Win200

0-SP4

-Profe

ssion

al-La

ngua

ge6-X

86

Window

s7-SP

0-Hom

e Bas

ic-La

ngua

ge12

-X64

Window

s7-SP

0-Hom

e Bas

ic-La

ngua

ge13

-X86

Window

s7-SP

0-Hom

e Bas

ic-La

ngua

ge6-X

64

Window

s7-SP

0-Hom

e Bas

ic-La

ngua

ge15

-X86

Window

s7-SP

0-Hom

e Bas

ic-La

ngua

ge11

-X86

Window

s7-SP

0-Hom

e Bas

ic-La

ngua

ge10

-X86

Window

s7-SP

0-Hom

e Bas

ic-La

ngua

ge8-X

86

Window

s7-SP

0-Hom

e Bas

ic-La

ngua

ge17

-X86

Window

s7-SP

0-Hom

e Bas

ic-La

ngua

ge5-X

86

Window

s7-SP

0-Hom

e Bas

ic-La

ngua

ge4-X

86

Window

s7-SP

0-Hom

ePrem

ium-La

ngua

ge6-X

86

Window

s7-SP

0-Star

ter-La

ngua

ge6-X

86

Window

s7-SP

0-Ultim

ate-La

ngua

ge12

-X86

Window

s7-SP

0-Ultim

ate-La

ngua

ge13

-X86

Window

s7-SP

0-Ultim

ate-La

ngua

ge6-X

64

Window

s7-SP

0-Ultim

ate-La

ngua

ge19

-X64

Window

s7-SP

0-Ultim

ate-La

ngua

ge15

-X86

Window

s7-SP

0-Ultim

ate-La

ngua

ge11

-X86

Window

s7-SP

0-Ultim

ate-La

ngua

ge10

-X64

Window

s7-SP

0-Ultim

ate-La

ngua

ge8-X

64

Window

s7-SP

0-Ultim

ate-La

ngua

ge16

-X64

Window

s7-SP

0-Ultim

ate-La

ngua

ge17

-X64

Window

s7-SP

0-Ultim

ate-La

ngua

ge7-X

64

Window

s7-SP

0-Ultim

ate-La

ngua

ge5-X

64

Window

s7-SP

0-Ultim

ate-La

ngua

ge3-X

64

Window

s7-SP

0-Ultim

ate-La

ngua

ge18

-X86

Window

s7-SP

0-Ultim

ate-La

ngua

ge4-X

86

Window

s7-SP

1-Ultim

ate-La

ngua

ge6-X

86

WinXP-S

P2-Pr

ofessi

onal-

Lang

uage

6-X86

WinXP-S

P3-H

ome-L

angu

age6

-X86

WinXP-S

P3-Pr

ofessi

onal-

Lang

uage

11-X8

6

WS03-S

P2-En

terpri

se-La

ngua

ge6-X

64

WS03-S

P2-En

terpri

se-La

ngua

ge11

-X64

WS03-S

P2-Pr

ofessi

onal-

Lang

uage

6-X64

WS08 R

2-SP0

-Enter

prise

-Lang

uage

6-IA6

4

WS08 R

2-SP0

-Enter

prise

-Lang

uage

11-IA

64

WS08-S

P1-En

terpri

se-La

ngua

ge6-X

64

WS08-S

P1-St

anda

rd-La

ngua

ge6-X

64

WS08-S

P2-En

terpri

se-La

ngua

ge6-I

A64

WS08-S

P2-En

terpri

se-La

ngua

ge6-X

86

WS08-S

P2-St

anda

rd-La

ngua

ge11

-X64

020406080

100120140160 16 bit Applications

Business & Home OfficeClient ApplicationsCommunication & In-ternetDevelopment ToolsEnterprise ApplicationsGamesGraphics & DesignGraphics & PrintingHome & EducationInternational Language ApplicationsKids' & EducationalLine of BusinessMedia ApplicationsMusic & MP3 , Photo & VideoNetworkingOther Category AppsPhoto & Video Category SecurityServer AppsShimmed ApplicationsTax & Financeutilities

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

Тестирование на совместимостьSecurity Update Validation Program (SUVP)

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

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

Совместимость со зловредамиМы прилагаем много усилий для

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

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

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

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

До 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” помогли формализовать процесс

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

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

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

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

1H06 2H06 1H07 2H07 1H08 2H08 1H09 2H09 1H100

20

40

60

80

100

120

32

46

35 34 3642

27

4741

57

98

78

5158

97

85

104

114

Security Bul-letinsUnique CVEs

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

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

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.82.1 2.2

1.5 1.6

2.3

3.1

2.2

2.8

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

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

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

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

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

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

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

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

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

1H06 2H06 1H07 2H07 1H08 2H08 1H09 2H09 1H100%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

Full Dis-closureVulnerability Broker CasesOther Co-ordinated Disclosure

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

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

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

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

Внеочередных бюллетеней

безопасности1П05 33 02П05 21 01П06 32 12П06 46 11П07 35 12П07 34 01П08 36 02П08 42 21П09 27 02П09 47 21П10 30 22П10 65 2Всего 448 11Источник: Microsoft Security Intelligence Report – www.microsoft.com/sir

Защита всем миром

MSVRMAPP

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

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

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

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

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

Microsoft Vulnerability Research

Программы Microsoft в сфере ИБ GIAIS – содружество провайдеров

ИнтернетOTIS – данные о текущих угрозахVIA – обмен данными о вирусах, троянах и прочих зловредахMVI – форму для обмена данными о борьбе с вирусными эпидемиямиMSRA – Microsoft Security Response AllianceMAPP – Microsoft Active Protections ProgramMSVR – Microsoft Vulnerability ResearchSUVP - Security Update Validation Program

Присоединяйтесь. Будет интересно!

Дополнительные ресурсыУправление уязвимостями в MicrosoftSDL - разработка безопасного ПОSecurity Intelligence ReportMicrosoft Security Update Guide Microsoft Security Response CenterMicrosoft Malware Protection CenterTrustworthy Computing blogs

Вопросы?abeshkov@microsoft.com http://beshkov.ruhttp://twitter.com/abeshkov

КРУПНЕЙШАЯ ТЕХНИЧЕСКАЯ КОНФЕРЕНЦИЯ MICROSOFT В УКРАИНЕ

top related