Вторая архитектурная уязвимость - это наличие единого стека. В нём хранится как служебная информация (указатели на точки возврата из процедур), так и локальные данные программ. Соглашение о разделении и упорядочивании стека существует, но не контролируется аппаратурой. Атака через переполнение буфера как раз и эксплуатирует этот механизм методом подмены адреса точки возврата из процедуры. Следовательно, если поставить на контроль целостность адресов области стека, где хранятся указатели на точки возврата из процедур, то можно блокировать целый класс хакерских атак.
Третья архитектурная уязвимость - это равноправие программ, независимо от их источника загрузки в оперативную память. Максимум, что проверяется на данный момент, - это авторство, через цифровые подписи, ну и, видимо, уже скоро начнут контролировать наличие сертификатов на право использование программ. Как показывают недавние громкие скандалы, связанные с дискретизацией подписей и сертификатов, даже эти средства защиты не панацея. Нужно ранжировать непосредственный источник загрузки исполняемого программного кода. Одно дело - локальный диск, это максимальный уровень доверия; другое дело - съёмный носитель либо сетевой доступ (в большинстве случаев им совсем нельзя доверять). Если при загрузке информации (данных и программ) в оперативную память маркировать страницы памяти кодом устройства, с которого произведена загрузка, то становится возможным блокировать попытки запуска программ со съёмных устройств и сети. Атака по типу нашумевшего на весь мир компьютерного червя 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, то опять, похоже, станут нарушать мои права. Ну что сказать на это в заключение? Лично я этого так не оставлю, буду жаловаться!.. Путину!
Голубятня: Гений и злодейство
Автор: Сергей Голубицкий
Опубликовано 06 октября 2011 года
Помнится, в университетской юности меня очень волновала тема Моцарта и Сальери. Обсуждал ее ночи напролет, спорил до посинения, доказывая несогласным, что самый жуткий злодей с легкостью может сочетать в себе отвратные черты характера и поступки с безусловной гениальностью.
С годами я не только не отказался от своего убеждения, но еще и дополнил его разнообразными вариациями. Скажем, совершенно бездарное произведение искусства можно преобразовать в гениальное творение. Последний пример хорош тем, что его, в отличие от симбиоза гениальности и злодейства, совершенно невозможно принять априорно на веру. В самом деле: возьмите Наполеона. Карлик-чудовище, лишенное напрочь каких-либо морально-этических ориентиров и единственно мотивированное безудержным тщеславием, подхлестываемым комплексом неполноценности (из воспоминаний близкого окружения: первый французский император занимался сексом, не снимая шпаги, желая, тем самым, очевидно, унизить женщину, благо, унижение это никогда не длилось более одной минуты). Между тем, даже у самого захудалого роялиста-современника не было сомнений в совершенной гениальности Буонопарте. Причем исключительность эта проявлялась не только на полях брани, но и во всем остальном: от умения годами работать по 18-20 часов в сутки до сверхъестественной интуиции и умения манипулировать народными массами.
Совсем другое дело безнадежно бездарное произведение искусство, будь то книга, фильм или картина. Смотришь и понимаешь: это кранты! Как тут не подкручивай, ничего исправить невозможно даже для приведения в сносный вид. Какая уж тут гениальность?
Опровергнуть эту мнимую очевидность я попробую на примере смежных искусств, поскольку сложно себе представить, чтобы кому-то приходило в голову переписывать чужую бездарную книгу. Зато сделать экранизацию бездарной книги - это всегда пожалуйста! И примеров таких экзерсисов множество. Посему для удобства перефразируем вопрос: возможно ли из бездарной книги сделать гениальный фильм?
Только не спешите с ответом! Это только кажется, что гениальному режиссеру достаточно взять любой литературных мусор и превратить его в пирожное. В творческой повседневности существует одна коварная реальность: «Тема повела». Смысл этой реальности: как не старайся, как не облагораживай сценарный материал, если он безнадежен, он задушит любые искры гениальности - будь то актерскую игру, операторское искусство или монтаж. Вернее: ни блестящая игра актеров, ни головокружительная диатеза (в теории искусства: диатеза - это феномен рассказчика, роль которого в кино выполняет камера), ни оживление сюжета за счет монтажа не могут компенсировать убожество текста, лежащего в основе всего проекта.