257.85K

Разработка (посмотреть)

1.

Secure software development
Безопасная разработка
АО Райффайзенбанк
Артем Мерец

2.

Стандарты и требования
• РЕКОМЕНДАЦИИ В ОБЛАСТИ СТАНДАРТИЗАЦИИ БАНКА
РОССИИ: ОБЕСПЕЧЕНИЕ ИНФОРМАЦИОННОЙ
БЕЗОПАСНОСТИ НА СТАДИЯХ ЖИЗНЕННОГО ЦИКЛА
АВТОМАТИЗИРОВАННЫХ БАНКОВСКИХ СИСТЕМ (РС БР
ИББС-2.6 -2014)
• Стандарты индустрии платежных карт (Payment Card
Industry): Software Security Framework, Secure Software
Lifecycle Requirementsand Assessment Procedures
https://cbr.ru/statichtml/file/59420/rs-26-14.pdf
https://www.pcisecuritystandards.org/document_library

3.

Проблематика
• Организации стремительно переходят к использованию ПО, в
особенности веб технологий и мобильных приложений
• Успешные атаки против приложений компаний могут обернуться:
• Финансовыми потерями;
• Нарушить функционирование бизнеса;
• Привести к закрытию бизнеса;
• Раскрытию конфиденциальной информации;
• Репутационный ущерб;
• Мошенническими транзакциями.

4.

Треугольник безопасности
БЕЗОПАСНОСТЬ
ФУНКЦИОНАЛЬНОСТЬ
УДОБСТВО И ПРОСТОТА

5.

Треугольник безопасности
БЕЗОПАСНОСТЬ
ФУНКЦИОНАЛЬНОСТЬ
УДОБСТВО И ПРОСТОТА

6.

Разработка как таковая, конвейер
Требования
Проектирование
Разработка
Тестирование
Развертывание
Поддержка

7.

Место безопасности в разработке?
Тестирование на
проникновение
Требования
Проектирование
Разработка
Тестирование
Развертывание
Поддержка

8.

Смещение влево
https://www.eccouncil.org/programs/certified-application-security-engineer-case/

9.

От чего защищаемся?
Для разных приложений и продуктов могут быть актуальны разные
угрозы и уязвимости.
Чтобы определить что именно является проблемами информационной
безопасности в каждом конкретном случае – применяется практика
построения модели угроз.
Под моделью угроз в общем случае понимают описание (схематичное,
словестное или любое иное) возможных векторов атаки, уязвимостей,
потенциальных способов нарушения КЦД информации.

10.

Пример упрощенной модели угроз
1
1.
2.
3.
4.
5.
2
3
4
Злоумышленник находит уязвимость в публичнодоступном сервере компании;
Захватывает его;
Захватывает соседние сервера;
С них переходит во внутреннюю сеть организации;
Через внутренний Wi-Fi захватывает устройство в защищенном сегменте сети.

11.

Хорошо-известные мировые практики
Методологии о выстраивании контролей безопасности в
процессах разработки программного обеспечения:
• Microsoft Secure Development Lifecycle (SDL)
• OWASP Software Assurance Maturity Model (SAMM)
• Building Security In Maturity Model (BSIMM)
https://www.microsoft.com/en-us/securityengineering/sdl/practices
https://owaspsamm.org/model/
https://www.bsimm.com/about.html

12.

Смещение влево
Анализ кода
(статический, ручной)
Требования
безопасности
Требования
Обучение
Проектирование
Безопасная
архитектура
Разработка
Безопасное
развертывание
Тестирование
Динамический
анализ приложений,
тестирование на
проникновение
Развертывание
Поддержка
Мониторинг
инцидентов ИБ

13.

Обучение
• Необходимость:
разработчики, архитекторы, аналитики, бизнес – все преследуют свои цели
и часто не осведомлены о современных проблемах и угрозах безопасности
• Реализация:
регулярные тренинги по выявлению уязвимостей, обзоры атак
Требования
Проектирование
Разработка
Тестирование
Развертывание
Поддержка

14.

Требования безопасности
• Необходимость:
требования регуляторов и подразделений ИБ непрозрачны
разработки, особенно в виде многостраничных документов
для
• Реализация:
краткие требования по различным областям, чтобы при разработке
функционала было понятно и доступно изложено, что надо учитывать
Требования
Проектирование
Разработка
Тестирование
Развертывание
Поддержка

15.

Безопасная архитектура
• Необходимость:
архитекторы исходят из принципов переиспользования компонентов,
разработчики исходят из удобства, однако, подходить к вопросам
архитектуры необходимо также с учетом целей и методик
злоумышленников, чтобы максимально затруднить потенциальные
реализации угроз
• Реализация:
участие безопасности в архитектурных комитетах
Требования
Проектирование
Разработка
Тестирование
Развертывание
Поддержка

16.

Статический анализ
• Необходимость:
разработчики учатся решать поставленную задачу, критерий выполнения –
приложение выполнят требуемую задачу. Есть ли при этом дефекты
безопасности – не учитывается разработчиками
• Реализация:
автоматизированные инструменты для выявления типичных ошибок
разработчиков и ручная проверка кода
Требования
Проектирование
Разработка
Тестирование
Развертывание
Поддержка

17.

Динамический анализ и pentest
• Необходимость:
разработчики учатся решать поставленную задачу, критерий выполнения –
приложение выполнят требуемую задачу. Есть ли при этом дефекты
безопасности – не учитывается разработчиками.
• Реализация:
автоматизированные инструменты для выявления типичных ошибок
разработчиков и ручная проверка кода . Регулярные тестирования на
проникновения – практика, которая позволяет симулировать процесс
взлома приложения
Требования
Проектирование
Разработка
Тестирование
Развертывание
Поддержка

18.

Безопасное развертывание
• Необходимость:
все контроли, выполненные до этого момента не имеют ценности, если в
итоге продукт будет поставлен другой (отличный от тестируемого), или при
использовании развертывания будут использования небезопасные
компоненты и инструментами
• Реализация:
проектирование и отслеживание реализации процесса вывода доработок
Требования
Проектирование
Разработка
Тестирование
Развертывание
Поддержка

19.

Мониторинг инцидентов
• Необходимость:
после выхода приложения на пользователей – есть риск его взлома.
Приложение, как правило, для злоумышленника – «черный ящик» и
просто сломать в один момент его трудно. Процессу предшествует долгий
этап изучения, сбора информации и пр.
• Реализация:
отслеживание состояния приложения после вывода на пользователей
Требования
Проектирование
Разработка
Тестирование
Развертывание
Поддержка

20.

OWASP
• OWASP Top 10
• OWASP API Security Top 10
• OWASP Mobile Top 10

21.

Пример про треугольник безопасности
• Oracle (язык программирования Java, база данных)
• OWASP Top 10 #1 - инъекции
https://docs.oracle.com/javase/tutorial/jdbc/basics/processingsqlstatements.html

22.

Тенденции и хакеры текущего времени
• Современные компании научились защищать периметр
• Современные компании научились устанавливать обновления
• Вектора атак смещаются в направлении атак на приложения
• около 75% всех атак направлены на веб*
• 2/3 всех веб-приложений имеют уязвимости*
* - данные по отчету компании Gartner https://www.gartner.com/en

23.

Агрессивная среда - Интернет
2020-09-06
03:48:02
более чем из 18 стран
2020-09-07
09:50:54
более 225 устройств
English     Русский Правила