Новый security по имени LaGrande
а прошедшем в сентябре московском форуме IDF большое внимание было уделено новой технологии компьютерной безопасности компании Intel — LaGrande. Эта интересная и, можно сказать даже, революционная технология была представлена в пленарном докладе cтаршего вице-президента и генерального менеджера подразделения Enterprise Platforms Group корпорации Intel Майкла Фистера (Michael J. Fister) как одна из составляющих концепции «T’s». Данная концепция, помимо технологии LaGrande, включает уже хорошо известные и успешно реализованные технологии Hyper-Threading и Centrino, а также еще одну новинку — технологию Vanderpool. Кроме представления и демонстрации возможностей технологии LaGrande в рамках пленарного доклада господина Фистера, ей был посвящен отдельный семинар, на котором информацией о некоторых деталях основ построения и принципов ее работы поделился один из идеологов и создателей данной технологии Дэвид Граурок, ведущий специалист корпорации Intel по системам безопасности. Однако нельзя сказать, что в ходе этого семинара были раскрыты все секреты новой технологии безопасности — пояснения коснулись только фундаментальных принципов работы компьютерной системы, построенной в соответствии с концепцией LaGrande. Давайте и мы попытаемся разобраться, что представляет собой эта технология компьютерной безопасности.
В первую очередь нужно выявить причины, побудившие компанию Intel заняться разработкой новой технологии безопасности компьютерных систем. Как известно, в наше время глобальной автоматизации ценность информации, хранимой и обрабатываемой с помощью компьютерных систем, в том числе и домашних ПК, многократно превышает стоимость не только самих компьютеров, но и дорогостоящего ПО, призванного, в частности, защитить ее конфиденциальность. Но насколько эффективна современная защита компьютера? Есть все основания полагать, что она, увы, еще далека от идеала, тем более что ценность информации заставляет злоумышленников искать новые, все более изощренные методы и средства незаконного доступа к ресурсам компьютерной системы. Кроме того, в настоящее время подобные хакерские инструменты становятся все более доступными. Ситуация усугубляется еще и повсеместным объединением компьютеров как в локальные, так и в глобальные вычислительные сети. Таким образом, используя возможности удаленного соединения, злоумышленник с помощью соответствующего ПО может получить доступ к ресурсам локальной машины. Конечно, существует немало средств и методов борьбы с подобными правонарушениями. Наиболее распространенный сегодня подход к организации системы безопасности можно было бы сравнить с гигантской изгородью, составленной из аппаратных и программных средств (различных сетевых экранов и т.п.) и ограждающим огромную территорию — локальную сеть или отдельно взятую компьютерную систему (рис. 1).
Однако в любом большом заборе, каким бы прочным он ни был, появляются дыры, и чем больше охраняемая территория, тем выше вероятность проникновения на нее. При этом защищенность отдельно взятого рабочего места, как правило, минимальна, и если злоумышленник смог преодолеть внешние заслоны локальной сети, а тем более если он имеет разрешенный доступ в эту сеть, то он становится хозяином положения и может перейти к атаке локальных машин с целью незаконного получения конфиденциальной информации. Хакерские атаки чаще всего направлены на такие уязвимые места компьютерной системы, как память, пользовательские устройства ввода-вывода, устройства визуализации видеосигнала (рис. 2) злоумышленник с помощью соответствующего ПО может раскрывать конфиденциальную информацию и изменять значения данных в памяти компьютера, манипулировать вводом-выводом, а также подменять запросы на информацию.
Определение основных источников угроз безопасности компьютера (а точнее, безопасности конфиденциальной информации, обрабатываемой посредством компьютерной системы) и каналов их осуществления позволяет сформулировать основные требования, выполнение которых позволит перекрыть выявленные пути незаконного вторжения. Существуют следующие подходы к организации безопасности компьютерной системы, требующие аппаратной реализации:
• защищенное исполнение;
• аттестация;
• опечатанное хранилище;
• доверительные каналы.
Все эти подходы нашли свое воплощение в интеловской технологии LaGrande, которая призвана защитить конфиденциальные данные и каналы связи от программных атак или непреднамеренного раскрытия информации из-за дискредитированного ПО, обеспечивая легкость в использовании, управляемость и универсальность и при этом не снижая общую производительность системы. Попытаемся же разобраться в том, что же подразумевают перечисленные подходы и каким образом они реализуются в новой технологии компьютерной безопасности, предложенной компанией Intel.
Начнем с защищенного исполнения. Как известно, многие хакерские атаки направлены на считывание информации из памяти. Чтобы не допустить этого, естественно, нужно предотвратить доступ злоумышленника к ресурсам, используемым приложениями. Этого можно достичь введением разделенного исполнения, основанного на разделении доменов, что предполагает разделение страниц памяти и других требуемых для выполнения приложения ресурсов компьютерной системы. Таким образом, вокруг исполняемого приложения и применяемых им ресурсов возводится уже не забор, а своего рода кирпичная стена (рис. 3).
Но как компьютерная система сможет определить аппаратную природу платформы и текущую конфигурацию разделения доменов (при защищенном исполнении приложений)? Для этого проводится аттестация системы, подразумевающая точную идентификацию ее компонентов. При этом необходимо некое устройство, которое возьмет на себя функции такого аудита, а кроме того, позволит сохранять информацию о проведенной идентификации и о способе создания «кирпичной стены» (то есть текущую конфигурацию разделения доменов).
Эти функции выполняет модуль TPM (Trusted Platform Module) — рис. 4.
Модуль ТРМ гарантирует надежное хранение уникальной информации (которая была получена в ходе идентификации системы), не зависящее от наличия питания. Вся хранимая в TPM информация как бы опечатывается, для чего на основе информации, полученной при идентификации системы, создается, если можно так выразиться, оттиск виртуальной печати. И чтобы получить доступ к хранимым в TPM данным, а следовательно, и к приложениям, выполняемым в защищенном режиме, необходимо точное совпадение оттисков — ныне существующего и того, которым был закрыт ТРМ, то есть платформа должна точно соответствовать своему первоначальному состоянию (которое она имела при создании той самой «кирпичной стены»). Иными словами, всё содержимое ТРМ и все данные приложения, исполняемого в защищенном режиме, шифруются кодом, который построен на основе информации, полученной при идентификации системы и служащей своего рода ключом и неотъемлемой составляющей данного кода. В этом и состоит концепция опечатанного хранилища. Таким образом, если продолжать проводить аналогию защищенного исполнения с кирпичной стеной, то модуль TPM можно сравнить с привратником, хранящим в своей памяти все подробности ее возведения и знающим пароль, который позволяет преодолеть данную преграду. Но этот security сообщает пароль лишь тем, кого он знает в лицо и кто участвовал в возведении стены. Незнакомым он не разрешает пройти, но позволяет им участвовать в возведении новой стены. Иначе говоря, изменение параметров «кирпичной стены» меняет идентификацию и приводит к недоступности данных.
Что ж, прекрасно приложение защищено. Но как обеспечить интерактивное взаимодействие такого приложения с пользовательскими интерфейсами и иными устройствами, не снижая при этом уровня безопасности системы? Для этой цели организуются доверительные каналы. Их создание инициируется самим приложением, работающим в защищенном режиме, и также является одним из проявлений реализации концепции разделения ресурсов, которую подразумевает работа приложения в защищенном режиме. Подобные каналы требуют как аппаратной, так и программной поддержки, предоставляя взамен безопасный путь общения приложения и устройств компьютера. Необходимо также отметить, что практическая реализация технологии LaGrande требует использования ОС, отличающихся от ныне существующих, поскольку применяющиеся в настоящее время ОС не поддерживают разделения доменов. Так, современные ОС позволяют драйверам устройств получать доступ к памяти в ring 0, при этом им становится доступна вся системная память; кроме того, приложения, использующие подобные драйверы, могут получить доступ к ресурсам других приложений, работающих в защищенном режиме (рис. 5).
Таким образом, для использования возможностей технологии LaGrande по разделению доменов, а также по обеспечению обратной совместимости с платформами, не реализующими эту технологию компьютерной безопасности, необходима новая операционная система. Разработкой именно такой операционной системы (ОС NGSCB) занимается в настоящее время компания Microsoft.
Рассказывая о принципах реализации технологии компьютерной безопасности LaGrande, мы не раз упоминали о необходимости ее аппаратной поддержки. Каких же именно изменений в компонентах компьютерной системы потребует внедрение этой технологии? Ответ на этот вопрос дает рис. 6.
Разобравшись в основных принципах построения системы компьютерной безопасности, реализованных в технологии LaGrande, конечно, интересно узнать, каков же будет практический эффект от ее применения. В ходе своего выступления на московском форуме IDF Майкл Фистер продемонстрировал возможности новой технологии. В качестве примера был рассмотрен случай незаконных действий (атаки) с целью получения пароля, который вводится пользователем, работающим на подключенном к локальной вычислительной сети компьютере.
Предположим, некий пользователь вводит известный ему пароль, чтобы получить авторизованный доступ. Какие операции подразумевает подобное действие? В обобщенном виде обработку пароля можно представить последовательностью следующих операций:
• вывод соответствующего графического интерфейса для ввода пароля (окна);
• ввод пользователем пароля;
• проверка пароля;
• открытие доступа.
При этом могут быть предприняты следующие виды атаки:
• подмена экрана для ввода пароля;
• считывание пароля с клавиатуры;
• считывание пароля из памяти;
• подмена приложения для игнорирования ввода пароля.
Если пользователь работает на обычном ПК, то все эти виды атаки могут быть успешно осуществлены. Так, злоумышленник может выполнить подмену приложения или экрана ввода, перехватить видеосигнал либо получить доступ к информации, вводимой посредством пользовательских средств ввода-вывода (к примеру, с помощью мыши или клавиатуры), а кроме того, он может анализировать содержимое системной памяти, сделав снимок (dump) памяти (рис. 7). Одним словом, о защищенности конфиденциальной информации пользователя и говорить не приходится.
Что же произойдет, если такая компьютерная система будет иметь защиту, построенную на основе технологии LaGrande? В этом случае шансов у злоумышленника практически нет (рис. 8).
Пытаясь подменить приложение или считать данные из памяти, злоумышленник натолкнется на «кирпичную стену», которая построена при разделении доменов и создание которой является основой защищенного исполнения. Таким образом, никакое другое приложение не сможет получить доступ к ресурсам исполняемого приложения. Хотя теоретически возможным остается аппаратный снимок памяти, но в этом случае данные нашего приложения будут опечатаны и зашифрованы, при этом ключ, открывающий к ним доступ, известен только TPM. В результате злоумышленник получит лишь набор символов, не имеющих ничего общего с реальными данными, которыми оперировало приложение. Считывание вводимой с клавиатуры информации и замена экрана ввода также обречены на неудачу, причиной чего является использование доверительных каналов, обеспечивающих безопасный режим обмена данными между устройствами посредством ряда аппаратно-программных ухищрений.
Этот пример доказывает, насколько высок уровень безопасности и конфиденциальности, предоставляет технология LaGrande. Однако не стоит думать, что эта новинка корпорации Intel станет панацеей от всех бед и полностью решит все проблемы, связанные с обеспечением безопасности компьютерной системы (рис. 9).
Разработка технологии LaGrande вовсе не означает, что можно будет полностью отказаться от других, в частности организационных, мер безопасности. Ведь если человек сам не захочет позаботиться о защите собственной конфиденциальной информации, то ни одна самая сложная и совершенная система безопасности не сможет предотвратить ее потерю.
При написании статьи были использованы материалы московского форума Intel Developer Forum Fall 2003.