The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

·18.04.2024 Выпуск web-браузера Chrome 124 (29 –1)
  Компания Google опубликовала релиз web-браузера Chrome 124. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей при поиске RLZ-параметров. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 125 запланирован на 14 мая.

Основные изменения в Chrome 124:

  • В версии для платформы Android в менеджере закладок появилась поддержка сохранения закладок и списков отложенного чтения на серверах Google в привязке к учётной записи пользователя.
  • В Chrome для Android задействован новый метод хранения локальных паролей, которые не синхронизируются с другими устройствами. Ранее локальные пароли хранились в профиле Chrome, а теперь будут размещены в хранилище паролей, предоставляемом сервисами Google Play, которое уже используется для хранения пароля к учётной записи в Google.
  • В сборках для Windows, macOS и Linux в TLS включена по умолчанию поддержка механизма инкапсуляции ключей (KEM, Key Encapsulation Mechanism), использующего гибридный алгоритм X25519Kyber768, устойчивый к подбору на квантовых компьютерах. X25519Kyber768 представляет собой комбинацию из механизма обмена ключами X25519, основанного на эллиптических кривых и ныне применяемого в TLS, c алгоритмом Kyber-768, использующим методы криптографии, основанные на решении задач теории решёток, время решения которых не отличается на обычных и квантовых компьютерах.
  • При отрисовке текста библиотекой Skia учтены заданные в Windows настройки контраста и цвета для технологии сглаживания текста ClearType, позволяющей заметно повысить качество отображения шрифтов на жидкокристаллических мониторах. В сборках для Linux заметно изменились шрифты, используемые в интерфейсе.
  • Предоставлена возможность установки любой web-страницы в виде самодостаточного PWA-приложения (Progressive Web Apps), даже если эта страница не соответствует критериям PWA.
  • В соответствии с требованиями европейского закона DMA (Digital Markets Act) обеспечен вывод диалога для выбора поисковой системы, которая будет использоваться по умолчанию. На выбор предлагаются поисковые системы, доступные в разделе настроек "chrome://settings/search". Поисковые системы в списке отображаются в случайном порядке. В Chrome 120 данный диалог был протестирован на 1% пользователей, а теперь активирован для всех.
  • Реализован вывод пользователю запроса предоставления полномочий при обращении web-приложения к API Web MIDI, позволяющем взаимодействовать с подключёнными к компьютеру музыкальными устройствами с интерфейсом MIDI. Ранее запросы полномочий выводились только при отправке или получении SysEx-сообщений, а теперь будут выводиться при любом обращении к API Web MIDI. В качестве причины изменения упоминаются ситуации, когда случайные web-страницы захватывают эксклюзивное управление MIDI-контроллером, блокируя возможность работы с ним других приложений. Также отмечаются проблемы связанные с безопасностью, так как API Web MIDI позволяет полностью управлять MIDI-устройством, вплоть до установки своих прошивок.
  • Полностью прекращена поддержка API Web SQL, который не стандартизирован, почти не используется и требует переработки для соответствия современным требованиям к безопасности. Web SQL был отключён по умолчанию начиная с Chrome 119, но была предусмотрена настройка для его возвращения. Теперь данная настройка удалена. Для разработчиков, которым необходима подобная функциональность, предлагается использовать вариант библиотеки SQLite, скомпилированной в представление WebAssembly.
  • Добавлена возможность управления направлением написания текста, отображаемого вертикально в элементах web-форм (select, meter, progress, button, textarea и input) при выборе вертикальной ориентации через CSS-свойство writing-mode. Для вывода текста сверху-вниз теперь можно использовать свойство элемента форм "ltr", а снизу-вверх - "rtl".
  • В API User-Agent Client Hints, развиваемом в качестве замены заголовка User-Agent, добавлена поддержка параметра Sec-CH-UA-Form-Factors, через который клиент может информировать сервер о форм-факторе устройства пользователя (Desktop, Automotive, Mobile, XR, EInk и Watch). User-Agent Client Hints позволяет организовать выборочную отдачу данных о конкретных параметрах браузера и системы (версия, платформа и т.д.) только после запроса сервером. Пользователь, в свою очередь, может определить какую информацию можно предоставить владельцам сайтов. При использовании User-Agent Client Hints идентификатор браузера не передаётся без явного запроса, а по умолчанию указываются лишь базовые параметры, что затрудняет проведение пассивной идентификации.
  • Добавлена возможность управления клонированием отдельных корней в Shadow DOM, осуществляемым такими командами, как cloneNode(). Возможность клонирования корневых веток DOM включается при помощи параметра clonable ("attachShadow({clonable:true})") или атрибута "shadowrootclonable" (<template shadowrootmode=open shadowrootclonable>).

  • Добавлены новые методы setHTMLUnsafe() и parseHTMLUnsafe() для использования синтаксиса Shadow DOM из JavaScript. Методы setHTMLUnsafe() и parseHTMLUnsafe() по аналогии с innerHTML и DOMParser.parseFromString() позволяют подставить в элемент или разобрать содержимое в формате HTML, но отличаются поддержкой обработки элементов template c атрибутом shadowrootmode.
  • Добавлена поддержка API WebSocket Stream, позволяющего передавать данные между браузером и сервером в потоковом режиме без применения полинга (polling), что оптимально для организации передачи и приёма постоянно поступающих данных, например, в реализации чата.
    
       const wss = new WebSocketStream(WSS_URL);
       const {readable, writable} = await wss.opened;
       const reader = readable.getReader();
       const writer = writable.getWriter();
    
       while (true) {
         const {value, done} = await reader.read();
         if (done) {
           break;
         }
         const result = await process(value);
         await writer.write(result);
       }
    
  • Расширены возможности API View Transitions, упрощающего создание переходных анимационных эффектов между разными состояниями DOM (например, плавный переход от одного изображения к другому). В новой версии добавлена поддержка события "pageswap", генерируемого для объекта "window", когда при навигации связанный с ним объект "document" заменяется на новый. Также добавлено свойство "render-blocking", позволяющее заблокировать отрисовку документа до завершения разбора важного контента.
  • Добавлен параметр disallowReturnToOpener, передаваемый при вызове метода requestWindow, который позволяет убрать кнопку "назад" в окне, открытом в режиме "картинка в картинке", для запрета возвращения к вкладке, из которой было открыто окно.
  • Добавлена возможность присвоения атрибуту CSSImportRule.styleSheet значения NULL для индикации отсутствия привязанной таблицы стилей. Добавлен атрибут CSSKeyframesRule.length, указывающий на число индексируемых свойств.
  • Для редактируемых полей реализован атрибут "writingsuggestions" для управления включением показа рекомендаций во время ввода.
  • В API WebGPU добавлена поддержка ServiceWorker и SharedWorker.
  • Добавлена поддержка HTTP-заголовка "Priority", через который можно передать сведения о приоритете обработки запроса (RFC 9218) на стадии первого обращения к ресурсу.
  • Внесены улучшения в инструменты для web-разработчиков. Добавлена новая панель Autofill для инспектирования информации, используемой при автоматическом заполнении форм.

    В панели инспектирования CSS-стилей улучшена поддержка вложенных стилей. В панели измерения производительности предоставлена возможность скрытия лишних функций и связанных с ними дочерних вызовов для снижения уровня шума на графике. В панель отладки анимации добавлена поддержка анимации, привязанной к прокрутке контента (Scroll-driven Animation). В панели инспектирования сети реализована возможность задания параметров потери пакетов и размера сетевой очереди для проверки работы WebRTC-приложений в условиях возникновения сетевых проблем.

Кроме нововведений и исправления ошибок в новой версии устранено 22 уязвимости. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 13 премий на сумму 65 тысяч долларов США (по одной премии в $20000, $10000, $7000 и $2000, по три премии в $5000 и $3000, две премии $1000). Размер одного вознаграждения пока не определён.

  1. OpenNews: Выпуск web-браузера Chrome 123
  2. OpenNews: Оценка эффективности применения MiraclePtr для предотвращения уязвимостей в Chrome
  3. OpenNews: Разработчики Chrome и Firefox рассматривают возможность прекращения поддержки видеокодека Theora
  4. OpenNews: В Chrome планируют реализовать режим скрытия IP-адреса пользователя
  5. OpenNews: Chrome сокращает цикл подготовки релизов
Обсуждение (29 –1) | Тип: Программы |
·18.04.2024 Линус Торвальдс выступил против парсеров Kconfig, не поддерживающих табуляцию (100 +70)
  Линус Торвальдс отказался принимать в ядро изменение, заменяющее символ табуляции на пробел в разделителе параметра FTRACE_RECORD_RECURSION_SIZE в конфигурации ядра Kconfig. Изменение было предложено разработчиком проекта Fedora с примечанием, что использование табуляций приводит к сбою в работе парсера конфигурации. Вместо предложенного изменения Линус включил в ядро свой патч, специально добавляющий символы табуляции в определение настройки PAGE_SHIFT, задающей смещение для различных размеров страниц памяти.

Добавление табуляций в настройки, более значительные, чем FTRACE_RECORD_RECURSION_SIZE, объясняется тем, что в файле с настройками ядра допускается использование как пробелов, так и табуляций, поэтому если парсер не может нормально разобрать строку с табуляцией - это проблема парсера, которая должна быть устранена в нём. Команда "make defconfig" корректно принимает табуляции, поэтому и внешние парсеры тоже должны их обрабатывать.

Присутствие в поставляемом в ядре Kconfig не только пробелов, но и табуляций, позволит выявлять проблемные парсеры и стимулировать их исправление. Идея подгонять ядро под сбойные парсеры воспринимается как ущербная, так как даже если в эталонном Kconfig всегда будут только пробелы, обычный пользователь волен использовать табуляции в настройках на своих системах и подобное использование может привести к сбоям в неисправленных сторонних парсерах.

  1. OpenNews: Линус Торвальдс опроверг проблемы с планировщиком задач, всплывшие в тесте производительности
  2. OpenNews: Релиз ядра Linux 6.8
  3. OpenNews: Линус Торвальдс предложил прекратить поддержку CPU i486 в ядре Linux
  4. OpenNews: Кейс Кук из Google призвал модернизировать процесс работы над ошибками в ядре Linux
  5. OpenNews: Предложение по блокировке драйверов-прослоек, предоставляющих доступ к GPL-вызовам ядра Linux
Обсуждение (100 +70) | Тип: Тема для размышления |
·17.04.2024 Доступна среда рабочего стола LXQt 2.0.0 (106 +28)
  Представлен релиз среды рабочего стола LXQt 2.0.0 (Qt Lightweight Desktop Environment), продолжающей развитие проектов LXDE и Razor-qt. Интерфейс LXQt следует идеям классической организации рабочего стола, но привносит современное оформление и приёмы, увеличивающие удобство работы. LXQt позиционируется как легковесное, модульное, быстрое и удобное окружение, вобравшее лучшие черты LXDE и Razor-qt. Код размещён на GitHub и поставляется под лицензиями GPL 2.0+ и LGPL 2.1+. Появление готовых сборок ожидается для Ubuntu (LXQt по умолчанию предлагается в Lubuntu), Arch Linux, Fedora, openSUSE, Mageia, FreeBSD, ROSA и ALT Linux.

В процессе разработки ветки LXQt 2.0 основное внимание уделено переводу компонентов проекта и приложений с Qt 5 на использование библиотеки Qt 6.6. Для обеспечения корректного стиля оформления приложений, использующих Qt5, и работы в них предлагаемой в LXQt реализации диалога открытия файлов, предоставлена возможность установки старых библиотек libqtxdg-3.12.0, lxqt-qtplugin-1.4.1 и libfm-qt-1.4.0, параллельно с их новыми версиями из LXQt 2.0.0, использующими Qt 6. Релиз эмулятора терминала QTerminal 2.0, переведённый на Qt6, будет опубликован позднее. До этого предлагается использовать версию QTerminal 1.4 на базе Qt5.

В новой версии также проведена адаптация окружения для использования протокола Wayland. В текущем виде не все компоненты LXQt переведены на Wayland и полная поддержка данного протокола ожидается в версии LXQt 2.1, запланированной на осень этого года. В версии LXQt 2.0.0 полноценная поддержка Wayland обеспечена в файловом менеджере PCManFM-Qt, системе уведомлений, рабочем столе, утилите для запуска программ (Runner), панели, интерфейсе выхода из системы, интерфейсе настройки LXQt и большинстве приложений. Пока не завершён перевод на Wayland панельных плагинов с реализацией панели задач, переключателя виртуальных рабочих столов и индикатора раскладки клавиатуры, а также утилиты для создания скриншотов, системы клавиатурных комбинаций и конфигураторов устройств ввода, монитора и блокировки экрана.

При этом отмечено, что вместо пока не портированных на Wayland компонентов можно использовать возможности, предоставляемые композитными серверами на базе Wayland, т.е. при должном навыке можно настроить полностью работающее окружение LXQt поверх Wayland. LXQt не привязан к отдельным композитным менеджерам и может использоваться с LabWC, WayFire, kwin_wayland, Sway, Hyprland и другими композитными менеджерами на базе Wayland, основанными на библиотеке wlroots и поддерживающими протокол "layer-shell".

Среди других изменений в LXQt 2.0.0:

  • В файловый менеджер PCManFM-Qt добавлена возможность использования прослойки layer-shell-qt6, позволяющей организовать функционирование рабочего стола в окружениях на базе Wayland без дополнительных хаков, реализующих совместимость с разными композитными менеджерами. Добавлены новые пиктограммы в меню. В библиотеке LibFM-Qt обновлена поддержка MIME-типов приложений LXQt Archiver и Arqiver.
  • По умолчанию предложено новое меню приложений "Fancy Menu", в котором помимо распределения приложений по категориям реализован режим сводного отображения всех приложений и добавлен список часто используемых приложений. Кроме того, в новом меню расширены возможности для поиска программ. Старое меню при желании можно вернуть в настройках.

  1. OpenNews: Рабочий стол LXQt признан полностью готовым для использования Wayland
  2. OpenNews: Опубликован план перевода LXQt на Qt6 и Wayland
  3. OpenNews: Релиз пользовательского окружения LXQt 1.4
  4. OpenNews: На базе Sway развивается порт пользовательского окружения LXQt, поддерживающий Wayland
  5. OpenNews: Релиз пользовательского окружения Sway 1.9, использующего Wayland
Обсуждение (106 +28) | Тип: Программы |
·17.04.2024 Попытки получения контроля над открытыми проектами, похожие на случай с пакетом xz (132 +40)
  Организация OpenSSF (Open Source Security Foundation), созданная под покровительством Linux Foundation для повышения безопасности открытого ПО, предупредила сообщество о выявлении активности, связанной с попытками получения контроля над популярными открытыми проектами, напоминающей по своему стилю действия злоумышленников в процессе подготовки к подстановке бэкдора в проект xz. По аналогии атакой на xz сомнительные личности, ранее глубоко не вовлечённые в разработку, пытались использовать методы социального инжиниринга для достижения своих целей.

Атакующие вступили в переписку с членами управляющего совета организации OpenJS Foundation, которая выступает нейтральной площадкой для совместной разработки открытых JavaScript-проектов, таких как Node.js, jQuery, Appium, Dojo, PEP, Mocha и webpack. В переписке, в которой принимало участие несколько сторонних разработчиков с сомнительной историей разработки открытого ПО, предпринимались попытки убедить руководство в необходимости обновить один из популярных JavaScript-проектов, курируемых организацией OpenJS.

В качестве причины обновления указывалось на необходимость добавления "защиты от любых критических уязвимостей". При этом никаких подробностей о сути уязвимостей не приводилось. Для реализации изменений подозрительный разработчик предложил включить его в число сопровождающих проект, в разработке которого он ранее принимал лишь небольшое участие. Кроме того, похожие подозрительные сценарии навязывания своего кода выявлены ещё в двух популярных JavaScript-проектах, не связанных с организацией OpenJS. Предполагается, что случаи не единичны и сопровождающим открытые проекты следует не терять бдительность при приёме кода и утверждении новых разработчиков.

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

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

  1. OpenNews: Ретроспектива продвижения бэкдора в пакет xz
  2. OpenNews: Разбор логики активации и работы бэкдора в пакете xz
  3. OpenNews: В кодовой базе xz выявлено изменение, мешавшее включению механизма защиты Landlock
  4. OpenNews: В библиотеке xz/liblzma выявлен бэкдор, организующий вход через sshd
  5. OpenNews: Учреждён проект OpenSSF, сфокусированный на повышении безопасности открытого ПО
Обсуждение (132 +40) | Тип: Тема для размышления |
·17.04.2024 Проект Gentoo запретил принятие изменений, подготовленных при помощи AI-инструментов (188 +63)
  Управляющий совет дистрибутива Gentoo Linux утвердил правила, запрещающие принятие в Gentoo любого контента, созданного с использованием AI-инструментов, обрабатывающих запросы на естественном языке, таких как ChatGPT, Bard и GitHub Copilot. Подобные инструменты не должны использоваться при написании кода компонентов Gentoo, создании ebuild, подготовке документации и отправке отчётов об ошибках.

Основные опасения, из-за которых запрещено применение AI-инструментов в Gentoo:

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

    Например, при обучении модели на коде с лицензией, требующей извещения об авторстве (атрибуция), в предоставляемом AI-инструментами коде данное требование не выполняется, что может рассматриваться как нарушение большинства открытых лицензий, таких как GPL, MIT и Apache. Также могут возникнуть проблемы с лицензионной совместимостью при вставке в проекты под пермиссивными лицензиями кода, сгенерированного с использованием моделей, обученных на коде с копилефт-лицензиями.

  • Возможные проблемы с качеством. Опасения связаны с тем, что сгенерированный AI-инструментами код или текст может выглядеть корректным, но содержать неявные проблемы и расхождения с фактами. Использование такого контента без проверки может привести к снижению качества проектов. Например, синтезированный код может повторять ошибки кода, используемого при обучении модели, что в итоге приведёт к появлению уязвимостей и отсутствию необходимых проверок при обработке внешних данных.

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

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

В анонсе отмечается, что новое требование может быть выборочно отменено для AI-инструментов, для которых будет доказано отсутствие проблем с авторским правом, качеством и этикой.

  1. OpenNews: Исследование влияния AI-ассистентов, подобных GitHub Copilot, на безопасность кода
  2. OpenNews: Судебное разбирательство против Microsoft и OpenAI, связанное с генератором кода GitHub Copilot
  3. OpenNews: GitHub ввёл в строй систему машинного обучения Copilot, генерирующую код
  4. OpenNews: Проект Gentoo перешёл под крыло организации SPI
  5. OpenNews: Проблемы из-за подготовленных AI-инструментами отчётов об уязвимостях
Обсуждение (188 +63) | Тип: К сведению | Интересно
·16.04.2024 Релиз Firefox 125 (83 +10)
  Состоялся релиз web-браузера Firefox 125 и сформировано обновление ветки с длительным сроком поддержки - 115.10.0. Из-за наличия выявленных на поздней стадии проблем сборка 125.0 была отменена, и в качестве релиза объявлен выпуск 125.0.1. На стадию бета-тестирования переведена ветка Firefox 126, релиз которой намечен на 14 мая.

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

  • Во встроенном PDF-просмотрщике включена по умолчанию функция выделения текста выбранным цветом и рамкой.
  • На странице Firefox View, упрощающей доступ к ранее просматриваемому содержимому, в секции с открытыми вкладками обеспечено отображение закреплённых вкладок и добавлена поддержка индикаторов состояния, например, дающих понять, что в определённой вкладке воспроизводится звук или видео, а также позволяющих через нажатие на индикатор отключить или вернуть звук. Аналогичные индикаторы также добавлены для закладок и уведомлений.
  • Реализована возможность быстрого перехода по ссылке, сохранённой в буфере обмена. Если во время нажатия на адресную строку в буфере обмена находится URL, автоматически данный URL будет показан в качестве начальной рекомендации для перехода.
  • Добавлена поддержка воспроизведения защищённого контента (EME, Encrypted Media Extensions) с использованием кодека AV1, который используется некоторыми провайдерами потокового вещания для распространения контента более высокого качества.
  • При заполнении адресов в web-формах обеспечен вывод запроса на сохранение адреса (пока только для пользователей из США и Канады). В дальнейшем планируется использовать сохранённые данные для автозаполнения адресов.
  • Включена блокировка загрузки файлов с URL, которые находятся в списках потенциально опасного контента.
  • На системах, в которых используются дополнения с реализацией контейнеров вкладок, добавлена поддержка поиска из адресной строки вкладок, размещённых в разных контейнерах.
  • В настройки добавлена опция, позволяющая автоматически определять наличие прокси при помощи протокола WPAD (Web Proxy Auto-Discovery ), несмотря на наличие включённых настроек для подключения через системный прокси.
  • Изменено поведение обхода кнопок-переключателей (radio buttons) - если ни одна опция в кнопках не выбрана, то нажатие клавиши табуляции теперь активирует фокус только на первой опции, а следующее нажатие переводит фокус ввода на другой элемент, а не циклично перебирает все варианты опций. При этом клавиши со стрелками по-прежнему позволяют перемещаться по опциям одного элемента.


  • Добавлена поддержка атрибута popover, позволяющего создавать элементы, показываемые поверх других элементов web-интерфейса. Например, при помощи нового атрибута можно создавать меню действий, выводить подсказки для заполнения форм, создавать обучающие интерфейсы и реализовать захват содержимого. В отличие от элемента "dialog" элементы с атрибутом "popover" не используют модальный режим, поддерживают события и легко отменяются. Местоположение, каскадирование и фокус ввода выбираются и обрабатываются автоматически.
  • В WebAssembly по умолчанию включён режим "multi-memory", позволяющий wasm-модулям использовать и импортировать несколько независимых линейных области памяти.
  • В JavaScript добавлена поддержка сегментирования Unicode-текста (Unicode Text Segmentation), реализованная при помощи объекта Intl.Segmenter. Объект позволяет точно сегментировать текст в строке с учётом локали, например, для разделения слов в языках не использующих пробел для разделения слов.
  • В реализацию интерфейсов HTMLCanvasElement и OffscreenCanvas добавлена поддержка событий ContextLost и ContextRestored, позволяющих обработать в пользовательском коде ситуации потери и восстановления контекста при аппаратном ускорении отрисовки.
  • Включена поддержка метода navigator.clipboard.readText() для чтения из буфера обмена c запросом подтверждения операции (после вызова API пользователю показывается контекстное меню вставки для подтверждения действия).
  • В CSS-свойство "transform-box" добавлена поддержка значений stroke-box и content-box, позволяющих изменить метод вычисления эталонной области для операций трансформации, например, для реализации расширенных графических эффектов.
  • В CSS-свойстве "align-content" реализована возможность работы с блочными контейнерами. Например "display: block" и "display: list-item" теперь могут быть выровнены при помощи "align-content" без использования контейнеров flex и grid.
  • Прекращена поддержка метода SVGAElement.text, вместо которого рекомендуется использовать более широко распространённый метод SVGAElement.textContent.
  • В инструментах для web-разработчиков в нижней части панели отладчика реализовано новое выпадающее меню с действиями, связанными с Source Map. В about:config возвращена настройка "devtools.debugger.features.overlay" для отключения выводимого поверх контента индикатора приостановки выполнения JavaScript-кода отладчиком (Pause Debugger Overlay).
  • В версии для Android вкладки Custom Tabs, открываемые внутри других приложений, теперь учитывают выбор настройки темы оформления (тёмная тема, светлая тема и системный выбор темы). Улучшено меню с настройками логинов и паролей. Скрыта кнопка "Open in App", если Firefox выбран в качестве системного просмотрщика PDF.

Кроме новшеств и исправления ошибок в Firefox 125 устранено 18 уязвимостей (12 помечены как опасные). 11 уязвимостей (4 собраны под CVE-2024-3865) вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.

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

  1. OpenNews: Релиз Firefox 124
  2. OpenNews: Во вкладках Firefox появится функция предпросмотра эскиза сайта
  3. OpenNews: В Firefox появится группировка вкладок
  4. OpenNews: Планы в отношении поддержки в Firefox второй и третьей версий манифеста Chrome
  5. OpenNews: В Firefox добавлена поддержка машинного перевода выделенных фрагментов текста
Обсуждение (83 +10) | Тип: Программы |
·16.04.2024 Уязвимость в PuTTY, позволяющая восстановить закрытый ключ пользователя (134 +29)
  В PuTTY, клиенте для протокола SSH, пользующегося популярностью на платформе Windows, выявлена опасная уязвимость (CVE-2024-31497), позволяющая воссоздать закрытый ключ пользователя, сгенерированный с использованием алгоритма ECDSA с эллиптической кривой NIST P-521 (ecdsa-sha2-nistp521). Для подбора закрытого ключа достаточно проанализировать примерно 60 цифровых подписей, сформированных в PuTTY.

Уязвимость проявляется начиная с версии PuTTY 0.68 и также затронула продукты, в состав которых включены уязвимые версии PuTTY, например, FileZilla (3.24.1 - 3.66.5), WinSCP (5.9.5 - 6.3.2), TortoiseGit (2.4.0.2 - 2.15.0) и TortoiseSVN (1.10.0 - 1.14.6). Проблема устранена в обновлениях PuTTY 0.81, FileZilla 3.67.0, WinSCP 6.3.3 и TortoiseGit 2.15.0.1. После установки обновления пользователям рекомендуется сгенерировать новые ключи и удалить старые открытые ключи из файлов authorized_keys.

Уязвимость вызвана беспечностью разработчиков, которые для генерации 521-битного вектора инициализации (nonce) использовали 512-битную случайную последовательность, вероятно, посчитав что энтропии в 512 бит будет достаточно и оставшиеся 9 бит не имеют принципиального значения. В итоге, при генерации всех подписей, созданных в PuTTY с использованием алгоритма ecdsa-sha2-nistp521, первые 9 бит вектора инициализации всегда принимали нулевые значения.

Для ECDSA и DSA качество генератора псевдослучайных чисел и полное покрытие случайными данными параметра, используемого при вычислении модуля, имеет принципиальное значение, так как определение даже нескольких битов с информацией о векторе инициализации достаточно для совершения атаки по последовательному восстановлению всего закрытого ключа. Для успешного восстановления ключа достаточно наличия открытого ключа и анализа нескольких десятков цифровых подписей, сгенерированных с использованием проблемного вектора инициализации для известных атакующему данных. Атака сводится к решению задачи HNP (Hidden Number Problem).

Необходимые цифровые подписи можно получить, например, при подключении пользователя к SSH-серверу атакующего или к Git-серверу, использующему SSH в качестве транспорта. Необходимые для атаки подписи также можно узнать, если ключ использовался для заверения произвольных данных, например, git-коммитов при применении SSH-агента Pageant для перенаправления трафика на хост разработчика. Получение необходимых для восстановления ключа данных в ходе MITM-атаки исключено, так как подписи в SSH не передаются в открытом виде.

Отмечается, что похожее использование неполных векторов инициализации применялось в PuTTY и для других видов эллиптических кривых, но для алгоритмов, отличных от ECDSA P-521, возникших утечек информации недостаточно для реализации работающей атаки по восстановлению ключа. Ключи ECDSA другого размера и ключи Ed25519 атаке не подвержены.

  1. OpenNews: В неофициальных сборках PuTTY выявлен троян
  2. OpenNews: Выявлен метод клонирования ключей из криптографических токенов на базе чипов NXP
  3. OpenNews: Уязвимость TPM-Fail, позволяющая восстановить ключи, хранимые в TPM-модулях
  4. OpenNews: Новая техника атаки по сторонним каналам, позволяющая восстановить ключи ECDSA
  5. OpenNews: Уязвимость в SSH-клиентах OpenSSH и PuTTY
Обсуждение (134 +29) | Тип: Проблемы безопасности |
·16.04.2024 Открыты исходные тексты игры Descent 3 (91 +43)
  Кевин Бентли (Kevin Bentley), один из разработчиков игры Descent 3, добился у руководства компании Outrage Entertainment открытия исходных текстов проекта. Кевин, который взял в свои руки сопровождение нового проекта, набирает команду энтузиастов для возрождения и продолжения развития игры. Код написан на языке C++ и открыт под лицензией MIT.

Релиз игры Descent 3 был опубликован в 1999 году. Игра сочетает в себе шутер от первого лица и симулятор полётов в открытом и замкнутом пространстве. Поддерживается однопользовательский режим прохождения миссий и многопользовательские бои. Опубликована самая свежая кодовая база Descent 3 "1.5 Patch", включающая подготовленные несколько лет назад изменения для актуализации кода, написанного в 1990-х годах. Поддерживается сборка для Linux, macOS и Windows.

В поставку не вошла музыка и библиотеки для обработки форматов звука и видео ACM и MVE, права на которые не принадлежат компании Outrage Entertainment. Чтобы обеспечить корректную сборку проекта в ближайшее время отсутствующие библиотеки будут заменены заглушками. В дальнейшем видеоролики, используемые в заставке и в финальных сценах, планируют сконвертировать в формат, для которого имеются открытые библиотеки. Из задач, которые намерены решить в первую очередь, отмечается предоставление возможности сборки для разных платформ, создание инфраструктуры для тестирования в системе непрерывной интеграции, проведение чистки кода и удаление компонентов старой системы управления версиями.



Код первой в второй частей Descent был опубликован 1997 и 1998 годах для стимулирования разработки модов, но распространялся под проприетарной лицензией, запрещающей использование в коммерческих целях.

  1. OpenNews: Ассоциация K-D Lab открыла код игрового движка qdEngine
  2. OpenNews: Выпуск открытого игрового движка Godot 4.2
  3. OpenNews: Открыт код игрового движка Dagor Engine, который будет использован VK в Nau Engine
  4. OpenNews: Выпуск игрового движка Open 3D Engine 23.10, открытого компанией Amazon
  5. OpenNews: Первый выпуск открытого многопользовательского игрового движка Ambient
Обсуждение (91 +43) | Тип: Программы |
·15.04.2024 GitLab заблокировал BPC, браузерное дополнение для обхода Paywall (187 +16)
  GitLab заблокировал репозиторий проекта BPC (Bypass Paywalls Clean), развивающего браузерное дополнение для организации доступа к материалам, распространяемым по платной подписке (Paywall). Причиной удаления стало направление в компанию GitLab жалобы о нарушении дополнением действующего в США Закона об авторском праве в цифровую эпоху (DMCA). В настоящее время разработчики дополнения рассматривает возможность перевода проекта на другой Git-хостинг. Ранее указанное дополнение было удалено по той же причине из каталога Mozilla.

Метод Paywall применяется многими крупными англоязычными изданиями (forbes.com, independent.co.uk, newsweek.com, newyorker.com, nytimes.com, wsj.com и т.п.) для открытия полного текста свежих статей только платными подписчиками. Ссылки на подобные статьи активно продвигаются в социальных сетях и поисковых системах, но после перехода по публикуемым ссылкам вместо открытия полного текста пользователю предлагается оформить платную подписку, если он хочет увидеть подробности.

Формулировка, на основе которой был заблокирован репозиторий BPC, не сообщается, но, судя по всему, проекту вменяется незаконный обход методов технической защиты доступа к содержимому, являющемуся объектом авторского права. Нарушение защиты в BPC является спорным вопросом, так как сайты с Paywall обычно открывают полный доступ поисковым системам и социальным сетям, из-за того, что издания заинтересованы в индексации текстов и привлечении посетителей, которых интересует данный материал. Поэтому для обхода ограничения доступа, как правило, достаточно просто сменить идентификатор браузера и притвориться поисковым ботом "Googlebot". На некоторых сайтах также может потребоваться очистить сессионную Cookie и заблокировать некоторые скрипты. Расширение BPC предлагало индивидуальный подход к каждому сайту, удаляло те или иные скрипты и использовало регулярные выражения для блокировки кода.

  1. OpenNews: Из каталога Mozilla удалено дополнение для обхода Paywall
  2. OpenNews: Mozilla удалила два популярных дополнения, блокирующих загрузку обновлений к Firefox
  3. OpenNews: Дополнения для обхода Paywall удалены из каталогов Chrome и Mozilla
  4. OpenNews: GitHub заблокировал репозиторий SymPy после ложной жалобы
  5. OpenNews: GitLab заблокировал репозиторий эмулятора Suyu
Обсуждение (187 +16) | Тип: Тема для размышления |
·15.04.2024 Проект Redka развивает реализацию протокола и API Redis поверх SQLite (26 +1)
  Опубликованы первые выпуски проекта Redka, нацеленного на предоставление RESP-протокола и API, совместимых с СУБД Redis, но реализованных поверх библиотеки SQLite. Задействование SQLite дополнительно позволяет обращаться к данным при помощи языка SQL, например, для формирования отчётов или анализа данных. Поддерживается использование ACID-транзакций. Redka может запускаться в форме сервера, принимающего запросы по сети, или использоваться в виде модуля для языка Go. Код проекта написан на языке Go и распространяется под лицензией BSD.

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

В ближайшее время планируется добавить поддержку списков, коллекций (sets) и отсортированных коллекций. В отдалённой перспективе ожидается реализация алгоритма HyperLogLog, возможности для манипуляции географическими координатами и команд для взаимодействия с использованием модели publish/subscribe. Пока не планируется добавлять поддержку скриптов на языке Lua, аутентификацию, ACL, watch/unwatch и возможность работы в одном сервере с несколькими БД. Точно не будет реализована поддержка кластеров (Redis Cluster) и мониторинга (Redis Sentinel).

Тестирование производительности с использованием инструментария от проекта Redis, показало, что Redka в 2-6 раз отстаёт от Redis из-за отсутствия специфичных оптимизаций для хранения данных в формате ключ/значение. В частности, в созданном тестовом окружении Redis продемонстрировал производительность в 133 тысяч операций SET в секунду и 139 тысяч операций GET в секунду, в то время как производительность Redka составила 30 тысяч SET в секунду и 63 тысячи GET в секунду в ситуации, когда БД размещалась в оперативной памяти. При хранении БД на диске производительность Redka составила 22 тысячи операций SET в секунду и 56 тысяч GET в секунду.

  1. OpenNews: Выпуск Redict 7.3.0, форка СУБД Redis
  2. OpenNews: Amazon, Google, Oracle, Ericsson и Snap основали Valkey, форк СУБД Redis
  3. OpenNews: СУБД Redis переходит на проприетарную лицензию. Обсуждение удаления Redis из Fedora
  4. OpenNews: Microsoft открыл код хранилища Garnet, совместимого с Redis
  5. OpenNews: Первый стабильный выпуск FerretDB, реализации MongoDB на базе СУБД PostgreSQL
Обсуждение (26 +1) | Тип: Программы |
·14.04.2024 Уязвимость в прошивках AMI MegaRAC, вызванная поставкой старой версии lighttpd (37 +16)
  В прошивках MegaRAC от компании American Megatrends (AMI), которые применяются в контроллерах BMC (Baseboard Management Сontroller), используемых производителями серверов для организации автономного управления оборудованием, выявлена уязвимость, позволяющая неаутентифицированному атакующему удалённо прочитать содержимое памяти процесса, обеспечивающего функционирование web-интерфейса. Уязвимость проявляется в прошивках, выпускаемых с 2019 года, и вызвана поставкой старой версии HTTP-сервера Lighttpd, содержащей неисправленную уязвимость.

В кодовой базе Lighttpd данная уязвимость была устранена ещё в 2018 году в версии 1.4.51, но исправление было внесено без присвоения CVE-идентификатора и без публикации отчёта с описанием характера уязвимости. В примечании к выпуску, было упомянуто об устранении проблем с безопасностью, но основное внимание было акцентировано на уязвимости в mod_userdir, связанной с использованием символов ".." и "." в имени пользователя.

В списке изменений также была упомянута проблема с обработкой HTTP-заголовков, но данное исправление было пропущено разработчиками прошивки и не перенесено в состав продукта, так как примечание о потенциальном устранении уязвимости класса use-after-free присутствовало лишь в тексте коммита, а в общем списке изменений не было указано, что ошибка приводит к обращению к памяти после освобождения.

Уязвимость позволяет прочитать содержимое памяти за пределами выделенного буфера. Проблема вызвана ошибкой в коде слияния HTTP-заголовков, применяемом при указании нескольких экземпляров HTTP-заголовка "If-Modified-Since". При обработке второго экземпляра заголовка lighttpd выделял новый буфер, чтобы вместить объединённое значение и освобождал память под буфер, в который было помещено значение из первого заголовка. При этом указатель con->request.http_if_modified_since не изменялся и продолжал указывать на уже освобождённую область памяти.

Так как данный указатель использовался при операциях сравнения содержимого заголовка If-Modified-Since, результат которых приводил к генерации разных кодов возврата, атакующий мог путём перебора угадать новое содержимое памяти, которую ранее занимал первый буфер. Проблема могла использоваться в сочетании с другими уязвимостями, например, для определения раскладки памяти для обхода механизмов защиты, таких как ASLR (рандомизация адресного пространства).

Наличие уязвимости подтверждено в серверных платформах Lenovo и Intel, но данные компании не планируют выпускать обновления прошивок из-за истечения времени поддержки, использующих данные прошивки продуктов, и низкого уровня опасности уязвимости. Проблема проявляется в прошивках к платформам Intel M70KLP и Lenovo HX3710, HX3710-F и HX2710-E (уязвимость присутствует среди прочего в последних версиях прошивок Lenovo 2.88.58 и Intel 01.04.0030). Дополнительно сообщается, что уязвимость в lighttpd также проявляется в прошивках к оборудованию Supermicro и в серверах, на которых используются BMC-контроллеры компаний Duluth и ATEN.

  1. OpenNews: Уязвимости в прошивках AMI MegaRAC, позволяющие удалённо выполнить код на уровне BMC-чипа
  2. OpenNews: Атака PMFault, позволяющая вывести из строя CPU на некоторых серверных системах
  3. OpenNews: PixieFAIL - уязвимости в сетевом стеке прошивок UEFI, применяемом для PXE-загрузки
  4. OpenNews: Уязвимость в прошивках BMC-контроллеров, затрагивающая серверы многих производителей
  5. OpenNews: LogoFAIL - атака на UEFI-прошивки через подстановку вредоносных логотипов
Обсуждение (37 +16) | Тип: Проблемы безопасности |
·13.04.2024 Выпуск Chrome OS 123 (105 +2)
  Доступен релиз операционной системы Chrome OS 123, основанной на ядре Linux, системном менеджере upstart, сборочном инструментарии ebuild/portage, открытых компонентах и web-браузере Chrome 123. Пользовательское окружение Chrome OS ограничивается web-браузером, а вместо стандартных программ задействованы web-приложения, тем не менее, Chrome OS включает в себя полноценный многооконный интерфейс, рабочий стол и панель задач. Вывод на экран осуществляется при помощи графического стека Freon (ведётся работа по переходу на использование Wayland) и оконного менеджера Aura. Исходные тексты распространяются под свободной лицензией Apache 2.0. Сборка Chrome OS 123 доступна для большинства актуальных моделей Chromebook. Для использования на обычных компьютерах предлагается редакция Chrome OS Flex.

Основные изменения в Chrome OS 123:

  • Предоставлена экспериментальная возможность назначения своих клавиатурных комбинаций, вместо тех, что определены по умолчанию. Для активации интерфейса следует активировать настройку "chrome://flags/#enable-shortcut-customization".
  • Добавлена возможность привязки действий к дополнительным кнопкам у мыши. Например, можно привязать такие действия как создание скриншота, отключение/включение звука и вызов интерфейса для вставки emoji, а также любые действия для которых доступен вызов через клавиатурные комбинации.
  • Предоставлена возможность быстрого переключения в режим разделения экрана, в котором можно разместить бок о бок окна двух разных приложений. После выбора в свойствах окна режима разделения экрана теперь сразу выводится обзор других открытых окон, которые можно выбрать для показа на второй половине.
  • Добавлена возможность работы в форме точки беспроводного доступа (Hotspot), через которую могут подключаться к сети другие рядом расположенные устройства (полезно, когда Chromebook подключается через оператора сотовой связи).
  • Добавлена возможность определения настроек языка, привязанных к отдельным приложениям. Язык для выбранного приложения можно изменить через интерфейс "Settings > Apps > Manage your apps > App language".
  • В настройках конфиденциальности появился интерфейс для просмотра списка приложений, запрашивающих доступ к камере или микрофону, через который можно сразу выборочно предоставить или блокировать доступ к данным ресурсам, не переходя к настройкам приложения.
  • В системе синтеза речи предложен новый натурально звучащий набор голосов для 31 языка, который можно использовать в offline-режиме.
  • Включён новый Bluetooth-стек Floss, основанный на стеке Fluoride, перенесённом из платформы Android и продолжающем развитие стека BlueDroid от компании Broadcom. В случае появления проблем с работой нового Bluetooth-стека можно вернуть систему на использование старого стека BlueZ через параметр "chrome://flags/#bluetooth-use-floss".

  1. OpenNews: Выпуск web-браузера Chrome 123
  2. OpenNews: Google отключил поддержку io_uring в ChromeOS и Android из-за плачевного состояния безопасности
  3. OpenNews: В ChromeOS намечено разделение браузера и системного интерфейса
  4. OpenNews: Google продлил до 10 лет время поддержки устройств на базе ChromeOS
  5. OpenNews: Выпуск Chrome OS 122
Обсуждение (105 +2) | Тип: Программы |
·12.04.2024 0-day уязвимость в драйвере n_gsm, позволяющая выполнить код на уровне ядра Linux (142 +23)
  В открытом доступе обнаружены два эксплоита, в которых задействована ранее неизвестная уязвимость в драйвере n_gsm, входящем в состав ядра Linux. Уязвимость позволяет непривилегированному локальному пользователю выполнить код на уровне ядра и поднять свои привилегии в системе. CVE-идентификатор не присвоен. Проблема пока остаётся неисправленной.

Драйвер n_gsm предоставляет реализацию протокола GSM 07.10, используемого в GSM-модемах для мультиплексирования соединений к последовательному порту. Уязвимость вызвана состоянием гонки в обработчике ioctl GSMIOC_SETCONF_DLCI, используемом для обновления конфигурации DLCI (Data Link Connection Identifier). Через манипуляции с ioctl можно добиться обращения к памяти после её освобождения (use-after-free).

Эксплоит может использоваться на системах с ядрами Linux, начиная с 5.15 и заканчивая 6.5. Например, успешное получение root-доступа продемонстрировано в Fedora, Ubuntu 22.04 с ядром 6.5 и в Debian 12 с ядром 6.1. Начиная с ядра 6.6 для эксплуатации требуются права доступа CAP_NET_ADMIN. В качестве обходного пути блокирования уязвимости можно запретить автоматическую загрузку модуля ядра n_gsm, добавив в файл /etc/modprobe.d/blacklist.conf строку "blacklist n_gsm".

Примечательно, что в январе была раскрыта информация о другой уязвимости (CVE-2023-6546) в драйвере n_gsm, для которой также публично доступен эксплоит. Данная уязвимость не пересекается с первой проблемой, хотя также вызвана обращением к памяти после освобождения при работе со структурой gsm_dlci, но в обработчике ioctl GSMIOC_SETCONF. Проблема исправлена в августе прошлого года (исправление вошло в состав ядра 6.5).

  1. OpenNews: Уязвимости в ядре Linux, позволяющие поднять свои привилегии через nf_tables и ksmbd
  2. OpenNews: Уязвимости в ядре Linux, затрагивающие ksmbd, ktls, uio и сетевой стек
  3. OpenNews: Уязвимость в IPv6-стеке ядра Linux, допускающая удалённое выполнение кода
  4. OpenNews: Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP из состава ядра Linux
  5. OpenNews: Локальная уязвимость в сетевой подсистеме ядра Linux
Обсуждение (142 +23) | Тип: Проблемы безопасности |
·12.04.2024 Бета-выпуск Ubuntu 24.04 (238 +2)
  Представлен бета-выпуск дистрибутива Ubuntu 24.04 "Noble Numbat", после формирования которого произведена полная заморозка пакетной базы, и разработчики перешли к итоговому тестированию и исправлению ошибок. Релиз запланирован на 25 апреля. Ветка 24.04 отнесена к категории выпусков с длительным сроком поддержки (LTS), обновления для которых формируются в течение 12 лет (5 лет - общедоступные, плюс ещё 7 лет для пользователей сервиса Ubuntu Pro). Готовые тестовые образы созданы для Ubuntu, Ubuntu Server, Lubuntu, Kubuntu, Ubuntu Mate, Ubuntu Budgie, Ubuntu Studio, Xubuntu, UbuntuKylin (редакция для Китая), Ubuntu Unity, Edubuntu и Ubuntu Cinnamon.

Основные изменения:

  • Рабочий стол обновлён до выпуска GNOME 46, в котором появилась функция глобального поиска, повышена производительность файлового менеджера и эмуляторов терминала, добавлена экспериментальная поддержка механизма VRR (Variable Refresh Rate), улучшено качество вывода при дробном масштабировании, расширены возможности подключением к внешним сервисам, обновлён конфигуратор и улучшена система уведомлений. В GTK задействован новый движок отрисовки, который базируется на API Vulkan. Приложение для работы с камерой Cheese заменено на GNOME Snapshot.
  • Ядро Linux обновлено до версии 6.8.
  • По аналогии с изменениями в Arch Linux и Fedora Linux, параметр sysctl vm.max_map_count, определяющий максимально доступное процессу число областей маппинга памяти, по умолчанию увеличен с 65530 до 1048576. Изменение улучшило совместимость c Windows-играми, запускаемыми через Wine (например, при старом значении не запускались игры DayZ, Hogwarts Legacy, Counter Strike 2, Star Citizen и THE FINALS), и решило некоторые проблемы с производительностью приложений, интенсивно потребляющих память.
  • Обновлены версии GCC 14-pre, LLVM 18, Python 3.12, OpenJDK 21 (опционально доступны OpenJDK 8, 11 и 17), Rust 1.76, Go 1.22, .NET 8, PHP 8.3.3, Ruby 3.2.3.
  • Обновлены пользовательские приложения: Firefox 124 (собран с поддержкой Wayland), LibreOffice 24.2, Thunderbird 115, Ardour 8.4.0, OBS Studio 30.0.2, Audacity 3.4.2, Transmission 4.0, digiKam 8.2.0, Kdenlive 23.08.5, Krita 5.2.2.
  • Обновлены подсистемы: Mesa 24.0.3, systemd 255, BlueZ 5.72, Cairo 1.18, NetworkManager 1.46, Pipewire 1.0.4, Poppler 24.02, xdg-desktop-portal 1.18.
  • Обновлены серверные пакеты: Nginx 1.24, Apache httpd 2.4.58, Samba 4.19, Exim 4.97, Clamav 1.0.0, Chrony 4.5, containerd 1.7.12, Django 4.2.11, Docker 24.0.7, Dovecot 2.3.21, GlusterFS 11.1, HAProxy 2.8.5, Kea DHCP 2.4.1, libvirt 10.0.0, NetSNMP 5.9.4, OpenLDAP 2.6.7, open-vm-tools 12.3.5, PostgreSQL 16.2, Runc 1.1.12, QEMU 8.2.1, SpamAssassin 4.0.0, Squid 6.6, SSSD 2.9.4, Pacemaker 2.1.6, OpenStack 2024.1, Ceph 19.2.0, Openvswitch 3.3.0, Open Virtual Network 24.03.
  • Почтовый клиент Thunderbird теперь поставляется только в формате snap. DEB-пакет с Thunderbird содержит заглушку для установки snap-пакета.
  • Для приложений, использующих gnutls, принудительно отключена поддержка протоколов TLS 1.0, TLS 1.1 и DTLS 1.0, которые три года назад официально переведены комитетом IETF (Internet Engineering Task Force) в разряд устаревших технологий. Для openssl аналогичное изменение было реализовано в Ubuntu 20.04.
  • В Apparmor по умолчанию включено предоставление доступа любым приложениям к файлам конфигурации библиотек GnuTLS и OpenSSL. Ранее применявшееся выборочное предоставление доступа приводило к появлению проблем, трудно диагностируемых из-за отсутствия вывода ошибок при невозможности доступа к файлам конфигурации.
  • Удалены пакеты pptpd и bcrelay из-за потенциальных проблем с безопасностью и прекращения сопровождения основных кодовых баз. Также удалён PAM-модуль pam_lastlog.so, в котором не решена проблема 2038 года.
  • При сборке пакетов по умолчанию включены опции компилятора для усложнения эксплуатации уязвимостей. В gcc и dpkg по умолчанию включён режим "-D_FORTIFY_SOURCE=3", выявляющий возможные переполнения буфера при выполнении строковых функций, определённых в заголовочном файле string.h. Отличие от ранее применявшегося режима "_FORTIFY_SOURCE=2" сводится к дополнительным проверкам. Теоретически дополнительные проверки могут приводить к снижению производительности, но на практике тесты SPEC2000 и SPEC2017 не показали различий и в процессе тестирования от пользователей не поступало жалоб на снижение производительности.
  • В dpkg добавлен флаг "-mbranch-protection=standard" для включения на системах ARM64 защиты выполнения наборов инструкций, на которые не должны выполняться переходы при ветвлении (ARMv8.5-BTI - Branch Target Indicator). Блокирование переходов на произвольные участки кода реализовано для противодействия созданию гаджетов в эксплоитах, использующих приёмы возвратно-ориентированного программирования (ROP - Return-Oriented Programming).
  • В пакетном менеджере APT изменён приоритет для репозитория "proposed pocket", в котором осуществляется предварительное тестирование новых версий пакетов, перед их размещением в основных репозиториях для широкой публики. Изменение нацелено на снижение вероятности автоматизированной установки нестабильных обновлений, в случае включения репозитория "proposed pocket", которые могут привести к нарушению работоспособности системы. После включения "proposed pocket" из него теперь не будут переноситься все обновления, но пользователь сможет выборочно установить обновления необходимых пакетов, используя команду "apt install <package>/<release>-proposed".
  • Прекращена поставка по умолчанию сервиса irqbalance, распределяющего обработку аппаратных прерываний по разным ядрам CPU. В настоящее время в большинстве ситуаций достаточно штатных механизмов распределения обработчиков, предоставляемых ядром Linux. Использование irqbalance может быть оправдано в отдельных ситуациях, но при должной настройке администратором. Кроме того, в определённых конфигурациях irqbalance приводит к проблемам, например, при использовании в системах виртуализации, а также может мешать при ручной настройке параметров, влияющих на энергопотребление и задержки.
  • Для настройки сети задействован выпуск инструментария Netplan 1.0, который обеспечивает хранение настроек в формате YAML и предоставляет бэкенды, абстрагирующие доступ к конфигурации для NetworkManager и systemd-networkd. В новой версии появилась возможность одновременного использования WPA2 и WPA3, добавлена поддержка сетевых устройств Mellanox VF-LAG с SR-IOV (Single-Root I/O Virtualization) и реализована команда "netplan status --diff" для наглядной оценки различий между фактическим состоянием настроек и файлами конфигурации. В Ubuntu Desktop в качестве бэкенда настройки по умолчанию включён NetworkManager.
  • Модернизирован инсталлятор ubuntu-desktop-installer, который теперь развивается в составе более крупного проекта ubuntu-desktop-provision и переименован в ubuntu-desktop-bootstrap. Суть нового проекта в разделении инсталлятора на стадии, выполняемые перед установкой (разбивка диска и копирование пакетов) и во время первой загрузки системы (первичная настройка системы). Из изменений отмечается улучшенное оформление интерфейса инсталлятора, добавление страницы для указания URL для загрузки сценария автоматизированной установки autoinstall.yaml и возможность изменения поведения по умолчанию и стиля оформления через файл конфигурации. Добавлена поддержка обновления самого инсталлятора - при наличии новой версии на ранней стадии установки теперь выдаётся запрос на обновление инсталлятора.

    В инсталляторе также отмечены возможности, добавленные в прошлом выпуске Ubuntu 23.10, такие как поддержка файловой системы ZFS и возможность шифрования дисков, не требующая ввода пароля разблокировки диска при загрузке, благодаря хранению информации для расшифровки ключей в TPM (Trusted Platform Module).

  • Включён механизм Active Directory Certificate Auto Enrollment (ADSys), позволяющий автоматически получать сертификаты из сервисов Active Directory при включении групповых политик. Автоматическое получение сертификатов через Active Directory также применяется при подключении к корпоративным беспроводным сетям и VPN.
  • Улучшен новый менеджер приложений Ubuntu App Center, написанный на языке Dart с использованием фреймворка Flutter и адаптивных методов компоновки интерфейса для корректной работы на экранах любого размера. Ubuntu Store реализует комбинированный интерфейс для работы с пакетами в формате DEB и Snap (при наличии одной программы в пакетах deb и snap по умолчанию выбирается snap), позволяет выполнять поиск и навигацию по каталогу пакетов snapcraft.io и подключённым DEB-репозиториям, даёт возможность управлять установкой, удалением и обновлением приложений, устанавливать отдельные deb-пакеты из локальных файлов. В приложении задействована система рейтинга, в которой пятибалльная шкала оценки заменена на голосование в формате нравится/не нравится (+1/-1), на основе которого выводится виртуальный пятизвёздочный рейтинг.

    Ubuntu App Center заменил собой старый интерфейс Snap Store. По сравнению с Ubuntu 23.10 добавлена новая категория приложений - Игры (при этом из поставки удалены игры GNOME). Предложен отдельный интерфейс для обновления прошивок - Firmware Updater, доступный для систем на базе архитектур amd64 и arm64, и позволяющий обновлять прошивки без запуска в фоне полноценного менеджера приложений.

  • Пакеты для 32-разрядной архитектуры Armhf переведены на использование 64-разрядного типа time_t. Изменение затронуло более тысячи пакетов. Ранее использовавшийся 32-разрядный тип time_t не может применяться для обработки времени позднее 19 января 2038 года из-за переполнения счётчика секунд, прошедших после 1 января 1970 года.
  • Обновлены сборки для плат Raspberry Pi 5 (серверные и пользовательские) и StarFive VisionFive 2 (RISC-V).
  • В Ubuntu Cinnamon задействовано пользовательское окружение Cinnamon 6.0 с начальной поддержкой Wayland.
  • В Xubuntu продолжена поставка окружения на базе Xfce 4.18.
  • В Ubuntu Mate продолжает поставляться среда рабочего стола MATE 1.26.2 (в репозитории MATE уже доступна ветка 1.28, которая пока официально не объявлена).
  • В Ubuntu Budgie задействована среда рабочего стола Budgie 10.9.
  • В Kubuntu по умолчанию продолжена поставка KDE Plasma 5.27. KDE 6 будет предложен в осеннем выпуске Kubuntu 24.10. Обновлены логотип и цветовое оформление.
  • В Lubuntu доработан инсталлятор на базе фреймворка Calamares. Добавлена страница для настройки параметров установки, таких как установка доступных обновлений, установка кодеков и проприетарных драйверов, установка дополнительных программ. Добавлены режимы минимальной, полной и нормальной установки. Добавлен экран первой загрузки, позволяющий настроить язык и подключение к беспроводной сети, а также выбрать запуск инсталлятора или переход в Live-режим. Добавлен Bluetooth Manager и редактор настроек дисплейного менеджера SDDM. Среда рабочего стола обновлена до версии LXQt 1.4.
  • В Ubuntu Studio добавлена утилита Ubuntu Studio Audio Configuration для настройки параметров PipeWire.

  1. OpenNews: Начиная с Ubuntu 14.04 время поддержки LTS-релизов будет увеличено до 12 лет
  2. OpenNews: Canonical готовит вариант Ubuntu Desktop, содержащий только пакеты Snap
  3. OpenNews: Инцидент с подстановкой непристойных выражений в инсталлятор Ubuntu 23.10
  4. OpenNews: Выпуск дистрибутива Ubuntu 23.10
  5. OpenNews: Релиз дистрибутива Ubuntu 22.04 LTS
Обсуждение (238 +2) | Тип: Программы |
·11.04.2024 Компания Oracle опубликовала DTrace 2.0.0-1.14 для Linux (49 +15)
  Представлен экспериментальный выпуск инструментария динамической отладки DTrace для Linux 2.0.0-1.14, реализованный в виде работающего в пространстве пользователя процесса, использующего подсистему eBPF и штатные механизмы трассировки, предоставляемых ядром Linux. По функциональности реализация DTrace на базе eBPF близка к первой реализации DTrace для Linux, выполненной в форме модуля ядра. Код проекта распространяется под лицензией GPLv2.

Инструментарий может использоваться со штатными ядрами Linux, поддерживающими BPF. Для работы требуется библиотека libctf с реализацией поддержки отладочного формата CTF (Compact Type Format), которая входит в состав пакета binutils, начиная с выпуска 2.40, или библиотека libdtrace-ctf, портированная из Solaris. Опционально предлагается два патча к ядру 6.7, позволяющих задействовать расширенные возможности для получения дополнительных данных о модулях и ядре.

Технология DTrace была разработана для решения задач по динамической трассировке ядра и конечных приложений в операционной системе Solaris. DTrace даёт пользователю возможность детально отслеживать поведение системы и в режиме реального времени производить диагностику проблем. В процессе отладки DTrace не влияет на работу исследуемых приложений и никак не отражается на их производительности, что позволяет организовать анализ работающих систем на лету. Из сильных сторон DTrace отмечается высокоуровневый язык D, похожий на AWK, на котором значительно проще создавать сценарии трассировки, чем при применении предлагаемых для eBPF средств написания обработчиков на языках C, Python и Lua с внешними библиотеками.

Основные возможности:

  • Доступные провайдеры:
    • cpc (CPU Performacne Counter) - получение информации о производительности.
    • dtrace - обработчики BEGIN, END и ERROR, запускаемые перед или после других проверок, а также при возникновении ошибок.
    • fbt (Function Boundary Tracing) - отслеживание обращений к функциям ядра.
    • lockstat - отслеживание состояния блокировок.
    • pid - отслеживание обращений к функциям в процессах, работающих в пространстве пользователя.
    • proc - отслеживание активности, связанной с процессами, такой как запуск и завершение работы (fork, exec, exit, fault).
    • profile - сохранение статистики о производительности через указанные промежутки времени.
    • sdt, rawtp - статическая трассировка ядра (SDT - Statically Defined Tracing).
    • usdt: статическая трассировка приложений (USDT - Userspace Statically Defined Tracing)
    • sched - отслеживание распределения ресурсов CPU.
    • sycall - отслеживание входа в системные вызовы и выхода из них.
  • Агрегирование собираемых данных: возможность применения агрегатных функций (avg, count, llquantize, lquantize, max, min, quantize, stddev и sum) и агрегатных действий (clear, normalize, normalize, printa). Поддержка сохранения результатов применения агрегатных функций в обычных и ассоциативных массивах.
  • Поддержка спекулятивной трассировки, позволяющей эфемерно отслеживать данные, решая какие из них следует фиксировать в буфере трассировки, а какие отбрасывать. Доступны функции: speculation, speculate, commit и discard.
  • Поддержка глобальных и локальных переменных, TLS (Thread-Local Storage), ассоциативных массивов и строк.
  • Предоставление встроенных переменных: arg0 - arg9, args[], caller, curcpu, curthread, epid, errno, execname, gid, id, pid, ppid, probefunc, probemod, probename, probeprov, stackdepth, tid, timestamp, ucaller, uid, uregs[], ustackdepth, walltimestamp.
  • Поддержка действий: exit, freopen, ftruncate, mod, printa, printf, raise, setopt, stack, sym, system, trace, tracemem, uaddr, umod, ustack и usym.
  • Наличие встроенных функций: alloca, basename, bcopy, copyin, copyinstr, copyinto, copyout, copyoutstr, dirname, getmajor, getminor, htonl, htonll, htons, index, inet_ntoa, lltostr, mutex_owned, mutex_owner, mutex_type_adaptive, mutex_type_spin, ntohl, ntohll, ntohs, progenyof, rand, rindex, rw_iswriter, rw_read_held, rw_write_held, strchr, strjoin, strlen, strrchr, strstr, strtok, substr.
  • Наличие счётчиков данных, не попадающих в буферы трассировки.
  • Поддержка компиляции сценариев трассировки на языке D в форму BPF-программ.
  • Предкомпиляция функций BPF для библиотечных вызовов.
  • Опция bpflog для получения лога верификации загружаемых программ BPF.
  • Динамическая генерация кода и предкомпиляция кода для повторного использования в BPF-программах.



Изменения в новой версии:

  • В провайдер pid, применяемый для отслеживания процессов в пространстве пользователя, добавлена поддержка отслеживания выполнения инструкций по их смещению в коде.
  • Добавлена поддержка использования функций stack() и ustack() для агрегирования собираемых данных.
  • Возможность удаления из ассоциативных массивов элементов любых типов через присвоение литерала 0.
  • Добавлено действие print для вывода структурированных данных с аннотациями типов.
  • Добавлены новые встроенные функции cleanpath(), d_path() и link_ntop().
  • Добавлен параметр "-xcpu", позволяющий привязать проверки к определённым CPU.
  • Добавлен параметр "-xlockmem" для ограничения размера памяти.
  • Обеспечена возможность сохранения данных трассировки процессов (USDT) между перезапусками dtprobed.
  • Поддержка механизма BTF (BPF Type Format), предоставляющего информацию для проверки типов в псевдокоде BPF.
  • Возможность использования скрипта configure для сборки.

  1. OpenNews: Компания Oracle намерена переработать DTrace для Linux с использованием eBPF
  2. OpenNews: Для Linux представлена система динамической отладки BPFtrace (DTrace 2.0)
  3. OpenNews: Microsoft портировал DTrace для Windows
  4. OpenNews: Компания Oracle представила обновление DTrace для Linux
  5. OpenNews: Oracle перелицензировал код DTrace под GPLv2
Обсуждение (49 +15) | Тип: Программы |
Следующая страница (раньше) >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру