За кулисами windows update. От уязвимости к обновлению
DESCRIPTION
В этом докладе будет рассказано о том, как работают разные программы внутри Microsoft, направленные на взаимодействие с исследователями безопасности и брокерами уязвимостей. Как принимаются и обрабатываются данные об уязвимостях. Как происходит проверка уязвимости, поиск вариативности в уязвимостях, классификация и принятие решения о том, что дальше делать с этой уязвимостью. Так же будут освещены вопросы тестирования выпускаемых патчей. Вы узнаете, почему патчи выходят раз в месяц. Затем поговорим про обеспечение стабильного обновления более чем миллиарда систем на планете. Будут показаны наиболее частые пути появления эксплоитов в первые 30 дней после выхода патча. И рассказано о том, как MS обменивается данными с партнерами по безопасности, чтобы они могли с помощью обновлений к IDS/IPS и антивирусам защищать тех клиентов, которые не успевают обновиться за первый месяц. Также будет рассказано о влиянии 0-day уязвимостей на общий ландшафт безопасности продуктов Microsoft. Все данные, приводимые в докладе, собраны с 600 млн ПК в 117 странах мира.TRANSCRIPT
За кулисами Windows Update. От уязвимости к обновлению.
Бешков АндрейРуководитель программы информационной безопасностиE-mail: [email protected]: @abeshkov
ВопросыКак MS обрабатывает уязвимости?Почему MS выпускает так много обновлений?Почему выпуск обновления занимает столько времени?Как MS тестирует обновления перед выпуском?Как MS может помочь партнерам и сообществу?
Каждый месяц мы слышим! Продукты MS уязвимы!!!
Уязвимости за 5 лет ТОП 20 вендоров
Источник Secunia 2011 yearly report
Уязвимости за 9 лет
Уязвимости Microsoft Office и OpenOffice
http://www.h-online.com/security/news/item/Vulnerabilities-in-Microsoft-Office-and-OpenOffice-compared-1230956.html
Миф о безопасности ПО с открытым кодом?
Уязвимости по индустрии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
Разработка высококачественных обновлений
Обслуживание более чем миллиарда систем вокруг света
Раздаем 1-1,5 петабайта обновлений ежемесячно
Цель разработки высококачественных обновлений
Минимизировать влияние на разнородную экосистему более чем миллиарда систем на планетеСнижать стоимость применения обновлений для клиентовЗащищать от криминальной активности
Процесс выпуска обновления
MSRC получили данные через
[email protected] Анонимный отчет на вебсайте TechNet Security
Ответ от MSRCКаждому исследователю ответ в течении 24 часовВнутренний ответ
Уведомление об
уязвимости
MSRC Engineering и продуктовые команды
Тестирование обновления против уязвимостиТестирование вариаций
Тестирование обновления MSRC Engineering
Защитные мерыПост в блог SVRDРассказ партнерам MAPP о способах обнаружения атаки
Техническая помощь
Обновление лучших практик, методов дизайна, инструментов разработки и тестирования
Обновление инструментов разработки и
методов
Доверенность исследователяВлияние на клиентовКритичность уязвимостиВероятность эксплуатации
Оценка уязвимости Быстрые ответы
Регулярные обновленияПоддержка скоординированного раскрытия
Отношения с исследователе
м БюллетеньЗатронутые компоненты/ПОТехническое описаниеFAQБлагодарности
Создание контента
Выпуск бюллетеняПубликация контента и ресурсовТехнические руководства для клиентовОтслеживание проблем клиентов и прессы
Выпуск
MSRC EngineeringВоспроизведениеПоиск вариацийИсследование окружающего кода и дизайна продукта
Расследование
Сведения об уязвимостях. Пахнет спамом?
MSRC получает более 150.000 сообщений в год по адресу [email protected] или анонимные сообщения на вебсайте TechNet SecurityMSRC расследует: существует ли уязвимость, какие компоненты и продукты затронутыВ течении года получается:
~1000 подтвержденных проблем~100 обновлений суммарно для всех продуктов Microsoft
Стандартный цикл поддержки продукта 10 лет. Это очень долго!
Примеры уведомлений• Не традиционные отчеты– Subject: “yo ~new vuln ”– Subject: 你会来参加我的马来西亚朋友的聚会吧?– Subject: У вас дыра! Лузеры!
Найдите уязвимость…
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”
Иллюстрация того насколько малозаметными могут быть уязвимости. Этот маленький кусок кода содержит уязвимость трудно обнаруживаемую стандартными инструментами и ручными проверками кода
Критерии открытия кейса– Репутация исследователя (Пример: Yamata Li,
ZDI, iDefense и.т.д)– Не покрывается 10 законами безопасности
(потенциал стать уязвимостью)– Не дублирует уже известный публично случай– Не дублирует известный случай “Won’t fix”
Повторить сможешь?
• 2005 – MSRC 5879 – MS05-039 - Zotob– Исследователь прислал proof-of-concept– В формате Tarball– Для запуска требовался CYGWIN– Первоначальный ответ “Не воспроизводится”
Страшно или нет? Индекс эксплоитабельности
Эту уязвимость уже атакуют?Данные о количестве атак и заражений собираются с 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/
График разработки обновлений
Временных границы процессов плавают. Некоторые процессы могут идти параллельно.
Факторы задержек обновленияПочему может потребоваться много времени?
Три фактора влияют на скорость выпуска обновлений
Минимизация количества обновленийОдновременность выпуска для всех версийТестирование совместимости с приложениями
Минимизация обновлений
Избегаем повторного выпуска обновлений или выпуска нескольких обновлений для одного и того же компонента“Поиск вариаций”
Помним о цикле поддержки в 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
-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
Тестирование на совместимость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)
Минимизация бюлетеней
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
Защита всем миромБезопасность является проблемой всей ИТ индустрииЕжегодно обнаруживаются тысячи уязвимостей
Большинство из них в сторонних приложениях и чаще всего критические
MSRC делится информацией собранной в процессе исследования уязвимостей с партнерами и сообществом
Zero day?
Скоординированное раскрытие
Мы считаем что идеальным вариантом раскрытия является приватное уведомление создателя ПО дающее ему достаточно возможностей для выпуска обновления до того как уязвимость станет публично известной.В идеале выпуск обновления предшествует или совпадает с публичным оглашением уязвимости
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 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
Бюллетени безопасности 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
Microsoft Active Protection Program (64+ партнеров)
Sourcefire считает что до введения MAPP требовалось ~8 часов для реверс инжиниринга обновления, поиска уязвимости и разработки эксплоита. Затем нужно было потратить время на пути детектирования эксплоита.
8 часов достаточно профессиональному атакующему для разработки своего эксплоита после публичного раскрытия уязвимости
MAPP дал возможность сократить процесс до 2 часов. Теперь нужно разрабатывать только детектирование эксплоита. В результате защита обновляется раньше на много часов чем появится первый публичный эксплоит.
Microsoft Vulnerability Research
• Microsoft уведомляет приватно производителей стороннего ПО об уязвимостях последние несколько лет
• Microsoft Vulnerability Research (MSVR) позволяет построить устойчивые связи между производителями ПО и защищаться сообща
Пользователь счастлив?
Вопросы?• Бешков Андрей• Руководитель программы информационной безопасности• E-mail: [email protected]• Twitter: @abeshkov
Дополнительные ресурсыУправление уязвимостями в MicrosoftSDL - разработка безопасного ПОSecurity Intelligence ReportMicrosoft Security Update Guide
Microsoft Security Response CenterMicrosoft Malware Protection CenterTrustworthy Computing blogs
Заключение
• Microsoft является одним из самых передовых производителей с точки зрения безопасности
• Мы можем научить как использовать SDL и создать процессы ИБ в организации
• Вы можете получать обновления продуктов Microsoft раньше с помощью программы SUVP
Спасибо за внимание
Бешков АндрейРуководитель программы
информационной безопасностиE-mail: [email protected]
Twitter: @abeshkov