Уязвимости в процессорах: кому грозят и что делать
Наступивший 2018-й преподнес ИТ-сообществу очередной сюрприз, причем снова в разделе «Безопасность и уязвимости»: 2 января сайт ‘The Register’ оповестил, что в процессорах Intel уже 27 лет кроется мина замедленного действия. Специалисты заявляют, что это не технологический баг и не ошибка в проектировании – уязвимость фактически изначально заложена в архитектурные особенности CPU, выпускаемых с 1995 года. По их словам, разработчики прекрасно осведомлены о потенциальной опасности, но закрыли на нее глаза в угоду гонке за производительностью.
Пользователей охватила волна беспокойства: насколько это опасно и что делать, ведь речь идет ни много ни мало о скрытом хищении персональных данных, в том числе аутентификационных (пароли, логины) и данных платежных систем. Наиболее рассудительные отметили, что в течение почти 30 лет потенциальной дырой никто не воспользовался, иначе о масштабных утечках стало бы давно известно. А их оппоненты тут же не преминули заявить, что изъятие информации могло проходить настолько незаметно, что никто и не подумал поднимать тревогу. В конце концов, ряд утечек могли списать на пресловутый человеческий фактор или уязвимости в прикладном ПО.
Кто из спорящих прав, сказать сложно. Поэтому просто разберем ситуацию и поглядим, как развивались события с максимальной беспристрастностью.
Суть проблемы
Итак, 1 июня 2017 года отчеты о проблеме, сформулированные командами Google Project Zero и Грацского технического университета, были отправлены в Intel, AMD и ARM (да-да, всем одновременно, ведь, несмотря на ярко выраженный в Сети акцент на Intel, аналогичный вопрос стоит и перед другими компаниями). И уже 4 января Microsoft выпустила внеочередное обновление Windows 10 (KB4054022), которое автоматически установится на компьютеры с данной ОС. Пользователям более ранних версий (7 и 8) придется обождать до 9 января, к тому же аналогичный патч потребуется устанавливать вручную.
В Apple ситуацию не комментируют, правда, из сторонних источников известно, что частично проблема решена в macOS 10.13.2, выпущенной в декабре минувшего года, а полностью защищенной будет macOS 10.13.3. Что касается Linux, то заплатки в его ядре начали появляться тоже с декабря 2017-го.
Напрашивается вопрос: почему об уязвимости заговорили только сейчас, если о ней было известно еще полгода назад? Ответ прост: представители компаний настоятельно попросили не оглашать подробностей в СМИ до 9 января 2018 года, чтобы получить время на купирование уязвимости. А вот как получилось, что обнародование состоялось за неделю до установленного срока, увы, неизвестно.
Не только Intel
С технической стороны уязвимостей две, и получили они названия Meltdown («крах», «расплав») и Spectre («призрак»). Что интересно, первая присуща исключительно процессорам Intel (в AMD напрочь отвергают ее присутствие в своих продуктах), а вот наличие Spectre признали все без исключения вендоры. В частности, конструкторы ARM утверждают, что данной уязвимости подвержены процессоры Cortex-A и Cortex-R (разработаны для смартфонов и планшетов), а в Cortex-M ее нет.
Впрочем, ни один из разработчиков CPU не в состоянии исправить ситуацию: по их словам, это под силу лишь на уровне ядра операционной системы, чем они и занимаются в настоящее время. Так, Google оповестила о внедрении в Android защиты от Spectre c январским обновлением безопасности. Правда, в первую очередь оно затронет смартфоны Pixel первого и второго поколения, Nexus 5X и 6P, планшет Pixel C и приставку Nexus Player. Сервисы Google (включая Google Search, YouTube, Google Ads, Maps, Blogger, Gmail, Calendar, Drive, Docs и G Suite) уже обезопасили.
Немного подробностей. Meltdown, как поясняют специалисты, разрушает изоляцию между пользовательскими приложениями и операционной системой при задействовании специфического режима работы процессора – так называемом спекулятивном выполнении команд. В теории программа-злоумышленник может несанкционированно получить полный доступ к оперативной памяти ядра CPU и извлечь данные, в том числе защищенные.
Спекулятивное выполнение команд — процедура, посредством которой процессор превентивно просчитывает сценарии исполнения команд. При ее работе не выполняется процедура проверки прав доступа, вследствие чего сторонняя программа может извлечь из сценария любые данные. Уязвимость Meltdown работает на принципе измерения задержки доступа к данным, возникающей в процессоре.
В свою очередь, Spectre (общее название еще двух уязвимостей) предоставляет вредоносному ПО извлекать данные, к которым процесс не должен иметь доступа, в том числе пароли из веб-браузера. Речь идет о разрушении изоляции между отдельными приложениями, также реализуемом на использовании уязвимостей в CPU. Технически это намного сложнее, чем в случае Meltdown, но даже такой вероятностью пренебрегать неосмотрительно, поэтому разработчики интернет-обозревателей уже вовсю выпускают обновления. Так, Google планирует выход свежей версии браузера Chrome с изолированием сайтов друг от друга не позднее 23 января (хотя и сейчас ее можно активировать вручную). Apple, Microsoft и Amazon также подтвердили внесение корректив в собственные разработки.
Разумеется, каждого пользователя десктопа или мобильного компьютера беспокоит вопрос, насколько это затронет его машину. Здесь можно ожидать две новости – хорошую и плохую. Хорошая в том, что уже в ближайшее время заплатки для ПО охватят более 90% проблемных процессоров и приложений; вдобавок к этому никто в мире не огласил факт реализации ПО, использующего уязвимости Meltdown и Spectre. А вот и плохая: защита на уровне ядра попросту блокирует применение проблемных технологий в процессорах, отключая их. Как нетрудно догадаться, это приводит к потере производительности (от 5 до 30%). Правда, справедливости ради следует признать: снижение на треть характерно для специфического ресурсоемкого ПО, в частности, исследования в ряде популярных игр и таких приложений, как Excel, 7zip и VeraCrypt, показали, что замедление скорости для них составит не более 4%. Много? Мало? Сложно сказать, ведь одновременно скорость записи на SSD упадет до 40%, что также весьма негативно отразится на производительности.
Что делать?
Ответ на этот традиционный вопрос однозначен. Во-первых, не паниковать, во вторых – обновлять все ПО и ОС до актуального состояния. И, разумеется, надеяться, что в гонке победят не хакеры, а разработчики софта. Больше, увы, ничего не сделать. Потеря производительности будет наименее заметной для современных устройств на процессорах Intel (Skylake и Kaby Lake), работающих под управлением Windows 10 со всеми обновлениями. Ну а ветеранам на CPU, выполненным по технологии Haswell (2015 года и старше), даже с Windows 10 следует ожидать гораздо более ощутимого ущерба. И самые огорчительные новости ожидают пользователей Windows 7 и 8 на старых процессорах – им стоит всерьез задуматься о модернизации своих компьютеров или отказаться от обновлений и тем самым попасть в группу риска.
Опубликовано 16.01.2018