TGViewer
KasperskyOS KasperskyOS @kosdevs · 1.22K subscribers
Post #509 713
✔️ Новая роль моделирования угроз в процессе разработки

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

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

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

Итак, как этот подход работает на практике:
1️⃣В самом начале нужно в явном виде описать объективные ценности продукта и те потенциальные неприятности, которые могут с ними случиться и которые для нас неприемлемы, — на уровне бизнес-назначения этого продукта. Иными словами, ответить на вопрос: «А что мы защищаем и от чего?»

2️⃣Понимая, что и от чего мы защищаем, определить цели безопасности: какие свойства системы должны сохраняться при любых обстоятельствах. (Больше о целях безопасности читайте здесь.

3️⃣Разработать такой дизайн решения, который гарантировал бы достижение поставленных целей безопасности. Сюда относятся: проектирование архитектуры, выбор протоколов, формулирование требований к структурированию и типизации данных и прочие аспекты проектирования.

4️⃣Уже на основе готового проекта, включающего в себя архитектуру решения, провести моделирование угроз. И если мы добросовестно отнеслись к предыдущим этапам, то моделирование должно подтвердить, что все угрозы, которые влияют на достижение целей безопасности, уже «закрыты». А тем угрозам, которые на цели безопасности не влияют, — мы и внимания много уделять не будем, ведь они не критичны. Возможно, на этом этапе мы выявим какие-то упущения, но вряд ли они потребуют пересмотра архитектуры.

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

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

Ставь 👍, если ты уже используешь подобный подход в процессе разработки.
  • 👍 4
  • 🔥 2
More from @kosdevs
  1. Sep 24, 2026🛡 Завершаем серию о конструктивной информационной безопасности Обсудим, с чего начать, мо…
  2. Sep 22, 2026🖱 Гетерогенный поиск (lookup) в C++ позволяет искать объект в контейнере по другому типу…
  3. Sep 17, 2026Почему виртуальной машине можно выделить больше «ядер», чем физически есть у сервера? Вирт…
  4. Sep 15, 2026📣 Как расследовать киберинцидент внутри автомобиля до отдельных CAN-сообщений? 18 сентябр…
  5. Sep 10, 2026❕ Когда говорят о киберрисках в транспорте, чаще всего вспоминают сценарии с вмешательство…
  6. Sep 8, 2026📌 Два новых патента для безопасности подключенного транспорта Современный автомобиль обме…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →