Доступен системный менеджер systemd 258
После девяти месяцев разработки представлен релиз системного менеджера systemd 258. Ключевые изменения: прекращение поддержки cgroups v1 и компонентов управления системой в стиле System V, новые утилиты systemd-factory-reset и systemd-pty-forward, концепция домашних областей, поддержка загрузки в дисковый образ, полученный через HTTP.
Среди изменений в новом выпуске:
- Добавлена утилита systemd-factory-reset для инициирования или отмены сброса настроек в исходное состояние (factory reset) при следующей загрузке. Для мгновенного сброса добавлен юнит factory-reset-now.target. Для сброса во время загрузки добавлен параметр командной строки ядра "systemd.factory_reset".
- Добавлена концепция домашних областей (home area), позволяющая задавать подкаталоги внутри основной домашней директории ($HOME), в которые может раздельно входить пользователь для работы в разных рабочих пространствах. Например, для одного пользователя можно создать отдельные области для тестирования настроек и для разработки (~/Areas/foo и ~/Areas/bar). Для подключения к дополнительной области при входе нужно указать в логине название области, отделив его символом "%" ("username%foo") или использовать утилиту run0 с опцией "--area". Поддержка домашних областей пока реализована только в systemd-homed и недоступна для полных графических сеансов.
- В параметры командной строки ядра "systemd.pull" и "rd.systemd.pull", применяемые для автоматической загрузки виртуальных машин, контейнеров или образов-расширений (sysext, confext), добавлен флаг "blockdev". При указании данного флага загруженный образ прикрепляется к loopback-устройству, что позволяет напрямую загружаться в дисковый образ, полученный через HTTP. Например:
rd.systemd.pull=raw,machine,verify=no,blockdev:image:https://192.168.100.1:8081/image.raw \
root=/dev/disk/by-loop-ref/image.raw-part2
- Добавлена утилита systemd-pty-forward при помощи которой можно создать псевдотерминал ("PTY") и запустить на нем процесс, перенаправляя любой вывод на исходный терминал, на котором была запущена утилита.
- Удалён код, обеспечивавший поддержку cgroups v1.
- Удалены компоненты управления системой в стиле System V, такие как утилиты itctl, runlevel и telinit, устройство /dev/initctl, концепция уровней запуска (runlevel), unit-файлы runlevel[0-6].target и возможность управления состоянием через команду init. Удаление поддержки скриптов сервисов System V намечено на следующий выпуск.
- Минимальные требования к версии ядра Linux подняты до выпуска 5.4 (рекомендуется версия 5.7).
- Права доступа к устройствам tty/pts изменены с 0620 (-rw--w----) на 0600 (-rw-------) для запрета записи в чужой терминал другим пользователям с той же группой. Для возвращения старого поведения при сборке можно использовать опцию '-Dtty-mode=0620'.
- В systemd-resolved и systemd-importd прекращена поддержка библиотек GnuTLS и libgcrypt, в качестве криптобэкенда оставлен только OpenSSL.
- В unit-файлы добавлена поддержка условия "ConditionKernelModuleLoaded" для проверки загрузки определённого модуля ядра. Условие "ConditionKernelVersion" заменено на более общую конструкцию "ConditionVersion", через которую кроме ядра можно проверить версии systemd и glibc.
- Включена поддержка пользовательских квот для раздела /tmp/, размещённого в tmpfs, и для /dev/shm/.
- Для slice-юнитов, используемых для разбиения системы на части (app.slice, background.slice, session.slice) с целью изоляции ресурсов между различными пользовательскими сервисами, реализованы настройки ConcurrencySoftMax и ConcurrencyHardMax для управления числом одновременно активных юнитов.
- В настройку ExecStart добавлена поддержка префикса '|', определяющего запуск через командный интерпретатор.
- Реализован API на базе протокола Varlink, который может применяться для определения текущего состояния, списка юнитов и состояния юнитов.
- Добавлен дополнительный каталог с преднастройками ("preset") для системных сервисов, выполняемых в initrd, позволяющий разделить включение системных сервисов для хоста и initrd.
- Добавлена возможность привязки квот к отдельным сервисам, используя настройки
StateDirectoryQuota, StateDirectoryAccounting, CacheDirectoryQuota, CacheDirectoryAccounting, LogsDirectoryQuota и LogsDirectoryAccounting.
- В systemd-udevd добавлена поддержка свойств ID_NET_BRING_UP_BEFORE_JOINING_BRIDGE, ID_NET_NAME_INCLUDE_DOMAIN, ID_AV_LIGHTS. Добавлен параметр командной стройки ядра "udev.trace" и опция "--traceu" в утилите devadm для трассировки логики работы udev во время загрузки и во время работы.
В утилиту udevadm добавлена команда "cat" для показа содержимого установленных файлов с правилами. Обеспечена автоматическая маркировка отладочных USB-интерфейсов Android (ADB DbC, ADB, Fastboot) для доступа непривилегированными пользователями.
- В systemd-networkd добавлены настройки IPv4DuplicateAddressDetectionTimeoutSec, UseSIP в секции "[DHCPv6]", MPLSRouting в секции "[Network]", Preference в секции "[IPv6RoutePrefix]", LinkLocalLearning, Locked, MACAuthenticationBypass и VLANTunnel в секции "[Bridge]". В клиент DHCPv4 добавлена поддержка протокола BOOTP.
- В systemd-logind добавлены новые классы сеансов: "none" для отключения создания сеанса; "user-light" и "user-early-light" для создания пользовательских сеансов без активации для пользователя сервисного менеджера (для неинтерактивных сеансов).
- В systemd-resolved добавлена поддержка зон делегирования ("delegate zone"), позволяющих маршрутизировать запросы DNS для определённых доменов через заданные серверы DNS. Обеспечена отправка параллельных запросов DNS-записей A и AAAA для одного домена. В resolved.conf добавлена настройка RefuseRecordTypes для определения блокируемых типов записей, например, для блокирования записей "A" на хостах только с IPv6.
- В команду "systemctl start" добавлена опция "--verbose" для отображения лога работы юнитов, над которыми выполняется операция.
- В systemd-boot добавлена поддержка двух новых спецификаций загрузчиков - "uki" и "uki-url". Во втором случае реализована возможность загружать образ UKI c внешнего хоста по протоколу HTTP. Добавлена возможность встраивания образов прошивок UEFI в образы UKI (Unified Kernel Image). В loader.conf добавлена настройка "reboot-on-error" для определения действий (перезагрузить или вывести загрузочное меню) в случае сбоя выбранной загрузочной позиции.
- В systemd-nspawn добавлена поддержка непривилегированного запуска образов контейнеров, хранимых в обычных директориях.
- В systemd-importd добавлена поддержка образов, сжатых алгоритмом
zstd (в дополнение к .xz, .gz и .bz2.).
- Добавлены параметры командной строки ядра "systemd.break" и
"rd.systemd.break", позволяющие вставлять интерактивные точки останова, прерывающие загрузку в заданные моменты. Доступны четыре точки останова:
"pre-udev", "pre-basic", "pre-mount" и "pre-switch-root".
- В следующем выпуске намечено прекращение поддержки каталога /run/lock/ и пакетного фильтра iptables (в systemd-networkd и systemd-nspawn останется только поддержка nftables). Также намечено повышение требований к минимальным версиям: ядро Linux 5.10, glibc 2.34, openssl 3.0.0, python 3.9.0.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63898
Выпуск среды рабочего стола GNOME 49
После шести месяцев разработки опубликован выпуск среды рабочего стола GNOME 49. Для быстрой оценки возможностей GNOME 49 предложены специализированные Live-сборки на основе openSUSE и установочной образ, подготовленный в рамках инициативы GNOME OS. GNOME 49 также уже включён в состав экспериментальных сборок Ubuntu 25.10 и Fedora 43.
В новом выпуске:
- По умолчанию задействован видеопроигрыватель Showtime, который теперь будет поставляться под именем GNOME Video Player вместо видеопроигрывателя Totem (GNOME Videos). Программа Showtime отличается минималистичным интерфейсом, отображаемым поверх содержимого и скрываемым во время просмотра. Поддерживаются типовые элементы управления, полноэкранный режим, изменение скорости воспроизведения, показ субтитров, переключение между звуковыми дорожками и вариантами субтитров, поворот изображения на экране и создание скриншотов. В отличие от Totem, использующего GTK 3, в Showtime применяются библиотеки GTK 4 и Libadwaita.
- В состав включён новый просмотрщик документов Papers, который поставляется под именем Document Viewer вместо Evince. Papers является форком Evince, созданным в прошлом году с целью существенной модернизации кодовой базы. Из ключевых отличий Papers отмечается портирование на библиотеку GTK4, задействование языка Rust при разработке, существенная модернизация оформления, повышение производительности и интеграция средств для заверения документов цифровой подписью. В остальном Papers близок по функциональности к Evince и также позволяет просматривать, искать и аннотировать документы в форматах PDF, DjVu, TIFF и архивах комиксов (CBR, CBT, CBZ, CB7). При этом в Papers прекращена поддержка формата DVI и платформы Windows, многие внутренние виджеты Evince заменены на стандартные виджеты GTK, прекращено использование фонового процесса papersd, убрана отдельная панель с инструментами для добавления аннотаций.
- Реорганизован интерфейс календаря-планировщика, который теперь может автоматически подстраиваться под имеющееся экранное пространство. Для более комфортной работы на небольших экранах и в режиме мозаичной компоновки окон добавлена возможность ручного скрытия боковой панели.
Реализована поддержка экспорта списка событий в файлы в формате ICS. Изменён визуальный стиль и повышена читаемость информации о событиях.
- В web-браузере Epiphany расширены средства блокировки рекламы, добавлена возможность подключения региональных списков блокировки. Улучшена адресная строка, в которой реализована поддержка дополнения ввода по месту и добавлена кнопка для приглушения звука. В узких окнах адресная строка перемещается вниз экрана. Расширена поддержка смарткарт. Добавлена отдельный диалог управления паролями. Добавлена возможность завершения или удаления (uninstall) web-приложения через меню. При поиске на странице появились опции для поиска с учётом регистра символов и поиска слов целиком. Добавлен новый режим редактирования закладок. Реализована поддержка спецификации OpenSearch для добавления поисковых движков.
- В программе для работы с картами GNOME Maps локализованы пиктограммы метро и железнодорожных станций. Реализованы интерактивные метки с названиями улиц и номерами домов, клик на которые приводит к показу информации о месте. В параметрах учётной записи обеспечен показ аватаров из профилей OpenStreetMap.
- Проведена оптимизация производительности менеджера приложений GNOME Software. Значительно сокращено потребление памяти и ускорена работа процесса разбора данных из крупных репозиториев, что ускорило работу с flatpak-каталогами, такими как Flathub.
- В композитном сервере Mutter улучшено управление цветом и поддержка HDR. Обеспечена возможность отрисовки обоев рабочего стола с 16-разрядной глубиной цвета на канал. Повышена производительность операций управления цветом в бэкенде загрузки изображений (Glycin).
Добавлен новый каталог обоев рабочего стола, специально разработанный для систем с экранами, поддерживающими расширенный диапазон яркости (HDR).
- Расширены средства для удалённой работы с рабочим столом. Появилась возможность добавления дополнительных виртуальных мониторов к сеансу удалённого доступа к рабочему столу GNOME для воссоздания многомониторных конфигураций даже если на исходной системе отсутствуют дополнительные реальные мониторы. Добавлена поддержка перенаправления мультитач событий от клиента к удалённому сеансу GNOME для работы при использовании на стороне клиента сенсорных экранов. Добавлена поддержка относительных координат для оценки перемещения мыши (востребовано в играх).
- На экране блокировки входа в систему обеспечено отображение элементов управления воспроизведением мультимедийного контента, что позволяет остановить воспроизведение или сменить композицию без разблокировки экрана.
- На экран входа в систему добавлено новое меню для управления средствами для людей с ограниченными возможностями.
- Переключатель режима "не беспокоить" перемещён из списка уведомлений в блок быстрых настроек.
- Улучшена реализация корзины.
- Реализована индикация подключения устройства к стационарному источнику питания, не привязанная к индикации состояния зарядки аккумулятора. Изменение позволяет определить работу от сети даже если зарядка приостановлена из-за включения режима продления срока службы аккумулятора.
- Добавлена возможность изменения яркости экрана через быстрые настройки при включении HDR.
- Добавлена настройка ("gsettings set org.gnome.desktop.screensaver restart-enabled"), позволяющая использовать кнопки перезагрузки и завершения работы на экране блокировки системы.
- Включена sandbox-изоляция загрузки изображений в GTK-приложениях.
- В коллекцию GNOME Circle добавлена игра Mahjongg и приложение для работы со словарями Wordbook.
- В состав принят инструментарий Mutter SDK (Mutter Development Kit), реализующий новый способ взаимодействия с композитным менеджером Mutter и оболочкой GNOME Shell. Mutter SDK даёт возможность запускать вложенный экземпляр GNOME Shell внутри GTK-приложения для упрощения тестирования Mutter и GNOME Shell в процессе разработки. Вложенные экземпляры Mutter и GNOME Shell выводят информацию на виртуальный монитор, привязываемый к текущему сеансу пользователя, отображаемый в окне приложения и поддерживающий эмуляцию событий сенсорного экрана. Для запуска отдельных экземпляров в mutter и gnome-shell добавлена опция "--sdk".
- В инструментарий для разработки приложений (GNOME SDK) включён компилятор blueprint-compiler, позволяющий использовать разметку Blueprint для определения интерфейса приложений. Blueprint упрощает создание интерфейса с использованием библиотеки GTK4 и отличается задействованием простого декларативного синтаксиса, повторяющего модель виджетов GTK, поддерживающего типовые шаблоны, типы и обработчики. В отличие от формата ui-файлов GTK в Blueprint не применяется разметка XML, которая воспринимается как перегруженная и неудобная для редактирования вручную.
- Усилена зависимость от systemd. В GDM задействована инфраструктура userdb, предоставляемая systemd. Удалена реализация собственного менеджера сервисов, который использовался в gnome-session в качестве запасного обработчика для запуска сервисов GNOME в окружениях без systemd.
- Библиотека Libadwaita обновлена до выпуска 1.8, в котором предложен новый класс AdwShortcutsDialog с реализацией диалога для навигации по доступным клавиатурным комбинациям.
- Библиотека GTK обновлена до версии 4.20, в которой реализована поддержка цветовых форматов YUV, переработана отрисовка символьных пиктограмм, добавлена поддержка медиа-запросов CSS для цветовой схемы, расширена поддержка Wayland.
- По умолчанию отключён сеанс X11. Поддержка X11 отключена в gnome-session, gdm, mutter и gnome-shell, но при желании она может быть возвращена на этапе сборки. Возможность запуска приложений, использующих X11, сохранена при помощи xwayland.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63897
Релиз StartWine-Launcher 411, программы для запуска Windows-приложений и игр в Linux
Опубликован выпуск приложения StartWine-Launcher 411, развиваемого для запуска в Linux-системах программ и игр, собранных для платформы Windows. Основной целью разработки StartWine-Launcher было упрощение процесса создания новичками префиксов Wine, - наборов библиотек и зависимостей Windows, необходимых для работы Windows-приложений в Linux. Код StartWine-Launcher написан на языке Python и распространяется под лицензией GPLv3. Интерфейс реализован на основе библиотеки GTK.
В новой версии:
- Обновлена резервная копия префикса по умолчанию.
- Обновлены конфигурации префиксов.
- Обновлён список версий Wine, dxvk и vkd3d.
- Обновлены библиотеки в utils.
- Исправлена опция DLSS.
- Исправлены вспомогательные функции в sw_runlib.
- Исправлена автоматическая установка Steam, Epic Games, Battle.net, HoYoPlay, Lesta Games, PopcoTime, Rockstar Games, Ubisoft, EVE Online и Wargaming.net.
- Удалены сообщения о режимах OpenGL и Vulklan.
- Добавлены цвета вывода в терминале.
- Проводник Wine теперь открывается в каталоге drive_c текущего префикса.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63893
Выпуск Java SE 25 LTS и OpenJDK 25
После шести месяцев разработки компания Oracle опубликовала платформу Java SE 25 (Java Platform, Standard Edition 24), в качестве эталонной реализации которой используется открытый проект OpenJDK. За исключением удаления некоторых устаревших возможностей в Java SE 25 сохранена обратная совместимость с прошлыми выпусками платформы Java - большинство ранее написанных Java-проектов без изменений будут работоспособны при запуске под управлением новой версии. Готовые для установки сборки Java SE 25 (JDK, JRE и Server JRE) подготовлены для Linux (x86_64, AArch64), Windows (x86_64) и macOS (x86_64, AArch64). Разработанная в рамках проекта OpenJDK эталонная реализация Java SE 25 полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath, разрешающими динамическое связывание с коммерческими продуктами.
Java SE 25 отнесён к выпускам с расширенным сроком поддержки, обновления для которого будут выпускаться до 2033 года (общедоступные обновления будут выходить до сентября 2030 года). В качестве ветки с длительным сроком поддержки (LTS) также продолжают сопровождаться ветки Java SE 17 и 21, обновления для которой будут выпускаться до 2029 и 2031 годов, соответственно (общедоступные - до 2026 и 2028 годов). Расширенная поддержка LTS-веток Java SE 8 и 11 продлится до 2030 и 2032 годов.
Среди предложенных в Java SE 25 новшеств (1, 2, 3, 4):
- Предложен компактный вариант оформления программ, который может оказаться полезным для обучения и при разработке небольших приложений. В компактной форме не требуется определение лишних классов, автоматически импортируются типовые API и доступны упрощённые методы ввода/вывода. Например, приложение "Hello, World!" можно свести к:
void main() {
IO.println("Hello, World!");
}
- Добавлена возможность использования одного выражения "import module M" для импорта сразу всех пакетов, экспортируемых указанным модулем. Изменение существенно упрощает повторное использование модульных библиотек, позволяя подключать библиотеки и классы без определения их места в иерархии пакетов. Например, указание "import module java.base" приведёт к импорту всех 54 пакетов, входящих в модуль java.base, которые ранее потребовалось бы упоминать по-отдельности ("import java.io.*", "import java.util.*" и т.п.).
- Добавлен генеративный режим работы сборщика мусора Shenandoah, при котором раздельно обрабатываются старые и недавно созданные объекты для повышения эффективности очистки объектов с небольшим временем жизни. Новый режим обеспечивает более предсказуемую пропускную способность, устойчивость к изменению нагрузки и снижение потребления памяти при сборке мусора. Планировщик Shenandoah нацелен на сокращение времени остановок во время сборки мусора за счёт проведения большего объёма работ параллельно с выполнением Java-приложений.
- Добавлен экспериментальный API StableValue для работы с объектами, содержащими неизменяемые данные и обрабатываемыми в JVM как константы. К подобным объектам применяются оптимизации производительности, аналогичные полям с ключевым словом "final". API StableValue, в отличие от "final", разделяет создание постоянных значений и их инициализацию, гарантирует, что значение может быть инициализировано только один раз, сокращает время запуска программ и позволяет применять в пользовательском коде оптимизации сворачивания констант (constant-folding), ранее использовавшиеся только во внутреннем коде JDK.
class Application {
// Было:
// static final UserService USERS = new UserService();
// Теперь можно:
static final StableValue‹UserService› USERS = StableValue.of();
public static UserService users() {
return USERS.orElseSet(UserService::new);
}
}
- Добавлен экспериментальный API для кодирования и декодирования объектов с криптографическими ключами, сертификатами и списками отозванных сертификатов, используя формат PEM (Pivacy-Enhanced Mail).
- Добавлена поддержка ограниченных значений (Scoped Values), позволяющих совместно использовать неизменяемые данные в потоках и эффективно обмениваться данными между дочерними потоками (значения наследуются). Scoped Values создан для замены механизма переменных локальных к потоку (thread-local variables) и более эффективен при использовании очень большого числа виртуальных потоков (тысячи и миллионы потоков). Главное отличие Scoped Values от переменных локальных к потоку в том, что первые записываются один раз, в дальнейшем не могут быть изменены и остаются доступны только на время выполнения потока.
- Добавлен API для использования криптографических функций формирования ключа (KDF, key derivation function), позволяющих сформировать дополнительные ключи необходимой длины на основе секретного ключа (например, пароля) и произвольного набора данных.
- Разрешено указание в конструкторах выражений перед вызовом super(...), используемом для явного вызова конструктора родительского класса из конструктора наследуемого класса, если эти выражения не ссылаются на создаваемый конструктором экземпляр.
class Outer {
void hello() {
System.out.println("Hello");
}
class Inner {
Inner() {
hello();
super();
}
}
}
- Упрощено создание кэша для упреждающей (Ahead-of-Time) загрузки и компоновки классов, позволяющего ускорить запуск HotSpot JVM за счёт задействования классов в уже загруженном и скомпонованном состоянии.
При запуске больше не требуется отдельных операций для записи активности и создания кэша, и достаточно одной команды:
java -XX:AOTCacheOutput=app.aot -cp app.jar com.example.App ...
- При старте HotSpot Java VM реализована возможность использования профилей выполнения методов, полученных при прошлом запуске приложения. Изменение позволяет JIT-компилятору обойтись без стадии накопления статистики и сразу начать генерировать нативный код без ожидания формирования профиля.
- В HotSpot JVM реализована поддержка компактных заголовков объектов, размер которых на 64-разрядных системах уменьшен с 96 до 64 бит (с 12 до 8 байт). Уменьшение размера заголовков позволяет сократить размер кучи и повысить эффективность работы кэша.
- Предложена тестовая реализация API Vector, предоставляющего функции для векторных вычислений, которые выполняются с использованием векторных инструкций процессоров x86_64 и AArch64 и позволяют одновременно применить операции сразу к нескольким значениям (SIMD). В отличие от предоставляемых в JIT-компиляторе HotSpot возможностей по автовекторизации скалярных операций, новый API даёт возможность явно управлять векторизацией для параллельной обработки данных.
- Предложен для тестирования пятый предварительный вариант API для cтруктурированного параллелизма (Structured Concurrency), упрощающего разработку многопоточных приложений за счёт обработки нескольких задач, выполняемых в разных потоках, как единого блока.
- В механизме сопоставления с образцом предложен третий предварительный вариант возможности использования примитивных типов (int, byte, char и другие базовые типы, не являющиеся объектами) во всех видах шаблонов, в операторе "instanceof" и в блоках "switch".
switch (x.getStatus()) {
case 0 -› "okay";
case 1 -› "warning";
case 2 -› "error";
case int i -› "unknown status: " + i;
}
if (i instanceof byte b) {
... b ...
}
- В JDK Flight Recorder (JFR) добавлена экспериментальная поддержка профилирования с более точным отслеживанием потребления ресурсов CPU на платформе Linux. Информация о времени выполнения различных конструкций может быть наглядно визуализирована с использованием цветных диаграмм "FlameGraph".
- В JDK Flight Recorder (JFR) при асинхронном сэмплировании стеков потоков Java повышена стабильность работы за счёт обхода стека вызовов только в "безопасных точках" (safepoints).
- В JDK Flight Recorder (JFR) добавлены средства трассировки и оценки времени выполнения методов.
Поддерживается трассировка стека вызовов конкретных методов и запись точной статистики о вызовах методов, охватывающей такие метрики, как время выполнения и количество вызовов.
- Удалён код и сборочные сценарии для поддержки 32-разрядных систем x86. Прекращение поддержки 32-разрядных систем x86 упростило инфраструктуру для сборки и тестирования JDK, а также позволило реализовывать возможности, завязанные на аппаратные платформы, без создания fallback-обработчиков для 32-битных систем x86.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63895
Самораспространяющийся червь поразил 187 пакетов в NPM
Атака на сопровождающих пакеты в репозитории NPM перешла на новый уровень. В дополнение к использованию вредоносного ПО для перехвата платежей и конфиденциальной информации атакующие перешли к внедрению в скомпрометированные пакеты червя для автоматизации подстановки вредоносного ПО в зависимости. Применение червя зафиксировано после компрометации NPM-пакета @ctrl/tinycolor, имеющего 2.2 млн еженедельных загрузок и задействованного в качестве прямой зависимости в 964 пакетах. В результате активности червя атака охватила 187 пакетов, для которых были сформированы вредоносные выпуски (477 вредоносных релизов).
В ходе новой атаки после получения параметров учётной записи сопровождающего в результате фишинга, атакующие публикуют релиз пакета с червём, который активируется при установке скомпрометированного пакета в числе зависимостей. После активации червь осуществляет поиск учётных данных в текущем окружении, загружая и запуская утилиту TruffleHog. В случае обнаружения токена подключения к каталогу NPM червь автоматически публикует новый вредоносный релиз и по цепочке поражает дерево зависимостей. Помимо токена доступа к NPM червь сохраняет ключи доступа к GitHub и облачным сервисам AWS, Azure и GCP (Google Cloud Platform), а также другие конфиденциальные данные, которые способен обнаружить сканер TruffleHog.
Вредоносные релизы формируются для 20 наиболее популярных пакетов, к которым имеет доступ найденный NPM-токен. Функциональность публикации релиза реализована в форме функции NpmModule.updatePackage, которая загружает исходный архив пакета, изменяет номер версии и добавляет postinstall-хук в файл package.json, подставляет обработчик bundle.js, переупаковывает пакет и публикует его. Поддерживается работа в Linux и macOS.
Червю присвоено кодовое имя Shai-Hulud (гигантский червь, упоминаемый в романе Дюна). Найденные в системе учётные данные размещаются в GitHub через создание репозиториев с именем Shai-Hulud (например, "B611/Shai-Hulud"), а также в закодированном виде отражаются в логах GitHub Actions. В создаваемом репозитории размещается файл data.json, в котором присутствует строка с закодированной методом base64 информацией о системе, переменных окружения и перехваченных ключах доступа. В CI на базе GitHub для передачи информации на внешний хост червь создаёт обработчик GitHub Actions (.github/workflows/shai-hulud-workflow.yml). Судя по всему, атака не ограничивается упомянутыми 187 пакетами, так как на GitHub продолжают появляться новые репозитории с именем Shai-Hulud и файлом data.json.
Среди прочего, в результате активности червя поражёнными оказались 25 пакетов компании CrowdStrike, развивающей инструменты для защиты от атак через зависимости (Supply Chain). По заявлению CrowdStrike скомпрометированные пакеты не использовались в платформе Falcon и атака не распространилась на клиентов. Также стало известно, что прошлая волна публикации вредоносных релизов в NPM, осуществлявшаяся без червя, затронула проект gemini-cli, развиваемый компанией Google.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63894
Релиз Firefox 143
Состоялся релиз web-браузера Firefox 143 и сформированы обновления прошлых веток с длительным сроком поддержки - 140.3.0 и 115.28.0. На стадию бета-тестирования переведена ветка Firefox 144, релиз которой намечен на 14 октября.
Основные новшества в Firefox 143 (1, 2, 3):
- Добавлена возможность закрепления вкладок в форме постоянно видимых ярлыков через перетаскивание вкладки мышью в начало панели вкладок, без необходимости использования контекстного меню. Для открепления вкладки также достаточно переместить закреплённый ярлык в основную область вкладок.
- При запросе сайтом полномочий для доступа к камере реализована возможность предпросмотра выводимой камерой картинки в диалоге подтверждения операции. Предпросмотр может быть полезен чтобы удостовериться в выборе нужного устройства в системах с несколькими камерами.
- В настройки добавлена опция для удаления файлов, загруженных в режиме приватного просмотра (Private Browsing), после закрытия окна. После закрытия окна приватного просмотра выводится запрос, в котором можно удалить или сохранить загруженные файлы.
- Добавлена поддержка показа в адресной строке важных дат и событий.
Возможность пока включена для показа событий, таких как день матери, пользователям из США, Великобритании, Германии, Франции и Италии.
- Расширены возможности режима для защиты от скрытой идентификации пользователя (Fingerprinting Protection). Обеспечен возврат постоянных значений для параметров, которые могут применяться как дополнительный признак для идентификации. Например, из списка доступных шрифтов исключены локально установленные не системные шрифты.
- Добавлена поддержка воспроизведения звука в формате xHE-AAC (Extended High-Efficiency AAC, стандарт ISO/IEC 23003-3), который используется в потоковом вещании Netflix. Кодек xHE-AAC пока доступен только на платформах Windows 11 22H2+, macOS и Android 9+.
- В контекстное меню добавлена опция для поиска изображений через сервис Google Lens.
- В адресную строку добавлена поддержка вывода контекстных подсказок с информацией о стоимости акций и других ценных бумаг с фондового рынка.
- В список AI-чатботов, интегрируемых в боковую панель, добавлен Microsoft Copilot.
- В сборки для платформы Windows добавлена возможность работы с сайтами, как с web-приложениями, закреплёнными в панели задач. Кроме того, реализована поддержка API Windows UI Automation для улучшения инструментов для людей с ограниченными возможностями.
- В инструментах для web-разработчиков реализована настройка для отключения группировки похожих сообщений в web-консоли. В отладчике прекращено открытие новых вкладок для отформатированного контента после переключения между режимами неизменного и отформатированного показа исходного кода.
- Обновлён алгоритм вычисления размера элементов в CSS Grid, более точно соответствующий спецификации и обеспечивающий корректную отрисовку раскладок CSS Grid, в которых используется задание размера строк в процентах или имеются элементы с выставленным соотношением сторон.
- В элементах ‹input type=color› реализована возможность использования расширенных вариантов задания цветов, таких как "rgb(200 200 200)", помимо шестнадцатеричного формата (#ffffff).
- Убраны ограничения, не позволявшие выставлять CSS-свойства "display" для HTML-элементов "‹details›". В CSS добавлен псевдоэлемент "::details-content" для настройки оформления сворачиваемого и раскрываемого блока.
- В версии для платформы Android добавлена настройка для включения DoH (DNS over HTTPS) и упрощён интерфейс для управления загрузками.
Кроме новшеств и исправления ошибок в Firefox 143 устранено 16 уязвимостей. 8 уязвимостей вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63880
Выпуск fheroes2 1.1.11, открытого движка Heroes of Might and Magic 2
Доступен выпуск проекта fheroes2 1.1.11, который воссоздаёт движок игры Heroes of Might and Magic II с нуля. Код проекта написан на C++ и распространяется под лицензией GPLv2. Для запуска игры требуются файлы с игровыми ресурсами, которые можно получить из оригинальной игры Heroes of Might and Magic II. В составе проекта поставляется скрипт для автоматической загрузки и извлечения ресурсов из демоверсии игры, которых достаточно для полноценной работы.
Основные изменения:
- В редакторе карт появилась возможность задавать обязательные заклинания в гильдиях магов городов и замков.
- Добавлена функция ограничения набора заклинаний, доступных в гильдиях магов.
- Для объекта "Случайное существо" реализована функция запрета появления определённых существ из общего списка.
- В окно объявления недели добавлена иконка соответствующего существа.
- При взаимодействии с водоворотом игрок обязан расходовать очки передвижения, как это реализовано в оригинальной игре. Использование пробела теперь не возможно.
- В бою при наведении курсора на иконки существ в строке порядка действий подсвечиваются соответствующие отряды на поле.
- В справочном окне для кнопки улучшения существа отображается стоимость этого действия.
- Закрыто свыше 40 уведомлений об ошибках и предложений по улучшению проекта.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63892
Phoenix - атака на чипы DDR5, приводящая к искажению содержимого памяти
Исследователи из Швейцарской высшей технической школы Цюриха совместно с инженерами из компании Google разработали новую технику атаки класса Rowhammer - Phoenix (CVE-2025-6202), позволяющую обойти применяемый в чипах DDR5 механизмы защиты TRR (Target Row Refresh), предотвращающий искажение ячеек памяти из-за потери заряда. Опубликован прототип эксплоита, позволяющий изменить содержимое определённого бита в оперативной памяти и добиться повышения своих привилегий в системе. Демонстрация атаки проведена на ПК с процессором AMD на базе микроархитектуры Zen 4 и DDR5-памятью SK Hynix, на котором выполнялись типичные для десктопа задачи.
Атака RowHammer позволяет исказить содержимое отдельных битов памяти DRAM путём цикличного чтения данных из соседних ячеек памяти. Так как память DRAM представляет собой двухмерный массив ячеек, каждая из которых состоит из конденсатора и транзистора, выполнение непрерывного чтения одной и той же области памяти приводит к флуктуации напряжения и аномалиям, вызывающим небольшую потерю заряда соседних ячеек. Если интенсивность чтения большая, то соседняя ячейка может потерять достаточно большой объём заряда и очередной цикл регенерации не успеет восстановить её первоначальное состояние, что приведёт к изменению значения сохранённых в ячейке данных.
Метод атаки Rowhammer был предложен в 2014 году, после чего между исследователями безопасности и производителями оборудования началась игра в "кошки-мышки" - производители чипов памяти пытались блокировать уязвимость, а исследователи находили новые способы её обхода. Например, для защиты от RowHammer производители чипов добавили механизм TRR (Target Row Refresh), но оказалось, что он блокирует искажение ячеек лишь в частных случаях, но не защищает от всех возможных вариантов атаки. Методы атаки были разработаны для чипов DDR3, DDR4 и DDR5 на системах с процессорами Intel, AMD и ARM, а также для видеопамяти, применяемой в видеокартах NVIDIA. Более того, были найдены способы обхода коррекции ошибок ECC и предложены варианты совершения атаки по сети и через выполнение JavaScript-кода в браузере.
Ключевым фактором для обхода защиты от искажения ячеек памяти в DRAM является понимание логики работы механизма TRR, который в основном полагается на скрытие деталей реализации и принцип "безопасность через неясность (security by obscurity). Для определения логики работы и проведение обратного инжиниринга исследователями созданы специальные платы на базе FGPA Arty-A7 и ZCU104, позволяющие тестировать модули DDR5-памяти SO-DIMM и RDIMM, выявлять шаблоны обращения к ячейкам памяти, определять какие низкоуровневые DDR-команды передаются после программных операций с памятью и анализировать реакцию на них.
Оказалось, что защита в проанализированных чипах DDR5 реализована без дополнительных команд управления частотой обновления памяти и полагается на схемы с вариативной частотой перезарядки ячеек. Для успешного проведения Rowhammer-атаки в этих условиях требуется точное отслеживание тысяч операция обновления ячеек. В таких условиях ранее существующие методы атаки Rowhammer оказались неприменимы и исследователями был разработан новый метод, осуществляющий самокоррекцию шаблонов доступа по мере выявления пропущенных операций обновления памяти во время проведения атаки.
Метод оказался эффективен и при проведении тестов позволил добиться контролируемого искажения бита памяти на всех из 15 протестированных чипах DDR5 от компании SK Hynix (занимает 36% рынка DRAM), произведённых с конца 2021 по конец 2024 года. Искажения одного бита оказалось достаточным для создания эксплоита, позволяющего получить root-доступ в системе при проведении атаки на системе с CPU AMD Ryzen 7 7700X и памятью SK Hynix DDR5 в течении 109 секунд. Для блокирования предложенного метода атаки рекомендовано увеличить частоту обновления памяти в три раза.
В качестве методов эксплуатации, позволяющих добиться получения прав root через искажение одного бита, рассмотрены следующие техники: изменение содержимого записей в таблице страниц памяти (PTE, page table entry) для получения привилегии ядра; повреждение хранящегося в памяти открытого ключа RSA-2048 в OpenSSH (можно привести открытый ключ в чужой виртуальной машине к соответствию закрытому ключу атакующего для подключения к VM жертвы); обход проверки полномочий через модификацию памяти процесса sudo. Метод с PTE оказался работоспособен для всех 15 протестированных чипов, атаку через RSA удалось провести для 11 чипов, а через sudo - для 5.
В эксплоите для размещения таблиц страниц памяти в выбранных ячейках DRAM задействована техника Rubicon, раскрытая одновременно с рассматриваемой атакой Phoenix. Rubicon манипулирует особенностями оптимизации в системе распределения памяти ядра Linux и позволяет добиться выделения памяти в областях с другим значением "migratetype", зарезервированных для привилегированных операций. Наличие проблемы подтверждено в ядрах Linux начиная с 5.4 и заканчивая 6.8, но теоретически уязвимость охватывает все ядра с механизмом выделения памяти Zoned Buddy Allocator.
Помимо упрощения совершения атак класса Rowhammer, техника
Rubicon также применима для повышения эффективности микроархитектурных атак, таких как Spectre, и упрощения определения места размещения в памяти секретных данных, которые требуется извлечь через утечки при спекулятивном выполнением инструкций. Rubicon позволяет обойтись без длительной стадии сканирования памяти и определения файлов, таких как
/etc/shadow. Вместо этого можно немедленно начать эксплуатацию микроархитектурных уязвимостей, благодаря предопределённому размещению файла по известному физическому адресу. Например, применение метода Rubicon позволило ускорить утечку данных на системе с CPU Intel i7-8700K c 2698 до 9.5 секунд (в 284 раза), а на CPU AMD EPYC 7252, c 189 до 27.9 секунд (в 6.8 раз).
<iframe src="https://www.youtube.com/embed/1emxVQ6__qg?si=jzpx7Lq7LmgwUW6o">
Тем временем, другая группа исследователей из Университета Джорджа Мейсона, продемонстрировала применимость атак класса Rowhammer для компрометации AI-систем. Исследователями предложен метод OneFlip, позволяющий точечно изменить поведение AI-моделей через искажение в памяти 1 бита информации. Доступен пример кода для подстановки троянского изменения в нейронную сеть.
Показано как изменение одного бита можно использовать для искажения работы модели автопилота для изменения интерпретации дорожного знака "Стоп" в знак "Ограничение скорости". Так же рассмотрено использование метода для обхода систем распознавания лиц. Для моделей, хранящих весовые коэффициенты в форме 32-разрядных целых чисел, успешность проведения атаки оценивается в 99.9% без влияния на исходные характеристики модели.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63891
Альянс AOMedia анонсировал видеокодек нового поколения AV2
Альянс Open Media (AOMedia), курирующий разработку формата кодирования видео AV1, анонсировал публикацию в конце года открытого стандарта и эталонной реализации для нового формата кодирования видео AV2. Новый стандарт рассматривается не только как продолжение развития видеокодека AV1, но и как основа будущего технологического стека AOMedia. Разработка AV2 ведётся уже несколько лет и первая предварительная реализация была предложена два года назад и вошла в состав выпуска библиотеки
libavif 1.0.
Как и AV1 новый формат кодирования видео не требует оплаты отчислений и основан на технологиях, патентах и интеллектуальной собственности участников альянса AOMedia, которые передают пользователям AV2 лицензию на безвозмездное использование своих патентов. В число участников AOMedia входят такие компании, как Google, Microsoft, Apple, Mozilla, Facebook, Amazon, Intel, IBM, AMD, ARM, Samsung, Adobe, Broadcom, Realtek, Vimeo, Cisco, NVIDIA, Netflix и Hulu. Применяемая в AOMedia модель лицензирования патентов напоминает подход организации W3C, используемый для создания не требующих отчисления Web-технологий.
Из особенностей AV2 отмечается оптимизация для применения в потоковом вещании, значительное улучшение по сравнению с AV1 производительности операций сжатия, расширенная поддержка возможностей для виртуальной и дополненной реальности, поддержка более широкого диапазона визуального качества. Также отмечается появление средств для одновременной доставки нескольких видео в рамках одного видеопотока, с возможностью их раздельного отображения на экране.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63889
AMD прекратил разработку Vulkan-драйвера AMDVLK в пользу драйвера RADV из Mesa
Инженеры из компании AMD объявили о прекращении разработки проекта AMDVLK, развивавшего открытый драйвер для графического API Vulkan, построенный поверх библиотеки AMD PAL (Platform Abstraction Library), абстрагирующей доступ к аппаратному обеспечению и интерфейсам операционной системы. Изначально AMDVLK был создан компанией AMD для проприетарного набора драйверов AMDGPU-PRO, но затем был переведён в разряд открытых проектов.
Параллельно силами сообщества c 2016 года развивался изначально открытый драйвер RADV, входящий в основной состав Mesa. Прекращение работы над AMDVLK объясняется новой стратегией унификации драйверов Vulkаn, в рамках которой компания AMD сосредоточит внимание на разработке единой высокопроизводительной кодовой базы и обеспечит полную официальную поддержку драйвера RADV.
Дэвид Эйрли (David Airlie), мэйнтейнер подсистемы DRM (Direct Rendering Manager) в ядре Linux и сооснователь драйвера RADV, приветствовал решение AMD и выразил надежду, что компания предоставит дополнительные инженерные ресурсы для развития проекта RADV и станет делиться информацией о технических деталях. Драйвер AMDVLK был представлен в 2017 году, когда RADV уже поставлялся в большинстве дистрибутивов Linux. За прошедшие годы AMDVLK так и не смог получить должного распространения и ограничивался поставкой в отдельно публикуемых наборах драйверов от AMD из-за сложности опакечивания в дистрибутивах и проблематичности передачи изменений в проект (AMDVLK разрабатывался внутри AMD с публикацией открытых релизов после их готовности).
При этом кодовая база AMDVLK приносила пользу сообществу, так как использовалась разработчиками RADV в качестве источника информации для уточнения технических деталей о работе GPU AMD и методах обхода специфичных проблем. По мнению Дэвида Эйрли, проект RADV стал демонстрацией того, что сообщество способно подготовить качественные драйверы, способные конкурировать с драйверами от производителя оборудования. Теперь производитель оборудования официально признал преимущество независимого открытого проекта и переключился на его использование.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63890
Джонатан Риддел прекратил участие к разработке KDE
Джонатан Риддел (Jonathan Riddell) объявил об уходе из числа разработчиков KDE. Джонатан был вовлечён в разработку KDE с 2000 года. Также он известен как создатель дистрибутива KDE Neon и бывший лидер проекта Kubuntu. Решения принято из-за разногласий, возникших при обсуждении вопросов распределения прибыли, прав работников и структуры управления в компании Tech Paladin, созданной бывшими сотрудниками Blue Systems после закрытия данной компании. Джонатан написал, что он потерял друзей, коллег, работу, карьеру и семью, пытаясь сделать что-то хорошее для сообщества, и теперь попробует в себя в роли цифрового кочевника, сёрфящего на волне на краю света.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63888
Выпуск мобильной платформы /e/OS 3.1
Представлен выпуск мобильной платформы /e/OS 3.1, сфокусированной на конфиденциальности пользовательских данных. Платформа основана Гаэлем Дювалем (Gaël Duval), создателем дистрибутива Mandrake Linux. Проект поддерживает 253 модели смартфонов и формирует сборки прошивок для наиболее популярных из них. На базе смартфонов OnePlus, Fairphone, Teracube и Pixel подготовлены собственные редакции устройств, распространяемые с предустановленной прошивкой /e/OS под брендами Murena One, Murena 2, Murena Fairphone 4/5, Murena Teracube 2e, Murena Pixel 5/7 и Murena SHIFTphone 8.
Прошивка /e/OS развивается как ответвление от платформы LineageOS (на базе Android), избавленное от привязки к сервисам и инфраструктуре Google для исключения передачи телеметрии на серверы Google и повышения уровня конфиденциальности. Среди прочего, блокируется и неявная отправка информации, например, обращения к серверам Google при проверке доступности сети, резолвинге DNS и определении точного времени.
В поставку входит пакет microG, предлагающий независимые аналоги сервисов Google, что позволяет обойтись без установки проприетарных компонентов. Для определения местоположения по Wi-Fi и базовым станциям (без GPS) прослойка UnifiedNlp, способная работать через BeaconDB, OpenWlanMap, openBmap, OpenCellID, lacells.db и другие альтернативные сервисы. Вместо поисковой системы Google предлагается метапоисковый сервис Murena Find на основе поискового движка Qwant.
метапоисковый сервис на основе форка движка Searx, анонимизирующий отправляемые запросы.
Для синхронизации точного времени вместо обращения к NTP-серверу Google запросы отправляются на серверы из коллекции NTP Pool, а вместо DNS-серверов Google (8.8.8.8) используются DNS-серверы текущего провайдера. В web-браузере по умолчанию включён блокировщик рекламы и скриптов для отслеживания перемещений. Для синхронизации файлов и данных приложений разработан собственный сервис, совместимый с инфраструктурой на основе Nextcloud. Серверные компоненты основаны на открытом ПО и доступны для установки на подконтрольных пользователю системах.
Интерфейс пользователя включает собственное окружение для запуска приложений BlissLauncher, улучшенную систему уведомлений, новый экран блокировки и иное стилевое оформление. В BlissLauncher задействован разработанный для /e/OS набор автоматически масштабируемых пиктограмм и отдельная подборка виджетов (например, виджет для показа прогноза погоды).
Проектом также развивается собственный менеджер аутентификации, позволяющий использовать для всех сервисов единую учётную запись (user@murena.io), регистрируемую в процессе первой установки. Учётную запись можно использовать для получения доступа к своему окружению с других устройств или через Web. В облаке Murena Cloud бесплатно предоставляется 1ГБ для хранения своих данных, синхронизации приложений и резервных копий.
Среди входящих в состав приложений: почтовый клиент Mail (форк K9-Mail), web-браузер Cromite, (на базе Chromium), программа для работы с камерой OpenCamera, программа для отправки мгновенных сообщений QKSMS, система для ведения заметок nextcloud-notes, PDF-просмотрщик MJ PDF, планировщик opentasks, программа для работы с картами Magic Earth, галерея фотографий gallery3d, файловый менеджер, каталог приложений App Lounge.

Основные изменения в /e/OS 3.1:
- Для смартфоров Fairphone включены по умолчанию VoLTE и передача данных через сеть мобильного оператора (VoWiFi остаётся отключённым по умолчанию). В приложении для камеры реализована возможность создания фотографий с разрешением до 50 мегапикселей и улучшено качество звука в видеозаписях. Улучшена совместимость со сторонними приложениями. Добавлена поддержка установки платформы /e/OS через инсталлятор.
- В функции автоматического создания на лету субтитров к видео ("Live Caption") реализована поддержка изменения местоположение текста.
- Перенесены обновления и исправления из платформы LineageOS 22.2, основанной на кодовой базе Android 15 (/e/OS 3.0 базировался на LineageOS 20/Android 13).
- В web-браузере движок обновлён до Chromium 138.
- Пакет microG обновлён до версии 0.3.8.250932.
- Добавлена возможность использования в /e/OS приложений
Revolut, Yuh, web.de, GMX и Yuka.
Дополнительно доступен для заказа новый смартфон Murena SHIFTphone 8, представляющий собой клон SHIFTphone 8, поставляемый с /e/OS. Смартфон примечателен модульным дизайном (состоит из 18 заменяемых компонентов) и наличием аппаратного выключателя камеры и микрофона.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63887
Библиотека libxml2 осталась без сопровождающего
Ник Велнхофер (Nick Wellnhofer) объявил об уходе с поста сопровождающего библиотеку libxml2. Ник принимал участие в разработке libxml2 с 2016 года, был добавлен в число сопровождающих в 2022 году и с того времени оставался практически единственным активным разработчиком. После ухода Ника проект остался без сопровождения.
Библиотека libxml2 используется в операционных системах и продуктах компаний Apple, Google и Microsoft. Из открытых пакетов, упоминающих libxml2 в числе зависимостях, можно отметить GNOME, Xfce, Mate, Cinnamon, Budgie, LibreOffice, Epiphany, libvirt, BIND, VirtualBox, lldb, Flatpak, Evolution, clang-tools, xsltproc, PostgreSQL, Pacemaker, Apache httpd, Zypper, Scribus.
В июне Ник Велнхофер снял с себя полномочия сопровождающего библиотеку libxslt и отказался от особого отношения к устранению уязвимостей - стал трактовать уязвимости в libxml2 как обычные ошибки, рассматриваемые по мере появления свободного времени. Ник также раскритиковал предъявление компаниями дополнительных требований к сопровождающим-волонтёрам, работающим без компенсации.
Перед объявлением об уходе Ник опубликовал релиз libxml2 2.15.0 и пообещал исправлять в нём регрессивные изменения до конца года. В новой версии по умолчанию отключены по умолчанию обвязки для языков Python и Schematron. Чтения сжатых данных в парсере теперь возможно только при указании опции XML_PARSE_UNZIP. Код сериализации HTML и обработки кодировок символов приближен к требованиям спецификации HTML5. Осуществлён переход на генерацию документации по API при помощи инструментария Doxygen.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63886
Утечка документации и кода, связанного с работой Великого китайского фаервола
В открытый доступ попало около 600 ГБ данных, связанных с работой Великого китайского фаервола (GFW, Great Firewall of China), применяемого для фильтрации интернет-трафика в КНР. В архиве присутствует около 500 ГБ rpm-пакетов из закрытого репозитория repo.geedge.net, разнообразная документация по работе и устройству, а также сжатые (zstd) архивы с содержимым git-репозитория с кодом (63 ГБ, включая код DPI-систем для инспектирования трафика), документацией (50 ГБ, более 100 тысяч документов) и записями из системы отслеживания ошибок Jira (2.7 ГБ). Информация доступна для загрузки напрямую или через торренты.
Ведётся работа по анализу полученной в ходе утечки документации и кода. Доступен первый отчёт с основными выводами, в основном связанными с деятельностью по внедрению GFW в других странах, территориальному распределению инфраструктуры для блокировки трафика в КНР и общей информацией об организации блокировки сайтов и VPN, а также урезании полосы пропускания, отслеживании TLS-севнсов, выявления скрытых туннелей и мониторинга активности пользователей.
Данные получены в ходе утечки информации из компании Geedge Networks и лаборатории MESA Lab при Институте информационной инженерии Китайской академии наук, занимавшихся поставкой и разработкой решений на базе GFW. Помимо КНР, системы инспектирования трафика, использующие технологии GFW, были внедрены в Мьянме, Пакистане, Казахстане и Эфиопии.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63884
Выпуск Cloud Hypervisor 48 с запретом принятия кода, сгенерированного AI
Представлен релиз гипервизора Cloud Hypervisor 48.0, созданного на основе компонентов проекта Rust-VMM, развиваемого при участии Intel, Alibaba, Amazon, Google и Red Hat. Rust-VMM написан на языке Rust и позволяет создавать специфичные для определённых задач гипервизоры. Cloud Hypervisor является одним из таких гипервизоров, который предоставляет высокоуровневый монитор виртуальных машин (VMM), работающий поверх KVM и оптимизированный для решения задач, свойственных для облачных систем. Код проекта доступен под лицензиями Apache 2.0 и BSD.
Гипервизор изначально был создан компанией Intel и переведён под покровительство организации Linux Foundation, после чего к разработке подключились компании Alibaba, AMD, Ampere, ARM, ByteDance, Cyberus Technology, Microsoft и Tencent Cloud.
Cloud Hypervisor cфокусирован на запуске современных дистрибутивов Linux с использованием паравиртуализированных устройств на базе virtio. Из ключевых задач упоминается: высокая отзывчивость, низкое потребление памяти, высокая производительность, упрощение настройки и сокращение возможных векторов для атак. Имеется возможность прямой загрузки ядра ОС без промежуточных загрузчиков, что позволяет очень быстро запускать виртуальные машины (до передачи управления приложениям в пространстве пользователя проходит менее 100 мс).
Поддержка эмуляции сведена к минимуму и ставка делается на паравиртуализацию. Проектом поддерживаются архитектуры x86_64, AArch64 и RISC-V. Из гостевых систем поддерживается 64-разрядные сборки Linux и Windows 10/Windows Server 2019, а также предусмотрена возможность использования Cloud Hypervisor для запуска контейнеров в виртуальных машинах при помощи инструментария Kata Containers. Настройка CPU, памяти, PCI и NVDIMM производится на этапе сборки. Предусмотрена возможность live-миграции виртуальных машин между серверами и управления жизненным циклом виртуальных машин при помощи HTTP API.
В новой версии:
- Введены правила применения AI-инструментов при разработке, запрещающие принятие кода, сгенерированного с использованием больших языковых моделей и AI-ассистентов, таких как ChatGPT, Gemini, Claude и GitHub Copilot. В качестве причины называется желание избежать неоднозначности с соблюдением лицензионных требований (AI обучен обучен на коде под различными лицензиями и генерируемый код потенциально может трактоваться как производная работа). Запрет AI также обусловлен желанием снизить нагрузку на сопровождающих, избавив их от разбора неосмысленных исправлений, созданных с использованием AI.
- Добавлена экспериментальная поддержка устройства fw_cfg (Firmware Configuration), позволяющего передавать из хост-окружения в гостевую систему файлы и настройки, такие как конфигурация загрузки виртуальной машины,
информация о раскладке памяти в системе и таблицы ACPI.
- Добавлена экспериментальная поддержка устройства ivshmem для организации совместного доступа нескольких гостевых систем к общей области памяти.
- Добавлена поддержка загрузки систем RISC-V через передачи управления прошивке (Firmware Boot) вместо прямого запуска ядра ОС.
- Для хостов x86_64, использующих гипервизор KVM, лимит на число доступных виртуальных процессоров (vCPU) повышен с 254 до 8192.
- В устройстве virtio-blk добавлена оптимизация, использующая группировку и обработку в пакетном режиме асинхронных запросов ввода/вывода. Изменение позволило повысить производительность работы с блоками небольшого размера (‹=16КБ).
- Ускорено выполнение операции приостановки работы виртуальных машин, которое особенно заметно в виртуальных машинах с большим числом vCPU.
- Добавлена документация по запуску под управлением Cloud Hypervisor гостевых систем с Windows 11.
- Прекращена поддержка технологии Intel SGX (Software Guard Extensions).
Источник: https://www.opennet.ru/opennews/art.shtml?num=63881
Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си
После полутора лет разработки подготовлен выпуск проекта PortableGL 0.99, развивающего программную реализацию графического API OpenGL 3.x, написанную целиком на языке Си. Теоретически PortableGL может быть использован в любых приложениях, принимающих текстуру или фреймбуфер в качестве входных данных. Код оформлен в виде одного заголовочного файла и распространяется под лицензией MIT.
Проектом определены такие цели, как переносимость, соответствие API OpenGL, простота использования, простой код и высокая производительность. Из областей применения упоминаются обучение концепциям построения графических API, использование для работы с 3D-графикой на системах без GPU и интеграция поддержи OpenGL в специфичные операционные системы, для которых не перенесён пакет Mesa3D. Из готовых проектов, использующих PortableGL, отмечается порт Minecraft-подобной игры Craft.
В новой версии продолжено наращивание функций и возможностей OpenGL, реализована поддержка вызовов glColorMask() и glDebugMessageCallback(), добавлен макрос PGL_UNSAFE для отключения проверки ошибок, добавлен макрос PGLDEF для определения прототипов атрибутов, переработано использование OpenGL-типов в публичном API.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63879
Язык Perl поднялся с 27 на 10 место в рейтинге Tiobe
Компания TIOBE Software опубликовала сентябрьский рейтинг популярности языков программирования. Выпуск примечателен значительным ростом популярности языка Perl, который за год поднялся с 27 на 10 место рейтинга. В феврале индекс популярности Perl составлял 0.49%, после чего начался его рост до 0.7% в марте, 0.9% в апреле, 1.2% в мае, 1.47% в июне, 1.76% в июле и достиг 2.08% в августе.
Причины роста популярности Perl не ясны, никаких значимых событий, связанных с данным языком, кроме очередного ежегодного релиза Perl 5.42, в этом году не происходило. По предположению руководителя TIOBE высокая позиция в рейтинге связана с большим числом книг по Perl, продаваемых в интернет-магазине Amazon (например, число книг по Perl в 4 раза превышает PHP и в 7 раз Rust).
Также упоминается учащение публикации промежуточных релизов Perl 5 и вытеснение Perl 6/Raku из поля зрения (Perl 6 занимает 129 место). Из гипотез также отмечается возвращение интереса к языку Perl из-за его возможностей обработки текста и продвинутых регулярных выражений, что стало востребовано с развитием AI-платформ. Пик популярности Perl пришёлся на март 2003 года, когда данный язык поднялся на 3 место в рейтинге, после чего началось постепенное снижение популярности Perl.
Из других набирающих популярность языков выделяется язык Си, который по сравнению с сентябрём прошлого года поднялся на 3 место, вытеснив на 4 место язык Java. Кроме того, с 11 на 9 место поднялся язык Pascal, с 15 на 13 - R, с 26 на 14 - Ada, с 21 на 17 - Assembler. Первое и второе места продолжают занимать Python и С++. Кроме Java популярность снизилась у языков SQL (с 9 на 11 место), Fortran (10 → 12), PHP (13 → 15), Rust (14 → 18), Matlab (12 → 19) и Kotlin (18 → 20).
Индекс популярности TIOBE строит свои выводы на основе анализа статистики поисковых запросов в таких системах, как Google, Bing, Wikipedia, Amazon, YouTube и Baidu.
В сентябрьском рейтинге PYPL, в котором используется Google Trends, за год языки C/C++ вытеснили JavaScript с 3 на 4 место, на 4 позиции выросла популярность Objective-C, на три - Ada, на две - Ruby, Lua, Julia и Pascal. Perl поднялся с 28 на 27 место, а Rust с 10 на 9 место. На 4 позиции снизилась популярность Groovy, на три - VBA и TypeScript, на две - Kotlin, Dart и Scala.
В 2025 году также обновлён рейтинг RedMonk, построенный на основе оценки популярности на GitHub и активности обсуждений на Stack Overflow, двадцатка лидеров выглядит следующим образом (по сравнению с прошлым годом CSS снизился на позицию, а C++ поднялся):
1 JavaScript
2 Python
3 Java
4 PHP
5 C#
6 TypeScript
7 C++
8 CSS
9 Ruby
10 C
11 Swift
12 Go
12 R
14 Shell
15 Kotlin
16 Scala
17 Objective-C
18 PowerShell
19 Rust
20 Dart
Рейтинг IEEE Spectrum в 2025 году пока не обновлялся.
Рейтинг IEEE Spectrum подготовлен Институтом инженеров электротехники и электроники (IEEE) и учитывает сочетание 12 метрик, полученных от 10 различных источников (в основе метода заложена оценка результатов поиска по запросу "{название_языка} programming", анализ упоминаний в Twitter, число новых и активных репозиториев в GitHub, число вопросов в Stack Overflow, число публикаций на сайтах Reddit и Hacker News, вакансии на CareerBuilder и EEE Job Site, упоминания в цифровом архиве журнальных статей и докладов с конференций). Распределение популярности за прошлый год:
Источник: https://www.opennet.ru/opennews/art.shtml?num=63878
Выпуск библиотеки Libadwaita 1.8 для создания интерфейсов в стиле GNOME
Проект GNOME опубликовал выпуск библиотеки Libadwaita 1.8, включающей набор компонентов для стилевого оформления интерфейса пользователя, соответствующего рекомендациям GNOME HIG (Human Interface Guidelines). Библиотека включает в себя готовые виджеты и объекты для построения приложений, соответствующих общему стилю GNOME, интерфейс которых может адаптивно подстраиваться под экраны любого размера. Код библиотеки написан на языке Си и распространяется под лицензией LGPL 2.1+.
Библиотека libadwaita используется в сочетании с GTK4 и включает компоненты используемой в GNOME темы оформления Adwaita, которые были вынесены из GTK в отдельную библиотеку. Вынос элементов визуального оформления GNOME в отдельную библиотеку позволяет развивать необходимые для GNOME изменения отдельно от GTK, что даёт возможность разработчикам GTK сосредоточиться на базовых вещах, а разработчикам GNOME более быстро и гибко продвигать необходимые для себя изменения стилевого оформления, не затрагивая сам GTK.
В библиотеку входят типовые виджеты, охватывающих различные элементы интерфейса, такие как списки, панели, блоки редактирования, кнопки, вкладки, формы поиска, диалоговые окна и т.п. Предложенные виджеты позволяют создавать универсальные интерфейсы, которые органично функционируют как на крупных экранах ПК и ноутбуков, так и на небольших сенсорных экранах смартфонов. Интерфейс приложений динамически меняется в зависимости от размера экрана и доступных устройств ввода. Библиотека также включает набор стилей Adwaita, приводящих внешний вид в соответствие с рекомендациями GNOME, без необходимости выполнения ручной адаптации.
В новой версии:
- На смену классу GtkShortcutsWindow, объявленному устаревшим в GTK 4.18, в Libadwaita реализован новый класс AdwShortcutsDialog с реализацией диалога для навигации по доступным клавиатурным комбинациям. Новая реализация отличается полной переработкой и упрощением логики разделения на секции и группы. Разработчику предоставляется минимальный API, а для определения структуры и содержимого диалога применяются UI-файлы.
Вместо GtkShortcutLabel для представления элементов предложен новый класс AwsShortcutLabel, который не
поддерживает указание информации о экранных жестах и интеграцию пиктограмм, так как их использование приводило к путанице, а применение было ограничено (например, пиктограммы применялись только в приложении gnome-games для обозначения кнопок геймпадов).
- Добавлена возможность использования медиа-запросов CSS для для определения стилей тёмного и светлого оформления, а также обычного и контрастного представления одного и того же элемента. Разделены размеры шрифтов для контента (Adwaita Sans 12pt) и интерфейса (Adwaita Sans 11pt). Добавлен стилевой класс ".document" в котором для лучшей читаемости используется шрифт Adwaita Sans 12pt и увеличеный межстрочный интервал. Увеличен межстрочный интервал в стилевом классе ".body", который теперь применяется по умолчанию в некоторых штатных виджетах.
- Класс AdwPreferencesGroup разрешено использовать с моделями списков через метод adw_preferences_group_bind_model(). Также добавлена возможность добавлять во внутренний список строки, не являющиеся классом AdwPreferencesRow.
- В классе AdwPreferencesPage разрешено вставлять группы в любом месте, а не только в конце страницы.
- В классы AdwPreferencesGroup и AdwPreferencesPage добавлены методы adw_preferences_page_get_group() и adw_preferences_group_get_row() для инспектирования групп и строк.
- В класс AdwWrapBox добавлен метод adw_wrap_box_remove_all() для удаления всех дочерних элементов.
- Для дочерних элементов класса GtkFlowBox по умолчанию предоставлены стили для подсветки наведения мыши на элемент и активации элемента.
- В классе AdwHeaderBar реализована поддержка родных элементов управления окнами в macOS.
- Для повышения производительности сокращено использование теней для окон, диалогов и всплывающих окон.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63876
Bcachefs будет распространяться в виде отдельного модуля DKMS
Кент Оверстрит (Kent Overstreet), разработчик ФС Bcachefs, анонсировал переход к распространению Bcachefs с использованием инструментария DKMS (Dynamic Kernel Module Support), при котором модуль поставляется в исходных текстах и собирается на системе пользователя, непосредственно после установки пакета. После обновления ядра Linux в системе модуль автоматически пересобирается.
Поставка с использованием DKMS позволит не привязываться к каждому обновлению ядра Linux и поддерживать реализацию Bcachefs в актуальном состоянии, в условиях прекращения приёма обновлений для Bcachefs в основной состав ядра. Сборки планируют формировать для основных дистрибутивов Linux. Так как модули, собранные через DKMS, можно включить в состав initramfs, у пользователей сохранится возможность использования Bcachefs для корневой ФС.
Отдельно отмечается, что Кент пообщался с сопровождающими пакеты с ядром в дистрибутивах Debian и openSUSE, которые собирались отключить сборку ядра с поддержкой BCachefs. Отключение в основном было связано с опасением, что BCachefs больше не будет поддерживаться, но теперь согласились повременить с отключением до готовности пакетов с Bcachefs на базе DKMS. Кроме того, проект близок к снятию признака экспериментальной ФС - с момента релиза ядра 6.16 в Bcachefs вплывали лишь несущественные ошибки.
Напомним, что в Bcachefs предпринята попытка создания
файловой системы, сочетающей уровень производительности, надёжности и масштабируемости XFS с расширенной функциональностью, имеющейся в Btrfs и ZFS. Bcachefs поддерживает такие возможности, как включение в раздел нескольких устройств, многослойные раскладки накопителей (нижний слой с часто используемыми данными на базе быстрых SSD, а верхний слой с менее востребованными данными из жестких дисков), репликация (RAID 1/10), кэширование, прозрачное сжатие данных (режимы LZ4, gzip и ZSTD), срезы состояния (снапшоты), верификация целостности по контрольным суммам, возможность хранения кодов коррекции ошибок Рида—Соломона (RAID 5/6), хранение информации в зашифрованном виде (используются ChaCha20 и Poly1305). По производительности Bcachefs опережает Btrfs и другие ФС на базе механизма Copy-on-Write, и демонстрирует скорость работы, близкую к Ext4 и XFS.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63871
Фшинг-атака на разработчиков пакетов на языке Rust
Организация Rust Foundation предупредила разработчиков о выявлении фшинг-атаки против пользователей репозитория crates.io. Атака напоминает наблюдаемые последние месяцев попытки компрометации учётных записей в сервисах NPM, PyPI и Mozill AMO для последующей публикации релизов, содержащих вредоносный код. Сведений об успешном захвате учётных данных в ходе атаки пока нет.
Сопровождающие пакеты в каталоге crates.io стали получать письма, стилизованные под уведомления от crates.io с предупреждением о компрометации инфраструктуры проекта и получении атакующими доступа к данным пользователей. В качестве временной меры для блокирования возможности внесения атакующими изменений в пакеты предлагалось изменить свои учётные данные через форму, пройдя аутентификацию через внутреннюю систему единого входа (SSO).
Ссылки в письме вели на сайт "rustfoundation.dev", не связанный с проектом Rust. После перехода по ссылке открывалась страница "github.rustfoundation.dev/login" для аутентификации через GitHub, нацеленная на перехват учётных данных для подключения к проекту на GitHub. Содержимое сайта rustfoundation.dev генерировалось через проксирование запросов к github.com, т.е. сайт полностью повторял github.com, а атакующие могли перехватить передаваемые параметры входа и двухфакторной аутентификации.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63875
Выпуск дистрибутива Q4OS 6.1, поставляемого с пользовательским окружением Trinity
Опубликован выпуск дистрибутива Q4OS 6.1, основанного на пакетной базе Debian и поставляемого с рабочими столами KDE Plasma и Trinity (продолжает развитие кодовой базы KDE 3.5.x). Оба пользовательских окружения могут одновременно сосуществовать в одной системе, и пользователь может переключаться между ними. Дистрибутив позиционируется как нетребовательный к аппаратным ресурсам и предлагающий классическое оформление рабочего стола. Размер загрузочного образа c KDE Plasma - 2 ГБ, с
Trinity - 1.7 ГБ (x86_64). В планах создание сборок для архитектуры ARM64.
В состав входит несколько приложений собственной разработки, включая 'Desktop Profiler' для быстрой установки тематических наборов ПО и сохранения профилей со срезами состояния рабочего стола, 'Setup utility' для установки сторонних приложений, 'Software center' для установки дополнительных программ, 'Welcome Screen' для упрощения начальной настройки, Lookswitcher для быстрого переключения внешнего вида, скрипты для установки альтернативных окружений LXQt, Xfce и LXDE. Предоставляется приложение для установки дистрибутива в отдельный каталог Windows, что позволяет использовать дистрибутив параллельно с Windows без выделения для него отдельного дискового раздела.
В новом выпуске:
- Осуществлён переход на пакетную базу Debian 13.1 (в прошлом выпуске использовался Debian 12).
- Вместо ветки KDE Plasma 5 задействован выпуск KDE Plasma 6.3.6.
По умолчанию сохранено штатное оформление KDE, а для желающих использовать внешний вид в стиле Q4OS предложена отдельная тема оформления "Debonaire", которую можно активировать в конфигураторе.
- Рабочий стол Trinity обновлён до версии 14.1.5.
- Прекращена подготовка новых релизов для систем i386 (ветка 5.x, доступная для i386, будет поддерживаться до июня 2028 года).
Отдельно энтузиастами развиваются сборки Q4OS с интерфейсом в стиле Windows XP и Windows 10.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63874
Выпуск Wine 10.15
Опубликован экспериментальный выпуск открытой реализации Win32 API - Wine 10.15. С момента выпуска 10.14 было закрыто 16 отчётов об ошибках и внесено 277 изменений.
Наиболее важные изменения:
- Добавлена частичная поддержка драйвера ntsync, позволяющего существенно поднять производительность Windows-игр, запускаемых при помощи Wine. Драйвер входит в состав ядра Linux начиная с выпуска 6.14 и реализует символьное устройство /dev/ntsync и набор примитивов для синхронизации, применяемых в ядре Windows NT. Значительный прирост производительности достигается благодаря избавлению от накладных расходов, связанных с применением RPC в пространстве пользователя.
- В библиотеку opcservices, предназначенную для работы с пакетами OPC (Open Packaging Conventions), определёнными в стандарте OOXML (Office Open XML), добавлена поддержка сжатия пакетов с использованием формата Zip64, позволяющего архивировать файлы размером более 4 ГБ.
- Таблицы символов Unicode обновлены до версии 17.0.0.
- Закрыты отчёты об ошибках, связанные с работой приложений: Visual Studio 2005, cmd.exe, Steam, CapCut.
- Закрыты отчёты об ошибках, связанные с работой игр: Exertus darkness, Claw, Bloodrayne Demo.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63872
Выпуск Samba 4.23.0 с поддержкой протокола QUIC и активацией Unix-расширений SMB3
После 6 месяцев разработки представлен релиз Samba 4.23.0, продолживший развитие ветки Samba 4 с полноценной реализацией контроллера домена и сервиса Active Directory, совместимого с реализацией Windows 2008 и способного обслуживать все поддерживаемые Microsoft версии Windows-клиентов, в том числе Windows 11. Samba 4 является многофункциональным серверным продуктом, предоставляющим также реализацию файлового сервера, сервиса печати и сервера идентификации (winbind).
Ключевые изменения в Samba 4.23:
- Добавлена поддержка использования в качестве транспорта для SMB3 протокола QUIC, который представляет собой надстройку над протоколом UDP, поддерживающую мультиплексирование нескольких соединений и обеспечивающую методы шифрования, эквивалентные TLS/SSL. Протокол был создан в 2013 году компанией Google в качестве альтернативы связке TCP+TLS для Web, решающей проблемы с большим временем установки и согласования соединений в TCP и устраняющей задержки при потере пакетов в процессе передачи данных. Для настройки транспорта добавлены параметры конфигурации "client smb transports" и "server smb transport", например, для добавления возможности использования QUIC на сервере помимо TCP в файле конфигурации можно указать "server smb transports = +quic".
Для использования QUIC на стороне сервера требуется загрузка модуля ядра quic.ko, который пока поставляется отдельно, но скоро будет принят в основной состав ядра Linux. На стороне клиента при отсутствии модуля ядра поддерживается применение реализации QUIC на базе библиотеки ngtcp2.
- Включена по умолчанию поддержка Unix-расширений для протокола SMB3, обеспечивающих переносимость с клиентами, использующими Linux и Unix-подобные ОС. Unix-расширения позволяют использовать на файловых серверах POSIX-семантику и такие возможности, как символические и жёсткие ссылки, блокировки, расширенные атрибуты, права доступа и специальные типы файлов.
- Модернизирована логика обновления данных о времени изменения файлов, которая приближена к поведению серверов на базе Windows 10 и Windows Server 2016. Ранее сведения о времени записи в файлы обновлялись с задержкой, а теперь будут отражаться сразу после выполнения операции записи.
- Добавлена новая утилита smb_prometheus_endpoint для экспорта метрик мониторинга в формате, совместимом с Prometheus.
- В команду "samba-tool domain backup" добавлена опция "--no-secrets" для создания резервных копий, в которые не включены пароли, ключи доступа и прочие секретные атрибуты (объекты msKds-ProvRootKey,
msFVE-RecoveryInformation и msTPM-InformationObject).
- В компоненте CTDB, отвечающем за работу кластерных конфигураций, реализована возможность загрузки настроек из файлов
/etc/ctdb/tunables.d/*.tunables в дополнение к файлу конфигурации
/etc/ctdb/tunables.conf.
- Добавлена поддержка накопления раздельной статистики профилирования для каждого ресурса общего доступа (share), что позволяет администратору отдельно отслеживать активность каждого общего ресурса и выявлять узкие места при помощи утилиты smbstatus.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63870
Oracle уволил 70 сотрудников из команды проекта MySQL
По данным издания The Register под сокращение персонала в компании Oracle попали 70 сотрудников, вовлечённых в работу над СУБД MySQL, среди которых несколько опытных разработчиков. Майкл "Монти" Видениус, сооснователь СУБД MySQL и создатель проекта MariaDB, написал, что ему больно слышать о массовых увольнениях в MySQL и хотя он не удивлён данными действиями Oracle, его всё равно печалит, что до этого дошло. Петр Зайцев, сооснователь компании Percona и бывший руководитель группы оптимизации производительности в компании MySQL AB, выразил опасение, что данный шаг может привести к постепенному сворачиванию Community-редакции MySQL.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63869
VMScape - атака на CPU AMD и Intel, обходящая изоляцию между гипервизором и гостевой системой
Исследователи из Швейцарской высшей технической школы Цюриха разработали метод атаки VMScape, позволяющий обойти существующую защиту от атак Spectre-BTI (Branch Target Injection) для нарушения изоляции между виртуальной машиной и компонентами гипевизора, работающими в пространстве пользователя (например, QEMU-KVM). Атака может быть использована для определения содержимого памяти подобных компонентов через проведение манипуляций из процесса на стороне гостевой системы.
В памяти компонентов гипервизоров, работающих в пространстве пользователя, могут содержаться такие конфиденциальные данные, как ключи доступа к зашифрованным дисковым разделам. Злоумышленники также потенциально могут использовать подобные компоненты как источник утечки конфиденциальных данных, оставшихся в памяти в результата активности других гостевых систем. Исследователями подготовлен пример эксплоита, позволяющий из гостевой системы на базе KVM извлечь информацию о ключах шифрования из virtio-обработчика на базе QEMU, выполняемого на стороне хост-окружения в пространстве пользователя. Скорость утечки данных из процесса QEMU на системе с CPU AMD Zen 4 составила 32 байта в секунду.
В атаках класса Spectre-BTI (Branch Target Injection) для организации утечки данных используется подстановка значений в буфер адреса ветвления (BTB, Branch Target Buffer), применяемый при предсказании следующей операции ветвления. В ходе атаки создаются условия неверного предсказания перехода при спекулятивном выполнении инструкций. Задача атакующего в том, чтобы при выполнении спекулятивной операции ветвления адрес для перехода был взят из желаемой области памяти. После выполнения спекулятивного перехода, в процессорном кэше остаётся считанный из памяти адрес перехода (под видом адреса считываются необходимые атакующему данные из памяти). Для извлечения информации из кэша может применяться один из способов определения содержимого кэша на основе анализа изменения времени доступа к прокэшированным и не прокэшированным данным.
Процессоры и ядра ОС уже содержат защиту от атак Spectre-BTI, которая блокирует утечки между гипервизором и гостевой системой, а также между разными процессами. Но подобная защита не учитывала то, что компоненты гипервизоров, работающие в пространстве пользователя (например, процесс QEMU), и процессы в гостевой системе, выполняются на одном уровне защиты. Из-за этого записи в буфере адреса ветвления (BTB) при предсказании переходов смешивались для процессов гостевых систем и компонентов гипервизора, работающих в пространстве пользователя.
Для ядра Linux опубликованы корректирующие выпуски 6.16.7, 6.12.47, 6.6.106, 6.1.152, 5.15.193 и 5.10.244, включающие исправление для блокирования атаки программным путём. Защита реализована через вызов процессорных инструкций IBPB (Indirect Branch Prediction Barriers) для сброса состояния блока предсказания переходов после передачи исполнения от виртуальной машины к компонентам гипервизора в пространстве пользователя.
Включение защиты осуществляется через переменную командной строки ядра "vmscape={off|ibpb|force}" (опция ibpb включает защиту только для уязвимых CPU, а force - для всех). Подверженность CPU уязвимости и состояние включения защиты можно оценить через файл "/sys/devices/system/cpu/vulnerabilities/vmscape". Поддерживается два режима защиты:
подстановка IBPB после каждой передачи управления от виртуальной машины в пространство пользователя (VMexit); подстановка инструкции IBPB после первой передачи управления от виртуальной машины в пространство пользователя.
Накладные расходы от применения защиты зависят от интенсивности передачи управления в пространство пользователя. При использовании эмулируемых устройств (по умолчанию в QEMU) интенсивность подобных переключений значительно выше, чем при применении виртуализированных устройств, и снижение производительности в среднем оценивается в 10%. При этом накладные расходы также сильно зависят от типа нагрузки, например, в тесте UnixBench на системе Zen 4 наблюдается снижение производительности на 1%, так как число переключений (VMexit) в нём минимально. В тесте на чтение и запись случайных данных с диска на базе virtio накладные расходы достигли 51%.
Уявзимость проявляется на всех процессорах AMD семейства Zen (включая 5 поколение), процессорах Hygon (на базе технологий AMD) и старых процессорах Intel, включая чипы на базе микроархитектуры Coffee Lake (2017 год). В списке частично подверженных уявзимости CPU упоминаются процессоры Intel на базе микроархитектур Cascade Lake и Alder Lake (возможность создания эксплоита для них не подтверждена). В последних поколениях процессоров Intel для изоляции хост-окружения и гостевой системы применяется технология eIBRS, но она лишь частично защищает от воздействия из гостевой системы на буфер с историей переходов (BHB, Branch History Buffer), что не исключает создание атак по подстановке значений через BHB.
Возможность совершения атаки VMScape пока продемонстрирована только на системах с гипервизором KVM и компонентами на базе QEMU (QEMU-KVM), эмулирующими различные устройства в пространстве пользователя. Гипервизор Xen проблеме не подвержен. Оценка VMware, Hyper-V и прочих гипервизоров не производилась, ожидается, что возможность атаки на них будет проанализирована производителями.
<iframe src="https://www.youtube.com/embed/G_qDNFI2e4s?si=rfg04CTKx2Y-HVl7">
Источник: https://www.opennet.ru/opennews/art.shtml?num=63868
Фонд Apache сменил логотип и начал использование акронима ASF
Некоммерческая организация Apache Software Foundation, предоставляющая нейтральную и не зависящую от отдельных производителей площадку для разработки около 400 открытых продуктов, представила новый логотип, сменила дизайн сайта apache.org и объявила о переходе к использованию бренда ASF вместо полного наименования "Apache Software Foundation". На новом логотипе вместо пера, используемого как символ проектов Apache с 1997 года, изображён дубовый лист.
Название юридического лица Apache Software Foundation не изменилось и по-прежнему используется там, где это требуется по закону, например,
в официальных документах, в футере сайта и при упоминании авторских прав. В остальных случаях, включая документацию и ссылки, для визуальной идентичности теперь будет использоваться акроним ASF. Проекты фонда, имеющие слово Apache в своих названиях (например, Apache HTTP Server), продолжат использование существующих имён.
Причиной прекращения использования былой символики стало недовольство организации Natives in Tech, отстаивающей интересы коренных народов. Данная организация считает неприемлемым использование индейской символики в логотипе Apache Software Foundation, и расценивает это как манипуляцию культурными ценностями национальных меньшинств, искажающую представление об индейцах и основанную на стереотипах. Кроме смены логотипа борцы за права индейцев также требовали переименовать организацию и прекратить использование слова Apache, но сообщество отказалось переименовывать организацию из-за больших затрат и юридических сложностей.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63867
Обновление VirtualBox 7.2.2
Компания Oracle опубликовала корректирующий релиз системы виртуализации VirtualBox 7.2.2, в котором предложено 21 изменение:
- В дополнениях для хост-окружений с Linux на системах с ядром Linux
6.16 и новее для получения доступа к процессорным расширениям VT-x задействован API KVM.
- В состав открытого варианта базового пакета добавлен драйвер для виртуальной web-камеры с интерфейсом USB.
- Добавлен новый экспериментальный виртуальный сетевой адаптер e1000 (82583V).
- На системах с Linux при наличии DBus-сервиса org.freedesktop.portal.Desktop в GUI реализовано принудительное включение темы оформления, предоставляемой xdgdesktopportal.
- В дополнениях для гостевых систем с Linux решены проблемы с невозможностью загрузки разделяемых библиотек при запуске VBoxClient.
- В менеджере виртуальных машин решена проблема, приводившая к невозможности запуска виртуальных машин на хост-системах с Windows.
- Устранено аварийное завершение VBox Manager при использовании виртуальных машин с большим числом снапшотов или удалении всех виртуальных машин из списка виртуальных машин.
- Устранено зависание VBox Manager на хостах с Linux во время запуска или добавления виртуальной машины.
- В графическом интерфейсе после добавления гостевой системы в панели состояния обеспечено обновление подсказки индикатора сети, показывающей IP-адрес.
- Решена проблема с пробросом USB-устройств поверх USB/IP.
- В дополнениях для гостевых систем на базе Windows решена проблема с установкой 64-разрядной сборки Windows XP SP2.
- В EFI решена проблема с неработой устройств TPM с некоторыми гостевыми системами.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63866
Из Mesa удалена поддержка API видеоускорения VDPAU в пользу VA-API
Из кодовой базы Mesa, свободной реализации API OpenGL и Vulkan, удалена поддержка программного интерфейса VDPAU (Video Decode and Presentation API for Unix) созданного компанией NVIDIA. Для аппаратного ускорения кодирования и декодирования видео в различных форматах в Mesa оставлена поддержка API VA-API (Video Acceleration API), изначально предложенного компанией Intel и получившего большее распространение в Linux-системах.
В качестве причин удаления упоминается возможность использования VDPAU только на системах c X11 и OpenGL, из-за отсутствия поддержки Wayland и Vulkan. Кроме того, API VDPAU свойственны ограничения, не позволяющие корректно декодировать некоторые видеопотоки. VA-API может применяться с Wayland и Vulkan и лучше поддерживается в приложениях.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63864
Выпуск Electron 38, платформы создания приложений на базе движка Chromium
Представлен релиз платформы Electron 38.0.0, предоставляющей самодостаточный фреймворк для разработки многоплатформенных пользовательских приложений, использующий в качестве основы компоненты Chromium, V8 и Node.js.
Среди изменений в новом выпуске:
- Обновлены версии браузерного движка Chromium 140, платформы Node.js 22.18.0 и JavaScript-движка V8 14.0 (в прошлой ветке использовались Chromium 138, Node.js 22.16.0 и V8 13.8).
- Предоставлена возможность изменения акцентных цветов, применяемых для выделения активных элементов, а также цвета границы активного окна.
- Добавлены вызовы tray.{get|set}AutosaveName для сохранения позиций пиктограмм в системном лотке после перезапуска (для macOS).
- Добавлен метод webFrameMain.fromFrameToken(processId, frameToken) для получения экземпляра WebFrameMain, указав связанный токен.
- Для платформ Windows и macOS добавлена поддержка метода app.getRecentDocuments().
- Для определения ресурсов через app.getPath задействован путь из переменной окружения DIR_ASSETS вместо DIR_MODULE/DIR_EXE.
- Добавлено событие "before-mouse-event" для перехвата и предотвращения обработки событий от мыши в классе WebContents.
- В метод window.open() добавлены опции "innerWidth" и "innerHeight".
- В метод net.request() добавлены опции "priority" и "priorityIncremental".
- Добавлены флаги "--no-experimental-global-navigator" и "--experimental-network-inspection".
- Удалена поддержка платформы macOS 11, переменной окружения ELECTRON_OZONE_PLATFORM_HINT и события plugin-crashed.
Платформа Electron позволяет создавать любые графические приложения с использованием браузерных технологий, логика работы которых определяется на JavaScript, HTML и CSS, а функциональность может быть расширена через систему дополнений. Разработчикам доступны модули Node.js, а также расширенный API для формирования нативных диалогов, интеграции приложений, создания контекстных меню, интеграции с системой вывода уведомлений, манипуляции окнами, взаимодействия с подсистемами Chromium.
В отличие от web-приложений, программы на базе Electron поставляются в виде самодостаточных исполняемых файлов, не привязанных к браузеру. При этом разработчику не нужно заботиться о портировании приложения для различных платформ, Electron обеспечит возможность сборки для всех систем, поддерживаемых в Chromium. Electron также предоставляет средства для организации автоматической доставки и установки обновлений (обновления можно доставлять как с отдельного сервера, так и напрямую с GitHub).
Из программ, построенных на базе платформы Electron можно отметить редакторы Atom и Visual Studio Code, почтовый клиент Mailspring, инструментарий для работы с Git GitKraken, систему ведения блогов WordPress Desktop, BitTorrent-клиент WebTorrent Desktop, а также официальные клиенты к таким сервисам, как Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike и Discord. Всего в каталоге программ Electron представлено 612 приложений. Для упрощения разработки новых приложений подготовлен набор типовых демонстрационных приложений, включающих примеры кода для решения различных задач.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63865
Google ограничил доступ к поиску для браузеров без JavaScript
В конце 2024 года у части пользователей попытки поиска в Google при отключённом JavaScript стали приводить к перенаправлению на страницу с требованием включить в браузере JavaScript. В январе 2025 года выборочное тестирование запрета обращения без JavaScript закончилось и ограничение распространили на всех пользователей, оставив при этом несколько лазеек. Например, возможность обращения к поисковой системе из браузеров без JavaScript сохранялась при смене User-Agent на "Lynx" или старую версию Firefox (не больше 23). Теперь данные лазейки перестали работать и страницы с требованием включения JavaScript или обновления устаревшей версии браузера выводятся при любых значениях User-Agent.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63859
Выпуск композитного сервера Hyprland 0.51
Доступен композитный сервер Hyprland 0.51, использующий протокол Wayland. Проект ориентирован на мозаичную (tiling) компоновку окон, но поддерживает и классическое произвольное размещение окон, группировку окон в форме вкладок, псевдомозаичный режим и полноэкранное раскрытие окон. Код написан на языке С++ и распространяется под лицензией BSD.
Предоставляются возможности для создания визуально привлекательных интерфейсов: градиенты в обрамлении окон, размытие фона, анимационные эффекты и тени. Для расширения функциональности могут подключаться плагины, а для внешнего управления работой предоставляется IPC на базе сокетов. Настройка осуществляется через файл конфигурации, изменения в котором подхватываются на лету без перезапуска. Из функций также выделяются: динамически создаваемые виртуальные рабочие столы; режимы компоновки элементов на экране; глобальная обработка горячих клавиш; управление жестами на тачпаде/сенсорном экране.
В новой версии:
- Расширены возможности управления жестами на тачпаде. Добавлена поддержка назначения отдельных действий для разных сочетаний числа касаний пальцами, клавиш-модификаторов (Ctrl, Alt, Shift) и направлений движения жеста.
Настройка привязки жестов теперь определяется в формате "gesture = fingers, direction, action, options". Например, для закрытия окна можно назначить жест щипком тремя пальцами ("gesture = 3, pinch, close"), для переключения между виртуальными рабочими столами - сдвиг тремя пальцами по горизонтали ("gesture = 3, horizontal, workspace").
Поддержка старых настроек gestures:workspace_swipe, gestures:workspace_swipe_fingers и gestures:workspace_swipe_min_fingers прекращена.
- Добавлен параметр конфигурации dim_modal для управления затемнением родительских окон при выводе модальных диалогов.
- В утилиту hyprctl добавлена опция "getprop" для показа значений отдельных свойств.
- Разрешена настройка поведения прокрутки (scroll_factor) в привязке к отдельным устройствам.
- Добавлена опция "cursor:invisible" для скрытия курсора.
- Реализована поддержка DPMS‑анимации (плавное затенение содержимого при переводе экрана в режим энергосбережения).
- Для подсказок, контекстных меню и диалоговых окон, создаваемых напрямую через задействование протоколов Wayland, реализован эффект
плавного появления и исчезновения.
- При предоставлении совместного доступа к экрану цветность по умолчанию ограничена 8 битами на канал. Ограничение решает проблемы с совместным доступом у экрану в chromium и firefox на экранах с расширенным диапазоном цветов (Wide Gamut).
- Добавлен windowrule-параметр "novrr" для блокирования применения VRR (Variable Refresh Rate) для выбранных окон.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63862
OpenFix от Selectel: вознаграждения за переписывание на Rust, создание deb-пакетов и исправление ошибок в СПО
Компания Selectel, развивающая Linux-дистрибутив Selectel OS на пакетной базе Debian, представила инициативу OpenFix, в рамках которой начнёт выплачивать энтузиастам денежные вознаграждения за участие в работе над задачами, связанными с развитием и исправлением ошибок в открытом ПО. Код выполненных проектов будет публиковаться под пермиссивной лицензией с сохранением авторства участников.
Предложено три направления деятельности, выполнение задач в которых Selectel готов оплачивать:
- Переписывание известных открытых проектов на язык Rust. В настоящее время доступны три задачи, связанные с переписыванием с языка Си на Rust кода проектов xz, c-ares и libxml2 c сохранением поведения оригинала.
Вознаграждение за переписывание библиотек libxml2 и c-ares и определено в 350 тысяч рублей, а библиотеки xz в 200 тысяч рублей, но в случае xz указано, что достаточно переписать критические части библиотечных обвязок и связать с существующей Си-реализацией алгоритма LZMA.
- Формирование и последующее сопровождение (подготовка обновлений) пакетов для Debian GNU/Linux. Приложения для которых предлагается создать deb-пакеты (c опциональным продвижением созданного пакета в Debian Unstable): apache-pulsar, bash-it, bazel, bitwarden-cli, composefs, cve-bin-tools, doh-cli, dupd, dyff, firecracker, griddb, jailhouse, keycloak, oauth2-proxy, phoronix-testsuite, photodedupe, purritobin, shh, skim, sssh-tpm-agent, uv, vaultwarden.
Размер вознаграждения от 30 до 160 тысяч рублей. Премии меньше 50 тысяч рублей определены для uv, dyff, doh-cli, purritobin и bash-it, а больше 100 тысяч для jailhouse, bazel, sssh-tpm-agent, keycloak, griddb, firecracker и apache-pulsar.
- Исправление ошибок в существующих открытых проектах. Участники на своё усмотрение могут выбирать проблемы, подтверждённые в системах отслеживания ошибок Debian и Ubuntu (Launchpad), после чего согласовать возможность получения вознаграждения за их исправление с Selectel.
Вознаграждения назначается индивидуально и выплачивание после принятия изменения в Debian или Ubuntu и закрытия сообщения об ошибке.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63863