В процессорах Intel обнаружена массовая уязвимость

Возврат к списку

09.01.2018     
Сразу две серьезные уязвимости были выявлены во всех процессорах Intel, выпущенных с 1995 года. «Дыры» в системе безопасности, получившие названия Meltdown и Spectre, коснулись также процессоров AMD и ARM.

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

Угрозы были выявлены сразу несколькими специалистами по безопасности, работающими независимо друг от друга. Уязвимость Meltdown обнаружили сотрудники немецкой компании Cyberus Technology, а также группа исследователей Грацкого технического университета. O Spectre сообщил известный американский специалист в области криптографии Пол Кочер, параллельно с этим обе уязвимости зафиксировал и участник Google Project Zero Янн Хорн.

Хотя о наличии проблем с процессорами исследователи сообщили производителям 1 июня 2017 года, эффективной защиты от одной из них – Spectre – пока не существует, изменения вносятся только на уровне микрокода и различных приложений.

Meltdown уже исправлена для ядра Linux, RHEL и Fedora, еще ряд производителей операционных систем работают над устранением проблемы. Также уязвимость ликвидировали в Android, Chrome OS и macOS, а в ближайшее время ожидаются и патчи от Windows. Разработчики Google Chrome занимаются разработкой встроенной в браузер защиты, которая должна оградить пользователей от атак через сайты с JavaScript.


Источник: https://infostart.ru/journal/news/tekhnologii/v-protsessorakh-intel-obnaruzhena-massovaya-uyazvimost_724751/

Комментарии
1. Андрей Акулов (DrAku1a) 1226 09.01.18 14:13 Сейчас в теме
Подробнее немного читал на хабре: тут и тут.
2. Sergey Andreev (starik-2005) 1285 09.01.18 15:04 Сейчас в теме
Meltdown уже исправлена для ядра Linux, RHEL и Fedora
Ух-ты, я и не знал, что тут три ядра, а не одно (с учетом того, что федора - это одна из веток RHEL). Кто эти новости строчит-то? Хоть бы спросили кого понимающего. Ну и остальное тоже как-то странно - ошибка в процессоре, а заплатка - программное изменение ядра ОС. Бред!
3. rjhev korum (корум) 314 09.01.18 15:30 Сейчас в теме
(2)
как-то странно - ошибка в процессоре, а заплатка - программное изменение ядра ОС

а что надо, дополнительную микросхему всем покупателям с 1995 года выслать?

Кто эту критику на новости строчит-то? Хоть бы спросили кого понимающего. (ц)
4. Sergey Andreev (starik-2005) 1285 09.01.18 16:13 Сейчас в теме
(3)
а что надо, дополнительную микросхему всем покупателям с 1995 года выслать?
Ну а как изменение ядра может исправить критическую уязвимость процессора? Ядро и так разделяет уровень привилегий, а ошибка заключается в том, что можно получить доступ к памяти другого ("изолированного") приложения.
Spectre нарушает изоляцию памяти приложений, что дает возможность получить доступ к данным чужого приложения

Т.е. в процессоре есть баг, и как его можно пропатчить изменением ядра ОС? Что, приложение не может содержать низкоуровневых команд процессора, которые позволят получить доступ к памяти другого,"изолированного", приложения? Как изменение ядра может этому помешать?

Ну или кое-кто кое-что недоговаривает.
6. Дмитрий Сергеевич Яковенко Яковенко (lishniy) 09.01.18 17:59 Сейчас в теме
(4)
На сколько я понял: общий кэш (в котором и можно прочитать данный другого приложения) будет часто сбрасываться. От сюда и падение производительности.
7. Sergey Andreev (starik-2005) 1285 09.01.18 18:12 Сейчас в теме
(6)
На сколько я понял: общий кэш
Все интереснее и интереснее становится. Как-то, помню, программеры на ПиСи (сурьезные дядьки, а не адинэснеги) плакались, что, в отличие от консолей, на ПиСи ну никак ты программно кешем управлять не можешь - заблокировать, там, область данных или иное что - никак. Может появились команды, которые кеш процессорный читать могут... Но тут, как я понимаю, какой-то баг именно в том, что внезапно каким-то местом при каких-то манипуляциях с кешем (это ведь не кеш HDD, да?) - интересно, какими командами - происходит чтение этого кеша каким-то другим приложением, которое обращается как-то странно к памяти. К кеш-памяти просто так обратиться, на сколько я знаю, нельзя - можно обратиться к памяти, а там уже процессор проверяет, есть она в кеше какого уровня или ее там нет. Видимо раскопали какой-то "хак", который позволяет что-то такое большое из кеша извлечь (раз сразу столько народу обнаружило, то, видимо, какой-то баг у кого-то всплыл, который в итоге оказался фичей). Отсюда как-бы сложно сделать вывод, что частый сброс кеша (а каким образом?) позволит чего-то такого избежать. Ну я реально не въезжаю - может кто подробнее объяснит?
5. Дмитрий Г (Ziggurat) 53 09.01.18 17:53 Сейчас в теме
На AMD - гнусный поклёп, а именно - работает только на линуксе, на специально скомпилированном ядре.
8. Сан Саныч (herfis) 239 09.01.18 18:13 Сейчас в теме
Нашел похожее на правду объяснение: https://habrahabr.ru/post/346164/
Мнение автора - очередной раз ученый изнасиловал журналиста.
ЗЫ. Блин, почитал комментарии - там все еще сложнее и эту статью тоже заплевали :)
starik-2005; +1 Ответить
9. Sergey Andreev (starik-2005) 1285 09.01.18 18:18 Сейчас в теме
(8) ну наконец-то нормальное объяснение.
10. Сан Саныч (herfis) 239 09.01.18 18:26 Сейчас в теме
Во. Вроде нашел наконец совсем толковую статью человеческим языком - https://geektimes.ru/post/297029/
ЗЫ. Из нее я наконец-то понял (после третьего прочтения) каким способом имея только информацию о факте кэширования адреса можно добраться до данных :)
starik-2005; +1 Ответить
11. Дмитрий Д (profiprog1c) 163 09.01.18 20:15 Сейчас в теме
Да, угрозы есть. Читаю об этом с 04 января, много всякого перечитал. Однако Meltdown угрожает только процессорам Intel. При этом Meltdown можно устранить полностью патчем ОС и браузеров, что производители и делают. M$ выпустил уже патч 4 января для Win10 и чуть позже для Win 7, 8 и серверных ОС, начиная с 2008. Подождем, может еще сегодня что выйдет исправленное от M$. Apple тоже что-то там патчи делали или делают, я не особо слежу за Apple. АМD заявил что Meltdown его процессорам практически не страшен, но внятных объяснений не дал, хотя все пишут, что да, вроде бы AMD не подвержены Meltdown. Браузеры тоже должны выпустить патчи, как как по сути именно они и представляют возможность Meltdown через JavaScript. Мозилла уже выпустила патч, который меняет точность замеров таймингов. Гугл обещает хром поправить до 23 января, за Оперой и Сафари не слежу. А вот Spectre как закрыть пока не знают и ему подвержены все процессоры, включая и смартфоны!!!. Но при этом надо иметь ввиду, что Spectre очень сложно использовать на практике. То есть там даже в теории все запутано достаточно, а использование уязвимости Spectre на практике очень и очень сложное (если вообще возможное) в реализации. Поэтому обязательно обновляйте Windows и браузеры. Патчи на смартфоны весьма проблематичны, так как куча производителей сартфонов и будут ли они для всех моделей делать, далеко не факт.
12. Sergey Andreev (starik-2005) 1285 09.01.18 22:22 Сейчас в теме
(11)
Поэтому обязательно обновляйте Windows
А что посоветуете владельцами АМД и Linux? )))
13. Дмитрий Д (profiprog1c) 163 09.01.18 22:33 Сейчас в теме
(12) АМД - это процессор, а Линукс - ОС. На старых АМД патчи от M$ вызывают бсоды. На новых процессорах АМД не вызывают (но точной статистики еще мало, да и АМД не распространен как Интел). Но вроде бы как АМД не подвержен угрозе Meltdown. Поэтому нужно ждать когда M$ исправит патчи и под АМД. Линуксов разных очень много. Они там тоже делают патчи от Meltdown, под какие версии не скажу, но уже есть патчи, я за Линуксами не слежу. Против Spectre пока патчей нет, как и понимания, как делать эти патчи. Spectre подвержены все виды процессоров, Интел, АМД, АРМ. Но, применить Spectre на практике пока никто не может. В теории и в "теоретических" условиях уязвимость Spectre возможно кто-то и смог использовать - на практике нет и не факт, что можно будет использовать.
14. Sergey Andreev (starik-2005) 1285 09.01.18 23:29 Сейчас в теме
(13)
АМД - это процессор, а Линукс - ОС.
Продолжаем разговор (с) )))
15. Дмитрий Д (profiprog1c) 163 10.01.18 00:34 Сейчас в теме
(14) А, понято, очередной, типа "знаток", ну-ну
17. Sergey Andreev (starik-2005) 1285 10.01.18 10:25 Сейчас в теме
24. uri1978 uri1978 (uri1978) 109 10.01.18 15:50 Сейчас в теме
25. Sergey Andreev (starik-2005) 1285 10.01.18 16:00 Сейчас в теме
(24)
В статье не понял этот механизм (выделено жирным):
Это называется косвенная адресация, когда мы получаем данные не только из адреса ХХ, но и из адреса, который находится в ячейке ХХ.

Ну а спекулятивный режим - это выполнение кода в тот момент, когда выполняется другой код (код условия, расположенный ранее), но при этом для его выполнения нужно дождаться, когда более медленная память возвратит запрошенные данные для проверки условия.
27. uri1978 uri1978 (uri1978) 109 10.01.18 16:11 Сейчас в теме
(25) В алгоритм въехал. Пропустил в предложении важный кусок:

мы делаем конструкцию, расположенную в коде так, что процессор заведомо выполнит её в спекулятивном режиме, и которая будет представлять собой косвенную адресацию по значению, лежащему по адресу 15000.
16. Артём Андриянов (CSiER) 10.01.18 07:32 Сейчас в теме
После https://github.com/corna/me_cleaner наличие подобных "фич" не удивляет.
18. Сан Саныч (herfis) 239 10.01.18 11:29 Сейчас в теме
Как я понимаю, все сейчас судорожно патчат Meltdown, а мне почему-то кажется что лекарство страшнее болезни.
Получаем падение производительности, в ряде случаев - сильное (для приложений с большим количеством системных вызовов).
Притом что уязвимость локальная - т.е. нужно начала подцепить какую-то гадость. Ну да, эту гадость сложно детектировать.
Но я, честно говоря, пока так и не понял, что реально плохого для пользователя можно сделать, имея возможность дампить системную область памяти, отображаемую в адресное пространство приложения. То есть это скорее всего таки дает потенциальную возможность ухватить там за хвост какие-то секурные данные в каких-то случаях, но еще не факт что получится на этом создать реально работающие эксплойты. Пока таких вроде нет. Или есть?
21. Дмитрий Д (profiprog1c) 163 10.01.18 14:12 Сейчас в теме
(18) Meltdown можно подцепить с обычного сайта, который выполнит вредоносный JavaScript например, в этом то и опасность. Поэтому устанавливать патчи нужно обязательно, в том числе и на браузеры. Падение производительности не очень сильное. У меня патчи уже стоят, разницы в работе не заметил. Пишут что на PostgreSQL например сильное падение до 20%, но ним не пользуюсь. Работающих эксплойтов на данный момент нет, но это пока их нет.
19. Сан Саныч (herfis) 239 10.01.18 12:19 Сейчас в теме
Про уязвимость Spectre, которой подвержены ВСЕ процессоры со опережающим выполнением команд и предсказанием ветвлений, я понял следующее.

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

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

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

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

ЗЫ. Хотя, если уж Intel все равно будет аппаратно патчить Meltdown, то ничего не помешает ему напрячься и перепелить предсказание переходов таким образом, чтобы мешать его явной тренировке из других процессов без сильной потери эффективности. То есть, через пару поколений процессоров (а кто может и в следующем поколении сделает, если решится на такие затраты), это скорее всего таки закроют аппаратно.
20. Sergey Andreev (starik-2005) 1285 10.01.18 13:25 Сейчас в теме
Все эти уязвимости потенциально позволяют получить такие вещи, как, например, пароль от кошелька биткоина. Даже если при патчах ОС производительность будет падать, то на майнинге это мало скажется, ибо на обычных CPU уже вроде как никто не майнит.

Вообще, проблема в том, что, как теперь многим стало очевидно, в Java-script есть своя виртуальная машина и есть компиляторы в байт-код этой виртуалки с того же С/С++, а это уже позволяет некоторым образом произвести атаку в браузере (WebAssembly), откуда следует вывод о том, что вводить пароли в браузере даже на сайтах, защищенных с помощью SSH и TLS1.2-3-4-5-x-y-z..., становится небезопасно...
22. Сан Саныч (herfis) 239 10.01.18 14:28 Сейчас в теме
(20)(21) Атака через браузер потенциально возможна но JS вряд ли, да и с WebAssembly тоже не уверен. И даже если да - для Spectre найти подходящие "болевые точки" будет гораздо сложнее (если вообще возможно), а для Meltdown даже при успешной атаке получится сдампить только системную область процесса текущей вкладки. Снова сомневаюсь, что с использованием этих данных получится добраться до пароля защищенного сайта с соседней вкладки. И в любом случае Meltdown лечится системным патчем плюс производители браузеров тоже что-то свое вроде выкатывают. Типа "загрубления" доступных из него средств тайминга. Но это не точно :)
23. Sergey Andreev (starik-2005) 1285 10.01.18 14:57 Сейчас в теме
(22)
И в любом случае Meltdown лечится системным патчем плюс производители браузеров тоже что-то свое вроде выкатывают.
Так вот и возникает некое подозрение, основанное на "а зачем, это, производители браузеров пилят защиту, если вроде как производители ОС уже сделали патч" о том, что не все так гладко в доме Облонских, как об этом пишут... В приведенных статьях (точнее в комментариях к ним) народ подозревает, что все будут говорить, что все теперь хорошо, а в реальности ничего толком для изменения ситуации до выпуска обновленных процессорных систем не будет сделано, хотя некоторые "патчи" появятся (и уже появились), но их эффективность будет под большим вопросом. Предлагаю тупо протестировать тот же Meltdown на пропатченной винде и непропатченной - изменилось ли поведение программы в первом и втором случаях, и всегда ли. Сдается мне, что сейчас больше отмазок со стороны производителей процессоров, чем реальных результатов...
26. Сан Саныч (herfis) 239 10.01.18 16:02 Сейчас в теме
(23)
Так вот и возникает некое подозрение, основанное на "а зачем, это, производители браузеров пилят защиту, если вроде как производители ОС уже сделали патч" о том, что не все так гладко в доме Облонских, как об этом пишут...

Банальные маркетинг и психология. Уже даже домохозяйки в курсе, что найдены какие-то жуткие уязвимости в процессорах (и это правда, ведь считалось что с этой стороны бетонная плита).
Главная задача у всей индустрии сейчас - успокоить потребителей. Отчитаться что выпущены патчи (даже если они нифига не патчат), быстрее конкурентов. Это тупо успокаивает клиентов и дает конкурентное преимущество.
Даже если с твоей стороны все хорошо или плохо но особо ничего сделать и нельзя, выгоднее выпустить гомеопатический патч, гипотетически уменьшающий вероятность хака.
Если Хром скажет, что чего-то там у себя пропатчил, то в другие браузеры будут тыкать пальцами со словами "а у них до сих пор патча нет". В детали все равно вникают единицы. И пофиг, что будет пропатчена ось. Защиты много не бывает!
Оставьте свое сообщение