Перейти к содержанию

Курсы

Intro

Учебное пособие по безопасности приложений является частью сервиса IBM AppSec Champion Service. В нем описаны основные шаги для быстрого создания программы Security Champions независимо от размера компании и зрелости существующих процессов безопасности.

Кто должен принимать участие в тренинге по безопасности приложений?

Согласно определению OWASP, чемпионы по безопасности - это "активные члены команды, которые могут помочь принять решение о том, когда привлекать команду безопасности". Они выступают в качестве основного элемента процесса обеспечения безопасности в рамках продукта или услуги и выполняют роль единой точки контакта (SPOC) в команде.

Что входит в программу обучения по безопасности?

  • Активное участие в работе AppSec JIRA и WIKI.
  • Сотрудничать с другими сторонниками безопасности
  • Анализировать влияние "разрушающих изменений", сделанных в других проектах
  • Посещать еженедельные встречи
  • Быть единым контактным лицом для своей команды.
  • Убеждаться в том, что безопасность не препятствует активной разработке или обзорам
  • Помогают в принятии решений по безопасности для своей команды.

Низкое и умеренное влияние на безопасность

  • Имеют право принимать решения
  • Документировать принятые решения в багах или вики.

Высококритичное влияние на безопасность

  • Работать с командой AppSec над стратегиями смягчения последствий.
  • Помощь в QA и тестировании
  • Писать тесты (от юнит-тестов до интеграционных тестов)
  • Помощь в разработке сред CI (Continuous Integration)

Какие преимущества дает компании обучение по безопасности приложений?

Основные преимущества наличия команды чемпионов по безопасности: * Масштабирование безопасности через несколько команд. * Привлечение людей, не связанных с безопасностью. * Создание культуры безопасности

1. Определите команды

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

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

Результатом этого упражнения должна стать страница во внутренней вики с таблицей, например, следующего содержания:

Продукт Команда Технологии Контактное лицо по безопасности (если есть) Руководитель команды Менеджер продукта BTS Комментарии
Продукт1 Alpha Python, Django Джон Смит John Smith Анна Новак HELO Использование инструмента Bandit

2. Определите роль

Основная цель этого шага - выработать осязаемые цели и подготовить четкие описания ролей для будущих security champions. Частично это уже сделано на предыдущем шаге, но подробное описание построения глобальной стратегии безопасности AppSec выходит за рамки данного руководства - пожалуйста, обратитесь к существующим фреймворкам, таким как OWASP SAMM, который предоставляет простой и понятный способ достижения этой цели.

Когда программа AppSec и глобальные цели определены, важно выделить виды деятельности, которые больше всего подходят чемпионам по безопасности, и соотнести их с этими целями. В зависимости от текущего состояния безопасности в вашей организации, это может включать некоторые или все нижеперечисленные действия: - проводить и/или проверять обзоры безопасности в команде - охрана и продвижение лучших практик - поднимать проблемы для оценки рисков в существующем и новом коде - построение моделей угроз для новых функций - проводить и/или проверять автоматическое сканирование - расследовать сообщения о багах - участвовать в научно-исследовательской деятельности

3. Назначьте security-чемпионов

Итак, роли определены, теперь пришло время назначить чемпионов! Чтобы без проблем пройти этот этап, вам необходимо сначала получить одобрение от руководства на всех уровнях - от топ-менеджеров до владельцев продуктов и непосредственных руководителей команд. Несмотря на то что это классический "подход сверху вниз", это очень важная часть, поскольку она гарантирует, что худший аргумент, который вы можете услышать: "У меня не было времени на безопасность", будет устранен. Проведите презентацию определенных ролей, преимуществ для команды и примерного времени, которое чемпион будет тратить на выполнение задач по безопасности - для начала достаточно 20%.

После того как одобрение получено, следующим шагом будет определение потенциальных чемпионов. Сядьте вместе с менеджером команды, выберите кандидатов и проведите мини-интервью с каждым из них. Помните - это не назначение, а выдвижение! Опишите роль, ожидания и стратегию, а также покажите им личные выгоды от того, что они станут чемпионом: * саморазвитие и способность по-другому смотреть на вещи * повышение своей ценности на рынке * повышение качества продукта * посещение конференций по безопасности * стать важной частью мета-команды безопасности * весело проводить время :)

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

Последним шагом здесь будет официальное назначение - добавьте его на мета-страницу команды безопасности, заменив промежуточное "контактное лицо по безопасности" на "Чемпион по безопасности".

4. Установите каналы связи

Назначенные чемпионы не могут работать сами по себе, и лучше всего, когда они действительно чувствуют командный дух. Поэтому следующим шагом будет создание коммуникационных каналов. В зависимости от корпоративной культуры это может быть, например, следующее следующее:

  • частные каналы Slack / IRC
  • команды Keybase
  • групповые чаты Skype
  • группы Yammer
  • списки рассылки

Чем больше, тем лучше, на самом деле - просто убедитесь, что есть простой способ распространить важную информацию и получать обратную связь. Кроме того, периодически устраивайте синхронизацию, чтобы посмотреть, как идут дела, и вместе скорректировать краткосрочные цели. Для начала достаточно встреч раз в две недели.

5. Создайте прочную базу знаний

Главная идея: внутренняя база знаний должна быть основным источником ответов на вопросы, связанные с безопасностью. Помимо страницы мета-команды, которая позволяет любому человеку быстро найти нужный контакт, следующие страницы окажутся весьма полезными: - Глобальная стратегия безопасности - Четко определенные роли и процедуры безопасности - Лучшие практики безопасной разработки - Рекомендуемые криптоалгоритмы - Описание общих рисков и уязвимостей - Парольные политики

Особое внимание следует уделить простым и легко выполнимым контрольным спискам, поскольку это, как правило, самый простой способ начать работу. Примерные контрольные списки могут включать следующее: - Контрольные списки по веб-безопасности / мобильной безопасности - Контрольный список безопасности сторонних разработчиков - Контрольный список безопасности пользовательского интерфейса - Контрольный список конфиденциальности

Хотя создавать все с нуля может быть утомительной задачей, существует ряд проектов с открытым исходным кодом, которые могут значительно облегчить вам жизнь. Проекты OWASP такие как Security Knowledge Framework, ASVS и MASVS, а также лучшие отраслевые практики (например, CERT secure coding standards) станет отличной отправной точкой для повышения вашего KB и может стать основой для первых нескольких внутренних семинаров.

6. Поддерживайте интерес

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

Семинары и тренинги

Периодически проводите семинары для команд, объясняйте стратегию, пропагандируйте лучшие практики, или просто делитесь последними новостями из мира безопасности. Организуйте интерактивную викторину, объявите "Хакерский четверг" или начните "Месяц ошибок". Поговорите с чемпионами и вместе решите, какой формат вам больше всего подходит. Независимо от того, какой формат вы выберете, это, вероятно, самый важный момент во всем Playbook. Поддерживайте их мотивацию, и очень скоро вы будете приятно приятно удивлены!

Регулярные информационные рассылки

Делитесь свежими новостями в области безопасности через установленные каналы связи (например, Ezine weekly appsec compilations). Кроме того, начните ежемесячные информационные бюллетени по безопасности, содержащие новости от команд, планы, благодарности за хорошую работу и любую другую актуальную и интересную информацию - это не только привлечет чемпионов еще больше, но и станет хорошей контрольной точкой для вашей программы безопасности. программа.

Уголок security champions

Создайте отдельное пространство в вашей внутренней вики и добавьте туда специальные страницы, такие как: - календарь конференций (начать здесь) - библиотека хороших книг и статей по безопасности (начало здесь) - слайды с посещенных конференций (или начало здесь) - "комнаты для идей и улучшений"

Местные собрания OWASP

Создайте местное отделение или присоединитесь к существующему, и приглашайте чемпионов учиться и делиться опытом! Это еще один отличный способ пообщаться, встретиться с коллегами и обсудить актуальные проблемы, новости и идеи.

Безопасность мобильных приложений

Безопасность веб-приложений