Что такое уязвимость процессора

Обновлено: 07.07.2024

Проблема касается не только процессоров Intel в ПК, выпущенных в последние 20 лет, но и других производителей и устройств, в том числе смартфонов.

Главное, что известно: компании были в курсе уязвимости сравнительно давно и вели подготовку по её устранению, планируя выпустить подробный совместный отчёт 9 января. Из-за утечки информации они оказались вынуждены делать это раньше, поэтому новые подробности продолжают поступать. TJ рассказывает, что известно о проблеме на данный момент.

Главный корень проблемы — так называемое спекулятивное исполнение команд . Упрощённо, это технология в современных микропроцессорах, которая позволяет «предугадывать», какие команды потребуется исполнить в будущем.

Например, программа А выполняет сложную математическую операцию, в ходе которой будет использована сумма каких-то переменных. Программа B заранее (когда процессор менее нагружен) считает эту сумму, чтобы ускорить работу процесса в будущем, и в нужный момент подсовывает результат программе A. Если результат программы B не потребовался программе A, то ничего страшного, а если потребовался, то процессор ускорил свою работу.

Всё это происходит во внутренней памяти процессора на нескольких слоях кэша (в зависимости от архитектуры чипа). Уязвимость спекулятивного исполнения заключается в том, что злоумышленники могут получить доступ к данным, которые находятся в этой общей памяти — а это даёт злоумышленникам доступ к приложениям, которые оперируют этими данными.

По большому счёту, уязвимость открывает два типа атак, говорят исследователи — им даны условные названия Meltdown («Крах») и Spectre («Призрак»). Meltdown позволяет нарушить барьер между приложениями и внутренней памятью операционной системы (название символизирует слом этого барьера), что открывает доступ к данным, хранимым в памяти ОС.

Spectre нарушает такой барьер между самими приложениями: условно, один сервис может залезть в память другого. Spectre более сложна в исполнении, но её и сложнее победить, поэтому исследователи считают, что атака будет как призрак ещё какое-то время преследовать пользователей и разработчиков.

Более подробно атаки описаны на специальном сайте, созданном группой исследователей безопасности из Грацского технического университета (Австрия), Google Project Zero и других организаций. Из одной только сути атак Meltdown и Spectre можно сделать вывод об уровне опасности уязвимости: она затрагивает не только системные данные, но и данные внутри приложений, потому что все они обрабатываются на процессоре. А подвержены ей все крупнейшие производители.

Хотя изначально появилась информация об уязвимости процессоров Intel, ей подвержены и другие производители — AMD и ARM, но, по предварительным данным, в меньшей мере. В случае с Intel, по грубым оценкам исследователей, проблема касается почти всех процессоров, выпущенных примерно с 1995 года — когда компания начала внедрять спекулятивное исполнение команд.

AMD — прямой конкурент Intel, её процессоры часто используются в ПК. ARM в основном производит чипы для мобильных устройств. Помимо многих ПК, все современные настольные компьютеры Apple работают на чипах Intel.

В ARM сообщили, что некоторые процессоры из серии Cortex-A подвержены угрозе: в эту серию входят и A-чипы, используемые в смартфонах Apple, однако пока не известно, подвержены ли конкретно эти чипы. Компания заявила, что серия Cortex-M, чипы которой используются в устройствах «интернета вещей», не подвержены уязвимости.

В AMD не стали отрицать, что опасность возможна, однако заявили о «почти нулевом риске». По данным компании, группа исследователей нашла три типа угроз (два относятся к Spectre, ещё один — к Meltdown), и процессоры AMD им всем не подвержены, однако по мере того, как исследователи публикуют новые подробности об уязвимости, всё может измениться.

Возможностью кражи пароля сложно напугать в 2018 году, но вот для примера визуализация работы Meltdown: одно приложение (в данном случае, Terminal) в реальном времени видит через внутреннюю память системы, что вводится в другое приложение. В случае с браузером пользователь может запустить вредоносный код JavaScript на случайно открытом сайте, и злоумышленники получат доступ к памяти его системы.

По опыту предыдущих критических уязвимостей такого масштаба можно смело утверждать, что производители современных систем будут добиваться автоматической установки патчей, от которой нельзя будет отказаться. Основная проблема в том, что текущее решение проблемы Meltdown — запрет на использование приложениями внутренней памяти системы — замедляет общую работу компьютера, по разным оценкам, на 5-30%. В Intel заявляют, что это касается только задач, интенсивно использующих процессор, и эксперты утверждают, что на низкоресурсных процессах вроде обычного использования браузера это не будет заметно.

Но даже если пользователи не станут обновлять свои операционные системы, патчи будут устанавливаться на оборудовании «облачных» сервисов, таких как Amazon Web Services и Microsoft Azure. Это может не просто привести к тому, что приложения и сервисы на базе таких «облачных» хостингов будут работать медленнее, чем раньше: резкое падение производительности может привести к отказу работы систем или потере данных. Кроме того, множество приватных данных сегодня хранится в «облаке»: получив доступ к такому сервису, злоумышленники смогут доставать информацию разных пользователей.

Компания Microsoft уже начала обновлять виртуальные сервера на Azure, и хотя она утверждает, что большинство клиентов не почувствуют изменения (то есть ухудшения) производительности, для «небольшой части» скорость работы их серверов снизится.

Некоторые клиенты AWS стали жаловаться на падение производительности серверов ещё в конце декабря, когда на инфраструктуре «облачного» сервиса начались установки обновлений безопасности. По заявлению компании, почти все основанные на Linux сервера AWS уже обновлены, а патч от Microsoft начнут устанавливать начиная с 4 января.

Но если Meltdown можно просто остановить патчем, то со Spectre ситуация сложнее: исследователи предполагают, что для решения проблемы придётся полностью изменять архитектуру всех современных процессоров . Это может привести к тому, что пользователей будут подталкивать к покупке устройств на новом (и, вероятно, более дорогом) поколении процессоров — а предыдущее будет стремительно устаревать и обесцениваться.

Google пока предоставляет больше всего информации об атаке

Судя по активности компании в связи с появлением в открытом доступе информации об уязвимостях, в Google (очевидно, из-за связи с Google Project Zero) наиболее подробно разглашают всё, что касается проблемы. Компания предупредила своих пользователей через блог и рассказала, какие действия следует предпринять.

Некоторые из продуктов Google подвержены атаке, признала компания — например, браузер Chrome. Пользователи могут включить функцию изолирования сайтов друг от друга (так, чтобы одни сервисы не могли получить доступ к данным других сервисов внутри браузера), однако пока это необходимо делать вручную. Обновление браузера, автоматически устраняющее уязвимость, выйдет только 23 января.

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

Что делать пользователям Windows, macOS, Android, iOS и Linux

Microsoft уже выпустила экстренное обновление Windows: в версии 10 оно установится автоматически с 4 января (код KB4054022), а для Windows 8 и 7 патчи придётся устанавливать вручную до 9 января.

Google поработала над защитой последних поколений своих мобильных устройств — Nexus 5X, Nexus 6P, Pixel C, Pixel/XL, и Pixel 2/XL: патчи автоматически загрузятся на устройства в январе, однако для завершения установки их будет необходимо перезагрузить. Что делать владельцам других устройств, пока не известно: в Google говорят, что партнёры компании (производители устройств на Android) получили патч ещё в декабре, но выпустили ли они его для своих пользователей — это вопрос.

Apple публично пока не комментировала проблему, но, по данным источников AppleInsider, в версии macOS 10.13.2 (вышла в декабре 2017 года) компания уже закрыла часть уязвимости Meltdown, а ещё часть решения будет внедрена в следующей версии ОС, 10.13.3.

Касается ли уязвимость процессоров в iPhone и будет ли она устраняться в обновлениях iOS, пока не известно. Обновления для Linux уже выходят с начала декабря.



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

Статья получилась большой, но в меньший объем уложиться не получилось. Итак, простыми словами о сложном.

Механика работы уязвимостей.

MSI RTX 3070 сливают дешевле любой другой, это за копейки Дешевая 3070 Gigabyte Gaming - успей пока не началось

Начну с определения термина уязвимости (в данной статье рассматриваем этот термин применительно к центральным процессорам). Уязвимость это ошибка в процессорах имеющих технологию внеочередного исполнения машинных инструкций, предсказания ветвлений, гиперпоточности, и других. Эта ошибка приводит к возможности несанкционированного доступа злоумышленниками к отделенному, закрытому участку процессорной памяти (кэшу), и извлечения из нее конфиденциальных данных, например логинов и паролей. У процессоров с вышеуказанными технологиями группа специалистов по кибербезопасности Google Project Zero в 2018 году обнаружила две масштабные уязвимости, и дала им название Meltdown и Spectre, позже были выявлены и многие другие уязвимости. Для понимания механики, или физики (как вам будет угодно) возникновения этих уязвимостей рассмотрим их подробнее.


1. Уязвимость Meltdown основывается на технологии внеочередного исполнения машинных инструкций процессора. Необходима эта технология для уменьшения времени простоя процессора и увеличения его производительности. Она позволяет процессору исполнять инструкции не в порядке очередности их поступления, а за счет распараллеливания, в определенных случаях, исполнять последующие инструкции раньше предыдущих. Такая ситуация может возникнуть, если время исполнения предыдущей инструкции будет больше времени исполнения последующей. То есть, получается, что процессор исполняет последующий код, не дожидаясь результата предыдущего, по результатам которого, например, последующий код не может быть выполнен. Конечно, в таком случае результат этой ошибочной операции аннулируется, и в дальнейшем процессором использоваться не будет. Но! Доступ к кэш-памяти процессора эта ошибочная операция до аннулирования все же успевает получить, прописывает там свой результат, и может извлечь оттуда все необходимые ей данные, таким образом, получается, что из кэш-памяти можно извлечь данные, доступа к которым не должно было быть. В обычном случае зловредная программа, запросив доступ к этой области памяти, получит ответ системы, что доступ туда невозможен. Но в нашем рассматриваемом случае, из-за выполнения инструкций вне очереди, при исполнении последующей инструкции со зловредным «хвостом», раньше, чем предыдущей, зловред получает доступ к кэш-памяти и считывает оттуда пароли, или другие необходимые ему данные. Если еще короче, то легитимность исполнения инструкций и контроль доступа к памяти осуществляется на последнем этапе исполнения всех инструкций, а до этого момента зловред бесконтрольно делает, все что ему нужно.

реклама

var firedYa28 = false; window.addEventListener('load', () => < if(navigator.userAgent.indexOf("Chrome-Lighthouse") < window.yaContextCb.push(()=>< Ya.Context.AdvManager.render(< renderTo: 'yandex_rtb_R-A-630193-28', blockId: 'R-A-630193-28' >) >) >, 3000); > > >);



2. Уязвимость Spectre основывается на технологии спекулятивного исполнения инструкций, значительно повышающей производительность процессора, и являющейся системой прогнозирования (предсказания ветвлений). Суть ее работы заключается в том, что при выполнении процессором вычислений он старается заранее рассчитать некоторое множество возможных сценариев событий исполняемой программы, не дожидаясь результата предыдущего вычисления, который и должен определить, какой в действительности сценарий должен выполняться по его результату. Например, процессор исполняет действие «А» и, не дожидаясь, когда станут известны результаты действия «А», рассчитывает некоторое количество наиболее вероятных действий «B, C, D, E, F», следующих за действием «А». И если оказывается, что после действия «А», должно выполняться какое-либо действие из уже рассчитанных, например «D», то тогда все хорошо, время на вычисление этого действия экономится, так как оно уже готово, и ускоряется работа процессора. Остальные не угаданные ветви действий «B, C, E, F» процессор аннулирует. Но неправильные предсказания тоже происходят, ничего страшного при этом не случается, процессор просто начинает вычисление правильного действия «W», после получения результата действия «А», и просто увеличивается время вычисления этой последовательности событий, а не угаданные действия «B, C, D, E, F» аннулируются процессором. Предсказатель ветвлений обучаем, он накапливает статистику, запоминает закономерность в вычислении действий. И повторяющиеся последовательности вероятных сценариев событий, которые он угадывал правильно, начинает считать истинными, и эти сценарии событий в следующий раз он предсказывает в первую очередь, считая их правильными, и предоставляет доступ к кэш-памяти. Этим и пользуется зловред, он подсовывает предсказателю ветвлений код похожий на целевой, и «тренирует» предсказатель ветвлений, заставляя его многократно правильно угадывать вероятный сценарий события, и считать его истинным, которое проходит «проверку» в большинстве случаев. После накопления предсказателем ветвлений необходимой статистики зловред задает в задании другое условие, например запись в кэш – память или считывание из него необходимых зловреду данных. Предсказатель ветвлений при этом выполняет его, как истинное и предоставляет доступ к кэш – памяти. Потом он, конечно, поймет, что этот результат не является истинным, и сбросит его, но будет уже поздно, зловред свое дело уже сделает.

Результат на ПК злоумышленника выглядит так:


реклама



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

3. Уязвимость ZombielLoad основывается на технологии гиперпоточности (Hyper-Threading), которая также призвана увеличивать быстродействие процессора за счет исполнения физическим ядром процессора двух потоков вычислений. Работает эта технология следующим образом. Одним физическим ядром процессора исполняется два потока кодов разных приложений. В тот момент, когда по какой-либо причине, например из-за временного отсутствия необходимых данных для продолжения вычисления первого потока, его обработка останавливается, то для предотвращения простоя этого ядра он начинает исполнять код второго потока. Особенность этой технологии, которая создала еще одну дыру в безопасности, заключается в том, что эти оба исполняемые одним ядром потока используют общую для них обоих кэш-память и буфер. Что и дает зловреду, который исполняется, к примеру, в первом потоке, возможность получить доступ к важным данным другого приложения, которое исполняется во втором потоке, из общей для них кэш-памяти. Компания Google, например, в свое время отключала на своих устройствах Chromebook функцию гиперпоточности процессоров, для блокировки данной уязвимости. Однако это снижало производительность до 40 %.



AMD или Intel

реклама

Отсюда можно сделать вывод, что все производители процессоров в погоне за увеличением их быстродействия, осознанно оставляют дыры в безопасности. Вернее правильнее даже будет сказать, что за счет оставляемых дыр в безопасности, производители увеличивают быстродействие своих процессоров. Так как, недопущение дыр в безопасности при производстве процессоров, неминуемо снизит их быстродействие из-за значительного усложнения вычислений. И производители прекрасно об этом знают, и умалчивают об уязвимостях, пока их не выведут на чистую воду.

Ну а как обстоят дела в плане наличия или отсутствия уязвимостей процессоров разных компаний. В разной степени этим уязвимостям подвержены процессоры всех производителей (Intel, AMD, а также построенных по архитектуре ARM). Например, компания Intel имеет 242 публично раскрытых уязвимостей. А компания AMD всего лишь 16.

Некоторые из официально опубликованных компанией Intel уязвимостей:





Разрыв получился колоссальный, не правда ли. Поэтому компания AMD ведет себя более пассивно в вопросе устранения дыр безопасности, в то время как компания Intel лихорадочно пытается их залатывать. Ну и следующие процессоры, построенные то архитектуре ARM (Cortex A15, Cortex A57, Cortex A72, Cortex A75) также не избежали этой участи. А вот, например, как бы это парадоксально не звучало, но отечественный процессор Байкал-Т1 построенный на ядрах MIPS P5600 не подвержен уязвимостям Meltdown и Spectre.

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

Алгоритм создания исправлений ПО на примере операционной системы AstraLinux:


Каждая такая программная заплатка снижает производительность системы «процессор – операционная система». Причем исправления, сделанные для процессоров Intel замедляют работу компьютеров в несколько раз сильнее, чем аналогичные исправления для процессоров AMD.


Так что, на мой взгляд, в плане безопасности победа с разгромным счетом за компанией AMD. Сам собой напрашивается вывод, уж не поэтому ли компания Intel, за счет того, что оставляла громадное количество дыр в безопасности своих процессоров обеспечивала их производительность на ядро, выше, чем у процессоров AMD.

Надеюсь, моя статья была для вас полезна. Что вы думаете по этому поводу, и сталкивались ли вы напрямую с уязвимостями? Пишите в комментариях.

Похоже, производители процессоров получили серьезный удар: за несколько дней все новостные сайты заговорили сразу о двух хардварных уязвимостях под названием Meltdown и Spectre. Должен сказать, что это очень горячая неделя, какую давно не видели в технологической отрасли. Но не буду спешить, так что разберемся со всем по порядку.




Исследователи безопасности, работающие в группе Google Project Zero, наряду с другими исследовательскими группами и академическими институтами, обнаружили ряд угроз безопасности, связанных с спекулятивным выполнением. Спекулятивное выполнение является одним из краеугольных камней высокой производительности современных процессоров и, по существу, все процессоры имеют более высокую производительность, чем встроенный микроконтроллер. В результате практически каждый современный высокопроизводительный процессор на рынке, выпущенный за последние несколько десятилетий, уязвим для одного или более эксплойтов.

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

Между тем второй тип эксплойта называется Spectre, а число процессоров, подверженных риску эксплуатации, еще шире. По сути, каждый высокопроизводительный процессор, когда-либо созданный — Intel, AMD, ARM и POWER — считается уязвимым. Подобно Meltdown, атака Spectre злоупотребляет спекулятивным выполнением, чтобы получить информацию, которая должна быть изолирована. Однако особенность Spectre заключается в том, что это более сложная и гораздо коварнейшая атака; в то время как Meltdown основан на злоупотреблении конкретной реализацией спекулятивного выполнения, Spectre можно рассматривать как (ранее неизвестную) фундаментальную уязвимость спекулятивного исполнения, которую теперь можно использовать для атак. Spectre требует больше усилий по подготовке, чтобы принудить целевое приложение к утечке информации, но фундаментальная природа риска означает, что уязвимость Spectre намного сложнее устранить, и она еще не полностью исследована.


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

Если процессор вашего компьютера подвержен уязвимости, и вы пользуетесь непропатченной операционной системой, работать с секретной информацией небезопасно. Высок шанс утечки информации. Это касается как персональных компьютеров, так и облачной инфраструктуры. К счастью, выпущены софтварные патчи для защиты от Meltdown.

Spectre нарушает изоляцию между различными приложениями. Это позволяет атакующему получить данные даже из программ, которые соблюдают все правила безопасности и работают без ошибок. Фактически, проверки безопасности упомянутых программ увеличивают поверхность атаки и могут сделать приложения более восприимчивыми к Spectre. Эксплойт Spectre применить более сложно, чем Meltdown, однако нивелировать угрозу такой атаки, соответственно, намного сложнее. Тем не менее возможно предотвратить некоторые уже известные варианты эксплойта установкой последних софтварных патчей.

Поспешный релиз не раскрыл всю ситуацию

В информационное пространство обрушился не спланированный поток новостей о Meltdown и Spectre, и в результате исследователи, поставщики hardware и software, да и общественность в целом пытались понять, что же произошло и что с этим делать. Теперь мы знаем, что упомянутые уязвимости были обнаружены прошлым летом, с тех пор вектор действий поставщиков и исследователей безопасности нацелен на понимание последствий эксплойтов и разработку необходимых исправлений и рекомендаций. Было принято решениео том, что информация о Meltdown и Spectre не должна публиковаться до вторника, 9 января – даты выхода первого патча этого года.

Вместо этого произошло следующее: поскольку исправления для эксплойтов были зафиксированы в хранилище ядра Linux, у пользователей возникло подозрение, что произошло что-то серьезное. В связи с быстрым развитием всевозможных спекуляций на этой почве, поставщики софта и железа перенесли дату оповещения общественности и выпуска патчей на 3 января. Результат преждевременной публикации, как и можно было ожидать, был несколько случайным: я внимательно прочитал различные источники и вижу, что даже теперь не все опубликовали советы (или, зачастую, не опубликованы полный список рекомендаций).

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

НЕ ПАНИКУЙ

Говорят, что, несмотря на множество вопиющих (а иногда и фатальных) неточностей, путеводитель «Автостопом по Галактике» превзошел по популярности «Галактическую Энциклопедию», потому что он немного дешевле и потому, что имеет слова «НЕ ПАНИКУЙ», написанные большими веселыми буквами на обложке.

Прежде чем погрузиться в некоторые из глубоких технических аспектов Meltdown и Spectre, я думаю, что лучше начать с обзора сложившейся ситуации на более высоком уровне. Это включает в себя риски, связанные с новыми эксплойтами, как с ними бороться, и что отдельные пользователи должны делать (если есть такая возможность) перед лицом опасности.

Для начала хорошая новость: если вы не поставщик облачных услуг, непосредственный риск от этих атак очень низок. Плохая новость заключается в том, что, поскольку эти эксплойты основаны на уязвимости hardware, потребуется некоторое время для исправления. И есть очень много устройств, на которых работает множество различных ОС, и все это необходимо исправлять.

Что нам известно:

Это локальные атаки: и Meltdown, и Spectre — локальные атаки, требующие выполнения вредоносного кода на целевой машине. Это означает, что эти атаки не являются (напрямую) атакой удалённого запуска кода – как были Nimda или Code Red – а значит, системы нельзя атаковать, просто подключившись к сети. Понятно, что они ближе к атакам эскалации привилегий, классу атак, которые помогают глубже проникнуть в систему (к которой у вас уже есть доступ). Однако, исследователи показали, что они могут выполнять атаки на основе Spectre, используя JavaScript, поэтому веб-браузер может запустить вредоносный файл JavaScript, и таким образом позволить атаку.

Это read-only атаки (доступ к информации). Хотя мы и упомянули, что атаки не могут быть проведены удаленно, в случае если Meltdown и Spectre удалось запустить в локальной системе, характер эксплойта заключается в том, что это read-only атаки. То есть, все что они могут – это прочитать информацию из системы. Они не могут напрямую принудительно произвести выполнение кода в ядре ОС, других виртуальных машинах или других программах. И все же атаки раскрытия информации могут быть очень разрушительными в зависимости от того, какая информация получена. Всегда есть риск использования этой информации для проведения успешной атаки уже путем выполнения кода, а значит, угроза все же существует. Но реальный риск заключается именно в использовании этих уязвимостей злоумышленниками для похищения информации, а не для контроля над системой.

Чем является / не является обнаруженная уязвимость:

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

— атака отключения сервисов
— сетевая атака
— способ инъекции измененного кода или подмены содержимого памяти.

В основном это угроза для распределенных сред размещения. Учитывая вышеизложенное, эти атаки наиболее опасны для общедоступных хостинговых сред, где несколько пользователей могут выполнять код в одной системе. В результате провайдеры облачных сервисов, такие как Amazon и Microsoft, уже принимают меры по защите своих сервисов от атак. Отдельные системы и устройства, в сравнении с облачными, имеют гораздо меньший практический риск. Злоумышленнику по-прежнему необходимо запустить вредоносный код в отдельной системе, прежде чем он сможет начать атаку; но если злоумышленник все же сможет это сделать, то указанная отдельная система окажется в очень незавидном положении.

Защититься от Meltdown и Spectre можно софтварно: поскольку корень проблемы Meltdown и Spectre находится на аппаратном уровне, в идеале, это оборудование стоило бы заменить. Однако замена всех систем, выпущенных за 20 лет уж никак не выглядит привлекательной затеей. Как и другие ошибки процессора, ее можно смягчить комбинацией микрокода процессора и обновлений операционной системы. Поставщики, такие как Microsoft, Apple и дистрибутивы Linux, уже находятся в процессе развертывания этих исправлений, в том числе мы наблюдали ультра-редкое внеплановое обновление от Microsoft в среду вечером.


… но это займет некоторое время: однако, поскольку информация об эксплоите была выпущена раньше запланированного, не все меры обеспечения безопасности будут готовы. Полнный комплекс мер требует как обновления программного обеспечения, так и микрокодов. Как отметила Intel, усилия по смягчению последствий потребуют нескольких дней и недель.

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

Касательно процессоров, уязвимых к атаке: Intel подтвердила, что это все Core-based архитектуры, включая первое поколение (Nehalem). Стоит обратить внимание, что нельзя исключать и более ранние процессоры.

Если говорить коротко, их процессоры не уязвимы для атак Meltdown – и это единственный поставщик среди Big 3, которого разрушительная новость обоша стороной. Учитывая, что Meltdown является более насущным риском, это означает, что AMD и ее пользователи несут риски несравнимо меньшие, чем пользователи Intel. Однако процессоры AMD по-прежнему уязвимы для атак Spectre, и в долгосрочной перспективе все еще остается слишком много неизвестных моментов: насколько опасен Spectre, и насколько вообще возможно от него защититься.

И что неизвестно:

Когда полные обновления для защиты будут доступны для каждой платформы: как отмечалось выше, развертывание обновлений для защиты от эксплойтов займет несколько дней или недель. С точки зрения ПК, обновление Microsoft — это всего лишь одна часть головоломки, хотя, возможно, самая важная, поскольку она может снизить риск Meltdown без обновления микрокода. Однако мы все еще ожидаем обновления микрокодов, чтобы повысить защиту от Spectre на процессорах Intel (это в равной мере касается процессоров AMD).

С другой стороны, Google объявила о том, что они уже выпустили обновления Android с рекомендованными ARM защитными мерами для поддерживаемых устройств Nexus и Pixel, но эти обновления не содержат всех необходимых исправлений для ядра Linux.

Наши меры безопасности:

Мы принимаем комплекс мер, чтобы предоставить наиболее безопасные платформы. Это включает в себя комбинацию из патчей для операционных систем и прошивок, разработанных в сотрудничестве с партнерами по индустрии, поставщиками операционных систем и OEM поставщиками.

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

Неясно, как повлияют такие меры безопасности на производительность: возвращаясь к вопросу комплекса мероприятий по защите от Meltdown, неясно, каково будет влияние на производительность. Чисто теоретически, отдельные операции и рабочие нагрузки могут быть замедлены на 30%, но в значительной степени это будет зависеть от того, насколько часто задача переключается на ядро. На практике все же ожидается, что средний эффект в реальности менее «пагубный», особенно для пользователей настольных компьютеров. А вот пользователям серверов (что касается производительности) менее повезло.

Между тем влияние на производительность защит от Spectre практически неизвестно, отчасти потому, что поиск защиты от Spectre продолжается. Основываясь на том, что опубликовали поставщики оборудования, воздействие должно быть минимальным.

С нашей стороны, мы все еще ждем обновление микрокода, и даже после этого нам прийдется методом проб и ошибок выяснять все возможные последствия. Это определенно то, во что нам стоит в будущем углубиться в стиле AnandTech, как только будут получены все необходимые обновления.

Наконец, со своей стороны, группа Azure от Microsoft опубликовала свои собственные данные в рекомендациях для клиентов, отметив, что влияние на производительность весьма незначительно.

Большинство пользователей Azure не увидят заметного влияния на производительность после обновления. Мы работали над оптимизацией путей передачи данных между процессором и диском и не обнаружили особого влияния на производительность после того, как исправление было применено. Хотя некоторые клиенты все же могут столкнуться с некоторым падением производительности сети.

Также неясно, насколько вообще можно защититься от Spectre. Не понимания всего диапазона применения Spectre, до конца не понятны и способы защиты от него. Исследователи, работающие над уязвимостью, совсем не уверены в том, что для полного решения проблемы обновлений программного обеспечения или микрокода будет достаточно. Скорее на данный момент эти меры должны рассматриваться как временные решения. Конкретные уже известные типы атак Spectre могут быть предотвращены, но защита может оказаться бесполезной против других атак Spectre. Это та область, требующая гораздо больше исследований.

Что могут пользователи сделать сейчас?

Наконец, возникает вопрос, какие меры предпринять владельцам компьютеров и гаджетов перед лицом угрозы атаки Meltdown и Spectre. Фундаментальная уязвимость, которая допускает атаки спекулятивного выполнения, находится в самом hardware, поэтому проблема не может быть действительно решена без замены устройств. Единственное, что можно сделать прямо сейчас, — это снизить угрозу с помощью программных и микрокодовых патчей, которые пытаются хоть как-то закрыть дыру в безопасности.


Кумулятивное обновление Windows 10 Version 1703 для x64 систем (KB4056891)

Была обнаружена проблема с безопасностью в продуктах Microsoft, которая может влиять на вашу систему. Вы можете помочь нам защитить вашу систему, установив обновление от Microsoft. Чтобы просмотреть полный список исправлений, обратитесь к соответствующей главе в Базе Знаний Microsoft. После установки обновления понадобится перезагрузка.

Ответ на вопрос «что же делать пользователю» как бы простой, но не особо полезный: мало что можно сделать в принципе. Обновления программного обеспечения и микрокода для защиты от этих эксплойтов будут распространяться обычным путем, поэтому обновление ваших систем и мобильных устройств до последней версии ОС — самый важный шаг, который можно предпринять. Как упоминалось ранее, все поставщики уже выпустили или находятся в процессе развертывания необходимых обновлений программного обеспечения. Но в случае, если для атаки будет применен специально разработанный узконаправленный инструмент, пользователю попросту будет нечем защититься. Задача производителей как можно быстрее найти решение данной проблемы.

И напоследок

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

Необходимо глубже рассматривать Meltdown и Spectre, и, хотя обе они являются атаками на спекулятивное исполнение, представляют собой очень разные виды атак. Сейчас Meltdown является самой большой проблемой из-за его относительной простоты в использовании. Но, как отмечают авторы публикации о Spectre, Spectre — более фундаментальная уязвимость, которая останется с нами надолго. Нам еще предстоит увидеть, что это означает для безопасности систем. А с точки зрения компьютерной науки, я ожидаю, что эти открытия окажут большое влияние на всю разработку будущих процессоров.

На правах рекламы. Успейте воспользоваться в новом году интересным предложением и получить скидку в размере 25% на первый платеж при заказе на 3 или 6 месяцев!

Это не просто виртуальные серверы! Это VPS (KVM) с выделенными накопителями, которые могут быть не хуже выделенных серверов, а в большинстве случаев — лучше! Мы сделали VPS (KVM) c выделенными накопителями в Нидерландах и США (конфигурации от VPS (KVM) — E5-2650v4 (6 Cores) / 10GB DDR4 / 240GB SSD или 4TB HDD / 1Gbps 10TB доступными по уникально низкой цене — от $29 / месяц, доступны варианты с RAID1 и RAID10), не упустите шанс оформить заказ на новый тип виртуального сервера, где все ресурсы принадлежат Вам, как на выделенном, а цена значительно ниже, при гораздо более производительном «железе»!

Напоминаем, что попытки повторить действия автора могут привести к потере гарантии на оборудование и даже к выходу его из строя. Материал приведен исключительно в ознакомительных целях. Если же вы собираетесь воспроизводить действия, описанные ниже, настоятельно советуем внимательно прочитать статью до конца хотя бы один раз. Редакция 3DNews не несет никакой ответственности за любые возможные последствия.

Да, Meltdown и Spectre — это действительно серьёзные аппаратные уязвимости. Нет, стопроцентной защиты от них нет. Лучше всего установить обновления для всех-всех программ, прошивок, ОС и драйверов и надеяться, что вас эти уязвимости не коснутся. В общем, обновитесь и молитесь!

Meltdown и Spectre или, говоря «по-научному», CVE-2017-5754, CVE-2017-5753 и CVE-2017-5715, — это легко запоминающиеся имена близких по своим особенностям аппаратных (подчеркнём этот момент) уязвимостей в очень и очень многих современных процессорах. Да, это действительно настолько серьёзные уязвимости, что для них пришлось придумать собственные «бренды» для облегчения продвижения и распространения информации о них. На текущий момент это, пожалуй, самые серьёзные проблемы в сфере информационных технологий если не за всю историю IT, то уж в XXI веке точно.

Исследователи заявляют, что уязвимости в том или ином виде присутствуют во многих процессорах, выпущенных с 1995 года. Необязательно все сразу, но от этого не легче. В частности проблемы имеются у продуктов AMD, ARM, Intel и IBM. Косвенно затронуты и продукты других компаний, например NVIDIA. Исключением являются процессоры Intel Itanium (с ними вы вообще вряд ли когда-либо сталкивались) и старые версии Intel Atom (до 2013 года), а также процессоры «Байкал», « Эльбрус » , MIPS, RISC-V, SPARC. Дело несколько осложняет тот факт, что часть компаний (ARM, например) сами не производят эти процессоры, а продают этакие наборы для их создания другим фирмам, которые могут добавлять или убирать компоненты и блоки по своему желанию. Ну и даже если компания сама производит процессоры, то у неё вполне могут быть различающиеся разновидности одного и того же продукта, часть из которых сделана, к примеру, по спецзаказу.

Неспециалисту трудно сказать, какие именно устройства уязвимы, так что лучше всего на всякий случай подозревать их все. А вообще, потенциально уязвимы почти все компьютеры, ноутбуки (и их потомки нетбуки, хромбуки, ультрабуки и всякие другие «буки»), планшеты, смартфоны, NAS или DAS, ТВ-приставки и даже современные smart-телевизоры, а также серверы и куча другого оборудования. В общем, уязвимой может оказаться почти вся «умная» техника, которая всё больше нас окружает.

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

Все в целом и никто в частности. Все — потому что всем же хочется побольше производительности, и прямо сейчас. Никто — потому что механизм, в реализации которого и нашли уязвимости, является логичным продолжением развития мирового процессоростроения. Благодаря ему (но не только) современные процессоры столь быстры. При этом опасения, что в конкретных воплощениях этой идеи могут быть проблемы, высказывались очень и очень давно. Однако до прошлого года все они были мысленными экспериментами в духе «А что если… Чисто гипотетически можно представить, что… Но вряд ли это можно реализовать не в лабораторных условиях…». Это как головоломка или, скорее, математическая задача, которая с виду очень сложная и даже немного скучная, но для которой есть очень простое и неочевидное решение, после объявления которого все сразу хватаются за голову и причитают: «Как же мы раньше-то сами не догадались?»

Однозначного ответа на это нет. Даже если напрямую спросить их, то ответ будет стандартный: «Мы не можем ни подтвердить, ни опровергнуть эту информацию». Хотя некоторые божились, что ни сном ни духом. Однако в данном случае, с учетом почтенного по меркам IT возраста уязвимости, вряд ли кто-то действительно осознанно эксплуатировал её ранее. Некоммерческие организации, как правило, не очень хорошо следят за своими секретами, так что за столько лет информация наверняка бы утекла. Разработчики же давно бы уже втихую всё исправили, стараясь избегать огласки.

Тем, что потенциально могут быть украдены ваши важные данные: пароли, банковская информация, личные данные и так далее. За последний месяц компании, занимающиеся информационной безопасностью, отметили резкий рост числа образцов вредоносных приложений, которые пытаются использовать Meltdown и Spectre. Счёт идёт на сотни! Более того, пользователю даже необязательно что-то скачивать и/или устанавливать — есть варианты атак, которые работают прямо в браузере, то есть достаточно зайти на веб-сайт. Даже на знакомых сайтах могут оказаться вредоносные блоки (рекламные, например). К тому же сейчас есть много приложений, которые мимикрируют под настоящие программы, но на самом деле тоже работают в специально созданном браузере. Так что установить защиту от Meltdown и Spectre всё же стоит, но решать вам.

Неполный список уязвимых процессоров можно посмотреть здесь (там 7 страниц). Обратите внимание, что он постоянно обновляется и там представлены только модели, выпущенные после начала 2000-х. Для определения процессора на устройстве можно использовать утилиту CPU-Z (для Windows и Android). Если у вас Windows, то можно поступить проще: скачать и запустить утилиту InSpectre. Она почти мгновенно протестирует систему и скажет, есть ли уязвимости, а также сообщит о возможном снижении производительности (об этом позже). YES означает, что проблем нет. NO! означает, что проблема есть.

Защита от Meltdown есть, от Spectre нет. Производительность в норме.

Защита от Meltdown есть, от Spectre нет. Производительность в норме

Защита от Meltdown есть, от Spectre нет. Производительность может быть пониженной.

Защита от Meltdown есть, от Spectre нет. Производительность может быть пониженной

Защита от Meltdown и Spectre есть. Производительность в норме.

Защита от Meltdown и Spectre есть. Производительность в норме

Заметьте, что полноценной защиты от Spectre для всех-всех устройств пока нет. Но можно проверить ещё один важный компонент — веб-браузер. Для этого надо зайти на специальный веб-сайт и нажать кнопку Click to Check. Если ниже появится надпись Your browser is NOT VULNERABLE to Spectre , то, скорее всего, ваш браузер защищён от Spectre, но это не стопроцентный результат. А вот если результат is VULNERABLE , то уязвимость совершенно точно есть. Этой проверке надо подвергнуть все браузеры на устройстве, даже если каким-то из них вы не пользуетесь.

Проблем со Spectre в браузере нет.

Проблем со Spectre в браузере нет.

Пользователям продукции Apple повезло больше всего — для обеспечения безопасности им надо обновить операционную систему на всех устройствах до macOS 10.13.2, iOS 11.2 и tvOS 11.2 (или старше), а также обновить Safari как минимум до версии 11.0.2. Увы, старые устройства, которые не получили обновления своих ОС до этих версий, так и останутся уязвимыми. Следуйте инструкциям Apple.

С Android ситуация гораздо печальнее. Исправления для операционной системы выпускают производители устройств. А они и так-то далеко не всегда обновляют ОС на аппаратах вовремя, а уж патчи для устройств старше пары лет появляются совсем редко. Так что они тоже останутся уязвимыми. Проверить наличие обновлений можно, как правило, в настройках, в разделе About: «Об устройстве» или «О телефоне/планшете». Иногда имеется и отдельная встроенная программа, которая называется «Обновление ОС» или как-нибудь ещё в том же духе.

Если же вы пользуетесь Linux, то наверняка и так знаете, что надо обновить ядро до версии 4.14.11 и старше, а заодно обновить и все остальные программы с драйверами.

Здесь ситуация сложнее. Обновления выпущены только для Windows 7 SP1, Windows 8.1 и Windows 10, а также для браузеров Internet Explorer и Edge. Обновления можно поставить вручную. На этой странице выложены ссылки на обновления для всех версий ОС и браузеров: Security Update, Monthly Rollup и IE Cumulative. По ссылке на страницу придётся пройти дважды, так как в первый раз надо будет согласиться с условиями работы, поставив галочку Please read and acknowledge our terms of service и затем нажав Accept. Версию ОС можно узнать, кликнув правой кнопкой мыши по значку «Компьютер» в проводнике Windows и выбрав пункт «Свойства».

Если обновления ОС включены, то они наверняка уже были установлены. Но на всякий случай можно проверить. В Windows 7 в Панели управления нужно выбрать пункт Центр обновления Windows, в меню слева нажать Поиск обновлений, подождать, выбрать галочками все обновления и установить их. В Windows 10 в меню Пуск в разделе Параметры выбрать пункт Обновления и безопасность и так же проверить наличие патчей. Желательно также включить функцию обновления других продуктов Microsoft, если это не было сделано ранее.

Для материнских плат и ноутбуков всех мастей можно начать поиск отсюда (там есть ссылки на соответствующие разделы сайтов некоторых производителей). Что точно не стоит делать, так это самостоятельно пытаться собрать прошивку или BIOS/UEFI, потому что можно попросту загубить оборудование.

Кроме того, вне зависимости от устройства и ОС крайне желательно установить и/или обновить антивирус. Все остальные программы, а в особенности браузеры, так же стоит обновить до самой последней версии. Желательно сделать это до установки обновлений самой ОС — чтобы избежать проблем с совместимостью. Из прочих простых мер защиты можно, как обычно, порекомендовать не посещать незнакомые сайты, установить блокировщик рекламы, а также не скачивать и не запускать файлы от неизвестных людей или из подозрительных источников.

В Google Chrome также есть экспериментальная функция, помогающая в защите от Spectre. Для её включения нужно перейти в раздел настроек (адрес chrome://flags/), включить (Enable) опцию Strict site isolation и перезапустить браузер.


Самое неприятное, что может произойти, — это зависания и невозможность загрузки устройства. В случае Windows Microsoft утверждает, что самые серьёзные проблемы устранены, но на всякий пожарный даёт инструкции по отключению защиты. А вообще, в последние два месяца везде происходит какая-то чехарда: производители выпускают патчи, пользователи жалуются на проблемы, производители убирают старые патчи, выпускают новые — и далее по кругу.

Другая проблема касается программ, которые после обновления перестают работать или работают неправильно. Особенно неприятно, когда к таким относятся антивирусы и прочие средства защиты. Попутно выяснилось, что некоторые такие утилиты используют в своей работе механизмы, в чём-то похожие (но не точно такие же) на те, которые характерны для этих уязвимостей.

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

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

Читайте также: