Мудрец - это естественный лидер, который, несмотря на способность побеждать, всегда остается в тени.

Газ, нефть принадлежат народу. Это понятно. Непонятно, ...

Google, Microsoft, Twitter и Facebook основали проект по обеспечению переносимости данных
Fri, 20 Jul 2018 20:44:55 +0300

Началось формирование ASan-сборок Firefox для выявления проблем при работе с памятью
Fri, 20 Jul 2018 09:23:16 +0300

В Google ведётся обсуждение возможной замены Android на ОС Fuchsia
Thu, 19 Jul 2018 23:45:05 +0300

В ночные сборки Firefox добавлен WebRender, использующий GPU для отрисовки web-страниц
Thu, 19 Jul 2018 20:50:32 +0300

Евросоюз оштрафовал Google на 4.3 млрд евро за навязывание своих сервисов в Android
Wed, 18 Jul 2018 20:47:49 +0300

В компилятор LDC языка D добавлена поддержка WebAssembly
Wed, 18 Jul 2018 10:36:25 +0300

Slackware Linux исполнилось 25 лет
Tue, 17 Jul 2018 08:16:55 +0300

Mozilla, Cloudflare, Fastly и Apple работают над применением шифрования для SNI
Mon, 16 Jul 2018 22:05:36 +0300

Оценка безопасности новой системы контейнерной изоляции Nabla
Mon, 16 Jul 2018 10:58:41 +0300

Гвидо ван Россум решил отстраниться от руководства проектом Python
Thu, 12 Jul 2018 20:23:38 +0300

Debian вошёл в консультативный cовет проекта KDE
Thu, 12 Jul 2018 12:43:41 +0300

Для Thunderbird и SeaMonkey введён в строй отдельный каталог дополнений
Tue, 10 Jul 2018 22:22:36 +0300

Airbus и IBM подготовили интеллектуальный помощник для МКС, работающий под управлением Ubuntu
Tue, 10 Jul 2018 11:33:35 +0300

Концепт камеры для печати фотографии в виде комиксов
Mon, 09 Jul 2018 09:58:50 +0300

DirectX Shader Compiler портирован для Linux и macOS
Tue, 03 Jul 2018 20:58:59 +0300

Новости OPENNET
Новости

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

Уязвимость Meltdown (CVE-2017-5754) позволяет приложению прочитать содержимое любой области памяти компьютера, включая память ядра и других пользователей. Проблема также позволяет получить доступ к чужой памяти в системах паравиртуализации (режим полной виртуализации (HVM) проблеме не подвержен) и контейнерной изоляции (в том числе Docker, LXC, OpenVZ), например, пользователь одной виртуальной машины может получить содержимое памяти хост-системы и других виртуальных машин. Уязвимости подвержены процессоры Intel (фактически все процессоры, выпускаемые с 1995 года, за исключением Intel Itanium и Intel Atom, выпущенных до 2013 года) и ARM64 (Cortex-A15/A57/A72/A75). Подготовленный прототип эксплоита позволяет читать память ядра со скоростью 2000 байт в секунду на процессоре Intel Xeon архитектуры Haswell.

Уязвимость Spectre (CVE-2017-5753, CVE-2017-5715) создаёт брешь в механизме изоляции памяти приложений и позволяет атакующему обманным способом получить данные чужого приложения (только приложения, но не памяти ядра). Этой атаке подвержены процессоры Intel, AMD (продемонстрирован эксплоит, работающий при включенном eBPF в ядре Linux) и ARM64 (Cortex-R7/R8, Cortex-A8/A9/A15/A17/A57/A72/A73/A75). По сравнению с Meltdown уязвимость существенно труднее в эксплуатации, но её и значительно труднее исправить. Прототип эксплоита Spectre уже можно найти в открытом доступе.

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

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

Пользователям рекомендуется установить обновление ядра сразу после его публикации для дистрибутивов. Исправление проблемы Meltdown для ядра Linux выпущено в виде набора патчей KPTI, при использовании которых наблюдается проседание производительности приложений, активно обращающихся к системным вызовам (например, http-серверы и СУБД могут потерять 5-20% производительности). Исправление уязвимости Spectre в общем виде пока не выработано, частично предложено обновление микрокода и усиление безопасности отдельных приложений.

Обновление для блокирования Meltdown уже выпущено для RHEL, CentOS и Fedora. Проследить за появлением обновлений в других дистрибутивах можно на следующих страницах: Debian, Ubuntu, SUSE (частично исправлена), openSUSE, FreeBSD, OpenBSD, NetBSD. Исправления для Windows и macOS ожидаются в ближайшее время. Для платформы Android исправления были доставлены в последнем обновлении. Проблема также устранена в Chrome OS 63.0.3239.116.

Применение патча обязательно так как

пользователи ежедневно запускают чужой код на своих компьютерах, посещая веб сайты с JavaScript (>99%) и одним из инструментов совершения атаки может стать web-браузер. Разработчики Google Chrome работают над интеграцией защиты от совершения атаки через JavaScript прямо в браузер. Исправление будет доступно в релизе Chrome, назначенном на 23 января. Компания Mozilla внесла в Firеfox 57 временные исправления, затрудняющие атаку, ограничив точность работы таймера (performance.now) до 20µs и отключив SharedArrayBuffer.

Интересен комментарий Торвальдса: текущие патчи безусловно включили KPTI для всех процессоров и архитектур Intel, что может означать, что у компании нет кристаллов, в которых эта ошибка исправлена, а это может значить, что Cannon Lake/Ice Lake выйдут с этой же проблемой.

Дополнение 1: Компанией Google для ядра Linux предложен вариант патчей c реализацией метода "retpoline" для блокирования атаки Spectre. Накладные расходы от данных патчей не превышают 1.5%. Для применения данного метода требуется сборка специально модифицированным компилятором. Поддержка retpoline уже предложена для GCC и Clang.

Дополнение 2: Демонстрация использования атаки Meltdown для кражи пароля (автор ролика Michael Schwarz, один из исследователей, выявивших проблему):

Дополнение 3: Опубликован прототип эксплоита для атаки Meltdown.

Дополнение 4: Intel выпустит процессоры с исправлением ошибки уже в этом году. Не уточняется, исправят ли они все ошибки, или только Meltdown. До конца следующей недели Intel также намерен выпустить обновление микрокода для 90% моделей CPU, выпущенных последние 5 лет.

Дополнение 5: Уязвимости затрагивают IBM System Z, POWER8 (Big Endian, Little Endian) и POWER9 (Little Endian). Процессоры RISC-V проблемам не подвержены.

Дополнение 6: Компания Google опубликовала информацию с результатами внедрения техник KPTI и retpoline для блокирования уязвимостей Meltdown и Spectre на своих Linux-серверах, в том числе обслуживающих поиск, Gmail, YouTube и Google Cloud Platform. Влияние на производительность обоих патчей при реальной нагрузке оценивается как незначительное, не смотря на упоминаемые некоторыми исследователями довольно внушительные проседания в синтетических тестах.

63.4888 73.9327 0.5645 9.3656

НОВОСТИ: Доступен сборочный инструментарий Qbs 1.12, развиваемый проектом ... Thu, 19 Jul 2018 21:06:10 +0300

Опубликован релиз развиваемого проектом Qt сборочного инструментария Qbs 1.12 (Qt Build Suite), который заменит qmake в Qt 6. Для сборки Qbs в качестве зависимости требуется Qt, хотя сам Qbs рассчитан на организацию сборки любых проектов. Qbs использует упрощённый вариант языка QML для определения сценариев сборки проекта, что позволяет определять достаточно гибкие правила сборки, в которых могут подключаться внешние модули, использоваться функции на JavaScript и создаваться произвольные правила сборки.

???????@Mail.ru Opera Firefox INFOBOX - хостинг Google Chrome