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

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

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

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

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/) Что почитать?