Давайте ликвидируем пробел
Кевин Кернан (Kevin Kernan)
Большинство людей согласится, что лучшее долгосрочное решение проблемы безопасности программного обеспечения заключается в том, чтобы сделать его внутренне более безопасным.
Почти каждый пробел в защите, который приводит к краже персональной информации, сбоям в работе сети, потере данных или порче веб-сайта, имеет в своей основе ошибку, являющуюся следствием плохо написанной программы.
По оценке аналитической фирмы Gartner, приблизительно 70% всех атак происходит на уровне приложений, а исправление ошибок в процессе разработки обходится гораздо дешевле, чем после выпуска продукта.
Так что же сдерживает прогресс, если в отрасли наблюдается широкое согласие по поводу долгосрочного решения проблемы безопасности? Дело в том, что между специалистами по традиционным средствам безопасности и разработчиками приложений существует глубокий языковой барьер.
По большей части это проблема непопадания в зону действия радара. Большинство организаций этого барьера просто не видит. Они не понимают, что просить разработчиков усилить безопасность продукта, уже находящегося в разработке, это все равно, что просить автопроизводителя добавить ремни и подушки безопасности и усилить кузов уже после того, как модель поступила на сборочную линию. Они игнорируют тот факт, что разработка ПО - это процесс, и что единственный способ повлиять на качество готового продукта - внести в этот процесс изменения.
Специалисты по безопасности хотят помочь разработчикам писать лучший код, но единственный известный им способ добиться этого - подбрасывать в топку проблемы уязвимости все новое ПО. Недавно SANS Institute опубликовал отчет, демонстрирующий, что хакеры и писатели вирусов сегодня нацеливаются на те продукты, которые корпорации используют для защиты своих сетей. Фактически, теперь, когда разработчики операционных систем, такие как Microsoft, кажется, поняли, как лучше защитить свои продукты, хакеры все чаще делают своей мишенью именно антивирусные программы.
Итак, хакеры атакуют программы, защищающие наше ПО.
Означает ли это, что нам следует добавить еще один, более высокий уровень защиты? Надо ли создавать новое ПО для защиты программ, которые защищают наше ПО?
Запутались? Не только вы.
Профессиональные разработчики живут в мире, который существенно отличается от мира специалистов по безопасности. Разработка - это процесс, шаги и правила которого четко определены, а нарушение может привести к срыву сроков разработки и начала поставок, что очень расстроит руководство, отдел продаж и даже акционеров.
Компаниями, специализирующимися на разработке, движет необходимость быстро выпустить продукт на рынок и требование новых возможностей, а не потребность в создании более безопасного кода. Только в самых серьезных случаях пробелы в защите приводят к тому, что производитель принимает некие меры, чтобы исправить ситуацию в процессе разработки. Большинство разработчиков не понимают первого правила разработки и тестирования - объединяя две строчки надежного кода, можно получить уязвимый результат.
Софтверной индустрии нужен согласованный общий язык для общения между разработчиками и специалистами по безопасности. Ей необходим стандарт для интеграции в существующий жизненный цикл процессов безопасности, ролей и артефактов - с минимальными затратами и влиянием на сроки выпуска продуктов. Даже если это многоступенчатый путь, и чтобы пройти его, потребуется время, такой стандарт станет важным первым шагом по улучшению безопасности ПО.
Без такого стандарта не обойтись, если мы собираемся действительно изменить способ разработки ПО и повлиять на уровень безопасности конечных продуктов.
Об авторе: Кевин Кернан, ветеран рынка разработки приложений с 17-летним стажем, - генеральный директор и соучредитель компании Secure Software.
|