The OpenNET Project / Index page

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

·11.01.2025 Выпуск системы управления исходными текстами Git 2.48 (2 +1)
  Опубликован выпуск распределенной системы управления исходными текстами Git 2.48. Git отличается высокой производительностью и предоставляет средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям "задним числом" используются неявное хеширование всей предыдущей истории в каждом коммите, а также удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. Код Git распространяется под лицензией GPLv2+.

По сравнению с прошлым выпуском в новую версию принято 605 изменений, подготовленных при участии 93 разработчиков, из которых 35 впервые участвуют в разработке. Основные новшества:

  • Реализована возможность сборки с использованием сборочной системы Meson, в дополнение к GNU Make и CMake. Для сборки Git теперь можно использовать команду "meson setup build && ninja -C build". Отмечается, что Makefile, применяемый при использовании GNU Make, разросся до 3887 строк и не так прост, как хотелось бы. Инструментарий Meson упрощает работу с системой сборки, удобен для кросс-платформенных сборок и делает сборку более доступной для новичков или разработчиков, не имеющих опыта работы с утилитой Make. Прекращать поддержку Make и CMake в обозримом будущем не планируется.
  • Добавлены сборочные опции, позволяющие использовать альтернативные реализации хэша SHA-1 при вычислении контрольных сумм, используемых для проверки целостности блоков данных в pack-файлах. Производительность вычисления контрольных сумм имеет большое значение, например, на их вычисление при клонировании репозитория с ядром Linux тратится около 78% процессорного времени. Используемая по умолчанию реализация включает дополнительные проверки коллизий и защиту от атак на SHA-1, таких как SHAttered и Shambles. Подобная защита, потребляющая дополнительные ресурсы, имеет смысл только при использовании SHA-1 в криптографических целях и бесполезна при проверке целостности индексных данных.

    Для сборки Git с более быстрой реализацией SHA-1, не пригодной для криптосистем, предложена серия опций *_UNSAFE, например, "OPENSSL_SHA1_UNSAFE". В GitHub сборка с упрощённым SHA-1 позволила на 10-13% повысить производительность операций извлечения и клонирования данных.

  • Добавлена возможность использования в команде "range-diff" опции "--remerge-diff", позволяющей показать отличия между общим результатом слияния и фактическими данными, отражёнными в коммите после обработки команды "merge". При использовании опции "--remerge-diff" различия между разрешениями конфликтов не разделяются для каждой родительской ветки, а показываются общие различия между файлом, имеющим конфликты слияния, и файлом, в котором конфликты решены. В контексте команды "range-diff" новая опция может оказаться полезной для сравнения наборов коммитов после переноса последовательности коммитов командой "rebase" с опцией "--rebase-merges".
  • Добавлена возможность запуска тестового набора Git с включением режима выявления утечек памяти. Так как git предоставляет утилиты, завершающие работу после выполнения вызванной функции, утечки памяти раньше не рассматривались как большая проблема. Необходимость полного устранения утечек памяти стала актуальной после начала работы над выносом внутренней функциональности в отдельную библиотеку, которая может применяться в длительно работающих процессах.
  • Началось формирование списка устаревших режимов и возможностей, поддержку которых планируют прекратить в будущем. Предполагается, что удаление устаревшей функциональности произойдёт в выпуске Git 3.0, в который войдут изменения, нарушающие обратную совместимость.
  • Продолжена оптимизация работы команды "git for-each-ref", выводящей список ссылок в репозитории. Оптимизация, объединяющая обработчики для фильтрации ссылок и форматирования вывода, теперь применяется не только для неотсортированного вывода, но и при указании опции "--sort".
  • Улучшена реализация бэкенда "reftable" с блочным хранилищем для эффективного хранения в репозитории ссылок на ветки и теги. Reftable позволяет значительно ускорить поиск, чтение и запись в репозиториях с очень большим числом ссылок. В новой версии прекращено обращение к некоторым вспомогательным API для дальнейшего исключения библиотеки libgit из числа сборочных зависимостей. Реализована адаптивная обработка ошибок, возвращаемых функциями выделения памяти (нехватка памяти теперь не приводит к аварийному завершению работы). Ускорены операции создания ссылок и снижено потребление памяти.
  • В реализации частичного клонирования решены проблемы, приводившие к зацикливанию и повреждению репозитория после выполнения команды "git gc".
  • При выполнении команды "git fetch <remote>" в случае отсутствия на локальной системе "refs/remotes/<remote>/HEAD" и наличия на другой стороне ветки, на которую ссылается HEAD, "refs/remotes/<remote>/HEAD" теперь перенаправляется на эту ветку. Для управления синхронизацией "refs/remotes/<remote>/HEAD" со значением HEAD на другой стороне соединения добавлена настройка remote.<remote>.followRemoteHEAD".
  • Добавлена настройка "remote.<name>.serverOption" аналогичная опции командной строки "--serverOption=<value>".
  • В команде "git rebase --rebase-merges" по возможности обеспечено использование имён веток в качестве меток.
  • В команды 'git notes add' и 'git notes append' добавлен флаг '-e', открывающий примечание во внешнем текстовом редакторе, указанном через переменную окружения GIT_EDITOR.
  • Улучшена совместимость с GCC 15 и стандартом C23.
  • Прекращена поддержка старых версий libcURL и Perl.

  1. OpenNews: Выпуск системы управления исходными текстами Git 2.46
  2. OpenNews: mergiraf - AST-ориентированный инструмент для трёхстороннего слияния в Git
  3. OpenNews: Выпуск git-совместимой системы управления версиями Got 0.100
  4. OpenNews: Пять уязвимостей в Git, среди которых одна критическая и две опасные
  5. OpenNews: Проект gittuf развивает систему криптографической защиты репозиториев Git
Обсуждение (2 +1) | Тип: Программы |
·11.01.2025 Компания Automattic свела к минимуму своё участие в разработке WordPress (43 +10)
  Компания Automattic, курирующая открытую платформу Wordpress и официальный каталог плагинов Wordpress.org, приняла решение снизить своё участие в разработке Wordpress до примерно 45 часов в неделю, что уравняет её вклад в разработку с компанией WP Engine и другими сторонними участниками. Отмечается, что предоставленных ресурсов скорее всего хватит только на подготовку корректирующих обновлений с устранением проблем с безопасностью и критических ошибок.

Ранее компания Automattic оценивала свой вклад в разработку WordPress в 3915 часов в неделю и высказывала недовольство, что ей в одиночку приходится тянуть весь проект, в то время как компания WP Engine паразитирует на WordPress, вкладывая в разработку примерно 40 часов в неделю при выручке от использования платформы в 500 миллионов долларов.

Действия Automattic объясняются желанием добиться справедливости и устранить дисбаланс вклада участников экосистемы. Снижение участия в разработке также связано с перераспределением ресурсов в связи с судебными исками от компании WP Engine, отражение которых отнимает много времени, денег и энергии. Отмечается, что если WP Engine прекратит свои юридические атаки, компания Automattic готова вернуться к активному участию в развитии проектов WordPress, Gutenberg, Playground, Openverse и WordPress.org. До этого Automattic сосредоточится на своих коммерческих продуктах, таких как WordPress.com, Pressable, WPVIP, Jetpack и WooCommerce.

Действия Automattic являются продолжением конфликта между Мэттом Мулленвегом, основателем Wordpress и владельцем компании Automattic, и компанией WP Engine, поддерживающей альтернативный каталог WP Engine и предоставляющей хостинг на базе Wordpress. В октябре компания WP Engine подала судебный иск против Automattic, в ответ на появление в интерфейсе администратора WordPress ссылки на статью, порочащую репутацию WP Engine, поступления требования покупки лицензии на товарный знак WordPress, блокировки доступа к ресурсам Wordpress.org и замены в каталоге Wordpress.org плагина ACF, имеющего 2 млн установок, на форк, поддерживаемый компанией Automattic.

10 декабря суд наложил предварительный запрет на действия, наносящие вред бизнесу WP Engine. Компании Automattic было предписано разблокировать учётные записи сотрудников WP Engine на сайте WordPress.org и вернуть контроль над дополнением ACF. Судебное разбирательство ещё не завершено и предварительный запрет является обеспечительной мерой для прекращения нанесения ущерба бизнесу WP Engine до вынесения окончательного решения.

Позиция Automattic сводится к тому, что компания WP Engine сама нанесла себе ущерб, построив бизнес вокруг сайта WordPress.org. Между WP Engine и Automattic не было договорных отношений, гарантирующих доступ к WordPress.org и возможность загрузки обновлений с этого сайта. Суд счёл подобный довод неубедительным, так как доступ был ограничен только для WP Engine, а действия Automattic восприняты как недобросовестная конкуренция через выборочный запрет конкуренту доступа к общедоступным данным.

  1. OpenNews: Владельцы Wordpress заменили на свой форк плагин ACF, имеющий 2 млн установок
  2. OpenNews: Четверть крупнейших сайтов работают под управлением WordPress
  3. OpenNews: Торговая марка WordPress передана в руки некоммерческого фонда
  4. OpenNews: Создатели WordPress получили инвестиции в размере 29 миллионов долларов
  5. OpenNews: Создан ClassicPress, форк WordPress с классическим web-редактором
Обсуждение (43 +10) | Тип: Тема для размышления | Интересно
·11.01.2025 В Fedora 42 планируют поставлять оптимизированные варианты исполняемых файлов (152 +14)
  В выпуске Fedora 42, намеченный на конец апреля, предложено разрешить сопровождающим включать в пакеты дополнительные варианты исполняемых файлов, собранные с включением оптимизаций для микроархитектур x86-64-v2, x86-64-v3 и x86-64-v4. Отмечается, что Fedora продолжает собирать пакеты для архитектуры x86-64-v1, в то время как CentOS использует при сборке архитектуру x86-64-v2, а RHEL 10 - x86-64-v3. В большинстве случаев прирост производительности при сборке для подобных архитектур не превышает 10%, но в отдельных ситуациях приводит к заметному повышению производительности (до 120%). Предложение пока не утверждено комитетом FESCo (Fedora Engineering Steering Committee), отвечающим за техническую часть разработки дистрибутива Fedora.

В Fedora уже допускается поставка дополнительных библиотек, оптимизированных для расширенных версий архитектуры x86_64, и подобную возможность теперь планируют распространить на исполняемые файлы. Загрузка оптимизированных реализаций библиотек осуществляется компоновщиком (dynamic linker), который проверяет наличие дополнительных вариантов в подкаталогах glibc-hwcaps, размещаемых в областях ФС, просматриваемых при поиске библиотек (например, /usr/lib64/glibc-hwcaps/x86-64-v2).

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

Версии x86-64-v* определяют неофициальный способ идентификации срезов состояния микроархитектуры, охватывающих определённые наборы расширений:

  • x86-64-v2 охватывает расширения SSE3, SSE4_2, SSSE3, POPCNT, LAHF-SAHF и CMPXCHG16B.
  • x86-64-v3 - AVX, AVX2, BMI2, FMA, LZCNT, MOVBE и SXSAVE.
  • x86-64-v4 - AVX512F, AVX512BW, AVX512CD, AVX512DQ и AVX512VL.

Дополнительно можно отметить предложение по унификации обновления загрузчиков grub и shim в атомарных и обычных вариантах Fedora. Вместо обновления содержимого каталогов /boot и /boot/efi через вызов скрипта во время установки rpm-пакета, для обновления загрузчика предлагается использовать инструментарий bootupd, который уже применяется в атомарно обновляемых вариантах Fedora. В rpm-пакетах с загрузчиками содержимое предлагается устанавливать не напрямую в каталоги /boot и /boot/efi, а в отдельный каталог внутри раздела /usr, после чего синхронизировать с ним содержимое /boot и /boot/efi. Подобный подход даст возможность реализовать запасной вариант загрузки, который можно использовать для отката к старой конфигурации в случае проблем после обновления загрузчика.

  1. OpenNews: Линус Торвальдс раскритиковал попытки привязки к версиям микроархитектуры x86_64
  2. OpenNews: Gentoo начал формирование бинарных пакетов для архитектуры x86-64-v3
  3. OpenNews: openSUSE Tumbleweed прекращает официальную поддержку архитектуры x86-64-v1
  4. OpenNews: В Fedora 42 намерены включить инсталлятор на основе web-интерфейса и добавить эмулятор FEX
  5. OpenNews: Релиз дистрибутива Fedora Linux 41
Обсуждение (152 +14) | Тип: К сведению |
·10.01.2025 Google, Samsung и Arm представили формат объёмного звука Eclipsa (49 +20)
  Компании Google, Samsung и Arm, а также альянс Open Media, развивающий технологию кодирования видео AV1, начали продвижение звукового формата Eclipsa, рассчитанного на распространение объёмного звука. Формат основан на спецификации IAMF (Immersive Audio Model and Formats), разработанной участниками Open Media и имеющей открытую эталонную реализацию. Использование Eclipsa не требует оплаты отчислений. Компания Samsung уже заявила о поддержке Eclipsa в телевизорах и звуковых панелях 2025 модельного года, включая модели телевизоров Crystal UHD и Neo QLED 8K. Google предоставит возможность загрузки на YouTube видео со звуковыми треками в формате Eclipsa.

Формат Eclipsa рассчитан на распространение пространственного (иммерсивного) звукового контента (Immersive Audio), создающего эффект полного присутствия и обеспечивающего высококачественное звучание на различных классах устройств. Эффект присутствия достигается благодаря использованию алгоритмов воссоздания естественного звучания, учитывающих распространение звуковых волн в трехмерном пространстве. Дополнительно предусмотрено включение в медиаконтейнер метаданных, необходимых для воссоздания звуковой сцены или микширования звука.

Возможно использование формата для потокового вещания и воспроизведении сохранённых звуковых данных. Поддерживается представление на основе каналов или звуковых сцен, а также смешивание разных представлений. Звуковой поток в Eclipsa может содержать до 28 входных каналов, как фиксированных (например, микрофон перед оркестром), так и динамических (например, звук пролетающего вертолёта).

Формат не привязан к конкретным кодекам - в спецификации для кодирования звука с потерей качества предлагается использовать кодеки Opus или AAC (mp4a), а для кодирования без потери качества Flac или LPCM. Поддерживается преобразование объёмного звука в представление, подходящее для воспроизведения на различных классах устройств, включая телевизоры, смартфоны, наушники, звуковые панели и домашние кинотеатры.

Применение типовых кодеков упрощает интеграцию с существующими системами воспроизведения и потокового вещания, и позволяет создавать пространственный звуковой контент с использованием существующих открытых VST-плагинов, таких как EAR Production Suite, для пространственной раскладки динамиков и бинаурального мониторинга (определение направления на источник звука). Предусмотрена возможность включение нескольких конфигураций микширования, позволяющих задавать отдельные настройки громкости для различных режимов воспроизведения. Для воспроизведения с учётом пространственного размещения динамиков или симуляции объёмного звука в наушниках возможно применение алгоритмов рендеринга сигналов, таких как EAR и BEAR.

Дополнительно компания ARM сообщила о передаче изменений в кодовые базы opus и libiamf, связанных с оптимизацией производительности. В частности, изменения включают оптимизации с использованием инструкций NEON, ускоряющие преобразования плавающей запятой, алгоритмы смягчения искажений, операции умножения матриц и операции разделения звуковых каналов. Изменения привели к повышению производительности при использовании различных конфигурациях динамиков (стерео, 5.1, 9.1.6), например, в конфигурации 9.1.6 производительность вывода на смартфоне Pixel 7 с CPU Arm Cortex-A55 повысилась на 160%.

  1. OpenNews: Разработчики кодека AV1 представили формат IAMF для объёмного звука
  2. OpenNews: Google передаёт систему объёмного звука Resonance Audio сообществу
  3. OpenNews: Доступен аудиокодек Opus 1.5
  4. OpenNews: Facebook опубликовал звуковой кодек EnCodec, использующий машинное обучение
  5. OpenNews: Основатель QEMU и FFmpeg опубликовал звуковой кодек TSAC
Обсуждение (49 +20) | Тип: К сведению |
·10.01.2025 Инициатива по поддержке проектов, использующих движок Chromium (65 –15)
  Организация Linux Foundation объявила о создании инициативы "Supporters of Chromium-Based Browsers", предоставляющей нейтральную площадку, на которой лидеры индустрии, академическое сообщество, разработчики и сторонники открытого программного обеспечения могут совместно работать над проектами, связанными с браузерным движком Chromium. Учредителями выступили компании Google, Meta, Microsoft и Opera.

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

  1. OpenNews: Google намерен перевести Chrome OS на платформу Android
  2. OpenNews: Выпуск web-браузера Chrome 131
  3. OpenNews: Google экспериментирует со встраиванием в Chrome большой языковой модели
  4. OpenNews: В Chrome появилось предупреждение о скором прекращении поддержки uBlock Origin
Обсуждение (65 –15) | Тип: К сведению |
·10.01.2025 Пятый альфа-выпуск среды рабочего стола COSMIC (74 +10)
  Компания System76, разрабатывающая Linux-дистрибутив Pop!_OS, представила пятую альфа-версию среды рабочего стола COSMIC, написанной на языке Rust (не путать со старым COSMIC, который был основан на GNOME Shell). Для тестирования предложены iso-образы со свежей версией COSMIC, сформированные поверх альфа-сборок будущего выпуска дистрибутива Pop!_OS 24.04 для систем с GPU NVIDIA (2.9 ГБ) и Intel/AMD (2.5 ГБ). Также формируются готовые пакеты для Fedora, NixOS, Arch Linux, openSUSE, Serpent OS, Redox и CachyOS.

COSMIC развивается как универсальный проект, не привязанный к конкретному дистрибутиву и соответствующий спецификациям Freedesktop. Для построения интерфейса в COSMIC задействована библиотека Iced, которая использует безопасные типы, модульную архитектуру и модель реактивного программирования, а также предлагает архитектуру, привычную для разработчиков, знакомых с языком декларативного построения интерфейсов Elm. Предоставляется несколько движков отрисовки, поддерживающих Vulkan, Metal, DX12, OpenGL 2.1+ и OpenGL ES 2.0+. Разработчикам предлагается готовый набор виджетов, возможность создавать асинхронные обработчики и использовать адаптивную компоновку элементов интерфейса в зависимости от размера окна и экрана.

Помимо использования языка Rust из особенностей COSMIC выделяются режимы гибридной мозаичной компоновки окон и стекового закрепления окон (группировка окон по аналогии со вкладками в браузере), которые могут включаться в привязке к виртуальным рабочим столам. Проектом также разрабатывается композитный сервер cosmic-comp на базе Wayland. Первый стабильный релиз COSMIC намечен на первый квартал 2025 года.

Основные изменения по сравнению с четвёртой альфа-версией COSMIC:

  • По умолчанию задействован собственный мультимедийный проигрыватель COSMIC Media Player, который использует графический API Vulkan для отрисовки и VAAPI для декодирования видео. В разработке также находится отдельное приложение для установки кодеков, которое в дальнейшем заменит sessioninstaller.
  • В конфигуратор добавлена страница для управления учётными записями пользователей, через которую можно изменить параметры своей учётной записи. Пользователи с правами администратора дополнительно могут добавить нового пользователя, изменить данные уже имеющихся пользователей и делегировать возможность выполнения привилегированных операций другим пользователям.
  • В виджет ContextDrawer добавлена поддержка размещения кнопок в заголовке. Например, в файловом менеджере в правую панель с дополнительной информацией о файле, реализованную при помощи ContextDrawer, добавлены кнопки "<", ">" и "[]" для перехода на предыдущий и следующий файл, а также открытии файла в отдельном приложении.
  • В файловом менеджере реализована возможность сохранения новых файлов в новом каталоге. Добавлена поддержка переименования файлов в результатах поиска. В контекстное меню, показываемое в секции недавно открытых файлов, добавлена опция для просмотра каталога, в котором хранится выбранный файл.
  • В интерфейсе переключения между активными окнами, вызываемом через Alt+Tab, порядок показа окон приложений теперь соответствует порядку работы пользователя с приложениями (первым будет показано окно, с которым до этого работал пользователь, а последним - к которому пользователь не обращался дольше всего). Для прокрутки в обратном порядке можно использовать комбинацию Alt + Shift + Tab.
  • Расширена поддержка механизма VRR (Variable Refresh Rate), позволяющего адаптивно менять частоту обновления монитора для обеспечения плавности и отсутствия разрывов во время игр и показа видео. При использовании VRR теперь учитывается минимальная частота обновления экрана, что гарантирует плавное движение курсора, даже если приложение использует меньшую частоту при выводе. Изменение в основном заметно при открытии неигровых приложений в полноэкранном режиме.
  • Добавлена возможность открытия ссылок из эмулятора терминала, используя щелчок левой кнопкой мыши на URL.

  1. OpenNews: Четвёртый альфа-выпуск среды рабочего стола COSMIC
  2. OpenNews: Инициативы Fedora по созданию сборки с рабочим столом COSMIC и продвижению Btrfs
  3. OpenNews: Проект Bottles будет переписан на языке Rust с использованием libcosmic
  4. OpenNews: Первый альфа-выпуск среды рабочего стола COSMIC
  5. OpenNews: Выпуск дистрибутива Pop!_OS 22.04, развивающего рабочий стол COSMIC
Обсуждение (74 +10) | Тип: Программы |
·10.01.2025 Релиз системы самодостаточных пакетов Flatpak 1.16.0 (146 +5)
  После двух с половиной лет разработки опубликована новая стабильная ветка инструментария Flatpak 1.16, предоставляющего систему для сборки самодостаточных пакетов, не привязанных к конкретным дистрибутивам Linux и выполняемых в специальном контейнере, изолирующем приложение от остальной системы. Поддержка выполнения Flatpak-пакетов обеспечена для Fedora, CentOS, Debian, Arch Linux, Gentoo, Linux Mint, Alt Linux и Ubuntu. Пакеты с Flatpak включены в репозиторий Fedora и поддерживаются в штатных программах управления приложениями GNOME и KDE.

Ключевые новшества в ветке Flatpak 1.16:

  • Осуществлён переход на использование системы сборки Meson. Поддержка сборки при помощи инструментария Autotools прекращена. Для сборки Flatpak теперь требуется наличие в системе Python, как минимум версии 3.5.
  • Реализован совместный доступ к сокету gssproxy, позволяющему использовать аутентификацию через Kerberos в приложениях, запускаемых в режиме sandbox-изоляции.
  • При создании сокета для Wayland задействовано расширение security-context, через которое композитный сервер может идентифицировать и ограничивать приложения, запущенные в режиме sandbox-изоляции. Добавлена опция "--socket=inherit-wayland-socket" для наследования существующего сокета для Wayland.
  • После установки или обновления приложений обеспечена автоматическая перезагрузка конфигурации сессионной шины D-Bus для подхвата новых экспортируемых приложениями сервисов D-Bus.
  • Дистрибутивам предоставлена возможность определения репозиториев с пакетами Flatpak, используя каталог "/usr/share/flatpak/remotes.d", помимо "/etc/flatpak/remotes.d".
  • Проведена работа по разделению крупных файлов с исходным кодом на небольшие модули.
  • Добавлена опция "--device=input" для доступа к устройствам ввода через /dev/input.
  • Для изоляции приложений задействована новая ветка инструментария bubblewrap 0.11. В дистрибутивах, собирающих Flatpak с использованием системного исполняемого файла bwrap, необходимо наличие как минимум версии bubblewrap 0.11. Усилена защита от создания в sandbox-окружениях вложенных пространств идентификаторов пользователей (user namespace).
  • Упрощена настройка дополнительных языков. Обеспечено определение языков на основе информации о пользователях, выдаваемой DBus-сервисом AccountsService.
  • Приложениям, использующим вложенную sandbox-изоляцию, например, на основе движка WebKit, разрешено применение протокола AT-SPI для взаимодействия с экранными ридерами. Добавлена опция "flatpak run --a11y-own-name" для выбора шины, через которую осуществляется доступ к средствам для людей с ограниченными возможностями.
  • При выполнении команды "flatpak run -vv <app_id>", обеспечен показ всех применимых параметров sandbox-изоляции.
  • Добавлена опция "--device=usb", а также параметры "--usb" и "--no-usb" для управления доступом приложения к USB-устройствам.
  • Добавлена поддержка фреймворка KCompletion, применяемого для автодополнения поисковых ключей в KDE.
  • Добавлены переменные окружения "FLATPAK_DATA_DIR" и "FLATPAK_DOWNLOAD_TMPDIR" для переопределения каталогов с данными (/usr/share/flatpak) и загружаемыми временными файлами (/var/tmp).
  • Добавлен вывод escape-последовательностей для отображения прогресса выполнения операций в эмуляторах терминала.

Напомним, что Flatpak упрощает распространение программ, не входящих в штатные репозитории дистрибутивов, за счет подготовки одного универсального контейнера, избавляющего разработчиков программ от необходимости формировать отдельные сборки для каждого дистрибутива. Пользователям, заботящимся о безопасности, Flatpak даёт возможность выполнить вызывающее сомнение приложение в контейнере, предоставив выборочный доступ только к необходимым сетевым функциям и файлам пользователя. Пользователям, интересующимся новинками, Flatpak позволяет установить самые свежие тестовые и стабильные выпуски приложений без необходимости внесения изменений в систему. Например, Flatpak-пакеты собираются для LibreOffice, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Telegram Desktop, Android Studio и т.д.

Для уменьшения размера в пакет включают лишь специфичные для приложения зависимости. Базовые системные и графические библиотеки (GTK, Qt, библиотеки GNOME и KDE и т.п.) поставляются в виде подключаемых типовых runtime-окружений. Ключевое отличие Flatpak от Snap в том, что Snap использует компоненты окружения основной системы и изоляцию на основе фильтрации системных вызовов, в то время как Flatpak создаёт отдельный от системы контейнер и оперирует крупными runtime-наборами, предоставляя в качестве зависимостей не пакеты, а типовые системные окружения (например, все библиотеки, необходимые для работы программ GNOME или KDE).

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

В одной системе может быть установлено несколько разных "runtime" (GNOME, KDE) или несколько версий одного "runtime" (GNOME 46, GNOME 47). Контейнер с приложением в качестве зависимости использует привязку только к определённому "runtime", без учёта отдельных пакетов, формирующих выбранный "runtime". Все недостающие элементы упаковываются непосредственно вместе с приложением. При создании контейнера содержимое "runtime" монтируется как раздел /usr, а "bundle" монтируется в каталог /app.

Начинка "runtime" и контейнеров приложений формируется с использованием технологии OSTree, при которой образ атомарно обновляется из Git-подобного хранилища, позволяющего применять методы версионного контроля к компонентам дистрибутива (например, можно быстро откатить систему к прошлому состоянию). RPM-пакеты транслируются в репозиторий OSTree при помощи прослойки rpm-ostree.

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

Формируемое изолированное окружение полностью независимо от используемого дистрибутива и при надлежащих настройках пакета не имеет доступа к файлам и процессам пользователя или основной системы, а также не может напрямую обращаться к оборудованию, за исключением вывода через DRI. Вывод графики и организация ввода реализованы при помощи протокола Wayland или через проброс сокета X11. Взаимодействие с внешней средой построено через систему обмена сообщениями DBus и специальный API Portals.

Для изоляции используется прослойка Bubblewrap и традиционные для Linux технологии контейнерной виртуализации, основанные на использовании cgroups, пространств имён (namespaces), Seccomp и SELinux. Для вывода звука применяется PulseAudio или PipeWire. При создании пакета изоляция может быть отключена, чем пользуются разработчики многих популярных пакетов для получения полного доступа к ФС и всем устройствам в системе.

Например, с ограниченным режимом изоляции, оставляющим полный доступ к домашнему каталогу, поставляются пакеты GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity и VLC. В случае компрометации пакетов с доступом к домашнему каталогу, несмотря на наличие в описании пакета метки "sandboxed", атакующему для выполнения своего кода достаточно изменить файл ~/.bashrc. Отдельным вопросом является контроль над внесением изменений в пакеты и доверие к сборщикам пакетов, которые часто не связаны с основным проектом или дистрибутивами.

  1. OpenNews: Уязвимость во flatpak, позволяющая обойти sandbox-изоляцию
  2. OpenNews: Официальные редакции Ubuntu прекратят поддержку Flatpak в базовой поставке
  3. OpenNews: Релиз системы самодостаточных пакетов Flatpak 1.14.0
  4. OpenNews: Выпуск Bubblewrap 0.11, прослойки для создания изолированных окружений
  5. OpenNews: Каталог приложений Flathub достиг отметки в 2 миллиарда загрузок
Обсуждение (146 +5) | Тип: Программы |
·09.01.2025 Суд обязал компанию AVM выполнить условия лицензии LGPL (63 +49)
  Правозащитная организация Software Freedom Conservancy (SFC), предоставляющая юридическую защиту свободным проектам и отстаивающая необходимость соблюдения лицензии GPL, объявила об успешном завершении судебного разбирательства с компанией AVM, связанного с невыполнением условий лицензии LGPL в прошивках маршрутизаторов. Дело было открыто в немецком суде по иску Себастьяна Штека (Sebastian Steck), потребовавшего предоставить исходный код компонентов прошивки, распространяемых под лицензией LGPLv2.1, а также скриптов, используемых для их компиляции и установки.

Поводом для подачи иска стал отказ компании AVM предоставить полный исходный код библиотек, задействованных в прошивке беспроводного маршрутизатора AVM FRITZ!Box 4020. Как потребитель, купивший данное устройство, Себастьян запросил доступ к коду компонентов, основанных на открытых библиотеках uClibc, libblkid, libexif и libosip2, изначально распространяемых под лицензией LGPL и, среди прочего, применяемых в прошивке для организации ведения журнала передачи данных. В ответ компания AVM предоставила неполные исходные тексты библиотек, которые не могли быть скомпилированы и использованы в прошивке.

В досудебном порядке было предпринято несколько попыток убедить AVM выполнить условия лицензии LGPL, но компания отказалась предоставлять полный код. В июле 2023 года был подан судебный иск, который летом 2024 года был удовлетворён судом, так как ответчик не смог обосновать свой отказ выполнить условия LGPL. Две недели назад истёк срок подачи апелляции. Компания AVM не стала оспаривать решение, передала истцу код запрошенных компонентов прошивки и оплатила судебные издержки.

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

  1. OpenNews: Решение суда о неправомерности удаления дополнительных условий к лицензии AGPL
  2. OpenNews: Итоги судебного разбирательства, связанного с проектом Neo4j и лицензией AGPL
  3. OpenNews: Против компании Vizio подан судебный иск с обвинением в нарушении лицензии GPL
  4. OpenNews: Апелляционный суд встал на сторону VMware в деле о нарушении GPL
  5. OpenNews: Бывший лидер Netfilter прекратил дело о нарушении GPL и выплатит судебные издержки
Обсуждение (63 +49) | Тип: К сведению | Интересно
·08.01.2025 Игровая консоль OrangePi Neo, поставляемая с Manjaro Linux (119 +34)
  На первый 1 квартал 2025 года намечено поступление в продажу игровой консоли OrangePi Neo, совместно развиваемой компанией Orange Pi и сообществом разработчиков дистрибутива Manjaro Linux. Устройство снабжено 7-дюймовым экраном (1920 x 1200, 120Hz), CPU AMD Ryzen 7 7840U или 8840U, 16ГБ или 32ГБ ОЗУ, от 512ГБ до 2ТБ NVMe SSD, двумя портами USB 4.0, звуковым портом 3.5мм, слотом для TF-карт, тачпадом, Wi-Fi 6E, Bluetooth 5.3, 2-ваттными динамиками, джойстиком Hall Rocker и RGB-подсветкой. Размер 259мм × 107мм × 19.9мм.

В качестве операционной системы на устройстве будет поставляться атомарно обновляемая редакция дистрибутива Manjaro Gaming Edition. Для отрисовки задействован композитный сервер Gamescope на базе протокола Wayland. Интерфейс для управления устройством и запуска игр построен на базе оболочки OpenGamepadUI, работающей поверх игрового движка Godot. Взаимодействие с устройствами ввода построено на базе фонового процесса InputPlumber.

Для запуска игр из каталога Steam в поставку входит Steam Client. Совместимость с играми, собранными для Windows, достигается при помощи пакета Proton. Помимо специализированной оболочки будет предоставлена возможность использования полноценной среды рабочего стола KDE Plasma 6.2.

Стоимость консоли с процессором AMD Ryzen 7 7840U, 16 ГБ ОЗУ и 512 ГБ SDD составит $499, а вариант с процессором AMD Ryzen 7 8840U будет на $100 дороже.

  1. OpenNews: Релиз дистрибутива Manjaro Linux 24.2
  2. OpenNews: Дистрибутив Manjaro внедряет систему отправки телеметрии о системе
  3. OpenNews: Разработчики Manjaro Linux представили атомарно обновляемый вариант дистрибутива
  4. OpenNews: В PinePhone решено поставлять по умолчанию Manjaro c KDE Plasma Mobile
  5. OpenNews: Разработка Orange Pi OS на базе Arch Linux
Обсуждение (119 +34) | Тип: К сведению |
·08.01.2025 Представлена игровая консоль Lenovo Legion Go S, использующая SteamOS на базе Arch Linux (68 +29)
  Компания Valve объявила, что игровая консоль Lenovo Legion Go S станет первым устройством от стороннего производителя, изначально поставляемым с операционной системой SteamOS. До сих пор Valve использовала SteamOS только на своей игровой консоли Steam Deck, но при этом заявляла о планах по портированию SteamOS для ПК и в качестве опции для двойной загрузки адаптировала SteamOS для работы на консолях ASUS ROG Ally, поставляемых с Windows 11.

Консоль Lenovo Legion Go S представлена на выставке CES 2025 и поступит в продажу в мае по цене 499 долларов. Устройство будет поставляться в вариантах c процессором AMD Ryzen Z1 Extreme или процессором AMD Ryzen Z2 Go, специально разработанным AMD для игровых консолей и также анонсированным на выставке CES 2025. В качестве GPU заявлен AMD Radeon 700M. Консоль оснащена 8-дюймовым сенсорным экраном (1920 X 1200, 120Hz), комплектуется до 32ГБ ОЗУ и до 1 ТБ SSD, содержит Micro SD, два порта USB 4.0, звуковой порт, 2-ваттные динамики, Wi-Fi 6E, Bluetooth 5.3. Размер 299мм x 127мм x 22.6мм. Вес 740 гр.

Помимо сотрудничества с Lenovo, компания Valve заявила о работе по улучшению совместимости SteamOS c портативными устройствами других производителей. До поступления консоли Lenovo Legion Go S в продажу планируется опубликовать бета-выпуск SteamOS с улучшенной поддержкой других игровых консолей. Данный выпуск будет доступен для неограниченной загрузки и тестирования на устройствах пользователей.

Операционная система SteamOS основана на Arch Linux, использует для ускорения запуска игр композитный сервер Gamescope на базе протокола Wayland, поставляется с доступной только на чтение корневой ФС, применяет атомарный механизм установки обновлений, поддерживает пакеты Flatpak, использует мультимедийный сервер PipeWire и предоставляет два режима работы интерфейса (оболочка Steam и рабочий стол KDE Plasma). Выпуски SteamOS пока формируются только для устройств Steam Deck, но энтузиастами развиваются неофициальные сборки SteamFork и HoloISO, пригодные для установки на обычных компьютерах и игровых консолях, отличных от Steam Deck.

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

  1. OpenNews: Обновление дистрибутива Steam OS 3.6.19, используемого на игровой консоли Steam Deck
  2. OpenNews: Проект SteamFork развивает вариант SteamOS для устройств, отличных от Steam Deck
  3. OpenNews: Компания Valve обеспечит поддержку игровых консолей ASUS ROG Ally в SteamOS
  4. OpenNews: Компания Valve открыла код инструментария Steam Audio
  5. OpenNews: Новый выпуск клиента Steam c переделанным интерфейсом
Обсуждение (68 +29) | Тип: К сведению |
·08.01.2025 Проект Gentoo опубликовал отчёт за 2024 год (209 +29)
  Разработчики дистрибутива Gentoo Linux опубликовали отчёт с обзором основных событий и финансовых показателей за 2024 год. Среди отмеченных достижений:
  • Доход проекта за 2024 финансовый год составил 20800 долларов, из которых 80% передано в форме индивидуальных пожертвований. Затраты составили: $7900 на операционные расходы (услуги, сборы) и $13300 на амортизационные расходы (потеря стоимости имеющихся активов). Баланс на банковском счёте: 105 тысяч долларов. Весной 2024 года проект передал организации SPI (Software in the Public Interest) управление активами, решение юридических вопросов и организацию сбора пожертвований.
  • В основной репозиторий за 2024 год внесено 123942 изменений, что на 2.4% больше, чем в 2023 году. Число коммитов от сторонних разработчиков увеличилось с 10708 до 12812 (число уникальных сторонних участников - 421). В поддерживаемый пользователями репозиторий GURU внесено 7517 изменений от 241 участника (в 2023 году было 5045 изменений от 158 участников).
  • В систему отслеживания ошибок за год добавлено 26123 отчётов, из которых решены 25946 проблем (в 2023 году было 24795 отчётов и 22779 решённых проблем).
  • Стабилизирована сборка с использованием GCC 14 и проведена работа по подготовке к использованию в GCC 15 по умолчанию стандарта C23, в котором имеются элементы, нарушающие обратную совместимость.
  • Отмечен прогресс в адаптации пакетов для сборки с включением оптимизации на этапе связывания (LTO).
  • Проведена работа по решению проблемы 2038 года и переводу кода в пакетах на использование 64-разрядного типа time_t для 32-разрядных архитектур.
  • Профили с настройками и предустановками обновлены до версии 23.
  • Сформированы бинарные пакеты для архитектуры x86-64-v3. Расширен спектр бинарных пакетов, формируемых для архитектуры x86-64, например, добавлены пакеты для разных версий CPython и снапшотов GCC. Объём бинарных пакетов для архитектуры amd64 на зеркалах достиг отметки в 60 GB.
  • Возобновлена полная поддержка архитектур MIPS и Alpha.
  • Прекращена поддержка архитектуры IA-64 (Itanium).
  • Добавлена поддержка 32-разрядных систем на архитектуре RISC-V (rv32). Поддерживаются ABI hard-float и soft-float ABI и сборки на базе glibc и musl.
  • Предоставлена возможность установки одновременно нескольких версий инструментариев и библиотек для языков Zig, Guile и Rust. Добавлена поддержка языка Ada. По умолчанию задействована версия Python 3.12. Добавлена опциональная поддержка Python 3.13.
  • Добавлена поддержка инструментария DTrace 2.0 для динамической трассировки ядра и приложений в пространстве пользователя.
  • Осуществлён переход на ветку KDE 6. В репозитории предложены KDE Gear 24.08.3, KDE Frameworks 6.7.0 и KDE Plasma 6.2.4.
  • В качестве альтернативы dracut для генерации образов начальных ram-дисков реализована поддержка инструментария µgRD (ugrd).
  • Возвращён архив списков рассылок archives.gentoo.org, который переведён на новый бэкенд public-inbox.
  • Утверждены правила, запрещающие принятие в Gentoo изменений, подготовленных при помощи AI-инструментов.

  1. OpenNews: Проект Gentoo запретил принятие изменений, подготовленных при помощи AI-инструментов
  2. OpenNews: Проект Gentoo перешёл под крыло организации SPI
  3. OpenNews: В Gentoo Linux значительно улучшена поддержка архитектур MIPS и Alpha
  4. OpenNews: Gentoo прекращает поддержку платформы IA-64 (Itanium)
  5. OpenNews: Эксперимент по переводу Gentoo на использование варианта Coreutils на языке Rust
Обсуждение (209 +29) | Тип: Обобщение |
·07.01.2025 Релиз Firefox 134 (137 +21)
  Состоялся релиз web-браузера Firefox 134 и сформированы обновления прошлых веток с длительным сроком поддержки - 115.19.0 и 128.6.0. На стадию бета-тестирования переведена ветка Firefox 135, релиз которой намечен на 4 февраля.

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

  • Для части пользователей предложено новое оформление страницы, показываемой при открытии новой вкладки. Новый вариант отличается наличием поисковой строки, виджетом с прогнозом погоды и списком рекомендованных страниц. Наиболее часто посещаемые и закреплённые сайты показываются не в виде сетки, а в одну строку. Число столбцов с контентом выбирается в зависимости от ширины окна, что позволяет эффективно использовать всё доступное экранное пространство. Новое оформление пока включено только для пользователей из США и Канады. Для активации в других странах на странице about:config можно набрать "newtab" и добавить в поля со значением "US, CA" код своей страны.

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

  • Для платформы Linux реализована поддержка дополнительных жестов на тачпаде (например, касание двумя пальцами для приостановки инертной прокрутки).
  • Для платформы Windows добавлена поддержка средств для аппаратного декодирования видео в формате HEVC (H.265).
  • Для Германии, Австрии, Бельгии, Италии, Нидерландов, Испании, Швеции и Швейцарии предоставлена возможность использования мета-поисковой системы Ecosia, борющейся за сохранение природы и тратящей большую часть прибыли на высадку деревьев. Для питания серверов компании используются возобновляемые источники энергии. Результаты поиска формируются путём обращения к поисковым системам Bing и Google.
  • Обеспечено более точное следование спецификации при определении состояния активации пользователя. Активация сигнализирует о начале взаимодействия пользователя со страницей, таком как движение мышью, нажатие кнопок или переход в меню. После активации становятся доступны некоторые Web API, например, до активации блокируется вывод всплывающих диалогов. Предложенные в новом выпуске изменения условий активации делают менее строгой блокировку всплывающих диалогов и уменьшают число ложных предупреждений о блокировке.
  • Для элементов с абсолютным позиционированием (для которых выставлено свойство "position: absolute") разрешено использование CSS-свойств align-self, justify-self и place-self.
  • В JavaScript добавлена поддержка метода RegExp.escape(), предназначенного для экранирования в строке символов, применяемых для построения регулярных выражений. Экранированные подобным образом строки можно безопасно использовать в качестве шаблона в конструкторе RegExp().
  • Добавлен метод Promise.try(), позволяющий преобразовать в Promise результат выполнения любого callback-вызова для упрощения обработки ошибок при выполнении функций, выполняемых как в асинхронном, так и в синхронном режиме.
  • В WebRTC для Simulcast-видео при трансляции содержимого окон или всего экрана добавлена поддержка кодека VP8.
  • Добавлена экспериментальная поддержка HTML-атрибута autocorrect и JavaScript-свойства HTMLElement.autocorrect, включающих автоматическую корректировку текста, вводимого в элементах ввода, таких как "<input>" и "<textarea>". Для включения в about:config следует выставить флаг "dom.forms.autocorrect".
  • Улучшены инструменты для отладки дополнений. Например, обеспечена автоматическая перезагрузка кода дополнения в отладчике после перезагрузки самого дополнения.
  • В отладчике JavaScript обеспечено автоматическое преобразование точек логирования (log-point, как точки останова, но для вывода информации в лог) в метки профилировщика, что позволяет непосредственно из отладчика добавлять подобные метки в систему профилирования.
  • В панели отслеживания сетевой активности в инструментах для web-разработчика реализован показ информации о данных, передаваемых в ответах с кодом 103 "Early Hints".

Кроме новшеств и исправления ошибок в Firefox 134 устранено 20 уязвимостей. 11 уязвимостей помечены как опасные, из которых 10 вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц. Ещё одна опасная уязвимость (CVE-2025-0244) связана с возможностью осуществления спуфинга адресной строки в версии для Android, используя некорректную схему протокола.

  1. OpenNews: В Firefox прекращена поддержка настройки Do Not Track
  2. OpenNews: Порт Firefox принят в состав официального репозитория ОС Haiku
  3. OpenNews: Firefox перешёл на использование формата XZ для распространения Linux-сборок
  4. OpenNews: В Firefox существенно модернизирована адресная строка
  5. OpenNews: Релиз Firefox 133
Обсуждение (137 +21) | Тип: Программы |
·07.01.2025 Инцидент с ошибочной блокировкой видео про биткойн (136 +14)
  Автор научно-популярного YouTube-канала 3Blue1Brown, имеющего 6.8 млн подписчиков, сообщил о блокировке видео с рассказом об устройстве криптовалюты биткоин. Видео было снято в 2017 году и набрало 16 млн просмотров. Блокировка выполнена по требованию компании ChainPatrol, отправившей жалобу о нарушении авторских прав. Помимо блокировки YouTube выставил страйк, угрожающий блокировке всего канала (три страйка - блокировка).

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

Директор компании ChainPatrol признал, что требование было ошибочным, и пояснил, что ложные претензии предъявлены не из-за сбоя AI-движка, а из-за человеческой ошибки. Заявление о нарушении было вручную заполнено сотрудником, который скопировал в форму не ту ссылку. Внутренняя проверка показала, что в настройках YouTube сотрудника было включено автоматическое воспроизведение видео. Во время заполнения формы был открыт нарушающий авторские права видеоролик, но сотрудник отвлёкся и в это время YouTube автоматически переключился на воспроизведение другого ролика, рекомендованного к просмотру. Сотрудник не заметил этого и скопировал URL легитимного ролика. В настоящее время компания ChainPatrol отозвала своё требование, а YouTube восстановил доступ к заблокированному видео.

Из недавних инцидентов, связанных с ложными заявлениями, можно отметить произошедшую в декабре блокировку домена каталога инди-игр itch.io. Домен был отключён регистратором iwmn после получения жалобы от компании Funko о применении фишинга. Жалоба была сформирована на основе ложного срабатывания AI-движка Brand Shield. Владельцы itch.io решили пойти простым путём и удалили указанную в жалобе страницу. Но регистратор проигнорировал письмо с подтверждением удаления и полностью заблокировал домен. Для разблокировки потребовалась отправка дополнительных писем, поясняющих, что указанная в жалобе информация не соответствует действительности.

  1. OpenNews: Microsoft по ошибке указал на нарушение своей интеллектуальной собственности в iso-образе Ubuntu 8.10
  2. OpenNews: Студия Warner Bros добавила собственный сайт в список блокировки пиратских ресурсов
  3. OpenNews: Мошенники смогли разместить на YouTube рекламу с кодом для майнинга криптовалюты
  4. OpenNews: Число доменов, фигурирующих в запросах на блокировку в Google, достигло 4 миллионов
  5. OpenNews: YouTube заблокировал доступ к свободному фильму Sintel под предлогом нарушения авторских прав Sony Pictures
Обсуждение (136 +14) | Тип: Тема для размышления |
·06.01.2025 Скрытая командная оболочка в синтезаторе Yamaha, позволившая выполнить код через MIDI (216 +67)
  Анна Антоненко, занимающаяся разработкой встраиваемых систем и в свободное время развивающая операционную систему BOSS (BEAM-based Operating System with Security), опубликовала результаты обратного инжиниринга музыкального синтезатора Yamaha PSR-E433. В ходе проведённой работы в синтезаторе был выявлен обфусцированный shell-интерфейс, позволивший организовать выполнение своего кода на уровне прошивки. Доступ к shell-интерфейсу осуществляется посредством отправки MIDI-пакетов с сообщениями SysEx, которые можно передать при подключении синтезатора через порт USB. Полученные в ходе обратного инжиниринга сведения о чипе и прошивках, а также примеры кода и отладочные дампы размещены на GitHub.

Интерес к обратному инжинирингу возник несколько лет назад, после того как Анна решила почистить внутренности синтезатора от пыли и заодно удовлетворить своё любопытство, связанное с желанием посмотреть начинку устройства. На плате присутствовал чип YAMAHA SWL01U, про который в интернете не удалось найти подробную информацию. Пару месяцев назад Анна натолкнулась на руководство по похожей модели синтезатора, в котором была приведена распиновка этого чипа. Анна вновь разобрала устройство и начала эксперименты, воспользовавшись имевшимися на плате выводами для отладочного интерфейса JTAG и порта UART.

При помощи отладчика OpenOCD, подключения к JTAG и экспериментов было выяснено, что на плате используется чип с процессорным ядром ARM7TDMI. Изучив раскладку памяти в отладчике, удалось выгрузить содержимое прошивок, размещённых в ПЗУ и Flash-памяти. После этого образы прошивок были проанализированы в пакете для обратного инжиниринга Ghidra.

В процессе просмотра выделенных из прошивки строковых данных был замечен набор строк ("help, "info", "ver", "logout" и т.п.), напоминающих команды программной оболочки. Изучение указателей на эти строки позволило найти код, вызывающий функции для обработки команд, напоминающий интерфейс входа и командную оболочку. Так же было выявлено, что для активации оболочки предусмотрена команда "login", в которую необходимо передать пароль "#0000".


void shell_run_command(char* command_input) {
    if (shell_login_state == 0) {
        if (shell_compare_command(command_input, "login") == 0) {
            shell_ask_passwd(); // prints "passwd? "
            shell_login_state = 1;
        }
    } else if (shell_login_state == 1) {
        if (shell_compare_command(command_input, "#0000") == 0) {
            shell_login_ok(); // prints "login OK"
            shell_login_state = 2;
        } else {
            shell_print("Passwd Error\r");
            shell_login_state = 0;
        }
    } else {
        // actually run the command
    }
}

Дальнейшее изучение прошивки показало, что команды обрабатываются в пакетах, всегда начинающихся с одних и тех же 8 байт данных и заканчивающихся кодом 0xf7. Так как внешнее взаимодействие с синтезатором осуществляется только через MIDI, а в спецификации MIDI предусмотрен специальный служебный тип сообщений SysEx, было предположено, что именно он может использоваться для передачи команд. Догадку также подкрепляло то, что сообщения SysEx и пакеты, разбираемые оболочкой, начинались с одного кода 0xf0, за которым следовал идентификатор производителя 0x43 (Yamaha).

Для проверки гипотезы был написан Python-скрипт, который транслировал вводимые данные в пакеты протокола MIDI. И метод сработал:


   login
   passwd? #0000
   login OK
   > help
   logout
   help
   ?
   info
   ver
   stack
   perf-on
   perf-off
   perf-disp
   d
   dp
   d   xxxxx
   d/s xxxxx
   m   ADDRESS DATA
   m/b ADDRESS DATA
   m/w ADDRESS DATA
   m/l ADDRESS DATA
   > info
   DevelopName        PSR-E433
   DevelopNumber      #3341
   Main DevelopNumber #3341
   Make data & time   MAY 16 2012 19:00:57
   J/E Select         English
   > 

В подсказке, показанной при отправке команды "help", среди прочего присутствовали команды для изменения содержимого памяти. При помощи данных команд можно было загрузить произвольный код в память и передать на него управление, подменив указатель в стеке, используемый для возврата после завершения обработки команды. В качестве эксперимента в неиспользуемой области памяти было размещено написанное на ассемблере простейшее приложение, выводящее строку "HeloWrld" в 8-символьный индикатор ЖК-дисплея. Программа была оформлена в виде обычного MIDI-файла, который достаточно было передать на устройство.

После этого началась работа по изучению особенностей вывода графики на ЖК-дисплей, кульминацией которой стала подготовка кода, выводящего произвольное пиксельное содержимое в символьную область, синхронно с воспроизведением видео Bad Apple на внешнем устройстве (видео с демонстрацией).



  1. OpenNews: Synthstrom Audible откроет код прошивки музыкальных синтезаторов Deluge
  2. OpenNews: Linux запущен на Intel 4004, первом коммерческом микропроцессоре
  3. OpenNews: Выпуск проекта FPDoom 1.20241031, развивающего порты Doom и других игр для кнопочных телефонов
  4. OpenNews: Релиз фреймворка для реверс-инжиниринга Rizin 0.4.0 и GUI Cutter 2.1.0
  5. OpenNews: Инструментарий для создания патчей к прошивкам чипов TI CC13XX и CC26XX с поддержкой BLE
Обсуждение (216 +67) | Тип: К сведению |
·05.01.2025 Накручивание звёзд вредоносным репозиториям на GitHub (111 +17)
  Исследователи из Университета Карнеги-Меллона, Университета штата Северная Каролина и компании Socket разработали инструментарий для определения проектов с накрученным рейтингом на GitHub. В результате применения инструмента было выявлено 3.1 млн фиктивно выставленных звёзд, охватывающих 15835 репозиториев. Для накрутки были задействованы 278 тысяч учётных записей.

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

В ходе исследования было обработано 6 миллиардов событий, отражённых в 20-терабайтном архиве активности GitHub, отслеживаемой проектом GHArchive. События были проанализированы на наличие аномалий, таких как синхронное выставление звёзд группам проектов, всплески повышения рейтинга неактивных проектов и перекос активности пользователей, созданных для накрутки. Инструментарий StarScout, использующий кластерный анализ и выявление типичных для накруток повторяющихся шаблонов поведения, опубликован под лицензией Apache 2.0.

В результате применения инструмента выявлены аномалии при появлении на GitHub 4.53 млн звёзд, выставленных с использованием 1.32 млн учётных записей и охватывающих 22915 репозиториев. Для исключения ложных срабатываний была проведена дополнительная фильтрация результатов, в ходе которой были оставлены только выраженные всплески выставления звёзд и репозитории с высоким процентом подозрительных звёзд.

В итоге выделено 278 тысяч учётных записей с типичными для накруток повторяющимся шаблоном поведения. Данные учётные записи были использованы для выставления 3.1 млн звёзд 15835 репозиториям. 90.75% из отмеченных репозиториев и 61.95% учётных записей были удалены GitHub по состоянию на октябрь 2024 года.





  1. OpenNews: Ошибка в обработчике GitHub Actions привела к публикации вредоносных релизов Ultralytics
  2. OpenNews: Манипуляция с рассылкой уведомлений через GitHub для распространения вредоносного ПО
  3. OpenNews: На GitHub выявлено более 100 тысяч репозиториев с вредоносным кодом
  4. OpenNews: Анализ наличия вредоносного кода в эксплоитах, опубликованных на GitHub
  5. OpenNews: На GitHub зафиксирована волна форков с вредоносными изменениями
Обсуждение (111 +17) | Тип: К сведению |
Следующая страница (раньше) >>



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

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