Курсы
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
Создайте местное отделение или присоединитесь к существующему, и приглашайте чемпионов учиться и делиться опытом! Это еще один отличный способ пообщаться, встретиться с коллегами и обсудить актуальные проблемы, новости и идеи.
Безопасность мобильных приложений
- Learning-Android-Security
- Безопасность мобильных приложений и тестирование на проникновение
- Advanced Android Development
- Изучите искусство разработки мобильных приложений
Безопасность веб-приложений
- Cross-Site Scripting – Application Security – Google
- Excess XSS: A comprehensive tutorial on cross-site scripting
- Cross-site Scripting (XSS) - OWASP
- XSS Filter Evasion Cheat Sheet - OWASP
- Testing for Cross site scripting - OWASP
- Xssing Web Part - 1
- Xssing Web Part - 2
- IronWASP - Open Source Advanced Web Security Testing Platform: Contexts and Cross-site Scripting - a brief intro
- A Deeper Look into XSS Payloads