Безопасная разработка для бизнеса — как получить надежное ПО
В условиях цифровизации бизнеса информационная безопасность — один из важнейших критериев программного обеспечения
Опыт в ИБ более 10 лет, евангелист DevSecOps. Участвует в создании профильных мероприятий на Урале, спикер крупных российских конференций
Что такое безопасная разработка
Безопасная разработка или DevSecOps (от англ. development, security и operations) — это подход, при которым стандарты безопасности интегрируются во все стадии жизненного цикла создания IT-продукта. Подход не означает кардинальной перестройки процессов, а подразумевает учет требований безопасности на каждом этапе разработки.
Безопасная разработка позволит минимизировать уязвимости кода в начале работы и легче пройти необходимые проверки на безопасность в будущем. На финальных этапах вносить изменения в продукт сложнее и дороже, поэтому DevSecOps не только повышает качество продукта, но и уберегает от незапланированных трат. Также при заказной разработке или при приобретении ПО заказчик может потребовать выполнения ряда практик безопасности, выдвигать собственные критерии качества или просить подтвердить защищенность разрабатываемого софта.
В современных реалиях безопасность ПО становится в один ряд с другими качественными показателями, такими как отказоустойчивость и функциональность, и является одним из критичных показателей для бизнеса.
В каких сферах требуется DevSecOps
Есть ряд областей, которые строго контролируются регулирующими органами, то есть разработчики ПО обязаны выполнять определенные требования безопасности при разработке ПО по закону. Например, безопасность объектов критической информационной инфраструктуры регулирует Приказ ФСТЭК России от 25 декабря 2017 г. № 239. В сфере финансов необходимо применять сертифицированное ПО или ПО, соответствующее определенному оценочному уровню доверия.
Однако даже если бизнес не связан с госсферой или ПО не используется на критически важных объектах, то внедрение практик безопасности все-равно крайне желательно. Хакеры могут организовать атаку на любой интернет-магазин или приложение, которое доступно в интернете. Если компания не позаботилась о безопасности, то у злоумышленников найдутся точки входа. Посчитать потенциальные убытки в этом случае просто, достаточно оценить стоимость простоя сервиса в течении часа, дня или недели.
Помимо задач доступности и отказоустойчивости сервисов, важна сохранность информации. IT-продукты, которые используются для обмена данными, должны обеспечивать информационную безопасность. Это могут быть персональные данные, медицинские сведения, финансовые операции, коммерческая тайна — типов информации, требующей защиты, очень много.
По сути, любому бизнесу, следует уделить должное внимание вопросам кибербезопасности. Опыт УЦСБ по оценке и проверке IT-продуктов показывает, что уязвимости есть почти всегда — как минимум, ситуации, которые нужно уточнить и пересмотреть.
Как внедрить безопасную разработку
DevSecOps — отдельное направление в сфере кибербезопасности, требующее целой команды квалифицированных специалистов. Набрать в штат нескольких сотрудников с должным опытом и навыками затратно и проблематично, поэтому разработчики пользуются услугами крупных интеграторов, специализирующихся на кибербезопасности. К тому же квалификацию интегратора проще проверить, чем квалификацию отдельного программиста: у опытной компании всегда есть подтвержденные кейсы и бизнес-репутация.
Преимущества аутсорсной безопасной разработки довольно очевидны:
- Экономия ресурсов. У интегратора есть команда проверенных специалистов и все необходимые инструменты. Заказчикам не придется набирать штат или докупать дополнительное ПО.
- Скорость. Внешние эксперты имеют четко разработанные подходы и способны быстро интегрироваться в процессы заказчика, в том числе и на начальных этапах разработки.
- Гарантии. Интегратор несет ответственность на условиях договора. Если штатный сотрудник может заболеть, застопорив процессы, или даже уволиться, то интегратор обязан довести работу до результата в определенный срок.
- Экосистемность. Интеграторы решают не только локальную задачу, но и выстраивают всестороннюю поддержку. На каждом этапе разработки необходимо интегрировать процессы безопасности. Например, на этапе планирования учитывать требования законодательства и практик по безопасной разработке, а на завершающем этапе разработки продукта не забывать подключать его к SOC и фильтровать трафик с использованием файрвола уровня приложения и т.п. Заказчику удобно, когда управление всеми процессами сосредоточено в одном месте. Выгоднее пользоваться экосистемой, чем покупать услуги у разных поставщиков.
При этом информационная безопасность — это всегда процесс, состояния вечной защищенности не бывает. Поэтому важно не только получить результат от разработчика, но и уметь поддерживать практики по безопасности — проводить регулярный анализ исходного кода, тестирование на проникновения, обеспечивать защиту инфраструктуры разработки и т.п.
Так, в практике УЦСБ были проекты по анализу защищенности ПО и формированию заключения о соответствии требованиям регуляторов. И это только часть задач, с которыми сталкиваются компании и где мы можем закрыть все потребности — от аудита процесса и формирования плана внедрения с адаптацией методик под конкретный проект до сопровождения на всех этапах перехода от традиционной разработки к DevSecOps.
Обратиться к экспертам и подключить безопасную разработку можно на разных стадиях развития продукта, но лучше задуматься о защите будущего ПО еще на этапе проектирования. Это поможет снизить риск уязвимостей, учесть жесткие требования законов, избежать проблем при проверках и ускорить выход продукта на рынок.