SDL как новый подход к безопасности

SDL как новый подход к безопасности

Стив Липнер 
(Steve Lipner)

Cтарший директор по направлению стратегического планирования и разработки технологий обеспечения безопасности корпорации Microsoft. Руководит процессом разработки и совершенствования SDL.

В области информационной безопасности более 35 лет. За его плечами годы работы в области исследований и разработки, а так же руководства. Стив создал большое количество методик обеспечения безопасной разработки, в том числе входящих в SDL. Является обладателем сертификата профессионала в области систем информационной безопасности (CISSP).
...

Вопрос создания программного обеспечения отвечающего требованиям информационной безопасности, в настоящее время является приоритетным для всех производителей. Однако подход корпорации Microsoft,  успешно используемый ими при создании ПО, помогает не только минимизировать риски связанные с новыми дефектами с точки зрения безопасности, но и значительно улучшить качество выпускаемой продукции. Об этом мы побеседовали со Стивом Липнером, старшим директором направления SDL корпорации Microsoft.

Сначала проведем небольшой экскурс в историю. Начиная с 2004 года, после серии серьезных атак, основателем корпорации Microsoft Билом Гейтсом был определен главный приоритет дальнейшего развития компании – обеспечение надлежащего уровня безопасности. В связи с этим была разработана и введена в действие новая стратегия разработки программного обеспечения, изменившая сам способ создания приложений, порядок подготовки руководств по безопасности и распространение исправлений уже обнаруженных уязвимостей. В ее основе лежит политика жизненного цикла безопасной разработки (Security Development Lifecycle - SDL), которая сейчас является обязательной для всех проектов, дает возможность реализовать меры безопасности и конфиденциальности уже на этапе проектирования новых версий продуктов, их разработке и тестирования.

Технология SDL имеет широкий масштаб и охватывает каждый этап разработки, начиная с обучения и заканчивая практическим реагированием на нарушение безопасности. Например, на этапе проектирования программисты и специалисты в области безопасности используют методики моделирования угроз для выявления уязвимых мест архитектуры. На этапе программирования автоматические средства методично выполняют поиск уязвимых мест и сообщают об их обнаружении. Во избежание использования злоумышленниками слабых мест для совершения атак, разработчики максимально уменьшают поверхность атаки путем ограничения функций, доступных непроверенным пользователям.

Обязательные контрольные точки на протяжении всего процесса разработки заставляют программистов и тестеров тщательно соблюдать строгие стандарты SDL. Прежде чем перейти к программированию, группа разработчиков должна устранить все проблемы, которые не были обнаружены и исправлены в рамках автоматических проверок. После создания приложения специалисты в области безопасности тщательно выполняют окончательную проверку. При этом поставки нового продукта не начнутся до тех пор, пока он не пройдет это последнее испытание.

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

Корреспондент Anti-Malware.ru поинтересовался у Стива Липнера (Steve Lipner), старшего директора направления SDL корпорации Microsoft, о дальнейшем развитии методик SDL и их применения к новым сервисам и продуктам корпорации.

 

Облачные технологии и он-лайн сервисы

Не так давно корпорация выпустила в свет облачную платформу Microsoft Windows Azure. Платформа представляет собой сервис и предоставляет возможность разработчикам создания приложений на ее основе. Однако насколько эта платформа изначально защищена, и использовалась ли при ее создании SDL? 

Windows Azure прошла полный цикл разработки с учетом требований SDL, и можно с уверенностью сказать, что в системе безопасности учтены все нюансы для предотвращения возможных вторжений в будущем. Кроме того, поскольку сервисом пользуются сторонние разработчики, то возникает необходимость обеспечения надлежащего уровня безопасности для приложений в процессе разработки, количество уязвимостей в которых должно сводиться к нулю. Разработчики, создающие на базе этой платформы приложения, имеют уникальную возможность контроля своих продуктов.

У корпорации в арсенале имеются различные онлайн сервисы, например, почтовый сервис Hotmail, поисковая система Bing, облачный сервис Office 365. Как применялась SDL для их создания и претерпела ли она какие-то серьезные изменения?

При разработке онлайн сервисов в обязательном порядке используется технология SDL. Однако фундаментальных изменений в SDL для них внесено не было, но был учтен предыдущий опыт ее применения.

 

Мобильные платформы

Microsoft активно продвигает новую операционную систему для смартфонов -  Windows Phone 7. Учитывался ли при ее проектировании негативный опыт конкурирующих компаний, чьи продукты, увы,  становятся новым вектором атак в последнее время?

Windows Phone 7 изначально создавалась в соответствие с требованиями SDL. Впрочем, учитывая наш предыдущий опыт, иначе и быть не могло. Более того, требования к безопасности данной ОС постоянно претерпевают изменения. На текущий момент компания имеет несколько версий специального программного обеспечения для контроля защищенности, каждая из которых учитывает всевозможные векторы атак. Некоторые тесты успешно адаптированы именно для Windows Phone 7. Причем они стали более жесткими, чем, например, используемые для тестов ПО для ноутбуков или стационарных ПК.

С учетом вышесказанного, можно ли считать, что Windows Phone 7 на момент выхода в свет станет наиболее защищенной мобильной ОС на рынке? Проводились ли какие-либо сравнительные испытания с конкурирующими платформами?

Данная система относительно новая и в связи с этим сравнительных тестов не проводилось. Однако мы ожидаем, что благодаря SDL она станет вне конкуренции по уровню безопасности в сравнение с конкурирующими решениями.

 

Безопасность Microsoft Windows

Microsoft очень активно работает над совершенствованием уровня безопасности своих флагманских продуктов, применяя тот же SDL. Но, несмотря на это, злоумышленники все равно находят и эксплуатируют все новые и новые уязвимости. На ваш взгляд, можно ли в принципе при помощи SDL добиться 100% отсутствия уязвимостей в будущих версиях ПО, хотя бы критических?

Введение SDL подразумевало то, что удастся минимизировать процент критических уязвимостей, однако в реальности при огромном количестве сложных и функциональных продуктов добиться стопроцентного отсутствия ошибок при сегодняшнем состоянии систем безопасности практически невозможно. Разработчики прилагают все усилия, чтобы свести риски к минимуму.

Отмечу, что при подготовке исправлений специалисты учитывают наихудшее исполнение сценария при эксплуатации уязвимостей. Однако в реальности дело обстоит иначе, и злоумышленники используют другие возможные варианты. Если несколько лет назад атакам подвергались операционные системы, то сегодня интерес злоумышленников касается приложений, а не самих ОС. Это значит, что злонамеренное нарушение работы операционной системы сегодня крайне затруднительно, поэтому киберпреступники ищут новые пути, и, к сожалению, находят их. Например, взламывается не обозреватель, а аддон, т. е. приложение стороннего разработчика.    

Тогда возникает вопрос о том, насколько эффективна данная технология для корпорации, удается ли в общем итоге снизить издержки на поддержку продукта и на исправления возможных уязвимостей, которые могли бы быть?

Что касается самой компании, то при введении этой системы удалось уменьшить общее количество ошибок и, тем самым, повысить конкурентоспособность продукции компании с точки зрения безопасности. Мы также уверены, что нам удалось значительно сократить количество выпускаемых обновлений. Однако достаточно сложно оценить количество уязвимостей, которые не были исправлены. Но мы регулярно обеспечиваем поддержку конечных пользователей, а также компаний-партнеров, использующих SDL.

Каким образом вы стимулируете других вендоров применять методику SDL в их цикле разработки?

Наша партнерская программа предполагает, что в случае обнаружения ошибок в коде, при использовании методики SDL расходы на устранение будут нами возмещены. В этой связи, отвечая на предыдущий ваш вопрос, становится достаточно трудно оценивать экономическую эффективность SDL для нашей компании. Для нас наиболее приоритетным является сам факт улучшений общего уровня безопасности платформы Windows за счет SDL, чем некая пусть и значительная экономия.

Что бы вы порекомендовали тем, кто пока пренебрегает внедрением SDL в своем цикле разработки?

Для них мы рекомендуем просмотреть результаты исследований и прогнозы, например, в нашем Отчете о развитии SDL в 2004-2010 годы, а также оценить систему возврата инвестиций, затраченных на использование технологии.

 

Команда разработчиков

Расскажите, пожалуйста, подробней о том, как работает подразделение SDL, какова его структура. Сколько человек насчитывает подразделение? Какие люди там работают, и есть ли в их числе наши соотечественники?

Команда SDL представляет собой несколько групп, каждая из которых отвечает за определенный процесс. Группа, которая помогает продуктовым подразделениям, отвечает за внедрение технологий SDL, а также за успешный выпуск обновлений системы безопасности. Также работает группа исследователей в области безопасности. Они занимаются научно-исследовательской работой проблем безопасности, ведут поиск и классификацию новых уязвимостей. Есть еще группа разработки, которая работает над инструментами, применяемыми при тестировании уровня безопасности разрабатываемого ПО, тем самым они  помогают продуктовой группе и всей команде по внедрению самой технологии.

Все упомянутые отделы насчитывают от 80 до 90 человек. Команда, которая непосредственно разрабатывает сам SDL, небольшая по сравнению с группами разработки или исследований, она начитывает около 70 человек, или чуть больше.  

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

Привлекаете ли вы внешних экспертов для работы в каких-то проектах?

Мы иногда привлекаем сторонних разработчиков для помощи в определенных проектах или подготовке бюллетеней безопасности, но вся основная, работа производится сотрудниками Microsoft.

Стив, большое спасибо за интервью, и успехов вам в дальнейшей работе!