Рост атак, связанных с захватом контроля над DNS

Компьютерная команда экстренной готовности США (US-CERT) предупредила администраторов о выявлении массовых атак, проводимых через перенаправление трафика на подконтрольный злоумышленникам хост при помощи правки параметров DNS в интерфейсе регистратора или провайдера услуг DNS.

Для получения доступа к настройкам DNS (многие клиенты не запускают свой DNS-сервер, а пользуются сторонним сервисом, как правило предоставляемым регистратором) организаторы атаки подбирают или перехватывают пароль к учётной записи для входа в интерфейс регистратора/DNS-сервиса. Например пароль может быть захвачен в результате внедрения троянских приложений на компьютеры жертв или вычислен, пользуясь совпадениями с паролями из доступных баз учётных записей, захваченных в результате атаки на известные сервисы (многие пользователи используют один пароль на разных сайтах). В отчёте также отмечается выполнение подмены серверов DNS, в случае если пользователь поддерживает собственные DNS-серверы, а не использует DNS-сервис регистратора.

После получения доступа к параметрам DNS атакующие указывают для домена IP-адрес своего хоста, на котором запускают прокси, перенаправляющий весь трафик на легитимный сервер жертвы. В отличие от зафиксированных в прошлые годы подобных атак, злоумышленники получают рабочий SSL-сертификат, подтверждая контроль за доменом в автоматически выдающем сертификаты сервисе Let’s Encrypt. В результате HTTPS трафик на подставной хост воспринимается браузерами как корректный и не вызывает подозрения у пользователей.

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

Общий масштаб атаки пока не ясен. Cо стороны достаточно трудно выявить факт вмешательства злоумышленников c учётом применения ими корректных SSL-сертификатов и изменения IP в DNS-сервисах (если атака проводится не через подмену DNS-серверов, а через правку привязки IP в интерфейсе управления DNS, то привязанные к домену DNS-серверы регистратора остаются не изменёнными). Среди скомпрометированных систем отмечаются некоторые коммуникационные компании, ISP, государственные организации и крупные коммерческие предприятия.

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

Источник: [ссылка]

Google наметил на 9 июля начало массовой блокировки в Chrome неприемлемой рекламы

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

Необходимые для блокирования рекламы технологии были добавлены в Chrome ещё в феврале 2018 года, но до сих пор блокировка была ограничена только отдельными странами, а основная работа была сосредоточена на популяризации принципов оформления добросовестной рекламы и информировании сайтов о наличии проблем с рекламными блоками через отчёт Ad Experience Report в инструментах Google для web-мастеров.

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

Рекомендации по блокированию неприемлемой рекламы подготовлены на основе опроса 66 тысяч пользователей из различных стран, охватывающих около 70% рынка интернет-рекламы. В результате проведённого исследования были выделены основные причины недовольства пользователей, вынуждающие устанавливать блокировщики. В настоящее время около 70 издателей из 27 стран, представляющих около 300 доменов, уже сертифицировали свои рекламные сети на предмет соответствия стандарту качества рекламы, выработанному «Коалицией по улучшению рекламы».

Ключевые виды недопустимых рекламных блоков, которые подлежат блокировке при просмотре на настольных системах:

  • Перекрывающие контент всплывающие блоки;
  • Видеореклама, автоматически воспроизводимая со звуком;
  • Реклама со счётчиком секунд до закрытия, отображаемая до загрузки контента;
  • Очень большие закреплённые блоки (970×250 или 580×400), которые сохраняют свою позицию при прокрутке.

При просмотре на мобильных системах:

  • Всплывающая поверх контента реклама;
  • Закреплённые рекламные блоки, которые не смещаются при прокрутке;
  • Рекламные блоки со счётчиком, показываемые перед показом основного содержимого или после попытки ухода со страницы;
  • Раздражающая реклама (мигание фона, агрессивное изменение цветов);
  • Рекламные блоки, занимающие больше 30% экранного пространства;
  • Полноэкранная реклама;
  • Автоматически воспроизводимая видеореклама со звуком.

Источник: [ссылка]

В systemd-journald выявлены три уязвимости, позволяющие получить права root

В компоненте systemd-journald, отвечающем за ведение логов в systemd, выявлены три уязвимости, позволяющие непривилегированному атакующему повысить свои привилегии в системе и выполнить код с правами root. Уязвимости проявляются во всех дистрибутивах, использующих systemd, за исключением SUSE Linux Enterprise 15, openSUSE Leap 15.0 и Fedora 28/29, компоненты systemd в которых собраны с включением в GCC защиты «-fstack-clash-protection».

Уязвимости CVE-2018-16864 и CVE-2018-16865 позволяют создать условия для записи данных вне границ выделенного блока памяти, а уязвимость CVE-2018-16866 даёт возможность прочитать содержимое внешних областей памяти. Исследователями подготовлен рабочий прототип эксплоита, который при помощи уязвимостей CVE-2018-16865 и CVE-2018-16866 позволяет получить права root после примерно 10 минут атаки на системах с архитектурой i386 и 70 минут на системах amd64. Работа эксплоита проверена в Debian 9.5.

При написании эксплоита использована техника Stack Сlash, суть которой в создании условий когда содержимое переполненной кучи оказывается в области стека или, наоборот, стек может переписать область кучи, что проявляется в ситуациях, когда стек и куча размещаются смежно и прилегают друг к другу (область стека следует сразу за памятью, выделенную под кучу). Предложенный эксплоит подтверждает предположение, что защиты от атак класса Stack Сlash на уровне ядра Linux недостаточно. При этом атака успешно блокируется при пересборке в GCC с включенной опцией «-fstack-clash-protection».

Уязвимость CVE-2018-16864 была обнаружена после разбора ситуации, когда передача приложениям, сохраняющим данные в лог через вызов syslog(), большого числа аргументов командной строки (несколько мегабайт) приводит к краху процесса systemd-journald. Анализ показал, что манипулируя строкой с аргументами командной строки можно осуществить управляемое наложение хвоста кучи на начало стека, но для успешной атаки требуется обойти применяемую в ядре технику защиты «stack guard-page», суть которой в подстановке граничных страниц памяти, обращение к которым приводит к генерации исключения (page-fault).

Для обхода данной защиты из параллельно выполняемого потока systemd-journald было инициировано состояние гонки (race condition), позволяющее успеть захватить управление до краха процесса из-за записи в страницу памяти, доступную только для чтения. В процессе изучения первой уязвимости всплыли ещё две проблемы. Вторая уязвимость CVE-2018-16865 позволяет создать похожие условия наложения стека и кучи через запись очень большого сообщения в файл /run/systemd/journal/socket. Третья уязвимость CVE-2018-16866 проявляется если отправить syslog-сообщение c последним символом «:». Из-за ошибки разбора строки следующий за ним символ конца строки » будет отброшен и в логе окажется кусок буфера за пределами », что позволяет узнать адреса стека и mmap.

Уязвимость CVE-2018-16864 проявляется с апреля 2013 года (появилась в systemd 203), но пригодна для эксплуатации только после изменения, внесённого в systemd 230 в феврале 2016 года. Уязвимость CVE-2018-16865 проявляется с декабря 2011 года (systemd 38) и доступна для эксплуатации с апреля 2013 года (systemd 201). Проблемы CVE-2018-16864 и CVE-2018-16865 устранены несколько часов назад в master-ветке systemd. Уязвимость CVE-2018-16866 появилась в июне 2015 года (systemd 221) и устранена в августе 2018 года (не проявляется в systemd 240). Публикация рабочего эксплоита отложена до выпуска исправлений дистрибутивами. В настоящий момент в дистрибутивах уязвимости пока остаются неисправленными (Debian, Ubuntu, RHEL, Fedora, SUSE).

Источник: [ссылка]

Атака по определению состояния памяти процессов при помощи страничного кэша

Группа исследователей безопасности, из которых несколько участвовали в выявлении первых уязвимостей Meltdown и Spectre, разработали новый вид атаки по сторонним каналам, проводимой на основе анализа содержимого страничного кэша (page cache), в котором содержится информация, полученная в результате обращения операционной системы к дискам, SSD-накопителям и другим блочным устройствам. В отличие от атак Spectre, новая уязвимость не вызвана аппаратными проблемами, а касается только программных реализаций страничного кэша и проявляется в Linux (CVE-2019-5489), Windows и, вероятно, во многих других операционных системах. Для ядра Linux исправление уже доступно в виде патча. В Windows 10 проблема устранена в тестовой сборке (Insider Preview Build) 18305.

Через манипуляции с системными вызовами mincore (Linux) и QueryWorkingSetEx (Windows), позволяющими определить наличие страницы памяти в системном страничном кэше, локальный непривилегированный атакующий может отслеживать некоторые обращения других процессов к памяти. Атака позволяет отслеживать доступ на уровне 4 килобайтовых блоков с временным разрешением в 2 микросекунды в Linux (6.7 измерений в секунду) и 446 наносекунд в Windows (223 измерений в секунду).

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

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

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

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

Источник: [ссылка]

Седьмое обновление прошивки UBports, пришедшей на смену Ubuntu Touch

Проект UBports, который взял в свои руки разработку мобильной платформы Ubuntu Touch, после того как от неё отстранилась компания Canonical, опубликовал обновление прошивки OTA-7 (over-the-air) для всех официально поддерживаемых смартфонов и планшетов, которые были укомплектованы прошивкой на базе Ubuntu. Обновление сформировано для смартфонов OnePlus One, Fairphone 2, Nexus 4, Nexus 5, Nexus 7 2013, Meizu MX4/PRO 5, Bq Aquaris E5/E4.5/M10. Проектом также развивается экспериментальный порт рабочего стола Unity 8, доступный в сборках для Ubuntu 16.04 и 18.04.

Выпуск сформирован на основе Ubuntu 16.04 (сборка OTA-3 была основана на Ubuntu 15.04, а начиная с OTA-4 осуществлён переход на Ubuntu 16.04). Основные изменения:

  • Добавлена возможность изменения тем оформления экранной клавиатуры. На выбор предложено 9 тем, построенных в светлых и тёмных цветовых гаммах с явным выделением границ клавиш и без окантовки. Для смены тем в настройки добавлена опция «Settings -> Language & Text -> Keyboard theme»;
  • Продолжена модернизация web-браузера Morph Browser, построенного на актуальной кодовой базе Chromium. В новой версии добавлена возможность закрытия текущей вкладки при просмотре списка открытых вкладок, добавлена защита от перехода в спящий режим при просмотре видео, реализована опция для задания уровня масштабирования по умолчанию и определения индивидуальных настроек масштабирования для отдельных страниц;
  • Обновлена библиотека libhybris с реализацией прослойки для взаимодействия с оборудованием, позволяющей применять драйверы, созданные для платформы Android 7.1;
  • Добавлена компонент, позволяющий использовать дисплейный сервер Mir на устройствах с чипами Qualcomm, для которых имеются графические драйверы для Android 7.1.
  • Благодаря новым версиям libhybris и Mir существенно упрощено портирование Ubuntu Touch на новые устройства, используя платформу Halium;
  • Реализована возможность установки на устройства Nexus 4 и Nexus 7 2013 (модели с wifi), изначально поставляемые с Android 5.1;
  • Добавлена раскладка клавиатуры для литовского языка;
  • Интерфейс подключения к online-аккаунтам переведён с web-движка Oxide (устаревший QtQuick WebView) на QtWebEngine.

В следующем обновлении OTA-8 ожидается переход на новый выпуск Mir 1.1 и последний выпуск оболочки Unity 8, подготовленный компанией Canonical. Переход на новый Unity 8 приведёт к прекращению поддержки умных областей (Scope) и интеграции нового интерфейса запуска приложений App Launcher. В дальнейшем ожидается появление полнофункциональной поддержки окружения Anbox для запуска Android-приложений.

Источник: [ссылка]

В результате двойной траты средств в Ethereum Classic похищен 1.1 млн долларов

Для криптовалюты Ethereum Classic (ETC), занимающей 16 место среди криптовалют по размеру капитализации (не путать с более популярным Ethereum/ETH), зафиксировано и официально подтверждено успешное проведение атаки по двойной трате средств (double spend attack). В настоящее время выявлено 20 успешных реорганизаций блокчейна, позволивших совершить двойные траты средств на сумму 219500 ETC, что соответствует примерно 1.1 млн долларов.

Расщепление блокчейна удалось благодаря тому, что атакующие смогли получить доступ к ресурсам, обеспечивающим 51% от всей имеющейся в сети Ethereum Classic мощности майнинга и позволяющим формировать форки блокчейна с параллельным выстраиванием альтернативных цепочек блоков. Суть атаки по двойной трате средств сводится к тому, что после отправки средств для обмена атакующий дожидается когда для первой транзакции с переводом накопится достаточно подтверждающих блоков и биржа посчитает перевод совершённым. Затем атакующий, пользуясь наличием преобладающей вычислительной мощности, передаёт в сеть альтернативную ветку блокчейна с конфликтующей транзакцией и бо́льшим числом подтверждённых блоков.

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

Всего в Ethereum Classic за последние дни выявлено около 100 попыток проведения подобных реорганизаций блокчейна, из которых как минимум 20 оказались успешными. До того как ситуация прояснится и будет гарантирована безопасность сети Ethereum Classic многие биржи, включая Coinbase и Kraken, временно приостановили обработку платежей в монетах ETC или существенно повысили число подтверждённых блоков, необходимых для проведения перевода.

В настоящее время атака не блокирована и продолжаются попытки создания форков (за сегодня было зафиксировано три новых форка блокчейна). Пока работа сети не будет стабилизирована биржам и пулам майнинга рекомендовано повысить число блоков подтверждения до 400-4000 (подтверждение может занимать от нескольких часов до суток). Подозревается, что для проведения атаки использованы фермы с новыми специализированными ASIC.

Источник: [ссылка]

Выпуск новой стабильной ветки Tor 0.3.5

Состоялся выпуск инструментария Tor 0.3.5.7, используемого для организации работы анонимной сети Tor. Tor 0.3.5.7 признан первым стабильным выпуском ветки 0.3.5, которая развивалась последние четыре месяца. Одновременно также выпущены корректирующие обновления прошлых веток Tor 0.3.4.10 и 0.3.3.11, в которые включены накопившиеся исправления ошибок. Ветка 0.3.5 будет сопровождаться в рамках длительного цикла поддержки (LTS), подразумевающего выпуск обновлений для базовой функциональности в течение трёх лет (до 1 февраля 2022 года).

Основные новшества:

  • Добавлена поддержка авторизации подключения клиентов к скрытым сервисам, использующим третью версию протокола onion-сервисов. Авторизация реализована на уровне доступа к дескрипторам сервисов — теперь скрытый сервис можно настроить так, что только заранее авторизированные клиенты смогут расшифровать содержимое дескриптора для получения информации о подключении. Для клиентов в torrc добавлена опция «ClientOnionAuthDir», а для сервисов для хранения списка авторизированных клиентов предложен каталог «authorized_clients/»;
  • Для скрытых сервисов на базе третьей версии протокола улучшена генерация счётчиков ревизий для обеспечения масштабирования сервисов через запуск экземпляров одного сервиса на разных хостах без необходимости настройки синхронизации данных хостов;
  • Для разделения клиентских цепочек предложена настройка HiddenServiceExportCircuitID, которую можно указывать в привязке к скрытому сервису при использовании третьей версии протокола. Указанная возможность позволяет обратиться к скрытому сервису по протоколу HAProxy для назначения виртуального IP-адреса входящим клиентским цепочкам;
  • Добавлена поддержка улучшенного инструментария для измерения пропускной способности;
  • Реализована экспериментальная возможность использования развиваемых проектом Mozilla библиотек NSS вместо OpenSSL. Для сборки с NSS добавлена опция » —enable-nss»;
  • Началась работа по полной реорганизации структуры кодовой базы Tor с целью усиления модульности и упрощения сопровождения проекта. Например, началась разбивка крупных файлов на более мелкие и отделение специфичной функциональности. Каталог «common» разбит на набор библиотек (каталог «lib»), файлы из каталога «or» вынесены в базовую часть (каталог «core»), независимые модули (каталог «feature») или приложения (каталог «app»);
  • Внесены оптимизации для увеличения производительности (время запуска сократилось в среднем на 8%);
  • По умолчанию для новых сервисов onion задействована третья версия протокола. В случае необходимости создания новых скрытых севисов на базе второй версии протокола после установки обновления потребуется изменение конфигурации (опция «HiddenServiceVersion 2»). Для уже существующих сервисов версия протокола сохранится без изменения, так как она указана в файле с ключами;
  • Прекращён запуск шлюза по умолчанию в режиме выходного узла. Если параметр ExitRelay установлен в значение «auto» для запуска выходного узла теперь требуется явная настройка правил выхода трафика при помощи опций ExitPolicy и ReducedExitPolicy;
  • Переработаны сообщения во время запуска Tor, что может привести к нарушению совместимости с внешними утилитами для разбора логов. Прекращено информирование о прогрессе получения данных от сервера директорий до того как установлено успешное соединение к шлюзу (к relay или bridge).

Источник: [ссылка]

Релиз командного интерпретатора Bash 5.0

После двух с половиной лет разработки опубликована новая версия командного интерпретатора GNU Bash 5.0, используемого по умолчанию в большинстве дистрибутивов Linux. Одновременно состоялся релиз библиотеки readline 8.0, применяемой в bash для организации редактирования командной строки.

Значительное изменение номера версии Bash связано с внесением изменений, нарушающих обратную совместимость. В частности, в новой версии переработан код, связанный с обработкой ссылочных переменных nameref, что привело к отдельным изменениям поведения при использовании nameref (например, цикл разбора имён nameref внутри функций теперь приводит к определению переменных не в локальном, а в глобальном контексте). Кроме того, по умолчанию переменные BASH_ARGC и BASH_ARGV теперь выставляются только при включении расширенного отладочного режима, что позволило избавиться от проблем с производительностью при передаче скриптами большого числа аргументов. Для работы нового выпуска необходимо наличие свежей библиотеки readline, т.е. для установки Bash 5.0 в дистрибутивах с выпусками readline до 8.0 потребуется переустановка readline или встраивание новой версии библиотеки при сборке Bash.

Из улучшений можно отметить:

  • Предложены новые переменные окружения: BASH_ARGV0 (принимает значение $0), EPOCHSECONDS (эпохальное время в секундах) и EPOCHREALTIME (эпохальное время с точностью до микросекунд);
  • Во встроенную команду «history» добавлена поддержка выборочного удаления записей из БД с историей операций («history -d start-end») и возможность указания отрицательных значений в качестве смещения первой удаляемой записи относительно конца списка (например, «-1» указывает на предыдущую команду);
  • Добавлена опция «localvar_inherit», при установке которой локальные переменные наследуют значение переменный с теми же именами, определёнными в вышестоящей области видимости;
  • Добавлена опция «assoc_expand_once», при установке которой оболочка осуществляет раскрытие индексов ассоциативных массивов только один раз;
  • Включена по умолчанию опция «globasciiranges», допускающая использование масок для определения диапазонов символов ([a-z]);
  • Добавлены встроенные реализации команд rm, stat, seq и fdflags;
  • Во встроенной команде «wait» обеспечена возможность ожидания замещения последнего процесса и добавлена опция «-f» для ожидания завершения процесса/работы вместо ожидания изменения состояния;
  • Добавлена возможность жёсткого определения в файле config-top.h значений $PATH и $HISTSIZE. Данные значения будут более приоритетными, чем значения из переменных окружения и могут применяться для создания ограниченных окружений;
  • При автодополнении ввода теперь не учитывается регистр символов для имён функций и псевдонимов (alias), если в readline выставлен режим completion-ignore-case;
  • Во встроенной команде «umask» разрешено использование режимов доступа и масок, превышающих восьмеричное значение 777;
  • Во встроенной команде «times» в зависимости от настройки локали теперь может выводиться не только точка, но и запятая в качестве разделителя дробных значений;
  • Добавлена отключенная по умолчанию и недокументированная опция «syslog_history» для включения отправки в syslog истории ввода команд;
  • Встроенная реализация malloc переведена на использование mmap для обеспечения запроса блоков, размером больше 128 Кб, и возможности возврата страниц памяти ядру после выполнения mfree;
  • В качестве индексов ассоциативных массивов теперь могут использоваться строки, состоящие только из символов пробела;
  • В разряд видимых переведены ранее недокументированные опции localvar_unset и progcomp_alias;
  • Переменная «$_» теперь не меняет своё значение, когда shell запускает команду, выполняющую fork.

Источник: [ссылка]

NVIDIA объявила о поддержке открытого стандарта FreeSync/VESA Adaptive-Sync

На выставке CES 2019 компания NVIDIA объявила о поддержке технологии FreeSync (VESA Adaptive-Sync), которая позволяет видеокарте менять частоту обновления монитора с тем, чтобы обеспечить плавность и отсутствие рваного изображения во время игр. Вероятно, катализатором для этого решения явилось то, что на рынке число моделей мониторов с технологией FreeSync превышает модели с G-Sync практически на порядок.

Официально заявлено о поддержке всего дюжины моделей, но NVIDIA разрешит включать FreeSync вручную для всех мониторов без исключения. FreeSync на NVIDIA будет работать только для видеокарт поколения Pascal или выше (Volta, Turing).

Драйвер для Windows с поддержкой технологии выйдет через неделю — о драйвере для Linux пока ничего не сообщается, однако, учитывая, что G-Sync поддерживается и в Linux, то в нём можно ожидать поддержку и FreeSync.

До сих пор неизвестно требует ли поддержка FreeSync со стороны NVIDIA соединение по порту DisplayPort или HDMI, или будут работать оба.

Источник: [ссылка]

Разработчики Chromium добавили Nouveau в чёрный список проблемных драйверов

Из-за проблем с отрисовкой, наблюдаемых при работе WebGL-приложений, разработчики проекта Chromium поместили свободный драйвер Nouveau в чёрный список, отключающий использование любых операций ускорения графических операций на стороне GPU. Для полноценного использования Chromium 71 с видеокартами NVIDIA теперь требуется либо использование проприетарного драйвера, либо запуск браузера с опций «—ignore-gpu-blacklist» на свой страх и риск.

Наиболее остро прекращение поддержки свободного драйвера Nouveau в Chromium отразится на пользователях дистрибутива Ubuntu, в котором данный драйвер применяется по умолчанию, в том числе в LTS-выпуске Ubuntu 18.04. По словам разработчиков Chromium у них нет ресурсов на тестирование всех сочетаний драйвера с GPU и дистрибутивами, а также на проведение работы по выявлению и исправлению ошибок в драйверах. В итоге драйвер добавлен в чёрный список, так как на первое место ставится стабильность и безопасность браузера, а поддержка ускорения на стороне GPU относится к второстепенным задачам.

При этом разработчики Chromium готовы откорректировать чёрный список для выборочной блокировки, если разработчики драйвера предоставят более детальные сведения о версиях и устройствах, на которых проявляются проблемы или подтверждена стабильная работа. Разработчики Nouveau подтвердили наличие сбоев при выполнении тестового набора WebGL CTS, но отметили, что сбои в основном всплывают в синтетических тестах и отдельных нетипичных ситуациях.

Разработчики Nouveau лично не испытают проблем при использовании данного драйвера вместе с Chromium и считают неприемлимым помещение драйвера в чёрный список. Более того, кроме синтетических тестов WebGL CTS, им не удалось повторить проявление серьёзных проблем, за исключения давно известных ошибок, наблюдаемым только при применении сильно устаревших версий Mesа. По мнению разработчиков, в большинстве случаев проблем со стабильностью при использовании актуальных версий Mesa не возникает. В любом случае решение о переходе на другой драйвер или отключении ускорения должен принимать пользователь, а не производитель браузера, тем более, что драйвер был оценен Canonical как достаточно стабильный для поставки в LTS-выпуске Ubuntu.

В качестве одного из выходов из сложившейся ситуации было предложено перейти к установке в Nouveau случайного значения в поле GL_VENDOR, чтобы обойти блокировку. В ответ, некоторые пользователи предложили провести работу по устранению проблем при прохождении тестов WebGL CTS, детально проанализировать сообщения о наблюдаемых пользователями крахах, провести fuzzing-тестирование для выявления ошибок и привлечь пользователей Chrome для выявления проблем со стабильностью.

Разработчики Nouveau указали, что конечно подобный план позволит повысить качество драйвера, но его реализация требует огромных ресурсов, которых у проекта в настоящее время нет, поэтому работа пока остаётся сосредоточена на устранении известных воспроизводимых проблем, таких как сбой при прохождении теста max-texture-size, а не общих замечаний о низкой стабильности, не подтверждённых конкретными повторяемыми отчётами с детальной информацией об окружении, в котором проявляется проблема.

Источник: [ссылка]

Выпуск компилятора языка D 2.084

Разработчики языка программирования D опубликовали релиз основного эталонного компилятора DMD 2.084.0, который поддерживает системы GNU/Linux, Windows, macOS и FreeBSD. Код компилятора распространяется под свободной лицензией BSL (Boost Software License). Дополнительно развивается альтернативный компилятор LDC, использующий наработки проекта LLVM и поставляемый под лицензией BSD.

Язык D использует статическую типизацию, обладает синтаксисом, схожим с C/C++, и обеспечивает производительность компилируемых языков, при этом заимствуя некоторые полезные возможности динамических языков в области эффективности разработки и обеспечения безопасности. Например, предоставляется поддержка ассоциативных массивов, косвенное определение типов, автоматическое управление памятью, средства параллельного программирования, опциональный сборщик мусора, система шаблонов, компоненты для метапрограммирования, возможность использовать библиотеки на языке C, а также некоторые библиотеки на C++ и Objective-C.

В новой версии DMD:

  • Реализован флаг компилятора «-check«, позволяющий управлять включением различных runtime-проверок: проверки утверждений (assert), границ (bounds), инвариантов класса и структуры (invariant), входных и выходных контрактов (in/out) и вариантов по умолчанию (switch). При сборке без опции «-release» все эти проверки включены по умолчанию. Например, если требуется отключить assert-проверки, можно указать «dmd -check=assert=off». Для управления реагированием на сбой проверки добавлена опция «-checkaction=D|C|halt«;
  • Добавлен флаг компилятора «-mixin» для сохранения в отдельный файл кода, сгенерированного для «примесей», определённых оператором mixin. Опция может использоваться с целью упрощения отладки примесей, так как в случае ошибки позволяет определить точный номер проблемной строки в коде примеси;
  • В DUB, утилите для сборки и управления пакетами, предложена новая команда «add«, предназначенная для упрощения добавления зависимостей в пакет проекта без необходимости редактирования метаданных в форматах JSON или SDLang.

Источник: [ссылка]

DRM-защита Widevine L3 полностью взломана

Исследователь по безопасности из Британии, Дэвид Бьюкенен (David Buchanan), успешно взломал технологию защиты аудио/видео контента Widevine третьего уровня, что позволяет получить полный дамп данных, передаваемых через защищённый DRM канал связи. Widevine разрабатывается компанией Google и применяется для распространения защищённого авторскими правами контента в Netflix, Disney, Amazon Video, BBC, HBO, Hulu, Spotif и многих других сервисах. Для декодирования контента поставляется одноимённый CDM-модуль (Content Decryption Module), применяемый в Chrome, ChromeOS, Android и Firefox.

Widevine L3 — это самый слабый, почти полностью программный уровень защиты, поэтому компании-дистрибьюторы используют его только для распространения контента в относительно низком качестве (хуже, чем 1080p). Второй уровень (L2) подразумевает выполнение криптографических операций на стороне аппаратно изолированного TEE-окружения (Trusted Execution Environment, например, Intel SGX, ARM TrustZone и AMD PSP). При использовании первого уровня на сторону TEE выносится не только криптографические операции, но и функции обработки контента.

Ошибка была найдена в реализации алгоритма шифрования whitebox AES-128, который подвержен атаке DFA, позволяющей получить доступ к ключу шифрования. Атака позволяет получить доступ к зашифрованным потокам звука и видео в формате MPEG-CENC, которые можно расшифровать и сохранить, используя, например, ffmpeg. При этом найденный метод обхода DRM не предоставляет доступ к данным, зашифрованным с помощью Widevine L1, ибо в этом случае используется специальная изолированная среда исполнения внутри процессора.

Источник: [ссылка]