Как создавать Secure by Design систему, не пытаясь сделать неуязвимым каждый ее компонент?

Александр Винявский
Технологический евангелист

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

Делим компоненты системы на три группы

Решение все же есть: надо разделить все компоненты системы на три группы — в соответствии с поставленными целями безопасности.

  1. Доверенные. От этих компонентов напрямую зависит, будут ли выполнены цели безопасности (если вы не знаете или забыли, что это, — можете прочитать о них здесь).
  2. Высокодоверенные. Такие компоненты повышают доверие к проходящим через них данным.
  3. Недоверенные. Все остальные компоненты.

Выстраиваем группы в нужном порядке и подбираем для них защиту

Важная часть работы тренера в командных видах спорта — эффективно расположить игроков друг относительно друга. Так и здесь: важно расставить три категории компонентов с умом. Недоверенные размещаем на границе системы, доверенные — в самом центре, а высокодоверенные — между ними.

При такой расстановке для недоверенных компонентов достаточно только базовой защиты и проверки, ведь от них достижение целей безопасности не зависит. Требования к защите и проверке доверенных компонентов по определению высоки, но их можно смягчить, поскольку эти компоненты «прикрыты» высокодоверенными и оказываются как бы в тылу. И только сами высокодоверенные компоненты, которых обычно немного, необходимо защищать и проверять максимально тщательно.

Результат: кибериммунная система с минимальными затратами

Таким образом получаем неоднородную систему, в которой тщательно защищать и проверять нужно только малую долю компонентов. Как в принципе Парето: тратя 20% усилий, получаем 80% результата. На практике соотношение может получиться даже лучше.

Именно такой метод «трех маркеров» используется при разработке кибериммунных решений. Он помогает создать систему, которой можно доверять, из компонентов, большинству из которых доверять нельзя. Подробнее про кибериммунный подход к разработке — здесь и в следующих постах.

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

Делим компоненты системы на три группы

Решение все же есть: надо разделить все компоненты системы на три группы — в соответствии с поставленными целями безопасности.

  1. Доверенные. От этих компонентов напрямую зависит, будут ли выполнены цели безопасности (если вы не знаете или забыли, что это, — можете прочитать о них здесь).
  2. Высокодоверенные. Такие компоненты повышают доверие к проходящим через них данным.
  3. Недоверенные. Все остальные компоненты.

Выстраиваем группы в нужном порядке и подбираем для них защиту

Важная часть работы тренера в командных видах спорта — эффективно расположить игроков друг относительно друга. Так и здесь: важно расставить три категории компонентов с умом. Недоверенные размещаем на границе системы, доверенные — в самом центре, а высокодоверенные — между ними.

При такой расстановке для недоверенных компонентов достаточно только базовой защиты и проверки, ведь от них достижение целей безопасности не зависит. Требования к защите и проверке доверенных компонентов по определению высоки, но их можно смягчить, поскольку эти компоненты «прикрыты» высокодоверенными и оказываются как бы в тылу. И только сами высокодоверенные компоненты, которых обычно немного, необходимо защищать и проверять максимально тщательно.

Результат: кибериммунная система с минимальными затратами

Таким образом получаем неоднородную систему, в которой тщательно защищать и проверять нужно только малую долю компонентов. Как в принципе Парето: тратя 20% усилий, получаем 80% результата. На практике соотношение может получиться даже лучше.

Именно такой метод «трех маркеров» используется при разработке кибериммунных решений. Он помогает создать систему, которой можно доверять, из компонентов, большинству из которых доверять нельзя. Подробнее про кибериммунный подход к разработке — здесь и в следующих постах.

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

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

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

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

Перейти в FAQ