4 января стало известно о наличии уязвимостей безопасности в большинстве микропроцессоров Intel, а также ряде микропроцессоров AMD и ARM.
Уязвимости, получившие наименование Meltdown и Spectre, задействуют механизмы внеочередного выполнения команд (спекулятивного исполнения) и предсказания ветвлений. Эти механизмы применяются в большинстве современных процессоров. С их помощью, как оказалось, возможно произвести считывание данных тех областей памяти, которые закрыты для пользовательского приложения. Вредоносный код может успеть считать закрытую область раньше, чем будет выдана ошибка доступа.
Meltdown позволяет пользовательскому приложению считать данные из закрытой области памяти ядра операционной системы. В частности, получить доступ к данным паролей и логинов. Задействовать ее можно на всех процессорах Intel, использующих внеочередное исполнение. В перечне подверженных Meltdown процессоров Intel все чипы архитектуры Core, начиная со второго по актуальное восьмое поколение. Настольные и мобильные Core i3/i5/i7, Celeron, Pentium, и серверные Xeon любого уровня, и Xeon Phi и некоторые чипы Atom. Также уязвимость касается некоторых моделей чипов архитектуры ARM.
Другая схожая уязвимость Spectre позволяет одному приложению залезть в область памяти другого, в частности, одной виртуальной машине нарушить изоляцию памяти другой. Данной уязвимости подвержены также чипы производства AMD.
Как выяснилось, о проблеме стало известно летом 2017 г. О ней в закрытом режиме сообщили сотрудники нескольких исследовательских коллективов, работавших независимо. Среди них и специалисты Google. В настоящий момент информация стала доступна широкой общественности.
На сегодня известно, что существует гарантированный алгоритм защиты от проблемы Meltdown [он именуется Kernel page-table isolation (KPTI)], но он не избавляет от Spectre. Однако, теоретически, его реализация способна замедлить производительность системы от 5 до 30%.
Microsoft уже представила накопительное обновление для Windows 10, спасающее от уязвимостей Meltdown и Spectre. Также патчи для MacOC и iOS выпускает Apple, предложили свои варианты и разработчики ядра Linux.
В целом же специалисты по безопасности в большинстве своем пока не прогнозируют ситуацию в целом. При этом, учитывая масштаб распространения – в перечень попадают фактически все компьютерные системы, выпущенные в последние 10 лет и даже раньше – проблема действительно не имеет прецедентов. Отдельное волнение испытывают провайдеры публичных облаков, где может быть нарушена взаимная изоляция виртуальных машин пользователей.
Так, есть мнение, что гарантированное избавление от проблем может наступить лишь с установкой новых процессоров, с аппаратной гарантией блокировки уязвимостей, при полной перекомпиляции программного обеспечения. Что, конечно, абсолютно апокалиптично. Но в любом случае некий вариант вроде всемирного решения «проблемы двухтысячного года» мы получить можем.
Дмитрий Шульгин, компания ITResearch