«Как раньше» больше не работает
Одним из очевидных путей к повышению качества работы является внедрение DevOps-практик (от англ. development operations). Эта методология позволяет эффективно создавать и обновлять программное обеспечение (ПО) с помощью автоматизации всех процессов. Благодаря этому формируются «конвейеры» (или пайплайны) для оперативного и непрерывного развертывания ПО.Также DevOps подразумевает тесное взаимодействие между разработчиками и поддержкой, в силу чего дефекты выявляются уже на ранних стадиях. Таким образом, повышается конечное качество продукта.
Однако обратной стороной скорости и эффективности при создании и развертывании ПО может стать ослабление безопасности. В традиционном подходе проверка уязвимостей обычно проводится в конце цикла, перед развертыванием. При этом могут возникать технические проблемы: тестирование уже готового продукта создает мощные дополнительные нагрузки на систему и команды информационной безопасности (ИБ), что может мешать текущей работе предприятия.
Обычно тестируется безопасность только конкретного программного продукта. При этом разрозненность работы статических (SAST), динамических (DAST) анализаторов кода, а также анализаторов зависимостей (SCA) часто приводит к пропуску ошибок и уязвимостей. Несмотря на свою развитость, автоматические инструменты тестирования могут не выявить погрешности в логике кода или на уровне архитектуры.
Еще одна проблема – ложные срабатывания, которые при частом появлении снижают доверие к результатам проверок и тестов.
Важный момент: при традиционном подходе специалисты по безопасности работают изолированно от разработчиков и команды сопровождения. При таком сценарии часто возникает противоречие в задачах команд, так как разработчикам важно быстрее сделать релиз и добиться высокого показателя time-to-market, экспертам по техподдержке – обеспечить прежнее качество, а отделу информационной безопасности – не допустить перебоев в работе оборудования. Менеджмент при этом не имеет цельной картины процесса и вынужден ориентироваться на разрозненные (но одинаково значимые) метрики, зачастую отдавая приоритет одним в ущерб другим.
Поэтому передовой практикой последних лет стало подключение к DevOps третьего компонента – безопасности (security), работа которого становится неотъемлемой частью разработки программных продуктов.
От DevOps к DevSecOps
Итак, сегодня DevOps эволюционирует в DevSecOps. Для этого применяется подход «сдвиг влево» (shift left), который предполагает перенос проверок безопасности на ранние этапы. То есть, анализ потенциальных угроз начинается уже с планирования архитектуры того или иного решения, а затем продолжается на всех последующих этапах релизного цикла. Подобный процесс позволяет разглядеть большинство уязвимостей «в зародыше» и предотвратить такие неприятности, как «выдача ошибок» на этапе продакшена.
Как этого достигнуть?
С одной стороны, DevSecOps подразумевает автоматизацию регулярных локальных проверок качества кода в CI/CD-пайплайнах с использованием современных инструментов. Cтатические и динамические анализаторы кода, интегрированные в среду разработки, помогают соблюдать стандарты безопасности. При выявлении проблемы специалист тут же получает уведомление, а значит, может сразу поправить код. Также можно использовать решения для обезличивания данных, сервисы поиска уязвимостей, проверки типов лицензий и другие инструменты, повышающие качество разработки и степень защиты процессов.
В DevSecOps просматривается только один сложный момент: его нельзя просто так взять и внедрить. Эта методология требует перестройки многих процессов и всей культуры разработки в компании. Программист теперь должен думать не только о функциональности, качестве и изящности кода, но и его безопасности. Также в списке условий – ежедневная слаженная работа и общая ответственность разработчиков, DevOps-инженеров и специалистов ИБ. Сначала это может быть воспринято командой как дополнительная нагрузка, замедляющая привычный темп. Однако такой подход кардинально снижает количество доработок и инцидентов программного продукта уже в продакшене, что в конечном итоге экономит ресурсы и самих сотрудников, и ИТ-подразделений, и всей компании.
Эксперты подчеркивают, что внедрение практик и выстраивание культуры DevSecOps на предприятии должно быть стратегически выверенным (надо сразу понимать, к чему движемся) и последовательным (начав, поворачивать уже не стоит), но при этом постепенным. Можно стартовать с точечных проектов, а затем распространять новые подходы на остальные процессы. DevSecOps уже применяют такие компании, как Магнезит, ВТБ, Почта банк, Почта России, Дом.рф, их показывают, что со временем непрерывная слаженная работа над безопасностью становится естественной практикой внутри компании.
Существенным условием успешного внедрения культуры и инструментов DevSecOps выступает объединение на одной ИТ-платформе. Таковые могут предоставить и российские поставщики. Функционал ряда отечественных решений в этой области сегодня во многом догоняет, а где-то и превосходит известные западные аналоги. Примером может служить «Сфера» – платформа для организации безопасной разработки – и связанная с ней экосистема продуктов и услуг по информационной безопасности «Купол» (ИТ-холдинг Т1). Эти инструменты созданы на современном технологическом стеке. Они соответствуют рыночным бенчмаркам и отвечают требованиям российских регуляторов.
Так, использование платформы «Сфера» и экосистемы «Купол» обеспечивают:
• рост объема внутренней разработки ПО;
• безопасную разработку DevSecOps;
• импортозамещение продуктов для управления разработкой;
• повышение эффективности процессов тестирования, включая работу с тест-планами, тест-кейсами и автотестами;
• прозрачность и контроль на всех этапах жизненного цикла разработки;
• защиту чувствительной информации и снижение рисков утечки данных при разработке ПО.
Платформенный подход – ответ на вызовы масштаба
Внедрение инструментов DevSecOps в крупных холдингах имеет свои особенности. Территориальная распределенность, сложность структур компаний, а также огромное количество разнообразных бизнес-процессов требуют широкого спектра ИТ‑инструментов и технологий. Обилие задач приводит к тому, что одновременно применяются решения различного уровня от разных поставщиков (главным образом, западных), и так возникает «зоопарк технологий». Необходимость импортозамещения только усугубляет ситуацию.Обеспечить слаженное взаимодействие разрозненных систем и процессов – это сложнейшая работа. Почти неизбежны противоречия, нестыковки, дублирование функций, трудности с контролем и управлением. При этом масштаб бизнеса накладывает особую ответственность за каждое решение. Неправильно заданное направление, плохо отлаженный процесс, ошибки в исполнении могут обернуться многомиллионными убытками.
Для эффективного решения подобных проблем необходима платформа, которая обеспечивает:
• автоматизацию процессов и оркестрацию отдельных компонентов;
• управление процессами;
• аналитику и отчетность для руководства на основании понятных метрик;
• унифицированный пользовательский опыт за счет сквозной интеграции и единого интерфейса.
Российские комплексные решения способны решать такие сложные задачи. Так, платформа «Сфера» включает инструменты для разработки, тестирования, построения системы безопасности, управления задачами. Решение соответствует самым строгим корпоративным требованиям и входит в Единый реестр российского ПО (ЕРРП).
Методология платформы «Сфера» позволяет регламентировать эффективную организацию процессов разработки ПО, которая покрывает восемь основных слоев: сопровождение, управление людьми и командами, управление разработкой, управление продуктами и сервисами, инженерные практики, культура и ценности, а также сквозной мониторинг на всех этапах разработки. На базе сервиса развиваются более 40 инструментов, отвечающих разным элементам, которые могут работать вместе и по отдельности.
Важный функционал Сферы – система 3D-дашбордов, позволяющих отслеживать все этапы создания технологического продукта. При этом верхнеуровневый мониторинг может быть детализирован вплоть до анализа действий любой из команд и каждого стрима. Это помогает руководству «держать руку на пульсе» и четко понимать, как развиваются ИТ-проекты.
Практические выгоды для бизнеса
Внедрение DevSecOps на основе платформенных решений приводит к экономии ресурсов и повышению операционной эффективности компании:
• благодаря раннему выявлению уязвимостей сокращаются затраты на обеспечение информационной безопасности (ТСО);
• снижаются риски инцидентов ИБ, связанные с кибератаками, утечками информации и другими негативными сценариями;
• оптимизируется разработка ПО благодаря прозрачности и контролируемости процесса, а также повышению эффективности коммуникаций, планирования и управления;
• растет эффективность управления ИТ-активами;
• повышается уровень безопасности;
• автоматизация процессов документооборота и согласований способствует снижению издержек.
Таким образом, сегодня DevSecOps на основе платформенных решений становится стратегической необходимостью для любых компаний с собственной ИТ‑экспертизой, и, в особенности, для компаний уровня enterprise. Это путь к управляемости и масштабируемости бизнеса, а также эффективному управлению рисками.
