Тема безопасности является всепроникающей для современных ИТ, она присутствует во всех сферах их применения и на всем протяжении их жизненного цикла. Понимая комплексность этой проблемы, корпорация Microsoft как ведущий софтверный разработчик делает особый акцент на этап создания ПО, когда вопросы снижения числа уязвимостей в коде с целью защиты программ должны ставиться на самых ранних этапах разработки и оставаться затем постоянно в центре внимания в течение всей жизни приложений. В плане практической реализации этих идей компания еще в начале прошлого десятилетия сформулировала методологию SDL (security development lifecycle, жизненный цикл безопасной разработки), которую постоянно развивает, не только применяя ее в рамках собственного бизнеса, но и активно предлагая ее всей софтверной отрасли.

Специфика вопросов безопасности заключается во многом еще в том, что здесь находятся ключевые точки взаимодействия ИТ-отрасли с правительственными структурами, ведь именно безопасность является важнейшей сферой нормативно-законодательного регулирования со стороны государства. Как раз эту тему — взаимодействие разработчиков ПО с регуляторами в вопросах требований по безопасности — обсуждали в ходе беседы обозреватель PC Week/RE Андрей Колесов и Гленн Питтавей (Glenn Pittaway), который, являясь менеджером программ в группе Trustworthy Computing Security (безопасность доверенных вычислений) корпорации Microsoft, давно специализируется на вопросах отношений с государственными структурами.

PC Week: Если подойти к оценке SDL чисто с меркантильной точки зрения и посчитать ее экономическую эффективность по простому принципу: сделанные затраты — полученный доход, то будет ли такая оценка позитивной?

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

Идея SDL созревала с конца 1990-х, но в виде достаточно четкой стратегии сформировалась примерно восемь лет назад, когда Microsoft начала использовать эту методологию при создании всех своих программных продуктов. Она, в частности, лежит в основе разработки всех наших операционных систем начиная с Windows Vista. Мы очень ясно понимаем: именно применение SDL позволило в разы сократить число выявляемых на этапах тестирования и эксплуатации брешей. Внешне это хорошо видно на таком примере: последние годы заметно снизилось число пакетов обновлений для программных продуктов Microsoft и увеличилось время между их появлением.

C 2008 г. компания стала широко распространять свой опыт в ИТ-отрасли — в первую очередь среди партнеров и корпоративных заказчиков — в виде реферативной модели SDL Optimization Model, включающей в том числе рекомендации, помогающие организациям решать финансовые, плановые и кадровые проблемы разработки. Эта модель позволяет разработчикам самостоятельно оценить, насколько полно в процессе создания ПО учитываются вопросы безопасности и используется уже существующий мировой опыт.

PC Week: Почему Microsoft так активно и широко распространяет свои рекомендации, ведь, казалось бы, не поделись она ими, приобрела бы дополнительные конкурентные преимущества на рынке?

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

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

Почему Microsoft волнуют проблемы не ее ПО? Тут все вполне очевидно: в этом проявляет роль лидера рынка, на которого всегда возлагается повышенная ответственность. Проще говоря, приложение какого бы разработчика ни сбоило, виновата в глазах общественности все равно будет Windows. С лидера всегда спрос выше.

PC Week: Какие интересные события или изменении произошли в сфере безопасной разработки ПО, скажем, за последний год?

Г. П.: Если посмотреть на историю нескольких прошедших лет, то главной тенденцией является, с одной стороны, продолжающееся увеличение числа угроз, в том числе появление качественно новых, а с другой — рост понимания необходимости использовать методы безопасной разработки. Хотя исследования аналитиков показывают, что реальное применение стратегии безопасной разработки еще находится, скорее, в зачаточном состоянии, но все же можно точно утверждать, что сейчас уже почти никому не надо объясняться саму суть проблемы.

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

PC Week: В России сейчас уделяется повышенное внимание к вопросам более широкого применения ИТ в государственном секторе. Есть ли какая-то особая специфика вопросов надежности и безопасности кода применительно именно к этому сегменту рынка или тут нет никаких принципиальных различий по сравнению с коммерческим направлением?

Г. П.: Короткий ответ — и да, и нет. С технической стороны никаких особых различий нет. Но зато есть серьезные расхождения в плане менталитета потребителей, а менталитет — это очень важная вещь. Специфика государственного сектора заключается еще и в том, что правительство тут выступает в двух разных ролях: потребителя ИТ и регулятора рынка, причем его регулирующие функции в самой значительной степени связаны именно с вопросами безопасности, в том числе в виде сертификации ПО.

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

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

PC Week: Если говорить о сертификации ПО на предмет безопасности, то какие тут тенденции можно наблюдать? Есть какие-то национально-географические особенности в таких трендах?

Г. П.: Изменения, конечно же, есть, сохраняются и национальные различия в подходах к решению этих вопросов. Мы уже не раз констатировали: объем угроз и их спектр постоянно растут. Соответственно постоянно меняются и требования по безопасности. То есть выработка стандартов, процедур тестирования и сертификации — это развивающийся процесс и к тому же весьма сложный, поскольку в его рамках всегда надо находить компромисс между определенными ограничениями на ПО и расширением возможностей все того же ПО. Поясню это на примере простой аналогии: использование антивирусных средств, безусловно, нужно, но они не должны превращаться в самоцель, иначе вы можете сделать идеальный антивирус, который при этом “посадит” производительность всей системы, в результате чего не останется ресурсов собственно для приложений.

До недавнего времени сертификация была связана почти на 100% с изучением собственно конечного программного продукта. Как он создавался — это никого не интересовало. Но сейчас мы видим, что интерес государственных регуляторов постепенно смещается в сторону изучения процесса создания ПО. Понятно, почему это происходит: ПО становится все более сложным и объемным. Оценить его качество, в данном случае степень безопасности, только методом черного ящика, не понимая процессов его создания, становится невозможным. Причем такую тенденцию мы видим во всех сферах: именно поэтому еще в 1990-е фокус внимания при оценке качества любой продукции сместился от анализа собственно товаров к процессам их производства.

Безусловной тенденцией является процесс глобализации, затрагивающий, разумеется, и ИТ. Наверное, тут особые пояснения не нужны: Интернет не имеет границ, а злоумышленники — национальности. При этом, конечно же, у каждой страны есть свои интересы, которые она должны учитывать и защищать.

Сейчас основная деятельность в сфере информационной безопасности развивается в рамках международного стандарта Common Criteria for Information TechnologySecurity Evaluation, ISO/IEC 15408 (общие критерии оценки защищенности информационных технологий), одна из идей которого заключается как раз в возможности сочетания общих требований и конкретных особенностей их применения, в том числе с учетом местного законодательства. В настоящее время к этому стандарту присоединились 26 стран. России, к сожалению, в этом списке пока нет.

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

PC Week: В чем вам видится отличие российской сертификации ПО от тех же “Общих критериев”?

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

PC Week: Появляются ли какие-то новые требования к ПО в части безопасности в условиях расширения использования моделей облачных вычислений?

Г. П.: Я бы пока не стал говорить о каких-то изменениях к требованиям с появлением облаков. Мы еще находимся в начальной стадии использования облачных вычислений, возможно, поэтому нет еще специфических угроз, связанных именно с облаками. Одна из идей облачных вычислений — это консолидация вычислительных ресурсов. Соответственно тут действуют две разнонаправленные тенденции, которые в совокупности компенсируют друг друга, без резкого изменения уровня безопасности. С одной стороны, централизация резко повышает интерес злоумышленников и расширяет круг возможных последствий взлома, а с другой — именно централизация позволяет обеспечить более высокий уровень защиты. Мне кажется, что все же хранить деньги в крупном банке — это надежнее, чем в небольшом, а тем более в домашнем сейфе.

PC Week: Спасибо за беседу.