Выбрать главу

До настоящего времени процессоры содержат только блоки контроля разграничения привилегий выполняемых программ, но эти системы внедрены в архитектуру х86 более двадцати лет тому назад (только вдумайтесь во временной масштаб!).

За все эти годы единственным архитектурным решением, улучшающим защиту информации на вычислительных системах, было внедрение NEX бита в структуру табличных преобразований виртуальной памяти. Аппаратура контролировала наличие данного бита в системных таблицах и блокировала выполнение кода в страницах памяти, помеченных этим битом. Иными словами, страницы памяти разделили на два типа. Страницы старого типа содержат данные и программный код (то есть всё что угодно), а страницы нового типа могут содержать только данные.

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

И вот, через пять лет, процессорные архитекторы снова взялись за решение проблем информационной безопасности. Факт дорогостоящей покупки однозначно говорил о том, что для решения этой задачи привлекаются не только мозги, но и серьёзные финансовые ресурсы. Значит, задумано что-то посерьёзней внедрения очередной локальной системы безопасности. Сразу возникает вопрос: а почему это произошло именно сейчас, что случилось такого, что пришлось заняться эти вопросом так серьёзно?

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

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

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

Их, проблем, на уровне архитектуры вычислительного процесса не так уж и много, всего четыре, но они на протяжении последнего десятилетия терзают информационную безопасность, воплощаясь в разных ипостасях. Чисто программными методами с ними справиться не удаётся; настало время радикальных, "железных" решений.

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

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

Инфраструктура защиты должна быть вынесена с уровня программирования, доступного операционной системе и тем более прикладным программам. Не вдаваясь в подробности, можно сослаться на печальный опыт внедрения защиты с использованием NEX бита: его просто научились отключать.

На данный момент в архитектуре х86/64 таких независимых уровня два: это уровень режима системного менеджмента (SMM режим) и уровень хоста Гипервизор. Кроме этого, у Intel есть один малоизвестный режим работы процессора – логический режим доверенного выполнения (XSMM). Если всерьёз подходить к борьбе с вирусами, то, конечно, аппаратура контроля вирусной активности должна управляться программами, работающими именно в этих режимах, хотя ничего не мешает ввести новый режим, специально заточенный под специфику решаемой задачи.