25.04.2008

О безопасности на уровне процессора

Мы часто и много слышим про безопасность персональных компьютеров, серверов и других оконечных устройств. Антивирусы, защита от утечек, HIPS, шифрование файлов… Все это составляющие защиты современного ПК/сервера. В ряде случае она расширяется за счет возможностей, встроенных в операционную систему. Но… есть одна тема, которая обычно не поднимается или очень мало описана в СМИ. Речь идет о безопасности на уровне материнской платы (motherboard) и дополнительных чипов, которые могут быть интегрированы в эти платы. Поэтому я и написал для журнала "ИТ Спец" статью "Материнская безопасность", посвященную этой теме.

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

"Считается, что сама по себе операционная система (будь то Windows или Linux) является недоверенной средой и требует дополнительного уровня охраны со стороны навесных систем защиты от несанкционированного доступа. Такая идеология следует со стороны отечественных регуляторов в области информационной безопасности, которые предписывают в критичных областях, а также в государственных органах власти, использовать сертифицированные (т.е. прошедшие специальную экспертизу) программные решения; обычно отечественных производителей (Информзащита, ОКБ САПР и т.д.). Надо заметить, что западные регуляторы следуют тому же подходу. Если посмотреть на «Радужную серию», «Общие критерии» (ISO 15408) и другие документы, то все защитные требования, предъявляемые к компьютерным системам, касаются только программного обеспечения. Все эти документы исходят из предпосылки, что аппаратная платформа – процессор, микросхемы, материнская плата, контроллеры и т.п., «безгрешны». Но кто это сказал? Почему все так уверены, что аппаратная платформа, на которой работает и якобы недоверенная ОС, и приложения, и системы защиты, обладает защитой? Пойду дальше, и буду утверждать, что современная материнская плата и компоненты, ее составляющие, достаточно интеллектуальны, чтобы содержать закладки (недекларированные возможности в терминологии российских регуляторов) и нести угрозу всему, что к ним обращается. И это не пустые слова.


В 1995 году на симпозиуме IEEE прозвучал доклад трех американских исследователей (Олин Сайберт, Филлип Поррас и Роберт Линделл) «An Analysis of the Intel 80x86 Security Architecture and Implementations», в котором были сделаны очень интересные выводы. Они нашли в процессорах Intel 80x86 и Pentium множество недокументированных каналов и узлов, скрытые каналы, а также необъяснимые изъяны и дефекты в механизмах защиты. Все эти проблемы «помогают» обойти вышележащие программные системы защиты, к какому бы высокому уровню безопасности они не относились. Все бы «ничего», если бы эти дефекты, число которых в некоторых версиях процессоров достигало нескольких десятков, не наследовались от семейства к семейству. Началось все еще в Intel 8086, затем перешло в Intel 80286, 80386, 80486 и даже в Intel Pentium. Исследователи нашли их даже в Intel’овских клонах, произведенных AMD, Cyrix и другими компаниями...".

Исследуя эту тему, оказалось, что она очень и очень интересна. Ведь мы действительно провожим явную черту между ПО и материнской платой. Всю безопасность мы возлагаем только на первый элемент, напрочь забывая про второй. Ситуация постепенно сдвигается с мертвой точки и некоторые ОС уже оснащающатся такой интеграцией с защитными функциями процессоров, но пока это не стало best practices и уж тем более мало кто из производителей программных систем защиты (и отечественных и западных) обращает на эту тему пристальное внимание. Хотя, малость порекламировав своего работодателя, могу сказать, что тот же Cisco Security Agent может использовать функции Intel vPro для контроля загрузки с посторонних носителей.

ЗЫ. Номер с этой статьей пока не вышел, но это должно скоро произойти. А через 2-3 месяца после выпуска журнала на сайте ИТ Спец появится и электронная версия материала.

5 коммент.:

Анонимный комментирует...

Касаемо недекларированных возможностей процессоров и др. компонентов ПК - эта тема не нова. В свое время (1998-2001) писал диплом по теме недокументированных команд процессоров AMD. Единственное, что тема мало освещаемая и мало кто задумывается о тех страшных командах которые могут быть зашиты в проц. ФСТЭК сертифицирует ОС, а про железо забывает. Хотя достаточно одной команды, чтобы ваш винт рассыпался у вас на глазах :)

Алексей Лукацкий комментирует...

Вот именно

Алексей Лукацкий комментирует...

В тему, кстати, http://www.schneier.com/blog/archives/2008/04/designing_proce.html

SWAN комментирует...

Если не вдаваться в подробности, то большинство средств защиты работают на стыке (пользовательское ПО(3 уровень защиты) - системное ПО(драйвера, обработчики WIN API) и 2-0 уровень защиты). Что происходит в системе, как проходит информация(например пароль)с момента ввода на клавиатуре и обрабатывается в системе - мало кто знает. На мой взгляд ситуация проста - для того чтобы провести анализ системы нужно ой как много сил, времени и денег. Неизмеримо больше чем может себе позволить "Бизнес". К тому, же сроки проведения такого анализа могут соизмеряться со сроками "жизненного цикла" самой системы. Поэтому, как не прискорбно ситуация "хождения по верхам" будет продолжаться... поможет стандартизация, унификация и т.п. тоесть в условиях конкуренции - не поможет ничего :)

Алексей Лукацкий комментирует...

http://www.osp.ru/cw/2008/16/5005671/ - что-то тема пошла ;-)