Итоговая подборка наиболее важных и заметных событий 2023 года, связанных с открытыми проектами и информационной безопасностью:
- Прекращение публикации исходных текстов пакетов дистрибутива Red Hat Enterprise Linux и оставление CentOS Stream в качестве единственного публичного источника кода пакетов RHEL. Недовольство Red Hat продуктами, создаваемыми путём простой пересборки без своих изменений. Перестроение дистрибутивов (Alma Linux, Rocky Linux, Oracle Linux), использующих пакеты RHEL. Образование ассоциации OpenELA, в которой Rocky Linux, Oracle и SUSE объединили усилия в поддержании пакетной базы, совместимой с RHEL.
- Конфликты: Критика бизнес-модели Red Hat. Попытка продвижения API Web Integrity и удаление из Chromium в ответ на опасения зарождения подобия DRM для Web. Бьёрн Страуструп против навязывания безопасных языков программирования. Отклонение патчей от Байкал Электроникс. Индейцы против Apache. Упразднение и возвращение Docker Hub Free Team.
- Компания Canonical преобразовала LXD в свой корпоративный проект. В ответ сообщество Linux Containers при участии основателей LXD создало независимый форк — Incus. После этого компания Canonical перевела проект с лицензии Apache 2.0 на лицензию AGPLv3.
- Форки: LibrePGP — форк стандарта OpenPGP от автора GnuPG. Crab — форк языка Rust. OpenTofu и OpenBao — форки Terraform и Vault, созданные после перехода HashiCorp на проприетарную лицензию.
- Поглощения и реструктуризации: SUSE преобразуют из публичной в частную компанию. Mozilla купила компанию Fakespot. Проект Nextcloud поглотил почтовый клиент Roundcube.
- Судебные разбирательства: Quad9 выиглал разбирательство c Sony о принуждении к блокировке через DNS. Завершено разбирательство между Stockfish и ChessBase о нарушении GPL.
- Авторские права: Изменение политики товарных знаков, связанных с Rust. Блокировка сайта проекта Youtube-dl. Переговоры об отчислениях правообладателям за контент, сгенерированный AI-системами.
Удаление Firefox-дополнения для обхода Paywall из-за жалобы о нарушении DMCA. Удаление эмулятора Dolphin из Steam и блокировка проекта Lockpick на GitHub
по требованию Nintendo. - Лицензии: Переход продуктов HashiCorp на проприетарную лицензию. Компилятор Cheerp переведён на лицензии Apache 2.0 и LLVM. Wikipedia переходит на лицензию CC BY-SA 4.0. Концепция Post-Open Source.
- Законы: Ответственность за ошибки в открытом коде. Влияние на СПО законопроекта Cyber Resilience Act. Законопроекты, которые могут помешать участию граждан РФ в крупных СПО-проектах.
- Платформы разработки и каталоги приложений:
Эволюционирование Flathub независимый каталог-магазин приложений.
Переход хостинга Sourceware под крыло организации SFC. Внедрение в PyPI и GitHub обязательной двухфакторной аутентификации. Поддержка OpenID Connect в PyPI и прекращение поддержки PGP-подписей. Прекращение поддержки Subversion в GitHub. Изменение контрольных сумм архивов в GitHub. - Языки программирования и компиляторы: GCC 13, LLVM 16/17, Java SE 20/21, Go 1.21, .NET 8, Perl 5.38, Julia 1.10, PHP 8.3, Ruby 3.3, V 0.4.3, Zig 0.11, Nim 2.0. Tinygo — компилятор Go на базе LLVM. Minotaur — оптимизатор для LLVM.
- Средства разработки: Система сборки Buck2.
Системы fuzzing-тестирования Snapchange и Buzzer. Система автоматизации сборочных процессов Сicada. Переход Red Hat с Bugzilla на Jira. Git 2.40—2.43. - Новые языки: Mojo, PXP (диалект PHP), Birb, Moonbit.
- Python: Python 3.12. Компиляторы Cython 3.0, Nuitka 1.7. Интерпретатор RustPython.
План избавления от глобальной блокировки. Внедрение JIT-компилятора. Интеграция Python в состав Excel. 7% разработчиков продолжают использовать Python 2. - Экспансия языка Rust: Rust 1.67 — 1.75. Добавление Rust-кода в ядро Windows 11. В Chromium разрешено использование Rust. Открытие компилятора Ferrocene. Распараллеливание компиляции.
Переписывание на Rust проектов Binder, Fish, инструментария Xen, Google pvmfm и Intel TD-Shim. Аудит Rust-пакетов. Модули на Rust для NGINX. Стабильный выпуск Sudo-rs. IDE RustRover от JetBrains. Спутник с подсистемой на Rust. Hickory DNS будет использоваться в Let’s Encrypt. - Системные компоненты: systemd 255/254/253, GRUB 2.12. Режим мягкой перезагрузки. Модернизация разбивки загрузочных разделов. Glibc 2.38. Сборка Glibc при помощи LLVM. Прекращение поддержки utmp в Glibc.
- Аппаратное обеспечение: SEF (Software Enabled Flash). Завершено RTL-проектирование OpenTitan. Vortex 2.0 (открытый GPGPU). Cascade (fuzzing-тестирование RISC-V). Raspberry Pi 5. RISE (RISC-V Software Ecosystem).
Архитектура Intel x86S. Открытые умные часы ZSWatch. - Прошивки: AMD openSIL — платформа для создания открытых прошивок. Valetudo (прошивка для роботов-пылесосов). Открытие прошивки музыкальных синтезаторов Deluge. Создание GNU Boot и его переименование в Canoeboot из-за использования чужого имени. Snagboot — инструментарий для восстановления и перепрошивки встраиваемых устройств. Coreboot 4.19—4.22. InkBox OS 2.0 для электронных книг Kobo и Kindle.
- Сетевая инфраструктура: Технология передачи данных Falcon. Fonoster (альтернатива Twilio). Стек связи с дронами WFB-ng. Wi-Fi стек OpenWifi 1.4. LTESniffer для перехвата трафика 4G LTE. SSH3. Протокол uProtocol для автомобильных сервисов. Оптимизатор трафика LibreQoS. Device Memory TCP для передачи данных между устройствами.
- Стандарты: Стандарт SQL:2023. Стандартизация сквозного шифрования MLS. Стандартизация цензуроустойчивой системы доменных имён GNS. Cтандарт для движков 3D-рендеринга ANARI.
- Механизмы защиты: CHERIoT для повышения безопасности Си-кода. Защита от анализа задержек в OpenSSH. Открыт код AMD SEV (Secure Encrypted Virtualization). Google Open Se Cura для защищённых чипов. Платформа изоляции браузера BrowserBox Pro. Консорциум для исследования безопасности ядра Linux. Отключение io_uring в ChromeOS и Android.
- ОС: ToaruOS 2.2, RT-Thread 5.0, DentOS 3.0,
Visopsys 0.92, GeckOS 2.1, Fuchsia 14, Qubes 4.2.0. - Новые дистрибутивы: Liberty Linux, форк RHEL от компании SUSE. openKylin от крупнейших китайских компаний. EB corbos Linux, редакция Ubuntu для автомобильных систем. Fedora Asahi Remix для ARM-чипов Apple. openSUSE Slowroll. openKylin 1.0 (китайский). Photon OS 5.0 (от VMware).
- Дистрибутивы: Debian 12, Ubuntu 23.04/23.10, Fedora 38/39, openSUSE Leap 15.5, RHEL 9.2/9.3, SUSE 15 SP5, OpenWrt 23.05.0, Devuan 5.0, OpenMandriva Lx 5.0, Mageia 9, openSUSE Leap Micro 5.5, Elementary OS 7.1, Whonix 17, Linux Mint 21.2, Proxmox VE 8.0, Endless OS 5.0, SUSE ALP «Piz Bernina» (Adaptable Linux Platform), WSL 2.0 (Windows Subsystem for Linux).
Новый цикл сопровождения пакетов с ядром в Ubuntu. Инсталляторы на основе web-интерфейса в Fedora и openSUSE. - Мобильные платформы: Android 14. KDE Plasma Mobile 23.01. LineageOS 20. РОСА Мобайл на базе KDE Plasma Mobile, РЕД ОС М на базе Android и ALT Mobile на базе Phosh. Ubuntu Touch OTA-3 Focal, postmarketOS 23.12, /e/OS 1.17, webOS 2.24, Phosh 0.29.0. Смартфон Liberty Phone.
- BSD: FreeBSD 14.0, OpenBSD 7.4, DragonFly BSD 6.4, MidnightBSD 3.1, helloSystem 0.8, DiscoBSD. Прекращение поддержки порта GNU/kFreeBSD в Debian.
- Управление пакетами: Вариант Ubuntu Desktop только c пакетами Snap. Бинарные пакеты в Gentoo. Прекращение поддержки Flatpak в базовой поставке официальных редакциях Ubuntu. Проект unsnap для миграции Ubuntu со Snap на Flatpak.
- Новые пользовательские окружения: Miriway, Kera Desktop. Разработка платформы KDE 6.
- Обновление пользовательских окружений: GNOME 44/45, KDE 5.27, Budgie 10.8, Regolith 3.0, Enlightenment 0.26, Cinnamon 6.0, LXQt 1.4, NsCDE 2.3, Weston 13.0, labwc 0.7, Wayfire 0.8. Новая модель управления окнами в GNOME.
- GUI и графика: GTK 4.10/4.12, Qt 6.5/6.6, Libadwaita 1.4, Louvre 1.0, SDL 2.28, Mesa 23.0—23.3. Переход GNOME Shell и Mutter на GTK4.
Работа над GTK5. Открыта графическая библиотека IGL. Система создания графических интерфейсов Slint 1.0. - Продвижение Wayland: Переход Lubuntu на Qt 6 и Wayland. Движение в сторону прекращения поддержки X11 в GNOME, KDE, Fedora и RHEL. Поддержка в IDE IntelliJ и OpenJDK. Портирование Cinnamon.
- Драйверы: NVK (Vulkan-драйвер для NVIDIA). Asahi для GPU Apple AGX. Поддержка GSP-прошивок NVIDIA в nouveau. PanCSF для GPU Mali. Продвижение драйвера Xe для GPU Intel.
- Моделирование и 3D: Blender 4.0, Открыт код системы рендеринга Dreamworks MoonRay. Движок распределённой трассировки лучей OSPRay 3.0. Продвижение FreeCAD для профессионального применения. Открыт код внутреннего форка Blender от SPA Studios. D8VK (Direct3D 8 поверх Vulkan). САПР LibrePCB 1.0, FreeCAD 0.21, CadZinho 0.3, KiCad 7.0. Альянс для продвижения технологии OpenUSD.
- Графика: Inkscape 1.3, GIMP 2.10.36/2.99.16, Darktable 4.6, Krita 5.2, Pinta 2.1. Портирование GIMP на GTK3. AMD FidelityFX Super Resolution 2.2.
- Мультимедия, видео: PipeWire 1.0.0,
FFmpeg 6.1, GStreamer 1.22.0, Kodi 20. OBS Studio 30.0 и Owncast 0.1.0. Видеоредакторы Flowblade 2.12, Shotcut 23.11, OpenShot 3.1, Pitivi 2023.03, LosslessCut 3.49.0. - Кодеки: Формат IAMF для объёмного звука.
Прекращение поддержки Theora в Chrome и Firefox. Аудиокодек Opus 1.4.
Включение aptX и aptX HD в Android. Поддержка JPEG XL в Safari и WebKit. - Игры: Открыт код игрового движка Dagor Engine, который будет использован VK в Nau Engine. Игровые движки Open 3D Engine 23.10, Minetest 5.8.0, Godot 4.0/4.1/4.2, Ambient. Открыт код игры Duelyst и новой редакции игры Quake II.
- Новые открытые проекты: Microsoft открывает код Azure RTOS и передаёт проект сообществу Eclipse. Эмулятор Blink. Яндекс открыл платформу YTsaurus. Intel открыл OpenCL CPU RT (OpenCL CPU RunTime). NVIDIA открыла RTX Remix Runtime. Twitter открыл движок рекомендаций.
- СУБД: Язык обработки данных PRQL. PayPal открыл СУБД JunoDB. AlaSQL — СУБД для браузеров и Node.js. Dragonfly 1.0 (NoSQL хранилище).
PostgreSQL 16, MySQL 8.1/8.2, SQLite 3.41 — 3.44, DuckDB 0.9, EdgeDB 4.0. Расширения SQLite: CG/SQL (хранимые процедуры), HC-tree (распараллеливание записи), CBS и sqld (облачный и серверные варианты).
OrioleDB — движок к PostgreSQL без VACUUM. FerretDB 1.0 — реализации MongoDB на базе PostgreSQL. - Web: JavaScript-платформы Bun 1.0 и Node.js 21/20. Сheerp 3.0, компилятор C/C++ в JavaScript. Wasmer 4.0, инструментарий для WebAssembly.
- Браузеры: Midori 11, Pulse Browser, Tor Browser 13.0, Wolvic 1.5, qutebrowser 3.0, Nyxt 3.0.0, Tangram 2.0, Openra One, NetSurf 3.11.
Новые браузеры Mullvad (от Tor и Mullvad VPN), Carbonyl и Thorium 110. Возобновлена разработка Servo. Разделение браузера и интерфейса в ChromeOS. - Mozilla: AI-бот MemoryCache. Каталог дополнений для Android-версии Firefox. Переход с Mercurial на Git. Запуск социальной сети. Firefox 109—121: вырезание параметров отслеживания из URL,
машинный перевод, ECH для скрытия домена в HTTPS-трафике, доп. защита от скрытой идентификации, импорт дополнений из других браузеров, автозакрытие запросов Cookie, удаление XUL Layout, ускорение для GPU NVIDIA, включение Wayland. - Chrome: JIT-компилятор Maglev. Thorium — более быстрый форк Chromium. Подготовка к блокировке сторонних Cookie. Форсирование HTTPS. Шифрование, устойчивое к подбору на квантовых компьютерах. Поддержка WebGPU. Режим скрытия IP-адреса. Сокращение цикла релизов. Поддержка MathML. Chrome 109—120.
- Распределённые и P2P системы: Коммуникационная платформа Jami Vilagfa. PeerTube 6.0. Хранилище Apache Pinot 1.0. Поддержка вещания в режиме P2P в OBS Studio. Браузер CENO 2.0, использующий P2P-сеть. Открыт код реализации MeshNet.
- Машинное обучение: Оптимизатор моделей OpenXLA. BlenderGPT. Mozilla.ai. Модель для синтеза 3D-изображений. Stable Video Diffusion, Video-LLaVA и Kandinsky Video для синтеза видео. Llamafile для упаковки моделей в исполняемые файлы. Модель векторного представления смысла текста Jina Embedding. Удаление фона с изображений и видео. Открытый набор данных RedPajama. OpenChatKit, FlexGen, Open-Assistant для создания чатботов. AI Alliance для совместного развития открытых AI-технологий.
- Файловые системы: Composefs, OpenZFS 2.2, Puzzlefs от Cisco, HAMMER2 для NetBSD и FreeBSD. Уход сопровождающего XFS. Перевод ReiserFS в разряд устаревших. Продвижение Bcachefs. Проблемы с XFS, OpenZFS и Ext4.
- Виртуализация, эмуляция и контейнеры: MicroCloud от Canonical. Системы контейнеров Finch 1.0 (от Amazon), Incus (форк LXD), LXD 5.17, Bottlerocket 1.15.0, Firejail 0.9.72, Bubblewrap 0.8, Kata Containers 3.2. Xen 4.18.
Intel прекратил разработку гипервизора HAXM (Hardware Accelerated Execution Manager). QEMU 8.0—8.2. - Серверные приложения: ClamAV 1.1/1.2, Postfix 3.8.0, Exim 4.97, nginx 1.24, OpenSSH 9.2—9.5, Samba 4.18/4.19, OpenVPN 2.6. VPN Rosenpass.
Кэширующий сервер Passim. IMAP-библиотека Gluon - Ядро Linux: Система автоматической оптимизации параметров ядра. Отслеживание переохлаждения системы. Удаление UMS (Userspace Mode-Setting). Cистемный вызов cachestat. Ядра 6.6 и 6.1 получили статус LTS, ядро 6.1 будет поддерживаться 10 лет. Упрощённое Linux-совместимое ядро Tilck. Выгорание сопровождающих.
- Основные изменения в ядре:
- 6.2: разрешён приём кода под лицензией Copyleft-Next, улучшена реализация RAID5/6 в Btrfs, продолжена интеграция поддержки языка Rust, снижены накладные расходы при защите от атак Retbleed, добавлена возможность регулирования потребления памяти при отложенной записи, для TCP добавлен механизм балансировки PLB (Protective Load Balancing), добавлен гибридный механизм защиты потока выполнения команд (FineIBT), в BPF появилась возможность определения собственных объектов и структур данных, в состав включена утилита rv (Runtime Verification), снижено энергопотребление в реализации блокировок RCU.
- 6.3: чистка устаревших ARM-платформ и графических драйверов, продолжение интеграции поддержки языка Rust, утилита hwnoise, поддержка древовидных структур red-black в BPF, режим BIG TCP для IPv4, встроенный тест производительности Dhrystone, возможность запрета исполнения в memfd, поддержка создания HID-драйверов, используя BPF, в Btrfs приняты изменения для уменьшения фрагментации групп блоков.
- 6.4: возможность создания kernel worker из пространства пользователя, продолжение интеграции поддержки языка Rust, поддержка механизма Intel LAM (Linear Address Masking), дедупликация страниц памяти на уровне процессов, поддержка привычных итераторов в BPF, поддержка перехода в спящий режим для систем RISC-V, возможность трассировки пользовательских процессов, новый механизм управления памятью модулей ядра, запрет отключения SELinux во время работы, поддержка шифрования RPC-пакетов NFS, удаление SLOB slab allocator.
- 6.5: поддержка механизма управления питанием Intel TPMI, системный вызов cachestat, продолжение интеграции поддержки языка Rust, поддержка протокола Unaccepted Memory, поддержка векторных инструкций RISC-V, механизм «fprobe-events», перевод в разряд устаревших механизма распределения памяти SLAB, режим «data-only» в Overlayfs, режим монтирования «beneath».
- 6.6:
новый планировщик задач EEVDF; механизм теневого стека для защиты от эксплоитов; поддержка fs-verity в OverlayFS; реализация квот и xattr в tmpfs; подготовка online fsck в XFS; усилено отслеживание экспорта символов «GPL-only»; поддержка сетевых сокетов в io_uring; рандомизация памяти в kmalloc(); объявлена устаревшей ReiserFS; в Nouveau добавлены примитивы для Vulkan-драйвера NVK.
- Шифрование: Протокол криптографической верификации OpenPubKey. Включение TLSv1.3 в nginx. Полнодисковое шифрование в Ubuntu. Шифрование ФС по умолчанию в Fedora.
VeraCrypt 1.26, OpenSSL 3.1/3.2, Botan 3.0. Расширение для координации обновления сертификатов Let’s Encrypt. - Проблемы с криптографией: Воссоздание RSA-ключей через анализ SSH-соединений. Оптимизация факторизации RSA-2048 на квантовом компьютере. Расшифровка RSA на основе измерения времени операций. Атака на крипточипы TPM 2.0. Запрет изменения сертификатов в Android. Воссоздание ключей по LED-индикатору.
- Уязвимости в процессорах и оборудовании: Downfall, SLAM, Reptar, CacheWarp, Inception, Zenbleed, EFLAGS, iLeakage, PMFault, GPU.zip. Проблема в CPU AMD при делении на ноль. Зависание CPU AMD после 1044 дней. Бэкдор в прошивках Gigabyte. 29 уязвимостей в процессорах RISC-V. Уязвимости в прошивках AMI MegaRAC.
- Методы атак: SMTP Smuggling (спуфинг почтовых сообщений), Mayhem (обход аутентификации в sudo и OpenSSH), LogoFAIL (подстановка вредоносных логотипов в UEFI-прошивки), BLUFFS (MITM в Bluetooth), MaginotDNS (подмена данных в кэше DNS), TunnelCrack (перехват трафика VPN), RepoJacking (захват проектов на GitHub), BrutePrint (разблокировка Android-смартфона), MacStealer (перехват трафика Wi-Fi), Terrapin (MITM на SSH). Атака на протокол HTTP/2. Обход шифрования диска через непрерывное нажатие Enter. Применение атаки Rowhammer для создания уникальных идентификаторов. Подстановка нажатий клавиш через Bluetooth.
- Исследования: Анализ утечек на смартфонах Realme, Xiaomi и OnePlus. Метод эксплуатации разыменования NULL-указателей в ядре Linux. Определение контуров предметов за стеной через Wi-Fi. Зависимость времени выполнения инструкций от данных в CPU. Определение местоположения через анализ задержек в доставке SMS. Определение текста по звуку набора на клавиатуре. Проблемы со старыми зависимостями.
- Локальные уязвимости: ядро Linux (nftables (1, 2), eBPF, ipset, skb, exFAT, netfilter, tcindex, VMA, io_uring, защита от Spectre v2, QoS), Glibc ld.so,
NTFS-драйвер GRUB, OpenOffice, LibreOffice, Xreader, X.Org Server, libX11, GCC, openSUSE-welcome, Ubuntu OverlayFS, OverlayFS, sudo. - Удалённые уязвимости: ядро Linux (NVMe-oF/TCP, ksmbd, IPv6-стек), strongSwan IPsec, Exim, oFono, ClamAV, OpenSSH (1, 2, ssh-agent), Buildroot, Git (1, 2, 3), OpenSSL, GStreamer, Zephyr RTOS, OpenVPN, SoftEther VPN, ingress-nginx, VLC, Squid, libcue (атака через GNOME), libvpx (атака через браузеры), libwebp (атака через браузеры и LibreOffice), GitLab (1, 2, 3), FreeBSD pf, Python, PHP, Cargo (1, 2), VitualBox, Redis, Asterisk, Mastodon, nginx, I2P, Tor, cpdb-libs, cups-filters, Apache OpenMeetings, Warpinator, Ghostscript, Flatpak, Home Assistant, Wasmtime, ImageMagic, Ruby on Rails, Hyper.
- Взломы: MongoDB, Sourcegraph, Kodi, Inkscape, Ledger, LastPass, Slack, CircleCI и Rackspace, Reddit.
- Приватность: Телеметрия в Go и Fedora. Результаты сбора телеметрии в GNOME.
Проблемы в автомобильных информационных системах. 67% Apache Superset используют ключ из примеров. Восстановление кадрированных скриншотов. - Уязвимости в маршрутизаторах и оборудовании: Barracuda ESG, Netgear, D-Link, MikroTik, ASUS, Juniper, Tenda, Samsung Exynos, Cisco IOS XE, Cisco Small Business, Zyxel, Canon. Перехват трафика беспроводных точек доступа.
- Продолжение выявления вредоносных пакетов в репозиториях и каталогах NPM, PyPI, Ubuntu Snap Store. Захват проектов в PyPI и Packagist. Ключи доступа, забытые в PyPI (1, 2) и GitHub.
- Атаки на инфраструктуры: Захват ключей для подписи приложений GitHub. Утечка Git-репозиториев Яндекс. Перехват шифрованного трафика jabber.ru и xmpp.ru. Вредоносная зависимость в PyTorch. Утечка закрытых ключей Intel. Утечка данных 37 млн клиентов T-Mobile из-за уявимости в API. Фишинг KeePass. Атака на регистраторов, позволившая захватить контроль над 19 доменами первого уровня.
- Инциденты: Узявимость из-за патчей Ubuntu к OverlayFS.
Публикация в публичном репозитории хостового SSH-ключа GitHub. Ложные отчёты об уязвимостях. Бэкдор в deb-пакетах Free Download Manager. Подстановка непристойных выражений в инсталлятор Ubuntu 23.10. Эксплоит rkvdec с вредоносным кодом.
За год на OpenNET было опубликовано 1478 новостей, на которые было оставлено 162 тысячи комментариев. Осенью 2023 года проекту OpenNET исполнилось 27 лет.
Источник: http://www.opennet.ru/opennews/art.shtml?num=60367