Приглашаем всех желающих посетить бесплатные пробные занятия по курсам МВА и профессиональной подготовки. Занятия проходят в реальных группах, никаких постановочных занятий. Ознакомиться с расписанием пробных занятий, выбрать заинтересовавшее и зарегистрироваться на него можно здесь
Создание отдела поддержки разработки безопасного программного обеспечения в коммерческой организации
Сергей Геннадьевич Ковалев
Выпускник группы MBA CSO-37
Школы IT-менеджмента Института ЭМИТ
РАНХиГС при Президенте РФ
Интеграция процессов разработки и эксплуатации, далее DevOps, от "Development
and Operations", обеспечила бурное развитие информационных систем за счет
оперативного обновления программного обеспечения. В научной статье “Toward
successful DevSecOps in software development organizations: A decision-making
framework” утверждается, что большинство организаций стремится инициировать
программу DevOps из-за предоставляемых этим подходом преимуществ.
DevOps — это, по сути, сочетание разработки программного обеспечения и
ИТ-операций внедрения, которое можно найти во многих корпоративных средах.
Изначально DevOps начинался как процесс, который способствовал формированию
гибких отношений между разработчиками и командами внедрения. Это привело к
гораздо более быстрому времени разработки и развертывания и способствовало
улучшению связи между различными отделами внутри организации.
DevOps помог разработчикам лучше понять эксплуатационные требования
организации, а сторона отвечающая за внедрения программных продуктов увидела, как
процесс разработки влияет на повседневное функционирование систем в организации.
Технологии развертывания могут быть встроены в программное обеспечение. Это в
свою очередь означает, что готовые продукты могут быть доставлены потребителям в
рекордно короткие сроки.DevOps объединяет множество различных дисциплин и уделяет большое внимание
автоматизации. Как следует из названия, разработка и внедрение программного
обеспечения становятся единой командой, работающей над достижением одной цели.
Поскольку DevOps выполняет большую часть операционной работы с помощью тех
же процессов, что и разработка программного обеспечения, становится возможным
проводить крупномасштабные развертывания с минимальным вмешательством
человека, сохраняя при этом высокую прозрачность в среде, в которой он работает.
Автоматизация значительно упрощает и ускоряет развертывание.
Чтобы организации могли достигать и сохранять лидерские позиции и извлекать
выгоду из новых технологий, команды DevOps во многих организациях используют
целый набор ИТ-инструментов, инструментов кибербезопасности и компонентов
инфраструктуры. Однако больше решений предоставляет хакерам больше
потенциальных точек входа для удара. Атаки на цепочку поставок программного
обеспечения (software supply chain attacks) — это атаки, в которых используется
стороннее программное обеспечение или свободно доступные исходные программные
библиотеки и компоненты, которые разработчики могут легко загрузить из Интернета.
Такие атаки становятся все более распространенными, и злоумышленники используют
эти возможности для одновременного взлома тысяч предприятий и организаций.
Один из самых ярких примеров атаки на цепочку поставок программного
обеспечения произошел в 2020 году, когда вредоносный код, записанный в обновлении
программного обеспечения SolarWinds, распространился по ведомствам федерального
правительства США. Совсем недавно, в марте этого года, более 20 000 организаций
были скомпрометированы через уязвимость в Microsoft Exchange Server.
Основной проблемой быстрой разработки и поставки является обеспечение
безопасности производственного процесса. Стоит отметить, что данный вопрос попал в
сферу регулирования законодательством разных стран, включая Российскую
Федерацию
и США. В частности приказ ФСТЭК России от 25 декабря 2017 г. N 239 "Об
утверждении требований по обеспечению безопасности значимых объектов
критической информационной инфраструктуры Российской Федерации" утверждает
следующее:
Анализ уязвимостей проводится для всех программных и программно-аппаратных
средств, в том числе средств защиты информации, значимого объекта.
Это означает, что интеграция вопросов информационной безопасности в процессы
DevOps неизбежна.
Однако верно и то, что сложное программное обеспечение является неизбежной
необходимостью для многих предприятий. Решение проблемы обеспечения
безопасности сложного программного обеспечения заключается в использовании тех
же идей, процессов и инструментов, которые позволили DevOps добиться успеха и
интегрировать безопасность в людей, процессы и технологии. При этом безопасность
становится фундаментальной и постоянной частью жизненного цикла приложений и
инфраструктуры. Это позволяют создать новую культуру разработки безопасного
программного обеспечения.
Переход к DevOps оказался революционным. Автоматизации процессов, которые
существовали между командами разработки и внедрения, позволило разработчикам
создавать высококачественное программное обеспечение, а группам внедрения и
эксплуатации обеспечить непрерывную доставку и стабильное качество обслуживания.
Автоматизируя эти процессы, обе команды эффективно вовлекают друг друга в свой
рабочий процесс, чтобы они могли сосредоточиться на своих сильных сторонах. Этот
подход также можно применить к безопасности и, следовательно, к концепции
разработки безопасного программного обеспечения. Безопасность должна быть
неотъемлемым, но почти незаметным элементом рабочего процесса, а не скрипучим
колесом, нарушающим рабочий процесс DevOps. Это требует автоматизации
взаимодействия между безопасностью и DevOps, чтобы обеспечить идеальное
сочетание качественного программного обеспечения, непрерывного обслуживания и
высокого уровня безопасности.
В итоге специалисты по разработке безопасного программного обеспечения
сфокусировали внимание на следующих вопросах:
1. Как не дать потенциальному злоумышленнику внести в работающую систему
изменения, которые приведут к изменениям в логике обработки информации.
2. Как не дать потенциальному злоумышленнику внести изменения в среду
предприятия, в рамках которой производится разработка программных продуктов.
Как отмечается в научной статье “Challenges and solutions when adopting DevSecOps:
A systematic review” и в журнале “Информационная безопасность” требования по
интеграции практик информационной безопасности в DevOps и защиты среды
разработки привели к появлению нового понятия DevSecOps, которое
расшифровывается как "Development, Security, and Operations".
В работе представлен процесс создания отдела поддержки разработки безопасного
программного обеспечения, далее DevSecOps отдела или просто отдела, в
коммерческой организации специализирующейся на разработке программного
обеспечения. Сделана попытка выявить основные трудности, с которыми приходится
сталкиваться при переходе от DevOps к DevSecOps. Также проводится анализ
нормативно-правового поля в области разработки безопасного программного
обеспечения.