Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Требования по безопасности в архитектуре ПО

Требования по безопасности в архитектуре ПО

Доклад Кирилла Иванова (Positive Technologies) о требованиях по безопасности в архитектуре ПО, принципах построения архитектуры и многом другом на PHDays VII.

Avatar for Positive Development User Group

Positive Development User Group

September 25, 2017
Tweet

More Decks by Positive Development User Group

Other Decks in Programming

Transcript

  1. Заголовок • Производительность • Доступность • Надежность • Удобство использования

    • Легкость изменения • Безопасность • Тестируемость • … Нефункциональные требования
  2. Заголовок • Одноразовые • Разработал и забыл • Постоянные •

    Требуют поддержки при новых изменениях Нефункциональные требования
  3. Заголовок • Конфиденциальность • Приватность • Разграничение доступа • Целостность

    • Подлинность данных • Защита от искажения • Доступность • Аудит Требования по безопасности
  4. Заголовок Сценарий нефункционального требования Источник стимула Неизвестный пользователь Артефакт SSO

    Сервис Измерение реакции Не менее 5 секунд Стимул Вводит логин Реакция Валидирует логин Окружение Онлайн, публичная сеть
  5. Заголовок • Источник стимула • Пользователь • Другая система •

    Стимул • Атака на систему • Артефакт • Сервис в целом • Данные Формулировка требования
  6. Заголовок • Окружение • Онлайн или офлайн • Под нагрузкой

    или нет • Подключена ли к сети • Положение: • в ДМЗ, • за сетевым экраном, • в открытой сети. Формулировка требования
  7. Заголовок • Реакция • Аутентификация пользователей • Авторизация действий •

    Аудит действий • Ведение лога транзакций • Нотификация операторов Формулировка требования
  8. Заголовок • Измерение реакции • Время выполнения операции • Сложность

    восстановления после атаки • Вероятность обнаружения атаки • Скорость/вероятность идентификации источника атаки • Процент доступных сервисов после атаки • Процент потерянных данных Формулировка требования
  9. Заголовок Идентифицированный пользователь с правами администратора изменяет содержимое каталога. При

    штатной работе системы в течение дня возможно определить кто изменил каталог. Хакер изменяет пакет данных к Сервису Б, приходящий от Сервиса А из той же сети, Сервис Б не принимает пакет в обработку, 0% данных изменилось. Примеры формулировок
  10. Заголовок • Надо немного знать ИБ • Заказчик их не

    формулирует • Есть стандарты! • ISO/IEC DTR 10181 • ГОСТ Р ИСО/МЭК ТО 13335 • PCI DSS • … • Необходимо думать в негативном ключе Особенность требований по безопасности
  11. Заголовок Пользователь в банкомате снимает деньги. • А если это

    не он? • Пусть карточка его подтвердит • А если карточка не у него? • Пусть введен ПИН, известный ему • А если он не забрал карточку? • Напоминание, удержание • А если… Негативное мышление: Пример
  12. Заголовок • Все требования не реализуешь • Что делать? •

    Ставим приоритеты в попугаях (Low, Medium, High) • ATAM (Architecture Trade-off Analysis Method) предлагает: • Важность для успеха системы • Сложность разработки (Риск) • Безопасность: Риск атаки для системы и данных Анализ
  13. Заголовок • Защита от атак • Аутентификация пользователей • Авторизация

    пользователей • Поддерживать секретность данных • Поддерживать целостность • Ограничение доступа к ресурсам • Ограничение воздействия • Обнаружение атак • Восстановление после атак • Обнаружение атаки по аудиту • Восстановление данных и работоспособности Проектирование: Тактики
  14. Заголовок • Separation of Concerns • Secured Infrastructure • Hexagonal

    Architecture • Single Sign On • Event Sourcing • GateKeeper (API Gateway) Проектирование: Паттерны и подходы
  15. Заголовок Event Sourcing: метаданные +100р. Вася -50р. Петя +100р. Катя

    -40р. Коля Аудит: Добавим пользователей
  16. Заголовок Event Sourcing: компенсация +100р. Вася -50р. Петя +100р. Катя

    -40р. Коля -100р. Админ Восстановление после сбоя/атаки
  17. Заголовок Тестирование Источник стимула Неизвестный пользователь Артефакт SSO Сервис Измерение

    реакции Не менее 5 секунд Стимул Вводит логин Реакция Валидирует логин Окружение Онлайн, публичная сеть
  18. Заголовок • Software Architecture in Practice (Лен Басс, Пол Клементс,

    и Рик Казман) • ATAM (http://www.sei.cmu.edu/architecture/tools/evaluate/atam.cfm) • Event Sourcing (https://martinfowler.com/eaaDev/EventSourcing.html) • Hexagonal Architecture (http://fideloper.com/hexagonal-architecture) • SOA Pattens (http://arnon.me/soa-patterns/) Что почитать?