Исследователи безопасности опубликовали в Project Zero новую уязвимость под названием Spectre и Meltdown, позволяющую программе красть информацию из памяти других программ. Это влияет на архитектуры Intel, AMD и ARM.
Этот недостаток можно использовать удаленно, посетив веб-сайт JavaScript. Технические подробности можно найти на сайте Redhat , в команде безопасности Ubuntu .
Утечка информации из-за спекулятивных атак по побочным каналам (CVE-2017-5715, CVE-2017-5753, CVE-2017-5754 aka Spectre и Meltdown)
Было обнаружено, что новый класс атак на побочные каналы воздействует на большинство процессоров, включая процессоры Intel, AMD и ARM. Атака позволяет злонамеренным процессам пространства пользователя читать память ядра и вредоносный код в гостях, чтобы читать память гипервизора. Для решения этой проблемы потребуются обновления ядра Ubuntu и микрокода процессора. Эти обновления будут объявлены в будущих уведомлениях о безопасности Ubuntu, как только они станут доступны.
Пример реализации в JavaScript
В качестве подтверждения концепции был написан код JavaScript, который при запуске в браузере Google Chrome позволяет JavaScript считывать личную память из процесса, в котором он выполняется.
Похоже, моя система подвержена уязвимости. Я скомпилировал и выполнил это доказательство концепции ( spectre.c
).
Системная информация:
$ uname -a
4.13.0-0.bpo.1-amd64 #1 SMP Debian 4.13.13-1~bpo9+1 (2017-11-22) x86_64 GNU/Linux
$ cat /proc/cpuinfo
model name : Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz
$gcc --version
gcc (Debian 6.3.0-18) 6.3.0 20170516
Как смягчить уязвимости Spectre и Meldown в системах Linux?
Дополнительная информация: Использование Meltdown для кражи паролей в режиме реального времени .
Обновить
Используя ответ Spectre & Meltdown Checker
после переключения на 4.9.0-5
версию ядра, следующий за ответом @Carlos Pasqualini, потому что доступно обновление для системы безопасности для смягчения cve-2017-5754 в Debian Stretch:
CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
* Checking count of LFENCE opcodes in kernel: NO (only 31 opcodes found, should be >= 70)
> STATUS: VULNERABLE (heuristic to be improved when official patches become available)
CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
* Mitigation 1
* Hardware (CPU microcode) support for mitigation: NO
* Kernel support for IBRS: NO
* IBRS enabled for Kernel space: NO
* IBRS enabled for User space: NO
* Mitigation 2
* Kernel compiled with retpoline option: NO
* Kernel compiled with a retpoline-aware compiler: NO
> STATUS: VULNERABLE (IBRS hardware + kernel support OR kernel with retpoline are needed to mitigate the vulnerability)
CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Kernel supports Page Table Isolation (PTI): YES
* PTI enabled and active: YES
> STATUS: NOT VULNERABLE (PTI mitigates the vulnerability)
Обновление 25 января 2018 г.
spectre-meltdown-checker
Сценарий официально упаковывают Debian, он доступен для Debian Stretch через Backports хранилище, Бастера и Sid.
Спекулятивный обход магазина (SSB) - также известный как вариант 4
Системы с микропроцессорами, использующими спекулятивное выполнение и спекулятивное выполнение чтения из памяти до того, как станут известны адреса всех предыдущих записей в памяти, могут позволить несанкционированное раскрытие информации злоумышленнику с локальным доступом пользователя посредством анализа побочных каналов.
Rogue System Register Read (RSRE) - также известен как вариант 3a
Системы с микропроцессорами, использующими спекулятивное выполнение и выполняющими спекулятивное чтение системных регистров, могут позволить несанкционированному раскрытию системных параметров злоумышленнику с локальным доступом пользователя через анализ побочных каналов.
Изменить 27 июля 2018
NetSpectre: чтение произвольной памяти по сети
В этой статье мы представляем NetSpectre, новую атаку, основанную на варианте 1 Spectre, не требующую кода, управляемого злоумышленником, на целевом устройстве, что затрагивает миллиарды устройств. Подобно локальной атаке Spectre, наша удаленная атака требует наличия гаджета Spectre в коде цели. Мы показываем, что системы, содержащие требуемые гаджеты Spectre в открытом сетевом интерфейсе или API, могут быть атакованы нашей общей удаленной атакой Spectre, позволяющей считывать произвольную память по сети. Злоумышленник отправляет жертве только серию специально созданных запросов и измеряет время отклика для утечки секретного значения из памяти жертвы.
источник
Ответы:
Алан Кокс поделился ссылкой из блога AMD: https://www.amd.com/en/corporate/speculative-execution
Вариант первый: обход ограничений Вариант второй: инъекция целевой ветви Вариант третий: мошенническая загрузка кэша данныхБыло бы хорошо получить подтверждение этих заявлений AMD третьей стороной.
Для «смягчения» в уязвимых системах потребуется новое ядро и перезагрузка, но во многих дистрибутивах еще не выпущены пакеты с исправлениями:
Debian:
Другие источники информации, которые я нашел:
источник
27 января 2018 года Intel Microcode ломает некоторые системы
Intel микрокод Обновление 2018-01-08 для решения спекулятивного исполнения ветвления дыр в безопасности сломала несколько систем. Это повлияло на многие системы Ubuntu с 8 по 21 января. 22 января 2018 года Ubuntu выпустила обновление, которое возвращает старый микрокод 2017-07-07.
Если у вас возникли проблемы с обновлениями, переустановили Ubuntu и отключили обновления между 2018-01-08 и 2018-01-22, вы можете попробовать автоматические обновления Ubuntu снова.
16 января 2018 года Обновление Spectre в 4.14.14 и 4.9.77
Если вы уже работаете с версиями ядра 4.14.13 или 4.9.76, как я, установка не составит труда
4.14.14
и4.9.77
когда они появятся через пару дней, чтобы уменьшить дыру в безопасности Spectre. Название этого исправления - Retpoline и не имеет серьезного снижения производительности, которое ранее предполагалось:Не вдаваясь в детали JavaScript, вот как можно сразу же избежать дыры Meltdown (и по состоянию на 10 января 2018 года защита призраков)
12 января 2018 г. обновление
Начальная защита от Призрака здесь и будет улучшена в ближайшие недели и месяцы.
Ядра Linux 4.14.13, 4.9.76 LTS и 4.4.111 LTS
Из этой статьи Softpedia :
У многих пользователей были проблемы с обновлениями Ubuntu LTS 4 января 2018 года и 10 января 2018 года. Я пользуюсь
4.14.13
пару дней без проблем, однако YMMV .7 января 2018 г. обновление
Вчера Грег Кроа-Хартман написал обновление состояния дыр в безопасности ядра Meltdown и Spectre Linux. Некоторые могут назвать его вторым самым влиятельным человеком в мире Linux прямо рядом с Линусом. В статье рассматриваются стабильные ядра (обсуждаемые ниже) и ядра LTS, которые есть у большинства пользователей Ubuntu.
Ядра Linux 4.14.11, 4.9.74, 4.4.109, 3.16.52 и 3.2.97 Ошибка исправления исправления
Из этой статьи :
Пользователям настоятельно рекомендуется обновить свои системы немедленно
4 января 2018 01:42 GMT · Мариус Нестор
Сопровождающие ядра Linux Грег Кроа-Хартман и Бен Хатчингс выпустили новые версии серий ядра Linux 4.14, 4.9, 4.4, 3.16, 3.18 и 3.12 LTS (Long Term Support), которые, по-видимому, исправляют один из двух критических недостатков безопасности, затрагивающих большинство современных процессоры.
Ядра Linux 4.14.11, 4.9.74, 4.4.109, 3.16.52, 3.18.91 и 3.2.97 теперь доступны для загрузки с веб-сайта kernel.org, и пользователям настоятельно рекомендуется обновить свои дистрибутивы GNU / Linux к этим новым версиям, если они запускают любую из этих серий ядра немедленно. Зачем обновлять? Потому что они, по-видимому, исправляют критическую уязвимость под названием Meltdown.
Как сообщалось ранее, Meltdown и Spectre - это два эксплойта, которые затрагивают практически все устройства, работающие на современных процессорах (ЦП), выпущенных за последние 25 лет. Да, это означает, что почти все мобильные телефоны и персональные компьютеры. Непривилегированный злоумышленник может использовать расплавление для злонамеренного получения конфиденциальной информации, хранящейся в памяти ядра.
Уязвимость в патче для Spectre все еще в разработке
Хотя Meltdown является серьезной уязвимостью, которая может раскрыть ваши секретные данные, включая пароли и ключи шифрования, Spectre еще хуже, и его нелегко исправить. Исследователи в области безопасности говорят, что это будет преследовать нас довольно долго. Известно, что Spectre использует технику умозрительного исполнения, используемую современными процессорами для оптимизации производительности.
До тех пор, пока ошибка Spectre также не будет исправлена, настоятельно рекомендуется по крайней мере обновить дистрибутивы GNU / Linux до любой из недавно выпущенных версий ядра Linux. Так что поищите новое обновление ядра в репозиториях программного обеспечения вашего любимого дистрибутива и установите его как можно скорее. Не ждите, пока не станет слишком поздно, сделайте это сейчас!
Я использовал Kernel 4.14.10 в течение недели, поэтому загрузка и загрузка Ubuntu Mainline Kernel версии 4.14.11 не слишком беспокоили меня.
Пользователи Ubuntu 16.04 могут быть более довольны версиями ядра 4.4.109 или 4.9.74, выпущенными одновременно с 4.14.11.
Если ваши регулярные обновления не устанавливают версию ядра, которую вы хотите, вы можете сделать это вручную, следуя этому запросу Ask Ubuntu: https://askubuntu.com/questions/879888/how-do-i-update-kernel-to-the-latest -mainline-версия / 879920 # 879920
4.14.12 - Какая разница в день
Менее чем через 24 часа после моего первоначального ответа был выпущен патч для исправления версии ядра 4.14.11, которую они могли выпустить. Обновление до 4.14.12 рекомендуется для всех пользователей 4.14.11. Грег-КХ говорит :
Глядя на это обновление, не очень много строк исходного кода были изменены.
источник
apt-get dist-upgrade
.Верно. Итак, одно разумное решение - отключить JavaScript в ваших веб-браузерах или использовать веб-браузеры, которые не поддерживают JavaScript.
Большинство браузеров, которые поддерживают JavaScript, имеют параметр для его отключения. В качестве альтернативы, если вы хотите сохранить белый список сайтов или доменов, для которых разрешен JavaScript, то могут помочь различные дополнения, такие как uBlock Origin и NoScript .
NB. Само собой разумеется, что отключение / ограничение JavaScript не должно быть вашим единственным смягчением. Вам следует дополнительно просмотреть (и, вероятно, применить) любые соответствующие исправления ядра и другие обновления безопасности после их написания, тестирования и публикации. В Debian-производных распределения, использование команд , такие как
sudo apt update
,sudo apt list-upgradable
иsudo apt upgrade
.Обновление: не верьте мне на слово. Алан Кокс говорит то же самое:
источник
Тот факт, что это можно использовать с помощью JavaScript, не является главным и не должен быть главной проблемой (хотя это и главная проблема, потому что таким образом удаленный код может легко выполняться в вашей системе, но это не единственный как это может случиться).
Ваше внимание не должно лежать на Javascript и / или вашем браузере. В идеале ваш процессор должен быть исправлен. К сожалению, для большинства текущей волны ошибок это не представляется возможным. Вместе с Debian все другие стороны, предоставляющие ОС, пойдут другим путем, если не порекомендуют ЦП, который не имеет недостатков: они вынуждают систему обойти ошибку в ЦП. Эти патчи не решают проблемы. Вместо этого ОС прячет их как можно лучше от любой программы, которую пользователь запускает на компьютере (и, следовательно, также от вашего браузера).
Это сокрытие является дополнительной вычислительной работой, и, следовательно, ваша общая производительность системы будет ниже, чем без нее. Насколько ниже, вероятно, сильно зависит от того, что именно эти программы делают.
Имея это в виду, вернемся к вашему вопросу: что вы можете сделать, чтобы защитить свою систему Debian, это установить обновления безопасности. Я верю, что Debian сделает все возможное в свете этих ошибок, чтобы запустить Debian максимально безопасно, несмотря на недостатки процессора.
Разные крупные компании уже работают над этой проблемой, как и многие гуру оборудования и Linux. Я не хочу абсолютно удерживать вас от попыток сделать что-то самостоятельно или от попыток помочь общим усилиям. Тем не менее, если вас интересует ваша собственная безопасность и своевременное исправление, то, скорее всего, они найдут лучшее решение в более короткие сроки, чем вы, начиная сейчас, чтобы заняться этим самостоятельно.
источник