The OpenNET Project / Index page

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

·16.04.2024 Релиз Firefox 125 (41 +3)
  Состоялся релиз web-браузера Firefox 125 и сформировано обновление ветки с длительным сроком поддержки - 115.10.0. Из-за наличия выявленных на поздней стадии проблем сборка 125.0 была отменена, и в качестве релиза объявлен выпуск 125.0.1. На стадию бета-тестирования переведена ветка Firefox 126, релиз которой намечен на 14 мая.

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

  • Во встроенном PDF-просмотрщике включена по умолчанию функция выделения текста выбранным цветом и рамкой.
  • На странице Firefox View, упрощающей доступ к ранее просматриваемому содержимому, в секции с открытыми вкладками обеспечено отображения закреплённых вкладок и добавлена поддержка индикаторов состояния, например, дающих понять, что в определённой вкладке воспроизводится звук или видео, а также позволяющих через нажатие на индикатор отключить или вернуть звук. Аналогичные индикаторы также добавлены для закладок и уведомлений.
  • Реализована возможность быстрого перехода по ссылке, сохранённой в буфере обмена. Если во время нажатия на адресую строку в буфере обмена находится URL, автоматически данный URL будет показан в качестве начальной рекомендации для перехода.
  • Добавлена поддержка воспроизведения защищённого контента (EME, Encrypted Media Extensions) с использованием кодека AV1, который используется некоторыми провайдерами потокового вещания для распространения контента более высокого качества.
  • При заполнении адресов в web-формах обеспечен вывод запроса на сохранение адреса (пока только для пользователей из США и Канады). В дальнейшем планируется использовать сохранённые данные для автозаполнения адресов.
  • Включена блокировка загрузки файлов с URL, которые находятся в списках потенциально опасного контента.
  • На системах, в которых используются дополнения с реализацией контейнеров вкладок, добавлена поддержка поиска из адресной строки вкладок, размещённых в разных контейнерах.
  • В настройки добавлена опция, позволяющая автоматически определять наличие прокси при помощи протокола WPAD (Web Proxy Auto-Discovery ), несмотря на наличие включённых настроек для подключения через системный прокси.
  • Изменено поведения обхода кнопок-переключателей (radio buttons) - если ни одна опция в кнопках не выбрана, то нажатие клавиши табуляции теперь активирует фокус только на первой опции, а следующее нажатие переводит фокус ввода на другой элемент, а не циклично перебирает все варианты опций. При этом клавиши со стрелками по-прежнему позволяют перемещаться по опциям одного элемента.


  • Добавлена поддержка атрибута popover, позволяющего создавать элементы, показываемые поверх других элементов web-интерфейса. Например, при помощи нового атрибута можно создавать меню действий, выводить подсказки для заполнения форм, создавать обучающие интерфейсы и реализовать захват содержимого. В отличие от элемента "dialog" элементы с атрибутом "popover" не используют модальный режим, поддерживают события и легко отменяются. Местоположение, каскадирование и фокус ввода выбираются и обрабатываются автоматически.
  • В WebAssembly по умолчанию включён режим "multi-memory", позволяющий wasm-модулям использовать и импортировать несколько независимых линейных области памяти.
  • В JavaScript добавлена поддержка сегментирования Unicode-текста (Unicode Text Segmentation), реализованная при помощи объекта Intl.Segmenter. Объект позволяет точно сегментировать текст в строке с учётом локали, например, для разделения слов в языках не использующих пробел для разделения слов.
  • В реализацию интерфейсов HTMLCanvasElement и OffscreenCanvas добавлена поддержка событий ContextLost и ContextRestored, позволяющих обработать в пользовательском коде ситуации потери и восстановления контекста при аппаратном ускорении отрисовки.
  • Включена поддержка метода navigator.clipboard.readText() для чтения из буфера обмена c запросом подтверждения операции (после вызова API пользователю показывается контекстное меню вставки для подтверждения действия).
  • В CSS-свойство "transform-box" добавлена поддержка значений stroke-box и content-box, позволяющих изменить метод вычисления эталонной области для операций трансформации, например, для реализации расширенных графических эффектов.
  • В CSS-свойстве "align-content" реализована возможность работы с блочными контейнерами. Например "display: block" и "display: list-item" теперь могут быть выровнены при помощи "align-content" без использования контейнеров flex и grid.
  • Прекращена поддержка метода SVGAElement.text, вместо которого рекомендуется использовать более широко распространённый метод SVGAElement.textContent.
  • В инструментах для web-разработчиков в нижней части панели отладчика реализовано новое выпадающее меню с действиями, связанными с Source Map. В about:config возвращена настройка "devtools.debugger.features.overlay" для отключения выводимого поверх контента индикатора приостановки выполнения JavaScript-кода отладчиком (Pause Debugger Overlay).
  • В версии для Android предоставлена возможность выбора настроек темы оформления для вкладок (тёмная тема, светлая тема и системный выбор темы). Улучшено меню с настройками логинов и паролей. Скрыта кнопка "Open in App", если Firefox выбран в качестве системного просмотрщика PDF.

Кроме новшеств и исправления ошибок в Firefox 125 устранено 18 уязвимости (12 помечены как опасные). 11 уязвимостей (4 собраны под CVE-2024-3865) вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.

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

  1. OpenNews: Релиз Firefox 124
  2. OpenNews: Во вкладках Firefox появится функция предпросмотра эскиза сайта
  3. OpenNews: В Firefox появится группировка вкладок
  4. OpenNews: Планы в отношении поддержки в Firefox второй и третьей версий манифеста Chrome
  5. OpenNews: В Firefox добавлена поддержка машинного перевода выделенных фрагментов текста
Обсуждение (41 +3) | Тип: Программы |
·16.04.2024 Уязвимость в PuTTY, позволяющая восстановить закрытый ключ пользователя (87 +25)
  В PuTTY, клиенте для протокола SSH, пользующегося популярностью на платформе Windows, выявлена опасная уязвимость (CVE-2024-31497), позволяющая воссоздать закрытый ключ пользователя, сгенерированный с использованием алгоритма ECDSA с эллиптической кривой NIST P-521 (ecdsa-sha2-nistp521). Для подбора закрытого ключа достаточно проанализировать примерно 60 цифровых подписей, сформированных в PuTTY.

Уязвимость проявляется начиная с версии PuTTY 0.68 и также затронула продукты, в состав которых включены уязвимые версии PuTTY, например, FileZilla (3.24.1 - 3.66.5), WinSCP (5.9.5 - 6.3.2), TortoiseGit (2.4.0.2 - 2.15.0) и TortoiseSVN (1.10.0 - 1.14.6). Проблема устранена в обновлениях PuTTY 0.81, FileZilla 3.67.0, WinSCP 6.3.3 и TortoiseGit 2.15.0.1. После установки обновления пользователям рекомендуется сгенерировать новые ключи и удалить старые открытые ключи из файлов authorized_keys.

Уязвимость вызвана беспечностью разработчиков, которые для генерации 521-битного вектора инициализации (nonce) использовали 512-битную случайную последовательность, вероятно, посчитав что энтропии в 512 бит будет достаточно и оставшиеся 9 бит не имеют принципиального значения. В итоге, при генерации всех подписей, созданных в PuTTY с использованием алгоритма ecdsa-sha2-nistp521, первые 9 бит вектора инициализации всегда принимали нулевые значения.

Для ECDSA и DSA качество генератора псевдослучайных чисел и полное покрытие случайными данными параметра, используемого при вычислении модуля, имеет принципиальное значение, так как определение даже нескольких битов с информацией о векторе инициализации достаточно для совершения атаки по последовательному восстановлению всего закрытого ключа. Для успешного восстановления ключа достаточно наличия открытого ключа и анализа нескольких десятков цифровых подписей, сгенерированных с использованием проблемного вектора инициализации для известных атакующему данных. Атака сводится к решению задачи HNP (Hidden Number Problem).

Необходимые цифровые подписи можно получить, например, при подключении пользователя к SSH-серверу атакующего или к Git-серверу, использующему SSH в качестве транспорта. Необходимые для атаки подписи также можно узнать, если ключ использовался для заверения произвольных данных, например, git-коммитов при применении SSH-агента Pageant для перенаправления трафика на хост разработчика. Получение необходимых для восстановления ключа данных в ходе MITM-атаки исключено, так как подписи в SSH не передаются в открытом виде.

Отмечается, что похожее использование неполных векторов инициализации применялось в PuTTY и для других видов эллиптических кривых, но для алгоритмов, отличных от ECDSA P-521, возникших утечек информации недостаточно для реализации работающей атаки по восстановлению ключа. Ключи ECDSA другого размера и ключи Ed25519 атаке не подвержены.

  1. OpenNews: В неофициальных сборках PuTTY выявлен троян
  2. OpenNews: Выявлен метод клонирования ключей из криптографических токенов на базе чипов NXP
  3. OpenNews: Уязвимость TPM-Fail, позволяющая восстановить ключи, хранимые в TPM-модулях
  4. OpenNews: Новая техника атаки по сторонним каналам, позволяющая восстановить ключи ECDSA
  5. OpenNews: Уязвимость в SSH-клиентах OpenSSH и PuTTY
Обсуждение (87 +25) | Тип: Проблемы безопасности |
·16.04.2024 Открыты исходные тексты игры Descent 3 (76 +39)
  Кевин Бентли (Kevin Bentley), один из разработчиков игры Descent 3, добился у руководства компании Outrage Entertainment открытия исходных текстов проекта. Кевин, который взял в свои руки сопровождение нового проекта, набирает команду энтузиастов для возрождения и продолжения развития игры. Код написан на языке C++ и открыт под лицензией MIT.

Релиз игры Descent 3 был опубликован в 1999 году. Игра сочетает в себе шутер от первого лица и симулятор полётов в открытом и замкнутом пространстве. Поддерживается однопользовательский режим прохождения миссий и многопользовательские бои. Опубликована самая свежая кодовая база Descent 3 "1.5 Patch", включающая подготовленные несколько лет назад изменения для актуализации кода, написанного в 1990-х годах. Поддерживается сборка для Linux, macOS и Windows.

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



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

  1. OpenNews: Ассоциация K-D Lab открыла код игрового движка qdEngine
  2. OpenNews: Выпуск открытого игрового движка Godot 4.2
  3. OpenNews: Открыт код игрового движка Dagor Engine, который будет использован VK в Nau Engine
  4. OpenNews: Выпуск игрового движка Open 3D Engine 23.10, открытого компанией Amazon
  5. OpenNews: Первый выпуск открытого многопользовательского игрового движка Ambient
Обсуждение (76 +39) | Тип: Программы |
·15.04.2024 GitLab заблокировал BPC, браузерное дополнение для обхода Paywall (184 +14)
  GitLab заблокировал репозиторий проекта BPC (Bypass Paywalls Clean), развивающего браузерное дополнение для организации доступа к материалам, распространяемым по платной подписке (Paywall). Причиной удаления стало направление в компанию GitLab жалобы о нарушении дополнением действующего в США Закона об авторском праве в цифровую эпоху (DMCA). В настоящее время разработчики дополнения рассматривает возможность перевода проекта на другой Git-хостинг. Ранее указанное дополнение было удалено по той же причине из каталога Mozilla.

Метод Paywall применяется многими крупными англоязычными изданиями (forbes.com, independent.co.uk, newsweek.com, newyorker.com, nytimes.com, wsj.com и т.п.) для открытия полного текста свежих статей только платными подписчиками. Ссылки на подобные статьи активно продвигаются в социальных сетях и поисковых системах, но после перехода по публикуемым ссылкам вместо открытия полного текста пользователю предлагается оформить платную подписку, если он хочет увидеть подробности.

Формулировка, на основе которой был заблокирован репозиторий BPC, не сообщается, но, судя по всему, проекту вменяется незаконный обход методов технической защиты доступа к содержимому, являющемуся объектом авторского права. Нарушение защиты в BPC является спорным вопросом, так как сайты с Paywall обычно открывают полный доступ поисковым системам и социальным сетям, из-за того, что издания заинтересованы в индексации текстов и привлечении посетителей, которых интересует данный материал. Поэтому для обхода ограничения доступа, как правило, достаточно просто сменить идентификатор браузера и притвориться поисковым ботом "Googlebot". На некоторых сайтах также может потребоваться очистить сессионную Cookie и заблокировать некоторые скрипты. Расширение BPC предлагало индивидуальный подход к каждому сайту, удаляло те или иные скрипты и использовало регулярные выражения для блокировки кода.

  1. OpenNews: Из каталога Mozilla удалено дополнение для обхода Paywall
  2. OpenNews: Mozilla удалила два популярных дополнения, блокирующих загрузку обновлений к Firefox
  3. OpenNews: Дополнения для обхода Paywall удалены из каталогов Chrome и Mozilla
  4. OpenNews: GitHub заблокировал репозиторий SymPy после ложной жалобы
  5. OpenNews: GitLab заблокировал репозиторий эмулятора Suyu
Обсуждение (184 +14) | Тип: Тема для размышления |
·15.04.2024 Проект Redka развивает реализацию протокола и API Redis поверх SQLite (25)
  Опубликованы первые выпуски проекта Redka, нацеленного на предоставление RESP-протокола и API, совместимых с СУБД Redis, но реализованных поверх библиотеки SQLite. Задействование SQLite дополнительно позволяет обращаться к данным при помощи языка SQL, например, для формирования отчётов или анализа данных. Поддерживается использование ACID-транзакций. Redka может запускаться в форме сервера, принимающего запросы по сети, или использоваться в виде модуля для языка Go. Код проекта написан на языке Go и распространяется под лицензией BSD.

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

В ближайшее время планируется добавить поддержку списков, коллекций (sets) и отсортированных коллекций. В отдалённой перспективе ожидается реализация алгоритма HyperLogLog, возможности для манипуляции географическими координатами и команд для взаимодействия с использованием модели publish/subscribe. Пока не планируется добавлять поддержку скриптов на языке Lua, аутентификацию, ACL, watch/unwatch и возможность работы в одном сервере с несколькими БД. Точно не будет реализована поддержка кластеров (Redis Cluster) и мониторинга (Redis Sentinel).

Тестирование производительности с использованием инструментария от проекта Redis, показало, что Redka в 2-6 раз отстаёт от Redis из-за отсутствия специфичных оптимизаций для хранения данных в формате ключ/значение. В частности, в созданном тестовом окружении Redis продемонстрировал производительность в 133 тысяч операций SET в секунду и 139 тысяч операций GET в секунду, в то время как производительность Redka составила 30 тысяч SET в секунду и 63 тысячи GET в секунду в ситуации, когда БД размещалась в оперативной памяти. При хранении БД на диске производительность Redka составила 22 тысячи операций SET в секунду и 56 тысяч GET в секунду.

  1. OpenNews: Выпуск Redict 7.3.0, форка СУБД Redis
  2. OpenNews: Amazon, Google, Oracle, Ericsson и Snap основали Valkey, форк СУБД Redis
  3. OpenNews: СУБД Redis переходит на проприетарную лицензию. Обсуждение удаления Redis из Fedora
  4. OpenNews: Microsoft открыл код хранилища Garnet, совместимого с Redis
  5. OpenNews: Первый стабильный выпуск FerretDB, реализации MongoDB на базе СУБД PostgreSQL
Обсуждение (25) | Тип: Программы |
·14.04.2024 Уязвимость в прошивках AMI MegaRAC, вызванная поставкой старой версии lighttpd (36 +16)
  В прошивках MegaRAC от компании American Megatrends (AMI), которые применяются в контроллерах BMC (Baseboard Management Сontroller), используемых производителями серверов для организации автономного управления оборудованием, выявлена уязвимость, позволяющая неаутентифицированному атакующему удалённо прочитать содержимое памяти процесса, обеспечивающего функционирование web-интерфейса. Уязвимость проявляется в прошивках, выпускаемых с 2019 года, и вызвана поставкой старой версии HTTP-сервера Lighttpd, содержащей неисправленную уязвимость.

В кодовой базе Lighttpd данная уязвимость была устранена ещё в 2018 году в версии 1.4.51, но исправление было внесено без присвоения CVE-идентификатора и без публикации отчёта с описанием характера уязвимости. В примечании к выпуску, было упомянуто об устранении проблем с безопасностью, но основное внимание было акцентировано на уязвимости в mod_userdir, связанной с использованием символов ".." и "." в имени пользователя.

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

Уязвимость позволяет прочитать содержимое памяти за пределами выделенного буфера. Проблема вызвана ошибкой в коде слияния HTTP-заголовков, применяемом при указании нескольких экземпляров HTTP-заголовка "If-Modified-Since". При обработке второго экземпляра заголовка lighttpd выделял новый буфер, чтобы вместить объединённое значение и освобождал память под буфер, в который было помещено значение из первого заголовка. При этом указатель con->request.http_if_modified_since не изменялся и продолжал указывать на уже освобождённую область памяти.

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

Наличие уязвимости подтверждено в серверных платформах Lenovo и Intel, но данные компании не планируют выпускать обновления прошивок из-за истечения времени поддержки, использующих данные прошивки продуктов, и низкого уровня опасности уязвимости. Проблема проявляется в прошивках к платформам Intel M70KLP и Lenovo HX3710, HX3710-F и HX2710-E (уязвимость присутствует среди прочего в последних версиях прошивок Lenovo 2.88.58 и Intel 01.04.0030). Дополнительно сообщается, что уязвимость в lighttpd также проявляется в прошивках к оборудованию Supermicro и в серверах, на которых используются BMC-контроллеры компаний Duluth и ATEN.

  1. OpenNews: Уязвимости в прошивках AMI MegaRAC, позволяющие удалённо выполнить код на уровне BMC-чипа
  2. OpenNews: Атака PMFault, позволяющая вывести из строя CPU на некоторых серверных системах
  3. OpenNews: PixieFAIL - уязвимости в сетевом стеке прошивок UEFI, применяемом для PXE-загрузки
  4. OpenNews: Уязвимость в прошивках BMC-контроллеров, затрагивающая серверы многих производителей
  5. OpenNews: LogoFAIL - атака на UEFI-прошивки через подстановку вредоносных логотипов
Обсуждение (36 +16) | Тип: Проблемы безопасности |
·13.04.2024 Выпуск Chrome OS 123 (94 +1)
  Доступен релиз операционной системы Chrome OS 123, основанной на ядре Linux, системном менеджере upstart, сборочном инструментарии ebuild/portage, открытых компонентах и web-браузере Chrome 123. Пользовательское окружение Chrome OS ограничивается web-браузером, а вместо стандартных программ задействованы web-приложения, тем не менее, Chrome OS включает в себя полноценный многооконный интерфейс, рабочий стол и панель задач. Вывод на экран осуществляется при помощи графического стека Freon (ведётся работа по переходу на использование Wayland) и оконного менеджера Aura. Исходные тексты распространяются под свободной лицензией Apache 2.0. Сборка Chrome OS 123 доступна для большинства актуальных моделей Chromebook. Для использования на обычных компьютерах предлагается редакция Chrome OS Flex.

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

  • Предоставлена экспериментальная возможность назначения своих клавиатурных комбинаций, вместо тех, что определены по умолчанию. Для активации интерфейса следует активировать настройку "chrome://flags/#enable-shortcut-customization".
  • Добавлена возможность привязки действий к дополнительным кнопкам у мыши. Например, можно привязать такие действия как создание скриншота, отключение/включение звука и вызов интерфейса для вставки emoji, а также любые действия для которых доступен вызов через клавиатурные комбинации.
  • Предоставлена возможность быстрого переключения в режим разделения экрана, в котором можно разместить бок о бок окна двух разных приложений. После выбора в свойствах окна режима разделения экрана теперь сразу выводится обзор других открытых окон, которые можно выбрать для показа на второй половине.
  • Добавлена возможность работы в форме точки беспроводного доступа (Hotspot), через которую могут подключаться к сети другие рядом расположенные устройства (полезно, когда Chromebook подключается через оператора сотовой связи).
  • Добавлена возможность определения настроек языка, привязанных к отдельным приложениям. Язык для выбранного приложения можно изменить через интерфейс "Settings > Apps > Manage your apps > App language".
  • В настройках конфиденциальности появился интерфейс для просмотра списка приложений, запрашивающих доступ к камере или микрофону, через который можно сразу выборочно предоставить или блокировать доступ к данным ресурсам, не переходя к настройкам приложения.
  • В системе синтеза речи предложен новый натурально звучащий набор голосов для 31 языка, который можно использовать в offline-режиме.
  • Включён новый Bluetooth-стек Floss, основанный на стеке Fluoride, перенесённом из платформы Android и продолжающем развитие стека BlueDroid от компании Broadcom. В случае появления проблем с работой нового Bluetooth-стека можно вернуть систему на использование старого стека BlueZ через параметр "chrome://flags/#bluetooth-use-floss".

  1. OpenNews: Выпуск web-браузера Chrome 123
  2. OpenNews: Google отключил поддержку io_uring в ChromeOS и Android из-за плачевного состояния безопасности
  3. OpenNews: В ChromeOS намечено разделение браузера и системного интерфейса
  4. OpenNews: Google продлил до 10 лет время поддержки устройств на базе ChromeOS
  5. OpenNews: Выпуск Chrome OS 122
Обсуждение (94 +1) | Тип: Программы |
·12.04.2024 0-day уязвимость в драйвере n_gsm, позволяющая выполнить код на уровне ядра Linux (142 +23)
  В открытом доступе обнаружены два эксплоита, в которых задействована ранее неизвестная уязвимость в драйвере n_gsm, входящем в состав ядра Linux. Уязвимость позволяет непривилегированному локальному пользователю выполнить код на уровне ядра и поднять свои привилегии в системе. CVE-идентификатор не присвоен. Проблема пока остаётся неисправленной.

Драйвер n_gsm предоставляет реализацию протокола GSM 07.10, используемого в GSM-модемах для мультиплексирования соединений к последовательному порту. Уязвимость вызвана состоянием гонки в обработчике ioctl GSMIOC_SETCONF_DLCI, используемом для обновления конфигурации DLCI (Data Link Connection Identifier). Через манипуляции с ioctl можно добиться обращения к памяти после её освобождения (use-after-free).

Эксплоит может использоваться на системах с ядрами Linux, начиная с 5.15 и заканчивая 6.5. Например, успешное получение root-доступа продемонстрировано в Fedora, Ubuntu 22.04 с ядром 6.5 и в Debian 12 с ядром 6.1. Начиная с ядра 6.6 для эксплуатации требуются права доступа CAP_NET_ADMIN. В качестве обходного пути блокирования уязвимости можно запретить автоматическую загрузку модуля ядра n_gsm, добавив в файл /etc/modprobe.d/blacklist.conf строку "blacklist n_gsm".

Примечательно, что в январе была раскрыта информация о другой уязвимости (CVE-2023-6546) в драйвере n_gsm, для которой также публично доступен эксплоит. Данная уязвимость не пересекается с первой проблемой, хотя также вызвана обращением к памяти после освобождения при работе со структурой gsm_dlci, но в обработчике ioctl GSMIOC_SETCONF. Проблема исправлена в августе прошлого года (исправление вошло в состав ядра 6.5).

  1. OpenNews: Уязвимости в ядре Linux, позволяющие поднять свои привилегии через nf_tables и ksmbd
  2. OpenNews: Уязвимости в ядре Linux, затрагивающие ksmbd, ktls, uio и сетевой стек
  3. OpenNews: Уязвимость в IPv6-стеке ядра Linux, допускающая удалённое выполнение кода
  4. OpenNews: Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP из состава ядра Linux
  5. OpenNews: Локальная уязвимость в сетевой подсистеме ядра Linux
Обсуждение (142 +23) | Тип: Проблемы безопасности |
·12.04.2024 Бета-выпуск Ubuntu 24.04 (237 +4)
  Представлен бета-выпуск дистрибутива Ubuntu 24.04 "Noble Numbat", после формирования которого произведена полная заморозка пакетной базы, и разработчики перешли к итоговому тестированию и исправлению ошибок. Релиз запланирован на 25 апреля. Ветка 24.04 отнесена к категории выпусков с длительным сроком поддержки (LTS), обновления для которых формируются в течение 12 лет (5 лет - общедоступные, плюс ещё 7 лет для пользователей сервиса Ubuntu Pro). Готовые тестовые образы созданы для Ubuntu, Ubuntu Server, Lubuntu, Kubuntu, Ubuntu Mate, Ubuntu Budgie, Ubuntu Studio, Xubuntu, UbuntuKylin (редакция для Китая), Ubuntu Unity, Edubuntu и Ubuntu Cinnamon.

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

  • Рабочий стол обновлён до выпуска GNOME 46, в котором появилась функция глобального поиска, повышена производительность файлового менеджера и эмуляторов терминала, добавлена экспериментальная поддержка механизма VRR (Variable Refresh Rate), улучшено качество вывода при дробном масштабировании, расширены возможности подключением к внешним сервисам, обновлён конфигуратор и улучшена система уведомлений. В GTK задействован новый движок отрисовки, который базируется на API Vulkan. Приложение для работы с камерой Cheese заменено на GNOME Snapshot.
  • Ядро Linux обновлено до версии 6.8.
  • По аналогии с изменениями в Arch Linux и Fedora Linux, параметр sysctl vm.max_map_count, определяющий максимально доступное процессу число областей маппинга памяти, по умолчанию увеличен с 65530 до 1048576. Изменение улучшило совместимость c Windows-играми, запускаемыми через Wine (например, при старом значении не запускались игры DayZ, Hogwarts Legacy, Counter Strike 2, Star Citizen и THE FINALS), и решило некоторые проблемы с производительностью приложений, интенсивно потребляющих память.
  • Обновлены версии GCC 14-pre, LLVM 18, Python 3.12, OpenJDK 21 (опционально доступны OpenJDK 8, 11 и 17), Rust 1.76, Go 1.22, .NET 8, PHP 8.3.3, Ruby 3.2.3.
  • Обновлены пользовательские приложения: Firefox 124 (собран с поддержкой Wayland), LibreOffice 24.2, Thunderbird 115, Ardour 8.4.0, OBS Studio 30.0.2, Audacity 3.4.2, Transmission 4.0, digiKam 8.2.0, Kdenlive 23.08.5, Krita 5.2.2.
  • Обновлены подсистемы: Mesa 24.0.3, systemd 255, BlueZ 5.72, Cairo 1.18, NetworkManager 1.46, Pipewire 1.0.4, Poppler 24.02, xdg-desktop-portal 1.18.
  • Обновлены серверные пакеты: Nginx 1.24, Apache httpd 2.4.58, Samba 4.19, Exim 4.97, Clamav 1.0.0, Chrony 4.5, containerd 1.7.12, Django 4.2.11, Docker 24.0.7, Dovecot 2.3.21, GlusterFS 11.1, HAProxy 2.8.5, Kea DHCP 2.4.1, libvirt 10.0.0, NetSNMP 5.9.4, OpenLDAP 2.6.7, open-vm-tools 12.3.5, PostgreSQL 16.2, Runc 1.1.12, QEMU 8.2.1, SpamAssassin 4.0.0, Squid 6.6, SSSD 2.9.4, Pacemaker 2.1.6, OpenStack 2024.1, Ceph 19.2.0, Openvswitch 3.3.0, Open Virtual Network 24.03.
  • Почтовый клиент Thunderbird теперь поставляется только в формате snap. DEB-пакет с Thunderbird содержит заглушку для установки snap-пакета.
  • Для приложений, использующих gnutls, принудительно отключена поддержка протоколов TLS 1.0, TLS 1.1 и DTLS 1.0, которые три года назад официально переведены комитетом IETF (Internet Engineering Task Force) в разряд устаревших технологий. Для openssl аналогичное изменение было реализовано в Ubuntu 20.04.
  • В Apparmor по умолчанию включено предоставление доступа любым приложениям к файлам конфигурации библиотек GnuTLS и OpenSSL. Ранее применявшееся выборочное предоставление доступа приводило к появлению проблем, трудно диагностируемых из-за отсутствия вывода ошибок при невозможности доступа к файлам конфигурации.
  • Удалены пакеты pptpd и bcrelay из-за потенциальных проблем с безопасностью и прекращения сопровождения основных кодовых баз. Также удалён PAM-модуль pam_lastlog.so, в котором не решена проблема 2038 года.
  • При сборке пакетов по умолчанию включены опции компилятора для усложнения эксплуатации уязвимостей. В gcc и dpkg по умолчанию включён режим "-D_FORTIFY_SOURCE=3", выявляющий возможные переполнения буфера при выполнении строковых функций, определённых в заголовочном файле string.h. Отличие от ранее применявшегося режима "_FORTIFY_SOURCE=2" сводится к дополнительным проверкам. Теоретически дополнительные проверки могут приводить к снижению производительности, но на практике тесты SPEC2000 и SPEC2017 не показали различий и в процессе тестирования от пользователей не поступало жалоб на снижение производительности.
  • В dpkg добавлен флаг "-mbranch-protection=standard" для включения на системах ARM64 защиты выполнения наборов инструкций, на которые не должны выполняться переходы при ветвлении (ARMv8.5-BTI - Branch Target Indicator). Блокирование переходов на произвольные участки кода реализовано для противодействия созданию гаджетов в эксплоитах, использующих приёмы возвратно-ориентированного программирования (ROP - Return-Oriented Programming).
  • В пакетном менеджере APT изменён приоритет для репозитория "proposed pocket", в котором осуществляется предварительное тестирование новых версий пакетов, перед их размещением в основных репозиториях для широкой публики. Изменение нацелено на снижение вероятности автоматизированной установки нестабильных обновлений, в случае включения репозитория "proposed pocket", которые могут привести к нарушению работоспособности системы. После включения "proposed pocket" из него теперь не будут переноситься все обновления, но пользователь сможет выборочно установить обновления необходимых пакетов, используя команду "apt install <package>/<release>-proposed".
  • Прекращена поставка по умолчанию сервиса irqbalance, распределяющего обработку аппаратных прерываний по разным ядрам CPU. В настоящее время в большинстве ситуаций достаточно штатных механизмов распределения обработчиков, предоставляемых ядром Linux. Использование irqbalance может быть оправдано в отдельных ситуациях, но при должной настройке администратором. Кроме того, в определённых конфигурациях irqbalance приводит к проблемам, например, при использовании в системах виртуализации, а также может мешать при ручной настройке параметров, влияющих на энергопотребление и задержки.
  • Для настройки сети задействован выпуск инструментария Netplan 1.0, который обеспечивает хранение настроек в формате YAML и предоставляет бэкенды, абстрагирующие доступ к конфигурации для NetworkManager и systemd-networkd. В новой версии появилась возможность одновременного использования WPA2 и WPA3, добавлена поддержка сетевых устройств Mellanox VF-LAG с SR-IOV (Single-Root I/O Virtualization) и реализована команда "netplan status --diff" для наглядной оценки различий между фактическим состоянием настроек и файлами конфигурации. В Ubuntu Desktop в качестве бэкенда настройки по умолчанию включён NetworkManager.
  • Модернизирован инсталлятор ubuntu-desktop-installer, который теперь развивается в составе более крупного проекта ubuntu-desktop-provision и переименован в ubuntu-desktop-bootstrap. Суть нового проекта в разделении инсталлятора на стадии, выполняемые перед установкой (разбивка диска и копирование пакетов) и во время первой загрузки системы (первичная настройка системы). Из изменений отмечается улучшенное оформление интерфейса инсталлятора, добавление страницы для указания URL для загрузки сценария автоматизированной установки autoinstall.yaml и возможность изменения поведения по умолчанию и стиля оформления через файл конфигурации. Добавлена поддержка обновления самого инсталлятора - при наличии новой версии на ранней стадии установки теперь выдаётся запрос на обновление инсталлятора.

    В инсталляторе также отмечены возможности, добавленные в прошлом выпуске Ubuntu 23.10, такие как поддержка файловой системы ZFS и возможность шифрования дисков, не требующая ввода пароля разблокировки диска при загрузке, благодаря хранению информации для расшифровки ключей в TPM (Trusted Platform Module).

  • Включён механизм Active Directory Certificate Auto Enrollment (ADSys), позволяющий автоматически получать сертификаты из сервисов Active Directory при включении групповых политик. Автоматическое получение сертификатов через Active Directory также применяется при подключении к корпоративным беспроводным сетям и VPN.
  • Улучшен новый менеджер приложений Ubuntu App Center, написанный на языке Dart с использованием фреймворка Flutter и адаптивных методов компоновки интерфейса для корректной работы на экранах любого размера. Ubuntu Store реализует комбинированный интерфейс для работы с пакетами в формате DEB и Snap (при наличии одной программы в пакетах deb и snap по умолчанию выбирается snap), позволяет выполнять поиск и навигацию по каталогу пакетов snapcraft.io и подключённым DEB-репозиториям, даёт возможность управлять установкой, удалением и обновлением приложений, устанавливать отдельные deb-пакеты из локальных файлов. В приложении задействована система рейтинга, в которой пятибалльная шкала оценки заменена на голосование в формате нравится/не нравится (+1/-1), на основе которого выводится виртуальный пятизвёздочный рейтинг.

    Ubuntu App Center заменил собой старый интерфейс Snap Store. По сравнению с Ubuntu 23.10 добавлена новая категория приложений - Игры (при этом из поставки удалены игры GNOME). Предложен отдельный интерфейс для обновления прошивок - Firmware Updater, доступный для систем на базе архитектур amd64 и arm64, и позволяющий обновлять прошивки без запуска в фоне полноценного менеджера приложений.

  • Пакеты для 32-разрядной архитектуры Armhf переведены на использование 64-разрядного типа time_t. Изменение затронуло более тысячи пакетов. Ранее использовавшийся 32-разрядный тип time_t не может применяться для обработки времени позднее 19 января 2038 года из-за переполнения счётчика секунд, прошедших после 1 января 1970 года.
  • Обновлены сборки для плат Raspberry Pi 5 (серверные и пользовательские) и StarFive VisionFive 2 (RISC-V).
  • В Ubuntu Cinnamon задействовано пользовательское окружение Cinnamon 6.0 с начальной поддержкой Wayland.
  • В Xubuntu продолжена поставка окружения на базе Xfce 4.18.
  • В Ubuntu Mate продолжает поставляться среда рабочего стола MATE 1.26.2 (в репозитории MATE уже доступна ветка 1.28, которая пока официально не объявлена).
  • В Ubuntu Budgie задействована среда рабочего стола Budgie 10.9.
  • В Kubuntu по умолчанию продолжена поставка KDE Plasma 5.27. KDE 6 будет предложен в осеннем выпуске Kubuntu 24.10. Обновлены логотип и цветовое оформление.
  • В Lubuntu доработан инсталлятор на базе фреймворка Calamares. Добавлена страница для настройки параметров установки, таких как установка доступных обновлений, установка кодеков и проприетарных драйверов, установка дополнительных программ. Добавлены режимы минимальной, полной и нормальной установки. Добавлен экран первой загрузки, позволяющий настроить язык и подключение к беспроводной сети, а также выбрать запуск инсталлятора или переход в Live-режим. Добавлен Bluetooth Manager и редактор настроек дисплейного менеджера SDDM. Среда рабочего стола обновлена до версии LXQt 1.4.
  • В Ubuntu Studio добавлена утилита Ubuntu Studio Audio Configuration для настройки параметров PipeWire.

  1. OpenNews: Начиная с Ubuntu 14.04 время поддержки LTS-релизов будет увеличено до 12 лет
  2. OpenNews: Canonical готовит вариант Ubuntu Desktop, содержащий только пакеты Snap
  3. OpenNews: Инцидент с подстановкой непристойных выражений в инсталлятор Ubuntu 23.10
  4. OpenNews: Выпуск дистрибутива Ubuntu 23.10
  5. OpenNews: Релиз дистрибутива Ubuntu 22.04 LTS
Обсуждение (237 +4) | Тип: Программы |
·11.04.2024 Компания Oracle опубликовала DTrace 2.0.0-1.14 для Linux (49 +15)
  Представлен экспериментальный выпуск инструментария динамической отладки DTrace для Linux 2.0.0-1.14, реализованный в виде работающего в пространстве пользователя процесса, использующего подсистему eBPF и штатные механизмы трассировки, предоставляемых ядром Linux. По функциональности реализация DTrace на базе eBPF близка к первой реализации DTrace для Linux, выполненной в форме модуля ядра. Код проекта распространяется под лицензией GPLv2.

Инструментарий может использоваться со штатными ядрами Linux, поддерживающими BPF. Для работы требуется библиотека libctf с реализацией поддержки отладочного формата CTF (Compact Type Format), которая входит в состав пакета binutils, начиная с выпуска 2.40, или библиотека libdtrace-ctf, портированная из Solaris. Опционально предлагается два патча к ядру 6.7, позволяющих задействовать расширенные возможности для получения дополнительных данных о модулях и ядре.

Технология DTrace была разработана для решения задач по динамической трассировке ядра и конечных приложений в операционной системе Solaris. DTrace даёт пользователю возможность детально отслеживать поведение системы и в режиме реального времени производить диагностику проблем. В процессе отладки DTrace не влияет на работу исследуемых приложений и никак не отражается на их производительности, что позволяет организовать анализ работающих систем на лету. Из сильных сторон DTrace отмечается высокоуровневый язык D, похожий на AWK, на котором значительно проще создавать сценарии трассировки, чем при применении предлагаемых для eBPF средств написания обработчиков на языках C, Python и Lua с внешними библиотеками.

Основные возможности:

  • Доступные провайдеры:
    • cpc (CPU Performacne Counter) - получение информации о производительности.
    • dtrace - обработчики BEGIN, END и ERROR, запускаемые перед или после других проверок, а также при возникновении ошибок.
    • fbt (Function Boundary Tracing) - отслеживание обращений к функциям ядра.
    • lockstat - отслеживание состояния блокировок.
    • pid - отслеживание обращений к функциям в процессах, работающих в пространстве пользователя.
    • proc - отслеживание активности, связанной с процессами, такой как запуск и завершение работы (fork, exec, exit, fault).
    • profile - сохранение статистики о производительности через указанные промежутки времени.
    • sdt, rawtp - статическая трассировка ядра (SDT - Statically Defined Tracing).
    • usdt: статическая трассировка приложений (USDT - Userspace Statically Defined Tracing)
    • sched - отслеживание распределения ресурсов CPU.
    • sycall - отслеживание входа в системные вызовы и выхода из них.
  • Агрегирование собираемых данных: возможность применения агрегатных функций (avg, count, llquantize, lquantize, max, min, quantize, stddev и sum) и агрегатных действий (clear, normalize, normalize, printa). Поддержка сохранения результатов применения агрегатных функций в обычных и ассоциативных массивах.
  • Поддержка спекулятивной трассировки, позволяющей эфемерно отслеживать данные, решая какие из них следует фиксировать в буфере трассировки, а какие отбрасывать. Доступны функции: speculation, speculate, commit и discard.
  • Поддержка глобальных и локальных переменных, TLS (Thread-Local Storage), ассоциативных массивов и строк.
  • Предоставление встроенных переменных: arg0 - arg9, args[], caller, curcpu, curthread, epid, errno, execname, gid, id, pid, ppid, probefunc, probemod, probename, probeprov, stackdepth, tid, timestamp, ucaller, uid, uregs[], ustackdepth, walltimestamp.
  • Поддержка действий: exit, freopen, ftruncate, mod, printa, printf, raise, setopt, stack, sym, system, trace, tracemem, uaddr, umod, ustack и usym.
  • Наличие встроенных функций: alloca, basename, bcopy, copyin, copyinstr, copyinto, copyout, copyoutstr, dirname, getmajor, getminor, htonl, htonll, htons, index, inet_ntoa, lltostr, mutex_owned, mutex_owner, mutex_type_adaptive, mutex_type_spin, ntohl, ntohll, ntohs, progenyof, rand, rindex, rw_iswriter, rw_read_held, rw_write_held, strchr, strjoin, strlen, strrchr, strstr, strtok, substr.
  • Наличие счётчиков данных, не попадающих в буферы трассировки.
  • Поддержка компиляции сценариев трассировки на языке D в форму BPF-программ.
  • Предкомпиляция функций BPF для библиотечных вызовов.
  • Опция bpflog для получения лога верификации загружаемых программ BPF.
  • Динамическая генерация кода и предкомпиляция кода для повторного использования в BPF-программах.



Изменения в новой версии:

  • В провайдер pid, применяемый для отслеживания процессов в пространстве пользователя, добавлена поддержка отслеживания выполнения инструкций по их смещению в коде.
  • Добавлена поддержка использования функций stack() и ustack() для агрегирования собираемых данных.
  • Возможность удаления из ассоциативных массивов элементов любых типов через присвоение литерала 0.
  • Добавлено действие print для вывода структурированных данных с аннотациями типов.
  • Добавлены новые встроенные функции cleanpath(), d_path() и link_ntop().
  • Добавлен параметр "-xcpu", позволяющий привязать проверки к определённым CPU.
  • Добавлен параметр "-xlockmem" для ограничения размера памяти.
  • Обеспечена возможность сохранения данных трассировки процессов (USDT) между перезапусками dtprobed.
  • Поддержка механизма BTF (BPF Type Format), предоставляющего информацию для проверки типов в псевдокоде BPF.
  • Возможность использования скрипта configure для сборки.

  1. OpenNews: Компания Oracle намерена переработать DTrace для Linux с использованием eBPF
  2. OpenNews: Для Linux представлена система динамической отладки BPFtrace (DTrace 2.0)
  3. OpenNews: Microsoft портировал DTrace для Windows
  4. OpenNews: Компания Oracle представила обновление DTrace для Linux
  5. OpenNews: Oracle перелицензировал код DTrace под GPLv2
Обсуждение (49 +15) | Тип: Программы |
·11.04.2024 Доступен OpenZiti 1.0, инструментарий для встраивания оверлейных сетей в приложения (16 +18)
  Представлен выпуск инструментария OpenZiti 1.0, позволяющего интегрировать в приложения средства для распределённого сетевого взаимодействия и обращения к сервисам в изолированном сетевом окружении. OpenZiti даёт возможность развернуть специфичную для разрабатываемых приложений оверлейную сеть, работающую поверх обычного интернета и использующую mesh-маршрутизацию, при которой каждая точка сети связывается через соседние точки. Код проекта написан на языке Go и распространяется под лицензией Apache 2.0. Предоставляются обвязки для языков C, Go, Python, Swift, Java, Node.js и C# (.NET), а также инструментарий для интеграции с приложениями для платформы Android.

Система OpenZiti изначально рассчитана на построение сетей, гарантирующих защиту и изоляцию трафика в условиях работы в незащищённых окружениях, узлы в которых могут быть скомпрометированы (архитектура с нулевым доверием - Zero Trust). Технология может применяться для организации связи c приложениями вместо VPN. Работа сети обеспечивается через использование процесса-контроллера, управляющего конфигурацией сети, аутентификацией и настройкой сервисов, а также узлов, которым разрешено выступать в роли маршрутизаторов, образующих mesh-сеть и выполняющих передачу через себя транзитного трафика. Возможно добавление сервисов для балансировки нагрузки и обеспечения отказоустойчивости.

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

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

Из популярных приложений, использующих OpenZiti, можно отметить платформу совместного доступа к данным Zrok и экосистему browZer для развёртывания сайтов в оверлейной сети. Кроме создания распределённых сетевых приложений OpenZiti также подходит для построения частных сетей для организации доступа к закрытым API, сайтам или БД, скрытия в оверлейной сети инфраструктур на базе Kubernetes, а также удалённого управления внешними системами и устройствами без настройки межсетевых экранов и задействования VPN.

В выпуске OpenZiti 1.0 обеспечена стабильность API для маршрутизаторов и контроллеров (для клиентов стабильность API гарантировалась и раньше). Начиная с данного выпуска в API и интерфейсе командной строки будет поддерживаться обратная совместимость, а при необходимости удаления возможностей будет применяться процесс предварительного перевода их в разряд устаревших и фактического удаления только при значительном смене номера версии. В новой версии также проведено дополнительное тестирование с симуляцией различных сбоев компонентов сети (chaos testing), позволяющее убедиться в устойчивости сети в случае возникновения нештатных ситуаций и способности возвращения к нормальной работе после возобновления работы сбойных компонентов.

  1. OpenNews: Meshtastic - реализация самодостаточной mesh-сети на базе передатчиков LoRa
  2. OpenNews: Выпуск Commotion 1.0, свободной платформы для удобного развёртывания mesh-сетей
  3. OpenNews: Проект Darknet по созданию свободного интернета с помощью беспроводных mesh-сетей
  4. OpenNews: Первый выпуск проекта Weron, развивающего VPN на базе протокола WebRTC
  5. OpenNews: Выпуск Nebula 1.5, системы для создания оверлейных P2P-сетей
Обсуждение (16 +18) | Тип: Программы |
·11.04.2024 Инициативой OS Zone аннулировано 54 патента, направленных против открытого ПО (76 +55)
  Организации Open Invention Network (OIN) и Unified Patents объявили об успешном развитии совместной инициативы Open Source Zone (OS Zone), созданной в 2019 году после патентной агрессии компании Rothschild Patent Imaging против проекта GNOME. С тех пор, кроме патента, в нарушении которого обвинялись разработчики GNOME, участники OS Zone смогли добиться признания недействительными ещё 53 патента, так или иначе нацеленных против открытого ПО.

Из открытых проектов, интересы которых удалось защитить, добившись признания связанных с ними патентов недействительными, упоминаются Apache Cocoon, Apache mod_evasive, Argo, Bluez, Fail2Ban, FreeMesh, LibreMesh, iFolder, LibVLC, Linkerd, ядро Linux, Automotive Linux, Kubernetes, KVM, Magento, Mastodon, Firefox, Mycroft, OpenACH, OpenSwan, QEMU и WebM.

Сообщается, что помимо основных спонсоров проводимой в OS Zone работы - Linux Foundation и Microsoft, о своей поддержке в этом году заявили компании Amazon, Apple, CableLabs, Mercedes-Benz, Meta, ServiceNow и Twilio, что позволит усилить работу по признанию недействительными сомнительных патентов, используемых патентными троллями для нападок на компании и организации, продвигающие открытое ПО.

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

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

Организация Unified Patents пытается противостоять патентным троллям и усложняет разбирательства с их участием, делая нападки слишком затратными из-за судебных издержек. Unified Patents не ставит целью выиграть дело, но даёт понять троллям, что будет бороться и отставать интересы своих участников. В итоге разбирательство с участником Unified Patents может оказаться для тролля дороже, чем отчисления, которые тролль намерен получить (например, успешное противостояние может продолжаться до 6 месяцев и грозить судебными издержками до 2 млн долларов).

Организация Open Invention Network (OIN) занимается защитой экосистемы Linux от патентных претензий. Участники OIN обязуются не выдвигать патентные претензии и безвозмездно разрешают использовать запатентованные технологии в проектах, связанных с экосистемой Linux. В число участников OIN входит более 3800 компаний, сообществ и организаций, подписавших лицензионное соглашение о совместном использовании патентов. Подписавшие соглашение компании получают доступ к имеющимся в руках OIN патентам в обмен на обязательство не предъявлять судебных претензий за использование технологий, применяемых в экосистеме Linux.

Соглашение между участниками OIN распространяется только на компоненты дистрибутивов, подпадающих под определение системы Linux ("Linux System"). В настоящее время список включает 3730 пакетов, в том числе ядро Linux, платформу Android, KVM, Git, nginx, Apache Hadoop, CMake, PHP, Python, Ruby, Go, Lua, LLVM, OpenJDK, WebKit, KDE, GNOME, QEMU, Firefox, LibreOffice, Qt, systemd, X.Org, Wayland, PostgreSQL, MySQL и т.д. Кроме обязательств о ненападении для дополнительной защиты в рамках OIN сформирован патентный пул, куда попадают скупаемые или безвозмездно передаваемые участниками патенты, связанные с Linux.

  1. OpenNews: Компания Foxconn присоединилась к инициативе по защите Linux от патентных претензий
  2. OpenNews: Патент, использованный для нападок на GNOME, признан недействительным
  3. OpenNews: В программу защиты Linux от патентных претензий включено 337 новых пакетов
  4. OpenNews: Патентное разбирательство против GNOME прекращено
  5. OpenNews: OIN поможет признать недействительным патент, используемый для атаки на GNOME
Обсуждение (76 +55) | Тип: К сведению |
·10.04.2024 Проект Gentoo перешёл под крыло организации SPI (113 +18)
  Разработчики дистрибутива Gentoo объявили о переходе проекта под покровительство некоммерческой организации SPI (Software in the Public Interest), которой делегированы решения не связанных с технологиями административных задач, что позволит обойтись без поддержания своего юридического лица, избавиться от административной рутины и увеличить привлекательность для передачи пожертвований коммерческими компаниями, так как подобные пожертвования дадут возможность получить налоговый вычет в США.

Среди прочего SPI будет курировать приём пожертвований, решать юридические вопросы, управлять активами и товарными знаками, обеспечивать хранение средств проекта, оплачивать расходы, заключать контракты, проводить аудит и вести бухгалтерский учёт. В настоящее время под покровительством SPI находится 44 открытых проекта, среди которых Debian, Arch Linux, LibreOffice, X.Org, systemd, 0.A.D, PostgreSQL, FFmpeg, freedesktop.org, OpenWrt, OpenZFS, Jenkins и OpenEmbedded.

Ранее существующая организация Gentoo Foundation имела статус некоммерческой организации только в штате Нью-Мексико, но признавалась коммерческой организацией на федеральном уровне США. Преобразование в некоммерческую организацию федерального уровня ("501(c)(3)") требовало значительных усилий и затрат. Решено, что Gentoo будет выгоднее последовать примеру других открытых проектов и передать решение нетехнических вопросов в руки SPI.

Старая организация Gentoo Foundation будет расформирована, а её активы будут переданы SPI. Организация European Gentoo e.V. продолжит свою работу в качестве независимого юрлица, зарегистрированного в Германии, способного отстаивать интересы проекта в Евросоюзе и позволяющего получить налоговый вычет для жертвователей из Евросоюза.

  1. OpenNews: Gentoo начал формирование бинарных пакетов для архитектуры x86-64-v3
  2. OpenNews: Дистрибутив Gentoo объявил о доступности бинарных пакетов
  3. OpenNews: Дистрибутив Gentoo начал публикацию еженедельных Live-сборок
  4. OpenNews: Организация Open Collective Foundation приняла решение о закрытии
  5. OpenNews: Отчёт SPI о пожертвованиях Debian, X.Org, systemd, FFmpeg, Arch Linux, OpenWrt
Обсуждение (113 +18) | Тип: К сведению |
·10.04.2024 Уязвимость BatBadBut, затрагивающая стандартные библиотеки различных языков программирования (63 +23)
  Приложения, запускающие сценарии в формате bat и cmd на платформе Windows при помощи штатных функций запуска процессов, подвержены уязвимости, позволяющей добиться выполнения своего кода в случае передачи при запуске аргументов без отдельного экранирования спецсимволов. Уязвимость получила кодовое имя BatBadBut и проявляется в приложениях, использующих стандартные библиотеки таких языков, как Rust, PHP, Node.js, Python, Ruby, Go, Erlang и Haskell.

Проблема отмечена как уязвимость так как затрагивает функции библиотеки, такие как Command::arg и Command::args в Rust, рассчитанные на прямую передачу процессу аргументов, без их обработки командным интерпретатором. Подразумевается, что разработчик приложения может не проверять аргументы, так как они напрямую передаются запускаемому процессу. Если в Unix-системах аргументы передаются процессу по отдельности в массиве, то в Windows при использовании API CreateProcess аргументы оформляются в виде одной строки, разбор которой ложится на плечи запускаемого процесса.

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

Например, в программе, вызывающей сценарий './test.bat' с аргументом на основе полученных от пользователя данных, атакующий может передать значение '"&calc.exe', которое при запуске сценария будет развёрнуто в строку 'C:\Windows\System32\cmd.exe /c .\test.bat ""&calc.exe"' и приведёт к запуску процесса calc.exe. Метод действует и при неявном запуске сценариев, когда запускается исполняемый файл с именем "test" без указания расширения, а в одном из каталогов, упомянутых в переменной окружения PATH, присутствует файл "test.bat".

В настоящее время исправление уже выпущено (CVE-2024-24576) для стандартной библиотеки языка Rust и вошло в состав обновления Rust 1.77.2. В процессе подготовки находятся обновления с устранением уязвимости для Node.js и PHP (уже выставлены теги 8.2.18 и 8.3.5, но релизы пока не объявлены). Проекты Python, Ruby, Go, Erlang и Haskell пока ограничились внесением в документацию предупреждения о проявлении уязвимости при отсутствии должного экранирования спецсимволов.

В Rust 1.77.2 в стандартную библиотеку добавлена дополнительная проверка, возвращающая ошибку при наличии в аргументе запускаемого сценария спецсимволов, которое невозможно гарантированно безопасно экранировать. Для разработчиков, самостоятельно реализующих логику экранирования предоставлен метод CommandExt::raw_arg, полностью отключающий экранирование на стороне библиотечных вызовов.

Добавлению защиты мешает то, что простого экранирования двойных кавычек недостаточно, так как командный интерпретатор обрабатывает и раскрывает переменные, такие как "%PATH%". Например, кавычку можно подставить через манипуляцию с переменной окружения "%CMDCMDLINE%", указав вместо '"&calc.exe' - '%CMDCMDLINE:~-1%&calc.exe'.

Дополнение: Уязвимость проявляется в yt-dlp, популярном приложении для загрузки видео с Youtube.

  1. OpenNews: Уязвимости в просмотрщике документов Xreader, развиваемом проектом Linux Mint
  2. OpenNews: Уязвимости в LibreOffice, позволяющие выполнить скрипт или плагин Gstreamer
  3. OpenNews: Уязвимость в сетевых библиотеках языков Rust и Go, позволяющая обойти проверку IP-адресов
  4. OpenNews: Уязвимость в пакетном менеджере Composer, допускающая компрометацию PHP-репозитория Packagist
  5. OpenNews: Опасные уязвимости в системе управления конфигурацией SaltStack
Обсуждение (63 +23) | Тип: Проблемы безопасности |
·09.04.2024 Новый вариант атаки BHI на CPU Intel, позволяющий обойти защиту в ядре Linux (124 +21)
  Группа исследователей из Амстердамского свободного университета выявила новый метод атаки "Native BHI" (CVE-2024-2201), позволяющий на системах с процессорами Intel определить содержимое памяти ядра Linux при выполнении эксплоита в пространстве пользователя. В случае применения атаки к системам виртуализации, атакующий из гостевой системы может определить содержимое памяти хост-окружения или других гостевых систем.

Метод Native BHI предлагает иную технику эксплуатации уязвимости BHI (Branch History Injection, CVE-2022-0001), которая обходит ранее реализованные способы защиты. Предложенный в 2022 году метод атаки BHI подразумевал эксплуатацию уязвимости в CPU в рамках одного уровня привилегий, для чего эксплоит базировался на выполнении еBPF-программы, загруженной пользователем в ядро. Для блокирования метода атаки BHI достаточно было ограничить доступ к выполнению кода еBPF для обычных пользователей.

Новый метод Native BHI не требует доступа к еBPF и позволяет совершить атаку непривилегированным пользователем из пространства пользователя. Метод основывается на выполнении существующих в коде ядра гаджетов - последовательностей команд, приводящих к спекулятивному выполнению инструкций. Для поиска в ядре подходящих гаджетов был разработан специальный инструментарий InSpectre Gadget, который при анализе ядра 6.6-rc4 выявил 1511 Spectre-гаджетов и 2105 вспомогательных гаджетов диспетчеризации.

На основе найденных гаджетов исследователями подготовлен эксплоит, дающий возможность извлечь из буферов ядра строку с хэшем пароля пользователя root, загруженную из файла /etc/shadow. Скорость извлечения данных из памяти ядра составляет приблизительно 3.5 Кб в секунду.

Метод BHI представляет собой расширенный вариант атаки Spectre-v2, в котором для обхода добавленной защиты (Intel eIBRS и Arm CSV2) и организации утечки данных используется подстановка значений в буфер с глобальной историей переходов (Branch History Buffer), применяемый в CPU для повышения точности предсказания ветвления за счёт учёта истории прошлых переходов. В ходе атаки через манипуляции с историей переходов создаются условия неверного предсказания перехода и спекулятивного выполнения необходимых инструкций, результат которых оседает в кэше.

Отличия от атаки Spectre-v2 сводятся к использованию буфера с историей переходов (Branch History Buffer) вместо буфера предсказания ветвления (Branch Target Buffer). Для извлечения данных из памяти атакующий должен создать условия, при которых при выполнении спекулятивной операции адрес будет взят из области, которую нужно определить. После выполнения спекулятивного косвенного перехода, считанный из памяти адрес перехода, остаётся в кэше, после чего для его извлечения может применяться один из способов определения содержимого кэша на основе анализа изменения времени доступа к прокэшированным и не прокэшированным данным.

Против атаки Native BHI не защищает применение инструкций Intel IBT (Indirect Branch Tracking) и реализованный в ядре Linux гибридный механизм защиты потока выполнения команд FineIBT, сочетающий применение аппаратных инструкций IBT и программной защиты kCFI (kernel Control Flow Integrity) для блокирования нарушения нормального порядка выполнения (control flow). FineIBT разрешает выполнение по косвенному переходу только в случае перехода на инструкцию ENDBR, которая размещается в самом начале функции. Дополнительно (по аналогии с механизмом kCFI) следом осуществляется проверка хэшей, гарантирующих неизменность указателей.

Для защиты от нового варианта атаки в ядро Linux добавлено изменение с реализацией дополнительного режима защиты, применяющего предложенные компанией Intel аппаратные средства защиты (BHI_DIS_S) или альтернативную программную защиту, реализованную для гипервизора KVM. Исправление включено в выпуски ядра 6.8.5, 6.6.26, 6.1.85 и 5.15.154. Разработчики гипервизора Xen также выпустили исправление, основанное на использовании режима BHI_DIS_S, ограничивающего предсказания на основе истории переходов. Исправление вошло в состав выпусков Xen 4.15.6, 4.16.6, 4.17.4 и 4.18.2.

Поддержка BHI_DIS_S доступна в процессорах, начиная с Intel Alder Lake, а также серверных CPU, начиная с Intel Sapphire Rapids. Для старых процессоров разработан программный режим защиты, основанный на использовании последовательностей инструкций для очистки буфера истории переходов, вызываемых при входе в системный вызов или переключении на другую виртуальную машину. Оценка влияния программной защиты на производительность пока не производилась.

  1. OpenNews: BHI - новая уязвимость класса Spectre в процессорах Intel и ARM
  2. OpenNews: Уязвимость в процессорах Intel, приводящая к утечке данных по сторонним каналам
  3. OpenNews: Downfall - атака на CPU Intel, приводящая к утечке данных из чужих процессов
  4. OpenNews: SLAM - атака на CPU Intel, AMD и ARM, позволяющая определить содержимое памяти
  5. OpenNews: GhostRace - атака на механизм спекулятивного выполнения в процессорах Intel, AMD, ARM и IBM
Обсуждение (124 +21) | Тип: Проблемы безопасности |
Следующая страница (раньше) >>



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

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