Моделирования угроз: вверх ногами

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

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

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

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

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

Итак, как этот подход работает на практике:

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

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

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

Ставь 👍, если ты уже используешь подобный подход в процессе разработки.

Моделирования угроз: вверх ногами

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

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

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

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

Итак, как этот подход работает на практике:

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

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

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

Ставь 👍, если ты уже используешь подобный подход в процессе разработки.

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

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

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

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

Перейти в FAQ
Мы используем файлы cookie, чтобы сделать работу с сайтом удобнее.
Продолжая находиться на сайте, вы соглашаетесь с этим. Подробную информацию о файлах cookie можно прочитать здесь.