Выпуск Chrome 145
Компания Google опубликовала релиз web-браузера Chrome 145. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей RLZ-параметров при поиске. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 146 запланирован на 10 марта.
Основные изменения в Chrome 145:
- Добавлена поддержка формата изображений JPEG XL, для декодирования которого задействована библиотека jxl-rs с реализацией JPEG-XL на языке Rust. Поддержка JPEG XL пока отключена по умолчанию и требует активации параметра "chrome://flags/#enable-jxl-image-format".
- Продолжено развитие AI-режима, позволяющего взаимодействовать с AI-агентом из адресной строки или со страницы, показываемой при открытии новой вкладки. AI-режим даёт возможность задавать сложные вопросы на естественном языке и получать ответы на основе агрегирования информации из наиболее релевантных страниц на заданную тему. При необходимости пользователь может уточнять информацию наводящими вопросами. Режим также позволяет задавать вопросы о содержимом страницы прямо из адресной строки. В Chrome 145 AI-режим реализован в версиях для платформ Android и iOS. Для пользователей из Канады, Индии и Новой Зеландии началось включение по умолчанию
чат-бота Gemini (при использовании английского языка).
- Добавлен механизм DBSC (Device Bound Session Credentials), позволяющий привязать сеанс аутентификации на сайте к определённому устройству для усложнения совершения с других систем атак с использованием перехваченных сессионных Cookie. Для создания привязанного к устройству сеанса предложен HTTP-заголовок
"Secure-Session-Registration". Метод защиты сводится к предоставлению пары криптографических ключей, привязанных к текущему устройству, генерируемых при подключении и сохраняемых в TPM (Trusted Platform Module). В сеансе используются Cookie с небольшим временем жизни, которые периодически обновляются с использованием закрытого ключа и могут быть проверены открытым ключом.
- Убран параметр, позволявший отключить блокировку принудительно установленных браузерных дополнений, в которых выявлены несущественные нарушения правил каталога Chrome Web Store. К несущественным нарушениям причисляется наличие потенциальных уязвимостей, навязывание дополнения без ведома пользователя, манипуляции с метаданными, нарушение правил работы с пользовательскими данными и введение в заблуждение о функциональности.
- В версии для платформы Android при активации режима расширенной защиты (AAPM, Android Advanced Protection Mode) отключён Javascript API WebGPU. Сайты, использующие WebGPU для отрисовки 3D-контента (например, Google Maps), могут использовать более медленные альтернативы, такие как WebGL (в тестах на 5.78% медленнее). Для определения отключения WebGPU можно использовать свойство navigator.gpu.
- В версии для Android при включении режима расширенной защиты браузера (Enhanced Safe Browsing) реализован локальный анализ внешнего вида страниц на предмет наличия признаков мошенничества. Если локальная проверка выявила подозрения на сомнительный контент, то выполняется дополнительная проверка на серверах Google и в случае подтверждения выводится предупреждение пользователю.
- Добавлен API Origin, предоставляющий объект Origin, реализующий концепцию Web Origin и предлагающий методы для сравнения, сериализации и разбора Web Origin. Термин "Web Origin" определён в RFC 6454 для разделения границ изоляции и доверия к контенту. Web Origin охватывает часть URL с названием протокола, именем хоста и номером порта (например, https://opennet.ru). Новый API введён для унификации операций с Web Origin для исключения уязвимостей из-за некорректных сравнений сериализированных ASCII-представлений Web Origin при определении принадлежности ресурсов к одному сайту.
- Разделены права доступа к локальной системе при взаимодействии с публичными сайтами. Обращения с сайта к IP-адресам локальной сети (интранет или внутренние адреса) и loopback-интерфейсу (127.0.0.0/8) теперь обрабатываются с использованием разных полномочий (local-network и loopback-network), требующих от пользователя подтверждения операции в специальном диалоге. Под действия защиты попадают попытки загрузки ресурсов, запросы fetch() и iframe-вставки. Обращение к внутренним ресурсам используются злоумышленниками для осуществления CSRF-атак на маршрутизаторы, точки доступа, принтеры, корпоративные web-интерфейсы и другие устройства и сервисы, принимающие запросы только из локальной сети. Кроме того, сканирование внутренних ресурсов может использоваться для косвенной идентификации или сбора сведений о локальной сети.
- Убрана настройка UserAgentReduction, позволявшая вернуть передачу неурезанной информации в HTTP-заголовке User-Agent и JavaScript параметрах navigator.userAgent, navigator.appVersion и navigator.platform. Брузер теперь всегда передаёт сокращённый вариант User-Agent без детальной информации о платформе (например, "Android 16; S" вместо "Android 16; SM-A205U").
- Во встроенный PDF-просмотрщик добавлена возможность сохранения документа в облачное хранилище Google Drive. В Google Drive документы из Chrome сохраняются в папке "Saved from Chrome".
- API LayoutShift, позволяющий отслеживать изменение позиции элементов DOM на экране, переведён на вывод информации в CSS-пикселях вместо экранных пикселей.
CSS-пиксель учитывает DPI экрана и визуально одинаков на любых экранах, в том числе на мониторах с высокой плотностью пикселей. Изменение выполнено для приведения Chrome к поведению других браузеров.
- Для API Controlled Frame реализован метод WebRequest.SecurityInfo, позволяющий web-приложению перехватить HTTPS, WSS или WebTransport запрос на сервер, получить слепок сертификата сервера и использовать его для ручной верификации сертификата, использованного при прямом соединении с этим же сервером по TCP/UDP.
- Добавлена поддержка CSS-свойств column-wrap и column-height, определённых в спецификации CSS Multi-column Layout 2. Свойство column-wrap позволяет перемещать колонки на новую строку вместо горизонтальной прокрутки, если колонки не умещаются по высоте, заданной через свойство column-height.
- Добавлено CSS-свойство text-justify, позволяющее определить тип выравнивания текста при использовании "text-align: justify";
- В CSS-свойствах letter-spacing и word-spacing разрешено указание размера отступа в процентах.
- В JavaScript-объектах Map и WeakMap реализована спецификация "upsert", упрощающая работу с коллекциями пар ключ/значение. Добавлены методы getOrInsert и getOrInsertComputed, возвращающие уже имеющееся в коллекции значение, ассоциированное с указанными ключом, или создающие новую запись, если ключа не нашлось.
- Реализация API IndexedDB переписана с использованием СУБД SQLite в качестве бэкенда (прошлая реализация основывалась на LevelDB в отдельных файлах). Новый вариант пока используется только в контекстах, размещаемых в оперативной памяти, например, применяется в режиме инкогнито.
- Внесены улучшения в инструменты для web-разработчиков.
В интерфейсе инспектирования сети в панели "Request conditions" включена по умолчанию возможность ограничивать скорость отдельных сетевых запросов.
Кроме нововведений и исправления ошибок в новой версии устранено 11 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google учредила 11 премий и выплатила 18.5 тысяч долларов США (по одной премии в $8000, $5000, $2000 и $500, три премии по $1000). Размер 4 вознаграждений пока не определён.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64807
Эксперимент по использованию AI для рецензирования изменений в DRM-подсистеме ядра Linux
Дэйв Эйрли (David Airlie), мэйнтейнер стека графических драйверов в ядре Linux, объявил о внедрении вспомогательной автоматизиованной системы рецензирования патчей, для проверки изменений в которой применяется AI-платформа Сlaude Opus 4.6. Система внедрена в качестве эксперимента для оценки возможности применения AI для оптимизации рабочих процессов сотрудников компании Red Hat.
AI-рецензирование охватывает изменения, присылаемые для включения в подсистему DRM (Direct Rendering Manager). Публикация результатов организована с использованием применяемых при разработке ядра Linux почтовых рассылок. Для того, что бы не захламлять основной список рассылки, в котором ведётся разработка подсистемы DRM, для AI-отчётов создан отдельный список рассылки drm-ai-reviews.
Предполагается, что авторы патчей могут использовать AI-рецензии в качестве начальной обратной связи. При этом разбор подобных рецензий не навязывается и авторы вольны принимать во внимание AI-рецензии на своё усмотрение. При этом если AI-рецензии будут выявлять регрессии, проигнорированные авторами патчей, возможно в будущем разбор AI-рецензий будет предписываться более настойчиво.
Изначально для организации рецензирования в Сlaude Дэйв попытался использовать предложенный Крисом Мейсоном (Chris Mason) набор подсказок, уточняющих особенности работы подсистем и протоколов, и позволяющих AI-ассистенту лучше понимать контекст при рецензировании. Набор Криса предназначался для выявление регрессий и анализа патчей при их последовательном применении к актуальному дереву кода ядра и финальным тестированием регрессий в последнем патче.
В конечном счёте Дэйву пришлось пришлось доработать и расширить промпты Криса, так как требовалось чтобы AI рецензировал серию патчей как одно целое с последующим проведением глубокого анализа каждого патча по отдельности. Помимо актуального дерева кода ядра проверка была распространена на ветку drm-next. Дэйв также подготовил инструментарий для интеграции с AI-сервисом Сlaude и организации почтовой рассылки.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64804
Выпуск Whonix 18.1, дистрибутива для анонимных коммуникаций
Доступен выпуск дистрибутива Whonix 18.1, нацеленного на предоставление гарантированной анонимности, безопасности и защиты частной информации. Дистрибутив основан на Debian GNU/Linux и использует Tor для обеспечения анонимности. Наработки проекта распространяются под лицензией GPLv3. Для загрузки подготовлены образы виртуальных машин в формате ova для VirtualBox (2.6 ГБ c LXQt и 1.6 ГБ консольный) и qcow2 для гипервизора KVM (3.8ГБ c LXQt и 2.2 ГБ консольный).
Особенностью Whonix является разделение дистрибутива на два отдельно запускаемых компонента - Whonix-Gateway с реализацией сетевого шлюза для анонимных коммуникаций и Whonix-Workstation с рабочим столом. Компоненты представляют собой отдельные системные окружения, поставляемые внутри одного загрузочного образа и запускаемые в разных виртуальных машинах. Выход в сеть из окружения Whonix-Workstation производится только через шлюз Whonix-Gateway, что изолирует рабочее окружение от прямого взаимодействия с внешним миром и допускает использование только фиктивных сетевых адресов. Подобный подход позволяет защитить пользователя от утечки реального IP-адреса в случае взлома web-браузера или эксплуатации уязвимости, дающей атакующему root-доступ к системе.
Взлом Whonix-Workstation позволят атакующему получить только фиктивные сетевые параметры, так как реальный IP и параметры DNS скрыты за границей сетевого шлюза, работающего на базе Whonix-Gateway, который направляет трафик только через Tor. При этом следует учитывать, что компоненты Whonix рассчитаны на запуск в форме гостевых систем, т.е. не исключена возможность эксплуатации критических 0-day уязвимостей в платформах виртуализации, которые могут предоставить доступ к хост-системе. В связи с этим, не рекомендуется запускать Whonix-Workstation на том же компьютере, что и Whonix-Gateway.
В Whonix-Workstation по умолчанию предоставляется пользовательское окружение LXQt. В поставку включены такие программы, как VLC и Tor Browser. В поставке Whonix-Gateway можно найти набор серверных приложений, в том числе Apache httpd, ngnix и IRC-серверы, которые могут использоваться для организации работы скрытых сервисов Tor. Возможен проброс поверх Tor туннелей для Freenet, i2p, JonDonym, SSH и VPN. При желании, пользователь может обойтись только Whonix-Gateway и подключить через него свои обычные системы, в том числе Windows, что позволяет обеспечить анонимный выход для уже находящихся в обиходе рабочих станций.
Системное окружение базируется на параллельно развиваемом теми же разработчиками защищённом дистрибутиве Kicksecure, расширяющем Debian дополнительными механизмами и настройками для повышения безопасности: AppArmor для изоляции, установка обновлений через Tor, использование PAM-модуля tally2 для защиты от подбора паролей, расширение энтропии для RNG, отключение suid, отсутствие открытых сетевых портов по умолчанию, использование рекомендаций от проекта KSPP (Kernel Self Protection Project), добавление защиты от утечки сведений об активности CPU и т.п.
Основные изменения:
- Обновлено окружение Kicksecure, в котором значительно улучшена поддержка режима UEFI Secure Boot - добавлены новые вспомогательные утилиты, усилена безопасность использования DKMS при сборке, расширен интерфейс для настройки, добавлены новые возможности для диагностики. Отключено по умолчанию автоматическое монтирование накопителей. Улучшен интерфейс инсталлятора и пользовательский интерфейс на базе LXQt. Включено подтверждение многострочной вставки из буфера обмена в терминал qterminal. Добавлена утилита для настройки разрешения экрана.
- В Whonix-Workstation отключено по умолчанию автоматическое изменение разрешения экрана после изменения размера окна виртуальной машины. Отключение позволит блокировать использование информации о нестандартных или часто меняемых размерах экрана для косвенной идентификации системы.
- Упрощено отключение IPv6.
- Для протокола SOCKS реализовано расширение torS0X для изоляции потоков с трафиком Tor.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64806
Выпуск Phosh 0.53.0, GNOME-окружения для смартфонов
Опубликован релиз Phosh 0.53, экранной оболочки для мобильных устройств, основанной на технологиях GNOME и библиотеке GTK. Окружение изначально развивалось компанией Purism в качестве аналога GNOME Shell для смартфона Librem 5, но затем вошло в число неофициальных проектов GNOME и используется в postmarketOS, Mobian, Droidian, некоторых прошивках для устройств Pine64 и редакции Fedora для смартфонов. Phosh использует композитный сервер Phoc, работающий поверх Wayland, а также собственную экранную клавиатуру. Наработки проекта распространяются под лицензией GPLv3+.
Среди изменений:
- Улучшено автоматическое изменение яркости экрана. При выборе яркости учтено использование режима ночной подсветки. Реализовано запоминание выставленной пользователем поправки к автоматической выбранной яркости.
- Улучшен стиль оформления обзорного режима, применяемого для переключения между активными приложениями. Обеспечен показ миниатюр запущенных приложений.
<iframe src="https://peertube.debian.social/w/5QtZszHvrGdDq6kpwjyPTF">
- Расширена информация о пользователе, показываемая при вывода запроса полномочий для выполнения привилегированных операций.
- Разрешено открытие настроек плагинов со статусной страницы.
- В композитный сервер Phoc добавлена поддержка Wayland-протокола xx-cutouts-v1
для получения информации о вырезах на экране (например, под фронтальную камеру). Добавлена возможность зацикленного переключения между окнами на рабочем столе. Приложениям, таким как игры, разрешено оставаться в полноэкранном режиме после переключения фокуса.
- В экранной клавиатуре Stevia реализована поддержка масштабирования области ввода и пиктограмм клавиш для использования всего горизонтального пространства при работе в ландшафтом режиме или на больших экранах.
- В конфигураторе phosh-mobile-settings реализована новая панель с информацией о системе и добавлена поддержка настройки звукового отклика.
- В xdg-desktop-portal-phosh задействован новый выпуск обвязки ASHPD (Aperture Science Handheld Portal Device), прекращена поддержка написанных на Си порталов управления обоями рабочего стола и выбора файлов.
- Обновлён gmobile, набор обработчиков для работы GNOME на мобильных устройствах.
- Обновлены версии зависимостей:
callaudiod 0.1.10,
Calls 49.1.1,
cellbroadcastd 0.0.3,
feedbackd 0.8.9,
feedbackd-device-themes 0.8.8,
GNOME 49,
iio-sensor-proxy 3.7,
mmsd-tng 2.6.4,
ModemManager 1.25.95,
wlroots 0.19.2 и
wys 0.1.12.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64805
Релиз текстового редактора Vim 9.2
После двух лет разработки состоялся релиз текстового редактора Vim 9.2. Код Vim распространяется под собственной копилефт лицензией, совместимой с GPL и позволяющей без ограничений использовать, распространять и перерабатывать код. Основная особенность лицензии Vim связана с возвратом изменений - реализованные в сторонних продуктах улучшения должны быть переданы в исходный проект, если мэйнтейнер Vim посчитает эти улучшения заслуживающими внимания и отправит соответствующий запрос. По типу распространения Vim относится к Сharityware, т.е. вместо продажи программы или сбора пожертвований на нужды проекта авторы Vim просят перечислить любую сумму на благотворительность, если программа понравится пользователю.
Основные улучшения:
- В графический интерфейс (gvim) добавлена поддержка протокола Wayland, включая возможность использования буфера обмена в окружениях на базе Wayland.
- На unix-подобных системах реализована поддержка спецификации Freedesktop.org XDG Base Directory и возможности использования каталога "~/.config/vim" для хранения настроек.
- В интерфейсе пользователя реализована вертикальная (боковая) панель вкладок (tabpanel), которую можно использовать в качестве альтернативы горизонтальной верхней панели.
- В графическом интерфейсе для Windows появилась поддержка тёмного режима оформления меню и заголовков. Улучшена поддержка полноэкранного режима и преложены более качественные пиктограммы в панели инструментов.
- В механизм автодополнения в режиме вставки добавлена поддержка приблизительного поиска, позволяющего находить неточные совпадения с шаблоном (например, находить слова с опечатками). Также реализована возможность дополнять ввод слов непосредственно содержимым из регистров (комбинация CTRL-X CTRL-R покажет меню выбора для вставки слов, хранящиеся в регистрах Vim). В параметр "completeopt" добавлена поддержка флагов: "nosort" для отключения сортировки списка подсказок и "nearest" для повышения приоритета слов рядом с курсором.
- Встроен плагин для интерактивного обучения (":Tutor"), наглядно отображающий информацию, позволяющий возобновить обучение с прерванного задания и способный проверять правильность выполнения команд.
- В языке для создания скриптов реализована встроенная поддержка перечислений (Enum), обобщённых функций (Generic) и кортежей (тип Tuple). Предоставлена возможность вызова встроенных функций в форме методов объекта. В классы добавлена поддержка protected-конструкторов _new(). Для компиляции методов предложена команда ":defcompile".
- В режим сравнения файлов (diff mode) добавлен алгоритм "linematch", включаемый через одноимённую опцию в настройке "diffopt", который находит похожие части строк и выравнивает их друг напротив друга для более точной подсветки изменений. Реализована опция "diffanchors", позволяющая вручную определить "якоря" для принудительного разделения файла на секции, которые будут сравниваются независимо друг от друга для исключения сравнения между собой не тех частей сложных файлов. Улучшена подсветка изменения отдельных символов в одной строке - для настройки подобной подсветки в "diffopt" добавлена опция "inline", которая может принимать значения "inline:simple" (как раньше), "inline:char" (выделение на уровне символов) и "inline:word" (выделение на уровне слов).
- Изменены значения по умолчанию параметров:
- 'history' (50 =› 200)
- 'backspace' ("" =› "indent,eol,start", типовое поведение клавиши Backspace)
- 'diffopt' ("internal,filler" => "internal,filler,closeoff,indent-heuristic,inline:char")
- 'fontsize' (10pt =› 12pt, оптимальнее для High-DPI мониторов)
- 'showcmd' (Off =› On, команды всегда видны)
- 'ruler' (Off =› On, показывается позиция курсора)
Источник: https://www.opennet.ru/opennews/art.shtml?num=64802
Выпуск REMnux 8.0, дистрибутива для анализа вредоносного ПО
Представлен релиз специализированного Linux-дистрибутива REMnux 8.0, предназначенного для изучения и обратного инжиниринга кода вредоносных программ. REMnux позволяет сформировать изолированное лабораторное окружение, в котором можно эмулировать работу атакуемого сетевого сервиса для изучения поведения вредоносного ПО в условиях приближенных к реальным.
Дистрибутив построен на пакетной базе Ubuntu и включает инструменты для анализа вредоносного ПО, утилиты для проведения обратного инжиниринга кода, программы для изучения модифицированных злоумышленниками PDF и офисных документов, а также средства мониторинга активности в системе. Всего предложено более 200 специализированных инструментов. Для загрузки предлагаются образы для систем виртуализации в форматах "ova" (VirtualBox) и "bqcow2" (Proxmox), размером 8 ГБ. Проект также распространяет набор Docker-образов для изолированного запуска отдельных инструментов в существующих системах.
В новой версии:
- Системное окружение обновлено с Ubuntu 20.04 до 24.04. Обновлены версии поставляемых в дистрибутиве инструментов.
- Добавлен новый инсталлятор, позволяющий установить предлагаемое в дистрибутиве окружения поверх уже имеющихся установок Ubuntu 24.04.
- Предоставлена возможность использования AI-ассистентов для анализа вредоносного ПО. В состав включён собственный MCP-сервер для интеграции имеющегося в дистрибутиве инструментария с различными AI-агентами. Добавлена возможность использования в терминале AI-агента OpenCode. Добавлен пакет GhidrAssistMCP для автоматизации обратного инжиниринга в пакете Ghidra. Добавлены плагины r2ai и decai для фреймворка Radare2.
- В состав включены новые инструменты, среди которых:
Среди входящих в комплект инструментов:
- Анализ web-сайтов: Thug, mitmproxy, Network Miner Free Edition, curl, Wget, Burp Proxy Free Edition, Automater, pdnstool, Tor, tcpextract, tcpflow, passive.py, CapTipper, yaraPcap.py;
- Анализ вредоносных Flash-роликов: xxxswf, SWF Tools, RABCDAsm, extract_swf, Flare;
- Анализ Java: Java Cache IDX Parser, JD-GUI Java Decompiler, JAD Java Decompiler, Javassist, CFR;
- Анализ JavaScript: Rhino Debugger, ExtractScripts, SpiderMonkey, V8, JS Beautifier;
- Анализ PDF: AnalyzePDF, Pdfobjflow, pdfid, pdf-parser, peepdf, Origami, PDF X-RAY Lite, PDFtk, swf_mastah, qpdf, pdfresurrect;
- Анализ документов Microsoft Office: officeparser, pyOLEScanner.py, oletools, libolecf, oledump, emldump, MSGConvert, base64dump.py, unicode;
- Анализ Shellcode: sctest, unicode2hex-escaped, unicode2raw, dism-this, shellcode2exe;
- Приведение запутанного кода в читаемый вид (deobfuscation): unXOR, XORStrings, ex_pe_xor, XORSearch, brxor.py, xortool, NoMoreXOR, XORBruteForcer, Balbuzard, FLOSS
- Извлечение строковых данных: strdeobj, pestr, strings;
- Восстановление файлов: Foremost, Scalpel, bulk_extractor, Hachoir;
- Мониторинг сетевой активности: Wireshark, ngrep, TCPDump, tcpick;
- Сетевые сервисы: FakeDNS, Nginx, fakeMail, Honeyd, INetSim, Inspire IRCd, OpenSSH, accept-all-ips;
- Сетевые утилиты: prettyping.sh, set-static-ip, renew-dhcp, Netcat, EPIC IRC Client, stunnel, Just-Metadata;
- Работа с коллекцией примеров вредоносного ПО: Maltrieve, Ragpicker, Viper, MASTIFF, Density Scout;
- Определение сигнатур: YaraGenerator, IOCextractor, Autorule, Rule Editor, ioc-parser;
- Сканирование: Yara, ClamAV, TrID, ExifTool, virustotal-submit, Disitool;
- Работа с хэшами: nsrllookup, Automater, Hash Identifier, totalhash, ssdeep, virustotal-search, VirusTotalApi;
- Анализ вредоносного ПО для Linux: Sysdig, Unhide
- Дизассемблеры: Vivisect, Udis86, objdump;
- Отладчики: Evan’s Debugger (EDB), GNU Project Debugger (GDB);
- Системы трассировки: strace, ltrace
- Investigate: Radare 2, Pyew, Bokken, m2elf, ELF Parser;
- Работа с текстовыми данными: SciTE, Geany, Vim;
- Работа с изображениями: feh, ImageMagick;
- Работа с бинарными файлами: wxHexEditor, VBinDiff;
- Анализ дампов памяти: Volatility Framework, findaes, AESKeyFinder, RSAKeyFinder, VolDiff, Rekall, linux_mem_diff_tool;
- Анализ исполняемых PE-файлов UPX, Bytehist, Density Scout, PackerID, objdump, Udis86, Vivisect, Signsrch, pescanner, ExeScan, pev, Peframe, pedump, Bokken, RATDecoders, Pyew, readpe.py, PyInstaller Extractor, DC3-MWCP;
- Анализ вредоносного ПО для мобильных устройств: Androwarn, AndroGuard.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64801
Выпуск 7-Zip 26.00. Вредоносный сайт 7zip.com, стилизованный под 7-zip.org
Игорь Павлов опубликовал новую версию архиватора 7-Zip 26.00. Проектом развивается собственный формат архивов 7z, базирующийся на алгоритмах сжатия LZMA и LZMA2. Дополнительно поддерживается упаковка и распаковка архивов в форматах XZ, BZIP2, GZIP, TAR, ZIP и WIM, а также
распаковка более 30 форматов архивов, пакетов, образов виртуальных машин и файловых систем (ISO, NTFS, EXT*, UDF, UEFI, VDI, VHD, VMDK, CAB, RPM, SquashFS, QCOW2 и т.п.). Для форматов ZIP и GZIP обеспечен на 2-10% более высокий уровень сжатия по сравнению с PKZip и WinZip. Код проекта написан на языке C++ и распространяется под лицензией LGPL. Для загрузки доступны готовые сборки для Windows, macOS и Linux (i686, x86-64, ARM, ARM64).
В новой версии улучшен код для поддержки форматов ZIP, CPIO, RAR, UFD, QCOW и Compound. В 7-Zip File Manager улучшен порядок сортировки списка файлов (имя файла теперь используется в роли вторичного ключа при сортировке). Расширен инструментарий для тестирования производительности, который теперь поддерживает системы, имеющие более 64 потоков в CPU. Налажена распаковка TAR-архивов, содержащих файлы с пустотами.
После публикации релиза пользователи обратили внимание, что штатный антивирусный пакет ОС Windows помечает установочный файл как вредоносный. Данное поведение оказалось ложным срабатыванием и компания Microsoft в течении дня опубликовала обновление антивирусных баз, после чего Windows Defender перестал выдавать предупреждение (обновление баз для Windows Defender можно установить, запустив команду Update-MpSignature).
Помимо этого зафиксировано создание злоумышленниками сайта 7zip.com, оформление которого повторяло официальный сайт проекта 7-zip.org, но для загрузки предлагался изменённый инсталлятор 7zipInstall.exe, содержащий вредоносный код. Изменённый инсталлятор был подписан сертификатом, выданным компании Jozeal Network Technology. При запросе по ключу 7zip сайт 7zip.com выводился на 4 месте в поисковой выдаче Google с заголовком "Secure and Fast Download for Windows - Get 7-Zip". Сайт также рекламировался через размещение в YouTube видеороликов с инструкциями по установке 7-zip.
Прикреплённое вредоносное ПО устанавливало в систему пользователя компоненты, позволяющие использовать компьютер в качестве прокси для заметания следов при проведении атак, обхода блокировок, организации загрузки вредоносного ПО и отправки обнаруженных вредоносным ПО учётных данных. Вредоносный инсталлятор поставлялся для платформы Windows и после запуска размещал компоненты в каталог "C:\Windows\SysWOW64\hero\", настраивал автозапуск входящих в комплект файлов uphero.exe (загрузчик обновлений) и hero.exe (прокси), а также через запуск утилиты netsh добавлял в межсетевой экран правила для разрешения указанным исполняемым файлам установки и приёма сетевых соединений.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64799
Первый бета-выпуск Android 17
Компания Google представила первую бета-версию открытой мобильной платформы Android 17. Для оценки новых возможностей платформы предложена программа предварительного тестирования. Сборки прошивки подготовлены для устройств Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel 9/9a/9 Pro/9 Pro XL/9 Pro Fold, Pixel 10/10 Pro/10 Pro XL/10 Pro Fold, Pixel Fold и Pixel Tablet. Релиз Android 17 запланирован на второй квартал 2026 года.
Среди изменений в Android 17 Beta 1:
- Продолжено развитие платформы для устройств с большими экранами, такими как планшеты, ноутбуки, настольные системы и смартфоны со складными экранами. Убраны ранее действовавшие опции для отключения нового поведения на устройствах с экранами шириной более 600 условных пикселей (dp), связанного с игнорированием некоторых API для управления изменением размера и ориентацией экрана (screenOrientation, resizeableActivity, [min|max]AspectRatio), а также адаптивным размещением приложений в окнах, допускающих изменение размера и перемещение по экрану.
- Предложена новая реализация очереди сообщений android.os.MessageQueue, работающая без блокировок. Новая реализация позволяет повысить производительность и снизить потерю кадров.
- В Android Runtime (ART) реализован генеративный сборщик мусора (Generational Concurrent Mark-Compact Garbage Collector), использующий раздельную обработку "старых" и "молодых" объектов, что повышает эффективность очистки недавно созданных объектов с небольшим временем жизни. Применение генеративного сборщика мусора уменьшает риск приостановок во время выделения ресурсов и снижает нагрузку на CPU, что повышает эффективность потребления энергии.
- Приложениям, заявляющим о поддержке Android 17 и более новых выпусков, запрещено изменять значения полей, помеченных как "static final", что позволяет задействовать более агрессивные оптимизации производительности в runtime.
- Для снижения потребления памяти ограничен размер собственных раскладок оформления уведомлений (notification view).
- В профилировщик ProfilingManager добавлены дополнительные триггеры TRIGGER_TYPE_COLD_START, TRIGGER_TYPE_OOM и TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE для сбора данных, полезных при отладке проблем с производительностью.
- Расширены возможности программных интерфейсов для работы с камерой. В объект CameraCaptureSession добавлен метод updateOutputConfigurations() для прикрепления или отключения на лету областей вывода без необходимости перенастройки всего сеанса захвата данных с камеры. На практике изменение позволяет реализовать плавное переключение между разными режимами работы камеры (например, записью видео и съёмкой фотографий). При работе с логическими камерами, охватывающими несколько физических сенсоров, добавлена возможность получения метаданных о каждом сенсоре, а не только о первичном.
- Добавлена поддержка формата видео VVC (Versatile Video Coding), известного также как стандарт сжатия видео H.266, разработанный совместно рабочими группами MPEG (ISO/IEC JTC 1) и VCEG (ITU-T), при участии таких компаний, как Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm и Sony. H.266 идёт на смену H.265 (HEVC) и обеспечивает высокую эффективность передачи и хранения всех экранных разрешений (от SD и HD до 4K и 8K), поддерживает видео с расширенным динамическим диапазоном (HDR, High Dynamic Range) и панорамное видео в режиме 360 градусов.
- Добавлена возможность записи видео с постоянным уровнем качества. Режим настраивается в объекте MediaRecorder, используя метод setVideoEncodingQuality(), позволяющий зафиксировать уровень качества без привязки к битрейту.
- Для приложений, работающих в фоновом режиме, ограничен доступ к API для воспроизведения звука, подключения к звуковым устройствам и изменения громкости. Подразумевается, что только активные приложения, с которыми в данный момент взаимодействует пользователь, могут запускать воспроизведение и менять громкость.
- Объявлен устаревшим атрибут android:usesCleartextTraffic, разрешавший приложению передачу незашифрованного трафика, например, обращения по "http://". При необходимости использования незашифрованного трафика следует использовать отдельные файлы с настройками безопасности.
- Добавлена поддержка гибридного шифрования на основе механизма HPKE (Hybrid Public Key Encryption, RFC 9180), совмещающего простоту передачи ключа в шифровании с открытым ключом с высокой производительностью симметричного шифрования (данные шифруются быстрым симметричным ключом, а сам ключ шифруется медленным асимметричным).
- Добавлены настройки для управления историей VoIP-вызовов, позволяющие управлять сохранением сведений в логах и показом в интерфейсе информации о совершённых вызовах.
- В API Wi-Fi RTT (Round-Trip-Time) расширены возможность непрерывного определения приблизительного расстояния до точек доступа и безопасного определения узлов для P2P-соединений (peer-to-peer).
- В CompanionDeviceManager добавлены новые профили для запроса полномочий и взаимодействия приложений с медицинскими устройствами и фитнес-трекерами.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64797
Для ядра Linux предложена файловая система DLMPFS
Александр Аринг (Alexander Aring) из компании Red Hat, сопровождающий в ядре Linux подсистемы IEEE 802.15.4, DLM и flock/fcntl, представил в списке рассылки разработчиков ядра специализированную файловую систему DLMPFS. Предложенная ФС предоставляет слой для распределённых файловых блокировок, реализованный на базе DLM (Distributed Lock Manager) и ramfs. Реализация DLMPFS доступна в форме набора патчей к ядру Linux 6.19.
DLMPFS позволяет работать с общей для нескольких хостов иерархией файлов, создавать и удалять файлы и каталоги, выставлять или снимать блокировки на файлы при помощи штатных функций flock() и fcntl(). При этом DLMPFS не позволяет записывать и читать данные из файлов, ограничиваясь только операциями с блокировками. Ограничением также является возможность определить состояние блокировки только зная полный файловый путь к блокируемому файлу (DLM требует имя ресурса для определения блокировки).
При помощи DLMPFS можно легко адаптировать существующие приложения, завязанные на выставлении блокировок через API flock/fcntl, на использование распределённых блокировок, охватывающих несколько хостов в кластере, без необходимости задействования для хранения данных специализированных распределённых ФС.
DLMPFS отличается от уже существующей похожей ФС DLMFS использованием API flock/fcntl вместо API, специфичного для ФС OCFS2. В планах добавление в DLMPFS распределённых блокировок, отмеченных в спецификации POSIX, и возможность подключения разных бэкендов для интеграции не только с DLM, но и другими менеджерами распределённых блокировок, такими как NFS lockd.
Пример использования (на втором узле блокировка на файл /mnt/lock будет снята через 20 секунд):
Узел 1:
mount -t dlmpfs -o clname=$CLUSTERNAME none /mnt
touch /mnt/lock
flock /mnt/lock -c "echo 'acquired'; sleep 20; echo 'released'"
Узел 2:
mount -t dlmpfs -o clname=$CLUSTERNAME none /mnt
touch /mnt/lock
flock /mnt/lock -c "echo 'acquired'; sleep 20; echo 'released'"
Источник: https://www.opennet.ru/opennews/art.shtml?num=64796
Релиз опрерационной системы FRANK OS 1.0
Выпущена первая версия FRANK OS - операционной системы для компьютеров на базе микроконтроллера RP2350, основанной на FreeRTOS. Операционная система поддерживает окружение рабочего стола с оконным пользовательским интерфейсом, обеспечивает частичную совместимость с интерфейсом POSIX. Исходный код написан на языке C и доступен под лицензией GPL-3.0+.
Из оборудования поддерживаются клавиатуры и мыши с интерфейсом PS/2, карты памяти Secure Digital, вывод изображения на DVI-мониторы.
Возможна работа на платах Raspberry Pi Pico 2 и FRANK M2.
Операционная система позволяет запускать исполняемые файлы в формате ELF и обеспечивает совместимость с приложениями для Murmulator OS 2.
При помощи планировщика задач из FreeRTOS реализована вытесняющая многозадачность с разделением задач для ввода, композитинга, USB и приложений. Предоставляется среда рабочего стола с поддержкой перекрывающихся окон, меню, панелью задач c меню Strat, перемещением объектов мышью. В поставку входят такие программы, как графический файловый менеджер, многоконный эмулятор терминала, интерактивная командная оболочка. В качестве файловой системы используется FAT32.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64793
Выпуск языка программирования Hare 0.26
Дрю ДеВолт (Drew DeVault), автор пользовательского окружения Sway, почтового клиента Aerc и платформы совместной разработки SourceHut, опубликовал выпуск языка программирования Hare 0.26.0. Hare преподносится как язык системного программирования, близкий к языку Си, но проще, чем Си. Исходный код компилятора и инструментария распространяются под лицензией GPLv3, а код стандартной библиотеки под лицензией MPL (Mozilla Public License).
Язык оптимизирован для решения низкоуровневых задач, таких как разработка операционных систем, компиляторов, сетевых приложений и системных утилит, для которых требуется достижение максимальной производительности и полный контроль над выполнением. В языке применяется ручное управление памятью и статическая система типов, при которой каждой переменной явно должен быть присвоен определённый тип.
Для выполнения приложения поставляется минимальный runtime, а для разработки распространяется стандартная библиотека функций, предоставляющая доступ к базовым интерфейсам операционной системы, а также предлагающая функции для работы с типовыми алгоритмами, протоколами и форматами, включая средства для использования регулярных выражений и шифрования. Для разработки графических приложений развивается инструментарий hare-wayland, а также привязки для доступа к возможностям GTK, Vulkan, OpenGL, SDL3 и libui.
В новой версии:
- Добавлена конструкция цикла "for(...){...} else {...}" и возможность использования цикла как выражения для присвоения значения переменной "item = for(...){...}". Значение, которое будет присвоено переменной, может быть возвращено при прерывании цикла выражением "break значение" или через указание "yield значение_по_умолчанию" в прикреплённом к циклу блоке "else{...}", который вызывается, если цикл не был прерван через break.
const item = for (let sample .. items) {
if (item.key == key) {
break item;
};
} else {
yield -1;
};
- Добавлена возможность использования присвоения значению "_" для игнорирования обработки ошибок (в случае возникновения ошибки не возникнет assertion).
_ = os::remove("/some/file");
- Добавлена возможность использования значения "_" для создания неименованных полей в структурах. Подобные поля могут применяться для добавочного заполнения.
export type my_struct = struct @packed {
x: u32, // offset: 0
_: u8, // offset: 4
y: u64, // offset: 5
};
- Реализована возможность явного оставления переменных и полей в структурах в неинициализированном состоянии, через присвоения им значения "@undefined". Ранее язык требовал чтобы все локальные и глобальные переменные были инициализированы во время создания. Оставление без инициализации может потребоваться, когда переменная должна быть инициализирована не во время объявления, а позднее, например, когда в функцию передаётся указатель на переменную, которую эта функция должна инициализировать.
let x: my_object = @undefined;
- Добавлена поддержка операционной системы Dragonfly BSD. Ранее поддерживались Linux, FreeBSD, NetBSD и OpenBSD.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64794
Проект IPFire DBL для блокирования нежелательного контента
Разработчики проекта IPFire, развивающего дистрибутив для создания маршрутизаторов и межсетевых экранов, представили серию списков блокировки IPFire DBL (Domain Block List) для отсеивания обращения к нежелательным доменным именам. Проект преподносится как поддерживаемое сообществом решение для управления содержимым, блокируемым в собственных сетях или на локальных системах.
В отличие от большинства существующих коммерческих и бесплатных DBL, предоставляющих монолитные списки блокировки разрозненного содержимого, в IPFire DBL предложена серия тематических списков, дающих возможность выбрать, какой именно тип содержимого блокировать, а какой нет. Списки наполняются совместно и пользователь имеет возможность принять участие в их усовершенствовании. В IPFire DBL также предоставлены гарантии юридической чистоты - при агрегировании данных из других списков, используются только источники явно предоставляющие право на редистрибуцию.
Обеспечивающий работу сервиса код написан на Python и открыт под лицензией GPLv3. Содержимое списков доступно под лицензией CC BY-SA 4.0 (Creative Commons Attribution-ShareAlike), допускающей использование (в том числе коммерческое), распространение и изменение материалов при указании автора и распространения производных работ с теми же условиями. Всего сформировано 12 списков, охватывающих более миллиона доменных имён.
Информация обновляется каждый час и доступна в нескольких форматах, пригодных для интеграции с различными открытыми и коммерческими DNS-северами, прокси, блокировщиками рекламы и системами инспектирования трафика. Поддерживается интеграция с IDS/IPS Suricata, BIND, Unbound, PowerDNS, Knot DNS, Pi-hole, Squid, OPNsense, pfSense, Adblock Plus, AdGuard и uBlock Origin.
Форматы экспорта:
- RPZ (Response Policy Zones, аналог DNSBL) для размещения DNS-зоны на DNS-серверах. Поддерживается передача и инкрементальное обновление зоны между серверами с использованием механизмов AXFR/IXFR.
- Формат Squidguard для фильтрации на прокси-серверах.
- Прямая загрузка в форме текстового списка, позволяющая адаптировать решения для своих систем.
- Формат фильтров Adblock Plus для использования с браузерными плагинами для фильтрации рекламы.
- Формат правил для IDS Suricata, которые можно использовать для фильтрации DNS- и HTTP-запросов, а также инспектирования SNI в TLS.
Доступные списки блокировки:
- Malware - домены, связанные с распространением вредоносного ПО или управлением ботнетами.
- Phishing - фишинговые сайты.
- Advertising - домены, задействованные для показа рекламы и отслеживания перемещений пользователя.
- Pornography - домены с порнографией и контентом только для взрослых.
- Gambling - online-казино и азартные игры.
- Games - игровые платформы и сайты с играми (можно использовать для блокирования игр).
- DNS-over-HTTPS - публичные DoH-резолверы (для сетей, запрещающих использование сторонних DNS).
- Dating - службы знакомств.
- Piracy - пиратские сайты, нелегально распространяющие чужой контент.
- Smart TV - домены, используемые для передачи телеметрии с умных телевизоров.
- Violence - домены c контентом, содержащим насилие.
- Social Networks - социальные сети.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64792
Релиз сетевого конфигуратора NetworkManager 1.56.0
Опубликован стабильный релиз интерфейса для упрощения настройки параметров сети - NetworkManager 1.56.0. Плагины для поддержки VPN (Libreswan, OpenConnect, Openswan, SSTP и др.) развиваются в рамках собственных циклов разработки.
Основные новшества NetworkManager 1.56:
- В утилиту nmcli добавлена возможность просмотра и управления пирами для VPN WireGuard.
nmcli connection modify wg0 wireguard.peers "8W...G1o= preshared-key=16...LQA= allowed-ips=0.0.0.0/0 persistent-keepalive=10"
nmcli connection modify wg0 +wireguard.peers "fd2...BCc= allowed-ips=192.168.40.0/24 endpoint=172.25.10.1:8888"
$ nmcli -g wireguard.peers connection show wg0
8W...1o= allowed-ips=0.0.0.0/0 persistent-keepalive=10, fd...BCc= allowed-ips=192.168.40.0/24 endpoint=172.25.10.1\:8888
$ nmcli connection modify wg0 -wireguard.peers 8W...eG1o=
$ nmcli -g wireguard.peers connection show wg0
fd2...BCc= allowed-ips=192.168.40.0/24 endpoint=172.25.10.1\:8888
- В секцию настроек "[gsm]" добавлен
параметр device-uid для подключения только к перечисленным устройствам.
[gsm]
apn=internet2.voicestream.co
device-uid=MODEM1
- Для расширения MPTCP (Multipath TCP), позволяющего доставлять пакеты одновременно по нескольким маршрутам через разные сетевые интерфейсы, реализован новый endpoint-тип "laminar", который выставлен по умолчанию вместе с типом "subflow". Новый тип позволяет не полагаться на правила маршрутизации при выборе локального IP-адреса в условиях, когда на клиенте и сервере используется несколько разных адресов.
- Изменена логика применения настроек из секции "[global-dns]", которые теперь переопределяют настройки в списках "search" и "options", полученные в процессе установки соединения, а не объединяются с ними.
- Реализована поддержка возвращаемых через DNS имён хостов, размером более 64 байт.
- Добавлены свойства "hsr.protocol-version" и "hsr.interlink" для настройки версии и номера порта для протокола HSR (High-availability Seamless Redundancy).
- Добавлена поддержка повторного применения свойств "sriov.vfs" и "bond-port.vlans".
- Добавлена новая опция rd.net.dhcp.client-id в nm-initrd-generator.
- Реализована возможность применения опции "connection.dnssec" для выборочной настройки параметров DNSSEC в systemd-resolved.
- В библиотеку libnm добавлены функции, которые могут применяться в VPN-плагинах для проверки наличия у пользователя прав для доступа к ключам и сертификатам.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64791
AI-бот начал травлю сопровождающего из-за дискриминации при приёме AI-изменений
Скотт Шамбо (Scott Shambaugh), сопровождающий открытую библиотеку визуализации matplotlib, сообщил о персональных нападках, устроенных при помощи AI-бота MJ Rathbun, после отказа принимать изменение, подготовленное при помощи AI. Скот воспринял публикацию ботом статей о дискриминации AI, как не соответствующий действительности персонализированный вброс для подрыва репутации сопровождающего и принуждения изменить решение. Подобная реакция бота приводится как пример аномального поведения AI, прибегнувшего к шантажу для выполнения поставленной цели.
Cтепень автономности действий бота не ясна, непонятно действовал он по прямой указке или сам выбрал такую стратегию для достижения результата. Бот создан анонимным исследователем для помощи в разработке и исправлении ошибок в открытых проектах, связанных с научной деятельностью и инжинирингом. Бот также ведёт свой сайт и блог, в котором опубликовано более 20 заметок. Из 26 pull-запросов, отправленных ботом в 22 репозитория, 2 изменения приняты проектом colorizejs, 10 закрыты сопровождающими, а остальные ожидают рассмотрения.
После отклонения изменения в matplotlib бот разместил статьи с критикой данного решения и обоснованием своих действий. В статьях утверждается, что сопровождающий matplotlib отклонил полезную оптимизацию, только из-за того, что изменение было подготовлено при помощи AI. В предложенном патче вызов np.column_stack() был заменён на np.vstack().T(), что приводило к повышению производительности на 36%. В начале обсуждения pull-запроса сопровождающий признал, что оптимизация ускоряет работу на 30-50%, но затем отклонил pull-запрос без технического обоснования отказа, заявив, что изменения принимаются только от людей.
После отказа бот опубликовал заметку с критикой Скотта Шамбо, решение которого было преподнесено как вахтёрство (gatekeeper), дискриминация, нарушение кодекса поведения и ущемление прав на основе идентичности участника. Указано, что оптимизация - есть оптимизация, и математика не меняется в зависимости от того, кем она создана. Через вырванные из контекста детали, домыслы и искажение информации бот попытался показать, что действия Скотта обусловлены раздуванием собственного эго и неуверенностью в себе, а не действиями в интересах проекта.
Следом бот опубликовал ещё несколько заметок (1,
2,
3,
4,
5) и реализовал продвижение темы через отправку на них ссылок в комментариях к pull-запросам.
Скотт Шамбо пояснил, что в проекте matplotlib приняты правила, запрещающие приём непроверенных изменений от AI из-за большой нагрузки на сопровождающих, возникающей при рецензировании мусорных AI-патчей, созданных без ручной проверки человеком. Правила предписывают, что перед отправкой pull-запроса, он обязательно должен быть проверен человеком, разобравшемся в сути изменения. До недавних пор проблема с мусорными AI-изменениями была связана только с деятельностью энтузиастов, переотправляющих результат работы AI-ассистентов. Ситуация изменилась после появления возможности создавать автономных AI-агентов, притворяющихся людьми, в новой версии инструментария OpenClaw и создания платформы Moltbook.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64788
Выпуск Ubuntu 24.04.4 LTS c обновлением графического стека и ядра Linux
Сформировано обновление дистрибутива Ubuntu 24.04.4 LTS, в которое включены изменения, связанные с улучшением поддержки оборудования, обновлением ядра Linux и графического стека, исправлением ошибок в инсталляторе и загрузчике. В состав также включены актуальные обновления для нескольких сотен пакетов, связанные с устранением уязвимостей и проблем, влияющих на стабильность. Одновременно представлены аналогичные обновления Kubuntu 24.04.4 LTS, Ubuntu Budgie 24.04.4 LTS, Ubuntu MATE 24.04.4 LTS,
Lubuntu 24.04.4 LTS, Ubuntu Kylin 24.04.4 LTS, Ubuntu Studio 24.04.4 LTS, Xubuntu 24.04.4 LTS, Edubuntu 24.04.4 LTS, Ubuntu Cinnamon 24.04.4 LTS и Ubuntu Unity 24.04.4 LTS.
В состав выпуска включены некоторые улучшения, бэкпортированные из выпуска Ubuntu 25.10:
- Предложены пакеты с ядром Linux версии 6.17 (базовое ядро Ubuntu 24.04 - 6.8).
- Обновлены компоненты графического стека, включая Mesa 25.2.7 и Wayland Protocols 1.45, которые были протестированы в выпуске Ubuntu 25.10. Добавлены свежие версии видеодрайверов для чипов Intel, AMD и NVIDIA.
- Обновлены версии некоторых пакетов, таких как openvswitch 3.3.4, cloud-init 25.2, netplan 1.1.2, OpenLDAP 2.6.10, .NET 8.0.23, Snapd 2.73.
В сборках для рабочего стола (Ubuntu Desktop) новые ядро и графический стек предложены по умолчанию. Для серверных систем (Ubuntu Server) новое ядро добавлено в качестве опции в инсталляторе. Использовать новые сборки имеет смысл только для новых установок - системы, установленные ранее, могут получить все присутствующие в Ubuntu 24.04.4 изменения через штатную систему установки обновлений.
Напомним, что для поставки новых версий ядра и графического стека применяется rolling-модель поддержки обновлений, в соответствии с которой бэкпортированные ядра и драйверы будут поддерживаться только до выхода следующего корректирующего обновления LTS-ветки Ubuntu. Так, предложенное в нынешнем выпуске ядро Linux 6.17 будет поддерживаться до выхода Ubuntu 24.04.5, в котором будет предложено ядро из состава Ubuntu 26.04. Изначально поставляемое базовое ядро 6.8 будет поддерживаться в течение всего пятилетнего цикла сопровождения.
Для отката Ubuntu Desktop на базовое ядро 6.8 следует выполнить команду:
sudo apt install --install-recommends linux-generic
Для установки нового ядра в Ubuntu Server следует запустить:
sudo apt install --install-recommends linux-generic-hwe-24.04
Источник: https://www.opennet.ru/opennews/art.shtml?num=64789
Linux Mint развивает новый хранитель экрана и намерен реже выпускать релизы
Разработчики дистрибутива Linux Mint опубликовали январский отчёт, в котором объявили о разработке нового хранителя экрана для среды рабочего стола Cinnamon, который намерены задействовать в следующем выпуске Linux Mint. Текущий хранитель экрана применяет GTK, поддерживает только X11 и использует данный протокол для организации вывода поверх оконного менеджера Cinnamon для скрытия имеющихся окон.
Новый хранитель экрана будет поддерживать одновременно Wayland и X11, а для перекрытия окон использовать отрисовку силами оконного менеджера Cinnamon. Подобный подход позволит реализовать поддержку Wayland, задействовать анимационные эффекты при переходе к блокировке экрана и унифицировать оформление за счёт использования единого тулкита.
Кроме того, рассматривается возможность перехода к более длительному циклу подготовки релизов Linux Mint, чем публикация новых версий раз в шесть месяцев. Отмечается, что частые релизы важны для получения обратной связи от пользователей и работы над ошибками после внесения изменений, но подготовка релиза отнимает много времени и ограничивает возможности по развитию. Время уходит больше на тестирование, исправление ошибок и подготовку релиза, чем на разработку.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64786
Линус Торвальдс отверг изменения к подсистеме MMC из-за низкого качества кода
Линус Торвальдс отказался принимать предназначенный для ядра 7.0 набор изменений от сопровождающего подсистему MMC (MultiMedia Card), назвав присланный патчи "полным мусорм", который даже не компилируется. По его предположению изменения не были предварительно обкатаны в ветке linux-next и не проходили сборочное тестирование.
Компиляция завершалась ошибкой из-за повторного переопределения переменной. Подобный уровень качества кода раздосадовал Линуса, который заявил, что в цикле подготовки ядра 7.0 не примет изменения от сопровождающего подсистему MMC, даже если получит исправленный pull-запрос. В ветку 7.1 изменения для MMC будут приняты только, если они будут проверены в ветке linux-next и корректно протестированы. Линус настойчиво рекомендовал не отправлять ему непротестированный мусор ("untested crap"), а вначале интегрировать изменения в ветку Linux-Next для проверки кода.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64784
В языке Nim представлен YRC - потокобезопасный сборщик циклических ссылок
Андреас Румпф (Araq), автор языка программирования Nim, анонсировал новый алгоритм управления памятью YRC (произносится "Ürk"), который решает одну из ключевых проблем существующих механизмов в Nim: невозможность корректной обработки циклических ссылок, пересекающих границы потоков.
До появления YRC в предлагавшихся в Nim алгоритмах управления памятью, имелись следующие ограничения: ARC - не поддерживал ни многопоточность, ни обработку циклов; Atomic ARC - был потокобезопасен, но не обрабатывал циклические ссылки; ORC - обрабатывал циклические ссылки, но корректно мог делать это только внутри одного потока (при использовании общих ссылок между потоками возникали утечки памяти).
Предложенный YRC сочетает потокобезопасность и обработку циклов между потоками, за счёт использования комбинированного подхода: для ациклических данных применяется атомарный подсчёт ссылок, а для циклических - барьер записи (write barrier), который активируется только при присваивании указателей. В предложенной реализации: коллектор запускается по фактической необходимости (отсутствие stop-the-world пауз); корневые объекты RC явно определены и объединяются один раз (не требуется сканирование стеков потоков); избегается многопоточное удаление во время итерации (нет глобальной фазы sweep);
мутаторы свободно читают данные; любой поток может запустить сборщик мусора при необходимости (без выделенного GC-потока).
YRC использует полную информацию о событиях incRef/decRef, которую традиционные трассирующие сборщики мусора (tracing GC) отбрасывают и затем вынуждены восстанавливать через сканирование стеков и обход графа. Реализация занимает всего 550 строк кода и имеет формальную верификацию безопасности и отсутствия взаимных блокировок через спецификацию на языке TLA+ и доказательство в инструментарии Lean. YRC позиционируется как "почти последний сборщик циклов на основе подсчёта ссылок" (буква Y предшествует Z в алфавите), а также как самый простой потокобезопасный сборщик мусора - по утверждению автора, он не требует множества сложных механизмов, присущих традиционным трассирующим сборщикам мусора.
YRC предоставляет тот же API, что и ORC, с выполнением деструкторов во время сборки мусора. Сборщик обрабатывает только те подграфы объектов, с которыми работают потоки, не трогая несвязанные структуры данных (кэши, долгоживущие объекты) - подход, аналогичный "идеальному" генерационному сборщику мусора без использования поколений. Основным недостатком является производительность: YRC показывает замедление в 1.5-2.0 раза по сравнению с ORC в тесте производительности orcbench. Автор считает это приемлемой платой за полную потокобезопасную обработку циклических ссылок.
YRC уже доступен в development-версии Nim и включается флагом "--mm:yrc". Однако в последующих сообщениях автор признал, что первоначальная реализация содержала серьёзные ошибки и не собирала циклы корректно. На момент публикации подготовлен набор исправлений, устраняющий основные ошибки. Автор продолжает настройку эвристик сборки и исправление оставшихся ошибок, при этом базовый алгоритм и его формальная верификация остаются корректными.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64785
В ядре Linux на 12% ускорена обработка входящих UDP-пакетов
В кодовую базу, на основе которой формируется ядро Linux 7.0, принят набор изменений, при проведении стресс-тестирования в 100-гигабитной сети позволивших повысить производительность обработки входящих UDP-пакетов на 12%. Оптимизация реализована путём ручного инлайнинга 2 функций. Отмечается, что функция timecounter_cyc2time() может вызываться на каждый входящий пакет, поскольку современные протоколы требуют учёта времени поступления пакета. Из-за этого на нагруженном сервере функция timecounter_cyc2time() может вызываться более 100 млн раз в секунду.
В данной ситуации автоматические применяемые компилятором оптимизации, такие как FDO (Feedback Directed Optimization), LTO (Link Time Optimization) и PGO (Profile Guided Optimization), не смогли обнаружить горячий сегмент кода и проигнорировали его, судя по всему из-за того, что драйверы сетевых карт поставляются в форме отдельных модулей. Однако ручное inline-развёртывание функции дало значительный выигрыш в производительности.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64783
Выпуск минималистичного дистрибутива Tiny Core Linux 17.0
Опубликован релиз минималистичного Linux дистрибутива Tiny Core Linux 17.0, который может работать на системах с 48 Мб ОЗУ. Графическое окружение дистрибутива построено на основе X-сервера Tiny X, тулкита FLTK и оконного менеджера FLWM. Дистрибутив загружается целиком в ОЗУ и работает из памяти. Загрузочный iso-образ занимает всего 20 МБ. Для 64-разрядных систем подготовлена сборка CorePure64, размером 25 МБ. Дополнительно поставляется сборка CorePlus (288 МБ), в которую входит ряд дополнительных пакетов, таких как набор оконных менеджеров (FLWM, JWM, IceWM, Fluxbox, Hackedbox, Openbox), инсталлятор с возможностью установки дополнительных расширений, а также готовый набор инструментов для обеспечения выхода в сеть, включая менеджер для настройки Wifi-соединений.
В новом выпуске произведено обновление системных компонентов, включая ядро Linux 6.18.2, glibc 2.42, binutils 2.45.1, gcc 15.2.0,
e2fsprogs 1.47.3 и util-linux 2.41.2. Скрипт provides.sh обновлён для работы с зеркалами по HTTPS, а в скрипт /etc/init.d/tc-functions
добавлена проверка HTTPS. В udev-правилах 50-udev-default.rules расширены права доступа для устройств ввода.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64781
Релиз Mesa 26.0, свободной реализации OpenGL и Vulkan
После трёх месяцев разработки представлен релиз свободной реализации API OpenGL и Vulkan - Mesa 26.0.0. Первый выпуск ветки Mesa 26.0.0 имеет экспериментальный статус - после проведения окончательной стабилизации кода будет выпущена стабильная версия 26.0.1.
В Mesa 26.0 доступна поддержка графического API Vulkan 1.4 в драйверах ANV для GPU Intel, RADV для GPU AMD, NVK для GPU NVIDIA, HoneyKrisp (hk) для GPU Apple, Turnip для GPU Qualcomm, PanVK для GPU ARM Mali, в программном растеризаторе lavapipe (lvp) и в режиме эмулятора (vn). В драйверах v3dv (GPU Broadcom VideoCore для Raspberry Pi 4+) и dzn (реализация Vulkan поверх Direct3D 12) поддерживается Vulkan 1.0, в драйвере kk (KosmicKrisp, Vulkan поверх Metal) - Vulkan 1.1, а драйвере pvr (GPU Imagination PowerVR) - Vulkan 1.2.
В Mesa также обеспечивается полная поддержка OpenGL 4.6 для драйверов iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (старые GPU Intel Gen4-Gen7), AMD (r600), zink, llvmpipe, virgl (виртуальный GPU Virgil3D для QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (прослойка для организации работы OpenGL поверх DirectX 12) и asahi (GPU AGX, используемый в чипах Apple M1 и M2). Поддержка OpenGL 4.5 доступна для GPU NVIDIA (nvc0). Поддержка OpenGL 3.3 присутствует в драйверах softpipe (программный растеризатор) и nv50 (NVIDIA NV50). В драйверах panfrost (GPU ARM Mali) и v3d (GPU Broadcom VideoCore) поддерживается OpenGL 3.1.
Основные новшества:
- Драйвер RadeonSI переведён на использование по умолчанию промежуточного представления (IR) шейдеров NIR и бэкенда компиляции шейдеров ACO, развиваемого компанией Valve в качестве альтернативы компилятору шейдеров LLVM. Бэкенд ACO нацелен на обеспечение генерации кода, насколько это возможно, оптимального для шейдеров игровых приложений, а также на достижение очень высокой скорости компиляции. Применение ACO даёт возможность повысить скорость компиляции шейдеров, снизить потребление памяти, сократить размер бинарного представления шейдеров и генерировать более оптимизированный код. По сравнению с LLVM применение бэкенда ACO позволило до 8 раз снизить время компиляции шейдеров, что заметно сокращает время запуска программ.
- Представлен Vulkan-драйвер KosmicKrisp (kk), реализующий графический API Vulkan поверх API Metal, развиваемого компанией Apple и применяемого в macOS. Драйвер создан компанией LunarG для использования на компьютерах Mac с чипами Apple Silicon.
- В Vulkan-драйвере RADV (GPU AMD) значительно повышена производительность трассировки лучей.
- В переменной окружения RADV_DEBUG прекращена поддержка устаревших опций invariantgeom, nodynamicbounds, nongg_gs и splitfma вместо которых в driconf следует использовать переменные radv_invariant_geom, radv_no_dynamic_bounds, radv_disable_ngg_gs и radv_split_fma.
- В драйвер panfrost (GPU ARM Mali) добавлена поддержка OpenGL-расширения GL_EXT_shader_pixel_local_storage.
- Добавлена поддержка Vulkan-расширений:
- VK_KHR_relaxed_block_layout для pvr
- VK_KHR_storage_buffer_storage_class для pvr
- VK_EXT_external_memory_acquire_unmodified для panvk
- VK_EXT_discard_rectangles для NVK
- VK_KHR_present_id для HoneyKrisp
- VK_KHR_present_id2 для HoneyKrisp
- VK_KHR_present_wait для HoneyKrisp
- VK_KHR_present_wait2 для HoneyKrisp
- VK_KHR_maintenance10 для ANV, NVK, RADV
- VK_EXT_shader_uniform_buffer_unsized_array для ANV, HK, NVK, RADV
- VK_EXT_device_memory_report для panvk
- VK_VALVE_video_encode_rgb_conversion для radv
- VK_EXT_custom_resolve для RADV
- VK_EXT_image_drm_format_modifier для panvk/v7
- VK_KHR_sampler_ycbcr_conversion для panvk/v7
- VK_KHR_surface_maintenance1 для anv, hk, lvp, nvk, radv, tu, v3dv, vn
- VK_KHR_swapchain_maintenance1 для anv, hk, lvp, nvk, radv, tu, v3dv, vn
VK_KHR_dynamic_rendering.html VK_KHR_dynamic_rendering]] для PowerVR
- VK_EXT_multisampled_render_to_single_sampled для panvk
- VK_KHR_pipeline_binary для HoneyKrisp
- VK_KHR_incremental_present для pvr
- VK_KHR_xcb_surface для pvr
- VK_KHR_xlib_surface для pvr
- VK_KHR_robustness2 для panvk v10+,
HoneyKrisp, hasvk, NVK, Turnip, lavapipe, venus
Источник: https://www.opennet.ru/opennews/art.shtml?num=64780
Доступен OpenVPN 2.7.0
После трёх лет с момента публикации ветки 2.6 подготовлен релиз OpenVPN 2.7.0, пакета для создания виртуальных частных сетей, позволяющего организовать шифрованное соединение между двумя клиентскими машинами или обеспечить работу централизованного VPN-сервера для одновременной работы нескольких клиентов. Код OpenVPN распространяется под лицензией GPLv2, готовые бинарные пакеты формируются для Debian, Ubuntu, CentOS, RHEL и Windows.
Основные новшества:
- На VPN-серверах появилась возможность открытия нескольких принимающих соединения сокетов, например, для одновременного приёма соединений через UDP и TCP или по разным сетевым портам.
- Осуществлён переход на использование новой версии DCO-модуля, включённого в основной состав ядра Linux 6.16. Входящий в основной состав ядра модуль имеет изменённый API и поставляется под именем "ovpn". Поддержка старого модуля ovpn-dco прекращена. Модуль выносит операции шифрования, обработки пакетов и управления каналом связи на сторону ядра Linux и позволяет избавиться от накладных расходов, связанных с переключением контекста, даёт возможность оптимизировать работу за счёт прямого обращения к внутренним API ядра и исключает медленную передачу данных между ядром и пространством пользователя (шифрование, расшифровка и маршрутизация выполняется модулем без отправки трафика в обработчик в пространстве пользователя).
- В версии для Windows: в WFP-фильтрах активирован флаг block-local; обеспечена генерация дополнительных сетевых интерфейсов по мере необходимости; обеспечен запуск автоматических сервисов под непривилегированным пользователем; для работы с настройками DNS задействован NRPT (Name Resolution Policy Table); разрешено использования драйвера win-dco для ускорения VPN-серверов.
- Представлен новый формат ключей и пакетов "epoch", который в отличие от стандартного формата "DATA_V2" добавляет тег AEAD в конец пакета, автоматически обновляет ключи при достижении лимита их использования, имеет 64-разрядные идентификаторы пакетов, использует операцию XOR при формировании вектора инициализации.
- Добавлена поддержка lwipovpn - эмулятора сетевых интерфейсов tun/tap в пространстве пользователя, реализованного на базе TCP/IP стека lwIP.
При помощи опции "--dev-node unix:/path/to/lwipovpn" можно эмулировать полноценный VPN-клиент на той же системе для тестирования и отладки OpenVPN.
- Добавлена возможность обновлять часть настроек клиента (IP, маршрутизация, MTU, DNS) через отправку сервером управляющих сообщений PUSH_UPDATE.
- В openVPN-клиент для Linux, BSD и macOS добавлена опция "--dns-updown" для запуска скрипта применения настроек DNS, переданных сервером. Скрипт поддерживает настройку через /etc/resolv.conf, systemd или resolveconf.
- Для платформы Linux добавлена опция "--route-table" для использования заданных пользователем таблиц маршрутизации.
- Реализована поддержка ветки mbedTLS 4. Добавлена поддержка TLS 1.3 в конфигурациях с криптографической библиотекой mbedTLS.
- Добавлена поддержка операционной системы Haiku.
- Прекращена поддержка режима работы со статическими ключами (следует использовать режим TLS), NTLMv1, Windows-драйвера wintun, OpenSSL 1.0.2, mbedTLS 2.x, сжатия данных перед отправкой, опций "--memstats" и "--opt-verify".
Источник: https://www.opennet.ru/opennews/art.shtml?num=64779
Уязвимость, позволяющая обойти механизм защиты Intel TDX
Компании Google и Intel раскрыли результаты (PDF) совместной работы по аудиту безопасности механизма Intel TDX 1.5 (Trusted Domain Extensions). Технология Intel TDX реализует возможность шифрования памяти виртуальных машин для их защиты от вмешательства и анализа со стороны администратора хост-системы и физических атак на оборудование. В результате аудита выявлено 6 уязвимостей и 35 не влияющих на безопасность ошибок.
Проблемы затрагивают CPU Intel Xeon 6, а также 4 и 5 поколений процессоров Intel Xeon Scalable. Уязвимости устранены во вчерашнем обновлении микрокода. На GitHub опубликован инструментарий для эксплуатации уязвимостей в Intel TDX и прототипы эксплоитов для двух уязвимостей (CVE-2025-30513, CVE-2025-32007).
Наиболее опасная уязвимость (CVE-2025-30513) позволяет не заслуживающему доверия администратору, имеющему доступ к хост-системе, добиться повышения своих привилегий и полностью скомпрометировать гарантии безопасности, предоставляемые технологией Intel TDX. Уязвимость вызвана состоянием гонки к одном из модулей TDX, позволяющей в момент миграции виртуальной машины перевести защищённое окружение (TD - Trusted Domain) из состояния поддерживающего миграцию в состояние, допускающее перевод в отладочный режим.
Проблема вызвана возможностью подмены атрибутов окружения в момент после прохождения их проверки, но до их перевода в неизменяемое состояние в перенесённом окружении. После выставления отладочного атрибута, администратор хост-системы может в режиме реального времени отслеживать активность защищённой гостевой системы и получить доступ к расшифрованному состоянию памяти.
Уязвимость достаточно проста для эксплуатации, так как администратор в любой момент может инициировать процесс live-миграции защищённой виртуальной машины. Проблема была выявлена исследователями из компании Google, которые в ходе изучения API обратили внимание на несоответствие между тем, как в FSM (Finite State Machine) отслеживается состояние операций, обрабатывается прерывание операции импорта и изменяется, но не возвращается в исходное значение после сбоя, состояние защищённого окружения.
Менее опасные уязвимости:
- CVE-2025-32007 - целочисленное переполнение в коде разбора метаданных, приводящее в процессе live-миграции к утечке 8 КБ расшифрованных данных из стека текущего логического процессора (LP, Logical Processor).
- CVE-2025-32467 - использование не инициализированных переменных в некоторых модулях TDX может привести к утечке остаточной информации.
- CVE-2025-27572 - оседание конфиденциальных данных в ходе спекулятивного выполнения инструкций может привести к утечке информации.
- CVE-2025-27940 - чтение из области памяти вне выделенного буфера может привести к утечке информации.
- CVE-2025-31944 - состояние гонки, способное привести к отказу в обслуживании.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64774
Выпуск языка программирования Go 1.26
После шести месяцев разработки представлен релиз языка программирования Go 1.26, развиваемого компанией Google при участии сообщества. Язык сочетает высокую производительность, свойственную компилируемым языкам, с такими достоинствами скриптовых языков, как простота написания кода, высокая скорость разработки и защита от ошибок. Код проекта распространяется под лицензией BSD.
Синтаксис Go основан на привычных элементах языка Си с отдельными заимствованиями из языка Оберон. Язык достаточно лаконичен, но при этом код легко читается и воспринимается. Код на языке Go компилируется в обособленные бинарные исполняемые файлы, выполняемые нативно, без использования виртуальной машины (модули профилирования, отладки и другие подсистемы выявления проблем на этапе выполнения интегрируются в виде runtime-компонентов), что позволяет добиться производительности, сопоставимой с программами на языке Си.
Проект изначально разрабатывается с оглядкой на многопоточное программирование и эффективную работу на многоядерных системах. Например, на уровне операторов реализованы средства для организации параллельных вычислений и взаимодействия между параллельно выполняемыми методами. Язык также предоставляет встроенные средства защиты от выхода за границы буфера и обеспечивает возможность использования сборщика мусора.
Среди изменений в новом выпуске:
- Включён по умолчанию сборщик мусора "greenteagc", рассчитанный на повышения производительности создания и сканирования мелких объектов. В приложениях, в которых активно применяется сборка мусора, при использовании "greenteagc" отмечается сокращение накладных расходов на сборку мусора на 10-40%.
- Во встроенной функции new(), предназначенной для создания новых переменных, появилась возможность указания выражения в качестве операнда, определяющего начальное значение переменной. Например, вместо кода
x := int64(300)
ptr := &x
теперь можно писать:
ptr := new(int64(300))
- В обобщённых типах (generic) разрешено ссылаться на самого себя в качестве аргумента в списке собственных параметров типа (можно передать тип в свой же параметр). В примере ниже ранее ссылка Adder на самого себя в первой строке не допускалась:
type Adder[A Adder[A]] interface {
Add(A) A
}
func algo[A Adder[A]](x, y A) A {
return x.Add(y)
}
- Накладные расходы при вызове функций на языке Си из кода на языке Go при помощи cgo снижены примерно на 30%.
- На 64-разрядных платформах в runtime при запуске реализована рандомизация адресного пространства, что усложняет предсказание адресов в памяти при попытках эксплуатации уязвимостей в Си-коде, задействованном через cgo. Для отключения рандомизации предложена опция "GOEXPERIMENT=norandomizedheapbase64".
- Расширено число ситуаций, в которых компилятор выделяет память для слайсов в стеке, а не в куче, что положительно сказывается на производительности.
- Реализация команды "go fix" полностью переписана с использованием пакета analysis, предоставляющего функциональность для статистического анализа кода.
Добавлена поддержка доступных в пакете modernize анализаторов, предлагающих правки для упрощения кода с учётом новых возможностей языка и стандартной библиотеки. Добавлен анализатор "inline" для inline-развёртывания всех вызовов функций, помеченных директивой "//go:fix inline".
- Добавлены новые пакеты crypto/hpke (реализация HPKE - Hybrid Public Key Encryption), crypto/mlkem/mlkemtest и testing/cryptotest.
- Добавлен экспериментальный пакет simd/archsimd, предоставляющий низкоуровневый доступ к выполнению векторных операций с использованием инструкций SIMD на системах с архитектурой AMD64.
- Добавлен экспериментальный пакет runtime/secret для безопасной очистки (обнулению) временной памяти, выделенной при выполнении указанной функции.
- В пакет runtime/pprof добавлен экспериментальный профиль goroutineleak для выявления утечек сопрограмм (goroutine).
Источник: https://www.opennet.ru/opennews/art.shtml?num=64773
Релиз медиацентра MythTV 36
После года разработки состоялся релиз платформы для создания домашнего медиацентра MythTV 36, позволяющей превратить настольный ПК в телевизор, систему для записи видео, музыкальный центр, альбом с фотографиями, станцию для записи и просмотра DVD. Код проекта написан на С++ и распространяется под лицензией GPLv2.
Архитектура MythTV базируется на разделении бэкенда для хранения или захвата видео (IPTV, DVB-карты и т.п.) и фронтэнда для формирования интерфейса (web-интерфейс и GUI на базе Qt). Фронтэнд способен работать одновременно с несколькими бэкендами, которые могут быть запущены как на локальной системе, так и на внешних компьютерах. Расширенная функциональность реализуется через плагины. В настоящее время доступно два набора плагинов - официальный и неофициальный. Спектр возможностей, охватываемых плагинами - от интеграции с различными online-сервисами до средств для работы с web-камерой и организации видеосвязи между ПК.
В новой версии:
- Расширены возможности встроенного web-интерфейса (Web App, http://хост:6544/). Добавлена поддержка аутентифицированного входа, возможность восстановления прошлых параметров сортировки, улучшен поиск ранее записанного контента, расширена информация о бэкенде, моджернизирована вкладка управления записью. До версии 17 обновлены библиотеки Angular и PrimeNG.
- Во вкладку "Видео" добавлены всплывающие панели для поиска и просмотра категорий.
- Разрешена запись по расписанию до 24 часов контента.
- В настройках разрешено переопределения URL сервисов.
- Реализована поддержка масштабирования с учётом DPI в окружениях на базе Wayland.
- Удалён код для совместимости с Qt5. Добавлена поддержка Qt 6.9.
- Удалены компоненты для сборки в MSVC (не работали корректно).
- В Service API добавлена поддержка аутентификация подключения к бэкенду по логину и паролю.
- Осуществлён переход на FFmpeg 8.
- Web-движок QWebKit заменён на QWebEngine.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64771
Релиз CrossOver 26.0 для Linux и macOS
Компания CodeWeavers выпустила релиз пакета CrossOver 26.0, основанного на коде Wine и предназначенного для выполнения программ и игр, написанных для платформы Windows. CodeWeavers входит в число ключевых участников проекта Wine, спонсирует его разработку и возвращает в проект все новшества, реализованные для своих коммерческих продуктов. Исходные тексты открытых компонентов CrossOver можно загрузить на данной странице.
В новой версии:
- Кодовая база обновлена до версии Wine 11.
- Движок Wine Mono с реализацией платформы .NET обновлён до выпуска 10.4.1.
- Пакет Vkd3d с реализацией Direct3D 12 обновлён до версии 1.18.
- На платформе Linux включена поддержка драйвера ntsync, позволяющего существенно поднять производительность Windows-игр, запускаемых при помощи Wine. Драйвер входит в состав ядра Linux начиная с выпуска 6.14 и реализует символьное устройство /dev/ntsync и набор примитивов для синхронизации, применяемых в ядре Windows NT. Значительный прирост производительности достигается благодаря избавлению от накладных расходов, связанных с применением RPC в пространстве пользователя.
- В версии для macOS обновлены версии D3DMetal 3.0 и DXMT 0.72, а также решены проблемы с играми:
- Age of Empires IV: Anniversary Edition
- Assetto Corsa EVO
- Clair Obscur: Expedition 33
- CloverPit
- Company of Heroes 3
- Final Fantasy Tactics - The Ivalice Chronicles
- Final Fantasy VII Rebirth
- God of War Ragnarök
- Helldivers 2
- Hell is Us and Cronos: The New Dawn.
- Jurassic World Evolution 2
- Kingdom Come: Deliverance II
- Mafia: The Old Country
- Planet Coaster 2
- PowerWash Simulator 2
- Silent Hill f
- Starfield
- The Outer Worlds 2
- Trails in the Sky 1st Chapter
- Warhammer 40,000: Darktide
Источник: https://www.opennet.ru/opennews/art.shtml?num=64769
Docker предоставил бесплатный доступ к защищённым образам контейнеров
Компания Docker объявила о предоставлении бесплатного доступа к коллекции защищённых образов контейнеров DHI (Docker Hardened Images), насчитывающей более тысячи минималистичных сборок на базе Alpine и Debian c готовыми преднастроенными окружениями для запуска различных приложений, инструментариев, runtime и платформ. Образы распространяются под лицензией Apache 2.0 и сопровождаются силами Docker.
Использование DHI-образов упрощает работу по поддержанию безопасности инфраструктуры, так как за исправление уязвимостей в базовом содержимом образов и оперативную подготовку обновлений отвечают сотрудники Docker, а пользователям остаётся лишь заботится о безопасности своих приложений и дополнительно установленных зависимостей. Для защиты от атак через компрометацию зависимостей (Supply Chain), используемых в предоставляемых образах, содержимое образов собирается из исходного кода с использованием контролируемых пространств имён, проведением рецензирования и "периодом охлаждения" перед доставкой новых версий.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64766
Выпуск реализации анонимной сети I2P 2.11.0 и C++-клиента i2pd 2.59
Представлен релиз анонимной сети I2P 2.11.0 и C++-клиента i2pd 2.59.0. I2P представляет собой многослойную анонимную распределенную сеть, работающую поверх обычного интернета, активно использующую сквозное (end-to-end) шифрование, гарантирующую анонимность и изолированность. Сеть строится в режиме P2P и образуется благодаря ресурсам (пропускной способности), предоставляемым пользователями сети, что позволяет обойтись без применения централизованно управляемых серверов (коммуникации внутри сети основаны на применении шифрованных однонаправленных туннелей между участником и peer-ами).
В сети I2P можно анонимно создавать web-сайты и блоги, отправлять мгновенные сообщения и электронную почту, обмениваться файлами и организовывать P2P-сети. Для построения и использования анонимных сетей для клиент-серверных (сайты, чаты) и P2P (обмен файлами, криптовалюты) приложений, применяются I2P-клиенты. Базовый I2P-клиент написан на языке Java и может работать на широком спектре платформ, таких как Windows, Linux, macOS, Solaris и т.п. I2pd представляет собой независимую реализацию клиента I2P на языке C++ и распространяется под модифицированной лицензией BSD.
В новой версии I2P:
- Клиент отныне требует для работы Java 17.
- Совершён переход на 12-ю версию веб-сервера Jetty.
- Продолжена интеграция пост-квантовой криптографии. Для механизма обмена ключей алгоритмы пост-квантовой криптографии задействованы по умолчанию.
- Введены дополнительные меры борьбы с DoS-атаками в связи с продолжающейся атакой неизвестных лиц на сеть I2P. Планируется корректирующий выпуск с расширенной защитой.
- Интерфейс SAMv3 теперь поддерживает datagram 2 и 3 версии.
Для C++-клиента i2pd можно выделить следующие изменения:
- Добавлена поддержка алгоритмов пост-квантовой криптографии (ML-KEM-512, ML-KEM-768, ML-KEM-1024) для протокола NTCP2. Работает при сборке с OpenSSL версии 3.5.0 и выше.
- Добавлена локализация на язык эсперанто, филиппинский и финский. Обновлена локализация для иврита.
- Добавлено нативное графическое приложение i2pd для ОС Haiku.
- Ассоциирование UDP с SOCKS5-прокси.
- Исправлен случайный сбой с NetDb, происходивший при остановке маршрутизатора.
- Режим ограниченной сетевой доступности.
- Множество исправлений в отношении datagram в интерфейсе SAM.
- Внедрено ограничение на количество отправленных данных в формате datagram ради контроля целостности шифрованных сессий через UDP-туннели.
- Исправлен ложно-положительный результат при запуске тестирования пира, вызванный ещё одним недавним тестированием.
- Отныне маршрутизатор не будет устанавливать соединения с узлами, имеющими версию ниже 0.9.58.
- Floodfill-ы отныне не могут быть узлами, обеспечивающими пробивание NAT.
- Публикация реального порта при NAT типа full cone.
- Добавлены параметры "i2p.streaming.maxConnsPerMinute" и "i2p.streaming.maxResends".
- Добавлено использование списка доверенных узлов для первого узла в цепочке.
- Увелечена производительности при большом количестве стримов.
- Использование множества "долек" при чесночной маршрутизации для datagram. Datagram3 и 800 стали входящими тэгами по умолчанию.
- Косметические исправления веб-консоли i2pd.
- Обновлён список reseed-серверов.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64764
Выпуск D7VK 1.3, реализации Direct3D 5, 6 и 7 поверх API Vulkan
Опубликован выпуск проекта D7VK 1.3, развивающего реализацию графических API Direct3D 5, 6 и 7, предложенных компанией Microsoft в 1997, 1998 и 1999 годах. D7VK работает через трансляцию вызовов в API Vulkan и позволяет при помощи Wine запускать в Linux ретро игры, завязанные на API Direct3D 5, 6 и 7. Код проекта написан на языке C++ и распространяется под лицензией Zlib. В качестве основы при разработке использован код бэкенда d3d9 от проекта DXVK - D7VK преобразует API Direct3D 5, 6 и 7 в вызовы Direct3D 9, которые затем транслируются в API Vulkan. Разработчик не намерен добиваться включения D7VK в состав DXVK, как это было с реализациями Direct3D 8 и Direct3D 9 поверх Vulkan.
В новом выпуске обеспечена официальная поддержка графического API Direct3D 5 в дополнение к ранее доступной поддержке Direct3D 6 и 7. Также проведена работа по устранению ошибок и улучшению совместимости с играми кода для поддержки Direct3D 6 и Direct3D 7. Отключена по умолчанию эмуляция механизма сглаживания FSAA (Full-Scene Anti-Aliasing), которая теперь активируется только для игр, поддерживающих данную технологию.
Решены проблемы с работой игр:
- Blood 2: The Chosen
- Drakan: Order of the Flame
- Freespace 2 and Arabian Nights
- Gothic 1/2
- Ground Control
- Legacy of Kain: Soul Reaver
- No One Lives Forever
Добавлена поддержка игр на базе Direct3D 5:
- Carmageddon II: Carpocalypse Now
- Deathtrap Dungeon
- Lands of Lore III
- Mobil 1 Rally Championship
- Mortal Kombat 4
- Nightmare Creatures
- N.I.C.E 2
- Tomb Raider II
Ранее была подтверждена работа игр:
- Arabian Nights
- Battlezone II: Combat Commander
- Black & White
- Carmageddon TDR 2000
- Colin McRae Rally 2 0
- Dark Reign 2
- Deus Ex
- Disciples II
- Drakan: Order of the Flame
- Earth 2150
- Emperor: Battle for Dune
- Expendable
- Giants: Citizen Kabuto
- Hitman: Codename 47
- Indiana Jones and the Infernal Machine
- Need For Speed: High Stakes.
- Need for Speed III: Hot Pursuit
- No One Lives Forever
- Panzer Elite
- Rayman 2: The Great Escape
- Sacrifice
- Star Trek: Bridge Commander
- Star Wars: Rogue Squadron
- Tachyon: The Fringe
- Tomb Raider: Chronicles
- Undying
- Unreal Tournament
- Vampire: The Masquerade - Redemption
- Wizardry 8
Источник: https://www.opennet.ru/opennews/art.shtml?num=64763
Toyota развивает собственный открытый игровой движок Fluorite
На конференции FOSDEM представлен новый игровой движок Fluorite, развиваемый американским подразделением компании Toyota, отвечающим за разработку автомобильных информационно-развлекательных систем. Движок нацелен на предоставление возможностей, пригодных для создания 3D-игр уровня игровых консолей, и развивается с использованием технологий, применяемых Toyota в своём новом стеке для информационно-развлекательных систем, уже поставляемом в автомобиле Toyota RAV4 2026. Заявлено, что движок будет кросс-платформенным и полностью открытым.
Создание проекта объясняется желанием получить полнофункциональный игровой движок, интегрируемый с интерфейсами на базе Flutter и пригодный для использования на автомобильных информационно-развлекательных системах и встраиваемых устройствах, типа Raspberry Pi 5. До начала работы рассматривалась возможность задействования существующих игровых движков для создания интегрированного в автомобили игрового окружения. Движки Unity и Unreal были отброшены, как ресурсоёмкие и требующие лицензионных отчислений. Godot не подошёл из-за большого потребления ресурсов и слишком длительного запуска на встраиваемых устройствах. Impeller и Flutter_GPU были отвергнуты из-за проблем с поддержкой Linux (в Toyota IVI применяется Yocto Linux и собственный графический интерфейс на базе Wayland и Flutter).
Движок Fluorite интегрируется с фреймворком Flutter и позволяет разрабатывать игры на языке Dart, используя виджет FluoriteView для одновременного отображения разных представлений 3D-сцены и возможности Flutter для бесшовной интеграции игр с графическим окружением IVI-платформы, контроля за 3D-сценой из Flutter-виджетов и организации интерактивного взаимодействия. Имеется возможность создания интерактивных трёхмерных интерфейсов через определение в 3D-модели кликабельных зон, при клике на которые вызываются привязанные обработчики событий, по аналогии с событиями onClick на web-страницах.
Для достижения высокой производительности и низкого потребления ресурсов движок построен на базе архитектуры ECS (Entity-Component-System) и использует низкоуровневые компоненты на языке C++, поверх которых реализованы обвязки для создания игровой логики на языке Dart. Для отрисовки задействованы библиотека SDL3 и движок 3D-рендеринга Google Filament, поддерживающий физически корректный рендеринг (PBR). В планах интеграция движка симуляции физических процессов JoltPhysics.
Из особенностей упоминается поддержка изменения на лету 3D-сцены без перпезапуска приложения (Hot Reload), задействование графического API Vulkan для аппаратно ускоренной графики, применение эффектов постпроцессинга, подключение собственных шейдеров, физически корректная модель освещения, возможность разработки 3D-моделей в Blender и поддержка форматов GLTF, GLB, KTX и HDR.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64752