Особенности антивирусной защиты промышленных систем. Анонс безопасной ОС Касперского


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

В то же время, промышленная ИТ-инфраструктура должна решать совершенно другие задачи. В первую очередь речь идет о том, чтобы обеспечивать контроль состояния и управление промышленным оборудованием в реальном времени. В этом случае отказ оборудования, зависшая программа или проблемы в сети могут очень быстро привести к фатальным последствиям — вспомнить хотя бы блэк-аут Восточного побережья США 2003 года, где в глобальной катастрофе виновен во многом отказ системы мониторинга. Поэтому если зараженный корпоративный сервер вполне возможно отключить, а потом, запустившись с внешнего источника, аккуратно почистить его, то для промышленных систем это невозможно, т. к. простой сервера для них недопустим.

В отличие от быстро обновляемых компонентов ИТ-инфраструктуры обычного предприятия промышленное оборудование рассчитано на очень длительный срок службы, в среднем речь идет о сроках в 30-50 лет. Так что значительная часть из работающего сейчас оборудования была разработана и введена в строй десятилетия назад. Системы контроля и управления там не соответствуют современному уровня даже с аппаратной точки зрения (например, поддерживают только аналоговые датчики и не могут работать с цифровым контроллером). Еще печальнее дело обстоит с программной составляющей: очень часто в основе систем до сих пор лежит ОС MS-DOS! Ко всему, обновление промышленного ПО — весьма сложная и нетривиальная задача. Перед применением обновлений их необходимо очень тщательно тестировать на совместимость, чтобы исключить даже теоретическую возможность последующего конфликта и сбоя. Очень часто производитель или эксплуатирующая организация просто полностью запрещают обновление ПО, чтобы сохранить стабильность рабочей среды.

Наконец, часто (причем где угодно, разницы между США и Россией тут практически нет) предприятия используют в работе специализированное ПО для реализации их специфических задач, написанное десятилетия назад. Как правило, в компании уже не осталось на него документации, а разработчики давно уволились, так что остается только молиться, чтобы все продолжало хоть как-то работать.

Если подходить с точки зрения безопасности, то из вышеизложенного можно сделать два вывода:

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

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

Атаки на современные промышленные системы

Перед разговором о защите промышленных систем стоит начать с разговора о противной, так сказать, стороне — о нападении.

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

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

При создании и выпуске в жизнь вирусов их создатели руководствуются в среднем теми же приоритетами.

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

Корпоративные атаки, как правило, сложнее по форме, но главное отличие — цель. Организаторов интересует какое-то определенное предприятие или группа предприятий, а все остальное им уже не очень интересно.

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

  • Сбор информации о системе, схеме ее работы, компонентах, системах защиты и пр. Очень часто на этом этапе работа идет даже не с предприятием-целью, а с его подрядчиками, которые собирали и налаживали ИТ-инфраструктуру (как правило, речь идет о системных интеграторах). У них часто остается очень много нужной информации, при этом они не уделяют большого внимания безопасности этих данных. Кроме того, частенько у них есть возможность входа в защищенную систему заказчика, что позволяет злоумышленникам получить авторизованный доступ в нужную систему.
  • Анализ добытой информации и принятие решения о том, как именно будет осуществляться проникновение. На этом этапе решается, какие уязвимости использовать, какая функциональность вредоносной программы нужна, как именно и на что она будет воздействовать.
  • В случае, если это возможно — тестирование вируса на аналогичной системе, чтобы проверить, что он будет действовать так, как надо.
  • Выбор способа, которым вирус будет запущен в систему.
  • Старт!

Защита корпоративных систем

Учитывая активное распространение вредоносного ПО и рост сетевых атак, участники рынка активно думают над тем, как защитить промышленные системы от вирусных атак. Как правило, они идут по двум направлениям:

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

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

И что же делать?

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

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

Безопасная операционная система Евгения Касперского

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

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

В свою очередь, антивирусы тоже вынуждены все теснее интегрироваться в систему, защищать и контролировать ее критические объекты: проще не дать вирусу распространиться по системе, чем потом ее чистить. В поисках способов надежно защитить систему от проникновения вируса сотрудники «Лаборатории Касперского» опускались все ниже, пытаясь найти некий «островок стабильности», который можно было бы гарантированно контролировать, и уже потом, отталкиваясь от него, расширять защищенную сферу. И пришли к выводу, что в современных системах и сетях такого островка безопасности нет. Все компоненты системы или сети, все интерфейсы и пр. потенциально могут быть скомпрометированы и начать играть на руку вредоносным программам. В разговоре с ведущим разработчиком новой ОС речь шла о промышленной инфраструктуре, но, думаю, ситуация примерно такая же для всех типов систем. Отсюда появился вполне логичный вывод: значит, такой островок, базу для дальнейшей работы, нужно создать самостоятельно.

Безопасная операционная система Касперского, по словам разработчиков, создавалась полностью самостоятельно. По их словам, они внимательно следят за развитием рынка и использовали в работе некоторые удачные идеи, однако реализация и механизмы работы — полностью свои, оригинальные. Так что в основе новой ОС не лежит ни вездесущий Linux, ни нишевые системы типа QNX.

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

Возможности новой системы очень сильно урезаны в пользу безопасности и защитных свойств. По словам Евгения Касперского, эта система не ориентирована на то, чтобы можно было поиграть в Half-Life и заняться видеоредактированием. Однако для тех задач, для которых она создается, ее возможностей должно хватать.

Кроме того, очень сильно ограничены возможности приложений по взаимодействию с системой, и это сознательное ограничение. ОС Касперского будет работать на принципе «что не разрешено — то запрещено», т. е. использовать «белый список» разрешенных команд. Для каждого приложения, внешнего модуля, интерфейса, удаленного терминала и пр. будет создаваться список разрешенных команд, который будет храниться в самой ОС. Таким образом, приложение сможет, например, отправлять только те команды, на которые у него есть разрешение, и только на определенные устройства. Любые запросы и действия, которые явно не прописаны в системе как разрешенные, система будит игнорировать (а может, не только игнорировать, но и «сообщать куда надо»). В качестве такого примера нам приводили систему разрешений, реализованную в ОС Android. Там приложение имеет список системных функций, к которым ему необходим доступ, и при установке пользователь обязан ознакомиться со списком и согласиться на такое взаимодействие. Однако это очень грубая и несовершенная система, имеющая много недостатков.

Причем система может контролировать не только типы инструкций, но и их исполнение в целом. Например, одним из вариантов атаки может быть посылка вирусом такой команды оборудованию, которая переведет его в аварийный режим и выведет из строя. Например, он может дать команду разогнать турбину или центрифугу до 10 000 об/мин, тогда как верхний безопасный предел составляет для нее 7500 об/мин. Если в системе прописан максимальный безопасный предел, то внешнее устройство не сможет отправить на контроллер турбины сигнал о раскрутке до 10 000 об/мин, система просто не пропустит такую команду.

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

По словам Евгения Касперского, на данный момент компания не планирует выпускать ОС на рынок как готовый продукт в коробке, который инсталлировал — и всё. Скорее, создатели видят ее как платформу с набором API. А набор приложений, которые будут на ней работать, зависит в основном от функциональности, которая нужна пользователям этой платформы (т. е. либо производителям промышленного оборудования, либо тем, кто занимается его развертыванием, либо тем, кто им пользуется), поэтому им предлагается разрабатывать его самостоятельно. В этой связи Евгений Касперский несколько раз подчеркивал, что компания не справится с разработкой системы самостоятельно, да и не ставит перед собой такой цели. Вместо этого она приглашает все заинтересованные стороны к тесному сотрудничеству, которое позволит и учесть пожелания участников, и создать более функциональный, удобный и безопасный продукт.

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

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

Что такое ОС Касперского в техническом плане?

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

Итак, ранее мы уже говорили о том, что современные SCADA-системы имеют большое количество дыр. Заниматься выявлением и закрытием уязвимостей — очень долго и дорого (и не всегда возможно), переписывать все платформы с учетом современных требований — еще дольше и дороже. ОС Касперского в этом плане может предложить некую более дешевую, но при этом вполне функциональную альтернативу. Как выразился Евгений, она может «завернуть небезопасную систему в безопасный конверт, который будет отсекать попытки атаки и контролировать внешние коммуникации системы». Это как минимум позволит избежать новых появлений Stuxnet и его аналогов.

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

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

С точки зрения инфраструктуры, ключевой особенностью ОС также должен стать полный контроль всех сетевых коммуникаций в сети предприятия (включая и промышленные устройства, и контрольные станции, и рабочие компьютеры, и все-все-все). В этой связи можно поднять еще один интересный вопрос: понятно, что на рабочие компьютеры почти всегда можно установить промежуточный слой виртуализации и контроля доступа. А вот как быть с устройствами типа датчиков с сетевыми интерфейсами, теми же программируемыми контроллерами, о которых так много говорили представители Лаборатории и другими железками? Там может просто не оказаться возможности установить безопасный слой (или безопасную ОС), которые могли бы контролировать сетевые коммуникации и управление устройством, а также авторизовывать и верифицировать посылаемую им в сеть информацию.

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

Неспровоцированное личное мнение

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

Итак, какие аргументы можно найти в пользу успеха будущей операционной системы с уникальной функциональностью в сфере защиты информации и промышленной инфраструктуры в целом?

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

Во-вторых, сетевых атак на самые разные предприятия будет становиться все больше. И на государственном, и на частном уровне. Тем более, Касперский прямо отметил растущую роль хактивистов, а уж эти ребята гораздо более креативны, чем любые профессионалы или, тем более, госструктуры. Долго ли ждать, пока зеленые помимо приковывания себя к заборам начнут использовать и другие средства воздействия (aka шантажа) против промышленных предприятий?

Однако есть и не менее серьезные аргументы «против»:

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

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

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

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

Заключение

В общем, пока рано делать какие-то выводы о системе — ведь работа еще далека от завершения. Столь же сложно сейчас предсказывать ее успех или неудачу на рынке. Мне лично кажется, что ее путь будет долгим и тернистым, но посмотрим.

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




Дополнительно

iXBT BRAND 2016

«iXBT Brand 2016» — Выбор читателей в номинации «Процессоры (CPU)»:
Подробнее с условиями участия в розыгрыше можно ознакомиться здесь. Текущие результаты опроса доступны тут.

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.