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

Как снизить затраты при проектировании ответов на киберугрозы
Александр Винявский
Технологический евангелист

Известно, что моделирование угроз (процесс поиска потенциальных угроз для системы) и разработка мер для защиты от этих угроз — процесс итеративный и дорогой. Но его можно значительно удешевить.

Посмотрим на задачу как изобретатель

В теории решения изобретательских задач (ТРИЗ) есть такой метод — «инверсия», когда для решения сложной задачи пробуют выполнить что-то наоборот. Например, изменить устоявшийся порядок операций (делать в начале то, что раньше делали в конце), радикально поменять ориентацию объекта (повернуть ось ветряка на 90°) или заменить действие на противоположное (отключать то, что раньше подключали).

По аналогии с этим методом можно ли попробовать перевернуть смысл моделирования угроз с ног на голову? Использовать его не как инструмент поиска возможных угроз для системы, а как инструмент верификации — чтобы подтвердить, что все угрозы уже и так «закрыты». При этом мы начинаем рассматривать безопасность не как надстройку, а как неотъемлемую часть дизайна системы. Именно так подходят к работе в рамках концепции Secure by Design.

Secure by Design: как это работает

Давайте посмотрим, как этот подход работает на практике.

  1. В самом начале нужно в явном виде описать объективные ценности продукта и те потенциальные неприятности, которые могут с ними случиться и которые для нас неприемлемы, — на уровне бизнес-назначения этого продукта. Иными словами, ответить на вопрос: «А что мы защищаем и от чего?»
  2. Понимая, что и от чего мы защищаем, определить цели безопасности: какие свойства системы должны сохраняться при любых обстоятельствах. (Больше о целях безопасности читайте здесь.
  3. Разработать такой дизайн решения, который гарантировал бы достижение поставленных целей безопасности. Сюда относятся: проектирование архитектуры, выбор протоколов, формулирование требований к структурированию и типизации данных и прочие аспекты проектирования. Подробнее про архитектуру кибериммунной системы читайте здесь.
  4. Уже на основе готового проекта, включающего в себя архитектуру решения, провести моделирование угроз. И если мы добросовестно отнеслись к предыдущим этапам, то моделирование должно подтвердить, что все угрозы, которые влияют на достижение целей безопасности, уже «закрыты». А тем угрозам, которые на цели безопасности не влияют, — мы и внимания много уделять не будем, ведь они не критичны. Возможно, на этом этапе мы выявим какие-то упущения, но вряд ли они потребуют пересмотра архитектуры.

Моделирование угроз не для поиска, а для верификации

В таком виде моделирование угроз перестает решать задачу «что делать?», а переходит к решению более «дешевой» — «ничего ли мы не забыли?». В результате проектирование ответов на угрозы становится значительно дешевле. Кроме того, нам не потребуется повторно проводить моделирование угроз для обновленной с учетом прошлых «ошибок» архитектуры — а это дорогого стоит.

Именно так выглядит кибериммунный подход к разработке. Эта на первый взгляд несложная рокировка на самом деле ломает устоявшиеся парадигмы и позволяет не только снизить затраты на разработку и поддержку системы, но и повысить уровень доверия к ней.

Известно, что моделирование угроз (процесс поиска потенциальных угроз для системы) и разработка мер для защиты от этих угроз — процесс итеративный и дорогой. Но его можно значительно удешевить.

Посмотрим на задачу как изобретатель

В теории решения изобретательских задач (ТРИЗ) есть такой метод — «инверсия», когда для решения сложной задачи пробуют выполнить что-то наоборот. Например, изменить устоявшийся порядок операций (делать в начале то, что раньше делали в конце), радикально поменять ориентацию объекта (повернуть ось ветряка на 90°) или заменить действие на противоположное (отключать то, что раньше подключали).

По аналогии с этим методом можно ли попробовать перевернуть смысл моделирования угроз с ног на голову? Использовать его не как инструмент поиска возможных угроз для системы, а как инструмент верификации — чтобы подтвердить, что все угрозы уже и так «закрыты». При этом мы начинаем рассматривать безопасность не как надстройку, а как неотъемлемую часть дизайна системы. Именно так подходят к работе в рамках концепции Secure by Design.

Secure by Design: как это работает

Давайте посмотрим, как этот подход работает на практике.

  1. В самом начале нужно в явном виде описать объективные ценности продукта и те потенциальные неприятности, которые могут с ними случиться и которые для нас неприемлемы, — на уровне бизнес-назначения этого продукта. Иными словами, ответить на вопрос: «А что мы защищаем и от чего?»
  2. Понимая, что и от чего мы защищаем, определить цели безопасности: какие свойства системы должны сохраняться при любых обстоятельствах. (Больше о целях безопасности читайте здесь.
  3. Разработать такой дизайн решения, который гарантировал бы достижение поставленных целей безопасности. Сюда относятся: проектирование архитектуры, выбор протоколов, формулирование требований к структурированию и типизации данных и прочие аспекты проектирования. Подробнее про архитектуру кибериммунной системы читайте здесь.
  4. Уже на основе готового проекта, включающего в себя архитектуру решения, провести моделирование угроз. И если мы добросовестно отнеслись к предыдущим этапам, то моделирование должно подтвердить, что все угрозы, которые влияют на достижение целей безопасности, уже «закрыты». А тем угрозам, которые на цели безопасности не влияют, — мы и внимания много уделять не будем, ведь они не критичны. Возможно, на этом этапе мы выявим какие-то упущения, но вряд ли они потребуют пересмотра архитектуры.

Моделирование угроз не для поиска, а для верификации

В таком виде моделирование угроз перестает решать задачу «что делать?», а переходит к решению более «дешевой» — «ничего ли мы не забыли?». В результате проектирование ответов на угрозы становится значительно дешевле. Кроме того, нам не потребуется повторно проводить моделирование угроз для обновленной с учетом прошлых «ошибок» архитектуры — а это дорогого стоит.

Именно так выглядит кибериммунный подход к разработке. Эта на первый взгляд несложная рокировка на самом деле ломает устоявшиеся парадигмы и позволяет не только снизить затраты на разработку и поддержку системы, но и повысить уровень доверия к ней.

Консультация по решению

Остались вопросы или требуется дополнительная информация по решению? Оставьте заявку на консультацию, и мы с вами свяжемся!

Задать вопрос

Отвечаем на самые популярные вопросы о KasperskyOS и решениях на ее основе

Перейти в FAQ