Антивирусная защита, Intel и патенты: история длиною в год Андрей Луценко
Антивирусная защита, Intel и патенты: история длиною в год
Андрей Луценко
Опубликовано 06 октября 2011 года
Приблизительно год назад по новостным лентам прошло сообщение о начале процесса покупки фирмой Intel компании McAfee. За туманными заявлениями для прессы профессионалы сразу уловили новый вектор развития систем информационной безопасности – сращивание аппаратных и программных средств, для обеспечения комплексной защиты вычислительной платформы.
До настоящего времени процессоры содержат только блоки контроля разграничения привилегий выполняемых программ, но эти системы внедрены в архитектуру х86 более двадцати лет тому назад (только вдумайтесь во временной масштаб!).
За все эти годы единственным архитектурным решением, улучшающим защиту информации на вычислительных системах, было внедрение NEX бита в структуру табличных преобразований виртуальной памяти. Аппаратура контролировала наличие данного бита в системных таблицах и блокировала выполнение кода в страницах памяти, помеченных этим битом. Иными словами, страницы памяти разделили на два типа. Страницы старого типа содержат данные и программный код (то есть всё что угодно), а страницы нового типа могут содержать только данные.
Это произошло более пяти лет тому назад одновременно с внедрением шестидесятичетырёхбитного режима, и оказалось малоэффективной мерой — хакеры научились обходить эту защиту. Была понятна и основная причина такой слабости: защитные механизмы работали на том же программном уровне, что и вирусные программы. Короче говоря, вирусы научились сначала отключать эту аппаратуру, а затем уже выполнять свои функции.
И вот, через пять лет, процессорные архитекторы снова взялись за решение проблем информационной безопасности. Факт дорогостоящей покупки однозначно говорил о том, что для решения этой задачи привлекаются не только мозги, но и серьёзные финансовые ресурсы. Значит, задумано что-то посерьёзней внедрения очередной локальной системы безопасности. Сразу возникает вопрос: а почему это произошло именно сейчас, что случилось такого, что пришлось заняться эти вопросом так серьёзно?
Конечно, можно ограничиться мыслью, что рынок «созрел», пора отправляться бизнесменам в Страну Дураков и выкапывать на поле чудес кучи «золотых сольдо». Но, думаю, есть ещё один фактор, который существенно повлиял на принятие такого серьёзного финансового решения. Этот фактор можно образно назвать фактором красного (жёлтого) дракона.
За последние годы география расселения хакерских команд существенно расширилась. Если раньше там безраздельно хозяйничали европейцы и американцы («сукины дети», конечно, но свои), то теперь явно с участием и поддержкой государства к ним присоединились китайские коллеги, а это уже фактор непредсказуемый и неконтролируемый. Видимо, озабоченность их деятельностью достигла той стадии, что решено было ограничить их активность «железными (кремниевыми) рамками». Но эту тему мы оставим для Бёрда Киви, наша история не об этом.
После информации об организационном масштабе (покупка фактически непрофильного актива) и огромной сумме вложений (называлась сумма в семь миллиардов долларов) стало понятно, что решаться проблема безопасности будет комплексно и радикально. Похоже, решили устранить самые принципиальные корневые проблемы — так сказать, «ахиллесовы пяты» самой архитектуры вычислительного процесса. Отложенные про запас, но очевидные для специалистов изменения и дополнения в архитектуре вычислительного процесса начнут постепенно реализовывать в кремнии.
Их, проблем, на уровне архитектуры вычислительного процесса не так уж и много, всего четыре, но они на протяжении последнего десятилетия терзают информационную безопасность, воплощаясь в разных ипостасях. Чисто программными методами с ними справиться не удаётся; настало время радикальных, «железных» решений.
Проблем четыре, и они разной природы. Три из них связаны с конкретными методами атак, а последняя проблема носит концептуальный характер. Перечислю с конца, благо этой темы мы уже краешком коснулись в данной статье.
На настоящий момент программная и аппаратная инфраструктура систем безопасности функционирует в лучшем случае на том же программном уровне, что и ядро операционной системы. Это позволяет внедряться в процессы контроля безопасности практически любому программному коду. Для исключения такой возможности необходимо ввести аппаратный механизм изоляции программ и аппаратуры информационной безопасности.
Инфраструктура защиты должна быть вынесена с уровня программирования, доступного операционной системе и тем более прикладным программам. Не вдаваясь в подробности, можно сослаться на печальный опыт внедрения защиты с использованием NEX бита: его просто научились отключать.
На данный момент в архитектуре х86/64 таких независимых уровня два: это уровень режима системного менеджмента (SMM режим) и уровень хоста Гипервизор. Кроме этого, у Intel есть один малоизвестный режим работы процессора – логический режим доверенного выполнения (XSMM). Если всерьёз подходить к борьбе с вирусами, то, конечно, аппаратура контроля вирусной активности должна управляться программами, работающими именно в этих режимах, хотя ничего не мешает ввести новый режим, специально заточенный под специфику решаемой задачи.
Кроме этого, для антивирусных программ пользовательского уровня и уровня ОС следует предоставить доверенный командный интерфейс, по типу реализованного в ТРМ-модулях. Заодно можно побороться с пиратами, на радость блюстителей авторских прав, заставив контролировать в точках старта программ наличие легальных сертификатов с помощью того же ТРМ-модуля.
С инфраструктурой понятно, теперь вопрос: что контролировать?
И здесь всё ясно. Методов пробоя информационной безопасности у хакеров и шпионов не так много, на первом этапе можно ограничиться контролем за самыми актуальными.
В сумме эти методы эксплуатируют всего ТРИ архитектурных уязвимости. Следовательно, можно поставить на аппаратный контроль нарушение архитектурных соглашений, которые декларируются, но не контролируются на настоящий момент. Пока звучит туманно, но думаю, из дальнейшего сразу станет понятным.
Первая и самая серьёзная архитектурная уязвимость — это однородность оперативной памяти: в ней все можно хранить в произвольном порядке. Конечно, имеются соглашения на уровне ОС о распределении адресных пространств, часть этих соглашений уже давно контролируется аппаратурой (в области ОС нельзя работать прикладным программам), но только часть. Атака, направленная на повышение уровня привилегий, как раз и эксплуатирует уязвимость в архитектуре, не защищённую аппаратурой. В области прикладных программ пока разрешено работать программам с привилегиями уровня ядра ОС, и именно этим пользуются хакеры.
Вторая архитектурная уязвимость — это наличие единого стека. В нём хранится как служебная информация (указатели на точки возврата из процедур), так и локальные данные программ. Соглашение о разделении и упорядочивании стека существует, но не контролируется аппаратурой. Атака через переполнение буфера как раз и эксплуатирует этот механизм методом подмены адреса точки возврата из процедуры. Следовательно, если поставить на контроль целостность адресов области стека, где хранятся указатели на точки возврата из процедур, то можно блокировать целый класс хакерских атак.
Третья архитектурная уязвимость — это равноправие программ, независимо от их источника загрузки в оперативную память. Максимум, что проверяется на данный момент, — это авторство, через цифровые подписи, ну и, видимо, уже скоро начнут контролировать наличие сертификатов на право использование программ. Как показывают недавние громкие скандалы, связанные с дискретизацией подписей и сертификатов, даже эти средства защиты не панацея. Нужно ранжировать непосредственный источник загрузки исполняемого программного кода. Одно дело — локальный диск, это максимальный уровень доверия; другое дело — съёмный носитель либо сетевой доступ (в большинстве случаев им совсем нельзя доверять). Если при загрузке информации (данных и программ) в оперативную память маркировать страницы памяти кодом устройства, с которого произведена загрузка, то становится возможным блокировать попытки запуска программ со съёмных устройств и сети. Атака по типу нашумевшего на весь мир компьютерного червя Stuxnet стала бы просто невозможной.
Всё это было известно и раньше, но контролировать до настоящего момента эти атаки пытались разными программными методами, создавая «песочницы», применяя аналитику и прочее... Всё это худо-бедно работало, но медленно и ненадёжно. С другой стороны, все три вышеперечисленные атаки имеют однозначные характерные признаки на аппаратном уровне. Эти признаки можно контролировать непрерывно, а не только в критических точках, как делается с помощью программных методов контроля, и, что немаловажно, — без потери быстродействия.
Если использовать хотя бы перечисленные выше методы аппаратного контроля, то можно предотвращать хакерские атаки на этапе попытки внедрения в целевую систему, а не по факту функционирования уже внедрённого вируса. А это уже дорогого стоит...
Собственно, всё это было ясно и три, и пять лет тому назад — думаю, не только мне, но и любому грамотному специалисту. Кому-то удалось эти достаточно очевидные мысли пропихнуть в мозги бизнесменов, и те начали вкладывать во всё это деньги.
Можно было на этом успокоиться, но мысль оказаться впереди планеты всей прочно засела уже в моём мозгу. Я решил обогнать Intel и неспешно приступил к работе, зная, что цикл разработки у них — где-то год-полтора, а значит, у меня времени для этого было предостаточно. Сказано — сделано: к 2011 году я все эти методы контроля за вирусными атаками реализовал на практике. Понятно, что не в кремнии, а на виртуальном оборудовании, которое было создано с помощью средств виртуализации. Тогда же была написана соответствующая статья, к ней приложены демонстрационные программы, чтобы всё, что было в статье, можно было пощупать на практике. Статья «вылёживалась», пережидая мёртвый сезон длинных новогодних каникул. А в это время появилась новость, что сделка по покупке McAfee завершена, и я понял, что нахожусь на верном пути. Опубликовал статью и угомонился в ожидании дальнейших событий.
Ждать пришлось недолго: текущей осенью мои прогнозы начали сбываться. На конференции IDF2011 фирма Intel совместно с McAfee анонсировали технологию аппаратной антивирусной защиты DeepSAFE, которая будет реализована в новых моделях процессоров, разрабатываемых фирмой Intel. Пока это общие слова и невнятные картинки, но посмотрите на скриншот: там красным цветом выделена прослойка между процессором и операционной системой. Подписана она словом DeepSAFE. Это как раз то, что и требовалось, — независимый уровень контроля за активностью вирусных атак. Как он будет реализован, нам пока не объяснили. Вариантов несколько, но суть не в конкретном решении, а в самой концепции.
Кроме этого во время анонса новых 22нм процессоров Ivy Bridge была описана технология защиты от повышения уровня привилегий SMEP (Supervisory Mode Execute Protection).
Данная технология контролирует уровень привилегий исполняемого кода, размещённого в адресном пространстве, выделенном для работы программам (Applications).
Именно эту защиту я реализовал на виртуальном устройстве в конце прошлого года, то есть и здесь угадал. У Intel она работает приблизительно так же, как и NEX бит. Но имеет одну слабость, даже по сравнению с NEX битом: она отключается сбросом единственного бита в управляющем регистре CR4. Видимо, это промежуточное решение и вскоре, при внедрении прослойки DeepSAFE, этот фокус уже не пройдёт.
Хотя данная аппаратура представлена только сейчас, но в официальной документации фирмы Intel это архитектурное решение уже нашло отражение. В новой редакции документации (том 3А), датированной маем 2011 г., но опубликованной во время проведения конференции IDF2011, имеется полное описание работы данного оборудования.
Таким образом, на данный момент два из четырёх предположений подтвердились. Будем ждать последующих новостей и делать ставки. Я, кстати, свои ставки уже сделал. Когда я сказал, что написал статью и угомонился, то немного слукавил. На самом деле угомонился я после того, как все эти методы запатентовал (сделал свою ставку). Запатентовал в России, не бог весть что, но всё же патент. И вот на данный момент я вынужден констатировать: мои права патентообладателя скоро будут нарушены... Когда? Вопрос риторический, так как ответ очевиден: когда эти Ivy Bridge начнут ввозить в Россию (патент, увы, локальный).
Кстати, это только один из патентов, а их у меня, совместно с фирмой «ЛАН-ПРОЕКТ», не один, а целых три. Так что когда начнут ввозить продукты с технологией DeepSAFE, то опять, похоже, станут нарушать мои права. Ну что сказать на это в заключение? Лично я этого так не оставлю, буду жаловаться!.. Путину!
К оглавлению
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Антивирусная защита
Антивирусная защита Каждому пользователю известно, какую опасность представляют для компьютера компьютерные вирусы. Эти создания как пробующих свои силы, так и опытных программистов могут и подшутить над пользователем, и нанести большой вред компьютеру или
Боевое применение дронов: история и перспективы Андрей Васильков
Боевое применение дронов: история и перспективы Андрей Васильков Опубликовано 10 июня 2013 При подготовке любой статьи о современных видах вооружения приходится делать поправку на ореол секретности, скрывающий важные детали. Приоткрыть завесу
Facebook грозит бросить Intel в пользу ARM Андрей Письменный
Facebook грозит бросить Intel в пользу ARM Андрей Письменный Опубликовано 24 августа 2010 года По слухам, компания Facebook, владеющая одноимённой социальной сетью, начнёт постройку нового дата-центра в штате Орегон, США. Якобы, его особенностью станет
AMD Bulldozer: ждать ли революции? Андрей Луценко
AMD Bulldozer: ждать ли революции? Андрей Луценко Опубликовано 18 октября 2011 года Анонс новых процессоров AMD Bulldozer («Бульдозер») получился неоднозначным. В комментариях и обзорах царит полный скепсис. Тесты показывают отсутствие значимого повышения
Intel уходит с рынка решений для бизнес-аналитики Андрей Васильков
Intel уходит с рынка решений для бизнес-аналитики Андрей Васильков Опубликовано 28 марта 2014 Руководство компании Intel решило прекратить самостоятельную разработку программных средств для бизнес-аналитики. Вероятная причина в том, что, сотрудничая с
Защита удалённых хранилищ: ключи в руках и в облаках Андрей Васильков
Защита удалённых хранилищ: ключи в руках и в облаках Андрей Васильков Опубликовано 02 апреля 2014 Основанная в 2005 году фирма Box предоставляет услуги облачного хранения данных миллионам частных клиентов и корпоративным заказчикам, число которых уже
Intel Edison: компьютер размером с карту SD становится умнее Андрей Васильков
Intel Edison: компьютер размером с карту SD становится умнее Андрей Васильков Опубликовано 31 марта 2014 Компания Intel проапгрейдила свой самый маленький компьютер Edison. Его первая версия в формфакторе карты памяти стандарта SD была представлена в январе на
Аппаратные трояны для процессоров Intel — первая практическая реализация Андрей Васильков
Аппаратные трояны для процессоров Intel — первая практическая реализация Андрей Васильков Опубликовано 19 сентября 2013 Восемь лет назад Министерство обороны США публично выразило обеспокоенность тем, что при достаточном техническом уровне
Как темнеет белая шляпа: история превращения в хакера Андрей Васильков
Как темнеет белая шляпа: история превращения в хакера Андрей Васильков Опубликовано 08 мая 2014 Бывший сотрудник консалтинговой фирмы The Canton Group был арестован ФБР после выполнения аудита безопасности компьютерной сети Университета штата Мэриленд. В
История Dropcam – от кустарной слежки до облачного сервиса видеонаблюдения Андрей Васильков
История Dropcam – от кустарной слежки до облачного сервиса видеонаблюдения Андрей Васильков Опубликовано 10 июля 2013 Порой отличная идея рождается из наблюдений за бытом людей и попыток решить наболевшие проблемы. Проект Dropcam начинался как слежка
Intel приблизил сказку к реальности: Intel Developer Forum Fall 2006, Сан-Франциско. Чаcть вторая
Intel приблизил сказку к реальности: Intel Developer Forum Fall 2006, Сан-Франциско. Чаcть вторая Автор: Сергей Озеров(Продолжение. Начало см. в #657.)Несмотря на чрезвычайно яркую и эффектную R&D-секцию Форума, все же его основное предназначение — служить огромным техническим брифингом для
Intel приблизил сказку к реальности: Intel Developer Forum Fall 2006, Сан-Франциско
Intel приблизил сказку к реальности: Intel Developer Forum Fall 2006, Сан-Франциско Автор: Сергей ОзеровПодобно большинству серьезных высокотехнологичных компаний, Intel соблюдает строгий режим секретности — даже о ее известных разработках вплоть до последней минуты, когда происходит
Двигатели для покорения космоса: краткая история смелых проектов и перспективные разработки Андрей Васильков
Двигатели для покорения космоса: краткая история смелых проектов и перспективные разработки Андрей Васильков Опубликовано 14 февраля 2013Новые программы освоения космоса требуют разработки более совершенных двигателей. Конструкторам всегда хотелось уменьшить их