0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>В конце курса "<a>Внедрение и работа в DevSecOps</a>" студентов ждёт выполнение проекта. Это самостоятельная работа, необходимая для закрепления полученных знаний. Предлагаем вашему вниманию проект<strong>Валиева Гурбана</strong>, одного из наших выпускников курса.</p>
1
<p>В конце курса "<a>Внедрение и работа в DevSecOps</a>" студентов ждёт выполнение проекта. Это самостоятельная работа, необходимая для закрепления полученных знаний. Предлагаем вашему вниманию проект<strong>Валиева Гурбана</strong>, одного из наших выпускников курса.</p>
2
<p>В данной работе был проведен анализ влияния на бизнес с точки зрения time-to-market, безопасности и других важных аспектов при трансформации деятельности компании. Рассмотрим подробнее данную методологию.<strong>Что планировалось</strong>:</p>
2
<p>В данной работе был проведен анализ влияния на бизнес с точки зрения time-to-market, безопасности и других важных аспектов при трансформации деятельности компании. Рассмотрим подробнее данную методологию.<strong>Что планировалось</strong>:</p>
3
<ul><li>ознакомиться с культурой DevSecOps и составить план трансформации;</li>
3
<ul><li>ознакомиться с культурой DevSecOps и составить план трансформации;</li>
4
<li>автоматизировать и встроить инструменты ИБ на всех этапах разработки.</li>
4
<li>автоматизировать и встроить инструменты ИБ на всех этапах разработки.</li>
5
</ul><p><strong>Что такое</strong><strong>DevSecOps</strong><strong>и какой импакт от внедрения в компанию</strong>?</p>
5
</ul><p><strong>Что такое</strong><strong>DevSecOps</strong><strong>и какой импакт от внедрения в компанию</strong>?</p>
6
<p>DevSecOps - это методология разработки ПО, которая, в отличие от классических подходов, позволяет интегрировать проверки безопасности во все этапы создания ПО. То есть в рамках этой модели работает Shift Left: смещение безопасности влево как можно ближе к началу разработки.<strong></strong></p>
6
<p>DevSecOps - это методология разработки ПО, которая, в отличие от классических подходов, позволяет интегрировать проверки безопасности во все этапы создания ПО. То есть в рамках этой модели работает Shift Left: смещение безопасности влево как можно ближе к началу разработки.<strong></strong></p>
7
<p>Таким образом, DevSecOps объединяет три главных подразделения: разработку (Dev), ИБ (Sec) и операционную деятельность (Ops). Все участники важны и ценны, каждый из них имеет собственную роль. Теперь немного статистики: ошибки безопасности могут нанести значительный ущерб и обойтись организациям в репутационные риски или большие финансовые потери.</p>
7
<p>Таким образом, DevSecOps объединяет три главных подразделения: разработку (Dev), ИБ (Sec) и операционную деятельность (Ops). Все участники важны и ценны, каждый из них имеет собственную роль. Теперь немного статистики: ошибки безопасности могут нанести значительный ущерб и обойтись организациям в репутационные риски или большие финансовые потери.</p>
8
<ul><li>88% рост и количество уязвимостей приложений за последние два года;</li>
8
<ul><li>88% рост и количество уязвимостей приложений за последние два года;</li>
9
<li>78% уязвимостей обнаруживаются в косвенных зависимостях;</li>
9
<li>78% уязвимостей обнаруживаются в косвенных зависимостях;</li>
10
<li>37% разработчиков с открытым исходным кодом не реализуют никаких мер безопасности при непрерывной интеграции;</li>
10
<li>37% разработчиков с открытым исходным кодом не реализуют никаких мер безопасности при непрерывной интеграции;</li>
11
<li>54% разработчиков не проводят тестирование безопасности образов Docker.</li>
11
<li>54% разработчиков не проводят тестирование безопасности образов Docker.</li>
12
</ul><p>Отвечая на вопрос, зачем внедрять DevSecOps в компании - для решения следующих проблем:</p>
12
</ul><p>Отвечая на вопрос, зачем внедрять DevSecOps в компании - для решения следующих проблем:</p>
13
<ol><li>Безопасность становится частью разработки и не является больше задачей, которая решается после завершения разработки.</li>
13
<ol><li>Безопасность становится частью разработки и не является больше задачей, которая решается после завершения разработки.</li>
14
<li>Более быстрое выявление и реагирование на уязвимости из-за эффективного взаимодействия команд и интеграции безопасности в процесс разработки, что упрощает обнаружение и устранение уязвимостей до их использования злоумышленниками.</li>
14
<li>Более быстрое выявление и реагирование на уязвимости из-за эффективного взаимодействия команд и интеграции безопасности в процесс разработки, что упрощает обнаружение и устранение уязвимостей до их использования злоумышленниками.</li>
15
<li>Улучшение качества ПО - использование непрерывной интеграции и непрерывной доставки для более быстрой и стабильной разработки.</li>
15
<li>Улучшение качества ПО - использование непрерывной интеграции и непрерывной доставки для более быстрой и стабильной разработки.</li>
16
<li>Повышение эффективности процесса разработки - DevSecOps способствует ускорению процесса разработки путем автоматизации процессов и интеграции инструментов безопасности.</li>
16
<li>Повышение эффективности процесса разработки - DevSecOps способствует ускорению процесса разработки путем автоматизации процессов и интеграции инструментов безопасности.</li>
17
</ol><p><strong>Как</strong><strong>DevSecOps</strong><strong>может повлиять на бизнес?</strong></p>
17
</ol><p><strong>Как</strong><strong>DevSecOps</strong><strong>может повлиять на бизнес?</strong></p>
18
<p>Исправление ошибок на этапах эксплуатации или внедрения намного дороже, чем исправление уязвимостей на более ранних этапах. Чем раньше будет выявлена уязвимость, тем дешевле обойдется компании ее исправление, вспомним про Shift Security Left (сдвиг безопасности влево), играющий важную экономическую роль.</p>
18
<p>Исправление ошибок на этапах эксплуатации или внедрения намного дороже, чем исправление уязвимостей на более ранних этапах. Чем раньше будет выявлена уязвимость, тем дешевле обойдется компании ее исправление, вспомним про Shift Security Left (сдвиг безопасности влево), играющий важную экономическую роль.</p>
19
<ul><li>Основная выгода DevSecOps для бизнеса - в экономии времени и бюджета на проверки приложений службой ИБ, а также в большей гарантии защиты от критических инцидентов, связанных, в том числе, с Zero Day. Инструменты, такие как SAST, SCA могут автоматически тестировать каждый новый фрагмент кода в пайплайне;</li>
19
<ul><li>Основная выгода DevSecOps для бизнеса - в экономии времени и бюджета на проверки приложений службой ИБ, а также в большей гарантии защиты от критических инцидентов, связанных, в том числе, с Zero Day. Инструменты, такие как SAST, SCA могут автоматически тестировать каждый новый фрагмент кода в пайплайне;</li>
20
<li>Согласно отчету Google Accelerate State of DevOps 2021, в командах, применяющих принципы работы DevSecOps, развертывание кода происходит в 973 раза чаще, а восстановление после инцидента - в несколько тысяч раз быстрее.</li>
20
<li>Согласно отчету Google Accelerate State of DevOps 2021, в командах, применяющих принципы работы DevSecOps, развертывание кода происходит в 973 раза чаще, а восстановление после инцидента - в несколько тысяч раз быстрее.</li>
21
</ul><p>Выделим ключевые особенности внедрения DevSecOps, которые могут повлиять на бизнес-результаты и принести ряд преимуществ:</p>
21
</ul><p>Выделим ключевые особенности внедрения DevSecOps, которые могут повлиять на бизнес-результаты и принести ряд преимуществ:</p>
22
<ol><li>Более быстрая и надежная разработка позволяет уменьшить время выхода ПО на рынок (или же time-to-market) и улучшить качество продукта.</li>
22
<ol><li>Более быстрая и надежная разработка позволяет уменьшить время выхода ПО на рынок (или же time-to-market) и улучшить качество продукта.</li>
23
<li>Меньшие затраты на обслуживание и управление рисками: то есть выявлять и устранять уязвимости в процессе разработки, что позволяет снизить затраты на их обслуживание и риск возникновения серьезных проблем.</li>
23
<li>Меньшие затраты на обслуживание и управление рисками: то есть выявлять и устранять уязвимости в процессе разработки, что позволяет снизить затраты на их обслуживание и риск возникновения серьезных проблем.</li>
24
<li>Более эффективная коммуникация и сотрудничество, что может улучшить качество проектов и повысить удовлетворенность клиентов.</li>
24
<li>Более эффективная коммуникация и сотрудничество, что может улучшить качество проектов и повысить удовлетворенность клиентов.</li>
25
<li>Более быстрая реакция на изменения, что может улучшить конкурентоспособность компании и ее результаты.</li>
25
<li>Более быстрая реакция на изменения, что может улучшить конкурентоспособность компании и ее результаты.</li>
26
<li>Лучшая видимость и контроль над процессом разработки для повышения уровня управляемости и улучшения прогнозируемости результатов.</li>
26
<li>Лучшая видимость и контроль над процессом разработки для повышения уровня управляемости и улучшения прогнозируемости результатов.</li>
27
</ol><p><strong>С чего начать развитие культуры</strong><strong>DevSecOps</strong><strong>, ключевые составляющие?</strong></p>
27
</ol><p><strong>С чего начать развитие культуры</strong><strong>DevSecOps</strong><strong>, ключевые составляющие?</strong></p>
28
<p>Люди:</p>
28
<p>Люди:</p>
29
<p>Обучение сотрудников безопасности автоматизации, контролю качества кода, настройке и мониторингу инфраструктуры и т. д. Кроме того, важно организовывать семинары, тренинги и конференции для обмена опытом и обсуждения лучших практик. Также хорошей практикой будет создать базу знаний (или playbooks) на Confluence, например, и соответствующие ВНД. И не менее важный шаг - выращивание security champion’ов в каждой команде разработчиков. Очень важно взаимодействие и понимание между участниками процесса.</p>
29
<p>Обучение сотрудников безопасности автоматизации, контролю качества кода, настройке и мониторингу инфраструктуры и т. д. Кроме того, важно организовывать семинары, тренинги и конференции для обмена опытом и обсуждения лучших практик. Также хорошей практикой будет создать базу знаний (или playbooks) на Confluence, например, и соответствующие ВНД. И не менее важный шаг - выращивание security champion’ов в каждой команде разработчиков. Очень важно взаимодействие и понимание между участниками процесса.</p>
30
<p>Еще хочу упомянуть про сдвиг в мышлении (mindshift left): нужно не только предотвращать нарушения, но и предполагать их.</p>
30
<p>Еще хочу упомянуть про сдвиг в мышлении (mindshift left): нужно не только предотвращать нарушения, но и предполагать их.</p>
31
<p>Процессы:</p>
31
<p>Процессы:</p>
32
<ul><li>Анализ текущего состояния процессов разработки, безопасности и эксплуатации в организации. Это поможет определить сильные и слабые стороны и найти области, которые необходимо улучшить, например, используя BSIMM-фреймворк. Также процессы безопасности будут интегрированы в каждый этап разработки, а не будут добавлены как дополнительный шаг. Например, процессы проверки кода на безопасность и уязвимости могут быть интегрированы в автоматизированные процессы сборки и развертывания;</li>
32
<ul><li>Анализ текущего состояния процессов разработки, безопасности и эксплуатации в организации. Это поможет определить сильные и слабые стороны и найти области, которые необходимо улучшить, например, используя BSIMM-фреймворк. Также процессы безопасности будут интегрированы в каждый этап разработки, а не будут добавлены как дополнительный шаг. Например, процессы проверки кода на безопасность и уязвимости могут быть интегрированы в автоматизированные процессы сборки и развертывания;</li>
33
<li>Коммуникация и сотрудничество - подход, который предполагает более тесное сотрудничество между различными отделами компании, такими как разработка, тестирование, безопасность и эксплуатация.</li>
33
<li>Коммуникация и сотрудничество - подход, который предполагает более тесное сотрудничество между различными отделами компании, такими как разработка, тестирование, безопасность и эксплуатация.</li>
34
</ul><p>Инструменты:</p>
34
</ul><p>Инструменты:</p>
35
<p>Важно использовать правильные инструменты (подходящие под инфраструктуру и требования) и технологии в процессе разработки, такие как сканеры уязвимостей, инструменты анализа кода и другие, которые могут обнаруживать и предотвращать уязвимости в приложении. Необходимо учитывать при выборе инструмента: будет ли он работать с нынешним CI/CD (Gitlab, Jenkins, CircleCI и др.), как много ложных сработок, будет ли работать с определенным ЯП (в случае SAST). </p>
35
<p>Важно использовать правильные инструменты (подходящие под инфраструктуру и требования) и технологии в процессе разработки, такие как сканеры уязвимостей, инструменты анализа кода и другие, которые могут обнаруживать и предотвращать уязвимости в приложении. Необходимо учитывать при выборе инструмента: будет ли он работать с нынешним CI/CD (Gitlab, Jenkins, CircleCI и др.), как много ложных сработок, будет ли работать с определенным ЯП (в случае SAST). </p>
36
<p>Чтобы развивать культуру DevSecOps, необходимо постоянно улучшать процессы и методологии. Это включает в себя изучение лучших практик, анализ проблем и ошибок и постоянный поиск путей для улучшения.</p>
36
<p>Чтобы развивать культуру DevSecOps, необходимо постоянно улучшать процессы и методологии. Это включает в себя изучение лучших практик, анализ проблем и ошибок и постоянный поиск путей для улучшения.</p>
37
<p><strong>Какие основные этапы внедрения</strong><strong>DevSecOps</strong><strong>?</strong></p>
37
<p><strong>Какие основные этапы внедрения</strong><strong>DevSecOps</strong><strong>?</strong></p>
38
<p>6 основных этапов внедрения:</p>
38
<p>6 основных этапов внедрения:</p>
39
<ul><li>Оценка текущего состояния безопасности: выявление уязвимостей и рисков, а также определение потенциальных угроз, используя фреймворки, например, BSIMM или OWASP OpenSAMM;</li>
39
<ul><li>Оценка текущего состояния безопасности: выявление уязвимостей и рисков, а также определение потенциальных угроз, используя фреймворки, например, BSIMM или OWASP OpenSAMM;</li>
40
<li>Планирование и проектирование: разработка стратегии внедрения DevSecOps в организацию, определение целей и приоритетов, выбор инструментов и методов внедрения;</li>
40
<li>Планирование и проектирование: разработка стратегии внедрения DevSecOps в организацию, определение целей и приоритетов, выбор инструментов и методов внедрения;</li>
41
<li>Внедрение процессов безопасности: создание или усовершенствование процессов безопасности, включающие в себя процессы тестирования, мониторинга, анализа и управления уязвимостями;</li>
41
<li>Внедрение процессов безопасности: создание или усовершенствование процессов безопасности, включающие в себя процессы тестирования, мониторинга, анализа и управления уязвимостями;</li>
42
<li>Обучение и развитие сотрудников: осведомленность сотрудников о том, как использовать инструменты безопасности и как интегрировать процессы безопасности в жизненный цикл разработки приложений (SDL);</li>
42
<li>Обучение и развитие сотрудников: осведомленность сотрудников о том, как использовать инструменты безопасности и как интегрировать процессы безопасности в жизненный цикл разработки приложений (SDL);</li>
43
<li>Интеграция DevSecOps в CI/CD (SDL): добавить SAST/SCA, DAST анализаторы в первой итерации;</li>
43
<li>Интеграция DevSecOps в CI/CD (SDL): добавить SAST/SCA, DAST анализаторы в первой итерации;</li>
44
<li>Мониторинг и оптимизация: постоянный мониторинг процессов безопасности и анализ результатов для оптимизации их в соответствии с требованиями организации.</li>
44
<li>Мониторинг и оптимизация: постоянный мониторинг процессов безопасности и анализ результатов для оптимизации их в соответствии с требованиями организации.</li>
45
</ul><p>Каждый этап внедрения DevSecOps важен и требует серьезной работы, и подготовки. Успешное внедрение в организации поможет повысить безопасность приложений и снизить риски инцидентов безопасности, а также улучшить качество и скорость разработки и эксплуатации приложений.</p>
45
</ul><p>Каждый этап внедрения DevSecOps важен и требует серьезной работы, и подготовки. Успешное внедрение в организации поможет повысить безопасность приложений и снизить риски инцидентов безопасности, а также улучшить качество и скорость разработки и эксплуатации приложений.</p>
46
<p><strong>Используемые технологии/Фреймворки</strong></p>
46
<p><strong>Используемые технологии/Фреймворки</strong></p>
47
<p>Необходимо поэтапно внедрять инструменты и фреймворки, чтобы не увеличивать time-to-market и не добавлять дополнительной работы разработчикам. Рекомендуется завершать пайплайн до конца, даже если будут найдены уязвимости на одной из стадий разработки ПО.</p>
47
<p>Необходимо поэтапно внедрять инструменты и фреймворки, чтобы не увеличивать time-to-market и не добавлять дополнительной работы разработчикам. Рекомендуется завершать пайплайн до конца, даже если будут найдены уязвимости на одной из стадий разработки ПО.</p>
48
<ol><li>шаг: Внедрение SSDLC, OSA/SCA, SAST, DAST, Log collection, WAF.</li>
48
<ol><li>шаг: Внедрение SSDLC, OSA/SCA, SAST, DAST, Log collection, WAF.</li>
49
<li>шаг: Threat modeling, secure code standard, container security (harbor), pentest, vulnerability management, SIEM (WAZUH).</li>
49
<li>шаг: Threat modeling, secure code standard, container security (harbor), pentest, vulnerability management, SIEM (WAZUH).</li>
50
<li>шаг: IAC, IAST, IDS/IPS, RASP, ReadTeam, BugBounty.</li>
50
<li>шаг: IAC, IAST, IDS/IPS, RASP, ReadTeam, BugBounty.</li>
51
</ol><a></a><p><strong>Схемы</strong><strong>/</strong><strong>архитектура</strong><strong>: Threat modeling (STRIDE)</strong></p>
51
</ol><a></a><p><strong>Схемы</strong><strong>/</strong><strong>архитектура</strong><strong>: Threat modeling (STRIDE)</strong></p>
52
<p>STRIDE основана на CIA, есть еще DREAD, который присваивает рейтинговую систему на основе вероятности риска, а также PASTA - согласует технические требования с бизнес-целями.</p>
52
<p>STRIDE основана на CIA, есть еще DREAD, который присваивает рейтинговую систему на основе вероятности риска, а также PASTA - согласует технические требования с бизнес-целями.</p>
53
<a></a><p><strong>Схемы/архитектура:</strong><strong>CI</strong><strong>/</strong><strong>CD</strong><strong></strong><strong>pipeline</strong><strong></strong></p>
53
<a></a><p><strong>Схемы/архитектура:</strong><strong>CI</strong><strong>/</strong><strong>CD</strong><strong></strong><strong>pipeline</strong><strong></strong></p>
54
<p><strong>PLAN</strong><strong>:BSIMM</strong>-фреймворк дляопределения уровня безопасности, который имеет 4 основных домена, 12 практик и 122 активности, разделенные на 3 уровня.</p>
54
<p><strong>PLAN</strong><strong>:BSIMM</strong>-фреймворк дляопределения уровня безопасности, который имеет 4 основных домена, 12 практик и 122 активности, разделенные на 3 уровня.</p>
55
<p><strong>OWASP</strong><strong></strong><strong>SAMM</strong><strong></strong>помогает измерять индивидуальные риски, с которыми сталкивается организация</p>
55
<p><strong>OWASP</strong><strong></strong><strong>SAMM</strong><strong></strong>помогает измерять индивидуальные риски, с которыми сталкивается организация</p>
56
<p><strong>Microsoft SDL</strong>соответствует набору обязательных процедур, встроенных в SDLC.</p>
56
<p><strong>Microsoft SDL</strong>соответствует набору обязательных процедур, встроенных в SDLC.</p>
57
<a></a><p><strong>Выводы</strong></p>
57
<a></a><p><strong>Выводы</strong></p>
58
<p>Внедрение методологии DevSecOps позволит компании ускорить процесс доставки ПО и улучшить уровень безопасности на всех этапах разработки, при этом уменьшить затраты при найденных уязвимостях на более ранних этапах. Для успешной трансформации деятельности необходимо провести:</p>
58
<p>Внедрение методологии DevSecOps позволит компании ускорить процесс доставки ПО и улучшить уровень безопасности на всех этапах разработки, при этом уменьшить затраты при найденных уязвимостях на более ранних этапах. Для успешной трансформации деятельности необходимо провести:</p>
59
<ol><li>Создание плана миграции, который позволит плавно перейти на DevSecOps без прерывания бизнес-процессов; должен включать в себя этапы, расписание и ответственных за реализацию каждого этапа.</li>
59
<ol><li>Создание плана миграции, который позволит плавно перейти на DevSecOps без прерывания бизнес-процессов; должен включать в себя этапы, расписание и ответственных за реализацию каждого этапа.</li>
60
<li>Создание культуры безопасности в организации, чтобы каждый сотрудник осознавал важность безопасности в процессе разработки. Это может включать в себя проведение обучения, разработку политик безопасности и создание команды безопасности.</li>
60
<li>Создание культуры безопасности в организации, чтобы каждый сотрудник осознавал важность безопасности в процессе разработки. Это может включать в себя проведение обучения, разработку политик безопасности и создание команды безопасности.</li>
61
<li>Обучение и обеспечение команды знаниями о DevSecOps - знакомство с лучшими практиками, инструментами и методами, которые позволяют реализовывать безопасный DevOps-цикл разработки.</li>
61
<li>Обучение и обеспечение команды знаниями о DevSecOps - знакомство с лучшими практиками, инструментами и методами, которые позволяют реализовывать безопасный DevOps-цикл разработки.</li>
62
<li>Определение ролей и ответственностей для каждого этапа DevSecOps-цикла. Это позволит убедиться, что каждый вовлеченный в процесс разработки знает, что ему нужно делать, чтобы обеспечить безопасность.</li>
62
<li>Определение ролей и ответственностей для каждого этапа DevSecOps-цикла. Это позволит убедиться, что каждый вовлеченный в процесс разработки знает, что ему нужно делать, чтобы обеспечить безопасность.</li>
63
<li>Интеграция безопасности: безопасность должна быть интегрирована в процесс разработки с самого начала. Это означает, что каждый этап DevOps-цикла должен быть проанализирован с точки зрения безопасности и необходимо использовать инструменты, которые позволяют автоматизировать процессы безопасности.</li>
63
<li>Интеграция безопасности: безопасность должна быть интегрирована в процесс разработки с самого начала. Это означает, что каждый этап DevOps-цикла должен быть проанализирован с точки зрения безопасности и необходимо использовать инструменты, которые позволяют автоматизировать процессы безопасности.</li>
64
</ol><p>Команда DevSecOps будет играть важную роль в управлении проектами и обеспечении качества, надежности проектов, а также уменьшении time-to-market. Это длительный процесс, ведь даже безболезненное внедрение SAST может занять до полугода.</p>
64
</ol><p>Команда DevSecOps будет играть важную роль в управлении проектами и обеспечении качества, надежности проектов, а также уменьшении time-to-market. Это длительный процесс, ведь даже безболезненное внедрение SAST может занять до полугода.</p>
65
<p>Хотите знать больше про DevSecOps? Добро пожаловать на<a>специализированный курс в Otus</a>!</p>
65
<p>Хотите знать больше про DevSecOps? Добро пожаловать на<a>специализированный курс в Otus</a>!</p>
66
66