Многие эксперты в области кибербезопасности убеждены, что наиболее перспективный подход к обеспечению безопасности программно-аппаратных систем — это конструктивная безопасность (англ. Security by Design), когда меры безопасности предусматриваются на уровне архитектуры и дизайна системы. Этот подход противопоставляется традиционному использованию внешних (наложенных) мер защиты, применяемых к изначально небезопасным системам.
Однако сегодня идеология конструктивной безопасности пока не нашла широкого практического применения и используется преимущественно в узкоспециализированных системах, чаще всего в таких, где критична физическая безопасность. Идеология конструктивной безопасности в индустрии программно-аппаратных систем рассматривается скорее как перспективный подход, который еще предстоит проработать для повсеместного внедрения.
Современный кибермир стремительно трансформируется, и не последнюю роль в этой трансформации играет ИИ. Само понимание безопасности становится шире, а ее достижение — сложнее. В таких условиях конструктивная безопасность перестает быть просто желательным подходом на перспективу. Вместо этого она становится неизбежной парадигмой, следовать которой необходимо уже сегодня, чтобы поспевать за теми изменениями, которые уже произошли и продолжают происходить.
В данной статье будет рассмотрено, почему интеграция средств безопасности на этапе проектирования имеет решающее значение для того, чтобы справляться с современными кибер-угрозами. В частности, будет рассмотрено, как распространение ИИ меняет ландшафт кибербезопасности и почему это делает идеологию конструктивной безопасности еще более важной.
Современный технологический ландшафт характеризуется стремительным взаимным проникновением (конвергенцией) всех видов операционных (OT) и информационных (IT) технологий. «Умными» уже стали дома людей, а сейчас становятся автомобили, самолеты, системы транспорта, промышленности и управления.
Это приводит к изменению природы сетей устройств — сети становятся все более гетерогенными.
По мере развития интернета вещей (IoT), в частности, промышленного (IIoT), кардинально меняется связность и доступность систем. Доступность систем становится глобальной, позволяя управлять отдельными устройствами и целыми системами удаленно, из любой точки мира.
Высокая связность систем и их отдельных элементов приводит к быстрому (и иногда непредсказуемому) распространению как атаки злоумышленника, так и последствий сбоя. Дополнительные угрозы в сфере IoT/IIoT возникают вследствие сложности обновления самого ПО устройств, особенно если количество таких устройств велико, они распределены географически, работают на разнородном ПО, не имеют единого источника обновления. Как следствие, ПО либо не обновляется, либо обновляется не вовремя, либо обновление требует существенных затрат.
Технологии высокоскоростных систем связи (такие как LTE и 5G, например) смещают фокус с передачи контента между пользователями к высокоскоростным коммуникациям между киберфизическими системами. Собственно говоря, эта парадигма непосредственно заложена в архитектуру 5G, ее разработчики прогнозируют увеличение числа соединений на три порядка в течение ближайших нескольких лет и такое же увеличение объема передаваемых данных.
Усложнение систем обусловлено радикальным увеличением числа выполняемых ими функций. В свою очередь, усложнение приводит к значительному увеличению как общего объема программного кода системы, так и объема переиспользуемого чужого кода. Код переиспользовался и раньше, но не в таких масштабах — количество переходит в качество. Увеличение общего объема программного кода, и в особенности переиспользуемого, делают практически невозможными доказательные утверждения о корректности и безопасности системы.
Происходящие в мире технологические изменения не просто усугубляют проблемы кибербезопасности. Они меняют само понятие «безопасность», делают его значительно шире. Угрозы сегодня выходят за рамки только информационной безопасности (security) и затрагивают функциональную безопасность (safety), приватность (privacy), надежность (reliability), устойчивость (resilience) и другие аспекты безопасности.
Взлом IT-части системы может приводить к физическому ущербу и отказу важных подсистем. Соответственно, изменяется и характер рисков, которые затрагивают не только данные и работу информационных систем, но и функционирование предприятий, финансы, жизни и здоровье людей.
В этих условиях проектирование программно-аппаратных систем без учета требований безопасности несет в себе все больше рисков, а иногда становится и вовсе неприемлемым.
В частности, общепринятый подход «инцидент—расследование—контрмера» во многих областях больше не подходит, ведь ущерб даже от единичного (первого) инцидента может быть непредсказуемым и/или неприемлемыми.
Кроме того, применение дополнительных (наложенных) средств защиты по отношению к изначально небезопасной системе далеко не всегда возможно. Например, в IoT/IIoT-устройствах вследствие их конструктивных особенностей и из экономических соображений часто не предполагается использование антивирусного ПО, экранов, средств мониторинга и т. п. Кроме этого, наложенные средства защиты интегрируются в систему на очень низком уровне, часто используют недокументированные возможности и «хакерские» методы, что само по себе достаточно опасно из-за возможности внесения при этом ошибок или других неожиданных последствий.
Повсеместное распространение искусственного интеллекта дополнительно стимулирует и ускоряет описанные выше изменения. Какую роль искусственный интеллект играет в трансформации безопасности современных систем, будет рассмотрено в следующем разделе.
В обывательском понимании, говоря про искусственный интеллект, часто подразумевают нейросетевой искусственный интеллект. Хотя нейросети — только один из подвидов искусственного интеллекта. Существует огромное количество других его видов, построенных на иных принципах и архитектурах.
Любая тривиальная программа может представлять собой экспертную систему и выполнять некоторые «интеллектуальные» действия, которые автоматизируют и/или заменяют деятельность человека. Например, принимать решение, включить ли тормоз автомобиля, открыть ли люк, поднять ли стрелу на кране.
Даже для выполнения более сложных задач далеко не всегда применяется именно нейросетевой ИИ. Например, в системах искусственного зрения для распознавания образов часто используются различные нелинейные классификаторы, которые вычисляют те или иные признаки, а затем анализируют их с помощью большого числа условий. А для выявления аномалий в работе промышленного оборудования с целью раннего диагностирования неисправностей могут применяться алгоритмы кластеризации, например типа Gaussian Mixture Model (GMM). Сюда же относятся, например, системы нечеткой логики, алгоритм имитации отжига, системы на правилах, алгоритмы на основе поведения колоний (например, алгоритм муравья).
В основе принятия решений в подобных (не нейронных) системах на самом деле лежит множество условий. Они могут быть очень сложными для настройки и тестирования, однако они в принципе проверяемы: можно добиться 100% тестового покрытия, построить формальную модель вычислительного модуля и доказать ее правильность.
Нейросетевой искусственный интеллект построен на базе других механизмов, и именно он создает наиболее значимые и принципиальные проблемы с точки зрения безопасности в современном, широком ее понимании.
В отличие от систем, основанных на явно заданных условиях, нейросетевые решатели невозможно физически протестировать на 100% из-за их комбинаторной сложности. Их работа может быть проверена только статистически, вероятностно. Именно поэтому разработчики нейросетевого ИИ часто признают, что не могут в полной мере объяснить, почему их система принимает именно такие решения, какие принимает, поскольку это определяется миллионами автоматически настроенных коэффициентов.
К слову, таким же свойством принципиальной невозможности 100% тестирования обладают и некоторые не нейронные системы. Например, такие, в которых используются генетические алгоритмы. Генетические алгоритмы, как и нейросети, непроверяемы, так как используют эмерджентные свойства сложной системы (то есть такие свойства, которые возникают из-за взаимодействия элементов системы и не могут быть предсказаны, исходя только из свойств отдельных элементов). В этом смысле генетические алгоритмы схожи с нейросетями.
Итак, хотя для большинства не нейронных (детерминированных) систем доказать корректность их поведения может быть очень сложно, сделать это принципиально возможно. В то же время для систем принятия решений на основе нейросетей и некоторых не нейронных систем (например, для генетических алгоритмов) это сделать невозможно в принципе в силу колоссальной комбинаторной сложности и эмерджентных свойств системы. Такие системы тестируются только статистически (вероятностно), на 100% их протестировать невозможно. Это вносит соответствующие риски, и это нельзя игнорировать.
Применение искусственного интеллекта, особенно на основе нейронных сетей, имеет ряд особенностей и сопряжено с определенными рисками, которые необходимо учитывать при разработке соответствующих систем.
Для создания подсистем на базе ИИ крайне важно обеспечить целостность и аутентичность данных, используемых для обучения. Использование некачественных или искаженных данных может привести к некорректным выводам нейросетевых моделей. Это может повлиять на безопасность систем, которые полагаются на выводы этих моделей.
Невозможно гарантировать 100% корректность работы блоков принятия решений на основе нейросетевого ИИ. Их функционирование основано на статистических моделях, и понятие «правильности» работы нейросети само по себе является сложным и неоднозначным. Кроме того, объем данных для обучения и тестирования часто ограничен, что затрудняет верификацию поведения системы.
Искажение входных данных во время прямой работы модели (генерации или распознавания) может приводить к непредсказуемым и ошибочным результатам на выходе, если похожие флуктуации данных не были представлены в массивах обучающих данных. Нейросети могут быть чувствительны к «неизвестным для них» аномалиям во входных данных.
Уже известны типы атак, основанные на манипуляции входными данными в нейросеть, вроде prompt injection. Например, нейросети в браузерах имеют доступ к API браузера, который они могут использовать для решения задач пользователя. При этом у нейросети есть плохо контролируемые входы, например они могут брать данные со страницы, которую просматривает пользователь. Появились атаки, когда скрытый на странице prompt (искусственно внедренная «подсказка») инструктирует нейросети заходить по заранее подготовленным ссылкам, скачивать файлы и делать другие небезопасные действия на машине пользователя.
Процесс обучения нейросетей и исправления ошибок в них является трудоемким и дорогостоящим. Он требует значительных вычислительных ресурсов и больших объемов размеченных данных.
В силу высокой стоимости обучения (см. п. 4), нейросетевой ИИ, как правило, применяется для решения сложных, нетривиальных задач. Поэтому неверное решение, принятое на основе нейросетевого ИИ, может создать высокие риски.
В современных условиях стремительного развития технологий и роста сложности программно-аппаратных систем концептуально правильным подходом, с нашей точки зрения, является встраивание функций безопасности на этапе проектирования, т.е. следование идеологии конструктивной безопасности (Security by Design).
При этом идеология конструктивной безопасности сама по себе не является инновационной. Она уже в течение десятилетий применяется в важных киберфизических системах, где уровень регулирования безопасности высок. Например, в авиастроении концепция архитектуры IMA (Integrated Modular Avionics) полностью соответствует принципам конструктивной безопасности.
Более того, конструктивная безопасность является вполне естественной идеологией в нашей повсеместной жизни. Например, конструкция электрических удлинителей изначально учитывает необходимость обеспечения безопасности пользователей от поражения электрическим током. Попытки залатать изначально небезопасную конструкцию дополнительными мерами, как правило, неэффективны (источник — «бытовой» пример из отчета «Secure by Design at Google»).
Мы в «Лаборатории Касперского» приводим в пример другой известный принцип, он называется «не стой под стрелой». На предприятии, где для переноса груза используется кран, можно сколь угодно детально регламентировать параметры стрелы, троса и груза. Или можно ввести всего одно правило для сотрудников — не стоять под стрелой. В этом случае остальное станет не таким важным с точки зрения безопасности сотрудников. Второй способ часто оказывается более эффективным. Мы продвигаем в чем-то схожий подход к разработке ПО, при котором создается система, которая не пытается бороться с разными способами попадания груза на голову, а не допускает попадание актива (головы) в опасные состояния («под стрелой»).
Идеология Secure by Design в сфере создания программно-аппаратных систем пока не получила широкого применения. Мы видим несколько причин. Первая — непривычность парадигмы Shift Left, которая давала бы возможность включить подход Secure by Design, привычка решать проблему «потом», полагаясь на наложенные средства защиты. Вторая причина — недостаточная методическая проработанность Secure by Design. Третья — то, что интеграция свойств безопасности в архитектуру и дизайн системы неизбежно несет дополнительные затраты. По нашему опыту, эти дополнительные вложения на начальном этапе могут позволить снизить полную стоимость владения системой (Total Cost of Ownerwhip — TCO), но это необходимо считать для каждого проекта индивидуально.
Выделим главное из вышесказанного: необходима простая и экономически эффективная методология, которая позволит системно воплощать идеологию Secure by Design для широкого класса программно-аппаратных систем в различных индустриях. Кибериммунный подход к разработке от «Лаборатории Касперского» претендует на решение этой задачи.
Задачей кибериммунного подхода является создание кибериммунной системы —программно-аппаратной системы, декларированные активы которой защищены от нежелательных событий при любых условиях, даже под атакой, при условии заданных ограничений.
Кибериммунный подход состоит из двух частей, нацеленных на методическое обеспечение подхода Security by Design:
Разбор деталей реализации кибериммунного подхода не является предметом данной статьи. С ним можно ознакомиться в отдельной статье. В данной же статье в качестве примера будет рассмотрена одна важная архитектурная особенность кибериммунного подхода, которая позволяет бороться с рисками, связанными с ИИ.
Как было рассмотрено выше, системы, имеющие в своем составе нейросетевой ИИ, невозможно верифицировать на 100% в силу комбинаторной сложности. Поэтому они не могут быть доверенными компонентами по своей природе.
Следовательно, нужно, чтобы у таких подсистем не было возможности перевести систему в недопустимые опасные состояния. Это необходимо обеспечить на уровне архитектуры.
Именно так мы делаем в кибериммунном подходе. Все компоненты кибериммунной системы делятся на три группы — в соответствии с поставленными целями безопасности.
Недоверенные компоненты размещаются на границе системы, доверенные — в самом центре, а высокодоверенные — между ними.
При такой расстановке для недоверенных компонентов достаточно только базовой защиты и проверки, ведь от них достижение целей безопасности не зависит. Требования к защите и проверке доверенных компонентов по определению высоки, но их можно смягчить, поскольку эти компоненты прикрыты высокодоверенными и оказываются как бы в тылу. И только сами высокодоверенные компоненты, которых обычно немного, необходимо защищать и проверять максимально тщательно.
ИИ должен быть недоверенным компонентом. А специально выделенные доверенные компоненты проверяют решения ИИ на безопасность — не приведут ли они к переходу системы в опасное состояние. Если переведут, команды (решения) ИИ блокируются.
Таким образом, получается неоднородная система, в которой тщательно защищать и проверять нужно только малую долю компонентов. Это соответствует принципу Парето.
Такой метод используется при разработке кибериммунных решений. Он помогает создать систему, которой можно доверять, из компонентов, большинству которых доверять нельзя.
В условиях стремительно развивающегося технологического ландшафта уже не обойтись одними только традиционными методами киберзащиты, когда к изначально небезопасным системам применяются наложенные меры защиты. Необходимо взять за основу идеологию конструктивной безопасности, которая предусматривает защиту ключевых активов с самого начала проектирования систем и снижает риски, связанные с ИИ и другими передовыми технологиями. Кибериммунный подход представляет собой методологию для практической реализации идеологии конструктивной безопасности.
На наш взгляд, с течением времени и по мере усугубления проблем кибербезопасности идеология конструктивной безопасности будет становиться все более решающей для построения надежных киберфизических систем. Если мы учтем ее принципы сейчас, мы сможем создать более безопасное технологическое будущее и, в том числе, в полной мере реализовать потенциал ИИ.
Многие эксперты в области кибербезопасности убеждены, что наиболее перспективный подход к обеспечению безопасности программно-аппаратных систем — это конструктивная безопасность (англ. Security by Design), когда меры безопасности предусматриваются на уровне архитектуры и дизайна системы. Этот подход противопоставляется традиционному использованию внешних (наложенных) мер защиты, применяемых к изначально небезопасным системам.
Однако сегодня идеология конструктивной безопасности пока не нашла широкого практического применения и используется преимущественно в узкоспециализированных системах, чаще всего в таких, где критична физическая безопасность. Идеология конструктивной безопасности в индустрии программно-аппаратных систем рассматривается скорее как перспективный подход, который еще предстоит проработать для повсеместного внедрения.
Современный кибермир стремительно трансформируется, и не последнюю роль в этой трансформации играет ИИ. Само понимание безопасности становится шире, а ее достижение — сложнее. В таких условиях конструктивная безопасность перестает быть просто желательным подходом на перспективу. Вместо этого она становится неизбежной парадигмой, следовать которой необходимо уже сегодня, чтобы поспевать за теми изменениями, которые уже произошли и продолжают происходить.
В данной статье будет рассмотрено, почему интеграция средств безопасности на этапе проектирования имеет решающее значение для того, чтобы справляться с современными кибер-угрозами. В частности, будет рассмотрено, как распространение ИИ меняет ландшафт кибербезопасности и почему это делает идеологию конструктивной безопасности еще более важной.
Современный технологический ландшафт характеризуется стремительным взаимным проникновением (конвергенцией) всех видов операционных (OT) и информационных (IT) технологий. «Умными» уже стали дома людей, а сейчас становятся автомобили, самолеты, системы транспорта, промышленности и управления.
Это приводит к изменению природы сетей устройств — сети становятся все более гетерогенными.
По мере развития интернета вещей (IoT), в частности, промышленного (IIoT), кардинально меняется связность и доступность систем. Доступность систем становится глобальной, позволяя управлять отдельными устройствами и целыми системами удаленно, из любой точки мира.
Высокая связность систем и их отдельных элементов приводит к быстрому (и иногда непредсказуемому) распространению как атаки злоумышленника, так и последствий сбоя. Дополнительные угрозы в сфере IoT/IIoT возникают вследствие сложности обновления самого ПО устройств, особенно если количество таких устройств велико, они распределены географически, работают на разнородном ПО, не имеют единого источника обновления. Как следствие, ПО либо не обновляется, либо обновляется не вовремя, либо обновление требует существенных затрат.
Технологии высокоскоростных систем связи (такие как LTE и 5G, например) смещают фокус с передачи контента между пользователями к высокоскоростным коммуникациям между киберфизическими системами. Собственно говоря, эта парадигма непосредственно заложена в архитектуру 5G, ее разработчики прогнозируют увеличение числа соединений на три порядка в течение ближайших нескольких лет и такое же увеличение объема передаваемых данных.
Усложнение систем обусловлено радикальным увеличением числа выполняемых ими функций. В свою очередь, усложнение приводит к значительному увеличению как общего объема программного кода системы, так и объема переиспользуемого чужого кода. Код переиспользовался и раньше, но не в таких масштабах — количество переходит в качество. Увеличение общего объема программного кода, и в особенности переиспользуемого, делают практически невозможными доказательные утверждения о корректности и безопасности системы.
Происходящие в мире технологические изменения не просто усугубляют проблемы кибербезопасности. Они меняют само понятие «безопасность», делают его значительно шире. Угрозы сегодня выходят за рамки только информационной безопасности (security) и затрагивают функциональную безопасность (safety), приватность (privacy), надежность (reliability), устойчивость (resilience) и другие аспекты безопасности.
Взлом IT-части системы может приводить к физическому ущербу и отказу важных подсистем. Соответственно, изменяется и характер рисков, которые затрагивают не только данные и работу информационных систем, но и функционирование предприятий, финансы, жизни и здоровье людей.
В этих условиях проектирование программно-аппаратных систем без учета требований безопасности несет в себе все больше рисков, а иногда становится и вовсе неприемлемым.
В частности, общепринятый подход «инцидент—расследование—контрмера» во многих областях больше не подходит, ведь ущерб даже от единичного (первого) инцидента может быть непредсказуемым и/или неприемлемыми.
Кроме того, применение дополнительных (наложенных) средств защиты по отношению к изначально небезопасной системе далеко не всегда возможно. Например, в IoT/IIoT-устройствах вследствие их конструктивных особенностей и из экономических соображений часто не предполагается использование антивирусного ПО, экранов, средств мониторинга и т. п. Кроме этого, наложенные средства защиты интегрируются в систему на очень низком уровне, часто используют недокументированные возможности и «хакерские» методы, что само по себе достаточно опасно из-за возможности внесения при этом ошибок или других неожиданных последствий.
Повсеместное распространение искусственного интеллекта дополнительно стимулирует и ускоряет описанные выше изменения. Какую роль искусственный интеллект играет в трансформации безопасности современных систем, будет рассмотрено в следующем разделе.
В обывательском понимании, говоря про искусственный интеллект, часто подразумевают нейросетевой искусственный интеллект. Хотя нейросети — только один из подвидов искусственного интеллекта. Существует огромное количество других его видов, построенных на иных принципах и архитектурах.
Любая тривиальная программа может представлять собой экспертную систему и выполнять некоторые «интеллектуальные» действия, которые автоматизируют и/или заменяют деятельность человека. Например, принимать решение, включить ли тормоз автомобиля, открыть ли люк, поднять ли стрелу на кране.
Даже для выполнения более сложных задач далеко не всегда применяется именно нейросетевой ИИ. Например, в системах искусственного зрения для распознавания образов часто используются различные нелинейные классификаторы, которые вычисляют те или иные признаки, а затем анализируют их с помощью большого числа условий. А для выявления аномалий в работе промышленного оборудования с целью раннего диагностирования неисправностей могут применяться алгоритмы кластеризации, например типа Gaussian Mixture Model (GMM). Сюда же относятся, например, системы нечеткой логики, алгоритм имитации отжига, системы на правилах, алгоритмы на основе поведения колоний (например, алгоритм муравья).
В основе принятия решений в подобных (не нейронных) системах на самом деле лежит множество условий. Они могут быть очень сложными для настройки и тестирования, однако они в принципе проверяемы: можно добиться 100% тестового покрытия, построить формальную модель вычислительного модуля и доказать ее правильность.
Нейросетевой искусственный интеллект построен на базе других механизмов, и именно он создает наиболее значимые и принципиальные проблемы с точки зрения безопасности в современном, широком ее понимании.
В отличие от систем, основанных на явно заданных условиях, нейросетевые решатели невозможно физически протестировать на 100% из-за их комбинаторной сложности. Их работа может быть проверена только статистически, вероятностно. Именно поэтому разработчики нейросетевого ИИ часто признают, что не могут в полной мере объяснить, почему их система принимает именно такие решения, какие принимает, поскольку это определяется миллионами автоматически настроенных коэффициентов.
К слову, таким же свойством принципиальной невозможности 100% тестирования обладают и некоторые не нейронные системы. Например, такие, в которых используются генетические алгоритмы. Генетические алгоритмы, как и нейросети, непроверяемы, так как используют эмерджентные свойства сложной системы (то есть такие свойства, которые возникают из-за взаимодействия элементов системы и не могут быть предсказаны, исходя только из свойств отдельных элементов). В этом смысле генетические алгоритмы схожи с нейросетями.
Итак, хотя для большинства не нейронных (детерминированных) систем доказать корректность их поведения может быть очень сложно, сделать это принципиально возможно. В то же время для систем принятия решений на основе нейросетей и некоторых не нейронных систем (например, для генетических алгоритмов) это сделать невозможно в принципе в силу колоссальной комбинаторной сложности и эмерджентных свойств системы. Такие системы тестируются только статистически (вероятностно), на 100% их протестировать невозможно. Это вносит соответствующие риски, и это нельзя игнорировать.
Применение искусственного интеллекта, особенно на основе нейронных сетей, имеет ряд особенностей и сопряжено с определенными рисками, которые необходимо учитывать при разработке соответствующих систем.
Для создания подсистем на базе ИИ крайне важно обеспечить целостность и аутентичность данных, используемых для обучения. Использование некачественных или искаженных данных может привести к некорректным выводам нейросетевых моделей. Это может повлиять на безопасность систем, которые полагаются на выводы этих моделей.
Невозможно гарантировать 100% корректность работы блоков принятия решений на основе нейросетевого ИИ. Их функционирование основано на статистических моделях, и понятие «правильности» работы нейросети само по себе является сложным и неоднозначным. Кроме того, объем данных для обучения и тестирования часто ограничен, что затрудняет верификацию поведения системы.
Искажение входных данных во время прямой работы модели (генерации или распознавания) может приводить к непредсказуемым и ошибочным результатам на выходе, если похожие флуктуации данных не были представлены в массивах обучающих данных. Нейросети могут быть чувствительны к «неизвестным для них» аномалиям во входных данных.
Уже известны типы атак, основанные на манипуляции входными данными в нейросеть, вроде prompt injection. Например, нейросети в браузерах имеют доступ к API браузера, который они могут использовать для решения задач пользователя. При этом у нейросети есть плохо контролируемые входы, например они могут брать данные со страницы, которую просматривает пользователь. Появились атаки, когда скрытый на странице prompt (искусственно внедренная «подсказка») инструктирует нейросети заходить по заранее подготовленным ссылкам, скачивать файлы и делать другие небезопасные действия на машине пользователя.
Процесс обучения нейросетей и исправления ошибок в них является трудоемким и дорогостоящим. Он требует значительных вычислительных ресурсов и больших объемов размеченных данных.
В силу высокой стоимости обучения (см. п. 4), нейросетевой ИИ, как правило, применяется для решения сложных, нетривиальных задач. Поэтому неверное решение, принятое на основе нейросетевого ИИ, может создать высокие риски.
В современных условиях стремительного развития технологий и роста сложности программно-аппаратных систем концептуально правильным подходом, с нашей точки зрения, является встраивание функций безопасности на этапе проектирования, т.е. следование идеологии конструктивной безопасности (Security by Design).
При этом идеология конструктивной безопасности сама по себе не является инновационной. Она уже в течение десятилетий применяется в важных киберфизических системах, где уровень регулирования безопасности высок. Например, в авиастроении концепция архитектуры IMA (Integrated Modular Avionics) полностью соответствует принципам конструктивной безопасности.
Более того, конструктивная безопасность является вполне естественной идеологией в нашей повсеместной жизни. Например, конструкция электрических удлинителей изначально учитывает необходимость обеспечения безопасности пользователей от поражения электрическим током. Попытки залатать изначально небезопасную конструкцию дополнительными мерами, как правило, неэффективны (источник — «бытовой» пример из отчета «Secure by Design at Google»).
Мы в «Лаборатории Касперского» приводим в пример другой известный принцип, он называется «не стой под стрелой». На предприятии, где для переноса груза используется кран, можно сколь угодно детально регламентировать параметры стрелы, троса и груза. Или можно ввести всего одно правило для сотрудников — не стоять под стрелой. В этом случае остальное станет не таким важным с точки зрения безопасности сотрудников. Второй способ часто оказывается более эффективным. Мы продвигаем в чем-то схожий подход к разработке ПО, при котором создается система, которая не пытается бороться с разными способами попадания груза на голову, а не допускает попадание актива (головы) в опасные состояния («под стрелой»).
Идеология Secure by Design в сфере создания программно-аппаратных систем пока не получила широкого применения. Мы видим несколько причин. Первая — непривычность парадигмы Shift Left, которая давала бы возможность включить подход Secure by Design, привычка решать проблему «потом», полагаясь на наложенные средства защиты. Вторая причина — недостаточная методическая проработанность Secure by Design. Третья — то, что интеграция свойств безопасности в архитектуру и дизайн системы неизбежно несет дополнительные затраты. По нашему опыту, эти дополнительные вложения на начальном этапе могут позволить снизить полную стоимость владения системой (Total Cost of Ownerwhip — TCO), но это необходимо считать для каждого проекта индивидуально.
Выделим главное из вышесказанного: необходима простая и экономически эффективная методология, которая позволит системно воплощать идеологию Secure by Design для широкого класса программно-аппаратных систем в различных индустриях. Кибериммунный подход к разработке от «Лаборатории Касперского» претендует на решение этой задачи.
Задачей кибериммунного подхода является создание кибериммунной системы —программно-аппаратной системы, декларированные активы которой защищены от нежелательных событий при любых условиях, даже под атакой, при условии заданных ограничений.
Кибериммунный подход состоит из двух частей, нацеленных на методическое обеспечение подхода Security by Design:
Разбор деталей реализации кибериммунного подхода не является предметом данной статьи. С ним можно ознакомиться в отдельной статье. В данной же статье в качестве примера будет рассмотрена одна важная архитектурная особенность кибериммунного подхода, которая позволяет бороться с рисками, связанными с ИИ.
Как было рассмотрено выше, системы, имеющие в своем составе нейросетевой ИИ, невозможно верифицировать на 100% в силу комбинаторной сложности. Поэтому они не могут быть доверенными компонентами по своей природе.
Следовательно, нужно, чтобы у таких подсистем не было возможности перевести систему в недопустимые опасные состояния. Это необходимо обеспечить на уровне архитектуры.
Именно так мы делаем в кибериммунном подходе. Все компоненты кибериммунной системы делятся на три группы — в соответствии с поставленными целями безопасности.
Недоверенные компоненты размещаются на границе системы, доверенные — в самом центре, а высокодоверенные — между ними.
При такой расстановке для недоверенных компонентов достаточно только базовой защиты и проверки, ведь от них достижение целей безопасности не зависит. Требования к защите и проверке доверенных компонентов по определению высоки, но их можно смягчить, поскольку эти компоненты прикрыты высокодоверенными и оказываются как бы в тылу. И только сами высокодоверенные компоненты, которых обычно немного, необходимо защищать и проверять максимально тщательно.
ИИ должен быть недоверенным компонентом. А специально выделенные доверенные компоненты проверяют решения ИИ на безопасность — не приведут ли они к переходу системы в опасное состояние. Если переведут, команды (решения) ИИ блокируются.
Таким образом, получается неоднородная система, в которой тщательно защищать и проверять нужно только малую долю компонентов. Это соответствует принципу Парето.
Такой метод используется при разработке кибериммунных решений. Он помогает создать систему, которой можно доверять, из компонентов, большинству которых доверять нельзя.
В условиях стремительно развивающегося технологического ландшафта уже не обойтись одними только традиционными методами киберзащиты, когда к изначально небезопасным системам применяются наложенные меры защиты. Необходимо взять за основу идеологию конструктивной безопасности, которая предусматривает защиту ключевых активов с самого начала проектирования систем и снижает риски, связанные с ИИ и другими передовыми технологиями. Кибериммунный подход представляет собой методологию для практической реализации идеологии конструктивной безопасности.
На наш взгляд, с течением времени и по мере усугубления проблем кибербезопасности идеология конструктивной безопасности будет становиться все более решающей для построения надежных киберфизических систем. Если мы учтем ее принципы сейчас, мы сможем создать более безопасное технологическое будущее и, в том числе, в полной мере реализовать потенциал ИИ.