Использование аппаратной защиты: от Palladium до VPro
Безопасные онлайновые банковские операции, защищённые паролем документы, безопасный удалённый доступ к рабочему (офисному) компьютеру – все эти концепции в какой-то степени полагаются на шифрование. Но реализовывать функции безопасности в программном обеспечении – это всё равно, что оставить запасной ключ от входной двери под ковриком: вы полагаетесь на потаённое место в надежде, что вор его не найдёт.
Случайные числа, которые обычно хранятся на диске или в обычной памяти, используются для шифрования частных (private) ключей, тоже хранящихся на диске или в памяти. Ключи же используются для защиты документов и подключений. В 2000 году компания nCipher, специалист по криптографии, показала, что троянские программы типа “Back Orifice” могут с лёгкостью находить эти случайные числа и защищённые ими частные ключи. А поскольку вы запускаете свою операционную систему с правами администратора, то если вредоносная программа может попасть в вашу систему, она способна атаковать ваши средства шифрования, антивирусные программы и виртуальные машины точно так же, как она может повредить файлы или украсть личные данные.
Одна программа может изменить другую программу, находящуюся на вашем жёстком диске или в памяти; нельзя полностью полагаться на программные средства защиты данных, поскольку они тоже могут быть изменены. Необходимо добавить аппаратные средства, которые можно использовать в качестве основы, и которые вредоносные программы не смогут изменить. Некоторые организации обеспечивают безопасность входа в систему с помощью смарт-карт (подобных SIM-карте в GSM-телефоне) или брелоков, которые вычисляют случайные числа, основанные на начальном числе (seed), известном только тому серверу, к которому они подключены. Однако добавлять аппаратные средства безопасности к уже имеющемуся компьютеру дорого, да и всё зависит от надёжности системы безопасности, которая будет их использовать. Лучше изначально встраивать аппаратные средства безопасности.
В этом состояла идея системы безопасности, известной когда-то как “Palladium”. Идея платформы Palladium и Next Generation Secure Computing Base (NGSCB) заключалась во встраивании безопасной операционной системы в аппаратное обеспечение, чтобы обеспечить защиту от вредоносных программ. Но проблемы разработки и опасения, что такое решение может быть использовано, чтобы навязать, например, системы защиты авторских прав на цифровую информацию (digital rights management, DRM) или другие способы контроля, привели к некоторому откату назад. Сейчас мы имеем выделенный чип, известный под названием “доверяемый платформенный модуль” (Trusted Platform Module, TPM) и используемый для защиты пар криптографических ключей, которые нужны, например, для шифрования всего жёсткого диска с помощью таких программ, как PGP и “BitLocker”.
Компании Intel, VIA и AMD поддерживают TPM, но Intel предлагает ещё и дополнительные технологии безопасности и управления на аппаратном уровне, например, “Trusted Execution Technology” (TXT). Раньше эта технология носила название “LaGrande” и использовалась для проверки того, что виртуализированное программное обеспечение не менялось с момента последнего запуска. Есть также технология “Active Management Technology” (AMT), используемая для удалённого управления, а также для изоляции и обновления компьютеров, которые могут быть заражены. Эти функции реализованы в сочетании с центральным процессором, чипсетом, чипом TPM, сетевым контроллером и с программным обеспечением – всё это Intel называет “платформой”. На сегодняшний день эти функции разрабатываются для бизнеса, поэтому их можно встретить в настольных системах на бизнес-платформе vPro и в ноутбуках Centrino Pro (или Centrino с vPro), но в будущем они придут и в такие потребительские системы, как VIIV. Хотя TPM является сейчас отдельным чипом, компания Intel уже в этом году планирует включить его прямо в южный мост, добавив такие дополнительные функции, как аппаратное AES-шифрование.
Системы безопасности, такие, как биометрия, могут работать без чипа Trusted Platform Module, но с ним они становятся ещё более надёжными. Нажмите на картинку для увеличения.
Доверяя TPM
TPM может представлять собой отдельный чип на материнской плате, он может быть встроен в сетевой контроллер или помещён внутрь южного моста; везде его можно подключить к шине LPC.
“Доверяемый платформенный модуль” (TPM) изначально был разработан компанией IBM при участии ассоциации компаний, входящих в консорциум Trusted Computing Group (TCG). Модуль TPM можно рассматривать как смарт-карту, припаянную на материнскую плату; он идентичен модулю SIM, но с другой прошивкой. Первоначальный чип IBM Embedded Security System располагался на дочерней плате, которая подключалась к шине LPC и могла быть вынута, но нынешние чипы TPM встраиваются прямо на материнскую плату (подсоединяются к южному мосту с помощью 33-МГц шины LPC). TPM-чип поставляется не со всеми системами, а только с ПК, обозначенными как vPro или Centrino Pro (в лагере Intel). Когда компания Apple впервые переключилась на процессоры Intel, она поместила модуль TPM на материнские платы Mac (он использовался для проверки того, что Mac OS X работает на аппаратном обеспечении Apple), но через несколько месяцев отказалась от этого чипа, якобы для снижения затрат на “железо”.
В число функций модуля TPM входит генератор случайных чисел и генератор ключей, поэтому TPM может создавать подписи и криптографические пары ключей для шифрования. Эти ключи шифрования хранятся в защищённых областях внутри модуля TPM, поэтому их труднее атаковать. Ваши частные (private) ключи никогда не выйдут за пределы TPM; чип TPM сравнивает ключи и либо подтверждает их, либо подписывает открытые (public) ключи. Есть корневые ключи для шифрования хранилища и для сообщения о ключах, хранимых в TPM. У модуля TPM тоже есть свой собственный секретный (частный) ключ, ключ подтверждения (endorsement key), который создаётся изготовителем и не может быть прочитан ничем извне. Есть функции инициализации и управления, которые позволяют включать и отключать функциональность TPM, сбрасывать чип для очистки ключей, а также становиться владельцем нового или сброшенного TPM (т.е. вы можете передать компьютер кому-то ещё). Если системе безопасности требуется знать только, присутствует ли TPM в системе и ничего более, то для этого TPM поддерживает протокол Direct Anonymous Attestation (DAA).
Чип TPM по умолчанию заблокирован, поэтому его нужно включить с помощью перемычки, BIOS или того и другого, всё зависит от вашей системы. Даже после того, как чип разблокирован, он не инициирует прерывания, а только реагирует на запросы от программного обеспечения. Чтобы использовать TPM, вам нужно стать владельцем, используя утилиты TPM, поставляемые вместе с вашим ПК: Intel использует среду Embassy Security Center от Wave Systems. Чтобы использовать TPM для генерирования ключей, выберите его в качестве поставщика служб криптографии (Cryptographic Service Provider,CSP) для создания сертификата.
TPM по умолчанию заблокирован и должен быть настроен, прежде чем программное обеспечение сможет использовать его для функций безопасности. Нажмите на картинку для увеличения.
После активизации модуля TPM и становления его владельцем можно воспользоваться расширенными опциями, чтобы использовать TPM в качестве Cryptographic Service Provider для генерации сертификата. Нажмите на картинку для увеличения.
TPM может также хранить контрольные суммы начального загрузчика системы (boot loader), BIOS и главной загрузочной записи (master boot record), при этом создаётся своеобразный “отпечаток пальца” компьютера. Он помогает серверу идентифицировать ваш компьютер, а также позволяет проверить, что компьютер и загрузочные компоненты никто не менял, поэтому TPM работает как основа доверия для системы (или “корень доверия”, root of trust). TPM высчитывает значение хэша (hash) на основании информации, полученной от всех ключевых компонентов, и хранит его в регистрах конфигурации платформы (Platform Configuration Register, PCR). Таким образом, модуль может сравнивать значения при каждой загрузке при соответствующих запросах от операционной системы или программ шифрования, подобных “BitLocker”. Само наличие модуля TPM в компьютере не значит, что он будет вмешиваться в процесс загрузки, если вы не настроили его на мониторинг системы. Кроме того, некоторые функции TPM, такие, как чтение ключа подтверждения TPM, могут исполняться, только когда система загружается, поэтому вредоносные программы не смогут извлечь этот ключ и передать его другому компьютеру.
Данные измерения конфигурации могут также использоваться, чтобы “запечатать” ключи внутри модуля TPM так, что их можно вскрыть и использовать, только если регистры конфигурации платформы подтверждают, что ваша система находится в том же состоянии. Если система запечатала ключи, которые вы использовали для шифрования файлов, и какой-то вирус изменил главную загрузочную запись, или кто-то пытается загрузить ваш компьютер в другой операционной системе с внешнего жёсткого диска, то хэш в регистре конфигурации платформы не подойдёт, и ключ не будет вскрыт, обеспечивая защиту ваших файлов.
Поскольку виртуализация становится более распространённой (выполняется множество операционных систем под управлением гипервизора), корень доверия приобретёт ещё большее значение, потому что может не быть видимых следов того, что гипервизор был взломан или даже заменён. Гипервизору нужно привести процессор в известное состояние, запустить известный код и защититься от атак, которые могут повредить код. Это можно сделать аппаратным сбросом – статическим корнем доверия, но чем больше виртуальных машин работает, тем реже вы захотите это делать.
Будущие версии операционных систем, менеджеров виртуальных машин и гипервизоров будут использовать команды центрального процессора, которые могут вернуть CPU обратно в известное состояние, отправив для оценки модулю TPM код, который будет запущен. Таким образом, можно проверить, что команды выполнят именно то, что должны, и убедиться в отсутствии запущенных вредоносных программ, которые попытаются перехватить команды. Это называется динамическим корнем доверия, и означает, что вы сможете безопасно перезапустить виртуальную машину, не перезагружая при этом всю систему.
Первым шагом к этой цели является технология доверенного исполнения Intel “Trusted Execution Technology” (TXT), которая использует модуль TPM для генерирования подписи для виртуальной машины, так что вы можете узнать, были ли приложения установлены после создания виртуальной машины (VM). Технология аппаратной виртуализации Intel VT позволяет виртуальной машине работать с большими полномочиями (правами); при желании виртуальная машина, которая не соответствует списку, хранящемуся в TPM по технологии TXT, не получит этот более высокий уровень прав или вообще не будет запускаться. TXT может также изолировать память, используемую приложением или виртуальной машиной, так что её не смогут изменить другие приложения и даже операционная система. И если какое-то приложение даст сбой, а TXT при этом защищает используемую им память, то страницы в оперативной памяти и в кэше процессора будут стёрты, и вредоносная программа не сможет заставить приложение дать сбой, чтобы получить доступ к хранящимся в её памяти данным.
Идея заключается в том, чтобы создать в компьютере защищённую область для запуска приложений и виртуальных машин и привлечь в этот процесс не только центральный процессор. Существуют расширения чипсета, обеспечивающие защиту памяти и предоставляющие защищённые каналы для данных видеокарты и информации ввода/вывода для приложений, работающих в этой защищённой области. Данные, идущие от клавиатуры и мыши, защищены криптографическим ключом, совместно используемым устройством ввода и менеджером ввода. Графическая подсистема обладает защищённой линией от запущенного в защищённой области приложения до кадрового буфера видеокарты, а затем – до окна, в котором отображается картинка, гарантируя, что никто не сможет подсмотреть данные.
Ни одно из поставляемых сейчас средств виртуализации не использует технологию TXT, но компания Parallels работает с Intel над использованием VT и TXT в платформе Parallels Desktop, чтобы создать монитор виртуальных машин, который может гарантировать, что он не заражён вирусами. В 2008-2009 гг. другие VM-поставщики тоже включат поддержку TXT.
Будущее TPM в чипсете
Несмотря на то, что криптографические пары ключей генерируются модулем TPM, фактическое шифрование файлов или всего жёсткого диска происходит в программном обеспечении; это более медленный процесс, чем шифрование аппаратными средствами, и кроме того, программы шифрования могут подвергнуться атаке. И хотя модуль TPM хорошо защищён, он всё равно передаёт информацию по материнской плате. В следующем поколении бизнес-платформы vPro под кодовым названием “McCreary”, которая должна появиться во второй половине этого года, Intel интегрирует модуль TPM непосредственно в чипсет.
Этот набор функций безопасности под кодовым названием “Danbury” переносит большую часть функциональности по управлению ключами и шифрованию в чипсет Eaglelake. Он сможет полностью зашифровывать жёсткие диски SATA и eSATA без использования драйверов в операционной системе. Intel прогнозирует, что шифрование с помощью Danbury будет выполняться быстрее, чем при использовании одного программного обеспечения, потому что 128-битное и 256-битное AES-шифрование происходит аппаратно, и все данные, которые читаются с жёсткого диска или записываются на него, будут расшифровываться и зашифровываться чипсетом. Danbury поможет также в случае, если вы захотите удалить все данные с жёсткого диска; без ключей зашифрованные файлы прочитать нельзя, но у Danbury будет функция, позволяющая безопасно стереть их.
Решение Danbury добавит аппаратное AES-шифрование дисковому контроллеру, а также интегрирует модуль TPM и соответствующую прошивку в чипсет. Нажмите на картинку для увеличения.
Поставщики программ для шифрования, такие, как Credant, PGP, Pointsec, SafeBoot и Utimaco, подтвердили, что будут поддерживать аппаратное шифрование Danbury. Danbury будет также работать в режиме, называемом компанией Intel “автономным”, где пароль, защищающий ваш жёсткий диск, будет шифровать и содержимое диска, используя Danbury, поэтому вам не понадобится отдельного ПО для базового шифрования.
Всё шифрует TPM
Хотя модуль TPM генерирует ключи, он не запускает никаких программ, для TPM нужны специальные программные средства защиты данных. Многие настольные компьютеры и ноутбуки, выпущенные с 2003 года, имеют встроенные модули TPM; если ваш ноутбук оснащён считывателем отпечатка пальцев, то сам отпечаток и пароли, сохранённые с ним, могут быть защищены модулем TPM. Linux имеет поддержку технологии TPM, начиная с версии ядра 2.6.12. Некоторые хранилища паролей тоже используют TPM, например, приложения Wave Personal Information Manager и Document Manager.
Наиболее вероятно, что вы можете столкнуться с такими программными средствами, использующими TPM, как “PGP Whole Disk Encryption”, “CompuSec FDE”, “Securstar DriveCrypt Plus Pack” и “Vista BitLocker”.
Эти программные средства шифруют весь том Windows и используют модуль TPM для проверки загрузочных компонентов; система не загрузится, если она была как-то модифицирована, и злоумышленник не сможет загрузиться с CD-диска или, захватив ваш жёсткий диск, вставить его в компьютер с другой операционной системой, чтобы расшифровать данные.
Что касается “BitLocker”, которая поставляется бесплатно с версией Ultimate операционной системы Vista, ваш жёсткий диск должен быть отформатирован в NTFS, и вам понадобится два тома. Системному тому требуется всего 1,5 Гбайт, поскольку он хранит только те файлы, которые нужны для загрузки Windows; они не шифруются. Сама операционная система Vista будет храниться в загрузочном томе, который шифруется с помощью “BitLocker” ключом шифрования всего тома (volume encryption key). Этот ключ, в свою очередь, шифруется основным ключом тома (volume master key), так что, если вы что-то поменяете в своей системе или потеряете ключ, то сможете получить новый ключ, не тратя время на дешифровку и шифровку заново всего тома. На время можно отключить “BitLocker”, чтобы обновить BIOS (это изменит значения, измеряемые TPM); опять же, диск не нужно дешифровать и снова шифровать, так как загрузочный том остаётся зашифрованным, но основной ключ тома незашифрован. Когда вы снова включите “BitLocker”, перешифровка потребуется только для основного ключа тома.
После того, как “BitLocker” проверила ключ с помощью TPM и аутентифицировала вас, файловая система Vista шифрует и дешифрует сектора диска по мере того, как вы записываете и считываете данные, что не замедляет систему значительно. Если компьютер находится в режиме гибернации, то файл сброса памяти режима гибернации шифруется, а затем снова расшифровывается после того, как компьютер “разбужен”. Если у вас есть другие тома, то вам не нужно запускать “BitLocker” непосредственно на них, вместо этого можно использовать Windows Encrypting File System, потому что ключи для них хранятся в загрузочном томе, где их защищает “BitLocker”.
Для дополнительной защиты можно добавить PIN-код или ключ запуска, хранимый на USB-накопителе. Кроме того, понадобится создать пароль восстановления или ключ восстановления, который хранится на USB-накопителе, чтобы вы могли восстановить зашифрованный диск, в случае если возникнет какой-то сбой в компьютере, и возникнет необходимость прочитать данные с диска на другой системе.
“BitLocker” привязывает жёсткий диск к текущему компьютеру и текущей конфигурации; чтобы получить доступ к зашифрованным файлам на другом компьютере, понадобится информация о восстановлении.
AMT повышает безопасность и улучшает удалённый мониторинг
Поскольку технология AMT реализована аппаратно, система управления имеет доступ даже к неработающим компьютерам, где операционная система не запущена, или же если на компьютер наложен карантин в целях безопасности. Нажмите на картинку для увеличения.
Бизнес-платформы Intel Centrino Pro и vPro сейчас поддерживают технологию удалённого мониторинга Active Management Technology (AMT) – аппаратную подсистему, позволяющую ИТ-персоналу проверять или менять конфигурацию системы по сети, даже если компьютер не запущен. Такая технология ускоряет процесс починки систем, которые были скомпрометированы вредоносными программами. Кроме того, AMT обладает некоторыми специфичными функциями безопасности для защиты компьютеров и изолирования заражённых вирусом систем.
AMT использует маленький процессор, встроенный в сетевую карту или северный мост чипсета центрального процессора, под названием “Manageability Engine” (ME); прошивка для него хранится в той же флэш-памяти, что и BIOS. Для запуска прошивки ME использует выделенную область системной памяти. По умолчанию AMT заблокирована, поэтому нужно будет включить её для каждого ПК; узнать о её работе поможет иконка на панели задач. Когда AMT включена, web-сервер, работающий в ME, показывает статус AMT-системы, который можно видеть из браузера на другом компьютере в той же сети, а также позволяет включать и выключать AMT-компьютер. Если компьютер даст сбой, ничего страшного не произойдёт, потому что ME работает в режиме ожидания S3.
Технология “Active Management Technology” использует аппаратные сетевые фильтры и внеполосную связь для обнаружения проблем и применения политики безопасности; контроль политики осуществляется с консоли управления другого компьютера. Нажмите на картинку для увеличения.
С программными средствами управления, разработанными для работы с технологией AMT, такими, как продукты Symantec Altiris, Lenovo Rescue and Recovery, HP OpenView и Microsoft System Management Center, вы можете перезагрузить компьютер, переадресовать его для загрузки с сетевого образа, чтобы устранить проблемы с локальной операционной системой, изменить настройки BIOS, перезапустить или обновить антивирусные программы, установить обновления Windows, восстановить жёсткий диск и удалить подозрительные приложения. Кроме того, можно получать предупреждения о проблемах и проверять, какое аппаратное и программное обеспечение установлено.
В сетевом контроллере есть 32 входных и выходных аппаратных фильтра для отслеживания сетевого трафика и автоматического помещения на карантин компьютеров блокированием трафика в случае, если система ведёт себя так, будто распространяет вирус. Такая система работает, даже если операционная система действует не полностью, так что вирус не может спрятаться, “подвешивая” Windows. Intel называет это “предохранителем”, но как и в случае с другими функциями AMT, ему нужны программные средства, написанные специально для его использования. Компания Symantec разрабатывает виртуальную систему безопасности, которая использует AMT для запуска своей собственной встроенной ОС и приложений для безопасности вне Windows, где вредоносные программы не смогут их повредить.
Платформа vPro представляет собой комбинацию дополнительных аппаратных функций в чипсете, во флэш-памяти рядом с BIOS, в сетевом контроллере, а также программного обеспечения для прямого контроля. Нажмите на картинку для увеличения.
Чтобы увидеть детали от AMT web-сервера, вам не нужно специальное программное обеспечение; можно воспользоваться любым web-браузером. Если у вас система Dell или HP с поддержкой AMT, то вы получите клиентское ПО для AMT бесплатно, вместе с ПК; ноутбуки и настольные компьютеры Lenovo vPro поставляются с бесплатным пакетом LANDesk Starter Kit для систем Lenovo. Для большего контроля можно скачать AMT Developer Toolkit с сайта Intel SDK, куда входят Intel AMT Commander – консоль, реализующая все функции AMT. Она позволяет удалённо конфигурировать BIOS, загружать другой компьютер из резервного образа, выключать компьютер, если он был оставлен включённым, или включать компьютер, чтобы обновить Windows.
AMT даёт каждому компьютеру на платформе vPro постоянный уникальный код Universal Unique Identifier (UUID), который может быть считан, даже когда компьютер выключен, и не меняется при установке другой операционной системы, форматировании жёсткого диска или замене памяти, видеокарты и других компонентов. Такой подход не только гарантирует, что управляющее ПО каждый раз взаимодействует с нужным компьютером, но такой код является также надёжным идентификатором данного ПК. Это значит, что вы можете устанавливать программы одновременно с Windows, которые в обычных ситуациях требуют, чтобы компьютеру было присвоено имя. Все программы можно устанавливать автоматически с единого образа – удобно.
Когда технология AMT войдёт в домашний компьютер как часть платформы VIIV, можно ожидать от производителей ПК появления услуг управления и безопасности, а также защищённых хранилищ. В Китае у Star SoftCom есть служба на основе AMT под названием “StarNet”, которая управляет офисными компьютерами. Компания продемонстрировала версию “StarNet” для домашних компьютеров, которая обладает правами на управление брандмауэром и антивирусными программами, а также такими службами безопасности, как “NetNanny”. Если пользователь отключает службу “NetNanny”, то политика AMT отсоединяет компьютер от Интернета, чтобы помешать просмотру web-страниц, однако компьютером всё равно можно управлять удалённо с помощью технологии AMT. Если у домашнего компьютера произошёл сбой, или он не может загрузиться из-за вируса или руткита, то “StarNet” может удалённо подключиться, запустить диагностическую операционную систему, подключить жёсткий диск и проверить наличие повреждённых драйверов, вирусов, повреждённого загрузочного сектора и других проблем, починить систему и отправить сигнал, который перезагрузит компьютер.
Компании Intel нужно подумать над модификацией AMT, чтобы она подходила для домашних пользователей. В бизнес-среде консоль управления подключается в той же внутренней сети, но дома ваш маршрутизатор не даст управляющему ПО подключиться извне, поэтому домашнему компьютеру придётся сначала запросить соединение. Прошивка AMT обладает функциями запроса о помощи, но не умеет создавать сетевое соединение, чтобы отправить запрос, поэтому компания Intel в следующей версии AMT планирует добавить эту функцию в прошивку.
Danbury также упростит некоторые функции AMT, например, удалённое разблокирование системы. Если вы забудете свой пароль системы с поддержкой Danbury, то служба технической поддержки сможет отправить команду удалённой разблокировки из управляющего программного обеспечения, вместо того, чтобы использовать ключ восстановления, хранящийся на флэш-накопителе для восстановления системы вручную.
Подобно всем аппаратным функциям безопасности, которые Intel встроила в свои платформы, данная функция нуждается в программном обеспечении, которое опирается на “железо” и доверяет компонентам системы, поскольку они аппаратно защищены платформой. Возможно, пока вы не будете пользоваться аппаратными средствами безопасности vPro, но в будущем эта платформа позволит делать всё: от защиты файлов до установления вашей личности. Старший вице-президент и технический директор Microsoft Крейг Манди (Craig Mundie) считает, что аппаратная поддержка на уровне платформы идеально подходит для системы надёжной идентификации. “TPM позволяет нам хранить секреты и обладать очень надёжными персональными идентификаторами. У нас будут идентификаторы для людей, программ и аппаратных средств, которые нельзя подменить; мы сможем создавать устройства, которым люди будут доверять”.
Технология Intel AMT позволяет диагностировать, обновлять и удалённо исправлять скомпрометированные компьютеры; пока такие возможности ограничены только бизнес-системами. Нажмите на картинку для увеличения.