множество ошибок в процессорах Intel Core 2 все еще ждет исправления

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

Множество разработчиков по всему миру заняты поиском решений для исправления серьезных ошибок, недавно обнаруженных в процессоре Intel Core 2. Как оказалось, эти процессоры имеют огромное количество ошибок, причем некоторые из них не просто вызывают трудности при разработке/отладке программ, но и могут быть использованы для создания вредоносного кода.

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

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

Таким образом, с момента обнаружения ошибки в процессоре и до момента, когда ее устранят программно, могут пройти недели и даже месяцы. В добавок, многие пользователи не знают, что такое «обновление BIOS» и остаются в неведении относительно того, какой опасности они подвергаются. В общем, у злонамеренного программиста достаточно времени, чтобы написать и запустить в сеть вредоносный код.

Полное описание ошибок, опубликованное на сайте компании Intel можно найти по адресу

http://download.intel.com/design/processor/specupdt/31327914.pdf.

Вот основные трудности, которые видит сообщество в связи с существованием обнародованных проблем:

- в списке представлена информация далеко не обо всех ошибках - каждый месяц список становится все больше и больше;

- Intel значительно занижает важность обнаруженных проблем. Практически все ОС так или иначе будут затронуты этими ошибками;

- в новой версии процессора Intel, MMU (Memory Management Unit) работает не так, как это было реализовано в предыдущих поколениях аппаратного обеспечения архитектуры x86. Он не просто содержит ошибки - Intel пошла дальше и объявила «новые методы при работе с TLB (Translation Look-Aside Buffers)»;

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

В документе http://www.geek.com/images/geeknews/2006Jan/core_duo_errata__2006_01_21__full.gif находится более детальное описание этой и других проблем.

Следует иметь в виду, что некоторые из ошибок, такие как AI65, AI79, AI43, AI39, AI90, AI99 (см. вышеозначенный документ), по мнению экспертов, крайне опасны, а часть из них неисправима.

Особое возмущение сообщества вызывает тот факт, что компания Intel убеждает всех, что ошибки в работе MMU на самом деле «не баг, а фича»: в новой версии процессора, методы работы с TLB (Translation Look-Aside Buffers) отличаются от тех, которые использовались ранее в архитектуре x86. Но даже если делать так, как говорит Intel, все равно остается некоторое количество ошибок в процессорах, которые будут представлять угрозу для безопасности.

Вот что говорит разработчик OpenBSD, Theo de Raadt:

«В списке Intel около 20-30 ошибок, которые не могут быть исправлены программно на уровне ОС и которые потенциально могут быть использованы. Я готов поспорить на деньги, что две-три из этих ошибок уже эксплуатируются.

Для примера, AI90 может быть использована на некоторых ОС (но не на OpenBSD с бинарными пакетами, входящими в состав дистрибутива). На текущий момент времени я рекомендую не покупать любые компьютеры с процессором Intel Core 2 до тех пор, пока с этими ошибками не разберутся окончательно (как я подозреваю, это может занять минимум год). Intel стоило бы стать более открытой сообществу разработчиков ПО с открытым исходным кодом, сотрудничать с ними, а не скрывать информацию.

В заключение хочется добавить, что компания AMD так же с каждым днем становится все более бесполезной для разработчиков ОС с открытым исходным кодом. Возможно потому, что их список проблем так же растет очень быстро.»



Сергей Довнар aka Slyder


Сетевые решения. Статья была опубликована в номере 09 за 2007 год в рубрике save ass…

©1999-2024 Сетевые решения