· | 06.06 | В ОС Redox появилась поддержка X11, GTK 3 и Mesa3D EGL (146 +15) |
Разработчики операционной системы Redox, написанной с использованием языка Rust и концепции микроядра, объявили о реализации поддержки протокола X11 в развиваемом проектом дисплейном сервере Orbital, использующем библиотеку iced. Добавленная возможность позволяет запускать в Redox приложения, использующие X11, без внесения изменений в код. Реализация поддержки X11 в Orbital концептуально напоминает применение XWayland в окружениях на базе Wayland. Реализация также использует бэкенд DRI для повышения производительности отрисовки, в котором пока не полностью реализована поддержка аппаратного ускорения графики.
![]() Из связанных с графическим стеком достижений также отмечается реализация поддержки библиотеки GTK 3 в Redox и обеспечение поддержки Mesa EGL (libEGL), которая позволила ускорить отрисовку X11-приложений. Отдельно развивается проект по портированию поддержки Wayland в Redox. Предполагается, что созданный для запуска X11-приложений код в дальнейшем будет задействован в реализации поддержки Wayland. ![]() Операционная система Redox развивается в соответствии с философией Unix и заимствует некоторые идеи из SeL4, Minix и Plan 9. Redox использует концепцию микроядра, при котором на уровне ядра обеспечивается только взаимодействие между процессами и управление ресурсами, а вся остальная функциональность вынесена в библиотеки, которые могут использоваться как ядром, так и пользовательскими приложениями. Все драйверы выполняются в пространстве пользователя в изолированных sandbox-окружениях. Проектом развивается собственный пакетный менеджер, набор стандартных утилит (binutils, coreutils, netutils, extrautils), командная оболочка ion, стандартная Си-библиотека relibc, vim-подобный текстовый редактор sodium, сетевой стек и файловая система. Конфигурация задаётся на языке Toml. Для совместимости с существующими приложениями предоставляется POSIX-прослойка, позволяющая запускать многие программы без портирования. Протестировать Redox можно воспользовавшись ежедневно обновляемыми сборками для виртуальных машин и реального оборудования (aarch64, i686, riscv64gc, x86_64). Среди поддерживаемого оборудования отмечены устройства ввода с интерфейсом USB (клавиатуры, мыши, тачпады), вывод графики через API VESA BIOS или UEFI GOP (драйверы для GPU не поддерживаются), звуковые чипы AC’97 и Intel HD Audio, SATA (AHCI, IDE) и NVMe. Поддержка Wi-Fi и устройств хранения с интерфейсом USB пока не доведена до готовности.
| ||
Обсуждение (146 +15) |
Тип: К сведению |
| ||
· | 06.06 | Выпуск графического тулкита wxWidgets 3.3.0 (126 +16) |
После трёх лет разработки опубликован выпуск кроссплатформенного тулкита wxWidgets 3.3.0, позволяющего создавать графические интерфейсы для Linux, Windows, macOS, UNIX-подобных систем и мобильных платформ. Тулкит написан на языке С++ и распространяется под свободной лицензией wxWindows Library License, одобренной Фондом СПО и организацией OSI. Лицензия основана на LGPL и позволяет задавать собственные условия для распространения производных работ в бинарной форме.
Помимо поддержки С++ в wxWidgets предоставляются обвязки для большинства популярных языков программирования, в числе которых PHP, Python, Perl, Haskell и Ruby. Интерфейс в приложениях, использующих wxWidgets, имеет родной для целевой системы внешний вид, благодаря использованию системных API, а не имитации GUI. wxWidgets 3.3.0 позиционируется как ветка для разработчиков, в которой развиваются новые возможности для следующего стабильного релиза 3.4.0. При этом ветка wxWidgets 3.3.0 отмечена как пригодная для использования в рабочих проектах - отличие от стабильных веток в том, что в промежуточных выпусках веток для разработчиков допускается внесение в ABI и API изменений, нарушающих совместимость. Нарушающие совместимость изменения носят единичный характер и в целом ветка 3.3 почти полностью совместима с wxWidgets 3.2 на уровне API. Основные новшества:
| ||
Обсуждение (126 +16) |
Тип: Программы |
| ||
· | 05.06 | Уязвимость в Python-модуле TarFile, допускающая запись в любые части ФС (34 +11) |
Во входящем в штатную поставку Python модуле tarfile, предоставляющем функции для чтения и записи tar-архивов, выявлено пять уязвимостей, одной из которых присвоен критический уровень опасности. Уязвимости устранены в выпусках Python 3.13.4 и 3.12.11. Наиболее опасная уязвимость (CVE-2025-4517) даёт возможность при распаковке специально оформленного архива записать файлы в любую часть файловой системы. В системных скриптах, использующих tarfile и запускаемых с правами root (например, в утилитах для работы с пакетами и изолированными контейнерами), уязвимость может применяться для повышения своих привилегий или выхода за пределы изолированного контейнера.
Уязвимость затрагивает проекты, в которых модуль tarfile применяется для распаковки не заслуживающих доверия tar-архивов, используя функцию TarFile.extractall() или TarFile.extract() с параметром "filter=", выставленным в значение "data" или "tar". Уязвимость вызвана некорректной обработкой последовательности ".." в имени ссылки. Проблема затрагивает версии Python начиная с 3.12. Режим 'filter="data"' применяется по умолчанию в ветке Python 3.14, находящейся в разработке (релиз намечен на осень). Другие уязвимости в TarFile:
| ||
Обсуждение (34 +11) |
Тип: Проблемы безопасности |
| ||
· | 05.06 | Canonical прекратит поддержку Bazaar в платформе Launchpad (90 +9) |
Компания Canonical анонсировала прекращение поддержки системы управления версиями Bazaar в платформе Launchpad, применяемой в процессе разработки Ubuntu для совместной работы с кодом, отслеживания ошибок, рецензирования изменений, сборки и размещения пакетов. Изначально платформа Launchpad поддерживала управление версиями только через систему Bazaar. В 2015 году в Launchpad была добавлена поддержка Git, которая со временем стала основной системой управления изменениями в коде.
Последний выпуск Bazaar был опубликован компанией Canonical в 2016 году, после чего разработка затормозилась и проект так и не был портирован на Python 3 (выпуск Bazaar 2.8, в котором ожидался переход на Python 3, так и остался в планах). Отмечается, что Bazaar и Git обладают схожей функциональностью и после повсеместного распространения Git и снижения популярности Bazaar, нет смысла продолжать предоставлять хостиг репозиториев Bazaar в Launchpad. Поддержание на плаву подобного хостинга требует значительных ресурсов на разработку и инфраструктуру, которые можно будет потратить на более полезные вещи. В 2018 году заинтересованные в Bazaar энтузиасты основали форк - Breezy (brz), в котором было выполнено портирование на Python 3 и добавлена опциональная поддержка формата хранилища Git. Breezy сочетает в себе возможности децентрализованных (git/hg) и централизованных систем управления версиями (cvs/svn), и поддерживает такие возможности, как извлечение (checkout) содержимого репозитория в стиле Subversion, отдельные ветки для работы над новыми функциями в стиле Mercurial и возможность совместной работы нескольких разработчиков с одной рабочей копией репозитория по аналогии с Git. Система продолжает активно развиваться - свежий выпуск Breezy 3.3.12 был опубликован две недели назад. Прекращение поддержки Bazaar в Launchpad будет осуществлено в две стадии. На первой стадии в Launchpad будет отключён web-фронтэнд, применяемый для навигации по коду в репозиториях Bazaar. Анализ логов показал, что подобным интерфейсом уже почти никто не пользуется, а почти все запросы связаны с активностью ботов. На второй стадии будет отключён бэкенд хостинга кода, что приведёт к невозможности совершения операций pull, push и merge с размещавшимися в Launchpad репозиториями Bazaar. Дата запуска первой стадии пока не определена (сказано - в ближайшее время). Вторая стадия намечена на 1 сентября 2025 года. До 1 сентября пользователям Launchpad следует перевести свои репозитории с Bazaar на Git.
| ||
Обсуждение (90 +9) |
Тип: К сведению |
| ||
· | 05.06 | Выпуск интегрированного набора интернет-приложений SeaMonkey 2.53.21 (23 +13) |
Опубликован выпуск набора интернет-приложений SeaMonkey 2.53.21, объединяющего в одном продукте web-браузер, почтовый клиент, клиент NNTP-конференций, систему агрегации новостных лент (RSS/Atom) и WYSIWYG-редактор html-страниц Composer. В форме предустановленных дополнений предлагаются IRC-клиент ChatZilla, набор средств для web-разработчиков DOM Inspector и календарь-планировщик Lightning. В новый выпуск перенесены исправления и изменения из актуальной кодовой базы Firefox (SeaMonkey 2.53 основан на браузерном движке Firefox 60.8 с портированием связанных с безопасностью исправлений и некоторых улучшений из актуальных веток Firefox).
Среди изменений в новой версии:
| ||
Обсуждение (23 +13) |
Тип: Программы |
| ||
· | 04.06 | Опубликован дистрибутив Rocky Linux 9.6 (69 +5) |
Представлен релиз дистрибутива Rocky Linux 9.6, нацеленного на создание свободной сборки RHEL, способной занять место классического CentOS. Дистрибутив бинарно совместим с Red Hat Enterprise Linux и может использоваться в качестве замены RHEL 9.6 и CentOS 9 Stream. Поддержка ветки Rocky Linux 9 будет осуществляться до 31 мая 2032 года. Установочные iso-образы Rocky Linux подготовлены для архитектур x86_64, aarch64, ppc64le и s390x (IBM Z). Дополнительно предложены live-сборки с рабочими столами GNOME, KDE, Cinnamon и Xfce, опубликованные для архитектуры x86_64.
Как и в классическом CentOS внесённые в пакеты Rocky Linux изменения сводятся к избавлению от привязки к бренду Red Hat и удалению специфичных для RHEL пакетов, таких как redhat-*, insights-client и subscription-manager-migration*. С обзором списка изменений в Rocky Linux 9.6 можно познакомиться в анонсе RHEL 9.6. Среди специфичных для Rocky Linux изменений можно отметить поставку в отдельном репозитории plus пакетов openldap 2.6.8, PyQt-builder 1.12.2 и spirv-headers 1.5.5, а в репозитории NFV пакетов для виртуализации компонентов сетей, развиваемый SIG-группой NFV (Network Functions Virtualization). В Rocky Linux также поддерживаются репозитории CRB (Code Ready Builder с дополнительными пакетами для разработчиков, пришёл на смену PowerTools), RT (пакеты для работы в режиме реального времени), HighAvailability, ResilientStorage, SAP и SAPHANA (пакеты для SAP HANA). Добавлен экспериментальный пакет с ядром Linux - kernel-uki, предоставляющий унифицированный образ UKI (Unified Kernel Image), заверенный отдельным ключом для SecureBoot. В качестве источника исходных пакетов при формировании Rocky Linux 9.6 задействован репозиторий OpenELA, поддерживаемый совместно с Oracle и SUSE. Изменение процессов разработки обусловлено прекращением размещения компанией Red Hat исходных текстов rpm-пакетов RHEL в публичном репозитории git.centos.org. Исходные пакеты предоставляются клиентам компании только через закрытый раздел сайта, на котором действует пользовательское соглашение (EULA), запрещающее редистрибуцию данных, что не позволяет использовать эти пакеты для создания производных дистрибутивов. Исходные тексты остаются доступны в репозитории CentOS Stream, но он полностью не синхронизирован с RHEL и в нём не всегда самые свежие версии пакетов совпадают с пакетами из RHEL. Дистрибутив Rocky Linux развивается под покровительством организации Rocky Enterprise Software Foundation (RESF), которая зарегистрирована как общественно-полезная корпорация (Public Benefits Corporation), не нацеленная на получение прибыли. Владельцем организации является Грегори Курцер (Gregory Kurtzer), основатель CentOS, но функции управления в соответствии с принятым уставом делегированы совету директоров, в который сообществом избираются участники, вовлечённые в работу над проектом. Параллельно для развития расширенных продуктов на базе Rocky Linux и поддержки сообщества разработчиков данного дистрибутива создана коммерческая компания Ctrl IQ, которая получила 26 млн долларов инвестиций. К разработке и финансированию проекта присоединились такие компании, как Google, Amazon Web Services, GitLab, MontaVista, 45Drives, OpenDrives и NAVER Cloud.
| ||
Обсуждение (69 +5) |
Тип: Программы |
| ||
· | 04.06 | Стратегия развития проекта Fedora до 2028 года (104 +3) |
Мэттью Миллер (Matthew Miller), лидер проекта Fedora, опубликовал стратегию развития Fedora, определяющую цели и задачи на ближайшие три года. Отмечены следующие направления, на которых будет сфокусировано внимание проекта:
В ближайшие месяцы планируют запустить 4 инициативы:
На следующем этапе начнётся работа над инициативами:
| ||
Обсуждение (104 +3) |
Тип: Обобщение |
| ||
· | 04.06 | Опубликована децентрализованная видеовещательная платформа PeerTube 7.2 (90 +18) |
Опубликован выпуск платформы PeerTube 7.2, предназначенной для создания независимых децентрализованных систем видеохостинга и видеовещания, альтернативных таким сервисам, как YouTube, Dailymotion и Vimeo. Создаваемая при помощи PeerTube сеть распространения контента основывается на связывании браузеров посетителей между собой и использовании P2P-коммуникаций. Код проекта распространяется под лицензией AGPLv3.
PeerTube даёт возможность запустить собственный сервер для распространения видео и подключить его к общей федеративной сети. Посетители участвуют в доставке контента и имеют возможность подписки на каналы и получения уведомлений о новых видео, независимо от того, какой именно сервер они используют. Федеративная сеть PeerTube образуется как содружество связанных между собой небольших серверов хостинга видео, на каждом из которых имеется свой администратор и приняты свои правила. Для взаимодействия серверов в федеративной сети применяется протокол ActivityPub. Идентификатор пользователя формируются как "@имя_пользователя@домен_сервера". При просмотре видео данные по возможности загружаются через обращение к браузерам других посетителей, просматривающих тот же контент. Если запрошенное видео никто не просматривает, отдача организуется сервером, на который загружено видео (используется протокол WebSeed). Помимо распределения трафика между пользователями, просматривающими видео, PeerTube позволяет серверам кэшировать видео других авторов. Таким образом формируется распределённая сеть не только из клиентов, но и из серверов, а также обеспечивается отказоустойчивость. Кроме распространения готового видео имеется поддержка потокового вещания (live streaming) с доставкой контента в режиме P2P. Для управления стримингом могут использоваться типовые программы, такие как OBS. Для начала вещания через PeerTube пользователю необходимо загрузить на один из серверов видеоролик, описание и набор тегов. После этого ролик станет доступен во всей федеративной сети, а не только на сервере первичной загрузки. Для работы с PeerTube и участия в распространении контента достаточно обычного браузера. Распространять видео с использованием P2P-коммуникаций можно добавив на свой сайт специальный виджет со встроенным web-плеером, по аналогии с тем как на страницы встраиваются ролики с YouTube. Отслеживать появление видео можно через подписку на выбранные видеоканалы в федеративных социальных сетях (например, в Mastodon и Pleroma) или через RSS. В настоящее время в федеративную сеть входит 1357 серверов, поддерживаемых добровольцами и организациями. Если пользователя не устраивают правила размещения видео на определённом сервере PeerTube, он может подключиться к другому серверу или запустить свой собственный сервер. Для быстрого развёртывания сервера предоставляется преднастроенный образ в формате Docker (chocobozzz/peertube). Изначально платформа PeerTube основывалась на применении BitTorrent-клиента WebTorrent, запускаемого в браузере и использующего технологию WebRTC для организации прямого P2P-канала связи между браузерами. Позднее вместо WebTorrent был задействован протокол HLS (HTTP Live Streaming) в связке с WebRTC, позволяющий адаптивно управлять потоком в зависимости от полосы пропускания. Web-интерфейс построен с использованием фреймворка Angular. Основные новшества PeerTube 7.2:
| ||
Обсуждение (90 +18) |
Тип: Программы |
| ||
· | 04.06 | Сравнение производительности СУБД Valkey и Redis (125 +26) |
Представлены результаты тестирования свежих выпусков СУБД Redis 8.0 и Valkey 8.1, в которых были заявлены значительные оптимизации производительности. Во всех проведённых тестах развиваемый сообществом форк обогнал оригинальный проект, в основном благодаря внедрению в Valkey нового механизма для многопоточной обработки ввода/вывода в асинхронном режиме, переданного проекту компанией Amazon.
В тестовом окружении AWS Graviton4 c8g.2xlarge с 8 VCPU в Valkey 8.1.1 удалось добиться производительности в 999.8 тысяч SET-запросов в секунду, в то время как в Redis 8.0 был достигнут уровень в 729.4 тысяч запросов в секунду. В общем виде пропускная способность Valkey оказалась выше Redis на 37% для операций SET и на 16% для GET. При этом по сравнению с Redis проект Valkey продемонстрировал снижение задержек при обработке запросов на 30% для операций SET и на 60% для операций GET. ![]() Отдельно проведён анализ изменения пропускной способности и задержек в зависимости от числа параллельно выполняемых обработчиков в режиме многопоточной обработки ввода/вывода. До 3 потоков Valkey и Redis показывают примерно равные результаты, но затем вперёд вырывается Valkey. При 6 потоках на системе с 8 VCPU производительность Valkey составила 678 тысяч SET-запросов в секунду, а Redis - 563 тысячи запросов в секунду при лимите в 256 одновременных соединений. При увеличении соединений до 400 производительность Valkey выросла до 832 тысяч SET-запросов в секунду. ![]() После оптимизации обработки прерываний в системе для снижения числа переключения контекста в Valkey удалось поднять производительность до 999.8 тысяч SET-запросов в секунду. Суть оптимизации свелась к выделению 2 VCPU для обработки прерываний и привязки 6 оставшихся VCPU к потокам обработки ввода/вывода Valkey и Redis, чтобы исключить миграцию обработчиков между CPU. sudo ethtool -L ens34 combined 2 # ограничиваем до 2 число обработчиков IRQ grep ens34 /proc/interrupts # смотрим какие обработчики задействованы (99 и 100) echo 1 | sudo tee /proc/irq/99/smp_affinity # привязываем обработчик 99 к ядру 1 echo 2 | sudo tee /proc/irq/100/smp_affinity # привязываем обработчик 100 к ядру 2 # Запускаем СУБД (для Redis поменять valkey/valkey:8.1.1 на redis:8.0) c привязкой контейнера к ядрам CPU 2-7 docker run --network="host" --rm \ --cpuset-cpus="2-7" valkey/valkey:8.1.1 \ --save "" --appendonly no --io-threads 6 \ --protected-mode no --maxmemory 10gb Для тестирования производительности использовалась команда: docker run --network="host" --rm --cpuset-cpus="2-7" \ valkey/valkey:8.0.1 valkey-benchmark \ -h 172.31.4.92 -p 6379 -t SET,GET -n 100000000 -c 256 \ -r 3000000 --threads 6 -d 1024
| ||
Обсуждение (125 +26) |
Тип: Обобщение |
| ||
· | 03.06 | Обновление VirtualBox 7.1.10 (36 +8) |
Компания Oracle опубликовала корректирующий релиз системы виртуализации VirtualBox 7.1.10, в котором отмечено 9 изменений.
| ||
Обсуждение (36 +8) |
Тип: Программы |
| ||
· | 03.06 | Выпуск мобильной платформы /e/OS 3.0 (95 +15) |
Опубликован выпуск мобильной платформы /e/OS 3.0, сфокусированной на конфиденциальности пользовательских данных. Платформа основана Гаэлем Дювалем (Gaël Duval), создателем дистрибутива Mandrake Linux. Проект поддерживает 221 модель смартфонов и формирует сборки прошивок для наиболее популярных из них. На базе смартфонов OnePlus, Fairphone, Teracube и Pixel подготовлены собственные редакции устройств, распространяемые с предустановленной прошивкой /e/OS под брендами Murena One, Murena 2, Murena Fairphone 4/5, Murena Teracube 2e и Murena Pixel 5/7.
Прошивка /e/OS развивается как ответвление от платформы LineageOS (на базе Android), избавленное от привязки к сервисам и инфраструктуре Google для исключения передачи телеметрии на серверы Google и повышения уровня конфиденциальности. Среди прочего, блокируется и неявная отправка информации, например, обращения к серверам Google при проверке доступности сети, резолвинге DNS и определении точного времени. В поставку входит пакет microG, предлагающий независимые аналоги сервисов Google, что позволяет обойтись без установки проприетарных компонентов. Для определения местоположения по Wi-Fi и базовым станциям (без GPS) прослойка UnifiedNlp, способная работать через BeaconDB, OpenWlanMap, openBmap, OpenCellID, lacells.db и другие альтернативные сервисы. Вместо поисковой системы Google предлагается метапоисковый сервис Murena Find на основе поискового движка Qwant. метапоисковый сервис на основе форка движка Searx, анонимизирующий отправляемые запросы. Для синхронизации точного времени вместо обращения к NTP-серверу Google запросы отправляются на серверы из коллекции NTP Pool, а вместо DNS-серверов Google (8.8.8.8) используются DNS-серверы текущего провайдера. В web-браузере по умолчанию включён блокировщик рекламы и скриптов для отслеживания перемещений. Для синхронизации файлов и данных приложений разработан собственный сервис, совместимый с инфраструктурой на основе Nextcloud. Серверные компоненты основаны на открытом ПО и доступны для установки на подконтрольных пользователю системах. Интерфейс пользователя включает собственное окружение для запуска приложений BlissLauncher, улучшенную систему уведомлений, новый экран блокировки и иное стилевое оформление. В BlissLauncher задействован разработанный для /e/OS набор автоматически масштабируемых пиктограмм и отдельная подборка виджетов (например, виджет для показа прогноза погоды). Проектом также развивается собственный менеджер аутентификации, позволяющий использовать для всех сервисов единую учётную запись (user@murena.io), регистрируемую в процессе первой установки. Учётную запись можно использовать для получения доступа к своему окружению с других устройств или через Web. В облаке Murena Cloud бесплатно предоставляется 1ГБ для хранения своих данных, синхронизации приложений и резервных копий. Среди входящих в состав приложений: почтовый клиент Mail (форк K9-Mail), web-браузер Cromite, (на базе Chromium), программа для работы с камерой OpenCamera, программа для отправки мгновенных сообщений QKSMS, система для ведения заметок nextcloud-notes, PDF-просмотрщик MJ PDF, планировщик opentasks, программа для работы с картами Magic Earth, галерея фотографий gallery3d, файловый менеджер, каталог приложений App Lounge. ![]() ![]() Основные изменения в /e/OS 3.0:
| ||
Обсуждение (95 +15) |
Тип: Программы |
| ||
· | 03.06 | Релиз мобильной платформы Ubuntu Touch OTA-9 Focal (24 +13) |
Представлена прошивка OTA-9 Focal (over-the-air), развиваемая проектом UBports, взявшим в свои руки разработку мобильной платформы Ubuntu Touch, после того как от неё отстранилась компания Canonical. Это восьмой выпуск Ubuntu Touch, основанный на пакетной базе Ubuntu 20.04. Проектом также развивается экспериментальный порт рабочего стола Unity 8, который переименован в Lomiri.
Обновление Ubuntu Touch OTA-9 Focal в ближайшие дни будет сформировано для устройств Asus Zenfone Max Pro M1, F(x)tec Pro1 X, Fairphone 3/3+/4, Google Pixel 3a/3a XL, JingPad A1, Oneplus 5/5T/6/6T, OnePlus Nord N10 5G/N100, Sony Xperia X, Vollaphone X/22/X23 и Xiaomi Poco X3 NFC / X3, Xiaomi Poco M2 Pro, Xiaomi Redmi Note 9 Pro/Pro Max/9S, Volla Phone Quintus и Volla Tablet. По сравнению с прошлым выпуском добавлены сборки для устройств Lenovo Tab M10 HD 2nd Gen и Xiaomi Redmi 9/9 Prime. При разработке нового выпуска основная работа была сосредоточена на подготовке к переходу на более новую LTS-ветку Ubuntu. Среди изменений в Ubuntu Touch OTA-9 Focal:
![]() ![]()
| ||
Обсуждение (24 +13) |
Тип: Программы |
| ||
· | 03.06 | Facebook и Yandex использовали свои Android-приложения для деанонимизации сеансов в браузерах (427 +62) |
Компании Meta* и Yandex уличили в скрытом отслеживании пользователей и манипуляциях для обхода предоставляемых браузерами средств обеспечения конфиденциальности, таких как режим инкогнито и возможность очистки Cookie. Активность по деанонимизации сеансов применялась на платформе Android при открытии сайтов, использующих системы web-аналитики Яндекс Метрика или Facebook Pixel.
Суть использованного метода идентификации сводится к тому, что распространяемые Meta и Yandex мобильные приложения для Android, такие как Facebook, Instagram, Yandex Maps, Yandex Navigator, Yandex Search, Yandex Go: Taxi Food и Yandex Browser, создавали дополнительный канал связи с выполняемым в браузере JavaScript-кодом. Мобильные приложения запускали отдельные обработчики соединений на локальном сетевом интерфейсе (127.0.0.1), принимающие запросы по протоколам HTTP, HTTPS, WebSocket и WebRTC. ![]() При открытии в браузере сайтов, использующие системы web-аналитики Yandex Metric или Facebook Pixel, связанный с данными системами JavaScript-код отправлял запросы на открытые мобильными приложениями сетевые порты. В запросах передавались метаданные, Cookie и управляющие команды. В мобильных приложениях браузерные сеансы связывались с реальными идентификаторами пользователя и устройства, к которым имели доступ приложения. Например, сеансы могли связываться с учётными записями в Facebook и Yandex или с идентификаторами AAID (Android Advertising ID). Таким образом, даже при открытии сайта в режиме инкогнито или после удаления Cookie, сервисы Meta и Yandex могли точно идентифицировать пользователя, открывшего сайт, привязываясь к идентификаторам из мобильных приложений, запущенных на том же устройстве. ![]() Реализованная техника представляла опасность не только из-за утечки информации в Facebook и Yandex, но и из-за возможности использования вредоносными приложениями. Сетевые порты, на которые отправлялись сведения об активности в браузере, могли использовать любые приложения для отслеживания активности пользователя и построения истории посещений, а не только приложения Facebook и Yandex. Компании Facebook и Yandex воспользовались тем, что платформа Android не ограничивает создание слушающих сокетов в привязке к интерфейсу loopback (127.0.0.1), если приложение имеет полномочия INTERNET. В случае Facebook локальному приложению передавалось содержимое Cookie "_fbp" (уникальный идентификатор пользователя в Facebook Pixel). Через манипуляции с WebRTC содержимое подставлялось в поле "ice-ufrag" пакетов SDP, отправляемых в STUN-запросах на локальный хост. 17 мая в Chrome была заблокирована подобная возможность и скрипты Facebook Pixel перевели на использование WebRTC TURN. После раскрытия результатов исследования компания Meta удалила из скриптов Facebook Pixel отправку запросов на localhost. ![]() В Яндекс метод отправки данных из браузера в мобильные приложения применялся с 2017 года. JavaScript-код сервиса Yandex Metrica устанавливал HTTP- или HTTPS-соединение с localhost по сетевым портам 29009, 29010, 30102 и 30103. Обращения отправлялись на сайт yandexmetrica.com, доменное имя которого резолвилось в IP-адрес 127.0.0.1. Информация о сетевых портах, на которых мобильные приложения Yandex должны были открыть слушающие сокеты, подгружалась динамически через запрос к хосту startup.mobile.yandex.net. Сервер также передавал параметр first_delay_seconds, содержащий задержку перед запуском сетевых сервисов (приложения начинали принимать соединения не сразу после установки, а примерно через три дня). В ответ на HTTP-запрос мобильное приложение возвращало набор данных, включающий идентификаторы в сервисах Yandex, системные UUID и AAID (Android Advertising ID). JavaScript код Yandex Metric переправлял полученные идентификаторы на сервер mc.yango.com. ![]() Упомянутые методы передачи данных работали в версиях Chrome и Edge для Android. В Firefox работал только метод Yandex. В DuckDuckGo и Brave отправка запросов к localhost блокировалась или требовала ручного подтверждения операции. В представленном в конце мая выпуске Chrome 137 была добавлена защита от подстановки данных в SDP. Для защиты от рассмотренных злоупотреблений развивается спецификация PNA (Private Network Access), дающая возможность ограничить обращение к хостам во внутренней сети (127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8 и т.п.). Пробное внедрение данной спецификации в Chrome оказалось неудачным из-за возникновения проблем с совместимостью с некоторыми устройствами. В настоящее время развивается второй вариант спецификации - LNA (Local Network Access), для поддержки которой не требуется изменение на стороне устройств и достаточно изменений на стороне сайтов, которым нужен доступ к интранет-ресурсам.
| ||
Обсуждение (427 +62) |
Тип: Проблемы безопасности |
Интересно
| ||
· | 03.06 | Представлен язык программирования Gauntlet, расширяющий возможности языка Go (245 +1) |
Доступен первый альфа-выпуск языка программирования Gauntlet, надстройки над языком Go, решающей некоторые архитектурные проблемы и добавляющей дополнительную функциональность. Программы на языке Gauntlet поддерживают все возможности языка Go, транслируются в представление на языке Go и интегрируются с существующей экосистемой Go без необходимости задействования обвязок (binding). Развиваемый проектом инструментарий написан на языке F# и распространяется под лицензией GPLv3. Для работы с кодом предоставляется дополнение к редактору VSCode.
Решаемые в Gauntlet проблемы:
Расширенные возможности Gauntlet:
| ||
Обсуждение (245 +1) |
Тип: Программы |
| ||
· | 03.06 | Релиз программы для обработки фотографий RawTherapee 5.12 (44 +13) |
Опубликован релиз программы RawTherapee 5.12, предоставляющей средства для редактирования фотографий и преобразования изображений в формате RAW. Программа поддерживает большое количество RAW-форматов файлов, в том числе, камер с датчиками Foveon- и X-Trans, а также может работать со стандартом Adobe DNG и с форматами JPEG, PNG и TIFF (до 32 бит на канал). Код проекта написан на языке C++ с использованием GTK и распространяется под лицензией GPLv3. Сборки подготовлены для Linux (AppImage), macOS и Windows.
RawTherapee предоставляет набор инструментов для коррекции цветопередачи, настройки баланса белого, яркости и контраста, а также функции автоматического повышения качества изображений и устранения шумов. Реализовано несколько алгоритмов нормализации качества изображений, корректировки освещения, подавления шумов, усиления деталей, борьбы с лишними тенями, коррекции завала краёв и перспективы, автоматического удаления битых пикселей и изменения экспозиции, увеличения резкости, удаления царапин и следов пыли. ![]()
| ||
Обсуждение (44 +13) |
Тип: Программы |
| ||
<< Предыдущая страница (позже) | ||
Следующая страница (раньше) >> |
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |