За кулисами windows update или реализация процесса ...
DESCRIPTION
За кулисами Windows Update или реализация процесса реагирования на инциденты ИБ. Бешков Андрей Руководитель программы информационной безопасности E-mail: [email protected] Twitter : @ abeshkov. Текущее положение дел. - PowerPoint PPT PresentationTRANSCRIPT
За кулисами Windows Update или реализация процесса реагирования на инциденты ИБ
Бешков АндрейРуководитель программы информационной безопасностиE-mail: [email protected]: @abeshkov
Текущее положение делРучная проверка кода и автоматические инструменты такие как фаззинг, статический анализ весьма полезны, но они не могут выявить всех уязвимостей в крупном программном проекте.Факторы увеличения количества уязвимостей:
Сложность кодаБесконечность путей которыми креативный разработчик может создать уязвимость
>8 миллионов разработчиков ПО для Windows
Исследователи будут продолжать обнаруживать уязвимости несмотря на использование нами лучших практик в разработке
Каждый месяц! Продукты 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
Миф о безопасности ПО с открытым кодом?
Разработка высококачественных обновлений
Обслуживание более чем миллиарда систем вокруг света
Раздаем 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: 你会来参加我的马来西亚朋友的聚会吧?
• 2005 – MSRC 5879 – MS05-039 - Zotob– Исследователь прислал proof-of-concept– В формате Tarball– Для запуска требовался CYGWIN– Первоначальный ответ “No repro”
Критерии открытия кейса?– Репутация исследователя (Пример: 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/
График разработки обновлений
Временных границы процессов плавают. Некоторые процессы могут идти параллельно.
Минимизация обновленийИзбегаем повторного выпуска обновлений или выпуска нескольких обновлений для одного и того же компонента“Поиск вариаций”
Помним о цикле поддержки в 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-S
erve
r-Lan
guag
e6-X8
6
Vista-S
P0-U
ltimat
e-Lan
guag
e6-X6
4
Vista-S
P0-U
ltimat
e-Lan
guag
e11-X
64
Vista-S
P1-H
ome B
asic-
Lang
uage
6-X64
Vista-S
P1-H
ome B
asic-
Lang
uage
11-X6
4
Vista-S
P1-H
omeP
remium
-Lang
uage
6-X64
Vista-S
P1-U
ltimat
e-Lan
guag
e6-X8
6
Vista-S
P1-U
ltimat
e-Lan
guag
e11-X
86
Vista-S
P2-Bu
sines
s-Lan
guag
e6-X8
6
Vista-S
P2-H
ome B
asic-
Lang
uage
13-X8
6
Vista-S
P2-H
ome B
asic-
Lang
uage
6-X64
Vista-S
P2-H
ome B
asic-
Lang
uage
11-X8
6
Vista-S
P2-H
ome B
asic-
Lang
uage
9-X86
Vista-S
P2-H
ome B
asic-
Lang
uage
7-X86
Vista-S
P2-H
ome B
asic-
Lang
uage
3-X86
Vista-S
P2-U
ltimat
e-Lan
guag
e12-X
64
Vista-S
P2-U
ltimat
e-Lan
guag
e13-X
64
Vista-S
P2-U
ltimat
e-Lan
guag
e1-X6
4
Vista-S
P2-U
ltimat
e-Lan
guag
e6-X6
4
Vista-S
P2-U
ltimat
e-Lan
guag
e11-X
64
Vista-S
P2-U
ltimat
e-Lan
guag
e2-X6
4
Vista-S
P2-U
ltimat
e-Lan
guag
e9-X6
4
Vista-S
P2-U
ltimat
e-Lan
guag
e10-X
64
Vista-S
P2-U
ltimat
e-Lan
guag
e8-X8
6
Vista-S
P2-U
ltimat
e-Lan
guag
e7-X8
6
Vista-S
P2-U
ltimat
e-Lan
guag
e5-X8
6
Vista-S
P2-U
ltimat
e-Lan
guag
e3-X8
6
Vista-S
P2-U
ltimat
e-Lan
guag
e4-X8
6
Win2
000-S
P4-Pr
ofessi
onal-
Lang
uage
6-X86
Wind
ows7
-SP0-H
ome B
asic-
Lang
uage
12-X6
4
Wind
ows7
-SP0-H
ome B
asic-
Lang
uage
13-X8
6
Wind
ows7
-SP0-H
ome B
asic-
Lang
uage
6-X64
Wind
ows7
-SP0-H
ome B
asic-
Lang
uage
15-X8
6
Wind
ows7
-SP0-H
ome B
asic-
Lang
uage
11-X8
6
Wind
ows7
-SP0-H
ome B
asic-
Lang
uage
10-X8
6
Wind
ows7
-SP0-H
ome B
asic-
Lang
uage
8-X86
Wind
ows7
-SP0-H
ome B
asic-
Lang
uage
17-X8
6
Wind
ows7
-SP0-H
ome B
asic-
Lang
uage
5-X86
Wind
ows7
-SP0-H
ome B
asic-
Lang
uage
4-X86
Wind
ows7
-SP0-H
omeP
remium
-Lang
uage
6-X86
Wind
ows7
-SP0-S
tarte
r-Lan
guag
e6-X8
6
Wind
ows7
-SP0-U
ltimat
e-Lan
guag
e12-X
86
Wind
ows7
-SP0-U
ltimat
e-Lan
guag
e13-X
86
Wind
ows7
-SP0-U
ltimat
e-Lan
guag
e6-X6
4
Wind
ows7
-SP0-U
ltimat
e-Lan
guag
e19-X
64
Wind
ows7
-SP0-U
ltimat
e-Lan
guag
e15-X
86
Wind
ows7
-SP0-U
ltimat
e-Lan
guag
e11-X
86
Wind
ows7
-SP0-U
ltimat
e-Lan
guag
e10-X
64
Wind
ows7
-SP0-U
ltimat
e-Lan
guag
e8-X6
4
Wind
ows7
-SP0-U
ltimat
e-Lan
guag
e16-X
64
Wind
ows7
-SP0-U
ltimat
e-Lan
guag
e17-X
64
Wind
ows7
-SP0-U
ltimat
e-Lan
guag
e7-X6
4
Wind
ows7
-SP0-U
ltimat
e-Lan
guag
e5-X6
4
Wind
ows7
-SP0-U
ltimat
e-Lan
guag
e3-X6
4
Wind
ows7
-SP0-U
ltimat
e-Lan
guag
e18-X
86
Wind
ows7
-SP0-U
ltimat
e-Lan
guag
e4-X8
6
Wind
ows7
-SP1-U
ltimat
e-Lan
guag
e6-X8
6
WinX
P-SP2
-Profe
ssion
al-La
ngua
ge6-X
86
WinX
P-SP3
-Hom
e-Lan
guag
e6-X8
6
WinX
P-SP3
-Profe
ssion
al-La
ngua
ge11
-X86
WS0
3-SP2
-Ente
rpris
e-Lan
guag
e6-X6
4
WS0
3-SP2
-Ente
rpris
e-Lan
guag
e11-X
64
WS0
3-SP2
-Profe
ssion
al-La
ngua
ge6-X
64
WS0
8 R2-S
P0-En
terp
rise-L
angu
age6
-IA64
WS0
8 R2-S
P0-En
terp
rise-L
angu
age1
1-IA64
WS0
8-SP1
-Ente
rpris
e-Lan
guag
e6-X6
4
WS0
8-SP1
-Stan
dard
-Lang
uage
6-X64
WS0
8-SP2
-Ente
rpris
e-Lan
guag
e6-IA
64
WS0
8-SP2
-Ente
rpris
e-Lan
guag
e6-X8
6
WS0
8-SP2
-Stan
dard
-Lang
uage
11-X6
4
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 на зараженных системах
Минимизация перезапусков системы
Время непрерывной работы критичноПерезапуск выполняется только если нужные файлы заняты самой ОСМы ищем пути дальнейшего уменьшения количества рестартов
Один бюллетень часто закрывает несколько уязвимостей из базы (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 делится информацией собранной в процессе исследования уязвимостей с партнерами и сообществом
Скоординированное раскрытие
Мы считаем что идеальным вариантом раскрытия является приватное уведомление создателя ПО дающее ему достаточно возможностей для выпуска обновления до того как уязвимость станет публично известной.В идеале выпуск обновления предшествует или совпадает с публичным оглашением уязвимости
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 Disclosure
Vulnerability Broker Cases
Other Coordinated Disclosure
Источник: Microsoft Security Intelligence Report Volume 9
График раскрытия уязвимостей в ПО Microsoft период 1П05–1П10
Бюллетени безопасности MicrosoftОбновление и бюллетеней выпущено за период 1П05 и 2П10
Период Бюллетеней безопасности Внеочередных бюллетеней безопасности (0day)
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 Secure Software Development Conference.
http://mssdcon.ru 5.03.2013
Дополнительные ресурсыУправление уязвимостями в MicrosoftSDL - разработка безопасного ПОSecurity Intelligence ReportMicrosoft Security Update Guide
Microsoft Security Response CenterMicrosoft Malware Protection CenterTrustworthy Computing blogs
Вопросы?• Бешков Андрей• Руководитель программы информационной безопасности• E-mail: [email protected]• Twitter: @abeshkov