Сопровождающие пакеты с ядром из компании Canonical (Canonical Kernel Team) объявили об изменении процесса выбора версии ядра Linux для предстоящих релизов Ubuntu. Решено поставлять в дистрибутиве ядро Linux, самое свежее на момент релиза. Соответственно, стабилизация и подготовка пакетов с ядром в процессе подготовки новых версий Ubuntu теперь может производиться не только на основе сборок уже существующего релиза ядра, но и на основе публикуемых кандидатов в релизы.
До сих пор версия ядра для следующего релиза Ubuntu выбиралась на основе стабильного релиза ядра, уже существующего на момент заморозки функциональности будущего выпуска Ubuntu. С учётом того, что новые ветки ядра формируются каждые 2-3 месяца, часто возникала ситуация, когда в состав релиза Ubuntu входила предыдущая ветка ядра, несмотря на публикацию новой стабильной ветки незадолго до релиза Ubuntu, что вызывало недовольство пользователей, желающих получить самое свежее ядро с актуальной функциональностью и поддержкой оборудования.
Новый процесс выбора версии допускает выбор ядра, которое на стадии заморозки функциональности Ubuntu находится на стадии приёма изменений или ранних кандидатов в релизы. Для утверждения версии ядра к моменту формирования бета-версии (примерно за месяц до релиза Ubuntu) ядро должно находится на стадии релиза или поздних кандидатов в релизы (rc4 и новее). В последнем случае релиз ядра будет выпущен незадолго до релиза Ubuntu, а пакет с ядром для Ubuntu пройдёт тестирование на основе предварительных версий, которые после 4 кандидата в релизы в основном уже достаточно пригодные для работы и включают только исправления ошибок. Например, в октябрьском выпуске Ubunti 24.10 планируют поставлять не уже доступное ядро 6.10, а ядро 6.11, релиз которого ожидается в конце сентября.
Сопровождающие пакеты с ядром из компании Canonical (Canonical Kernel Team) объявили об изменении процесса выбора версии ядра Linux для предстоящих релизов Ubuntu. Решено поставлять в дистрибутиве ядро Linux, самое свежее на момент релиза. Соответственно, стабилизация и подготовка пакетов с ядром в процессе подготовки новых версий Ubuntu теперь может производиться не только на основе сборок уже существующего релиза ядра,...
Сформированы корректирующие обновления для всех поддерживаемых веток PostgreSQL 16.4, 15.8, 14.13, 13.16, 12.20, в которых исправлено 56 ошибок, выявленных за последние три месяца. Среди прочего в новых версиях устранена уязвимость (CVE-2024-7348), помеченная как опасная (уровень опасности 8.8 из 10). Уязвимость вызвана состоянием гонки в утилите pg_dump, позволяющем атакующему, имеющему возможность создания и удаления постоянных объектов в СУБД, добиться выполнения произвольного SQL-кода с правами пользователя, под которым запускается утилита pg_dump (обычно pg_dump запускается с правами суперпользователя для резервного копирования СУБД).
Для успешной атаки требуется отследить момент запуска утилиты pg_dump, что легко реализуется через манипуляции с открытой транзакцией. Атака сводится к замене последовательности (sequence) на представление или внешнюю таблицу, определяющих запускаемый SQL-код, в момент запуска pg_dump, когда информация о наличии последовательности уже получена, но данные ещё не выведены. Для блокирования уязвимости добавлена настройка "restrict_nonsystem_relation_kind", запрещающая раскрытие не системных представлений и доступ к внешним таблицам в pg_dump.
Сформированы корректирующие обновления для всех поддерживаемых веток PostgreSQL 16.4, 15.8, 14.13, 13.16, 12.20, в которых исправлено 56 ошибок, выявленных за последние три месяца. Среди прочего в новых версиях устранена
В рамках проекта LibreCUDA ведётся разработка открытой реализации API драйвера CUDA, позволяющего выполнять код CUDA на GPU NVIDIA без использования проприетарного CUDA Runtime. Работа без Runtime достигается благодаря прямому обращению к оборудованию, используя предоставляемые драйвером ioctl-вызовы и манипулируя очередью команд через MMIO (Memory-mapped I/O). Код проекта написан на языке Си и распространяется под лицензией MIT.
Проект пока находится на начальной стадии развития и отмечен, как не готовый для применения в рабочих системах. Из возможностей отмечается поддержка загрузки в GPU исполняемых файлов CUDA в формате ELF, запуск CUDA-ядер через очередь команд, выделение и освобождение памяти в GPU, а также маппинг памяти GPU для доступа из кода, выполняемого на CPU.
В рамках проекта LibreCUDA ведётся разработка открытой реализации API драйвера CUDA, позволяющего выполнять код CUDA на GPU NVIDIA без использования проприетарного CUDA Runtime. Работа без Runtime достигается благодаря прямому обращению к оборудованию, используя предоставляемые драйвером ioctl-вызовы и манипулируя очередью команд через MMIO (Memory-mapped I/O). Код проекта написан на языке Си и
После почти двух лет разработки компания компания System76, разрабатывающая Linux-дистрибутив Pop!_OS, представила первый альфа-выпуск среды рабочего стола COSMIC, написанной на языке Rust (не путать со старым COSMIC, который был основан на GNOME Shell). Сформировано два iso-образа с COSMIC - для систем с GPU NVIDIA (3 ГБ) и Intel/AMD (2.6 ГБ), построенных на основе дистрибутива Pop!_OS 24.04. Также доступны готовые пакеты для Fedora, NixOS, Arch Linux и Serpent OS.
Оболочка развивается как универсальный проект, не привязанный к конкретному дистрибутиву и соответствующий спецификациям Freedesktop. Для построения интерфейса в COSMIC задействована библиотека Iced, которая использует безопасные типы, модульную архитектуру и модель реактивного программирования, а также предлагает архитектуру, привычную для разработчиков, знакомых с языком декларативного построения интерфейсов Elm. Предоставляется несколько движков отрисовки, поддерживающих Vulkan, Metal, DX12, OpenGL 2.1+ и OpenGL ES 2.0+. Разработчикам предлагается готовый набор виджетов, возможность создавать асинхронные обработчики и использовать адаптивную компоновку элементов интерфейса в зависимости от размера окна и экрана. Проектом также разрабатывается композитный сервер cosmic-comp на базе Wayland.
Альфа-выпуск ознаменовал готовность минимального базового набора возможностей, определяющих пригодный для повседневного использования рабочий продукт и являющихся основой для финального оттачивания функциональности и повышения удобства работы на основе отзывов, полученных от пользователей. Окружение включает панель задач, систему применения тем оформления, режим автоматической компоновки окон (Auto-tiling), конфигуратор и набор основных приложений и апплетов. Дистрибутивам предоставлена возможность создания кастомизированных вариантов COSMIC, поставляемых со своей цветовой схемой, апплетами, настройками и темой оформления.
- Панель, отображающая список активных окон, ярлыки для быстрого доступа к приложениям и апплеты (встроенные приложения, выполняемые в отдельных процессах). Панель может разделяться на части, например, верхнюю часть с меню и индикаторами, и нижнюю часть со списком активных задач и ярлыков быстрого доступа. Части панели могут размещаться как вертикально, так и горизонтально, занимать всю ширину экрана или только выбранную область, использовать прозрачность, менять стиль в зависимости от выбора светлого и тёмного оформления, раздельно настраиваться для каждого виртуального рабочего стола. https://honk.any-key.press/d/lv4791wM4Ch3bTDznp.png
- В дополнение к классической многооконной работе предоставлена функция автоматической мозаичной компоновки окон (Auto-tiling), при включении которой позиция для новых окон на экране выбирается автоматически и выравнивается по сетке. Для быстрой замены окон предоставляется режим, позволяющий нажав и удерживая клавиатурную комбинацию "Super + X" (Windows + X) быстро переместить окно, дополнительно нажимая клавиши управления курсором. Мозаичное и классическое размещение окон могут комбинироваться и включаться в привязке к определённому виртуальному рабочему столу.
Имеется режим стекового закрепления окон для группировки разных окон приложений по аналогии с вкладками в браузере, а также режим постоянного отображения окна, при котором окно остаются доступно на всех виртуальных рабочих столах.
https://honk.any-key.press/d/6pq2Ghnt7QHxP73bN4.png
- Возможность настройки тем оформления, выбора между тёмными и светлыми темами, сохранения настроек оформления для использования на других системах, цикличного показа коллекции рабочих столов. https://honk.any-key.press/d/mfXZb2ZFW41k1V7G4F.png
- Апплеты с меню приложений, интерфейсом переключения между окнами и виртуальными рабочими столами, системой поиска, калькулятором, диалогом для запуска произвольных команд, а также индикаторами для изменения раскладки клавиатуры, управления воспроизведением мультимедийных файлов, изменения громкости, управления Wi-Fi и Bluetooth, показа уведомлений, отображения времени и вызова экрана для завершения работы.
- Библиотека приложений, позволяющая группировать программы по тематике. https://honk.any-key.press/d/1jy4y8LD6RJ3Pv61P6.png
- Базовый набор приложений, включающий файловый менеджер, тестовый редактор, эмулятор терминала и менеджер установки приложений.
- Конфигуратор, позволяющий менять настройки панели, рабочего стола, фоновых изображений, устройств ввода, экрана, энергопотребления.
Из планов на будущее отмечается:
- Добавление в конфигуратор модулей для настройки звука, учётных записей, языка, оконного менеджера, сетевых устройств, Bluetooth, автономной работы, средств для людей с ограниченными возможностями, управления обновлениями и выбора приложений для обработки определённых типов файлов.
- Реализация приложения для начальной настройки системы.
- Расширение возможностей файлового менеджера.
- Добавление средств для людей с ограниченными возможностями.
- Интеграция календаря-планировщика (evolution-data-server).
- Улучшение управления перемещением окон между рабочими столами.
- Улучшение анимационных эффектов.
- Добавление в композитный менеджер поддержки DPMS (для отключения экрана), механизма VRR (Variable Refresh Rate), возможности отображения полупрозрачного фона, HDR и режима ночной подсветки ("Night Light").
После почти двух лет разработки компания компания System76, разрабатывающая Linux-дистрибутив Pop!_OS, представила первый альфа-выпуск среды рабочего стола COSMIC, написанной на языке Rust (не путать со старым COSMIC, который был основан на GNOME Shell). Сформировано два iso-образа с COSMIC - для систем с GPU NVIDIA (
Исследователи Центра Гельмгольца по информационной безопасности (CISPA) опубликовали результаты исследования защищённости процессоров на базе архитектуры RISC-V и раскрыли сведения об уязвимости, получившей кодовое имя GhostWrite. Уязвимость затрагивает RISC-V-процессоры XuanTie C910, производимые китайской компанией T-Head (подразделение Alibaba) и развиваемые в форме открытых проектов. Уязвимость даёт возможность атакующему, имеющему непривилегированный ограниченный доступ к системе, добиться чтения и записи в любые области физической памяти, а также получить доступ к управлению периферийными устройствами, такими как сетевые карты, использующими MMIO (Memory-Mapped Input/Output).
Уязвимость вызвана недоработками в архитектуре процессора, связанными с изоляцией добавленных производителем процессорных инструкций, расширяющих архитектуру набора команд RISC-V и позволяющих получить прямой доступ к DRAM, в обход механизмов виртуальной памяти. Работа некоторых расширенных инструкций напрямую с физической памятью вместо виртуальной памяти даёт возможность обойти изоляцию памяти между процессами.
Подготовленная техника проведения атаки на 100% воспроизводима и требует выполнения своего кода в течение всего нескольких микросекунд. Программные методы изоляции, такие как контейнеры и sandbox-окружения, не мешают эксплуатации уязвимости. Для блокирования уязвимости помогает только полное отключение поддержки векторных расширений, что приводит к снижению производительности в тестах rvv-bench на 33% (в аннотации к отчёту указано 77%, а на сводной странице - 33%, при этом в деталях упоминается снижение производительности memcpy на 33%, а memset на 8%), а также примерно в два раза сокращает доступный для приложений набор процессорных инструкций.
CPU XuanTie C910 являются одними из наиболее высокопроизводительных чипов RISC-V, имеющихся на рынке и уже активно используемых в серверах для облачных систем и ноутбуках. Например, проблема проявляется в серверах Scaleway Elastic Metal RV1, кластерах Lichee Cluster 4A, ноутбуке Lichee Book 4A, игровой консоли Lichee Console 4A, портативном компьютере Lichee Pocket 4A, одноплатных ПК Sipeed Lichee Pi 4A, Milk-V Meles и BeagleV-Ahead.
В качестве примера исследователями подготовлен эксплоит, позволяющий непривилегированному пользователю получить root-права в Linux. Эксплоит меняет содержимое таблицы страниц в памяти, используемой для трансляции виртуальных адресов в физические, для получения виртуальных адресов, связанных с любыми физическими адресами. Также подготовлен пример эксплоита для чтения содержимого памяти ядра и других процессов, что позволяет извлечь хранящиеся в памяти ключи шифрования и пароли.
Дополнительно исследователями выявлены ещё две менее опасные архитектурные уязвимости - одна затрагивает процессоры T-Head XuanTie C906, а другая T-Head XuanTie C908. Обе уязвимости ограничиваются вызовом отказа в обслуживании из-за остановки работы CPU. Уязвимости могут представлять опасность для облачных платформ, построенных на чипах T-Head XuanTie, так при наличии доступа к выполнению кода в облачном окружении имеется возможность остановить работу и других пользователей, обслуживаемых на том же сервере.
Проблемы были выявлены при помощи фреймворка RISCVuzz, созданного для fuzzing-тестирования CPU. Фреймворк выявляет отличия в реализации одинаковых расширенных инструкций на разных CPU, в соответствии с предположением, что из-за отсутствия единого реестра расширений набора команд RISC-V, одинаково кодируемые инструкции на чипах разных производителей могут приводить к выполнению разных действий. Проверка сводилась к сравнению поведения при обработке процессорных инструкций на разных CPU RISC-V и анализа возможных уязвимостей в ситуациях, в которых наблюдалось расхождение поведения.
Исследователи Центра Гельмгольца по информационной безопасности (CISPA) опубликовали результаты исследования защищённости процессоров на базе архитектуры RISC-V и раскрыли сведения об уязвимости, получившей кодовое имя GhostWrite. Уязвимость затрагивает RISC-V-процессоры XuanTie C910, производимые китайской компанией T-Head (подразделение Alibaba) и развиваемые в форме
Представлен выпуск JavaScript-библиотеки Puppeteer 23, предназначенной для автоматизации управления web-браузерами. Библиотека подходит как для автоматического выполнения типовых операций с браузером, так и для проведения тестирования браузеров и симуляции работы пользователей. Код проекта написан на языке TypeScript с использованием Node.js и распространяется под лицензией Apache 2.0.
Например, Puppeteer позволяет создать сценарий, запускающий браузер, выставляющий нужный размер окна, открывающий определённую страницу, выставляющий фокус на заданном поле для поиска, вводящий в поле данные и отправляющий запрос, после чего переходящий по ссылке на первый результат в списке и сохраняющий полученную страницу. Библиотека также предоставляет возможности для загрузки свежей версии выбранного браузера, симуляции работы на выбранном аппаратном устройстве (например, на смартфоне Pixel 5), обработки форм аутентификации. В процессе работы можно отслеживать, перехватывать, модифицировать или блокировать сетевые запросы и ответы, а также манипулировать HTTP-заголовками и выполнять свои скрипты в контексте открываемых страниц.
Выпуск Puppeteer 23 примечателен обеспечением поддержки браузера Firefox, помимо изначально поддерживаемых браузеров на базе движка Chromium (проект Puppeteer развивает команда Chrome Browser Automation). Для взаимодействия с браузерами поддерживаются протоколы CDP (Chrome DevTools Protocol) и WebDriver BiDi. По умолчанию браузеры запускаются в режиме работы без экрана (headless). Отмечается, что добавление в новой версии поддержки Firefox и WebDriver BiDi, позволяет использовать Puppeteer в качестве универсального средства для автоматизации тестирования работы web-приложений в разных браузерах.
Представлен выпуск JavaScript-библиотеки Puppeteer 23, предназначенной для автоматизации управления web-браузерами. Библиотека подходит как для автоматического выполнения типовых операций с браузером, так и для проведения тестирования браузеров и симуляции работы пользователей. Код проекта написан на языке TypeScript с использованием Node.js и
Опубликован выпуск проекта Vortex 2.2, развивающего открытый GPGPU на базе архитектуры набора команд RISC-V, рассчитанный на выполнение параллельных вычислений с использованием API OpenCL и модели выполнения SIMT (Single Instruction, Multiple Threads). Проект также может быть использован при проведении исследований в области 3D-графики и при разработке новых архитектур GPU. Схемы, описания аппаратных блоков на языке Verilog, симулятор, драйверы и сопутствующая проектная документация распространяются под лицензией Apache 2.0.
Основу GPGPU составляет типовой ISA RISC-V, расширенный некоторыми дополнительными инструкциями, необходимыми для поддержки функций GPU и управления потоками. При этом изменения в архитектуре набора команд RISC-V сведены к минимуму и по возможности используются уже имеющиеся векторные инструкции. Среди дополнительных инструкций можно отметить: "tex" для ускорения обработки текстур, vx_rast для управления растеризацией, vx_rop для обработки фрагментов, глубины и прозрачности, vx_imadd для выполнения операции "умножить и сложить", vx_wspawn, vx_tmc и vx_bar для активации фронтов инструкций и потоков в них (wavefront, набор нитей, параллельно выполняемых SIMD Engine), vx_split и vx_join.
Развиваемый GPGPU поддерживает 32- и 64-разрядные архитектуры набора команд RISC-V RV32IMF и RV64IMAFD, и может включать опциональную разделяемую память, кэши уровней L1, L2 и L3, а также настраиваемое число ядер, блоков задач (warps) и потоков. В свою очередь для каждого ядра предусмотрена возможность включения настраиваемого числа ALU, FPU, LSU и SFU. Для создания прототипов могут использоваться FPGA Altera Arria 10, Altera Stratix 10, Xilinx Alveo U50, U250, U280 и Xilinx Versal VCK5000. Для симуляции работы чипа могут применяться Verilator (Verilog-симулятор), RTLSIM (симуляция RTL) и SimX (программная симуляция).
Для разработки приложений предлагается инструментарий, включающий адаптированные для работы с Vortex варианты PoCL (компилятор и runtime OpenCL), LLVM/Clang, GCC и Binutils. Проектом поддерживается спецификация OpenCL 1.2 и через трансляцию в OpenCL реализована поддержка промежуточного представления шейдеров SPIR-V. Для графики на технологиях Vortex развивается открытый GPU Skybox, поддерживающий графический API Vulkan. Прототип Skybox, созданный на базе FPGA Altera Stratix 10 и включающий 32 ядра (512 потоков), позволил при частоте 230 MHz добиться производительности заливки в 3.7 гигапикселей в секунду (29.4 гигатранзакции в секунду).
Среди изменений в версии Vortex 2.2:
- Добавлен API vx_spawn_taskgroups для запуска ядер, поддерживающих сегментированное выполнение 3D-задач.
- Добавлена поддержка ZICOND, расширения архитектуры набора команд RISC-V, обеспечивающее условное выполнение операций без ветвления.
- Компилятор OpenCL переведён на планирование выполнения на уровне отдельных потоков (thread-level, каждый поток выполняет свою задачу независимо от других потоков), а не групп задач (warp-level), как было раньше.
- В OpenCL добавлена поддержка JIT-компиляции и 64-разрядных ядер.
- Реализована поддержка динамической загрузки Vortex runtime.
- Предложена новая документация по настройке FPGA Xilinx.
- Включено тестирование синтеза логики с использованием инструментария Yosys.
- В иерархических операциях flush и в режиме write-back обеспечена поддержка кэша.
- Проведена оптимизация скорости scoreboard-верификации и работы с операндами на уровне регистровых передач (RTL, Register Transfer Level).
- Добавлена поддержка симулятора DRAM-памяти Ramulator 2.0.
- Осуществлён переход на использование новых версий Verilator 5.0 (симулятор SystemVerilog) и LLVM 18.0, а также обновлён инструментарий на базе CentOS 7.9.
- Вместо системы непрерывной интеграции Travis CI задействован сервис GitHub CI.
Опубликован выпуск проекта Vortex 2.2, развивающего открытый GPGPU на базе архитектуры набора команд RISC-V, рассчитанный на выполнение параллельных вычислений с использованием API OpenCL и модели выполнения SIMT (Single Instruction, Multiple Threads). Проект также может быть использован при проведении исследований в области 3D-графики и при разработке новых архитектур GPU. Схемы, описания аппаратных блоков на языке Verilog, симулятор,...
Анджей Яник (Andrzej Janik), известный своей работой по созданию реализаций технологии CUDA для GPU Intel и AMD, был вынужден по требованию компании AMD убрать из открытого доступа часть кода открытого проекта ZLUDA, позволяющего выполнять немодифицированные CUDA-приложения на системах с GPU AMD, используя стек ROCm и runtime HIP (Heterogeneous-computing Interface for Portability). Отдельно отмечается, что каких-либо связанных с проектом ZLUDA обращений от компании NVIDIA, которой принадлежит права на технологию CUDA, разработчику не поступало.
Изначально проект ZLUDA развивался для GPU Intel, но в 2022 году Анджей уволился из Intel и заключил контракт с компанией AMD на разработку слоя для совместимости с CUDA. В начале 2024 года компания AMD решила, что запуск CUDA-приложений на GPU AMD не представляет интереса для бизнеса, что по условию контракта позволило разработчику открыть свои наработки. В процессе переписки по электронной почте разработчиком также было получено разрешение на публикацию от представителя AMD.
Спустя 6 месяцев после публикации изменений, созданных во время работы на AMD, юристы данной компании связались с Анджей и дали понять, что ранее предоставленное в ходе переписки разрешение не имеет юридической силы. Подробности переписки с юристами AMD не приводятся из-за соглашения о неразглашении информации. Тем не менее, результатом стало то, что разработчик был вынужден убрать из открытого доступа весь код, созданный для AMD.
Анджей не намерен бросать работу над проектом и планирует пересоздать его, основываясь на коде, имевшемся до начала сотрудничества с AMD (старый код был рассчитан на работу с GPU Intel). Подробности о дальнейшем развитии проекта будут представлены в течение нескольких недель. Пока лишь сообщается, что часть функциональности будет потеряна, а также будет не суждено открыть некоторые параллельно развившиеся проекты. Например, планировалось опубликовать результат работы над поддержкой технологии NVIDIA GameWorks, которая была доведена до возможности использования базирующихся на GameWorks эффектов в игре "Batman: Arkham Knight".
Дополнительно можно отметить, развитие инструментария SCALE, нацеленного на предоставление возможности выполнения приложений CUDA на системах с GPU AMD. Ключевым компонентом развиваемого инструментария является компилятор, совместимый на уровне опций с nvcc, основанный на кодовой базе проекта LLVM и позволяющий компилировать код на языке CUDA в представление для запуска на GPU AMD. Проект также предоставляет библиотеки-обвязки с реализацией API CUDA-X поверх стека AMD ROCm, Runtime и API драйверов для GPU AMD. Инструментарий симулирует для приложений наличие NVIDIA CUDA Toolkit, что позволяет собирать CUDA-код для GPU AMD без внесения изменений в исходные тексты и сценарии сборки.
В настоящее время инструментарий SCALE находится на стадии бета-тестирования (пакеты доступны для различных дистрибутивов Linux). Работа SCALE протестирована с такими системами, как Blender, hashcat, llama-cpp, NVIDIA Thrust, GOMC, stdgpu, xgboost, faiss и AMGX на системах с GPU AMD gfx1030 (Navi 21, RDNA 2.0) и AMD gfx1100 (Navi 31, RDNA 3.0). Проект SCALE является проприетарным и распространяется без предоставления исходных текстов. При этом лицензия допускает использование в коммерческих целях, распространение и внесение изменений, но запрещает обратный инжиниринг. Разработчики не исключают, что в будущем могут вернуться к рассмотрению возможности открытия кода, но на данной стадии разработки решено код не публиковать.
Анджей Яник (Andrzej Janik), известный своей работой по созданию реализаций технологии CUDA для GPU Intel и AMD, был вынужден по требованию компании AMD убрать из открытого доступа часть кода открытого проекта ZLUDA,
Компания Google сформировала обновление Chrome 127.0.6533.99, в котором исправлено 6 уязвимостей, среди которых критическая уязвимость (CVE-2024-7532), позволяющая обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения. Детали пока не раскрываются, известно лишь, что критическая уязвимость вызвана выходом за границы буфера в прослойке ANGLE, отвечающей за трансляцию вызовов OpenGL ES в OpenGL, Direct3D 9/11, Desktop GL, Metal и Vulkan.
Остальные уязвимости помечены как опасные и связаны обращением к памяти после её освобождения в реализациях API "WebAudio" (CVE-2024-7536) и "Sharing" (CVE-2024-7533), записью в область памяти вне буфера в компоненте "Layout" (CVE-2024-7534), неправильной обработкой типов (Type Confusion) в движке V8 (CVE-2024-7550) и ошибкой в реализации компонентов движка V8 (CVE-2024-7535).
Компания Google сформировала обновление Chrome 127.0.6533.99, в котором исправлено 6 уязвимостей, среди которых критическая уязвимость (CVE-2024-7532), позволяющая обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения. Детали пока
- По умолчанию активирован режим HTTPS-First, при котором при попытке открытия страницы по HTTP без шифрования браузер вначале попытается обратиться к сайту по HTTPS ("http://" заменяется на "https://") и если попытка оказывается неудачной автоматически обращается к сайту без шифрования. Для отключения режима в about:config следует использовать опцию "dom.security.https_first". В отличие от включаемого в настройках опционального режима "HTTPS Only" режим HTTPS-First не применяется к загрузке субресурсов, таких как изображения, скрипты и таблицы стилей, а действует только при попытке открытия сайта после перехода по ссылке или наборе URL в адресной строке.
- На платформах Linux, Windows 11 и Android 10+ предоставлена возможность использования системного резолвера для определения DNS-записей, через которые передаётся информация об открытом ключе для механизма ECH (Encrypted Client Hello), который продолжает развитие технологии ESNI (Encrypted Server Name Indication) и обеспечивает шифрование информации о параметрах TLS-сеансов, таких как запрошенное доменное имя. Ключевое отличие ECH от ESNI в том, что в ECH вместо шифрования на уровне отдельных полей целиком шифруется всё TLS-сообщение ClientHello, что позволяет блокировать утечки через поля, которые не охватывает ESNI, например, поле PSK (Pre-Shared Key). Изменение также позволяет использовать протокол HTTP/3 без использования заголовка Alt-Svc. Ранее для получения ключа к ECH требовалось включение "DNS over HTTPS". Скрытие домена в HTTPS-трафике, среди прочего, приводит к решению проблем с падением скорости при просмотре YouTube, наблюдаемого последнее время у пользователей некоторых российских провайдеров.
- В режиме читателя (Reader View) расширены возможности меню для настройки отображения текста и компоновки страницы - добавлена возможность регулирования отступов между символами и словами, а также выбора метода выравнивания текста. https://honk.any-key.press/d/d61CyhSssZ6Dk95cgd.png
- В режим читателя добавлено новое меню "Theme" для настройки цветов фона, текста и ссылок при просмотре, а также для выбора базовых режимов отображения (тёмный, оттенки серого, светлый, контрастный, сепия). https://honk.any-key.press/d/2jy1j9n3k8nRHsk3L4.png
- Включено отображение эскизов содержимого вкладок при наведении мыши на кнопки вкладок. Помимо эскиза в информационный блок о вкладке также добавлено упоминание показанной во вкладке ссылки. Предполагается, что изменение упростит определение искомой вкладки, исключив необходимость переключения между вкладками. Для тех кого раздражают лишние автоматически всплывающие окна, могут отключить новую возможность при помощи настройки "browser.tabs.hoverPreview.enabled" в about:config. https://honk.any-key.press/d/DT9BmKksK733Nt8lfj.png
- Для пользователей из Франции и Германии включено по умолчанию автоматическое заполнение в web-формах полей с адресами. Ранее данная возможность была включена только для пользователей из США и Канады. Для включения режима в других странах можно использовать настройку "extensions.formautofill.addresses.supportedCountries" на странице about:config. Для редактирования адреса, который будет добавляться в формы, можно использовать кнопку редактирования в секции Autofill в настройках "Конфиденциальность и Безопасность". https://honk.any-key.press/d/ZM6wg533G7qHW128GD.png
- В CSS добавлено @-правило "@starting-style" для применения стиля к элементу при его первой отрисовке, что может применяться для создания переходной анимации на стадии до открытия элемента на странице (в состоянии "display: none") или при добавлении элемента в DOM.
- Добавлено CSS-свойство "transition-behavior" для применения переходной анимации к дискретным свойствам, таким как "display".
- Реализовано событие textInput, которое не определено в стандарте, но используется вместо события "beforeinput" в некоторых web-приложениях на базе старых фреймфорков.
- В JavaScript добавлена поддержка типизированных массивов Float16Array, а также методов DataView для чтения и установки значений с типом Float16, и метода Math.f16round() для округления чисел до 16-битной точности. Тип Float16 может оказаться полезным при работе с GPU для сокращения потребления памяти по сравнению с типами Float32 и Float64.
- В API mediaCapabilities.decodingInfo() реализована возможность декодирования системной конфигурации воспроизводимого шифрованного контента и получения информации об используемой для шифрования системы ключей.
- В инструментах для web-разработчиков реализованы новые предупреждения о проблемах с CSS, показываемые при некорректном использовании свойств resize и float, при использовании свойства box-sizing с элементами игнорирующими изменение высоты и ширины, а также при применении специфичных для таблиц CSS-свойств с элементами, не связанными с таблицами.
В панели анализа сетевой активности функция блокировки (Network Blocking) теперь применяется не только к HTTP-ответам, но и к HTTP-запросам. В режиме инспектирования в боковой панели Rules добавлен показ правил "@starting-style" и реализованы всплывающие подсказки для функции var(), показывающие значения собственных CSS-свойств "@starting-style".
- В версии для платформы Android предоставлена возможность загрузки языковых пакетов для перевода текста в режиме offline.
Кроме новшеств и исправления ошибок в Firefox 129 устранено 14 уязвимостей. 11 уязвимостей помечены как опасные, из которых 6 вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.
- По умолчанию активирован режим HTTPS-First, при котором при попытке открытия страницы по HTTP без шифрования браузер вначале попытается обратиться к сайту по HTTPS ("http://" заменяется на "https://") и если попытка оказывается...
Компания Google объявила о проведении эксперимента по встраиванию в Chrome большой языковой модели машинного обучения. Для доступа к модели из web-приложений и браузерных дополнений предложен API Prompt, позволяющий отправлять запросы на естественном языке, по аналогии с чатботами. Предполагается, что встроенная в браузер большая языковая модель упростит выполнение AI-задач в web-приложениях и позволит не заботиться об установке и управления языковыми моделями.
В проводимом эксперименте задействована модель Gemini Nano, наиболее компактная из семейства Gemini. Также предусмотрена возможность установки экспертных моделей, расширяющих базовую модель дополнительными знаниями, которые могут потребоваться для решения специфичных задач, а также для реализации навыков, таких как машинный перевод и резюмирование. Модели выполняются локально на системе пользователя без обращения к внешним сервисам.
Применяемый для выполнения модели Runtime автоматически задействует доступные в системе GPU и NPU для ускорения работы с моделью или переключается на выполнение модели с использованием CPU. Из достоинств выполнения модели на системе пользователя отмечается сохранение конфиденциальности обрабатываемых данных, возможность продолжать работу в offline-режиме при отсутствии сетевого подключения или при возникновении проблем с качеством связи, снижение задержек при отправке запросов, исключение зависимости от внешних сервисов.
Развиваемый для взаимодействия с моделью API Prompt позволяет выполнять не только простейшие единичные запросы на естественном языке, но и организовывать привлечение модели к обработке и классификации данных с учётом контекста, учитывать ранее отправленные в сеансе запросы и данные, а также использовать модель для выбора оптимальных вариантов (например, можно попросить выбрать значок из списка emoji для определённого комментария на сайте). Дополнительно планируется развивать API для использования в области создания контента и решения таких задач как переписывание другими словами, корректура и исправление грамматики.
В общем виде для взаимодействия со встроенной AI-моделью развивается два типа API - Task и Exploratory. Первый предоставляет доступ к возможностям по решению определённых задач, таких как перевод текста с одного языка на другой (API Translation) или резюмирование основной сути текста (API Summarization). Второй тип нацелен на создание и проверку экспериментальных прототипов при разработке новых Task API. Также ведётся работа над API LoRA (Low-Rank Adaptation) для адаптации весовых коэффициентов базовой модели для повышения эффективности решения определённых задач.
Доступ к участию в эксперименте предоставляется после заполнения заявки. API находится в активном развитии и до принятия окончательного варианта будет расширяться и меняться с учётом отзывов и предпочтений пользователей. В дальнейшем планируется организовать более доступное тестирование с использованием режима Origin Trials, предоставляющего возможность работы с экспериментальными API из приложений, загруженных с localhost или 127.0.0.1, или после прохождения регистрации и получения специального токена, который действует ограниченное время для конкретного сайта. Параллельно с производителями других браузеров ведётся работа по стандартизации развиваемых API.
Компания Google объявила о проведении эксперимента по встраиванию в Chrome большой языковой модели машинного обучения. Для доступа к модели из web-приложений и браузерных дополнений предложен API Prompt, позволяющий отправлять запросы на естественном языке, по аналогии с чатботами. Предполагается, что встроенная в браузер большая языковая модель упростит выполнение AI-задач в web-приложениях и позволит не заботиться об установке...
Представлен выпуск проекта Aura 4.0.0, развивающего пакетный менеджер для дистрибутива Arch Linux, расширяющий возможности штатного пакетного менеджера Pacman. Проект создан в 2012 году и изначально был нацелен на предоставление средств для сборки пакетов для репозитория AUR (Arch User Repository), применяемого для распространения сторонними разработчиками своих пакетов, не входящих в основные репозитории дистрибутива Arch Linux. Код проекта распространяется под лицензией GPLv3.
Кроме специфичных для AUR функций в Aura также предоставляются и другие возможности, расширяющие функциональность Pacman (в настоящее время только 1/3 расширенных возможностей Aura связаны с AUR). Например, доступны средства для наглядного анализа зависимостей, работы со снапшотами наборов пакетов (для сохранения и восстановления состояния), управления остаточными зависимостями и отката отдельных пакетов или всей системы на прошлые версии.
Пакетный менеджер Aura полностью обратно совместим с Pacman и поддерживает все его команды и опции (Aura можно использовать как замену Pacman с расширенными функциями). Связанные с AUR дополнительные возможности вызываются через указание опции командной строки "-A", а средства работы со снапшотами и версиями через опции "-B" и "-С", не пересекающиеся с опциями Pacman. Также предлагаются такие дополнительные команды, как "check", "conf", "free", "stats" и "deps" для проверки целостности системы, работы с конфигурацией, анализа лицензий, просмотра статистики и разбора зависимостей.
Функциональность Pacman воссоздаётся благодаря использованию библиотеки libalpm, предлагающей базовые возможности управления пакетами, применяемые в пакетном менеджере Pacman. Проектом также поддерживается собственный сервер с метаданными пакетов, позволяющий существенно ускорить поиск пакетов и разрешение зависимостей.
Новая версия примечательна полным переписыванием кодовой базы, которая переведена с использования языка Haskell на язык Rust. Смена языка позволила значительно повысить производительность, упростить установку, задействовать готовые Rust-биндинги к libalpm, сделать проект более привлекательным для новых разработчиков, улучшить интерфейс командной строки и в 4 раза сократить размер исполняемого файла.
Добавлена команда "aura deps", позволяющая генерировать изображения с наглядным представлением зависимостей. Например, для просмотра пакетов, зависящих от gcc, можно выполнить "aura deps gcc --reverse --optional --open", а для просмотра пакетов, от которых зависит gcc - "aura deps gcc --limit=3 --open":
Представлен выпуск проекта Aura 4.0.0, развивающего пакетный менеджер для дистрибутива Arch Linux, расширяющий возможности штатного пакетного менеджера Pacman. Проект создан в 2012 году и изначально был нацелен на предоставление средств для сборки пакетов для репозитория AUR (Arch User Repository), применяемого для распространения сторонними разработчиками своих пакетов, не входящих в основные репозитории дистрибутива Arch Linux. Код проекта
Опубликован выпуск дистрибутива Nitrux 3.6.0, построенного на пакетной базе Debian, технологиях KDE и системе инициализации OpenRC. Проект предлагает собственный рабочий стол NX Desktop, который представляет собой надстройку над KDE Plasma. На основе библиотеки Maui для дистрибутива развивается набор типовых пользовательских приложений, которые можно использовать как на настольных системах, так и на мобильных устройствах. Для установки дополнительных приложений продвигается система самодостаточных пакетов AppImages. Размер полного загрузочного образа составляет 3 ГБ. Наработки проекта распространяются под свободными лицензиями.
Рабочий стол NX Desktop предлагает иное стилевое оформление, собственную реализацию системного лотка, центра вывода уведомлений и различных плазмоидов, таких как конфигуратор сетевых соединений и мультимедийный апплет для регулирования громкости и управления воспроизведением мультимедийного контента. Из приложений, созданных при помощи фреймворка MauiKit, можно отметить файловый менеджер Index (можно использовать и Dolphin), текстовый редактор Note, эмулятор терминала Station, музыкальный проигрыватель VVave, видеопроигрыватель Clip, центр управления приложениями NX Software Center и просмотрщик изображений Pix.
- По умолчанию задействовано ядро Linux 6.9 с патчами Liquorix.
- Обновлены версии пакетов, среди которых Mesa 24.1.3, Firefox 128.0.3, NUTS 2.1.5 (Nitrux Update Tool System), AppArmor 4.0.1.
- Пользовательское окружение NX Desktop продолжает использовать KDE Plasma 5.27.11, KDE Frameworks 5.115 и Qt 5.15.13. Напомним, что NX Desktop представляет собой набор надстроек, сильно завязанных на ветку Plasma 5, поэтому дистрибутив не будет переходить на KDE 6, а ближе к концу года будет переведён по умолчанию на собственную оболочку Maui Shell, поддерживающую Qt6.
- Проприетарные драйверы NVIDIA обновлены до версии 560.28.03. Добавлены свежие GSP-прошифки для GPU NVIDIA.
- Обновлён микрокод для процессоров AMD и Intel. В пакет linux-firmware добавлены новые прошивки для многих драйверов беспроводных адаптеров, GPU и звуковых карт.
- Для упрощения сопровождения дополнительный пакет с драйверами разделён на два пакета nitrux-printer-drivers и nitrux-xserver-drivers.
- В конфигурацию инсталлятора Calamares внесены изменения для включения модуля intel_pstate, который по умолчанию задействован в утилите TLP, используемой для экономии заряда аккумулятора.
- В ZSH добавлены дополнительные настройки для задействования GPU NVIDIA в графических приложениях, использующих GLX, на системах с несколькими GPU.
- В настройки KWin внесены изменения для повышения скорости анимации.
- В состав включён пакет multipath-tools.
- Добавлена утилита для мониторинга за процессом plasmashell и его перезапуска в случае сбоев.
- Добавлена утилита NVIDIA_OC для разрона GPU NVIDIA, поддерживающая X11 и Wayland.
- Удалены пакет bpftool и плазмоид NX Networks.
Опубликован выпуск дистрибутива Nitrux 3.6.0, построенного на пакетной базе Debian, технологиях KDE и системе инициализации OpenRC. Проект предлагает собственный рабочий стол NX Desktop, который представляет собой надстройку над KDE Plasma. На основе библиотеки
Проект ntop, развивающий инструменты для захвата и анализа трафика, опубликовал инструментарий для глубокого инспектирования пакетов nDPI 4.10, продолжающий развитие библиотеки OpenDPI. Проект nDPI основан после безуспешной попытки передачи изменений в репозиторий OpenDPI, который остался без сопровождения. Код nDPI написан на языке Си и распространяется под лицензией LGPLv3.
Система позволяет определять в трафике используемые протоколы уровня приложений, анализируя характер сетевой активности без привязки к сетевым портам (может определять известные протоколы, обработчики которых принимают соединения на нестандартных сетевых портах, например, если http отдаётся не с 80 порта, или, наоборот, когда какую-то другую сетевую активность пытаются закамуфлировать под http через запуск на 80 порту).
Отличия от OpenDPI сводятся к поддержке дополнительных протоколов, портированию для платформы Windows, оптимизации производительности, адаптации для применения в приложениях для мониторинга трафика в режиме реального времени (убраны некоторые специфичные возможности, замедлявшие движок), возможности сборки в форме модуля ядра Linux и поддержке определения субпротоколов.
Поддерживается определение 55 типов сетевых угроз (flow risk) и более 420 протоколов и приложений (от OpenVPN, Tor, QUIC, SOCKS, BitTorrent и IPsec до Telegram, Viber, WhatsApp, PostgreSQL и обращений к Gmail, Office 365, Google Docs и YouTube). Имеется декодировщик серверных и клиентских SSL-сертификатов, позволяющий определить протокол (например, Citrix Online и Apple iCloud), используя сертификат шифрования. Для анализа содержимого pcap-дампов или текущего трафика через сетевой интерфейс поставляется утилита nDPIreader.
- Добавлена начальная поддержка технологии FPC (First Packet Classification), нацеленной на определение протоколов, приложений и сервисов по первому пакету, отправляемому при установке соединения. FPC реализуем лишь для части протоколов и позволяет существенно снизить нагрузку на CPU при инспектировании трафика.
- Добавлена поддержка и разбор более 70 новых протоколов и сервисов, среди которых:
- Adobe Connect
- ANSI C12.22
- Apache Kafka
- Beckhoff ADS
- BFCP
- BFD
- Bluesky
- Call of Duty Mobile
- CAN over Ethernet
- Ceph
- ClickHouse
- DLE
- DTLS 1.3
- Elder Scrolls Online support (#2376)
- ElectronicArts
- ethereum protocol dissector
- Ethernet Global Data
- Ether-S-Bus
- Ether-S-I/O
- FB-Threads
- FLUTE
- Gearman
- Google Chat
- Google Protobuf
- HART-IP
- HiSLIP
- HL7
- HLS
- IEC62056 (DLMS/COSEM)
- IEEE 1588-2008 (PTPv2)
- IEEE C37.118
- ISO 9506-1 MMS
- JSON-RPC
- KCP
- KNXnet/IP
- Label Distribution Protocol
- Mastodon
- Monero
- Mumble
- Nano (XNO)
- Naraka Bladepoint
- NetEase
- NoMachine NX
- Omron FINS
- OPC UA
- OpenFlow
- OpenWire
- Path of Exile
- PFCP
- PIA (Private Internet Access) support (#2250)
- PROFINET/IO
- Radmin
- Raft
- Ripe Atlas probe protocol.
- Roughtime
- RTPS
- S7Comm
- Schneider Electric UMAS
- STOMP
- TencentGames
- Twitter bot
- UFTP
- Viber (voip)
- WebDAV
- Yojimbo (netcode)
- ZUG
- Улучшен разбор и определение протоколов и сервисов:
- Добавлены новые идентификаторы протоколов, связанные с контентом для взрослых, рекламой, web-аналитикой и отслеживанием перемещений.
- Расширен спектр выявляемых сетевых угроз и проблем, связанных с риском компрометации (flow risk).
- Добавлен скрипт для загрузки и обновления списка суффиксов доменов.
- Обеспечена идентификация трафика Huawei.
- Проведена оптимизация производительности.
- Расширена поддержка IPv6.
Проект ntop, развивающий инструменты для захвата и анализа трафика, опубликовал инструментарий для глубокого инспектирования пакетов nDPI 4.10, продолжающий развитие библиотеки OpenDPI. Проект nDPI основан после безуспешной попытки передачи изменений в
Опубликован релиз набора системных утилит GNU Binutils 2.43, в состав которого входят такие программы, как GNU linker, GNU assembler, nm, objdump, strings, strip.
- В GNU assembler добавлена поддержка директивы ".base64" для представления бинарных данных в виде строк в кодировке base64. Реализована возможность использования синтаксиса "\+" в макросах и внутри директив .irp, .irpc и .rept для определения числа запусков макроса.
- Добавлена поддержка инструкций CFCMOV, NF, CCMP и CTEST, определённых в наборе команд Intel APX.
- Добавлена поддержка архитектуры 'armv9.5-a', а также расширений LUT и LUTv2 (AArch64 Lookup Table Extension).
- Добавлена поддержка расширений RISC-V: XSfCease, Zacas, Zcmp, Zfbfmin, Zvfbfmin, Zvfbfwma, Smcsrind, Sscsrind, XCvMem, XCvBi и XCvElw.
- В компоновщике добавлены опции: "--rosegment" (при использовании опции "-z separate-code" создаёт один сегмент в режиме только для чтения вместо двух), "--section-ordering-file ‹FILE›" (сопоставление входных и результирующих секций) и "--plugin-save-temps" (сохранение временных файлов от плагинов). Для архитектур AArch64 и LoongArch реализована поддержка формата упаковки перемещений адресов DT_RELR (relocation), позволяющего сократить размер информации об относительных перемещениях в разделяемых объектах и исполняемых файлах.
- В утилите readelf обеспечен показ деталей о перемещении адресов (DT_RELR). Добавлена опция "-j" ("--display-section") для отображения содержимого секции, заданной по имени или индексу. При выводе содержимого секции ".eh_frame" обеспечен показ секции ".eh_frame_hdr" при её наличии.
- В утилите gprofng добавлена начальная поддержка архитектуры RISC-V. Переработан код для работы со счётчиками аппаратных событий. Реализованы события, специфичные для процессоров AMD ZEN3, AMD ZEN4 и Intel Ice Lake, а также типовые события для процессоров ARM.
Опубликован релиз набора системных утилит GNU Binutils 2.43, в состав которого входят такие программы, как GNU linker, GNU assembler, nm, objdump, strings, strip.
- В GNU assembler добавлена поддержка директивы ".base64" для представления бинарных данных в виде строк в кодировке base64. Реализована возможность использования синтаксиса "\+" в макросах и внутри директив .irp, .irpc и .rept для определения числа запусков макроса.
- Добавлена поддержка инструкций...