The OpenNET Project / Index page

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

·01.04.2025 Релиз Firefox 137 с поддержкой группировки вкладок (47 +8)
  Состоялся релиз web-браузера Firefox 137 и сформированы обновления прошлых веток с длительным сроком поддержки - 115.22.0 и 128.9.0. На стадию бета-тестирования переведена ветка Firefox 138, релиз которой намечен на 29 апреля.

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

  • Добавлена поддержка группировки вкладок, позволяющая объединять несколько вкладок и сворачивать их в одну кнопку, чтобы они не занимали место при просмотре других вкладок. Группе можно назначить имя и цвет, а также отдельно сохранить на случай, если содержимое понадобиться в будущем. Для создания группы можно использовать подменю "Добавить вкладку в группу" в контекстном меню, показываемом при клике правой кнопкой мыши на кнопках вкладок, или просто перетащив одну вкладку на другую (откроется диалог для создания группы).

    Группировка может оказаться полезной для разделения вкладок по тематике (развлечение, покупки, чтение на потом). Кроме того, группировка помогает, когда в процессе первоначального изучения какой-то темы или при выборе товара открывается много связанных страниц, к которым через какое-то время потребуется вернуться, но оставлять в форме отдельных вкладок второстепенные страницы не хочется, так как они занимают место в панели. Возможность пока по умолчанию включена не для всех и постепенно будет активироваться для всё большего процента пользователей. Для принудительного включения на странице about:config можно активировать параметр "browser.tabs.groups.enabled"

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

    При отправке поискового запроса из адресной строки, введённые данные теперь остаются в адресной строке как есть, даже после отправки запроса к поисковой системе, что позволяет при необходимости изменить запрос напрямую в адресной строке. Например, при отправке запроса "samba vulnerability" в адресной строке теперь не показывается URL поисковой системы, а остаётся введённый текст:

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

  • При начале ввода поискового запроса в адресной строке, находясь на странице какого-то сайта, в числе рекомендаций автоматически будет предложена возможность отправки запроса через поисковую систему этого сайта, если он предоставляет соответствующие функции. После отправки двух подобных поисковых запросов на сайт, браузер предложит добавить поисковый движок сайта в список поисковых систем.
  • Предоставлена возможность выбора области поиска, используя управляющие теги, такие как @bookmarks, @tabs, @history и @actions. При вводе символа "@" появляется подсказка по доступным тегам.

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

    Новые возможности адресной строки пока активированы по умолчанию только для небольшого процента пользователей. Для принудительного включения в "about:config" можно использовать параметры из секции "browser.urlbar", такие как "browser.urlbar.quicksuggest.enabled", "browser.urlbar.unifiedSearchButton.always" и "browser.urlbar.suggest.calculator").

  • В сборках для платформы Linux включено использование аппаратного ускорения декодирования видео в формате HEVC (H.265).
  • При просмотре PDF-документов обеспечено определение всех ссылок и превращение их в гиперссылки.
  • В PDF-просмотрщик добавлен диалог для прикрепления к документу изображения своей подписи.
  • Добавлена поддержка API SVG Path для отображения фигур и создания контуров при помощи SVG-элемента "path". Добавлена поддержка методов getPathData(), setPathData() и getPathSegmentAtLength(), предоставляемых интерфейсом SVGPathElement.
  • Добавлено CSS-свойство "hyphenate-limit-chars", которое можно использовать для указания минимального числа символов в частях слова, разделённых при переносе конца слова на другую строку.
  • В CSS-свойство text-decoration-line добавлена поддержка значений "spelling-error" и "grammar-error" для оформления выделения в тексте синтаксических и грамматических ошибок.
  • Добавлен метод Math.sumPrecise() для вычисления суммы элементов массивов и других перечисляемых объектов с точностью, превышающей точность обычного суммирования в цикле (исключаются потери точности при промежуточном сохранении результатов).
  • Добавлен метод Atomics.pause() для информирования о нахождении потока в состоянии блокировки из-за , ожидания доступа к общему ресурсу, что может использоваться системой при регулировании энергопотребления CPU.
  • Для дополнений выставлено ограничение (10 МБ) на размер данных, сохраняемых через API storage.session.
  • В инструментах для web-разработчика в панели инспектирования шрифтов добавлено отображение метаданных шрифтов, таких как версия, автор, поставщик и лицензия.
  • В панели инспектирования сетевой активности предоставлена возможность переопределения ответов на сетевые запросы (вместо реального ответа можно подставить содержимое выбранного файла).
  • В версии для платформы Android добавлена поддержка видео в формате HEVC (H.265).

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

  1. OpenNews: Релиз Firefox 136 с поддержкой вертикальных вкладок
  2. OpenNews: Mozilla переходит к поставке Firefox с условиями использования
  3. OpenNews: В Firefox существенно модернизирована адресная строка
  4. OpenNews: Европейскому регулятору подана жалоба о появлении в Firefox функции отслеживания пользователей
  5. OpenNews: В Firefox появится группировка вкладок
Обсуждение (47 +8) | Тип: Программы |
·01.04.2025 Выпуск системы резервного копирования Restic 0.18. Атака на CDC (25 +4)
  Представлен выпуск системы резервного копирования Restic 0.18, позволяющей хранить резервные копии в зашифрованном виде в версионированном репозитории с поддержкой дедупликации. Система изначально рассчитана на то, что резервные копии сохраняются в окружениях, не заслуживающих доверия, и попадание резервной копии в чужие руки не должно скомпрометировать систему. При создании резервной копии возможно определение гибких правил для включения и исключения файлов и каталогов (формат правил напоминает rsync или gitignore). Поддерживается работа в Linux, macOS, Windows и BSD-системах. Код проекта написан на языке Go и распространяется под лицензией BSD.

Резервные копии могут храниться в локальной ФС, на внешнем сервере с доступом по SFTP/SSH или HTTP REST, в облаках Amazon S3, OpenStack Swift, BackBlaze B2, Microsoft Azure Blob Storage и Google Cloud Storage, а также в любых хранилищах, для которых имеются бэкенды rclone. Для хранения также может использоваться развиваемый проектом rest server, обеспечивающий более высокую производительность по сравнению с другими бэкендами и способный работать в режиме только для дополнения, не позволяющем удалить или изменить резервные копии в случае компрометации исходного сервера и доступа к ключам шифрования.

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

Хранилище резервных копий в Restic манипулирует не целыми файлами, а блоками плавающего размера, выбираемыми с использованием подписи Рабина. Информация хранится в привязке к содержимому, а не именам файлов (связанные с данными имена и объекты определяются на уровне метаданных блока). Для экономии места в хранилище и исключения лишнего копирования данных выполняется дедупликация.

На внешних серверах информация сохраняется в зашифрованном виде - для контрольных сумм и дедупликации используются хэши SHA-256, для шифрования - алгоритм AES-256-CTR, а для гарантирования целостности - коды аутентификации на основе Poly1305-AES. Предусмотрена возможность верификации резервной копии по контрольным суммам и кодам аутентификации для подтверждения, что целостность файлов не нарушена.


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

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

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

Уязвимость не специфична для Restic и затрагивает другие системы резервного копирования, использующие разделение данных на блоки при помощи техники CDC (Content-Defined Chunking), такие как BorgBackup, Tarsnap, Bupstash и Duplicacy. В Tarsnap проблема устранена в обновлении 1.0.41, в BorgBackup ведётся работа над исправлением, которое намерены включить в ветку borg 2. В Bupstash последнее изменение было 2 года назад, а в Duplicacy - 4 месяца назад.

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

Кроме устранения уязвимости в Restic 0.18 также предложено несколько новшеств:

  • Добавлена экспериментальная поддержка "холодных" хранилищ резервных копий (данные становятся доступны для извлечения через минуты или часы после запроса), поддерживающих протокол S3, таких как Amazon S3 Glacier.
  • В команды check и tag добавлена поддержка вывода в формате JSON.
  • При сборке образов для GitHub Container Registry учтены рекомендации SLSA (Supply-chain Levels for Software Artifacts).
  • В команду ls добавлен выбор метода сортировки вывода. В команде find по умолчанию задействована сортировка по дате (от новых к старым).
  • Предоставлена возможности исключения из операции перепаковки файлов, размером меньше заданного.
  • Добавлена настройка для включения/отключения восстановления расширенных атрибутов файлов.
  • Добавлена поддержка ОС DragonFlyBSD.
  • Добавлена поддержка расширенных атрибутов файлов на системах с NetBSD 10+.
  • В ветке restic 0.19.0 намечено удаление поддержки устаревших возможностей, активированных через настройки deprecate-legacy-index, deprecate-s3-legacy-layout, explicit-s3-anonymous-auth и safe-forget-keep-tags.
  • Прекращена поддержка старых версий Windows и macOS, для работы теперь требуется как минимум Windows 10, Windows Server 2016 или macOS 11. Прекращена поддержка версий TLS до 1.2.

  1. OpenNews: Тестирование сервиса резервного копирования Tarsnap
  2. OpenNews: Релиз системы резервного копирования BorgBackup 1.1.0
  3. OpenNews: Доступна система резервного копирования Bacula 13.0.0
  4. OpenNews: Доступен GNU Anastasis, инструментарий для резервного копирования ключей шифрования
  5. OpenNews: Доступна система резервного копирования restic 0.15
Обсуждение (25 +4) | Тип: Программы |
·31.03.2025 Разработчики OrioleDB предложили улучшить API для альтернативных движков PostgreSQL (28 +12)
  Разработчики OrioleDB проанализировали текущее состояние низкоуровневого API, применяемого для доступа расширений к таблицам и индексам в PostgreSQL (Table/Index Access Method (AM) API), и предложили пути его улучшения. С момента появления в PostgreSQL 12 подобного API разработчики получили возможность создавать альтернативные механизмы хранения данных. Однако, несмотря на наличие этого API и известные ограничения встроенного механизма хранения, до сих пор не появилось полнофункциональных транзакционных движков хранения, реализованных исключительно в виде расширений.

Наиболее востребованными функциями для альтернативных табличных движков PostgreSQL являются:

  • Альтернативные реализации MVCC, например, хранилища на основе журнала UNDO.
  • Индексно-организованные таблицы, где индекс не является необязательным дополнением к таблице, которое ускоряет запросы, а представляет собой основную структуру данных, в которой хранятся данные таблицы.

Изменения, необходимые в API Table/Index AM для поддержки альтернативных реализаций MVCC, рассматриваются с оглядкой на расширение OrioleDB, разработанное для устранения известных недостатков встроенного механизма хранения PostgreSQL. Проблема в том, что для полной интеграции OrioleDB с PostgreSQL требуются внесение изменений в код PostgreSQL, что усложняет внедрение проекта и подчёркивает необходимость модернизации текущего API Table AM.

API Table AM не навязывает напрямую способ реализации MVCC. Тем не менее, API Table AM и API Index AM делают следующее предположение: каждый TID (Tuple/row Identifier) либо индексируется всеми индексами, либо не индексируется вообще. Даже если Index AM имеет несколько ссылок на один TID (например, GIN), все эти ссылки должны соответствовать одному и тому же индексированному значению.

Этот принцип критиковали за увеличение числа операций записи ("write amplification") - если обновляется один индексированный атрибут, необходимо обновить каждый индекс в таблице. При необходимости в полной мере использовать преимущества журнала UNDO или построить другой метод хранения без "усиления записи" (например, метод WARM), требуется нарушить это предположение.

Table AM основанный на UNDO, который не будет нарушать это предположение, напоминает существующий метод HOT (Heap-Only Tuples), за исключением того, что старые версии строк сохраняются в журнале UNDO и не должны умещаться в той же странице. Но, по мнению авторов, этого преимущества недостаточно, чтобы оправдать существование отдельного Table AM.

Практические ограничения существующего API:

  • Во время обновления строки таблицы индексы обновляются по принципу «все или ничего».
  • Отсутствие в API Index AM возможности точечного удаления определённых кортежей. В настоящее время можно удалять кортежи из индексов массово с помощью методов ambulkdelete и amvacuumcleanup. Попытка реализовать точечное удаление через этот API привела бы к низкой эффективности, поскольку большинство текущих реализаций должны сканировать весь индекс. Кроме того, API не позволяет указать какие из кортежей, ссылающиеся на один и тот же TID, следует удалить. Он может удалить только их все.
  • Индексы в настоящее время ссылаются на строки таблицы по номеру блока (32 бита) и номеру смещения (16 бит). И только 11 бит номера смещения можно безопасно передать из TID таблицы во все методы доступа индекса. При этом альтернативным реализациям MVCC может потребоваться хранить дополнительную полезную нагрузку (payload) вместе с TID. Например, в OrioleDB требуется один или несколько бит для реализации индексов "delete-marking" или полной информации о видимости.

Предложено два способа преодолеть ограничения на практике:

    Подход 1: API Index AM предоставляет возможности для альтернативной реализации MVCC.

    В то время как Table AM продолжает отвечать за все компоненты MVCC, Index AM предоставляет необходимые возможности для альтернативной реализации MVCC, а именно: хранение пользовательской полезной нагрузки (payload) вместе с TID, метод точечного удаления и даже метод точечного обновления (если TID в индексе не может быть изменён, пользовательская полезная нагрузка – может). Кроме этого, так как необходимо разрешить нескольким кортежам индекса ссылаться на один и тот же TID, методы API, применяемые при сканировании индекса, также нуждаются в обновлении.

    Подход 2: Индексы, поддерживающие MVCC.

    Альтернативой было бы разрешить индексы, поддерживающие MVCC. То есть "executor" (или, возможно, Table AM) просто вызывает методы insert() и delete() в Index AM, в то время как Index AM предоставляет возможность сканирования c учётом MVCC. Это значительно упростило бы сканирование с использованием только индексов (index-only). Даже весь Table AM в таком случае мог бы стать промежуточным слоем, хранящим данные в индексе.

    На диаграмме ниже приведён пример. Значение индекса 2 обновляется транзакцией 11 со значения "A" на значение "B". Поэтому значение "A" отмечено как xmax == 11, а значение "B" отмечено как xmin == 11. Таким образом можно сканировать индекс 2 и получать только видимые кортежи в соответствии с MVCC без проверок кучи (heap). Сборка мусора индекса 2 также может быть выполнена без использования кучи.

    При внедрении всех перечисленных новшеств в API индексных методов доступа, маловероятно, чтобы удалось одновременно доработать все индексы для поддержки всех новых возможностей. Более реалистично разрешить несколько реализаций для одного индексного метода доступа. Например, в дополнение к обычному B-tree, расширение сможет реализовать альтернативный B-tree с поддержкой MVCC внутри индекса и поддержкой идентификаторов записи произвольной длины.

    Таким образом, предлагается пересмотреть не только API Table AM, но и API Index AM, который исправно служил сообществу PostgreSQL на протяжении многих лет. Более того, предлагается разделить Index AM на логический слой и слой реализации. Эта переосмысленная архитектура позволит PostgreSQL поддерживать различные модели хранения.

    1. OpenNews: Седьмая бета-версия OrioleDB, высокопроизводительного движка хранения для PostgreSQL
    2. OpenNews: Для PostgreSQL представлен движок хранения OrioleDB, обходящийся без операции VACUUM
    3. OpenNews: Доступны IvorySQL 4.0 и SynchDB 1.0, надстройки к PostgreSQL для взаимодействия с другими СУБД
    4. OpenNews: Microsoft открыл код СУБД DocumentDB, основанной на PostgreSQL
    5. OpenNews: Релиз FerretDB 2.0, реализации MongoDB на базе СУБД PostgreSQL
Обсуждение (28 +12) | Автор: Alexander Korotkov | Тип: Обобщение |
·31.03.2025 Доступна платформа обмена сообщениями Zulip 10 (72 +12)
  Опубликован релиз Zulip 10, серверной платформы для развёртывания корпоративных мессенджеров, подходящих для организации общения сотрудников и групп разработчиков. Проект изначально был разработан компанией Zulip и открыт после её поглощения компанией Dropbox под лицензией Apache 2.0. Код серверной части написан на языке Python с использованием фреймворка Django. Клиентское ПО доступно для Linux, Windows, macOS, Android и iOS, также предоставляется встроенный web-интерфейс.

Система поддерживает как прямой обмен сообщениями между двумя людьми, так и проведение групповых обсуждений. Zulip можно сравнить с сервисом Slack и рассматривать как внутрикорпоративный аналог Twitter, применяемый для общения и обсуждений рабочих вопросов в больших группах сотрудников. Предоставляются средства для отслеживания состояния и участия одновременно в нескольких обсуждениях с использованием нитевидной модели отображения сообщений, которая является оптимальным компромиссом между привязкой к комнатам в Slack и единым публичным пространством Twitter. Одновременное нитевидное отображение всех обсуждений позволяет в одном месте охватить все группы, при этом сохранив логическое разделение между ними.

Из возможностей Zulip также можно отметить поддержку отправки сообщений пользователю в offline-режиме (сообщения будут доставлены после появления в online), сохранение полной истории обсуждений на сервере и средства для поиска в архиве, возможность отправки файлов в режиме Drag-and-drop, автоматическую подсветку синтаксиса для передаваемых в сообщениях блоков кода, встроенный язык разметки для быстрого оформления списков и форматирования текста, средства для групповой отправки уведомлений, возможность создания закрытых групп, интеграция с Trac, Nagios, Github, Jenkins, Git, Subversion, JIRA, Puppet, RSS, Twitter и другими сервисами, средства для привязки к сообщениям наглядных меток.

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

  • Добавлены инструменты для управления правами доступа, позволяющие манипулировать правами на уровне отдельных пользователей, групп пользователей и ролей. Например, в интерфейсе можно разрешить перемещение сообщений пользователям, которым назначена роль модератора, или которые включены в группу менеджеров. При помощи групп можно воссоздать структуру управления организацией, например, начальники могут быть объединены в группу менеджеров, которая может быть разбита на подгруппы, отвечающие за технологии и дизайн.
  • Добавлены дополнительные возможности управления группами. Появилась поддержка предоставления отдельных прав для создания и администрирования групп, добавления и удаления участников. Также можно определять каким пользователям разрешено самостоятельно присоединяться и покидать группы. Добавлена поддержка подключения пользователей к группе на этапе отправки инвайта. Вместо удаления группы реализована деактивация, при которой для аудита сохраняется вся история группы. В панель с настройками групп добавлены отдельные вкладки для общих настроек, управления составом групп и назначением прав доступа.
  • В интерфейс администратора добавлены новые настройки для каналов, позволяющие определить для каждого канала администраторов и лиц, имеющих право подключения/отключения пользователей. На уровне отдельных пользователей и групп можно выборочно назначать доступ в режиме только чтения, ограничивать редактирование уже отправленных сообщений, управлять подпиской на приватные каналы, назначать участников, уполномоченных закрывать темы. Добавлена возможность скрытия или оставления архивных каналов.
  • Добавлена концепция общего чата, в котором отображаются сообщений без привязки к теме.
  • Реализована поддержка настройки размера шрифта и межстрочных интервалов, позволяющая более гибко адаптировать интерфейс под свои предпочтения, чем изменение масштаба.
  • В боковую панель со списком пользователей добавлена отдельная секция с недавно подключившимися участниками. В меню панели добавлена опция для показа аватаров в списке. Обновлены индикаторы доступности участников.
  • Расширены возможности по созданию ссылок на сообщения, каналы и темы обсуждений. Ранее созданные ссылки на темы теперь продолжают действовать после переименования темы или перемещения в другой канал. При вставке через буфер обмена ссылки в программы, поддерживающие формат HTML, обеспечено автоматическое форматирование ссылки в виде "#channel > topic". Аналогично, при вставке полных URL при написании новых сообщений подобные ссылки преобразуются в формат ссылок Zulip. Упрощено создание ссылок на темы обсуждений.
  • Улучшен интерфейс составления новых сообщений. Добавлена функция сохранения типовых отрывков текста для их быстрой вставки при составлении нового сообщения. В боковую панель добавлены кнопки для отправки сообщения с созданием новой темы и для прямой отправки сообщения другому пользователю. Добавлена опция для перенаправления сообщения или его части в другой чат. Упрощена совместная работа над списками задач (todo).
  • Проведены оптимизации обработки и хранения сообщений, благодаря которым сообщения в окне просмотра теперь появляются без задержки.
  • Добавлен индикатор, показываемый когда другой участник приступил к редактированию уже отправленного сообщения (ранее предоставлялся только индикатор написания нового сообщения).
  • Добавлен модуль интеграции с Zoom, использующий OAuth. В модуле интеграции с BigBlueButton добавлена поддержка голосовых вызовов (без видео). Добавлены модули интеграции для Airbyte и Onyx, и улучшены для GitHub, GitLab, GoCD, Linear, NewRelic и Slack.
  • Добавлен тестовый модуль для краткого изложения сути обсуждения в теме, используя выбранные пользователем большие языковые модели.
  • На сервер добавлена поддержка загрузки больших файлов, используя протокол TUS. Проведена оптимизация протокола синхронизации, позволившая сократить трафик и нагрузку на CPU в крупных организациях.
  • Устранены уязвимости:
    • CVE-2025-27149 - при экспорте публичных данных была возможна утечка метаданных о приватных сообщениях и строк с идентификаторами браузеров клиентов.
    • CVE-2025-30368, CVE-2025-30369: файлы с экспортом и поля в профилях могли быть удалены администраторами других организаций.

  1. OpenNews: Завершено открытие серверной части сервиса мгновенного обмена сообщениями Wire
  2. OpenNews: Проект TFC развивает параноидально защищённую систему обмена сообщениями
  3. OpenNews: Проект Revolt развивает открытую альтернативу платформе Discord
  4. OpenNews: Первый выпуск коммуникационной платформы Fosscord, совместимой с Discord
  5. OpenNews: Доступна система обмена сообщениями Briar, способная работать в режиме P2P
Обсуждение (72 +12) | Тип: Программы |
·30.03.2025 Опубликован свободный видеокодек Theora 1.2 (150 +39)
  Организация Xiph.Org, известная разработкой видео- и аудиокодеков Daala, Opus, FLAC, Vorbis и Speex, представила новую редакцию свободного кодека Theora 1.2, сформированную спустя 15 с половиной лет после прошлого обновления. Кодек распространяется под свободной лицензией без сбора лицензионных отчислений (royalty-free). Формат сжатия видео Theora, как правило, используется совместно с аудиокодеком Vorbis в контейнерах Ogg и может работать в режимах с переменным и фиксированным битрейтом. По уровню качества кодирования Theora близок к H.264 и DiVX. Эталонная реализация кодека распространяется под лицензией BSD.

Основное внимание при подготовке новой редакции было уделено повышению производительности и эффективности кодирования. На уровне битового потока (bitstream) Theora 1.2 полностью соответствует стандартизированному в 2004 году формату кодирования видео Theora. API и ABI интерфейсы новой версии также сохраняют полную совместимость с прошлыми выпусками Theora. В состав Theora 1.2 включены 190-страничная спецификация, документация на API, черновик спецификации RTP-расширений для потокового вещания и эталонные реализации кодировщика и декодировщика.

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

Кроме того, в Theora 1.2 проведена оптимизация эталонного декодировщика, добавлена поддержка платформы RISC OS и значительно улучшена поддержка архитектуры ARM. Добавлены оптимизации для CPU ARM и DSP TI C64x+. Предложено три уровня скорости кодирования (старый уровень 2 переименован в 3, а вместо второго предложен новый промежуточный уровень).

  1. OpenNews: Разработчики Chrome и Firefox рассматривают возможность прекращения поддержки видеокодека Theora
  2. OpenNews: Финальный релиз видеокодека Theora 1.1
  3. OpenNews: Сообщество Xiph.Org представило видеокодек Daala с технологиями, опережающими VP9 и H.265/HEVC
  4. OpenNews: Доступен аудиокодек Opus 1.5
  5. OpenNews: Опубликован свободный звуковой кодек FLAC 1.5
Обсуждение (150 +39) | Тип: К сведению |
·29.03.2025 Представлен формат сжатия изображений Spectral JPEG XL (74 +34)
  Инженеры из компании Intel представили формат изображений Spectral JPEG XL, оптимизированный для эффективного сжатия изображений, охватывающих области спектра за границей диапазона видимого излучения. Предложенный формат предоставляет возможности, аналогичные спектральной редакции формата OpenEXR, но в отличие от последнего обеспечивает кодирование с потерями, что позволяет добиться сокращения размера файлов в 10-60 раз по сравнению со сжатием без потерь.

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

Съёмка с захватом диапазонов вне видимого спектра даёт возможность более точно моделировать взаимодействие света с материалами, но приводит к значительному увеличению информации, хранимой для каждого пикселя. Спектральные изображения могут включать десятки каналов, охватывающих различные диапазоны длин волн, и использовать для каждого канала 16- или 32-разрядные числа с плавающей запятой, что позволяет охватить более широкий диапазон значений яркости, чем на обычных фотографиях. Ценой подобной возможности становится существенное увеличение размера по сравнению с традиционными изображениями. В качестве примера упомянуто изображение с 81 дополнительным спектральным каналом, занимающее в формате OpenEXR 300 МБ. При помощи Spectral JPEG XL данное изображение удалось сжать до 3.9 МБ без потери спектральных характеристик.

Для сокращения размера Spectral JPEG XL использует разделение данных о яркости и форме спектра, и применяет дискретное косинусное преобразование, позволяющее сохранить основные спектральные характеристики, но отбросить несущественные высокочастотные спектральные детали. Суть метода в преобразовании плавного изменения волновых характеристик в набор волновых коэффициентов (коэффициентов частоты), при совмещении воссоздающих исходную спектральную информацию.

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

  1. OpenNews: Уязвимости в реализации JPEG XL из состава FFmpeg
  2. OpenNews: Samsung обеспечил поддержку формата изображений JPEG XL
  3. OpenNews: В Safari 17 и WebKit включена поддержка формата изображений JPEG XL
  4. OpenNews: Google упраздняет поддержку JPEG XL в Chrome
  5. OpenNews: Представлен формат сжатия изображений QOI
Обсуждение (74 +34) | Тип: К сведению |
·29.03.2025 Релиз сборочной системы CMake 4.0.0 (113 +14)
  Представлен релиз кроссплатформенного открытого генератора сценариев сборки CMake 4.0.0, выступающего в качестве альтернативы Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Код CMake написан на языке C++ и распространяется под лицензией BSD.

CMake примечателен предоставлением простого языка сценариев, средствами расширения функциональности через модули, поддержкой кэширования, наличием инструментов для кросс-компиляции, поддержкой генерации файлов сборки для широкого спектра систем сборки и компиляторов, наличием утилит ctest и cpack для определения сценариев тестирования и сборки пакетов, утилитой cmake-gui для интерактивной настройки параметров сборки.

Основные изменения:

  • Прекращена совместимость с версиями CMake до выпуска 3.5. При привязке к неподдерживаемым версиям в функциях cmake_minimum_required() и cmake_policy() теперь будет выводиться ошибка.
  • Добавлена переменная окружения "CMAKE_POLICY_VERSION_MINIMUM" для переопределения минимальной версии CMake, функциональность которой необходима для сборки проекта. Добавленная переменная позволяет обойтись без изменения вызовов cmake_minimum_required(VERSION) и cmake_policy(VERSION) в самом проекте, например, для настройки политики версий в проектах, не предусматривающих такую возможность.
  • В выражение генератора "$<PATH>" добавлена операция "NATIVE_PATH" для преобразования файлового пути из представления CMake (для разделения каталогов всегда используется "/"), в системный путь (в Unix-подобных системах используется "/", а в Windows - "\").
  • На платформе macOS при использовании генераторов сборочных сценариев на базе инструментария Ninja и генераторов Makefile, если в каталоге "/usr/bin" присутствует компилятор, то он отныне оставляется как есть, без привязки к компилятору в Xcode. При сборке для платформы macOS по умолчанию прекращён выбор SDK и передача компилятору флага "-isysroot" (SDK теперь выбирает сам компилятор, а не CMake).
  • Добавлено свойство LINK_WARNING_AS_ERROR, при котором предупреждения компоновщика будут трактоваться как ошибки. Для отключения действия данного свойства добавлена опция командной строки "--link-no-warning-as-error".
  • В утилиту cmake добавлена опция "--project-file" для задания альтернативного имени файла CMakeLists.txt.
  • В генератор CPack добавлена возможность создания несжатых tar-архивов.
  • В команду target_link_libraries() и переменные CMAKE_EXE_LINKER_FLAGS*, CMAKE_SHARED_LINKER_FLAGS*, CMAKE_MODULE_LINKER_FLAGS* добавлена поддержка префикса "LINKER:".
  • Добавлены новые переменные:
  • Добавлены новые свойства: DEBUGGER_WORKING_DIRECTORY и VS_SOLUTION_ITEMS (для прикрепления файлов к .sln для Visual Studio).
  • Обеспечено формирование готовых сборок CMake для SunOS для архитектур sparc64 и x86_64.

  1. OpenNews: Релиз системы сборки CMake 3.28
  2. OpenNews: Facebook опубликовал систему сборки Buck2
  3. OpenNews: Проект Сicada развивает систему автоматизации сборок, похожую на GitHub Actions
  4. OpenNews: Выпуск сборочной системы Meson 1.7.0
  5. OpenNews: Компания Apple открыла код сборочной системы Swift Build
Обсуждение (113 +14) | Тип: Программы |
·28.03.2025 Выявлена возможность обхода ограничений доступа к "user namespace" в Ubuntu (73 +20)
  Исследователи безопасности из компании Qualys выявили три способа обхода применяемых в Ubuntu ограничений доступа к пространству имён идентификаторов пользователя (user namespace). Начиная с выпуска 23.10 в Ubuntu применяется дополнительный слой изоляции, не позволяющий обычным непривилегированным пользователям создавать "user namespace". Сам по себе доступ к "user namespace" не является уязвимостью и многие дистрибутивы предоставляют его из коробки, так как он требуется в системах контейнерной изоляции и используется для sandbox-ограничений (например применяется для sandbox-изоляции браузеров).

Пространства имён (namespace) в ядре Linux позволяют привязать к разным процессам разные представления ресурсов, например, процесс может быть помещён в окружение со своими точками монтирования, IPC, PID и сетевым стеком, которые не пересекаются с окружением других процессов. При помощи "user namespace" непривилегированный процесс в контексте изолированного контейнера может обращаться к подсистемам ядра, в обычных условиях требующих повышенных привилегий, но оставаться при этом непривилегированным вне контейнера.

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

В Ubuntu в качестве дополнительного уровня защиты была реализована гибридная схема, выборочно оставляющая некоторым программам возможность создавать "user namespace" при наличии профиля AppArmor с правилом "allow userns create" или прав CAP_SYS_ADMIN. Подобная защита позволяла уменьшить риск эксплуатации уязвимостей в подсистемах ядра (сократить поверхность атаки), но при этом сохранить возможность полноценной sandbox-изоляции в избранных приложениях.

Создание "user namespace" с привилегированным доступом внутри контейнера представляет угрозу только если в системе не установлены все доступные обновления и в ядре присутствует известная неисправленная уязвимость. Выявлено три способа обхода механизма ограничения доступа к "user namespace", позволяющих непривилегированному локальному пользователю создать "user namespace" c привилегиями администратора внутри, достаточными для выполнения эксплоитов, требующих прав CAP_SYS_ADMIN или CAP_NET_ADMIN:

  • Атакующий может использовать утилиту aa-exec, входящую в базовую поставку, для применения к себе имеющихся в системе профилей AppArmor, среди прочего и тех, что разрешают доступ к "user namespace". Например, можно применить к своему процессу профили от chrome, flatpak и trinity.
    
       $ aa-exec -p trinity -- unshare -U -r -m /bin/sh
    
  • Атакующий может запустить командную оболочку из пакета busybox, поставляемого по умолчанию и снабжённого профилем AppArmor, допускающим создание "user namespace".
    
       $ busybox sh
       ~$ /usr/bin/unshare -U -r -m /bin/sh
    
  • Атакущий может использовать переменную окружения LD_PRELOAD для загрузки своей библиотеки в контексте любой программы, имеющей AppArmor-профиль для доступа к "user namespace". Например, подобные права имеет файловый менеджер nautilus в Ubuntu Desktop.
    
       LD_PRELOAD=./shell.so /usr/bin/nautilus
    

Для блокирования найденных лазеек разработчики Ubuntu рекомендуют отключить возможность изменения профилей AppArmor утилитой aa-exec, выставив настройку "sysctl kernel.apparmor_restrict_unprivileged_unconfined=1". Также рекомендовано деактивировать профили AppArmor у приложений, имеющих доступ к "user namespace". В поставке по умолчанию подобные профили присутствуют у busybox и nautilus, а для проверки наличия отдельно установленных программ с подобными правами можно использовать команду "sudo aa-status --filter.mode=unconfined". Для отключения AppArmor-профилей busybox и nautilus (если не требуется использование утилит busybox с "user namespace" и можно обойтись без генерации миниатюр в nautilus) следует использовать команды:


   sudo ln -s /etc/apparmor.d/busybox /etc/apparmor.d/disable
   sudo apparmor_parser -R /etc/apparmor.d/busybox
   sudo ln -s /etc/apparmor.d/nautilus /etc/apparmor.d/disable
   sudo apparmor_parser -R /etc/apparmor.d/nautilus

Дополнительно можно отметить раскрытие сведений об уязвимости (CVE-2025-0927) в драйвере HFS+, позволяющей получить root-привилегии в системе. Проблема вызвана переполнением буфера, возникающем при обработке специально сформированных образов ФС. Для эксплуатации уязвимости требуется доступ к созданию "user namespace" или монтированию дисковых образов (например, пользователям Ubuntu с активным локальным сеансом polkit предоставляет право создания loop-устройств и монтирования блочных устройств, применяемые для автоподключения USB Flash). Проблема проявляется только в ядрах Linux до версии 6.12. Опубликован рабочий эксплоит, использование которого продемонстрировано в Ubuntu 22.04 с ядром 6.5.0-18-generic.

  1. OpenNews: Уязвимости в утилите needrestart, позволяющие получить root-доступ в Ubuntu Server
  2. OpenNews: Уязвимость в OpenSSH, позволяющая удалённо выполнить код с правами root на серверах с Glibc
  3. OpenNews: Уязвимость в glibc, позволяющая получить root-доступ в системе
  4. OpenNews: Уязвимость в Glibc ld.so, позволяющая получить права root в большинстве дистрибутивов Linux
  5. OpenNews: Локальная уязвимость в ядре Linux, эксплуатируемая через nftables
Обсуждение (73 +20) | Тип: Проблемы безопасности |
·28.03.2025 Бета-выпуск Ubuntu 25.04 (237 +10)
  Представлен бета-выпуск дистрибутива Ubuntu 25.04 "Plucky Puffin", после формирования которого произведена полная заморозка пакетной базы, и разработчики перешли к итоговому тестированию и исправлению ошибок. Релиз запланирован на 17 апреля и отнесён к промежуточным выпускам, обновления для которых формируются в течение 9 месяцев. Готовые тестовые образы созданы для Ubuntu, Ubuntu Server, Lubuntu, Kubuntu, Ubuntu Mate, Ubuntu Budgie, Ubuntu Studio, Xubuntu, UbuntuKylin (редакция для Китая), Ubuntu Unity, Edubuntu и Ubuntu Cinnamon.

Основные изменения:

  • Рабочий стол обновлён до выпуска GNOME 48, в котором реализована поддержка HDR, тройной буферизации, стековой компоновки уведомлений, глобальных сочетаний клавиш. Расширен конфигуратор. Добавлены оптимизации потребления памяти и производительности.
  • В Ubuntu Desktop вместо Evince для просмотра PDF задействована программа Papers (форк Evince, переведённый на GTK4 и частично переписанный на языке Rust).
  • По умолчанию задействована обвязка xdg-terminal-exec, упрощающая замену эмулятора терминала, вызываемого комбинацией клавиш Ctrl+Alt+T.
  • После сворачивания проекта Mozilla Location Service, сервисы определения местоположения переведены на базу BeaconDB с информацией о размещении известных точек беспроводного доступа.
  • Отключено по умолчанию звуковое сопровождение запуска системы.
  • В инсталлятор в Ubuntu Desktop добавлен режим для замены существующих установок Ubuntu. При установке в режиме двойной загрузки, если в системе уже используются другие операционные системы, разрешена установка на шифрованные разделы и предоставлены расширенные настройки для дисковых разделов. Добавлена возможность установки Ubuntu на одном накопителе с Windows-системами, использующими шифрованные разделы на базе BitLocker.
  • Вместо публикации отдельных сборок, специфичных для каждого ARM64-устройства, дистрибутив перешёл к предоставлению одного общего ISO-образа Ubuntu Desktop для устройств на базе архитектуры ARM64. Образ можно использовать для установки на рабочих станциях с процессорами Ampere, ноутбуках с чипами Snapdragon и в виртуальных машинах на Mac-системах Apple Silicon.
  • Улучшены возможности для использования устройств на базе архитектуры ARM64 в качестве рабочих станций с графическим окружением. Добавлена поддержка новых устройств, например, на базе Qualcomm Snapdragon X Elite 13. Добавлены пакеты ubuntu-x1e-settings и qcom-firmware-extract.
  • В дополнение к initramfs-tools добавлена опциональная поддержка инструментария Dracut для формирования образов начального RAM-диска (initrd). В Ubuntu осеннем выпуске 25.10 инструментарий Dracut намерены задействовать по умолчанию. Из проблем с initramfs-tools, которые будут решены после перехода на Dracut, упомянуты: невозможность использования systemd в initrd, отсутствие поддержки NVMe over Fabric (NVM-oF), сложность сопровождения из-за раздельной работы с initrd и корневой ФС, стагнация разработки initramfs-tools и обилие кода на shell в initrd.
  • В репозиторий добавлен инструментарий crypto-config, предназначенный для работы с общим для всей системы профилем настроек, связанных с криптографией. В настоящее время доступны профили default, legacy и future.
  • Обновлены системные пакеты: ядро Linux 6.14, glibc 2.41, systemd 257.4, binutils 2.44, OpenSSL 3.4.1, GnuTLS 3.8.9, BlueZ 5.79, NetworkManager 1.52, Pipewire 1.2.7, Poppler 25.03, xdg-desktop-portal 1.20.
  • Обновлены средства для разработчиков: GCC 14.2, LLVM 20, Python 3.13.2, Go 1.24, Rust 1.84, .NET 9.0, PHP 8.4, Ruby 3.3, OpenJDK 24, PostgreSQL 17, Valkey (форк Redis) 8.0.2, MySQL 8.4.4, Qt 6.8.3.
  • Обновлены пользовательские приложения: GIMP 3.0, LibreOffice 25.2, Firefox 136, Thunderbird 128.
  • Обновлены серверные пакеты: Nginx 1.26.3, Apache httpd 2.4.63, OpenSSH 9.9, cloud-init 24.3.1, runc 1.2.5, Docker 27.5.1, Containerd 2.0.2, HAProxy 3.0.7, libvirt 10.10.0, ClamAV 1.4.2, OpenLDAP 2.6, QEMU 9.2.0, Squid 6.13, SSSD 2.10.1, Samba 4.21.
  • В Chrony для синхронизации времени по умолчанию задействованы серверы точного времени от проекта Ubuntu, использующие протокол NTS.
  • Командная оболочка Fish обновлена до ветки 4.0, переписанной на Rust.
  • На ноутбуках с GPU NVIDIA по умолчанию включён сервис nvidia-powerd, обеспечивающий поддержку механизма Dynamic Boost, позволяющего балансировать энергопотребление между CPU и GPU для повышения производительности.
  • Прекращено создание файла /run/utmp с данными о пользователях, в данный момент работающих в системе. Формат utmp, в котором задействовано 32-разрядное значение time_t, признан устаревшим из-за подверженности проблеме 2038 года. В следующем выпуске будет прекращена поддержка cgroup v1 и сервисов, запускаемых через скрипты в стиле System V init.
  • Инструментарий для настройки параметров сети обновлён до выпуска Netplan 1.1.2, в котором появилась возможность использования метода аутентификации "wpa-psk-sha256" в беспроводных сетях и добавлена поддержка параметра "routing-policy" в NetworkManager.
  • В сборки для плат Raspberry Pi добавлен стек для работы с камерами, основанный на libcamera 0.4 и libpisp. Для начальной настройки системы задействован пакет gnome-initial-setup, выполняемый при первом запуске. Утилиты libraspberry-bin заменены на raspi-utils. Обеспечена возможность загрузки по сети при помощи nbd-client.
  • Продолжена работа над атомарно обновляемым вариантом Ubuntu Core Desktop, использующим технологии Ubuntu Core и включающим только приложения, оформленные с использованием пакетов в формате Snap.
  • В Xubuntu задействован выпуск среды рабочего стола Xfce 4.20.
  • В Ubuntu Cinnamon предложена версия рабочего стола Cinnamon 6.4.8. Проведена чистка пакетов, в которых нет необходимости, позволившая немного сократить размер сборки. Улучшена тема оформления Yaru-Cinnamon. Добавлены тёмный и светлый варианты применяемых по умолчанию обоев рабочего стола.
  • В Ubuntu Mate продолжает поставляться рабочий стол MATE 1.26.
  • В Lubuntu включён выпуск среды рабочего стола LXQt 2.1.0. Осуществлён переход с ветки Qt 6.6 на Qt 6.8. Значительно ускорена работа инсталлятора, основанного на фреймворке Calamares.
  • В Ubuntu Studio по умолчанию использован рабочий стол KDE Plasma 6.3 и тёмный набор пиктограмм на панели. Обновлены версии программ, например, доступны Darktable 5.0.0, Ardour 8.12.0, Qtractor 1.5.3, Audacity 3.7.3, digiKam 8.5.0, Kdenlive 24.12.3, Krita 5.2.9 и GIMP 3.0.0.
  • В Kubuntu задействованы выпуски KDE Plasma 6.3, Qt 6.8, KDE Frameworks 6.12.0 и KDE Gear 24.12.3. По умолчанию предложен сеанс на базе Wayland, а поддержка X11 реализована в форме опции.

  1. OpenNews: В Ubuntu 25.10 решено заменить GNU Coreutils на uutils, написанные на Rust
  2. OpenNews: В Ubuntu 25.04 появится поддержка Dracut и будут унифицированы сборки для ARM64
  3. OpenNews: Выпуск Ubuntu 24.04.2 LTS c обновлением графического стека и ядра Linux
  4. OpenNews: Разработчики Ubuntu проанализировали эффективность включения оптимизации PGO
  5. OpenNews: Ubuntu переходит на использование самых свежих версий ядра в предстоящих релизах
Обсуждение (237 +10) | Тип: Программы |
·27.03.2025 Утечка пользовательской базы списка рассылки автора сервиса HaveIBeenPwned (82 +50)
  Трой Хант (Troy Hunt), известный деятель в области компьютерной безопасности, автор курсов по защите информации, создатель сервиса проверки скомпрометированных паролей "Have I Been Pwned?" и региональный директор Microsoft, раскрыл сведения об утечке базы пользователей собственного списка рассылки. История показательна тем, что даже признанные специалисты в области компьютерной безопасности могут стать жертвами типового фишинга при определённом стечении обстоятельств.

Трою пришло письмо от имени сервиса Mailchimp c предупреждением о приостановке работы его списка рассылки и необходимости выполнения определённых проверок. Трой перешёл по ссылке в письме, ввёл на открывшейся странице параметры учётной записи в Mailchimp, подтвердил запрос двухфакторной аутентификации и страница зависла...., а атакующие получили доступ к пользовательской базе его списка рассылки и выгрузили сведения о email и IP-адресах 16627 подписчиков. Примечательно, что в выгрузку вошли 7535 адресов пользователей, ранее отписавшихся от рассылки, но сервис Mailchimp сохранил их несмотря на отписку и включил в экспортируемые данные.

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

Вторым фактором стало то, что письмо вначале было просмотрено на iPhone с почтовым клиентом Outlook, который показал только имя отправителя и не отобразил email. Затем, когда письмо было повторно открыто утром на компьютере, Трой не стал перепроверять параметры и не обратил внимание на то, что письмо отправлено с подозрительного адреса "hr@group-f.be".

Текст был стилизован под стандартное сообщение Mailchimp и предупреждал об ограничении отправки рассылки из-за получения жалобы на спам. Информация была подана ровно в той мере, чтобы вызвать беспокойство, но не переусердствовать. В письме предлагалось проверить недавно отправленные рассылки и предпринять действия для разблокировки. По ссылке вместо mailchimp.com открылся сайт mailchimp-sso.com. Менеджер паролей 1Password автоматически не заполнил форму входа, но и это было проигнорировано. После зависания формы аутентификации Трой очнулся и перезашёл на реальный сайт Mailchimp, но было уже поздно - атакующие использовали захваченные учётные данные для получения токена для доступа к API и выполнили экспорт информации.

  1. OpenNews: Взлом Internet Archive привёл к утечке 31 миллиона учётных записей
  2. OpenNews: В Chrome добавлен AI-режим для автоматической смены скомпрометированных паролей
  3. OpenNews: Mozilla отказывается от сервиса Onerep из-за связи его основателя со сбором информации о людях
  4. OpenNews: Открыт код сервиса проверки паролей HaveIBeenPwned
  5. OpenNews: Сервис проверки скомпрометированных учётных записей опубликовал 500 млн паролей
Обсуждение (82 +50) | Тип: Проблемы безопасности |
·27.03.2025 В Live-образах Debian 12 реализована поддержка повторяемых сборок (117 +24)
  Разработчики проекта Debian объявили о реализации повторяемых сборок для всех официальных Live-образов Debian 12.10, а также для сборок всех значительных сред рабочего стола из репозиториев Debian 11, 12 и 13 (testing). Подготовлена инструкция, при помощи которой на основе доступных в репозитории исходных текстов пользователи могут сформировать свои Live-образы, на 100% идентичные на бинарном уровне с предоставляемыми проектом готовыми Live-образами.

Во всём репозитории Debian 12, насчитывающем 33223 исходных пакетов, поддержка повторяемых сборок достигла 96.9% для архитектуры x86_64 и 96.5% для архитектуры ARM64. В репозиториях Debian Testing уровень повторяемых сборок оценён в 96.5% для архитектуры ARM64 и 96.3% для x86_64 при пересборке 37322 исходных пакетов. Тест повторяемых сборок в репозитории Debian Testing провален для 819 пакетов (2.2%), а у 428 пакетов (1.1%) возникли общие проблемы при компиляции из исходного кода. Для сравнения в Arch Linux возможность повторяемой сборки реализована для 86.3% пакетов из репозиторев core и extra, насчитывающих 12800 пакетов. В репозитории openSUSE Factory, насчитывающем 15754 пакета, уровень повторяемых сборок составляет 98.24%.

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

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

  1. OpenNews: openSUSE тестирует поддержку повторяемых сборок
  2. OpenNews: В NixOS обеспечена поддержка повторяемых сборок для iso-образа
  3. OpenNews: Доступен rebuilderd для независимой верификации Arch Linux при помощи повторяемых сборок
  4. OpenNews: Связывание повторяемых сборок GNU Guix с архивом исходных текстов Software Heritage
  5. OpenNews: Для 94% пакетов Debian обеспечена возможность повторяемой сборки
Обсуждение (117 +24) | Тип: К сведению |
·27.03.2025 В ядро Linux добавлена поддержка работы в качестве хост-системы для Hyper-V (102 +13)
  В состав кодовой базы ядра Linux, на основе которой формируется выпуск 6.15, принято изменение, добавляющее возможность использования Linux в качестве корневого окружения (Dom0. root partition) для гипервизора Hyper-V (Microsoft Hypervisor). Хост-окружение отвечает за управление гипервизором, организацию запуска гостевых систем, выделение ресурсов и обеспечение взаимодействия виртуальных машин с оборудованием. Управления гипервизором в Linux осуществляется через устройство /dev/mshv. Кроме того, в том же наборе патчей для виртуальных машин, использующих Hyper-V, добавлена возможность отключения на лету отдельных процессорных ядер (CPU offlining).

Изначально возможность использования Linux в роли хост-окружения для системы виртуализации Hyper-V была представлена в 2020 году. Linux для управления Hyper-V уже применяется в дистрибутиве Azure Linux и инфраструктуре Microsoft, но для сторонних проектов подобная возможность была доступна только в форме отдельных патчей. Теперь данные патчи включены в основной состав ядра. Драйверы Hyper-V для гостевых систем были добавлены в ядро Linux в 2009 году и поставляются начиная с выпуска 2.6.32.

Необходимость использования Linux для управления гипервизором Hyper-V обусловлена желанием упростить сопровождение и повысить производительность серверов, обслуживающих облачные системы Microsoft, в условиях того, что с 2018 года число гостевых систем с Linux в облачном сервисе Azure превышает число окружений с Windows.

Отдельно компания Microsoft опубликовала обновление открытого проекта Hyperlight, развивающего гипервизор для встраивания в приложения. Гипервизор оформлен в виде разделяемой библиотеки, обеспечивающей выполнение отдельных функций в легковесных виртуальных машинах (micro-VM) и организующей обмен данными с этими функциями. Hyperlight может потребоваться, например, при необходимости изоляции части кода, не заслуживающего доверия или требующего особой защиты.

Из изменений отмечается реализация надстройки hyperlight-wasm, позволяющей запускать в отдельных виртуальных машинах Wasm-модули и компоненты, скомпилированные в промежуточный код WebAssembly. Предполагается, что использование виртуальной машины обеспечит более надёжную изоляцию при необходимости запуска стороннего WebAssembly-кода. Hyperlight-Wasm может использоваться в Windows (WHP - Windows Hypervisor Platform) и в Linux (KVM или Hyper-V через /dev/mshv).

Для выполнения WebAssembly-кода применяется специальный урезанный образ гостевой системы, применяющий runtime Wasmtime для запуска WebAssembly-компонентов, скомпилированных из кода на различных языках программирования. В виртуальной машине используется единый линейный фрагмент памяти. Работа осуществляется без виртуальных устройств, без операционной системы и без разделения на процессы. Запуск виртуальной машины производится с минимальными задержками и накладными расходами - создание легковесной виртуальной машины hyperlight занимает всего 1-2 миллисекунды, что в 100 раз меньше, чем при запуске обычной виртуальной машины.

Дополнительно можно отметить принятие в ветку ядра Linux 6.15 патча с поддержкой блочных устройств, у которых размер блока превышает страницу памяти. Например, Linux теперь сможет работать с устройствами с размером сектора 64Кб на системах со страницами памяти, размером 4Кб.

  1. OpenNews: Первый выпуск платформы виртуализации SEAPATH
  2. OpenNews: Microsoft открыл Hyperlight, гипервизор для изоляции отдельных функций в приложениях
  3. OpenNews: Microsoft открыл код гипервизора OpenVMM и платформы паравиртуализации OpenHCL
  4. OpenNews: Microsoft реализовал поддержку корневого окружения для Hyper-V на базе Linux
  5. OpenNews: Microsoft начал продвижение в ядро Linux компонентов хост-окружения Hyper-V
Обсуждение (102 +13) | Автор: Аноним | Тип: К сведению |
·26.03.2025 Google переходит к разработке Android за закрытыми дверями с открытием кода после релизов (237 –30)
  Компания Google начиная со следующей недели переходит на новую модель разработки платформы Android, в соответствии с которой релизы будут развиваться за закрытыми дверями, без публикации в открытом доступе промежуточных результатов разработки и без публичного рецензирования изменений в отдельных компонентах. Платформа продолжит быть открытой и распространяться под лицензией Apache 2.0, но исходный код в репозитории AOSP (Android Open Source Project) будет размещаться только после готовности релизов.

В настоящее время какие-то части платформы, такие как Bluetooth-стек, развиваются публично, а какие-то вначале создаются во внутреннем репозитории Google и становятся доступны только при публикации кода очередного релиза. Публикация кода с новыми API зависит от их пригодности для тестирования - для некоторых версий Android код реализаций API публиковался до релиза, а для некоторых - после. Кроме Google доступ к внутренней ветке имеют производители устройств, подписавшие лицензионное соглашение GMS (Google Mobile Services).

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

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

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

Целью изменения называется желание упростить процесс разработки Android. Наличие двух веток, при том, что часть компонентов развивается в одной ветке, а часть в другой, приводит к тому, что по мере разработки релиза в ветках накапливаются различия и Google приходится тратить ресурсы на синхронизацию изменений и слияние патчей между открытой и внутренней ветками. Основная работа по развитию API ведётся во внутренней ветке, и открытая ветка часто сильно отстаёт от неё, что приводит к возникновению конфликтов при переносе во внутреннюю ветку изменений из компонентов, развиваемых в открытой ветке.

  1. OpenNews: Vulkan стал официальным графическим API платформы Android. Третий бета-выпуск Android 16
  2. OpenNews: Google прекратил поддержку приложений Dialer и Messaging в открытой кодовой базе Android
  3. OpenNews: Google намерен перевести Chrome OS на платформу Android
  4. OpenNews: Методы безопасной работы с памятью позволили существенно снизить число уязвимостей в Android
  5. OpenNews: Выпуск мобильной платформы Android 15
Обсуждение (237 –30) | Тип: К сведению | Интересно
·26.03.2025 Для KDE разрабатывают новый менеджер входа для замены SDDM (231 +37)
  Дэвид Эдмундсон (David Edmundson) и Оливер Бирд (Oliver Beard) представили в списке рассылки разработчиков KDE проект по созданию нового дисплейного менеджера - Plasma Login Manager. Желание заменить менеджер входа объясняется наличием не решаемых архитектурных проблем в дисплейном менеджере SDDM (Simple Desktop Display Manager), который начиная с Plasma 5 пришёл на смену KDM.

В качестве золотого стандарта, на который стоит ориентироваться при создании нового менеджера входа, отмечен GDM (GNOME Display Manager). GDM базируется на технологиях GNOME Shell и Mutter, и сильно завязан на них, что позволило добиться уровня интеграции с GNOME, недостижимого при использовании SDDM. В Plasma Login Manager пытаются воплотить похожую на GDM архитектуру, позволяющую более тесно интегрировать менеджер входа со средой рабочего стола KDE Plasma и композитным сервером Кwin.

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

В итоге был подготовлен прототип нового многопроцессного менеджера входа Plasma Login Manager, использующий бэкенд на основе урезанной версии SDDM и механизм запуска, идентичный тому, что применяется для запуска сеанса рабочего стола KDE Plasma. Оформление экрана входа приближено к существующему блокировщику экрана KDE, а настройки унифицированы с KDE Plasma. Разработчики отказались от использования QML для кастомизации тем оформления в пользу поддержки существующих плагинов обоев рабочего стола, цветовых схем и тем оформления Plasma.

Для тестирования доступен рабочий прототип Plasma Login Manager, который пока не доведён до уровня качества, пригодного для использования в стабильной ветке KDE Plasma. Бэкенд на основе кода SDDM и новый фронтэнд, а также модуль для конфигуратора (KCM) пока развиваются в отдельных репозиториях, которые в будущем планируют объединить. По возможностям Plasma Login Manager почти достиг паритета со старым менеджером входа.

Среди возможностей, которые намерены реализовать в Plasma Login Manager:

  • Качественная работа в конфигурациях с несколькими мониторами, экранами с высокой плотностью пикселей и HDR.
  • Переключение раскладки клавиатуры.
  • Возможность использования виртуальной клавиатуры.
  • Поддержка ввода на китайском, японском, корейском и вьетнамском языках.
  • Управление подсветкой экрана и клавиатуры.
  • Полноценное управление энергопотреблением.
  • Поддержка экранных ридеров.
  • Возможность сопряжения с Bluetooth-устройствами.
  • Возможность подключения к известным точкам доступа Wi-Fi.
  • Поддержка удалённой работы через VNC/RDP.

  1. OpenNews: Инцидент с темой оформления KDE, удаляющей пользовательские файлы
  2. OpenNews: Для Wayland развивается расширение для перезапуска оконной среды без остановки приложений
  3. OpenNews: Представлены сервис идентификации MyKDE и механизм запуска KDE при помощи systemd
  4. OpenNews: SDDM рекомендован в качестве дисплейного менеджера для KDE Plasma 5
  5. OpenNews: Локальная уязвимость в дисплейном менеджере SDDM
Обсуждение (231 +37) | Автор: Kerr | Тип: К сведению |
·26.03.2025 Компания Cloudflare опубликовала opkssh для аутентификации в SSH через OpenID Connect (152 +10)
  Компания Cloudflare представила инструментарий opkssh (OpenPubkey SSH), позволяющий интегрировать в OpenSSH средства централизованной аутентификации с возможностью входа через провайдеров OpenID Connect. При помощи opkssh можно избавиться от ручной работы по настройке SSH-ключей, а также организовать подключение к серверу с любых хостов, без необходимости создания закрытых ключей на каждом клиентском компьютере и без ручного копирования открытых ключей на сервер. Для подключения достаточно выполнить на сервере привязку к учётной записи у провайдера OpenID. Код инструментария написан на языке Go и распространяется под лицензией Apache 2.0.

Opkssh совместим с OpenID-провайдерами Google, Microsoft/Azure и Gitlab, что позволяет настроить вход через имеющиеся учётные записи в сервисах gmail.com, microsoft.com и gitlab.com. При использовании opkssh вместо не ограниченных по времени ключей SSH генерируются временные ключи, действующие считанные часы и формируемые на основе подтверждения от провайдера OpenID. Утечка подобных ключей после окончания срока действия не представляет угрозы безопасности. По умолчанию время действия ключа составляет 24 часа, после которых необходимо повторно идентифицировать себя через OpenID Connect.

Интеграция с OpenSSH основана на возможности создания расширений протокола SSH, допускающих прикрепление произвольных данных к сертификатам SSH. После прохождения аутентификации через OpenID Connect клиент формирует открытый ключ, содержащий PK-токен, подтверждающий принадлежность ключа заявленному пользователю. Токен интегрируется в протокол SSH через поле с дополнительными данными SSH-сертификата. Создание PK-токенов и их проверка на стороне сервера осуществляется с использованием криптографического протокола OpenPubKey.

OpenPubKey позволяет сгенерировать открытый ключ и привязать его к токену, выданному OpenID-провайдером. Через цифровую подпись провайдер подтверждает, что этот ключ создан заявленным аутентифицированным пользователем. Например, OpenID-провайдер Google может подтвердить, что пользователь аутентифицирован как test@gmail.com. На стороне севера выполняется проверка подписан ли прикреплённый токен провайдером OpenID и соответствует ли цифровая подпись заявленному открытому ключу, т.е. сервер может удостовериться, что именно пользователь test@gmail.com создал открытый ключ для подключившегося SSH-клиента.

Интеграция с OpenSSH организована через указание программы opkssh в файле конфигурации "sshd_config" через директиву "AuthorizedKeysCommand" (например: "AuthorizedKeysCommand /usr/local/bin/opkssh verify %u %k %t"). Настройка связывания учётных записей с OpenID Connect осуществляется на стороне сервера SSH. На стороне клиента SSH изменения настроек не требуется, но перед входом необходимо запустить команду "opkssh login" и в появившемся окне браузера выбрать провайдера OpenID и выполнить через него аутентификацию.

Утилита opkssh сгенерирует ключи SSH и получит PK-токен, подтверждающий, что пользователь прошёл аутентификацию и позволяющий проверить, что созданные ключи принадлежат заявленному пользователю. Открытый ключ SSH, к которому через поле с дополнительными данными прикреплён PK-токен, будет записан в файл ~/.ssh/id_ecdsas и начнёт передаваться при подключении к серверу утилитой ssh.

Подключение к серверу производится с использованием штатной для SSH схемы "ssh логин@сервер", при этом на сервере логин предварительно должен быть отождествлён с учётной записью в OpenID, которую использует пользователь. Таким образом работа сводится к тому, что ssh-клиент отправляет на ssh-сервер публичный ключ, а сервер запускает команду "opkssh verify" для проверки ключа.

Для привязки учётной записи к OpenID администратор сервера выполняет команду "opkssh add". Например, для того чтобы разрешить вход на сервер под пользователем "root" с OpenID-аутентификацией через учётную запись test@gmail.com в Gmail следует выполнить "sudo opkssh add root test@gmail.com google", после чего клиент сможет подключаться под параметрами данной учётной записи командой "ssh root@хост_сервера".

Привязку учётной записи также можно выполнить вручную через файл конфигурации /etc/opk/auth_id (или ~/.opk/auth_id), в который для вышеприведённого примера будет записана строка "root test@gmail.com https://accounts.google.com". Дополнительно через файл /etc/opk/providers можно определить список допустимых OpenID-провайдеров, их параметры и список разрешённых идентификаторов клиентов.

  1. OpenNews: Представлен OpenPubKey, протокол криптографической верификации объектов
  2. OpenNews: Уязвимость в пакетах с OpenSSH из состава RHEL 9, допускающая удалённое выполнение кода
  3. OpenNews: Уязвимость в поставляемом во FreeBSD варианте OpenSSH, допускающая удалённое выполнение кода
  4. OpenNews: В OpenSSH код аутентификации вынесен в отдельный процесс sshd-auth
  5. OpenNews: Обновление OpenSSH 9.9p2 с устранением возможности совершения MITM-атаки
Обсуждение (152 +10) | Тип: К сведению |
Следующая страница (раньше) >>



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

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