Share This
Связаться со мной
Крути в низ
Categories
//∞ Современный подход к кибербезопасности: как внедрить в компании методики DevSecOps?

∞ Современный подход к кибербезопасности: как внедрить в компании методики DevSecOps?

Мы расспросили ведущего инженера DevSecOps о том, почему этот подход настолько важен, каким организациям стоит его внедрять, какие шаги нужно предпринять и какие факторы стоит при этом учитывать.

infin sovremennyj podhod k kiberbezopasnosti kak vnedrit v kompanii metodiki devsecops b8c8b2c - ∞ Современный подход к кибербезопасности: как внедрить в компании методики DevSecOps?

DevSecOps – это философия интеграции практик безопасности в процесс DevOps.

Цель DevSecOps состоит в том, чтобы сделать безопасность частью рабочего процесса разработки программного обеспечения с помощью передовых методов безопасного кодирования и автоматизации тестирования, а не закреплять ее на более поздних этапах цикла, как это было в случае с каскадными моделями разработки.

Этот стратегический сдвиг в интеграции средств управления безопасностью в жизненный цикл разработки программного обеспечения (SDLC) оказал большое влияние на отрасль.

DevSecOps решает наиболее распространенную проблему, с которой сталкивались многие компании на пути к DevOps, когда более быстрые выпуски кода приводили к большему количеству уязвимостей. Благодаря DevSecOps, критические проблемы безопасности решаются по мере их поступления, а не после возникновения угрозы или компрометации.

О внедрении методик DevSecOps нашему корреспонденту рассказал Иван Пискунов, Senior DevSecOps engineer «NewIty», Ltd. – международной компании-разработчика ПО.

Понятие DevSecOps

Если понимать DevSecOps дословно, то это безопасный DevOps. Другими словами, это именно практики разработки, внедрения и эксплуатации продукта (приложения, сайта, банк-клиент платформы, облачного сервиса и т.д.) с учетом требований к информационной безопасности.

Речь идет о превентивном выявлении недостатков кода, которые потом могли бы вылиться в уязвимости ПО (то что еще называется термином Secure SDLC или SSDLC).

Также это проработка и внедрение механизмов защиты от мошеннических операций и разного рода фрода (например, это очень актуально для банк-клиент приложений, электронных бирж и обменников криптовалюты) в разрабатываемый продукт, обеспечение безопасности облачной среды (AWS, GCP, Yandex.Cloud и т.д.), где он эксплуатируется. То есть распределение прав доступа к ресурсам, определение пользовательских ролей в системе, мониторинг Kubernetes-кластера как ядра системы, выявление инцидентов и реагирование на них.

Каким компаниям действительно нужен DevSecOps?

DevSeсOps – это то, что должно быть в любой компании, которая занимается разработкой ПО и которая заботится о своих клиентах, сохранности их данных, ну и конечно же о собственной репутации. Размер компании тут не так важен, различия будут скорее в том, что более крупная компания имеет большую капитализацию и, соответственно, бюджетирование на решение вопросов безопасности, по сравнению со стартапом, где все только набирает обороты.

Правдивость известной фразы «Безопасность стоит дорого, но ее отсутствие еще дороже» не раз была доказана на примере крупных взломов. Например, можно вспомнить скомпрометированную цепочку поставок SolarWinds или нашумевшую атаку на Capital One в 2019 году, когда было потеряно 30 ГБ данных, содержащих записи о 106 млн. пользователей, ну и ярко отметившуюся в 2018 году cryptojacking-атаку на компанию Tesla, Илона Маска.

Все, кто хотят строить свой бизнес на перспективу и делать качественный продукт мирового уровня, должны обращать значимое внимание на DevSecOps.

Основные преимущества DevSecOps

Преимущества (то, что в англоязычных компаниях называют Value), которые получает команда, а в ее лице и компания, от внедрения практик DevSecOps в свой обиход могут несколько отличаться. Однако можно выделить общие для всех них черты.

Это прежде всего снижение расходов на стадии поддержки продукта. Если еще до релиза на этапе разработки исключить критические уязвимости (CVE, CWE) и баги, то не понадобится выпускать патчи (исправления) или вовсе отзывать продукт с рынка.

Еще одно преимущество – это соответствие комплаенс-требованиям: как российским (например, ЦБ РФ для финансовых учреждений), так и международным (Cloud Security Alliance (CSA), Cloud Native Computing Foundation (CNCF), PCI DSS, GDPR и т.д.). Это дает возможность проходить аудиты соответствия требованиям контролирующих органов, получать соответствующие лицензии и сертификаты на вид деятельности (особенно критично для бирж, обменников, систем банк-клиент), подтверждать свою ответственность перед клиентами и партнерами.

И непосредственно – это внутренняя инфраструктурная безопасность облачной среды, которую периодически пытаются взломать хакерские группы, боты и потенциально нечестные конкуренты по нише, разделяемой на рынке. Средствами только стандартного DevOps эти вопросы никогда не решить.

Этапы внедрения DevSecOps в компании

Классический подход к внедрению DevSecOps описан в нескольких книгах:

  • DevOpsSec, Jim Bird;
  • Securing DevOps: Security in the Cloud, Julien Vehent;
  • Hands-On Security in DevOps: Ensure continuous security, deployment, and delivery with DevSecOps, Tony Hsu;
  • Secure by Design, Daniel Sawano;
  • DevSecOps: A leader’s guide to producing secure software without compromising flow, feedback and continuous improvement, Glenn Wilson;
  • Practical Cloud Security: A Guide for Secure Design and Deployment, Chris Dotson,
  • а так же методических подходах OWASP SDLC, Trustworthy computing от Microsoft.

Это достаточно длительный и не самый простой этап в жизни компании. В зависимости от уровня зрелости, наличия соответствующих профессиональных компетенций в штате сотрудников и бюджета на ИБ, количество этапов внедрения может меняться.

К тому же нужно понимать, что внедрение SDLC (безопасного цикла разработки ПО) – это часть общих работ по запуску DevSecOps в компании, и они отличаются между собой по сложности и длительности. В самом простом варианте это всегда определение целей и задач, выставление требований к продукту и процессу его разработки (то что называется secure by design), планирование работ, внедрение технических и программных средств защиты, мониторинг и поддержка.

Проблемы, которые могут возникнуть при внедрении DevSecOps

Проблем всегда хватает. Большинство из них совпадает с типичными проблемами DevOps. Например, речь идет о внедрении процедур проверки качества кода и выявления уязвимостей на стадии комита, далее целевого репозитория и хранилища артефактов в общий CD/CI конвейер (так называемые паплайны).

Конкретно ИБ-шной спецификой можно назвать борьбу с ложными срабатываниями статического анализатора кода (SAST), централизованное управление секретами с минимальными издержками на производительность и удобство работы в системе, разработка кастомных правил безопасности под каждый независимый контур – Dev, Stage, Prod.

И отдельно я бы отметил создание особой культуры правильной разработки среди участников команды. Важно, чтобы каждый из разработчиков при реализации фичи учитывал риски, которые могут повлиять на сохранность клиентских данных или безопасность всей системы.

Как правильно внедрить DevSecOps в команде?

Решающий фактор в этом деле на мой взгляд – это компетенции и мотивация тех сотрудников, которые отвечают за безопасность в компании. Осознание современных угроз и скрытых рисков, понимание того, как баг может повлиять на конечный продукт, знание средств и систем защиты – все это поможет выстроить некий roadmap того, как необходимо внедрять DevSecOps-практики в каждодневную работу команды разработчиков и DevOps-инженеров.

Следующий фактор – это наличие бюджета на закупку и поддержку различных средств безопасности. Нужно понимать приоритетность внедрения решений, а также обладать специфической экспертизой в некоторых тонкостях реализации защиты периметра или отдельных end-point хостов. Если бюджета нет, то на первых порах можно обойтись средствами open sources, которые, конечно, не дадут того уровня, что дают коммерческие решения, но все таки не оставят в чем мать родила.

И обязательно отмечу использование best practices от вендоров ПО, методические рекомендации и гайды специализированных проектов, таких как международного комьюнити OWASP, европейского CIS, американского стандарта NIST-800, SANS TOP 25 Most Dangerous Software Errors, матрицы MITRE ATT&CK, которые рассказывают, как лучше всего реализовать ту или иную функцию безопасности в корпоративном периметре.

Лучшие практики DevSecOps

infin sovremennyj podhod k kiberbezopasnosti kak vnedrit v kompanii metodiki devsecops b4ca10a - ∞ Современный подход к кибербезопасности: как внедрить в компании методики DevSecOps?

Описание каждой практики достойно отдельной статьи. Однако можно упомянуть ключевые bullet points при внедрении DevSecOps, а именно:

  • Организация безопасного цикла разработки ПО, включающего моделирование угроз, оценку рисков, статический и динамический анализ кода, использование защищенных технологий: HTTPS/TLS, CORS, CSP, 2FA, Data encryption и т.д.;
  • Усиление текущей облачной инфраструктуры с помощью как нативных опций безопасности, предоставляемых от поставщика услуги, так и коммерческих средств и систем защиты – Web Application Firewall (WAF), SIEM и SoC мониторинг, IDSIPS-систем, хостовых EDR, защита Kubernetes-кластера, Anti-DDoS и Load balancing и т.д.;
  • К вышеперечисленному можно добавить важность создания в компании внутренней базы знаний о проблемах безопасности, современных рисках и угрозах, типовых решениях и рекомендациях для разработчиков, тестировщиков и инженеров;
  • Сюда же можно отнести и обучение команды разработчиков правилам написания безопасного кода. Это большой вклад в общую культуру разработки, которая несомненно сделает конечный продукт лучше. Некоторые другие рекомендации можно почерпнуть из моей авторской книги «Kubernetes security. Guide for beginners from zero to hero».

Выводы

Методология DevOps затрагивает не только группы разработки и эксплуатации. Если вы хотите в полной мере использовать гибкость и оперативность подхода DevOps, ИТ-безопасность также должна играть важную роль в полном жизненном цикле приложений, которые вы разрабатываете.

Согласно отчету исследовательской компании Gartner, 80% предприятий, которым не удастся к 2023 году внедрить современный подход к безопасности, столкнутся как с повышенными эксплуатационными расходами, так и с большими последствиями кибератак.

В быстро меняющемся цифровом мире компаниям крайне важно адаптироваться к возрастающему количеству кибератак, которые каждый день ставят под угрозу безопасность приложений.

***

Если вы заинтересованы в развитии карьеры в этой сфере, стоит обратить внимание на «Факультет информационной безопасности» образовательной онлайн-платформы GeekBrains. На 70% учебная программа состоит из вебинаров с преподавателями, которым вы сможете задать все интересующие вопросы по темам и оперативно получить от них обратную связь.

Кроме того, куратор и менеджеры GeekBrains помогут освоиться и решить технические сложности на разных этапах обучения, а постоянная практика (в том числе командные соревнования по информационной безопасности в формате Capture the flag) не дадут застрять на месте.

Продолжительность обучения – один год. За это время вы освоите современные технологии и компетенции, которые необходимы специалистам по безопасности: Application Security Engineer, пентестеру, специалисту по информационной безопасности или DevSecOps-инженеру.

Интересно, хочу попробовать

  • 6 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Связаться со мной
Close