Новый фронт рынка ИТ-услуг: управление ИТ-ландшафтом госкорпораций
Дмитрий Морозов, ведущий специалист по проектированию IT-инфраструктурных решений, и Виталий Филиппов, ведущий разработчик, прокомментировали вопрос информационной безопасности с точки зрения рентабельности в обзоре «Рынок ИТ-услуг» на портале CNews. Рентабельно ли создавать изначально «безопасное» ПО или стоит улучшать его по мере необходимости? Для каких отраслей безопасность информации наиболее актуальна? Какие связанные с защитой данных тенденции наблюдаются в разработке? Об этом — в материале «Новый фронт рынка ИТ-услуг: управление ИТ-ландшафтом госкорпораций» на сайте.
Дмитрий Морозов: Компания-разработчик находится в постоянном поиске баланса между рисками получить коммерчески неуспешный продукт — например, слишком дорогой или неудобный в использовании — и рисками создать небезопасное решение. Всегда приходится выбирать между различными характеристиками ПО, иногда чем-то жертвуя в пользу других коммерческих преимуществ. Этот выбор зачастую зависит от отрасли, к которой относится потребитель ПО.
В ряде сфер, например, в банковском и государственном секторе, в системах защиты информации и персональных данных или поддерживающих критически важные объекты жизнедеятельности успешность продукта во многом определяется именно его безопасностью и отказоустойчивостью.
В таких отраслях наработаны серьезные компетенции по проверке и тестированию ПО, компании-разработчики значительную часть бюджета вкладывают в вопросы безопасности, от них требуется наличие различных видов сертификаций, специфических для каждой отрасли. Но, к сожалению, даже при значительных бюджетах и серьезном отношении к проверке гарантировать полное отсутствие ошибок, связанных с безопасностью ПО, нельзя хотя бы потому, что постоянно появляются новые виды угроз.
В отраслях, где функционал или дизайн ПО намного важнее безопасности (например, во многих стартапах, не связанных с Интернетом и перечисленными выше отраслями), разработчики максимально ужимают бюджет тестирования безопасности. В таких системах важнее как можно быстрее добавлять новый функционал в ПО, а ошибки, связанные с безопасностью, «латать» позже, выпуская апдейты.
Виталий Филиппов: Не вполне корректно рассматривать информационную безопасность с точки зрения рентабельности или соревнования бюджетов, если, конечно, речь не идет о простейших атаках с помощью «грубой силы» типа DDoS. «Рентабельность безопасности» вообще трудно подсчитать, поскольку затраты на информационную безопасность не приносят непосредственной прибыли, а их отсутствие не гарантирует убытка. Вопрос не в том, рентабельно ли создавать изначально безопасное или небезопасное ПО. Вопрос в том, что во втором случае обеспечить безопасность гораздо сложнее в принципе. Когда система уже создана, поиск и исправление уязвимостей может напоминать затыкание дыр в лодке, разламывающейся пополам. Да, систем, созданных именно так, много, и да, именно по этой причине существуют инструменты, призванные обеспечить защиту таких систем. Однако мировые эксперты сходятся во мнении, что лучше всего с самого начала рассматривать изъяны безопасности так же, как и обычные ошибки функционала, и сразу включать их в цикл разработки.
В этом случае и поиск, и исправление, и предотвращение появления новых уязвимостей происходит гораздо быстрее и эффективнее. И даже команды разработчиков при этом начинают лучше относиться к работе над безопасностью, чем в ситуации, когда после аудита и сдачи уже собранной версии в ней внезапно обнаруживается масса проблем. К тому же часть из них будут ложными, поскольку автоматические инструменты анализа обычно генерируют массу false positives, а когда ПО уже написано, фильтровать это нелегко. Поэтому внимание вопросам безопасности должно уделяться всегда, и разработчики должны быть в курсе хотя бы простейших видов атак.
Сейчас наиболее критичная ситуация с безопасностью веб-приложений. Согласно различным исследованиям, большая часть успешных атак совершается именно на них. Причин тому много: веб-приложения почти всегда доступны публично, часто работают с критичными пользовательскими данными, к тому же веб-разработка стала очень распространена, а уровень специалистов в целом невысок. Многие веб-разработчики не знают элементарных правил написания кода, защищенного хотя бы от простейших видов атак. Кроме того, вопросы безопасности особенно актуальны при использовании динамических языков программирования, поскольку в этих языках легче допустить ошибки, ведущие к определенным видам уязвимостей, а код на них проанализировать статически сложнее. Универсальные «коробочные» CMS, часто используемые системы управления сайтом, также изобилуют критичными уязвимостями и являются очень ярким примером того, что безопасность при разработке должна закладываться с самого начала.