Архивы: по дате | по разделам | по авторам

Один поток хорошо, а два - уже опасно

АрхивТехнологии
автор : Киви Берд   02.06.2005

На проходившей в Канаде конференции BSDCan 2005 наиболее заметным событием стал доклад о потенциальных опасностях технологии гипертрединга в последних процессорах корпорации Intel.

На проходившей в Канаде конференции BSDCan 2005, собравшей местных программистов-разработчиков операционной системы BSD/FreeBSD (наряду с Linux еще один популярный в народе клон Unix), наиболее заметным событием стал доклад о потенциальных опасностях технологии гипертрединга в последних процессорах корпорации Intel.

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

В самом кратком изложении суть открытия Персиваля сводится к тому, что интеловская технология Hyper-Threading при определенных условиях может позволить злоумышленнику украсть из памяти сервера секретные криптографические ключи с помощью довольно изощренной, так называемой таймерной атаки. Эта слабость нынешней реализации гипертрединга выявлена для процессоров Intel Pentium Extreme Edition, Pentium 4, Mobile Pentium 4 и Xeon, и проявляется независимо от используемой сервером операционной системы. В качестве наиболее простой и эффективной меры борьбы с данной уязвимостью Персиваль настоятельно рекомендует администраторам многопользовательских систем отключить в настройках функцию Hyper-Threading.

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

Кэш-память используется процессором для хранения в близком доступе часто запрашиваемых данных, благодаря чему ощутимо повышается производительность. В гипертрединговых процессорах Pentium 4 и Xeon кэш-память поделена на три уровня, именуемых Level 1, Level 2 и Level 3. В обычных однопоточных процессорах кэш L1 как правило очищается от всех инструкций и данных перед тем, как обработка переходит к следующему процессу. При использовании гипертрединга дело происходит несколько иначе - определенное количество информации в кэше сохраняется, так что следующий процесс в принципе имеет возможность получить хотя бы частичные данные о процессе предшествовавшем. А потому, как показал Колин Персиваль, при наличии умения и терпения злоумышленник может понемногу собрать из кэша фрагменты криптоключа, а затем - вероятностно-статистическими методами таймерной атаки из уже известного хакерского арсенала - и полностью секретный ключ восстановить.

Корпорация Intel, заранее предупрежденная исследователем о выявленной слабости, уже работает совместно с компаниями Microsoft и Red Hat над соответствующими программными патчами, которые будут выпущены в ближайшее время. Но одновременно в Intel считают, что данную угрозу не следует рассматривать как особо опасную. Описанную Персивалем атаку может организовать лишь злоумышленник, имеющий права внутреннего пользователя системы. Это означает, что сервер уже скомпрометирован. А в таких условиях для вредительства в достатке имеются куда более простые и эффективные способы - переполнение буфера или социальный инжиниринг, к примеру. Кроме того, описанная таймерная атака потенциально применима не только к интеловским Pentium 4 и Xeon, но и вообще к любым процессорам, где используется многопоточная обработка с общим доступом к кэш-памяти. Иначе говоря, по мнению производителей процессоров, проблема компрометации и защиты ключей в кэше должна больше волновать изготовителей криптопрограмм, а не конструкторов чипов общего назначения.

- Из журнала "Компьютерра"

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.