Вопросы и ответы

Отвечаем на популярные вопросы о Конструктивной информационной безопасности

Конструктивная информационная безопасность (security by design) — это подход к обеспечению информационной безопасности (ИБ), который предусматривает ИБ системы как ее неотъемлемое свойство, начиная с момента ее замысла, и способствует реализации и поддержанию этого свойства на протяжении всей жизни системы.

Цели информационной безопасности закладываются в соответствии с назначением системы и областью ее применения.

Еще формулировки и мнения:

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

Источник: Проект ГОСТ Р ЗИ Системы с конструктивной информационной безопасностью. Методология разработки

Конструктивная кибербезопасность — это подход, при котором меры безопасности предусматриваются на уровне архитектуры и дизайна системы. Есть мнение, что он противопоставляется традиционному подходу, при котором безопасность становится наложенным средством, а не внутренней частью системы.

Источник: https://www.anti-malware.ru/analytics/Technology_Analysis/Secure-by-Design-AMLive-2024#part2

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

Конструктивная информационная безопасность (security by design) — это понятие, существующее довольно давно. 

Термин может показаться новым, поскольку впервые (около пяти лет назад) англицизм «security bу design» перевели таким образом.

Конструктивные методы в применении к информационной безопасности развиваются уже более 50-ти лет. На практике применяются лишь к системам небольшого размера или в сочетании с другими более масштабируемыми технологиями. Тем не менее, существующие работы в этом направлении указали на важность успешного предотвращения многих проблем на этапе проектирования системы.

Security by design довольно часто переводят на русский язык как «безопасность в силу архитектуры». Этот перевод неверен: в английском языке «архитектура» это architecture. Создание архитектуры является важной частью проектирования и конструирования системы, но не является единственной задачей, в ходе которой нужно иметь в виду требования безопасности.

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

Вывод: «правильная» безопасная архитектура системы является необходимой, но не достаточной для обеспечения безопасности системы конструктивными методами.

Конструктивный подход к построению систем — это набор способов и принципов построения системы, который, в конечном счете, приведет к тому, что система будет обладать требуемым свойством.

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

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

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

Коротко — к любым системам, продуктам и технологиям в современном цифровом мире. Идея состоит в том, чтобы на ранних этапах определить, что означает информационная безопасность для системы, продукта или технологии, то есть описать цели безопасности. Далее необходимо постоянно возвращаться к этим целям, уточнять их на каждом этапе и всевозможными способами проверять, что мы от них не отклонились и реализуем их как должно.

Например, если речь идет о смартфоне — на ранних этапах стоит говорить о безопасности личной жизни его владельца, о минимизации вредоносного ПО, о невозможности утечки данных на уровне интерфейсов и каналов связи. Далее, при детализации замысла и проекта мы уточняем цели для аппаратной составляющей, операционной системы, сервисов и среды запуска приложений. Каждый из этих компонентов сам по себе может быть конструктивно построен с учетом требований безопасности.

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

Предотвращение появления и устранение уязвимостей программного кода может быть достигнуто путем реализации разработчиком программного обеспечения (ПО) мер по безопасной разработке. Множество мер по безопасной разработке включает не только статический и динамический анализ кода, но и установку целей безопасности, и работу с архитектурой ПО, функциональное и нефункциональное тестирование.

Методы безопасной разработки являются неотъемлемой частью конструктивного подхода в применении к программному обеспечению. Конструктивная информационная безопасность применима в более широкой области, например, к программно-аппаратным комплексам, вычислительным сетям, инфраструктурам хранения и обработки данных, отдельным устройствам и системам Интернета вещей.

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

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

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

Да, но это будет заметно не сразу. Информационная безопасность, как и любой другой вид безопасности, требует вложений. Конструктивные подходы могут требовать дополнительных ресурсов на ранних этапах и даже замедлять разработку. Однако на этапе эксплуатации конструктивно безопасные системы более предсказуемы, меньше подвержены сбоям и устойчивы к атакам. Снижение рисков, как правило, приводит к лучшим гарантиям безопасности и экономии в долгосрочной перспективе.

Кроме того, для конструктивно безопасных систем могут быть доступны такие гарантии безопасности, которые невозможно получить иным образом при любых вложениях денег и времени.

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

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

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

Обычно атакам на компьютерные системы и подключенные инфраструктуры противостоят специально разработанные средства защиты (антивирусы, средства предотвращения атак). Ни для кого секрет, что часто, несмотря на использование таких средств, инциденты информационной безопасности всё равно происходят. Количество и разнообразие подключённых устройств и систем растёт, вместе с чем увеличивается и сложность применения средств защиты. Для некоторых систем подобных средств просто нет, либо они не могут быть применены из-за специальных условий и ограничений. Актуальный вопрос об информационной безопасности систем приводит нас к необходимости пересмотреть то, как эти системы устроены, и можно ли обеспечить устойчивость к атакам не только «снаружи», но и «изнутри».

Это, тем не менее, не исключает того факта, что существующие средства защиты от компьютерных атак могут использоваться в составе конструктивно безопасных систем и инфраструктур. Они компенсируют остаточные риски и помогают обеспечить эшелонированную защиту.

    Не нашли нужный вопрос?

    Задайте его сами нам на почту.
    Ваш вопрос до 1000 символов