Роман Здебский Эксперт по технологиям разработки ПО Microsoft rzdebski@microsoft.com http://blogs.msdn.com/roman Microsoft TechDays http://www.techdays.ru Почему это важно? Чем и как SDL помог Microsoft Чем и как SDL может помочь разработчику Microsoft TechDays http://www.techdays.ru Наркоторговец Киберпреступник Microsoft TechDays http://www.techdays.ru 1986 – 1995 Локальные сети Первый вирус для ПК Цель: вред, известность 1995 – 2003 Эпоха Интернета «Большие черви» Цель: вред 2004+ 2006+ Атаки на ОС, БД Шпионское ПО, спам Цель: деньги Целенаправленные атаки Социальная инженерия Финансы + политика Цены на черном рынке Номер кредитной карты 0,5 – 20 долл. Идентиф. сведения 1 – 15 долл. Счет в банке 10 – 1000 долл. Источник: Управление государственной ответственности США, ФБР Microsoft TechDays http://www.techdays.ru Уязвимости Основные операционные системы и уровень приложений 6099 4069 2093 2004 480 578 2005 504 2006 2004 Операционные системы 2005 2006 Приложения Источник: доклад «Microsoft Security Intelligence Report», 2007 г. ~90 % действуют удалено ~60 % в веб-приложениях Источник: IBM X-Force, Symantec 2007 г., Security Reports (Отчеты по безопасности) Microsoft TechDays http://www.techdays.ru Ответственность поставщиков ПО за уязвимости в 2007 г. 14 % 5 основных поставшщиков ПО Другие поставщики 86 % Источник: IBM X-Force 2007 г., Security Report ((Отчет по безопасности)) Microsoft TechDays http://www.techdays.ru Microsoft TechDays http://www.techdays.ru Усовершенствования SDL. В начале 2002 г. Билл Гейтс написал памятку «Trustworthy Computing» («Надежные вычисления» или «Надежное ПО»). Повышенное внимание к безопасности и FSR (Final Security Review, заключительный анализ безопасности) распространились на другие продукты. Принято решение, что процесс SDL должен быть обязательным для продуктов, которые: подвергаются значительному риску или обрабатывают важные данные. fuzzing (методика тестирования ПО), анализ кода, криптографические требования; конфиденциальность, запрещенные API и т.д. Оптимизация процесса на основе отзывов клиентов, анализа и автоматизации. Распространение SDL. Windows Vista – первая ОС, созданная с применением процесса SDL. Microsoft TechDays http://www.techdays.ru Концепция Защита пользователей: сокращение уязвимостей; сокращение уязвимостей. Выпуск Перспективный и практический подход Упреждение угроз - это не просто поиск ошибок Решение проблем безопасности на ранних стадиях Безопасность при разработке Microsoft TechDays http://www.techdays.ru В корпорации Майкрософт убеждены – для создания безопасного ПО необходимо следующее Решение руководства: SDL – обязательная политика в Майкрософт с 2004 г. ПроектиТребования Обучение Реализация рование Реагирование Проверка Выпуск Обучение Требования Проектирование Реализаци я Динамическое План Выполнение Анализ рисков Моделирование Выбор безопасности угроз инструментов и конфиденАнализ опасных Блокирование тестирование реагирования и циальности областей запрещенных Определение функций fuzzing требований к ЗаключительСтатический качеству анализ Проверка ный анализ моделей безопасности угроз и опасных Обучение Архив выпусковТехнология и процесс областей Начальное обучение Проверка Динамическое тестирование и fuzzing Проверка моделей угроз и опасных областей Выпуск Реагирование Начальное Анализ Моделирование рисков Выбор План Выполнение реагирования обучение безопасности угроз Заключительинструментов ный анализ безопасности и конфиденАнализ опасных Блокирование Архив выпусков циальности областей запрещенных Определение функций требований к Ответственность Статический качеству анализ Усовершенствования в ходе процесса цикл 6 месяцев Microsoft TechDays http://www.techdays.ru Надежное ПО Ответы и работа с пользователями (MSRC) Обучение и процесс SDL Консультирование разработчиков продукта Защита пользователей Microsoft TechDays Исследование уязвимостей Группа Security Engineering and Community (SEC) http://www.techdays.ru Результаты Microsoft TechDays http://www.techdays.ru Количество уязвимостей, обнаруженных в течение года после выпуска 400 242 157 119 66 Windows XP Windows Vista До введения SDL ОС I ОС II ОС III После введения SDL Количество уязвимостей сократилось на 45 % Источник: доклад «Windows Vista One Year Vulnerability Report», блог Microsoft Security, 23 января 2008 г. Microsoft TechDays http://www.techdays.ru Количество обнаруженных и исправленных уязвимостей по кварталам, 2000-2006 гг. 20 17 Пакет обновления 3 (SP3) для SQL Server 2000 – первый выпуск, разработанный с применением процесса SDL 8 3 1 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 2000 2001 2002 2003 2004 2005 2006 Источник: Which database is more secure? Oracle vs. Microsoft (Чья СУБД безопаснее? Oracle или Microsoft?), David Litchfield, NGS Software, 21 ноября-2006 г. Microsoft TechDays http://www.techdays.ru Количество уязвимостей, обнаруженных и исправленных в течение года после выпуска Medium High 8 3 18 14 Internet Explorer 6 До введения SDL Internet Explorer 7 После введения SDL Количество уязвимостей сократилось на 35 % Количество очень опасных уязвимостей сократилось на 63 % Microsoft TechDays Источник: Browser Vulnerability Analysis, Microsoft Security Blog, 27 ноября 2007 г. http://www.techdays.ru «Теперь мы действительно считаем корпорацию Майкрософт лидером, поскольку после введения процесса Security Development Lifecycle [SDL] ее программное обеспечение заметно улучшилось.» Джон Пескаторе (John Pescatore) вице-президент и выдающийся аналитик Gartner, Inc (www.crn.com, 13 февраля 2006 г.) «Зачем хакерам возиться с трудной для взлома системой Vista, если хватает компьютеров, на которых установлены Acrobat Reader, слабое антивирусное ПО и последняя версия iTunes?» Халвар Флэйк (Halvar Flake) Специалистов по безопасности Конференция Microsoft BlueHat Сентябрь 2007 г. Microsoft TechDays http://www.techdays.ru Microsoft TechDays http://www.techdays.ru Обучение Центр безопасности для разработчиков в MSDN Видео о технологиях обеспечения безопасности в MSDN, 9-й канал Веб-узел SDL по адресу Microsoft.com Процесс SDL Подробное руководство по SDL Рекомендации Майкрософт по обеспечению конфиденциальности Книга о процессе SDL опубликована в 2006 г. (Lipner и Howard) Инструменты обеспечения безопасности Встроенные средства безопасности в Visual Studio Флаги безопасности компилятора и компоновщика Статический анализ кода (FxCop,/analyze) Удаление небезопасных интерфейсов API Инструменты для моделирования угроз Microsoft TechDays http://www.techdays.ru Атаки переходят на уровень приложений SDL = встраивание безопасности в ПО и культуру Существенные результаты для продуктов Microsoft Microsoft сделал процесс SDL доступным всем и считает важным для себя помогать его распространению Microsoft TechDays http://www.techdays.ru www.microsoft.com/sdl www.Secunia.org Microsoft TechDays http://www.techdays.ru