"Лаборатория Касперского" создает свою операционную систему
(Духвалов А. П.) ("Право и кибербезопасность", 2012, N 1) Текст документа"ЛАБОРАТОРИЯ КАСПЕРСКОГО" СОЗДАЕТ СВОЮ ОПЕРАЦИОННУЮ СИСТЕМУ
А. П. ДУХВАЛОВ
Духвалов А. П., стратег по развитию технологий ЗАО "Лаборатория Касперского".
Какое-то время назад на IT-рынках поползли слухи о том, что "Лаборатория Касперского" разрабатывает некую операционную систему (ОС). Немногие в это верили, однако в октябре на конференции ITU Telecom World в Дубае Евгений Касперский взбудоражил мировое IT-сообщество презентацией принципиально новой ОС для промышленных объектов под рабочим названием "11.11". Оказалось, создать операционку под силу не только супергигантам типа Microsoft и Oracle. Разумеется, если подходить к задаче нетривиально. Рассматриваются вопросы, проблемы и возможные пути создания "Лабораторией Касперского" своей операционной системы безопасности.
Ключевые слова: операционная система, новационные технологии, кибератаки, эксплойт, индустриальная сфера, "Лаборатория Касперского".
Kaspersky lab creates its own operation al system A. P. Dukhvalov
Some time ago there were rumors at IT markets that Kaspersky Lab is working out some operational system (OS). Few people believed it, however in October at the Conference ITU Telecom World in Dubai Evgenij Kaspersky aroused the international IT community by presentation of principally new OS for industrial objects under working name "11.11". It turned out that not only such giants as Microsoft and Oracle could create an operational system. Certainly if the approach is not vulgar. The article considers the issues, problems and possible ways of creation by Kaspersky Lab of its own operational security system.
Key words: operational system, innovation technologies, cyber-attacks, exploit, industrial sphere, Kaspersky Lab.
Беззащитность промышленных информационных систем. Сегодня многими государствами для достижения политико-экономических целей все шире используются международные кибервозможности. Под такой киберприцел попал не только интернет-банкинг, но и электронная инфраструктура государственных органов, промышленных и военных объектов. Проведение массированных и разрушительных кибератак возможно на атомные электростанции, системы управления энергоснабжением и транспортом, финансовые и телекоммуникационные ресурсы, т. е. на то, что называется критически важными объектами. Масштабные атаки на объекты промышленной инфраструктуры могут реально повергнуть в хаос не одну страну. В этой связи работа над созданием новационных технологий безопасности, а конкретно - над защищенной операционной системой (ОС), предназначенной именно для критически важных информационных систем (Industrial Control Systems, ICS), представляется своевременной и крайне востребованной. При этом отметим, что у промышленных информационных систем и обычных, скажем, офисных компьютерных сетей, несмотря на их кажущееся сходство, совершенно разные приоритеты в плане безопасности и функционирования. В обычных компаниях важнее всего конфиденциальность информации. Например, если на корпоративном файловом сервере обнаружили троян, проще отключить зараженную систему от сети и потом уже разбираться с проблемой. В промышленной информационной системе так сделать не получится, т. к. здесь самый высокий приоритет имеет сохранение работоспособности. На заводе любой ценой в первую очередь обеспечивается непрерывность производства, а уже после этого думают о защите. К чему это приводит? К тому, что чаще всего софт на работающем объекте обновляется только после тщательной проверки, а иногда и не обновляется вовсе, оставаясь неизменным десятки лет. Обновление программного обеспечения (ПО) может быть и прямо запрещено политикой безопасности на конкретном предприятии. Но даже если возможность обновить софт и залатать дыры есть, это не всегда помогает. Дело в том, что производители такого специализированного ПО мало заинтересованы в постоянных исследованиях исходного кода и латании дыр. Как показывает практика, на этом обычно стараются сэкономить, выпуская "заплатки", только если в сети уже обнаружен и действует некий эксплойт <1>. Если честно, это высказывание верно не только для специализированного, но и для обычного ПО, но сегодня мы говорим именно о промышленном софте. -------------------------------- <1> Код, атакующий уязвимости в программах.
Дальше проблема заключается вот в чем: уязвимость управляющего ПО, программируемых контроллеров, промышленных сетей связи приводит к тому, что у оператора условной промышленной системы на самом деле нет средств и способов получения заведомо правдивой информации о ее работе! Теоретически возможна ситуация, когда, допустим, атакуется система распределения электроэнергии, в результате чего на определенном объекте происходит авария. А контролер или оператор об этом даже не подозревают, поскольку атакующие выводят на их компьютеры заведомо искаженные, дезинформирующие данные. И за примерами далеко ходить не нужно. Оригинальный способ, расцениваемый по сути дела как один из видов кибердиверсии, был применен еще в 2000 г. в Австралии. Он заключался в проведении прямой атаки на систему SCADA <2>. Сотрудник контрактной компании, работавший над системой контроля очистительной инфраструктуры Maroochy Shire Council, в ходе 46 (!) атак принял решение сделать так, чтобы насосы не работали вообще или работали не так, как были запрограммированы. При этом никто не мог понять, что происходит с функциональной системой, т. к. коммуникация внутри системы была нарушена. И только по истечении месяцев компании и властям удалось разобраться, что произошло. Оказалось, что парень хотел получить работу в очистительной компании любым способом. И в результате затопил нечистотами огромную территорию штата Квинсленд. -------------------------------- <2> SCADA (аббр. от англ. supervisory control and data acquisition - диспетчерское управление и сбор данных) - программный пакет, предназначенный для разработки или обеспечения работы в реальном времени систем сбора, обработки, отображения и архивирования информации об объекте мониторинга или управления. SCADA может являться частью АСУТП, АСКУЭ, системы экологического мониторинга, научного эксперимента, автоматизации издания и т. д. SCADA-системы используются во всех отраслях хозяйства, где требуется обеспечивать операторский контроль за технологическими процессами в реальном времени. Данное программное обеспечение устанавливается на компьютеры и для связи с объектом использует драйверы ввода-вывода или OPC (семейство программных технологий, предоставляющих единый интерфейс для управления объектами автоматизации и технологическими процессами), DDE-серверы. Программный код может быть и написан на языке программирования, и сгенерирован в среде проектирования. Иногда SCADA-системы комплектуются дополнительным ПО для программирования промышленных контроллеров. Такие SCADA-системы называются интегрированными, и к ним добавляют термин SoftLogic.
И подобных примеров немало. При этом большинство из них остаются за рамками СМИ, поскольку пострадавшие компании по известным им корпоративным причинам стараются не предавать такие дела огласке. А о многих инцидентах не догадываются даже они сами. Вот, например, недавно в промышленных роутерах RuggedCom была обнаружена "дыра", которая позволила простому пользователю запросто повысить свой служебный статус до администратора и получить возможность управления (контроля) над важным технологическим устройством в системе производства. В результате кто, когда, как и где смог воспользоваться незаконно полученным дополнительным ресурсом, можно только догадываться. Сегодня исходные коды доступа к управляющему ПО, операционной системе интересуют многих, и особенно компетентные органы. Именно те, которые, с одной стороны, сертифицируют ПО для работы в критически важных системах, а с другой - разрабатывают кибероружие для атак на системы вероятного противника или конкурента. К таким видам кибероружия относятся, например, сравнительно недавно обнаруженные вредоносные программы Stuxnet, Duqu, Flame и Gauss - киберпроекты настолько сложные, что разработка их возможна только при технической и финансовой поддержке очень мощных структур. И неважно, кто и кому угрожает в настоящий момент, важно, что такое кибероружие уже широко применяется. Со временем вооружаться для атак на ключевые объекты противника будет все большее количество государств, особенно для достижения политических и экономических целей. А состояние защиты информационно-коммуникационных систем, увы, неэффективное. Вооружаясь, компании и государства не забывают и о защите. Причем защищаться в принципе они начали уже давно, вопрос в том, как они это делают? Реально используемых методов - два. Первый - изоляция критически важных объектов: отключение их от Интернета или физическая изоляция от внешнего мира каким-то другим способом. Однако, как показывает практика, если оператор на объекте захочет в ночную смену посмотреть на управляющем ПК фильмы с зараженной флэшки - его ничто не остановит (кстати, в "Лаборатории" есть технические способы блокирования таких попыток, но сейчас не об этом). Второй - секретность. Коллективные и масштабные попытки закрыть все и вся. Разработчики ICS-систем держат в тайне исходные коды, владельцы заводов и объектов инфраструктуры ставят гриф "Секретно" на характеристики информационных систем, типы используемого ПО и т. п., увы, забывая при этом, что информация об уязвимостях в большинстве популярных систем SCADA есть в открытом доступе в сети. Смотрим вглубь: уже несколько лет существует открытый поисковик SHODAN, сориентированный в том числе и на поиск уязвимости промышленных систем (в частности, SCADA-систем), особенно, если они подключены к Интернету. "Бороться с ворьем - утомительное занятие, без надежды на окончательную победу". Как известно, история нашей компании - это хроника борьбы с вредоносными программами. OneHalf, Nutcracker, Dir, Concept, CIH, LoveLetter, msBlast, sasser, mydoom, koobface - любой антивирусный эксперт, кто с раздражением, кто с ностальгией о бессонных ночах и победах над зловредами вспоминает эти названия. В последнее время появились имена еще более страшные: Stuxnet, Duqu, Flame. Эти звери угрожают не только информационным ресурсам и воруют деньги, но могут физически вывести из строя мощное промышленное оборудование. А что будет дальше? Да, конечно, были победы, красивые программно-технические решения, изобретения, патенты, новые версии антивируса, которые делали невозможным распространение уже известных или похожих на них зловредов. Но проходило время, возникали новые неожиданные угрозы, и нужно было срочно искать от них противоядие. В такой борьбе, непрерывно спасая мир, специалисты "Лаборатории" проживают уже пятнадцатый год своей яркой истории... И света в конце тоннеля не видно... На практике специалисты "Лаборатории" параллельно применяют и традиционные методы защиты как заведомо уязвимого софта, так и операционной системы. Ведь и в том, и в другом случаях безопасность можно повысить путем улучшения контроля и за функционированием программ, и за действиями операторов. Но стопроцентную гарантию защищенности такие методы не обеспечивают, в силу заведомой "дырявости" того, что предполагается контролировать. Вместе с тем в случаях с критически важными узлами гарантия необходима. Вопрос - на что именно и каким образом? "Победить можно, только поменяв правила игры". Когда-то давно группа ведущих разработчиков "ЛК" во главе с Евгением Касперским задумалась над таким вопросом: что нужно сделать, чтобы надежно и гарантированно побеждать плохих ребят? Для начала первопроходцы задумались над жизненным циклом вредоносного программного обеспечения (ПО). Получилась такая картина. 1. Плохие ребята: a) ищут уязвимость в информационной системе; b) разрабатывают способ выполнения непредусмотренных действий, позволяющих им достичь своих плохих целей. 2. Хорошие ребята (мы и другие антивирусные компании): a) получают и изучают образец; b) разрабатывают средства противодействия; c) рассылают их своим пользователям. 3. Беспечные ребята (разработчики информационных систем): a) латают дырки в собственном софте; b) раздают обновления своим пользователям. Конечно, это очень условная схема, которая не учитывает многих деталей, но она позволяет наглядно увидеть ущербность таких правил игры для хороших ребят: они всегда вторые. Сначала плохие ребята удумают новый зловред, а потом мы лихорадочно ищем противоядие. Решение же проблемы очень простое - нужно изменить правила игры таким образом, чтобы плохим ребятам жилось плохо, а хорошим, соответственно, хорошо. Указанный выше пункт "1. а)" не подходит. Надеяться на то, что беспечные ребята в каком-то светлом будущем оставят плохих без работы, выпустив неуязвимый софт, не приходится. Информационная индустрия, к сожалению, не достигла еще высот создания неприступного софта. Наше внимание приковал к себе следующий этап. Что если создать такую среду, в которой программы не имели бы возможности делать то, для чего они не были предназначены изначально? Эта мысль показалась нам интересной и реализуемой. С этих пор мы начали думать над средой исполнения программ, которая задавала бы наши правила игры. По сути, она должна была обеспечивать одно-единственное свойство - не позволять любому программному коду исполнять ранее незаявленную функциональность. Но она должна обеспечивать это с очень высокой надежностью. Какими должны быть защита и зарождение новой операционной системы. Конечно, было бы идеально взять и переписать весь "промышленный" софт. С учетом, скажем, наработанных техник безопасной разработки и проведения кибератак. Но это долгий и титанический труд, сопряженный с огромными вложениями в тестирование и отладку. К тому же это все равно не гарантирует постоянную и достаточно устойчивую работу систем. Но есть вполне реализуемая альтернатива. Имеется в виду защищенная операционная система, обеспечивающая безопасность ICS-системы. Ее, кстати, можно встроить в существующую инфраструктуру, контролирующую "здоровье" функционирования систем и гарантирующую получение достоверной информации. В этом ключе и начались исследования. Они должны были привести "Лабораторию" к возможности разработать "с нуля" свою собственную операционную систему. Никакие другие решения, по нашему мнению, не могли обеспечить необходимых гарантий безопасности. И вот, по прошествии некоторого времени, сегодня мы имеем прототип нашей собственной ОС! Она способна обеспечить новое для софтверной индустрии правило: все программы могут делать только то, для чего предназначены, и ничего больше. В такой системе любая программа, даже будучи уязвлена вирусом, не сможет выполнить недозволенную операцию. Конечно, за все нужно платить. Мы заплатили тем, что в нашей ОС не могут выполняться программы, написанные для других ОС, с должным уровнем гарантий безопасности. Результат, которого мы достигли, впечатляет: это так называемая доверенная среда исполнения, которая может служить базой или "точкой доверия" для создания больших доверенных систем. "Применение". Несмотря на уникальные свойства прототипа ОС, найти ей применение оказалось непростой задачей. Это и понятно: ведь пользователям нужна не операционная система как таковая, а приложения, под ней работающие. А у нас, по понятным причинам, в определенное время таких приложений не было. Мы стали активно искать коммерчески интересные применения, которые могли бы показать преимущества нашей ОС и не требовали бы от нас неимоверных усилий по разработке большого количества софта. После некоторых попыток такое применение нашлось. Имеется в виду информационная защита индустриальных объектов. "Программная среда в индустриальной сфере перестала быть изолированной". Теперь стоит рассказать об информационной среде, в которой планируется продемонстрировать преимущества новой ОС. Сегодня все понимают, что защита критически важных индустриальных объектов от кибератак - задача первостепенной важности. Однако решить ее далеко не так просто, как может показаться на первый взгляд. Во-первых, несмотря на то что промышленная среда была автоматизирована раньше офисной, цикл жизни программного обеспечения в ней почти на порядок дольше - 5, 10, 20, а то и больше лет. Разного рода обновления, в т. ч. и программного обеспечения, идут в ней очень медленно. Поэтому основной принцип инженеров по эксплуатации таков: "Если работает, то лучше не мешать". И он весьма оправдан с точки зрения управления процессом, но, к сожалению, не подходит для обеспечения информационной безопасности. Во-вторых, считается, что обеспечение физической безопасности (которой всегда уделялось большое внимание) - это гарантия безопасной работы оборудования. Но в современном информационном мире этот принцип уже не работает. Программная среда в индустриальной сфере, несмотря на физическую изоляцию, перестала быть изолированной от информационного мира. И многочисленные атаки подтверждают этот вывод. По данным американского Департамента внутренней безопасности (Department of Homeland Security), сегодня на американских предприятиях существует в среднем 11 соединений с внешним информационным пространством. "Системы управления производством беззащитны перед информационными атаками". Как известно, системы управления производством состоят из нескольких типов взаимодействующих сущностей (компонентов). Во-первых, это обычные компьютеры под управлением обычных операционных систем, на которых исполняется так называемая SCADA (Supervisory Control and Data Acquisition - диспетчерское управление и сбор данных), программа, поддерживающая высокоуровневую логику управления производством. Программы на таких компьютерах отображают на экране всю необходимую для управления информацию: схему узлов индустриальной сети, показания датчиков, положения исполнительных механизмов и т. д., благодаря чему оператор может отслеживать и регулировать работу оборудования без необходимости непосредственного присутствия на производственной площадке. Со стороны обеспечения безопасности (по нашему опыту) такие компьютеры - это большой набор известных и неизвестных уязвимостей, т. е., можно сказать, сплошная дыра. Во-вторых, это PLC (Programing Logic Controllers) - обычные с точки зрения внутреннего устройства компьютеры. PLC в соответствии с заложенной в них программой получают команды от SCADA, передают обратно информацию о состоянии оборудования, считывают информацию со всевозможных датчиков и выдают управляющие воздействия на исполнительные механизмы - моторы, насосы, транспортеры и прочее промышленное оборудование. В последнее время у экспертов по безопасности есть повышенный интерес к таким устройствам. В результате появляются все новые и новые сообщения о найденных уязвимостях. Управляющие или связанные с ними компьютеры, как правило, и обеспечивают поставку информации о произведенных товарах или услугах в офисную среду и принимают заказы на производство. Это еще одно направление атаки. Поставщики программного обеспечения обычно имеют удаленный доступ, чтобы быстро и эффективно обеспечивать сопровождение своих систем. Удаленному доступу сопутствует возможность его использования злоумышленниками. На крупных индустриальных объектах PLC управляют сотнями и тысячами единиц оборудования, к тому же зачастую географически распределенного. А связь между ними - все тот же удаленный доступ. Фирмы-производители PLC, такие, как General Electric, Siemens, Schneider, представляют свое дорогостоящее и долгоживущее оборудование, как правило, с установленным системным софтом, который создавался еще во времена, когда о безопасности не особо задумывались и беспокоились. В этой связи давно разработанные протоколы обмена информацией часто не содержат элементарных средств и способов безопасности. Негативно на обеспечении безопасности сказывается и то обстоятельство, что производители нередко в стремлении снизить стоимость эксплуатации предоставляют поставщикам и пользователям удаленный доступ к их оборудованию. В итоге вся эта сложная, часто географически распределенная многофункциональная структура обменивается информацией, применяя уязвимые с точки зрения безопасности протоколы обмена, использует софт, содержащий уязвимости, и нередко становится доступна для неавторизованного проникновения из сети Интернет. Итак, картина, если вести речь о состоянии информационной безопасности на сегодняшний день, с одной стороны, крайне удручающая, с другой - как раз соответствует широкому применению уникальных свойств новой операционной системы, создаваемой специалистами "Лаборатории". На вопрос, как будет достигнут конечный результат, особенно в части создания защищенной ОС, если это не получилось ни у Microsoft, ни у Apple, отвечаю кратко. Во-первых, наша система - узкоспециализированная, она разрабатывается для решения конкретной задачи и не предназначена для игры в Half-Life, редактирования видео или общения в соцсетях. Во-вторых, мы работаем над методом написания программного обеспечения, которое в принципе (by design) не будет способно выполнять незаявленные в нем функции. Этот момент - самый важный: невозможность выполнения стороннего кода, взлома системы или программ в нашем проекте - обстоятельство доказываемое и проверяемое.
------------------------------------------------------------------
Название документа