The OpenNET Project / Index page

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

·12.04 0-day уязвимость в драйвере n_gsm, позволяющая выполнить код на уровне ядра Linux (70 +13)
  В открытом доступе обнаружены два эксплоита, в которых задействована ранее неизвестная уязвимость в драйвере 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. Главная ссылка к новости
  2. OpenNews: Уязвимости в ядре Linux, позволяющие поднять свои привилегии через nf_tables и ksmbd
  3. OpenNews: Уязвимости в ядре Linux, затрагивающие ksmbd, ktls, uio и сетевой стек
  4. OpenNews: Уязвимость в IPv6-стеке ядра Linux, допускающая удалённое выполнение кода
  5. OpenNews: Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP из состава ядра Linux
  6. OpenNews: Локальная уязвимость в сетевой подсистеме ядра Linux
Обсуждение (70 +13) | Тип: Проблемы безопасности |


·12.04 Первая бета-версия Android 15 (58 +5)
  Компания Google начала бета-тестирование открытой мобильной платформы Android 15. Релиз Android 15 ожидается в третьем квартале 2024 года. Для оценки новых возможностей платформы предложена программа предварительного тестирования. Сборки прошивки подготовлены для устройств Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8 Pro, Pixel Fold и Pixel Tablet.

Изменения в Android 15 Beta1 по сравнению со второй предварительной версией:

  • В операционную систему встроена возможность архивирования редко используемых приложений для высвобождения занимаемого ими пространства на накопителе. При возникновении потребности в приложении его можно вернуть из архива. Приложения с полномочиями REQUEST_DELETE_PACKAGES теперь могут вызвать метод requestArchive для запроса архивирования установленного пакета, что приведёт удалению пакета APK и всех файлов из кэша, но сохранит ярлык и связанные с приложением пользовательские данные. При попытке запуска заархивированного приложения оно заново будет загружено и восстановлено.
  • По умолчанию обеспечено отображение приложений в режиме "от края до края", позволяющего выводить информацию на всей видимой области экрана, не упираясь в границы верхней панели состояния и нижней навигационной панели (данные панели выглядят полупрозрачными и перекрывают содержимое приложения). Для отображения содержимого за системными панелями теперь не нужно явно вызывать функции Window.setDecorFitsSystemWindows(false) и EnableEdgeToEdge().
  • Продолжена работа по упрощению использования телефона с поддержкой NFC для оплаты товаров одним касанием (tap to pay). Приложения теперь могут регистрировать отпечаток (fingerprint) на поддерживаемых устройствах для получения уведомлений о связанной с NFC активности при одновременном использовании на устройстве нескольких приложений, работающих с NFC.
  • Добавлен класс ProfilingManager, позволяющий запросить из приложения данные профилирования. Например, можно получить доступ к дампам памяти в куче, сведениям об использовании кучи и активности в стеке.
  • Добавлен API E2eeContactKeysManager для управления ключами сквозного шифрования (E2EE) в приложениях. Интеграция E2eeContactKeysManager в адресную книгу позволяет предоставить пользователю централизованный интерфейс для управления открытыми ключами адресатов, а также верификации этих ключей.
  • Добавлена дополнительная защита от вредоносной активности фоновых приложений, нацеленных на активацию других приложений, повышение их привилегий и злоупотребление взаимодействием с пользователем.

  1. Главная ссылка к новости
  2. OpenNews: Второй предварительный выпуск Android 15
  3. OpenNews: Предварительный выпуск Android 15
  4. OpenNews: Уязвимость в Android 14, эксплуатируемая через Bluetooth LE
  5. OpenNews: Опубликована мобильная платформа LineageOS 21 на основе Android 14
  6. OpenNews: Обновление защищённой Android-платформы GrapheneOS
Обсуждение (58 +5) | Тип: Программы |


·12.04 Бета-выпуск Ubuntu 24.04 (194 +7)
  Представлен бета-выпуск дистрибутива 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 253.5, 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.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. Главная ссылка к новости
  2. OpenNews: Начиная с Ubuntu 14.04 время поддержки LTS-релизов будет увеличено до 12 лет
  3. OpenNews: Canonical готовит вариант Ubuntu Desktop, содержащий только пакеты Snap
  4. OpenNews: Инцидент с подстановкой непристойных выражений в инсталлятор Ubuntu 23.10
  5. OpenNews: Выпуск дистрибутива Ubuntu 23.10
  6. OpenNews: Релиз дистрибутива Ubuntu 22.04 LTS
Обсуждение (194 +7) | Тип: Программы |


·12.04 Выпуск свободного звукового редактора Ardour 8.5 (62 +13)
  Опубликован релиз свободного звукового редактора Ardour 8.5, предназначенного для многоканальной записи, обработки и микширования звука. В Ardour предоставляется мультитрековая шкала времени, неограниченный уровень отката изменений на всем протяжении работы с файлом (даже после закрытия программы), поддержка разнообразных аппаратных интерфейсов. Программа позиционируется, как свободный аналог профессиональных средств ProTools, Nuendo, Pyramix и Sequoia. Код распространяется под лицензией GPLv2. В ближайшее время неофициальные сборки для Linux будут сформированы в формате Flatpak.

Ключевые улучшения:

  • Улучшен импорт файлов в формате AAF (Advanced Authoring Format), применяемом в таких системах, как Avid Media Composer и After Effects.
  • Расширены возможности отладки на платформе Linux. При включении отладочного режима "--gdb" теперь автоматически обрабатывается сигнал SIG32.
  • В списке плагинов прекращено отображение скрытых плагинов.
  • В имена резервных копий сеансов, сохраняемых в каталоге backup/, добавлен номер версии.
  • Обеспечено включение названий барабанов в MIDI-файлы в формате MIDNAM.
  • Включено отображение нотной сетки для триолей, квинтолей и секстолей.
  • Изменено поведение при перемещении контрольных точек.
  • Во встроенный синтезатор Reasonable Synth добавлена поддержка изменения высоты тона.
  • Прекращено использование модулей GTK (в Ardour поддерживается собственное ответвление от библиотеки GTK2).
  • Расширены возможности скриптов на языке Lua. Добавлены Lua API для настройки данных автоматизации, выставления и запроса свойств плагинов.
  • Решена проблема, приводившая к аварийному завершению на платформе Linux при открытии диалога выбора файла, проявляющаяся если в отображаемом каталоге присутствуют определённые файлы с пиктограммами.

  1. Главная ссылка к новости
  2. OpenNews: В звуковом редакторе Ardour 8.4 создано собственное ответвление GTK2
  3. OpenNews: Выпуск свободного звукового редактора Ardour 8.0
  4. OpenNews: Выпуск звукового редактора Audacity 3.4
  5. OpenNews: Synthstrom Audible откроет код прошивки музыкальных синтезаторов Deluge
  6. OpenNews: Выпуск Mixxx 2.4, свободного пакета для создания музыкальных миксов
Обсуждение (62 +13) | Тип: Программы |


·11.04 Компания Oracle опубликовала DTrace 2.0.0-1.14 для Linux (46 +12)
  Представлен экспериментальный выпуск инструментария динамической отладки 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. Главная ссылка к новости
  2. OpenNews: Компания Oracle намерена переработать DTrace для Linux с использованием eBPF
  3. OpenNews: Для Linux представлена система динамической отладки BPFtrace (DTrace 2.0)
  4. OpenNews: Microsoft портировал DTrace для Windows
  5. OpenNews: Компания Oracle представила обновление DTrace для Linux
  6. OpenNews: Oracle перелицензировал код DTrace под GPLv2
Обсуждение (46 +12) | Тип: Программы |


·11.04 Доступен OpenZiti 1.0, инструментарий для встраивания оверлейных сетей в приложения (16 +16)
  Представлен выпуск инструментария 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. Главная ссылка к новости
  2. OpenNews: Meshtastic - реализация самодостаточной mesh-сети на базе передатчиков LoRa
  3. OpenNews: Выпуск Commotion 1.0, свободной платформы для удобного развёртывания mesh-сетей
  4. OpenNews: Проект Darknet по созданию свободного интернета с помощью беспроводных mesh-сетей
  5. OpenNews: Первый выпуск проекта Weron, развивающего VPN на базе протокола WebRTC
  6. OpenNews: Выпуск Nebula 1.5, системы для создания оверлейных P2P-сетей
Обсуждение (16 +16) | Тип: Программы |


·11.04 Проект по реализации zlib на языке Rust (152 –3)
  Организация ISRG (Internet Security Research Group), которая является учредителем проекта Let's Encrypt и способствует развитию технологий для повышения защищённости интернета, представила проект zlib-rs по созданию защищённого аналога библиотеки сжатия данных zlib. Код zlib-rs написан на языке Rust и распространяется под лицензией Zlib. Разработка ведётся с оглядкой на проект zlib-ng, развивающий высокопроизводительный вариант zlib. Проектом разработаны две библиотеки: zlib-rs с реализаций API zlib, не использующей unsafe-блоки; libz-rs-sys - надстройка с C API, содержащая код в режиме "unsafe". Проект находится в стадии разработки.

В качестве причины создания zlib-rs упоминается намерение предоставить вариант zlib, избавленный от потенциальных проблем, вызванных ошибками при работе с памятью. По данным компаний Microsoft и Google около 70% уязвимостей вызваны небезопасной работой с памятью. Предполагается, что использование языка Rust для разработки zlib-rs позволит снизить риск появления уязвимостей, вызванных небезопасной работой с памятью, и исключить появление таких ошибок, как обращение к области памяти после её освобождения и выход за границы буфера.

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

  1. Главная ссылка к новости
  2. OpenNews: Компания Cloudflare открыла код Pingora, инструментария для создания сетевых сервисов
  3. OpenNews: DNS-сервер Trust-DNS переименован в Hickory и будет задействован в инфраструктуре Let's Encrypt
  4. OpenNews: Первый стабильный выпуск sudo-rs, реализации утилит sudo и su на языке Rust
  5. OpenNews: Первый стабильный выпуск zlib-ng, высокопроизводительного форка zlib
  6. OpenNews: Уязвимость в zlib, проявляющаяся при сжатии специально оформленных данных
Обсуждение (152 –3) | Тип: Программы |


·11.04 Инициативой OS Zone аннулировано 54 патента, направленных против открытого ПО (69 +49)
  Организации 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. Главная ссылка к новости
  2. OpenNews: Компания Foxconn присоединилась к инициативе по защите Linux от патентных претензий
  3. OpenNews: Патент, использованный для нападок на GNOME, признан недействительным
  4. OpenNews: В программу защиты Linux от патентных претензий включено 337 новых пакетов
  5. OpenNews: Патентное разбирательство против GNOME прекращено
  6. OpenNews: OIN поможет признать недействительным патент, используемый для атаки на GNOME
Обсуждение (69 +49) | Тип: К сведению |


·10.04 Выпуск реализации анонимной сети I2P 2.5.0 (56 +11)
  Состоялся релиз анонимной сети I2P 2.5.0 и C++-клиента i2pd 2.51.0. I2P представляет собой многослойную анонимную распределенную сеть, работающую поверх обычного интернета, активно использующую сквозное (end-to-end) шифрование, гарантирующую анонимность и изолированность. Сеть строится в режиме P2P и образуется благодаря ресурсам (пропускной способности), предоставляемым пользователями сети, что позволяет обойтись без применения централизованно управляемых серверов (коммуникации внутри сети основаны на применении шифрованных однонаправленных туннелей между участником и peer-ами).

В сети I2P можно анонимно создавать web-сайты и блоги, отправлять мгновенные сообщения и электронную почту, обмениваться файлами и организовывать P2P-сети. Для построения и использования анонимных сетей для клиент-серверных (сайты, чаты) и P2P (обмен файлами, криптовалюты) приложений, применяются I2P-клиенты. Базовый I2P-клиент написан на языке Java и может работать на широком спектре платформ, таких как Windows, Linux, macOS, Solaris и т.п. I2pd представляет собой независимую реализацию клиента I2P на языке C++ и распространяется под модифицированной лицензией BSD.

В новой версии:

  • В BitTorrent-клиенте i2psnark реализована поддержка поиска torrent-файлов. Улучшена совместимость с другими BitTorrent-клиентами, поддерживающими I2P, такими как BiglyBT и qBittorrent.
  • В почтовый клиент SusiMail добавлена возможность форматирования содержимого писем с разметкой Markdown и обеспечена поддержка прикрепления вложений к письмам через перетаскивание файлов мышью в режиме drag-and-drop.
  • В туннели, созданные с использованием менеджера скрытых сервисов, добавлена поддержка механизма Keepalive, позволяющего увеличить производительность.
  • В базе данных NetDB, применяемой для обнаружения пиров в сети I2P, усилена защита от спама.
  • В маршрутизаторе улучшены средства для блокировки сомнительных сообщений.
  • Улучшено формирование сборок для Android и Windows.
  • В i2pd реализованы новые алгоритмы расчёта RTT, RTO и скользящего окна. Добавлена индикация перегрузки. В SOCKS-прокси вместо SOCKS4 задействован SOCKS5. Для транспортного протокола SSU2 предложены новые реализации повторной отправки пакетов, буфера отправки, скользящего окна, таймаутов и управления перегрузкой.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск реализации анонимной сети I2P 2.4.0
  3. OpenNews: Выпуск Yggdrasil 0.5, реализации приватной сети, работающей поверх интернета
  4. OpenNews: Доступен Whonix 17, дистрибутив для обеспечения анонимных коммуникаций
  5. OpenNews: Релиз Tor Browser 13.0
  6. OpenNews: Результаты второго аудита безопасности разработок проекта Tor
Обсуждение (56 +11) | Тип: Программы |


·10.04 Проект Gentoo перешёл под крыло организации SPI (112 +17)
  Разработчики дистрибутива 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. Главная ссылка к новости
  2. OpenNews: Gentoo начал формирование бинарных пакетов для архитектуры x86-64-v3
  3. OpenNews: Дистрибутив Gentoo объявил о доступности бинарных пакетов
  4. OpenNews: Дистрибутив Gentoo начал публикацию еженедельных Live-сборок
  5. OpenNews: Организация Open Collective Foundation приняла решение о закрытии
  6. OpenNews: Отчёт SPI о пожертвованиях Debian, X.Org, systemd, FFmpeg, Arch Linux, OpenWrt
Обсуждение (112 +17) | Тип: К сведению |


·10.04 В Python добавлен JIT-компилятор (180 +46)
  Доступен альфа выпуск языка программирования Python 3.13.0a6, который примечателен включением в состав ветки 3.13, на основе которой формируется осенний стабильный релиз Python 3.13, экспериментальной реализации JIT-компилятора, позволяющего добиться существенного повышения производительности. Для включения JIT в CPython добавлена сборочная опция "--enable-experimental-jit". Для сборки CPython с JIT требуется установка LLVM в качестве дополнительной зависимости.

Процесс трансляции машинного кода в JIT построен c использованием архитектуры "Copy-and-Patch", при которой при помощи LLVM собирается объектный файл в формате ELF, содержащий данные об инструкциях байткода и информацию о необходимой замене данных. JIT заменяет сгенерированные в ходе интерпретации программы инструкции байткода на их представления в машинном коде, попутно подставляя необходимые для вычислений данные (JIT копирует готовые шаблоны уже скомпилированных функций и подставляет в них необходимые значения, такие как аргументы и константы).

Предложенный JIT примечателен очень высокой скоростью генерации кода, простотой сопровождения и полной интеграцией с интерпретатором. По сравнению с компиляцией в WebAssembly (Liftoff) новый JIT генерирует код в 5 раз быстрее, а результирующий код работает на 50% быстрее. При сравнении с традиционным JIT-инструментарием от проекта LLVM, добавленный в CPython JIT обеспечивает в 100 раз более быструю генерацию кода и на 15% более быстрый результирующий код.

  1. Главная ссылка к новости
  2. OpenNews: Для Python предложен JIT-компилятор, использующий технику copy-and-patch
  3. OpenNews: Выпуск Nuitka 2.0, компилятора для языка Python
  4. OpenNews: 7% разработчиков продолжают использовать Python 2
  5. OpenNews: Выпуск языка программирования Python 3.12
  6. OpenNews: Опубликован план избавления CPython от глобальной блокировки интерпретатора
Обсуждение (180 +46) | Тип: К сведению |


·10.04 Проект Kubuntu представил обновлённый логотип и элементы брендинга (73 +17)
  Подведены итоги конкурса среди графических дизайнеров, организованного для обновления элементов брендинга дистрибутива. В рамках конкурса предпринята попытка получить узнаваемый и современный дизайн, отражающий специфику Kubuntu, положительно воспринимаемый новичками и старыми пользователями, и гармонично сочетаемый со стилевым оформлением KDE и Ubuntu.

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









  1. Главная ссылка к новости
  2. OpenNews: Дистрибутив Kubuntu объявил конкурс по созданию логотипа и элементов брендинга
  3. OpenNews: Kubuntu переходит на использование инсталлятора Calamares
  4. OpenNews: Проект Kubuntu представил вторую модель ноутбука Kubuntu Focus
  5. OpenNews: Kubuntu прекращает подготовку сборок для 32-разрядных систем x86
  6. OpenNews: Бывший лидер Kubuntu представил проект KDE neon
Обсуждение (73 +17) | Тип: К сведению |


·10.04 Уязвимость BatBadBut, затрагивающая стандартные библиотеки различных языков программирования (62 +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. Главная ссылка к новости
  2. OpenNews: Уязвимости в просмотрщике документов Xreader, развиваемом проектом Linux Mint
  3. OpenNews: Уязвимости в LibreOffice, позволяющие выполнить скрипт или плагин Gstreamer
  4. OpenNews: Уязвимость в сетевых библиотеках языков Rust и Go, позволяющая обойти проверку IP-адресов
  5. OpenNews: Уязвимость в пакетном менеджере Composer, допускающая компрометацию PHP-репозитория Packagist
  6. OpenNews: Опасные уязвимости в системе управления конфигурацией SaltStack
Обсуждение (62 +23) | Тип: Проблемы безопасности |


·09.04 Новый вариант атаки BHI на CPU Intel, позволяющий обойти защиту в ядре Linux (123 +20)
  Группа исследователей из Амстердамского свободного университета выявила новый метод атаки "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. Главная ссылка к новости
  2. OpenNews: BHI - новая уязвимость класса Spectre в процессорах Intel и ARM
  3. OpenNews: Уязвимость в процессорах Intel, приводящая к утечке данных по сторонним каналам
  4. OpenNews: Downfall - атака на CPU Intel, приводящая к утечке данных из чужих процессов
  5. OpenNews: SLAM - атака на CPU Intel, AMD и ARM, позволяющая определить содержимое памяти
  6. OpenNews: GhostRace - атака на механизм спекулятивного выполнения в процессорах Intel, AMD, ARM и IBM
Обсуждение (123 +20) | Тип: Проблемы безопасности |


·09.04 Выпуск криптографической библиотеки OpenSSL 3.3.0 (18 +10)
  После пяти месяцев разработки сформирован релиз библиотеки OpenSSL 3.3.0 с реализацией протоколов SSL/TLS и различных алгоритмов шифрования. Поддержка OpenSSL 3.3 будет осуществляться до апреля 2026 года. Поддержка прошлых веток OpenSSL 3.2, 3.1 и 3.0 LTS продлится до ноября 2025 года, марта 2025 года и сентября 2026 года соответственно. Код проекта распространяется под лицензией Apache 2.0.

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

  • Продолжена интеграция поддержки протокола QUIC (RFC 9000), представляющего собой надстройку над протоколом UDP, используемую в качестве транспорта в протоколе HTTP/3. В новом выпуске:
    • Добавлена поддержка трассировки QUIC-соединений через ведение диагностического лога в формате qlog.
    • Добавлена поддержка полинга в неблокирующем режиме соединений QUIC и потоковых объектов.
    • Реализована возможность оптимизированной генерации кадров окончания потока для QUIC-соединений.
    • Предоставлена возможность отключения обработки событий QUIC при выполнении обращений к API.
    • Добавлена поддержка настройки таймаута неактивности для QUIC.
    • Добавлен API для запроса размера и степени заполнения буфера записи для потоков QUIC.
  • Реализованы расширения протокола управления сертификатами CMP (Certificate Management Protocol), определённые в спецификациях RFC 9480 (определение протокола CMPv3) и RFC 9483 (легковесный профиль для маломощных устройств).
  • Добавлена возможность отключения на этапе сборки использования функции atexit.
  • Добавлен вариант API SSL_SESSION, не подверженный проблеме 2038 года: добавлены функции SSL_SESSION_get_time_ex() и SSL_SESSION_set_time_ex(), использующие 64-разрядный тип time_t на 32-разрядных системах.
  • В функции EVP_PKEY_fromdata реализована возможность автоматического получения параметров китайской теоремы об остатках (CRT, Chinese Remainder Theorem).
  • Добавлена возможность игнорирования неизвестных названий алгоритмов подписей, заданных в параметрах конфигурации TLS SignatureAlgorithms и ClientSignatureAlgorithms.
  • Добавлена возможность настройки приоритетного использования PSK-ключей на сервере TLS 1.3 во время восстановления сеанса.
  • Добавлена функция EVP_DigestSqueeze(), позволяющая сократить размер хэша SHAKE (удаление старших битов), используя несколько итераций с разными размерами вывода.
  • Добавлена поддержка экспорта сборочных файлов для CMake на Unix-подобных системах и Windows (в дополнение к экспорту на базе pkg-config).
  • Внесены оптимизации производительности: Оптимизирована работа алгоритма AES-GCM на устройствах с чипами Microsoft Azure Cobalt 100. В реализации AES-CTR появилась поддержка ускорения с использованием расширений ARM Neoverse V1 и V2. Включены оптимизации AES и SHA3 для систем Apple с чипами M3. В различных криптографических функциях задействованы векторные расширения RISC-V. Добавлена ассемблерная реализация md5 для CPU Loongarch64.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск OpenSSL 3.2.0 с клиентской поддержкой протокола QUIC
  3. OpenNews: Выпуск криптографической библиотеки OpenSSL 3.1.0
  4. OpenNews: Уязвимость в OpenSSL и LibreSSL, приводящая к утечке содержимого памяти
  5. OpenNews: Выпуск криптографической библиотеки OpenSSL 3.0.0
  6. OpenNews: Представлен OpenPubKey, протокол криптографической верификации объектов
Обсуждение (18 +10) | Тип: Программы |


Следующая страница (раньше) >>



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

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