Разработчики Linux и Windows работают над закрытием огромной уязвимости в процессорах

отметили
73
человека
в архиве
Разработчики Linux и Windows работают над закрытием огромной уязвимости в процессорах

Фундаментальная ошибка проектирования всех современных процессоров Intel, выпущенных за последние 10 лет, заставила разработчиков Linux и Windows в срочном порядке переписывать значительные куски кода ядер для того, чтобы закрыть недавно открытую в них уязвимость. Архитектура ARM64 также подвержена уязвимости.

Детали уязвимости находятся под эмбарго до тех пор, пока не будут выпущены исправления, которое намечается на середину января 2018 года, когда выйдет новое ядро Linux и ежемесячное обновление безопасности для Windows. Проблема возможно уже исправлена в ядре 4.14.11, учитывая огромный размер инкрементного патча (229 KiB).

По известным сейчас данным, обход этой аппаратной проблемы может привести к падению производительности приложений на процессорах Intel от 5 до 30% и даже до 63% на некоторых задачах. Более новые чипы от Intel имеют в своём арсенале возможности (PCID / ASID), позволяющие сократить провал в производительности при применении исправления.

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

Для решения проблемы разработчикам ядер пришлось полностью разделить память ядра и память пользовательских приложений, однако такое решение приводит к серьёзному падению производительности из-за постоянной необходимости замены указателей на память. Разработчики ядра Linux в шутку предлагали следующие аббревиатуры для новой модели разделения памяти ядра и пользовательских процессов: User Address Space Separation (*_uass) и Forcefully Unmap Complete Kernel With Interrupt Trampolines (fuckwit_*), однако остановились на Kernel Page Table Isolation (kpti_*).

Разработчики из GRSecurity протестировали патчи и увидели огромное падение производительности. Разработчики PostgreSQL отметили падение производительности в тесте pgbench на 23% (при использовании процессоров с PCID — 17%). Из-за сильного влияния на производительность разработчики патча предусмотрели опцию для отключения KPTI, которая активируется через передачу параметра «nopti» при загрузке ядра.

Компания AMD утверждает, что её процессоры уязвимости не подвержены. Работа над исправлением уязвимости в других операционных системах также активно ведётся.

Дополнение 1: Выполнение программ под DOSEMU и Wine замедлится от исправления ещё больше, ввиду использования эмуляторами LDT.

Дополнение 2: Исследователь по безопасности под псевдонимом Brainsmoke написал прототип эксплоита, который читает закрытую память ядра при запуске непривилегированного процесса. Судя по всему, ошибка даже более серьёзная, чем предполагалось ранее.

Добавил manny21 manny21 3 Января 2018
Комментарии участников:
X86
+9
X86, 4 Января 2018 , url

Ппц, решето. Интел вообще в последнее время лажает. Куча кривого софта для винды.



X86
+6
X86, 4 Января 2018 , url

Ты если в теме не разбираешься, то не лезь. Я говорю в общем, что Интел лажает. И пишет кривой софт для винды. Этот софт пишет Интел, а не кто-то другой. Всякие Intel Management engine interface и куча других программ и драйверов.

В частности, у меня на ноутбуке посте установки intel me начинает тормозить курсор при нажатии правой кнопки мыши. Это фейл видеть такое в 2018 году.

X86
+11
X86, 4 Января 2018 , url

Это ты упоролся.

software.intel.com/ru-ru

downloadcenter.intel.com/ru/

Не лезь туда, в чем ты не разбираешься.



т-111
+3
т-111, 4 Января 2018 , url

X86 X86 упокойся! Эстот мастер-фломастер Семен Панов Семен Панов, во все темы лезит! Не втыкаясь обо них. 

Андрей Вайнштейн
+3
Андрей Вайнштейн, 4 Января 2018 , url

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

т-111
+2
т-111, 4 Января 2018 , url

Андрей Вайнштейн Андрей Вайнштейн ,  плюс 5 Вам!

Люблю читать журналы\газеты РГО.

И есть желание выкинуть компп...

В отпуске, в деревне- нет инета, моб.сбязи, Я ЦЕЛЫЙ МЕСЯЦ ОТДЫХАЮ....

hamburgerru
+4
hamburgerru, 4 Января 2018 , url

Более новые чипы от Intel имеют в своём арсенале возможности (PCID / ASID), позволяющие сократить провал в производительности при применении исправления.

 более новые чем какие? i386? 

Marlan
+3
Marlan, 4 Января 2018 , url

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

GreyWolf
0
GreyWolf, 4 Января 2018 , url

PCID появился на Haswell (4th-gen). Если у вас i7-4770 или новее, переживать не из-за чего. 

AMD процессоры до райзена судя по последним данным тоже подвержены одной из уязвимомтей, которые сейчас нашли...

kser
0
kser, 4 Января 2018 , url

Красные рулят, а синие пусть идут в баню со своей ценовой политикой, своим перечнем одинаковых соккетов  и своей термопастой под крышкой.

GreyWolf
0
GreyWolf, 4 Января 2018 , url

AMD процессоры до райзена судя по последним данным тоже подвержены одной из уязвимостей, которые сейчас нашли. Просто они еще не залатали дыру. А может и вообще на процессоры старые прибор положат, и латать не собираются. У красных с этим сплош и рядом...

Marlan
+4
Marlan, 4 Января 2018 , url

обход этой аппаратной проблемы может привести к падению производительности приложений на процессорах Intel от 5 до 30% и даже до 63% на некоторых задачах. Более новые чипы от Intel имеют в своём арсенале возможности (PCID / ASID), позволяющие сократить провал в производительности при применении исправления.

 В общем все просто. Все кто поставят обновление, будут вынуждены поменять компьютер)). Грамотный ход.

Marlan
0
Marlan, 4 Января 2018 , url

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

 Чем это грозит для обычного windows пользователя?

tooZ
+3
tooZ, 4 Января 2018 , url

падением производительности при установке обновления

Marlan
0
Marlan, 4 Января 2018 , url

Я имею ввиду чем грозит если не ставить обновление))). 

tooZ
+4
tooZ, 4 Января 2018 , url

Большая часть пользователей даже не узнают о том, что такое обновление будет установлено.

Просто внезапно комп станет несколько медленнее работать.

Marlan
0
Marlan, 4 Января 2018 , url

Хренасебе...

для демонстрации атак подготовлены работающие прототипы эксплоитов, в том числе реализация на JavaScript, работающая в браузере.

 

Уязвимость Meltdown (CVE-2017-5754) позволяет приложению прочитать содержимое любой области памяти компьютера, включая память ядра и других пользователей.

Но вроде нет необходимости обновлять ОС. достаточно 23 января обновить Хром, и уже сегодня можно обновить Фаерфокс.

GreyWolf
+1
GreyWolf, 4 Января 2018 , url

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

oleg_ws
0
oleg_ws, 4 Января 2018 , url

А в звонилках процессоров от Интел просто нет. Есть планшетофоны, но их мало. В основном ARM-процессоры

GreyWolf
0
GreyWolf, 4 Января 2018 , url

В первом абзаце новости:

Архитектура ARM64 также подвержена уязвимости.

 А в предпоследнем:

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

А в продолжении:

Разработчики из Google Project Zero опубликовали детали двух уязвимостей, которые получили кодовые имена Meltdown и Spectre. Процессоры Intel и ARM64 подвержены обеим проблемам, AMD затрагивает только вторая уязвимость. Производители процессоров были уведомлены о проблемах 1 июня 2017 года. Для демонстрации атак подготовлены работающие прототипы эксплоитов, в том числе реализация на JavaScript, работающая в браузере.

 Так кто ждем новых подлянок от троянописателей на всех типах девайсов… И имхо в первую очередь ломать будут телефоны. Так как самсунги свои говнозвонилки и уж тем более китайфоны никакие дырки латать не будут...

oleg_ws
0
oleg_ws, 4 Января 2018 , url

ARM64, но не просто ARM. Т.е. только последнии процы, а не все.

Кроме того вопрос на засыпку, а на каком ядре работает Андроид?

GreyWolf
0
GreyWolf, 5 Января 2018 , url

ARM64 это большинство современных Android телефонов. Включая Cortex-A73 (Snapdragon 835), т.е. включая топовые модели, за которые не малые деньги людьми уплачены...

К чему вопрос по поводу ядра, и о какой версии андроида речь? В моем старичке версия ядра 3.18 (Android 8.1.0). Кстати, апдейт сегодня прилетел… Кстати, Linux в статье упоминается так же, как и ARM64...

Кстати, сегодня Nintendo Switch взломал, а там как раз Cortex-A57… Может кто-то уже воспользовался дыркой?

GreyWolf
0
GreyWolf, 5 Января 2018 , url

*Nintendo Switch взломали

oleg_ws
0
oleg_ws, 5 Января 2018 , url

ARM64 это большинство современных Android телефонов

 Последних моделей, а не тех, которые в обиходе преобладают.

К чему вопрос по поводу ядра, и о какой версии андроида речь?

Вопрос не о версии, а вообще о его ядре. Если не в теме, то подскажу — в самой статье как раз о его новой версии говорится.

GreyWolf
0
GreyWolf, 5 Января 2018 , url

Не знаю с какими телефонами ходят у вас, а в остальном мире даже в самых бюджетных звонилках стоят 64-битные процессоры… Запрет на размещение 32-битных приложений в Google Store начнёт действовать с августа 2019 года, а Apple уже отказался от поддержки 32-битных приложений в iOS 11… Т.е. Apple уже похоронил 32-bit, а Google это сделает через полтора года...

oleg_ws
0
oleg_ws, 5 Января 2018 , url

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

А на счет ios — а причем тут он? Мы его здесь не обсуждаем.


Но от основного вопроса не уходи пожалуйста, а что все-таки за ядро у Андроида?

Я так понимаю, что от вопроса уходишь, т.е. просто напросто не в теме. Ну так там стоит Линуксовое-ядрою Дальше смотрим заголовок и читаем, что оказывается, оно все-таки обновляется! Так что уважаемый «знаток» — на этом разговор заканчиваю.

GreyWolf
0
GreyWolf, 6 Января 2018 , url

Я как раз в теме, а вы похоже нет.

Я же те написал, что например в моем телефоне стоит Android 8.1.0 с линух ядром версии 3.18. Вам что надо, чтобы я вам тут выдал список всех вариантов предоставил? Зайдите в сеттинги своего телефона посмотреть, если вам интересно, что стоит в вашем телефоне.

Причем тут iOS? Наверно притом, что в телефонах и планшетах Apple стоят CPU на архитектуре ARM64… Ну не верите мне, может Apple поверите?

«Все компьютеры Mac и iOS-устройства затронуты этой проблемой, но в настоящее время нет известных эксплойтов, влияющих на пользователей. Поскольку для применения этих багов необходимо загружать вредоносное приложение на устройство Mac или iOS, мы рекомендуем скачивать ПО только из надёжных источников, таких как App Store. Apple уже выпустила исправления в iOS 11.2, macOS 10.13.2 и tvOS 11.2 для защиты от Meltdown. Эта ошибка не влияет на Apple Watch. В ближайшие дни мы планируем выпустить исправления для Safari для защиты от Spectre. Мы продолжаем разрабатывать и тестировать патчи», — говорится в сообщении Apple.

Патч для Windows 10 уже вышел сегодня, Windows 7/8 залатают на следующей неделе, пользователи GNU/Linux получили патч еще вчера. Chrome залатать Google залатать обещает в конце месяца. Будут ли латать Android не в курсе. Может обойдуться только латанием Chrome, а любители пользоваться другими браузерами и пихания в телефон всякого говнософта будут действовать на свой страх и риск.

Откуда у вас такое сомнение?

oleg_ws
0
oleg_ws, 6 Января 2018 , url

Я как раз в теме, а вы похоже нет.

Я же те написал, что например в моем телефоне стоит Android 8.1.0 с линух ядром версии 3.18. Вам что надо, чтобы я вам тут выдал список всех вариантов предоставил? Зайдите в сеттинги своего телефона посмотреть, если вам интересно, что стоит в вашем телефоне.

Смотрим, что вы писали

К чему вопрос по поводу ядра, и о какой версии андроида речь? В моем старичке версия ядра 3.18 (Android 8.1.0

 И где же у вас указано, что оно линуксовое? Так что врать то не надо! Где вас про версию спрашивали? Номер версии может быть и знали, но на счеттого что оно на линукса видимо в первый раз слышите.

С врунам разговаривать и доказывать что-то бесполезно!

Причем тут iOS? Наверно притом, что в телефонах и планшетах Apple стоят CPU на архитектуре ARM64…

 Дурачка из себя корчите? У нас разговор только про Андроид и его ядро и не надо разговор переводить на другую тему.

GreyWolf
0
GreyWolf, 6 Января 2018 , url

В что намекаете, что я могу не знать что в Android стоит ядро Linux? Вы или дурак или идиот. Посмотрите на дату регистрации моего аккаунта. Он зарегистрирован еще в те времена, когда тут только одни айтишкики и тусовались, пока тут всех не разогнали упоротые политиканы, что на сайт сейчас заходить противно. Сплошные хохлосрачи...

и если вы уж начинаете цитировать, то цитируйте полностью… В том же абзаце стоит слово Linux.

oleg_ws
+1
oleg_ws, 6 Января 2018 , url

В что намекаете, что я могу не знать что в Android стоит ядро Linux?

Не намекаю, а просто-напросто утверждаю! Вы на этот вопрос не смогли ответить с нескольких попыток.

Посмотрите на дату регистрации моего аккаунта. Он зарегистрирован еще в те времена, когда тут только одни айтишкики и тусовались, пока тут всех не разогнали упоротые политиканы, что на сайт сейчас заходить противно

Ну да в качестве главного доказательства в споре — «посмотрите дату регистрации»! А что-то умнее сказать не смогли?

и если вы уж начинаете цитировать, то цитируйте полностью… В том же абзаце стоит слово Linux.

 И что? Фраза о Линуксе ну ни как не была связана с предыдущей фразой.
А на счет патча — можете радоваться — пропатчаное ядро 3.18 уже готово.

arez
0
arez, 4 Января 2018 , url

У меня сяоми… раз в неделю обновления по воздуху… Скорее за нокии обидна

manny21
0
manny21, 4 Января 2018 , url

Кононеко:

К вопросу о безусловном геноциде программистов.

Программисты всегда знают, как лучше. Они знают, как лучше, а другие не знают. Поэтому программисты делают, как лучше, а остальным приходится с этим жить.

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

А раз такое дело — то тут же и многозадачность уже сам бог велел. Мы же можем каждый раз подгружать в память и исполнять куски РАЗНЫХ программ. И тогда получится, что разные программы выполняются как бы одновременно. Но для того, чтобы мы подгружали и исполняли куски разных программ, нам нужны еще и другие счетчики — например, у каждой программы счетчик ее инструкций и адрес ее куска памяти. Этот набор данных назвали «контекст исполнения». На самом деле всё чуть сложнее, но я вам просто описываю процесс нагромождения всяких сопутствующих исполнениюю программы данных. Это придумали программисты, потому что они ЗНАЮТ КАК ЛУЧШЕ.

Ну ладно бы так. Вот у нас уже есть виртуальная память (когда программа может быть больше, чем памяти в вашем компьютере) и многозадачность (когда мы можем исполнять куски разных программ по очереди). Хочется придумать что-то еще.

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

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

Теперь оказалось, что я таки был прав.

Выяснилось, что во всех процессорах за последние двадцать лет (да, не только в интеловских! ВО ВСЕХ! ПОТОМУ ЧТО ВСЕ ПИЗДЯТ У ИНТЕЛА!) предсказание переходов кривое. То есть, когда процессор думает, что дальше программа будет туда, куда он думает, подгружает данные, а программа потом идет не туда, то процессор откатывает назад. Возвращает контекст исполнения, который был. НО НЕ ВЕСЬ. Бывает три вида памяти: постоянная (диск), оперативная (это вот те самые: память 8 гигабайт) и кэш процессора. Разница в объеме и быстродействии. Постоянная самая большая и самая медленная. Оперативная — это та самая, из которой исполняет программу процессор. А кэш процессора — это небольшой кусок памяти в самом процессоре, очень быстрый, но маленький. И вот по результатам предсказания того, как дальше должна исполняться программа, процессор и загружал в свой кэш то, что ему надо. Но когда оказывалось, что предсказание не оправдалось, то процессор откатывал назад, но КЭШ НЕ ОСВОБОЖДАЛ. А там уже загруженный кусок памяти. К которому исполняемся далее программа имеет полный доступ. А там — ваши голые фоточки, милые мои. То есть, циферки, которые позволяют ушлым людям получить к этим фоточкам доступ.

Еще раз повторю: это ВСЕ ПРОЦЕССОРЫ С 2005 года. И Интел, и АМД, и вот это говно, которое в телефонах.

И как это исправить, честно говоря, не очень понятно.

Но если мы не хотим такого и дальше, то следовало бы хотя бы убить всех программистов. Которые УМНЫЕ.

bazalt
+1
bazalt, 5 Января 2018 , url

Вот так Кононенко легко и непринужденно свел все к УМНЫМ программистам.

Глупые схемотехники, немощные потребители и слабовольные акулки бизнеса ваще ни причем...



Войдите или станьте участником, чтобы комментировать