· | 10.06.2024 | Компания Mozilla начала блокировать доступ из РФ к дополнениям для обхода блокировок (35 –21) |
Пользователи Firefox столкнулись с невозможностью загрузить из каталога addons.mozilla.org (AMO) дополнения, позволяющие обойти блокировки Роскомнадзора. На страницах четырёх популярных дополнений, обеспечивавших обход блокировок, при попытке открытия из РФ теперь показывается страница с информацией о запрете доступа к странице из региона пользователя. Разработчик одного из заблокированных дополнений попросил представителей Mozilla назвать причину блокировки, при том, что формально дополнение не нарушает никаких правил каталога AMO. Представители Mozilla пока не указали причин блокировки, но, вероятно, они сделали это после получения требований от Роскомнадзора.
При этом блокировки дополнений, нарушающих законы отдельных стран, не новы, например, в 2022 году Mozilla заблокировала доступ к дополнениям uBlock Origin, AdGuard, AdNauseam и AdBlock из Китая, что было сделано после возникновения угрозы блокировки всего каталога addons.mozilla.org в Китае. Примечательно, что подобные блокировки явно расходятся с принципами, определёнными в манифесте Mozilla, а также идут в разрез с общей политикой компании, в соответствии с которой два года назад сервисы Yandex и Mail.ru были удалены из списка доступных поисковых систем с указанием в качестве мотива преобладания в поисковой выдаче материалов, отражающих предвзятую точку зрения. Заблокированные для РФ дополнения не могут быть названы в новости из-за действующего с 1 марта запрета на популяризацию средств обхода блокировок. Первое дополнение нацелено на общий обход ограничений, действующих в России, Украине, Беларуси, Казахстане, Кыргызстане, Узбекистане и других странах. Второе дополнение специально рассчитано на обход блокировок из Единого реестра запрещённых сайтов РФ, при этом не проксируя остальные ресурсы. Третье дополнение обеспечивает работу VPN-сервиса, не осуществляющего блокировку по спискам Роскомнадзора для пользователей из РФ. Четвёртое дополнение выборочно включает использование прокси для сайтов, заблокированных Роскомнадзором.
| ||
Обсуждение (35 –21) |
Тип: Тема для размышления |
| ||
· | 10.06.2024 | Доступен язык программирования Perl 5.40.0 (63 +13) |
После 11 месяцев разработки опубликован релиз новой стабильной ветки языка программирования Perl - 5.40. При подготовке нового выпуска было изменено около 160 тыс. строк кода (без документации и автоматически сгенерированного кода - 110 тысяч), изменения затронули 1500 файлов, в разработке приняли участие 75 разработчиков.
Ветка 5.40 выпущена в соответствии с утверждённым одиннадцать лет назад фиксированным графиком разработки, подразумевающим выпуск новых стабильных веток раз в год и корректирующих релизов - раз в три месяца. Примерно через месяц планируется выпустить первый корректирующий релиз Perl 5.40.1, в котором будут исправлены наиболее значительные ошибки, выявленные в процессе внедрения Perl 5.40.0. Одновременно с выходом Perl 5.40 прекращена поддержка ветки 5.36, для которой обновления могут быть выпущены в будущем только в случае выявления критических проблем с безопасностью. 20 июня начнётся процесс разработки экспериментальной ветки 5.41, на базе которой в мае или июне 2025 года будет сформирован стабильный релиз Perl 5.42, если не будет принято решение перейти к нумерации 7.x. Ключевые изменения:
| ||
Обсуждение (63 +13) |
Тип: Программы |
| ||
· | 09.06.2024 | Оценка числа разработчиков на различных языках программирования (265 +17) |
Компания SlashData, специализирующаяся на проведении опросов разработчиков, опубликовала отчёт с результатами оценки востребованности языков программирования и прогнозирования размеров сообществ, связанных с языками программирования. Предполагается, что наиболее крупное сообщество, насчитывающее 25.2 млн участников, сформировалось вокруг языка JavaScript. На втором месте (18.2 млн) - сообщество, использующее язык Python, на третьем (17.7 млн) - Java. Язык C++ занимает четвёртое место (11.6 млн), а C - восьмое (6.5 млн).
Сообщество разработчиков на языке Rust оценено в 4 млн разработчиков, при этом данное сообщество признано наиболее быстрорастущим - за последний год число участников в нём выросло на 30%, а за два года удвоилось (в 1 квартале 2022 года размер сообщества для языка Rust был оценён в 2 млн разработчиков). В качестве одной из возможных причин роста упоминается пылкий энтузиазм участников сообщества, которые активно проповедуют сильные стороны Rust, такие как средства для безопасной работы с памятью и возможности по созданию высокопроизводительных приложений. Заметный рост отмечается и в сообществе JavaScript, размер которого за год увеличился на 17%, что в абсолютных показателях соответствует 4 млн разработчиков. При этом отмеченный темп роста примерно соответствует общему увеличению числа разработчиков в мире. Интересно также то, что при опросе разработчики с опытом менее трёх лет в меньшем числе случаев отмечали язык JavaScript, чем разработчики с опытом от трёх лет. Подобное объясняется тем, что часто опытные разработчики добавляют JavaScript в список используемых языков так как им время от времени приходится с ним сталкиваться, а не из-за того, что у них он является первичным языком для разработки. Похожее расхождение также наблюдается для языков C# и PHP, но в данном случае оно объясняется потерей спроса среди новых разработчиков (данные языки держатся за счёт старых разработчиков и проектов). Продолжается рост популярности языка Python, который по сравнению с прошлым годом поднялся на второе место, вытеснив на третье место сообщество разработчиков на языке Java. За год сообщество Python выросло на 2.1 млн разработчиков (рост 13%), в то время как сообщество Java увеличилось на 1.2 млн разработчиков (рост 7%). Ещё одним растущим сообществом называется сообщество Go, которое с 1 квартала 2022 года увеличилось с 3 до 4.7 млн разработчиков. Рост сообщества Go за два года составил 55%, но за последний год снизился до 10%. При этом роста Go оказалось достаточно для того, чтобы сместить с 10 места в рейтинге язык Swift. Наиболее заметный спад популярности затрагивает язык Objective-C, число разработчиков на котором за последние два года держится на отметке примерно 2.5 млн. За два года Objective-C опустился в рейтинге с 12 на 14 место, уступив 12 и 13 места языкам Rust и Dart. Данные о размерах сообществ экстраполированы путём использования данных о языках программирования, полученных в результате опроса более 10 тысяч разработчиков из 135 стран, и расчётов, показывающих что в мире насчитывается около 43 млн активных разработчиков.
| ||
Обсуждение (265 +17) |
Тип: К сведению |
| ||
· | 08.06.2024 | Анализ распространённости дистрибутивов Linux в корпоративных сетях (236 +15) |
Компания Lansweeper в преддверии окончания цикла сопровождения CentOS 7, который истекает 30 июня, проанализировала дистрибутивы, используемые на 200 тысячах просканированных Linux-систем (как именно выбирались системы для проверки не уточняется, вероятно, статистика собрана по системам в сетях корпоративных клиентов, использующих платформу инвентаризации Lansweeper). Наиболее популярным дистрибутивом стал Ubuntu, доля которого составила 32.24%. На втором месте оказался CentOS - 26.05%, а на третьем Red Hat Enterprise Linux - 20.11%. Доля Debian оказалась 7.05%, а Fedora Linux - 2.5%.
Достаточно большой процент присутствия оказался у дистрибутива Raspbian (4.35%), используемого на платах Raspberry Pi. Rocky Linux использовался на 1.34% систем, а Oracle Linux - на 3.87%. Доля SUSE Linux Enterprise составила 1.25%, а openSUSE - 0.07%. Linux Mint оказался установлен на 0.69% систем, а Astra Linux - 0.02%. Несмотря на то, что исследование было ориентировано на Linux в статистике также оказалась ОС FreeBSD (0.46%).
| ||
Обсуждение (236 +15) |
Тип: К сведению |
| ||
· | 08.06.2024 | В Fedora 41 предложено перевести инсталлятор на Wayland и удалить X11-пакеты из сборок с GNOME (179 +1) |
В выпуске Fedora 41 предложено перевести инсталлятор Anaconda на использование протокола Wayland. В настоящее время Anaconda использует протокол X11, что не позволяет избавиться в установочных носителях от зависимостей, обеспечивающих поддержку X11. Так как миграция Anaconda на Wayland не является тривиальной задачей, предполагается, что изменение повлияет на возможности инсталлятора.
Например, потребуется переработать процесс удалённой установки, который сейчас базируется на VNC-клиенте TigerVNC, завязанном на X11. Вместо TigerVNC предлагается использовать приложение grd (Gnome Remote Desktop) на основе протокола RDP. Вторым заметным изменением станет переработка процессов управления клавиатурой и переключения раскладок. В настоящее время в Anaconda для настройки раскладки клавиатуры применяется библиотека libXklavier, поддержка которой будет прекращена в GNOME Shell, а пакет libxklavier намерены удалить из Fedora. Из-за привязки к libXklavier в инсталляторе, используемом в Live-сборах на базе Wayland, отключена возможность переключения раскладок клавиатуры. Так как в Wayland не предоставляется универсальный механизм управления клавиатурой, решено вместо libXklavier для изменения раскладок задействовать сервис systemd-localed, обращаясь к нему через D-Bus. Помимо миграции инсталлятора на Wayland одновременно предложено полностью прекратить поставку связанных с X11 пакетов GNOME в сборках Fedora Workstation. Подобные пакеты планируют оставить в репозитории, но больше не включать в состав установочных и Live-носителей, построенных на базе GNOME. Предложения пока не утверждены комитетом FESCo (Fedora Engineering Steering Committee), отвечающим за техническую часть разработки дистрибутива Fedora. При этом ранее комитет уже утвердил удаление из базовой поставки Fedora 41 сеанса X11 для GNOME. Основной причиной прекращения поддержки X11 в Fedora является перевод X.Org-сервера в RHEL 9 в категорию устаревших и решение полностью удалить его в будущем значительном выпуске RHEL 10. Среди факторов, способствующих оставлению только поддержки Wayland, также упоминается появление поддержки Wayland в проприетарных драйверах NVIDIA и выполненная в Fedora 36 замена драйверов fbdev на драйвер simpledrm, корректно работающий с Wayland. Прекращение поддержки сеанса с X11 существенно снизит трудозатраты на сопровождение и высвободит ресурсы, которые можно будет направить на улучшения качества работы современного графического стека.
| ||
Обсуждение (179 +1) |
Тип: Программы |
| ||
· | 07.06.2024 | Уязвимость в PHP, позволяющая выполнить код при работе в режиме CGI (64 +14 ↻) |
В PHP выявлена уязвимость (CVE-2024-4577), позволяющая добиться выполнения своего кода на сервере или просмотра исходного кода PHP-скрипта в случае использования PHP в режиме CGI на платформе Windows (конфигурации с mod_php, php-fpm и FastCGI уязвимости не подвержены). Проблема устранена в выпусках PHP 8.3.8, 8.2.20 и 8.1.29.
Уязвимость является частным случаем исправленной в 2012 году проблемы CVE-2012-1823, добавленной для которой защиты оказалось недостаточно для блокирования атаки на платформе Windows. Метод атаки сводится к возможности подстановки аргумента командной строки при запуске интерпретатора PHP через манипуляцию с параметрами запроса к PHP-скрипту. В старой уязвимости CVE-2012-1823 для эксплуатации достаточно было указать опции командной строки вместо параметров запроса, например, "http://localhost/index.php?-s" для показа исходного кода скрипта. Новая уязвимость основывается на том, что платформа Windows обеспечивает автоматическое преобразование символов, что позволяет для обхода ранее добавленной защиты указывать символы, присутствующие в некоторых кодировках и заменяемые на символ "-" (например, короткий дефис с шестнадцатеричным кодом "AD" заменяется на обычный дефис с кодом "2D", т.е. для атаки можно использовать запрос вида http://localhost/index.php?%ads). Уязвимость подтверждена в конфигурациях с локалями для традиционного китайского (cp950), упрощённого китайского (cp936) и японского (cp932) языков, но не исключено её проявление и с другими локалями. Проблема проявляется в конфигурации по умолчанию в наборе XAMPP (Apache + MariaDB + PHP + Perl), а также в любых конфигурациях Apache, в которых php-cgi выставлен в качестве обработчика CGI-скриптов при помощи настройки 'Action cgi-script "/cgi-bin/php-cgi.exe"' или 'Action application/x-httpd-php-cgi "/php-cgi/php-cgi.exe"', или при непосредственном размещении интерпретатора php в "/cgi-bin" и любых других каталогах, в которых разрешено выполнение CGI-скриптов через директиву ScriptAlias. Кроме того в обновлениях PHP 8.3.8, 8.2.20 и 8.1.29 устранены ещё три уязвимости:
Дополнение: Опубликован пример эксплоита для запуска своего PHP-кода на сервере, для выполнения которого применяется набор параметров "-d allow_url_include=1 -d auto_prepend_file=php://input" и передача кода скрипта в теле POST-запроса: POST /test.php?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input HTTP/1.1 Host: {{host}} User-Agent: curl/8.3.0 Accept: */* Content-Length: 23 Content-Type: application/x-www-form-urlencoded Connection: keep-alive <?php phpinfo(); ?>
| ||
Обсуждение (64 +14 ↻) |
Тип: Проблемы безопасности |
| ||
· | 07.06.2024 | В OpenSSH добавлена встроенная защита от атак по подбору паролей (98 +30) |
В кодовую базу OpenSSH добавлена встроенная защита от автоматизированных атак по подбору паролей, в ходе которых боты пытаются угадать пароль пользователя, перебирая различные типовые комбинации. Для блокирования подобных атак в файл конфигурации sshd_config добавлен параметр PerSourcePenalties, позволяющий определить порог блокировки, срабатывающий при большом числе неудачных попыток соединений с одного IP-адреса. Новый механизм защиты войдёт в состав следующего выпуска OpenSSH и будет включён по умолчанию в OpenBSD 7.6.
При включении защиты процесс sshd начинает отслеживать статус завершения дочерних процессов, определяя ситуации когда не прошла аутентификация или когда процесс был аварийно завершён из-за сбоя. Большая интенсивность сбоев при аутентификации свидетельствует о попытках подбора паролей, а аварийное завершение может указывать на попытки эксплуатации уязвимостей в sshd. Через параметр PerSourcePenalties задаётся минимальный порог аномальных событий, после превышения которого IP-адрес, для которого зафиксирована подозрительная активность, будет заблокирован. При помощи параметра PerSourceNetBlockSize дополнительно можно определить маску подсети для блокирования всей подсети, к которой принадлежит проблемный IP. Для отключения срабатывания блокировки для отдельных подсетей предложен параметр PerSourcePenaltyExemptList, который может оказаться полезным в ситуациях, приводящих к ложным срабатываниям, например, когда к SSH-серверу осуществляются обращения из крупной сети, запросы разных пользователей из которой приходят с одинаковых IP из-за использования транслятора адресов или прокси.
| ||
Обсуждение (98 +30) |
Тип: К сведению |
| ||
· | 06.06.2024 | Началось формирование сборок CentOS Stream 10 (46 –2) |
Разработчики из компании Red Hat приступили к формированию сборок CentOS Stream 10 и создали репозиторий с пакетами, заверенными цифровой подписью. Представленная ветка используется для разработки будущего значительного выпуска Red Hat Enterprise Linux 10. CentOS Stream позволяет раньше получить доступ к возможностям будущей ветки RHEL, но включает ещё не полностью стабилизированные пакеты. Сборки CentOS Stream 10 формируются для архитектур x86_64, Aarch64, ppc64le и s390x в форме установочных iso-файлов и образов для изолированных контейнеров.
В соответствии с новой политикой компании Red Hat репозиторий CentOS Stream является единственным публично доступным источником исходных текстов пакетов к Red Hat Enterprise Linux. CentOS Stream можно рассматривать как upstream-проект для RHEL, выступающий основой для его разработки. При помощи CentOS Stream сторонние участники из сообщества могут принять участие в разработке новой ветки RHEL, контролировать подготовку пакетов для RHEL, предлагать свои изменения и влиять на принимаемые решения. До создания CentOS Stream в качестве основы для новой ветки RHEL использовался снапшот одного из выпусков Fedora, который дорабатывался и стабилизировался за закрытыми дверями, без возможности контролировать ход разработки и принимаемые решения. Новый процесс разработки подразумевает вынос ранее закрытого этапа подготовки RHEL в CentOS Stream - на основе снапшота Fedora при участии сообщества формируется новая ветка CentOS Stream, после готовности которой RHEL пересобирается на основе CentOS Stream.
| ||
Обсуждение (46 –2) |
Тип: К сведению |
| ||
· | 06.06.2024 | Релиз дистрибутива blendOS 4, поддерживающего пакеты из Arch, Fedora, Debian, CentOS и Ubuntu (37 +8) |
Представлен релиз дистрибутива blendOS 4, использующего контейнерную изоляцию для обеспечения сосуществования в одной системе пакетов из различных дистрибутивов Linux. Помимо пакетов из дистрибутива Arch Linux, который задействован в базовом окружении, и универсальных пакетов в формате Flatpak, предоставляется возможность установки пакетов из Fedora 39, Debian 13 (ветка testing), CentOS Stream и Ubuntu 22.04 (пакеты устанавливаются в основанных на данных дистрибутивах контейнерах). Кроме того, в blendOS предоставляется окружение для установки и запуска Android-приложений из каталогов Google Play и F-Droid. На выбор предоставляются среды рабочего стола GNOME, KDE, Xfce, MATE, Budgie, Cinnamon и LXQt. Размер установочного образа 2.2 ГБ.
Базовое системное окружение не меняется в процессе работы (immutable) и обновляется в атомарном режиме с использованием заменяющих друг друга корневых разделов. В качестве источника получения обновлений используются более новые iso-образы, содержимое которых синхронизируется с базовым окружением при помощи zsync (размер загружаемых данных при обновлении составляет в среднем от 10 до 100 МБ). При появлении новой сборки iso-образа, на её основе в системе формируется вторая корневая ФС, которая при следующей перезагрузке становится рабочей корневой ФС, а старая остаётся для установки следующего обновления. Для установки дистрибутива используется собственный бэкенд инсталлятора с интерфейсом на основе Jade-GUI из Crystal Linux. Поддерживается создание сценариев для тиражирования одинаковых установок на разных компьютерах - настройки рабочего стола, список развёрнутых контейнеров и перечень установленных в них пакетов могут быть сохранены в YAML-файле, который может быть импортирован на другой системе. Новый выпуск примечателен переходом на декларативное описание начинки, размещаемое в одном файле "/system.yaml". Пользователь может определить в данном файле необходимые для установки поверх базовой системы пакеты, десктоп-окружения, версии ядра Linux и драйверы, доступные в репозитории Arch Linux. При этом атомарный характер базовой системы сохраняется, а все дополнительные пакеты расширяют его. В отдельных контейнерах, активируемых через системный конфигуратор или инструментарий командной строки, могут быть установлены пакеты из репозиториев Fedora, Debian, CentOS Stream и Ubuntu. Попытка открытия пакетов в форматах DEB, RPM и APK также приводит к автоматическому созданию контейнера с необходимым для данного пакета дистрибутивом. При установке в разных контейнерах одинаковых приложений решение какой именно вариант приложения будет запущен принимается на основании выставленного приоритета. Приложения из контейнеров интегрируются с основной системой, используя инструментарий, напоминающий Distrobox (первый выпуск blendOS представлял собой обёртку вокруг Distrobox, но затем она была заменена на свою редакцию инструментария, также использующую для управления контейнерами платформу Podman). Инструментарий выполняет монтирование домашнего каталога пользователя в контейнеры, настраивает доступ к серверу X11 и Wayland для выполнения из контейнера графических приложений, организует вывод звука и производит интеграцию на уровне D-Bus и udev. Поддержка Android реализована при помощи пакета WayDroid, позволяющего в типовом Linux-дистрибутиве сформировать изолированное окружение для загрузки полного системного образа платформы Android. Запуск Android-приложений поддерживается только в графических окружениях на базе Walyand (GNOME и KDE Plasma).
| ||
Обсуждение (37 +8) |
Тип: Программы |
| ||
· | 06.06.2024 | Стабильный выпуск СУБД MariaDB 11.4 (45 +3) |
Опубликован выпуск СУБД MariaDB 11.4.2, который отмечен как первый стабильный релиз ветки 11.4. Ветка MariaDB 11.4 отнесена к категории выпусков с длительным сроком поддержки и будет сопровождаться как минимум 5 лет. Одновременно доступен выпуск MariaDB 11.5.1, имеющий статус кандидата в релизы, и сформирована ветка 11.6, в которой будет развиваться новая функциональность.
Проектом MariaDB развивается ответвление от MySQL, сохраняющее обратную совместимость и отличающееся интеграцией дополнительных движков хранения и расширенных возможностей. Развитие MariaDB курирует независимая организация MariaDB Foundation в соответствии с открытым и прозрачным процессом разработки, не зависящим от отдельных производителей. MariaDB поставляется вместо MySQL во многих дистрибутивах Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) и внедрён в таких крупных проектах, как Wikipedia, Google Cloud SQL и Nimbuzz. Среди изменений в ветке MariaDB 11.4 по сравнению с прошлым LTS-выпуском 10.11:
| ||
Обсуждение (45 +3) |
Тип: Программы |
| ||
· | 06.06.2024 | Уязвимость в эталонных реализациях кодеков AV1 и VP8/VP9 (113 +19) |
В развиваемой альянсом Open Media (AOMedia) библиотеке libaom, предоставляющей эталонную реализацию формата кодирования видео AV1, выявлена критическая уязвимость (CVE-2024-5171), приводящая к целочисленному переполнению и записи в область вне границ буфера при обработке слишком больших значений в некоторых параметрах. Аналогичная уязвимость (CVE-2024-5197) выявлена в библиотеке libvpx с реализацией кодеков VP8 и VP9. Проблемы устранены в обновлениях libaom 3.9.0 и libvpx 1.14.1. В дистрибутивах уязвимости пока остаются неисправленными (Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD).
Уязвимости в libaom присвоен максимальный уровень опасности (10 из 10), подразумевающий возможность эксплуатации при обработке в приложениях, использующих данную библиотеку, специально оформленного контента. В libvpx уровень опасности выставлен в 5.9 из 10, что соответствует ограниченным условиям эксплуатации. Основная опасность уязвимостей в libaom и libvpx вызвана тем, что эти библиотеки используется в web-браузерах, медиапроигрывателях и сервисах, осуществляющих перекодирование видео. Уязвимость проявляется в libaom при вызове функций aom_img_alloc(), aom_img_wrap() или om_img_alloc_with_border() с большими значениями в параметрах d_w, d_h и align, которые приводят к целочисленному переполнению при расчёте смещений и размеров буферов. Аналогичное переполнение возникает в функциях vpx_img_alloc() и vpx_img_wrap(). Указанные функции используется при кодировании видео. Наибольшую опасность уязвимость представляет из-за потенциально возможности атаки на браузеры, в которых прошлые похожие уязвимости могли быть эксплуатированы через открытие в браузере специально оформленной страницы, вызывающей JavaScript-функции для кодирования видео, или через манипуляции с WebRTC. По заявлению представителей Google уязвимость не затрагивает движок Chromium, так как в функции aom_img_alloc(), aom_img_wrap(), vpx_img_alloc() и vpx_img_wrap() передавались только проверенные значения аргументов d_w и d_h. В Firefox для декодирования AV1 используется библиотека dav1d, но для кодирования применяется libaom. Подвержен ли Firefox проблеме пока не ясно, так как информация о том, как уязвимость затрагивает конкретные продукты, пока не опубликована.
| ||
Обсуждение (113 +19) |
Тип: Проблемы безопасности |
| ||
· | 05.06.2024 | Представлен новый видеодрайвер для чипа Apple M1, поддерживающий Vulkan 1.3 (103 +19) |
Алиса Розенцвейг (Alyssa Rosenzweig) из компании Collabora, развивающая OpenGL-драйверы Panfrost для GPU Mali и Asahi для GPU Apple AGX, представила новый Vulkan-драйвер Honeykrisp для графического процессора, поставляемого в чипах Apple M1. Несмотря на то, что драйвер разрабатывается всего месяц, он уже признан консорциумом Khronos, как полностью реализующий спецификацию Vulkan 1.3 на оборудовании Apple c чипом M1. Honeykrisp стал первым драйвером для чипов Apple, имеющим сертифицированную поддержку графического API Vulkan.
Высокая скорость разработки нового драйвера объясняется использованием в качестве основы Vulkan-драйвера NVK, развиваемого для GPU NVIDIA, который был портирован для GPU Apple, с использованием наработок из OpenGL-драйвера Asahi. При создании драйвера NVK его разработчики изначально проектировали его с оглядкой на создание нового эталонного Vulkan-драйвера для Mesa, код которого можно заимствовать при создании других драйверов. Код драйвера Honeykrisp пока развивается в отдельной ветке и не передан в основной состав Mesa. Отмечается, что драйвер пока не выпущен для конечных пользователей, так как ещё продолжается работа по оптимизации производительности и наращивания функциональности. Кроме того, драйвер намерены адаптировать и для других чипов семейства Apple Silicon. Что касается недостающей функциональности, то драйвер планируется довести до состояния, поддерживающего все дополнительные расширения, такие как VK_EXT_transform_feedback, необходимые для реализации поверх него графического API Direct3D, используя прослойки DXVK и vkd3d-proton. Поддержка DXVK и vkd3d-proton позволит использовать драйвер Honeykrisp в Asahi Linux на оборудовании с ARM-чипами Apple для запуска Windows-игр при помощи Wine и эмулятора архитектуры x86.
| ||
Обсуждение (103 +19) |
Тип: К сведению |
| ||
· | 05.06.2024 | Google опубликовал GWPSan, инструмент для выявления ошибок на стадии выполнения приложений (18 +13) |
Компания Google опубликовала исходные тексты инструментария GWPSan, предназначенного для выявления ошибок на этапе выполнения приложений, собранных для архитектур x86-64 и ARM64. GWPSan собирается в виде разделяемой библиотеки, которая связывается при запуске приложения при помощи LD_PRELOAD и использует для анализа работы программы доступные в ядре Linux механизмы остановки (PERF_TYPE_BREAKPOINT) и сэмплинга процессов. Код написан на языке С++ и распространяется под лицензией Apache 2.0.
GWPSan оформлен в виде модульного фреймворка, поддерживающего подключение модулей с реализацией детекторов различных классов ошибок. GWPSan выполняет динамический анализ, активируемый через обработчики сигналов, что позволяет обойтись без изменения исполняемого кода приложения. Для эффективной работы большинства детекторов требуется сборка приложения с определёнными флагами компилятора, добавляющими необходимые метаданные. Для работы требуется как минимум Clang 18 и ядро Linux 6.4. В настоящее время доступно три детектора:
GWPSan анализирует исполняемый код программы, используя фреймворк DynamoRIO для декодирования машинного кода в абстрактные инструкции ISA, которые затем выполняются с использованием эмуляции. Через периодические сигналы от таймера вызывается обработчик unified, который при каждом вызове выполняет определённую порцию инструкций для анализируемого потока. В случае обнаружения при выполнении определённых инструкций, запускается специфичный для данных инструкций детектор проблем, например, для инструкций, обращающихся к памяти, запускается детектор состояний гонки.
| ||
Обсуждение (18 +13) |
Тип: Программы |
| ||
· | 04.06.2024 | Выявлена возможность управления модемами миллионов абонентов ISP Cox без аутентификации (44 +26) |
Клиент Cox Communications, третьего по величине провайдера кабельного телевидения в США и одного из крупнейших операторов широкополосного доступа, насчитывающего 6.5 млн абонентов, опубликовал результаты экспериментов с используемым провайдером внутренним Web API, доступным для внешних запросов и применяемым, среди прочего, для доступа к абонентским модемам и базе пользователей сервиса Cox Business. Оказалось, что, зная лишь MAC-адрес абонентского устройства, можно получить полный контроль над модемом, позволяющий изменять настройки и выполнять любые команды на модеме. По сути, любой атакующий мог получить доступ к модему, аналогичный инженерному доступу, который получает служба поддержки оператора связи. Компания Cox была уведомлена о проблеме 3 апреля и устранила уязвимость на следующий день.
Примечательно, что MAC-адрес абонентского устройства можно было узнать через обращение к публичному Web API без прохождения аутентификации, используя функцию поиска абонентов, например, через выборку по email или по номеру учётной записи (перебирая номера можно последовательно выгрузить данные о клиентах). Помимо MAC-адреса выводились и другие сведения об абоненте, включая адрес, телефон, ФИО и email. Вся информация была доступна для запросов из внешней сети без аутентификации. При этом информацию можно было не только получить, но и изменить. Всего публично доступный API насчитывал более 700 обработчиков, среди которых многие реализовывали операции по администрированию. Обращение к API осуществлялось через хост myaccount-business.cox.com, связанный с сервисом Xox Business, который среди прочего позволяет пользователям удалённо управлять устройствами, настраивать межсетевой экран и выполнять мониторинг трафика. Непосредственно управление модемом выполнялось провайдерским сервисом через протокол TR-069 (принимает соединения через сетевой порт 7547), предназначенный для удалённой диагностики и управления оборудованием. Для верификации передачи команд и настроек на модемы пользователей использовался зашифрованный параметр, но функции для шифрования были найдены в одном из скриптов на языке JavaScript, отдаваемых сайтом webcdn-business.cox.com. Ключ для шифрования удалось определить установив в JavaScript-отладчике браузера точку останова на эти функции во время регистрации на сайте myaccount-business.cox.com. Ключ для шифрования формировался с использованием MAC-адреса, идентификатора устройства и номера учётной записи пользователя, а также нескольких вспомогательных параметров, таких как модель устройства и вид доступа. Сценарий атаки сводится к поиску жертвы через публичный Web API, используя запрос по имени, номеру телефона, email или номеру учётной записи. Далее атакующий обращается к Web API для выгрузки полного набора персональных данных абонента, используя UUID, полученный при поиске на первом этапе. Используя MAC-адрес модема, указанный среди данных об абоненте, атакующий мог посмотреть список подключённых к модему устройств, поменять любые параметры на модеме, запросить пароль, используемый для подключения к Wi-Fi, и выполнить любые команды на устройстве, что можно применить, например, для организации анализа или перенаправления трафика пользователя.
| ||
Обсуждение (44 +26) |
Тип: Проблемы безопасности |
| ||
· | 04.06.2024 | Первый стабильный релиз СУБД DuckDB (27 +20) |
После шести лет разработки представлен выпуск СУБД DuckDB 1.0, позиционируемой как вариант SQLite для аналитических запросов. DuckDB сочетает такие свойства SQLite, как компактность, возможность подключения в форме встраиваемой библиотеки, хранение БД в одном файле и удобный CLI-интерфейс, со средствами и оптимизациями для выполнения аналитических запросов, охватывающих значительную часть хранимых данных, например, выполняющих агрегирование всего содержимого таблиц или слияние нескольких больших таблиц. Код проекта написан на языке C++ и распространяется под лицензией MIT.
Версия 1.0 отмечена как первый стабильный релиз проекта, при подготовке которого основное внимание было уделено повышению стабильности, а не наращиванию функциональности. В новой версии также закреплена фиксация формата хранения данных, для которого начиная с прошлого выпуска обеспечивается обратная совместимость. В последующих выпусках разработчики намерены более осторожно относиться к добавлению новых возможностей и заботиться о сохранении совместимости между выпусками, а также стабилизации диалекта SQL и C API. Если в будущем потребуется изменение семантики SQL разработчики заранее опубликуют предупреждение о грядущих изменениях и предоставят обходные пути для сохранения работоспособности существующего кода. DuckDB поддерживает расширенный диалект языка SQL, включающий дополнительные возможности для обработки очень сложных и длительно выполняемых запросов. Например, возможно использование сложных типов (массивы, структуры, объединения), а также выполнение произвольных и вложенных коррелирующих подзапросов. Поддерживается одновременное выполнение нескольких запросов, выполнение запросов напрямую из файлов в формате CSV и Parquet. Доступна поддержка импорта из СУБД PostgreSQL. Помимо кода оболочки из SQLite проектом используется вынесенный в отдельную библиотеку парсер из PostgreSQL, компонент Date Math из MonetDB, своя реализация оконных функций (на базе алгоритма Segment Tree Aggregation), обработчик регулярных выражений на основе библиотеки RE2, собственные оптимизатор запросов, MVCC-механизм управления одновременным выполнением заданий (Multi-Version Concurrency Control), а также векторизованный движок выполнения запросов на базе алгоритма Hyper-Pipelining Query Execution, позволяющий в одной операции разом обрабатывать большие наборы значений.
| ||
Обсуждение (27 +20) |
Тип: Программы |
| ||
Следующая страница (раньше) >> |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |