Facebook представил Pysa, статический анализатор для языка Python

Facebook представил открытый статический анализатор Pysa (Python Static Analyzer), предназначенный для выявления потенциальных уязвимостей в коде на языке Python. Новый анализатор оформлен в виде надстройки над инструментарием для проверки типов Pyre и размещён в его репозитории. Код опубликован под лицензией MIT.

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

Работа анализатора сводится к определению источников поступления данных и опасных вызовов, в которых исходные данные не должны применяться. В качестве источника рассматриваются данные из web-запросов (например, словарь HttpRequest.GET в Django), а в качестве опасных применений вызовы типа eval и os.open. Pysa отслеживает прохождение данных по цепочке вызовов функций и связывает исходные данные с потенциально опасными местами в коде. В качестве типовой уязвимости, выявленной при помощи Pysa, упоминается проблема с открытым редиректом (CVE-2019-19775) в платформе обмена сообщениями Zulip, вызванная передачей неочищенных внешних параметров при выводе миниатюр.

Возможности Pysa по отслеживанию потоков данных могут применяться для проверки корректности использования дополнительных фреймворков и для определения соответствия политики использования данных пользователя. Например, Pysa без дополнительных настроек может применяться для проверки проектов, использующих фреймворки Django и Tornado. Pysa также может выявлять типовые уязвимости в web-приложениях, такие как подстановка SQL-кода и межсайтовый скриптинг (XSS).

В Facebook анализатор применяется для проверки кода сервиса Instagram. За первый квартал 2020 года Pysa помог выявить 44% из всех проблем, найденных инженерами Facebook в серверной кодовой базе Instagram. Всего в процессе автоматизированной проверки изменений при помощи Pysa было выявлено 330 проблем, 49 (15%) из которых были оценены как значительные, а 131 (40%) неопасные. В 150 случаях (45%) проблемы были отнесены к ложным срабатываниям.

Источник: [ссылка]

Уязвимость в чипах Qualcomm и MediaTek, позволяющая перехватить часть трафика WPA2

Исследователи из компании Eset выявили новый вариант (CVE-2020-3702) уязвимости Kr00k, применимый к беспроводным чипам Qualcomm и MediaTek. Как и первый вариант, которому были подвержены чипы Cypress и Broadcom, новая уязвимость позволяет дешифровать перехваченный Wi-Fi трафик, защищённый с использованием протокола WPA2.

Напомним, что уязвимость Kr00k вызвана некорректной обработкой ключей шифрования при отсоединении (диссоциации) устройства от точки доступа. В первом варианте уязвимости при отсоединении выполнялось обнуление сессионного ключа (PTK), хранимого в памяти чипа, так как дальнейшая отправка данных в текущем сеансе производиться не будет. При этом оставшиеся в буфере передачи (TX) данные шифровались уже очищенным ключом, состоящим только из нулей и, соответственно, могли быть легко расшифрованы при перехвате. Пустой ключ применяется только к остаточным данным в буфере, размер которого составляет несколько килобайт.

Ключевым отличием второго варианта уязвимости, проявляющейся в чипах Qualcomm и MediaTek, является то, что вместо шифрования нулевым ключом данные после диссоциации передаются вообще не зашифрованными, несмотря на то, что флаги шифрования устанавливаются. Из протестированных на наличие уязвимости устройств на базе чипов Qualcomm отмечены D-Link DCH-G020 Smart Home Hub и открытый маршрутизатор Turris Omnia. Из устройств на базе чипов MediaTek протестирован маршрутизатор ASUS RT-AC52U и IoT-решения на базе Microsoft Azure Sphere, использующие микроконтроллер MediaTek MT3620.

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

Уязвимость затрагивает шифрование на уровне беспроводной сети и позволяет проанализировать лишь устанавливаемые пользователем незащищённые соединения (например, DNS, HTTP и почтовый трафик), но не даёт возможность скомпрометировать соединения с шифрованием на уровне приложения (HTTPS, SSH, STARTTLS, DNS over TLS, VPN и т.п.). Опасность атаки также снижает то, что за раз атакующий может расшифровать только несколько килобайтов данных, которые находились во время отсоединения в буфере передачи. Для успешного захвата отправляемых через незащищённое соединение конфиденциальных данных, атакующий либо должен точно знать момент их отправки, либо постоянно инициировать отсоединение от точки доступа, что бросится в глаза пользователю из-за постоянных перезапусков беспроводного соединения.

Проблема устранена в июльском обновлении проприетарных драйверов к чипам Qualcomm и в апрельском обновлении драйверов для чипов MediaTek. Исправление для MT3620 было предложено в июле. О включении исправлений в свободный драйвер ath9k у выявивших проблему исследователей информации нет. Для тестирования устройств на подверженность обоих вариантов уязвимости подготовлен скрипт на языке Python.

Дополнительно можно отметить выявление исследователями из компании Сheckpoint шести уязвимостей в DSP-чипах Qualcomm, которые применяются на 40% смартфонов, включая устройства от Google, Samsung, LG, Xiaomi и OnePlus. До устранения проблем производителями детали об уязвимостях не сообщаются. Так как DSP-чип представляет собой «чёрный ящик», который не может контролировать производитель смартфона, исправление может затянуться и потребует координации работ с производителем DSP-чипов.

DSP-чипы используются в современных смартфонах для совершения таких операций как обработка звука, изображений и видео, в вычислениях для систем дополненной реальности, компьютерного зрения и машинного обучения, а также в реализации режима быстрой зарядки. Среди атак, которые позволяют провести выявленные уязвимости, упоминаются: Обход системы разграничения доступа — незаметный захват данных, таких как фотографии, видео, записи звонков, данные с микрофона, GPS и т.п. Отказ в обслуживании — блокирование доступа ко всей сохранённой информации. Скрытие вредоносной активности — создание полностью незаметных и неудаляемых вредоносных компонентов.

Источник: [ссылка]

Утечка 20ГБ внутренней технической документации и исходных текстов Intel

Тилли Котманн (Tillie Kottmann), разработчик для платформы Android из Швейцарии, ведущий Telegram-канал об утечках данных, опубликовал в открытом доступе 20 ГБ внутренней технической документации и исходных текстов, полученной в результате крупной утечки информации из компании Intel. Заявлено, что это первый набор из коллекции, переданной анонимным источником. Многие документы помечены как конфиденциальные, корпоративные секреты или распространяемые только по подписке о неразглашении.

Самые свежие документы датированы началом мая и включают информацию о новой серверной платформе Cedar Island (Whitley). Имеются также документы от 2019 года, например, описывающие платформу Tiger Lake, но большая часть информации датирована 2014 годом. Помимо документации в наборе также присутствует код, отладочные инструменты, схемы, драйверы, обучающие видео.

Некоторая информация из набора:

  • Руководства по Intel ME (Management Engine), утилиты для работы с flash и примеры для разных платформ.
  • Эталонная реализация BIOS для платформы Kabylake (Purley), примеры и код для инициализации (с историей изменений из git).
  • Исходные тексты Intel CEFDK (Consumer Electronics Firmware Development Kit).
  • Код FSP-пакетов (Firmware Support Package) и производственных схем различных платформ.
  • Различные утилиты для отладки и разработки.
  • Simics-симулятор платформы Rocket Lake S.
  • Различные планы и документы.
  • Бинарные драйверы для камеры Intel, изготовленной для SpaceX.
  • Схемы, документы, прошивки и инструменты для ещё не выпущенной платформы Tiger Lake.
  • Обучающие видео по Kabylake FDK.
  • Intel Trace Hub и файлы с декодировщиками для разных версий Intel ME.
  • Эталонная реализация платформы Elkhart Lake и примеры кода для поддержки платформы.
  • Описания аппаратных блоков на языке Verilog для разных платформ Xeon.
  • Отладочные сборки BIOS/TXE для разных платформ.
  • Bootguard SDK.
  • Симулятор процессов для Intel Snowridge и Snowfish.
  • Различные схемы.
  • Шаблоны маркетинговых материалов.

Компания Intel заявила, что начала разбирательство по поводу инцидента. По предварительным сведениям данные получены через информационную систему «Intel Resource and Design Center«, на которой в ограниченном доступе размещается информация для клиентов, партнёров и других компаний, с которыми взаимодействует Intel. Наиболее вероятно, что сведения загрузил и опубликовал кто-то, имеющий доступ в данную информационную систему. Один из бывших сотрудников Intel высказал при обсуждении на Reddit свою версию, указав, что возможно утечка является следствием саботажа сотрудника или взлома одного из OEM-производителей материнских плат.

Аноним, передавший документы для публикации, указал, что данные были загружены из незащищённого сервера, размещённого в Akamai CDN, а не из Intel Resource and Design Center. Сервер был обнаружен случайно в ходе массового сканирования хостов с использованием nmap и был взломан через уязвимый сервис.

Некоторые издания упомянули возможное обнаружение бэкдоров в коде Intel, но данные заявления беспочвенны и основаны лишь на присутствии фразы «Save the RAS backdoor request pointer to IOH SR 17» в комментарии в одном из файлов с кодом. В контексте ACPI RAS обозначает «Reliability, Availability, Serviceability». Сам код выполняет обработку определения и коррекции ошибок памяти с сохранением результата в 17 регистр I/O hub, а не содержит «бэкдор» в понимании информационной безопасности.

Набор уже разошёлся по BitTorrent-сетям и доступен через магнитную ссылку. Размер zip-архива около 17 ГБ (пароли для разблокировки «Intel123» и «intel123»).

Дополнительно можно отметить, что в конце июля Тилли Котманн опубликовал в публичном доступе содержимое репозиториев, полученных в результате утечек данных из около 50 компаний. В списке присутствуют такие компании, как Microsoft, Adobe, Johnson Controls, GE, AMD, Lenovo, Motorola, Qualcomm, Mediatek, Disney, Daimler, Roblox и Nintendo, а также различные банки, финансовые, автомобильные и туристические компании. Основным источником утечки стала некорректная настройка DevOps-инфраструктуры и оставление ключей доступа в публичных репозиториях. Большинство репозиториев было скопировано из локальных DevOps-систем на базе платформ SonarQube, GitLab и Jenkins, доступ к которым не был ограничен должным образом (в доступных через Web локальных экземплярах DevOps-платформ использовались настройки по умолчанию, подразумевающие возможность публичного доступа к проектам).

Источник: [ссылка]

Выпуск системной библиотеки Glibc 2.32

После шести месяцев разработки опубликован релиз системной библиотеки GNU C Library (glibc) 2.32, которая полностью следует требованиям стандартов ISO C11 и POSIX.1-2017. В состав нового выпуска включены исправления от 67 разработчиков.

Из реализованных в Glibc 2.32 улучшений можно отметить:

  • Добавлена поддержка процессоров Synopsys ARC HS (ARCv2 ISA). Для работы порта требуется как минимум binutils 2.32, gcc 8.3 и ядро Linux 5.1. Поддерживается три варианта ABI arc-linux-gnu, arc-linux-gnuhf и arceb-linux-gnu (big-endian);
  • Реализована загрузка модулей аудита, указанных в секциях DT_AUDIT и DT_DEPAUDIT исполняемого файла.
  • Для архитектуры powerpc64le реализована поддержка типа IEEE128 long double, включаемая при сборке с опцией «-mabi=ieeelongdouble».
  • Некоторые API аннотированы с использованием GCC-атрибута ‘access’, позволяющего при компиляции в GCC 10 генерировать более качественные предупреждения при определении возможных переполнений буферов и других вариантов выхода за допустимые границы.
  • Для Linux-систем реализованы функции pthread_attr_setsigmask_np и pthread_attr_getsigmask_np, дающие приложению возможность указать маску сигнала для потоков, созданных при помощи pthread_create.
  • Данные кодировок, информация о типах символов и таблицы транслитерации обновлены для поддержки спецификации Unicode 13.0.0;
  • Добавлен новый заголовочный файл ‹sys/single_threaded.h›, определяющий переменную __libc_single_threaded, которую можно использовать в приложениях для однопоточных оптимизаций.
  • Добавлены функции sigabbrev_np и sigdescr_np, возвращающие сокращённое название и описание сигнала (например, «HUP» и Hangup» для SIGHUP).
  • Добавлены функции strerrorname_np и strerrordesc_np, возвращающие имя и описание ошибки (например, «EINVAL» и «Invalid argument» для EINVAL).
  • Для платформы ARM64 добавлен флаг «—enable-standard-branch-protection» (или -mbranch-protection=standard в GCC), задействующий механизм ARMv8.5-BTI (Branch Target Indicator) для защиты выполнения наборов инструкций, на которые не должны выполняться переходы при ветвлении. Блокирование переходов на произвольные участки кода реализовано для противодействия созданию гаджетов в эксплоитах, использующих приёмы возвратно-ориентированного программирования (ROP — Return-Oriented Programming, атакующий не пытается разместить свой код в памяти, а оперирует уже имеющимися кусками машинных инструкций, завершающихся инструкцией возврата управления, из которых выстраиваются цепочка вызовов для получения нужной функциональности).
  • Проведена большая чистка устаревших возможностей, в том числе удалены опции «—enable-obsolete-rpc» и «—enable-obsolete-nsl», заголовочный файл ‹sys/sysctl.h›. Объявлены устаревшими функции sstk, siginterrupt, sigpause, sighold, sigrelse, sigignore и sigset, массивы sys_siglist, _sys_siglist и sys_sigabbrev, символы sys_errlist, _sys_errlist, sys_nerr и _sys_nerr, NSS-модуль hesiod.
  • ldconfig по умолчанию переведён на использование нового формата ld.so.cache, который поддерживается в glibc уже почти 20 лет.
  • Устранены уязвимости:
    • CVE-2016-10228 — зацикливание в утилите iconv, проявляющееся при запуске с опцией «-c», в случае обработки некорректных многобайтовых данных.
    • CVE-2020-10029 — повреждение стека при вызове тригонометрических функций с псевдонулевым аргументом.
    • CVE-2020-1752 — обращение к области памяти после её освобождения (use-after-free) в функции glob при раскрытии ссылки на домашний каталог («~user») в путях.
    • CVE-2020-6096 — некорректная обработка на платформе ARMv7 отрицательных значений параметра в memcpy() и memmove(), определяющего размер копируемой области. Позволяет организовать выполнение кода при обработке в функциях memcpy() и memmove() определённым образом оформленных данных. Показательно, что проблема оставалась неисправленной почти два месяца с момента публичного раскрытия информации и пять месяцев с момента уведомления разработчиков Glibc.

Источник: [ссылка]

Релиз Ubuntu 20.04.1 LTS

Компания Canonical представила первый корректирующий выпуск дистрибутива Ubuntu 20.04.1 LTS, в который включены обновления для нескольких сотен пакетов, связанные с устранением уязвимостей и проблем, влияющих на стабильность. В новой версии также исправлены ошибки в инсталляторе и загрузчике. Релиз Ubuntu 20.04.1 ознаменовал прохождение базовой стабилизации LTS-выпуска — пользователям Ubuntu 18.04 теперь будет предложено осуществить обновление до ветки 20.04.

Одновременно представлены аналогичные обновления Ubuntu Budgie 20.04.1 LTS, Kubuntu 20.04.1 LTS, Ubuntu MATE 20.04.1 LTS, Ubuntu Studio 20.04.1 LTS, Lubuntu 20.04.1 LTS, Ubuntu Kylin 20.04.1 LTS и Xubuntu 20.04.1 LTS. Использовать представленные сборки имеет смысл только для новых установок, системы, установленные ранее, могут получить все присутствующие в Ubuntu 20.04.1 изменения через штатную систему установки обновлений. Поддержка выпуска обновлений и исправлений проблем безопасности для серверной и десктоп редакций Ubuntu 20.04 LTS продлится до апреля 2025 года.

Из наиболее существенных изменений можно отметить:

  • Внесены оптимизации производительности. В zfs-linux бэкпортирована поддержка аппаратного ускорения AES-GCM.
  • В центре управления GNOME предложено новое оформление диалога настройки аутентификации по отпечаткам пальцев.
  • Добавлена поддержка VPN Wireguard.
  • Ядро Linux для OEM-поставок обновлено до ветки 5.6 (в Ubuntu 20.04 поставляется 5.4).
  • Для новых ноутбуков HP добавлена поддержка светодиодного индикатора отключения звука.
  • Добавлена поддержка серверной серии проприетарных драйверов NVIDIA.
  • В инсталляторе включена поддержка ZFS autotrim. В live-build добавлена поддержка riscv64.
  • Обновлены версии пакетов libreoffice (6.4.4), GNOME (3.36.2), snapd, evince, golang-1.14, curtin, nautilus, gedit, gnome-control-center, evolution-data-server, mutter, gnome-software, shotwell, netplan.io, OpenStack Ussuri, cloud-init, open-vm-tools, gtk+3.0, ceph, sosreport, libgphoto2.

Интеграция новой версии ядра, драйверов и компонентов графического стека ожидается в запланированном на февраль выпуске Ubuntu 20.04.2, так как данные компоненты будут импортированы из выпуска Ubuntu 20.10, который будет готов только осенью и потребует дополнительное время на тестирование.

Источник: [ссылка]

Джеффри Кнаут избран новым президентом Фонда СПО

Фонд Свободного ПО объявил об избрании нового президента, после ухода с данного поста Ричарда Столлмана после обвинений в поведении, недостойном лидера движения СПО, и угроз разрыва отношений с СПО некоторых сообществ и организаций. Новым президентом стал Джеффри Кнаут (Geoffrey Knauth), входивший в совет директоров Фонда СПО с 1998 года и принимающий участие в работе проекта GNU с 1985 года.

Джеффри окончил Гарвардский университет со специализацией в области экономики, после чего посвятил свою деятельность компьютерным наукам, которые сейчас преподаёт в колледже Lycoming. Джеффри является сооснователем проекта GNU Objective-C. Кроме английского Джеффри владеет русским и французским языками, а также сносно говорит на немецком и немного на китайском языке. Из интересов также упоминается лингвистика (имеется работа по славянским языкам и литературе) и пилотирование.

Джеффри указал, что видит цель своей дальнейшей деятельности в оказании помощи сообществу в защите и развитии свободного ПО. Он также отметил важность поддержания здорового духа и разнообразия сообщества, так как различия жизненного опыта и мнений способствуют возникновению творчества и появлению новых идей. Движение СПО началось с энтузиазма, самоотверженности и преданности делу Ричарда Столмена, но со временем сообщество выросло и теперь складывается из усилий и совместной работы тысяч людей по всему миру.

Джеффри призвал уважительно относиться друг к другу в случае разногласий и сообща вырабатывать наилучшие решения, а также помнить что объединяет и вдохновляет приверженцев СПО, так как это является важным для достижения намеченной цели. Он пообещал поддерживать честный диалог с сообществом и оказывать поддержку в стремлении обезопасить будущее СПО для грядущих поколений и сохранить постулаты, лежащие в основе движения СПО.

Фонд также объявил о включении в совет директоров нового участника — Одиль Бенасси (Odile Bénassy), французскую активистку, занимающуюся продвижением СПО. Одиль преподаёт математику, занимается исследованиями и разработкой ПО. В сообществе Одиль известна как лидер проекта GNU Edu. Отмечается, что Одиль стала первым директором Фонда из Европы.

Источник: [ссылка]

Выпуск свободного офисного пакета LibreOffice 7.0

Организация The Document Foundation представила релиз офисного пакета LibreOffice 7.0. Готовые установочные пакеты подготовлены для различных дистрибутивов Linux, Windows и macOS, а также в редакции для развёртывания online-версии в Docker. При подготовке выпуска 74% изменений внесены сотрудниками курирующих проект компаний, таких как Collabora, Red Hat и CIB, а 26% изменений добавлены независимыми энтузиастами.

Ключевые новшества:

  • Добавлена поддержка формата OpenDocument 1.3 (ODF), в котором добавлены новые возможности для обеспечения защиты документов, такие как заверение документа цифровой подписью и шифрование содержимого c использованием ключей OpenPGP. В новой версии также добавлена поддержка типов полиномиальной и скользящей средней регрессии для графиков, реализованы дополнительные методы форматирования цифр в числах, добавлен отдельный тип верхних и нижних колонтитулов для заглавной страницы, определены средства расстановки отступов параграфов в зависимости от контекста, улучшено отслеживание изменений в документе и добавлен новый тип шаблона для основного текста в документах.
  • Добавлена поддержка отрисовки текста, кривых и изображений с использованием 2D-библиотеки Skia и ускорения вывода с задействованием графического API Vulkan. Движок на базе Skia по умолчанию активирован только на платформе Windows вместо бэкенда, использующего OpenGL.
  • Улучшена совместимость с форматами DOCX, XLSX и PPTX. Добавлена поддержка сохранения документов DOCX в режимах MS Office 2013/2016/2019, вместо режима совместимости с MS Office 2007. Улучшена переносимость с разными версиями MS Office. Реализована возможность сохранения XLSX-файлов с именами таблиц, превышающими 31 символ, а также с checkbox-переключателями. Устранена проблема, приводившая к ошибке «invalid content error» при попытке открытия экспортированных файлов XLSX с формами. Улучшен экспорт и импорт в формате PPTX.
  • В VCL-плагинах kf5 (KDE 5) и Qt5, позволяющих использовать родные для KDE и Qt диалоги, кнопки, обрамления окон и виджетов, реализована поддержка масштабирования интерфейса на экранах с высокой плотностью пикселей (HiDPI).
  • По умолчанию для новых установок реализована блокировка перемещения панели, позволяющая избежать случайного удаления панели.
  • Добавлены новые галереи форм, которые могут быть легко отредактированы и стилизованы пользователем. Например, доступны новые стрелки, диаграммы, пиктограммы, символы, фигуры, элементы компьютерных сетей и блок-схемы.
  • Предложена новая тема пиктограмм Sukapura, соответствующая рекомендациями о визуальному оформлению macOS. Данная тема по умолчанию будет включена для новых установок LibreOffice на платформе macOS.
  • Обновлена тема пиктограмм Colibre, применяемая по умолчанию на платформе Windows. Пиктограммы переработаны для соответствия новому стилю MS Office 365.
  • Значительно обновлён и отточен набор пиктограмм Sifr. Из основного состава удалён набор пиктограмм Tango, который теперь будет поставляться в форме внешнего дополнения.
  • В установщике для Windows предложены новая картинка и пиктограммы.
  • В Writer добавлена возможность использования выравненных чисел в нумерованных списках и номерах страниц, т.е. имеющих одну ширину, с добавлением нуля перед цифрой в коротких номерах (08,09,10,11).

    Обеспечено выделение установленных закладок прямо в тексте (включается через Standard Toolbar ▸ Toggle Formatting Marks and Tools ▸ Options… ▸ LibreOffice Writer ▸ Formatting Aids ▸ Bookmarks).

    В Writer также добавлена возможность блокировки закладок и полей от изменения (See Tools ▸ Protect Document), обеспечено отображение серым фоном пустых полей и улучшена обработка повёрнутого текста в строках таблиц.

  • В Calc добавлены новые функции RAND.NV() и RANDBETWEEN.NV(), которые в отличие от RAND() и RANDBETWEEN() генерируют результат один раз и не пересчитываются при каждом изменении ячейки. В функции, поддерживающие обработку регулярных выражений, добавлена поддержка флагов игнорирования регистра символов (?i) и (?-i). В функции TEXT() обеспечена поддержка передачи пустой строки в качестве второго аргумента. В фукнкции OFFSET() необязательные 4 и 5 параметры теперь должны быть больше нуля.

    В Calc также внесено несколько оптимизаций производительности: увеличена скорость открытия файлов XLSX с большим числом картинок, улучшена производительность поиска с использованием автофильтра, сокращено время операции отката изменений.

  • В Writer, Draw и Impress реализована поддержка полупрозрачного текста.
  • В Impress и Draw сдвиг надстрочного текста уменьшен с 33% до 8% относительно базисной линии. Ускорены операции ввода в списки с анимацией, редактирования таблиц и открытия некоторых PPT-файлов.
  • Переработан интерфейс экрана показа презентации и консоли презентаций в Impress.
  • В диалоге переименования страниц в Draw и слайдов в Impress добавлена всплывающая подсказка, предупреждающая об указании пустого или уже существующего имени.
  • В Draw и других модулях при экспорте в PDF добавлена возможность установки размера страницы больше 200 дюймов (508 см).
  • Большинство шаблонов в Impress переведены на использование соотношения сторон 16:9 вместо 4:3.
  • Добавлен инструмент «Tools ▸ Accessibility Check…» для проверки текста на удобство восприятия людьми с проблемами со зрением.
  • В фильтре импорта EMF+ появилась поддержка линейных градиентов, записей BeginContainer и собственных меток на диаграммах.
  • В фильтр экспорта в форматы DOCX и XLSX добавлена поддержка эффектов свечения и затухающих полупрозрачных краев.
  • Для русского и украинского языков реализована автозамена ASCII-кавычек с апострофом (’), указанных вместо закрывающейся кавычки (“). Если раньше слово «word'» заменялось на «word“», то сейчас будет заменено на «word’», но «„word'» продолжит заменяться на «„word“». Для украинского языка дополнительно реализована автозамена «‹‹word››» на ««word»».
  • Обновлён орфографический словарь для английского, белорусского, латышского, каталонского и словацкого языков. Обновлён тезаурус для русского языка и выполнено преобразование орфографического словаря из кодировки KOI8-R в UTF-8. Добавлены шаблоны расстановки переносов для белорусского языка.
  • Добавлена поддержка Java-модулей (пока доступно только два модуля: org.libreoffice.uno и org.libreoffice.unoloader). Файлы juh.jar, jurt.jar, ridl.jar, and unoil.jar объединены в один архив libreoffice.jar.
  • Удалена поддержка Python 2.7, для выполнения скриптов теперь требуется Python 3. Удалён фильтр экспорта во Adobe Flash.

Источник: [ссылка]

В Firefox началась активация защиты от отслеживания перемещений через редиректы

Компания Mozilla объявила о намерении активировать механизм расширенной защиты от отслеживания перемещений ETP 2.0 (Enhanced Tracking Protection). Изначально поддержка ETP 2.0 была добавлена в Firefox 79, но была отключена по умолчанию. В ближайшие недели данный механизм планируется довести до всех категорий пользователей.

Основным новшеством ETP 2.0 является добавление защиты от отслеживания через редиректы. Для обхода блокировки установки Cookie сторонними компонентами, загружаемыми в контексте текущей страницы, рекламные сети, социальные сети и поисковые системы при переходе по ссылкам стали перенаправлять пользователя на промежуточную страницу, с которой затем пробрасывать на целевой сайт. Так как промежуточная страница открывается сама по себе, вне контекста другого сайта, на такой странице можно беспрепятственно устанавливать отслеживающие Cookie.

Для борьбы с данным методом в ETP 2.0 добавлена блокировка по предоставляемому сервисом Disconnect.me списку доменов, использующих отслеживание через редиректы. Для сайтов, осуществляющих подобное отслеживание, Firefox будет ежедневно очищать Cookie и данные во внутренних хранилищах (localStorage, IndexedDB, Cache API и т.п.).

Так как подобное поведение может привести к потере аутентификационных Cookie на сайтах, домены которых применяются не только для отслеживания, но и для аутентификации, добавлено одно исключение. Если пользователь явно взаимодействовал с сайтом (например, прокручивал содержимое), то очистка Cookie будет происходить не раз в день, а раз в 45 дней, что, например, может потребовать повторного входа в сервисы Google или Facebook каждые 45 дней. Для ручного выключения автоматической очистки Cookie в about:config можно использовать параметр «privacy.purge_trackers.enabled».

Дополнительно можно отметить намерение Google включить сегодня блокировку неприемлемой рекламы, отображаемой при просмотре видео. Если Google не отменит ранее назначенные сроки внедрения, то в Chrome будет включена блокировка следующих видов рекламы: Рекламные вставки любой продолжительности, прерывающие показ видео в середине просмотра; Длительные рекламные вставки (дольше 31 сек.), отображаемые перед началом показа видео, без возможности их пропустить спустя 5 секунд после начала рекламы; Отображение больших текстовых объявлений или рекламных изображений поверх видео, если они перекрывают больше 20% видео или выводятся в середине окна (в центральной трети окна).

Источник: [ссылка]

В Fedora 33 начнёт поставляться официальная редакция для интернета вещей

Питер Робинсон (Peter Robinson) из команды Red Hat Release Engineering Team опубликовал предложение о принятии варианта дистрибутива для интернета вещей в число официальных редакций Fedora 33. Таким образом, начиная с Fedora 33 Fedora IoT будет поставляться наравне с Fedora Workstation и Fedora Server. Официально предложение ещё не утверждено, но его публикация предварительно была согласована в комитете FESCo (Fedora Engineering Steering Committee), отвечающем за техническую часть разработки дистрибутива Fedora, поэтому его принятие можно считать формальностью.

Напомним, что редакция Fedora IoT предназначена для использования на устройствах интернета вещей (IoT) и базируется на тех же технологиях, что применяются в Fedora CoreOS, Fedora Atomic Host и Fedora Silverblue. Дистрибутив предлагает урезанное до минимума системное окружение, обновление которого производится атомарно через замену образа всей системы, без разбивки на отдельные пакеты. Для контроля целостности применяется заверение всего системного образа цифровой подписью. Для отделения приложений от основной системы предлагается использовать изолированные контейнеры (для управления применяется podman). Также возможна компоновка системного окружения для конкретных применений и определённых устройств.

Для формирования системного окружения используется технология OSTree, при которой системный образ атомарно обновляется из Git-подобного хранилища, позволяющего применять методы версионного контроля к компонентам дистрибутива (например, можно быстро откатить систему к прошлому состоянию). RPM-пакеты транслируются в репозиторий OSTree при помощи специальной прослойки rpm-ostree. Готовые сборки предоставляются для архитектур x86_64 и Aarch64 (в ближайшее время также обещают добавить поддержку ARMv7 ). Заявлена поддержка плат Raspberry Pi 3 Model B/B+, 96boards Rock960 Consumer Edition, Pine64 A64-LTS, Pine64 Rockpro64 и Rock64 и Up Squared, а также виртуальных машин x86_64 и aarch64.

Источник: [ссылка]

Предложение по блокировке драйверов-прослоек, предоставляющих доступ к GPL-вызовам ядра Linux

Кристоф Хелвиг (Christoph Hellwig), известный разработчик ядра Linux, в своё время входивший в управляющий технический комитет организации Linux Foundation и выступавший истцом в связанном с GPL судебном разбирательстве с VMware, предложил ужесточить защиту от связывания проприетарных драйверов с компонентами ядра Linux, экспортируемыми только для модулей под лицензией GPL. Для обхода ограничения на экспорт GPL-символов производители проприетарных драйверов используют модуль-прослойку, код которой открыт и распространяется под лицензией GPLv2, но функции сводятся к трансляции доступа проприетарного драйвера к необходимым API ядра, запрещённым для использования из проприетарного кода напрямую.

Для блокирования подобного манёвра Кристоф Хелвиг подготовил для ядра Linux патчи, обеспечивающие наследование флагов, связанных с экспортом GPL-символов. Предложение сводится к наследованию флага TAINT_PROPRIETARY_MODULE во всех модулях, импортирующих символы из модулей с данным флагом. Таким образом, если GPL модуль-прослойка попытается импортировать символы из не-GPL модуля, то GPL-модуль унаследует метку TAINT_PROPRIETARY_MODULE и не сможет обращаться к компонентам ядра, доступным только для модулей под лицензией GPL, даже если модуль ранее импортировал символы из категории «gplonly».

При обсуждении также было высказано предложение по обратной блокировке — если модуль импортирует символы EXPORT_SYMBOL_GPL, любые экспортируемые данным модулем символы не должны импортироваться модулями, явно не заявляющими о совместимости с GPL. Т.е. если модуль импортирует символы EXPORT_SYMBOL_GPL, то все его экспортируемые символы должны обрабатываться как EXPORT_SYMBOL_GPL. Кристоф Хелвиг написал, что на 100% согласен с данным предложением, но такое изменение не пропустит Линус Торвальдс, так как оно приведёт к недоступности для проприетарных драйверов большей части подсистем ядра, из-за того, что при разработке драйверов подключаются базовые символы, экспортируемые под GPL.

Изменение предложено в ответ на публикацию инженером из Facebook серии патчей с реализацией новой подсистемы netgpu, позволяющей организовать прямой обмен данными (DMA zero-copy) между сетевой картой и GPU, при этом выполняя обработку протокола силами CPU. Недовольство разработчиков вызвала доступность реализации только для проприетарных драйверов NVIDIA через предоставляемую данными драйверами GPL-прослойку. В ответ на критику автор патчей указал, что подсистема не привязана к NVIDIA и её поддержка может быть обеспечена в том числе для программных интерфейсов к GPU AMD и Intel. В итоге продвижение netgpu в ядро было признано невозможным до появления рабочей поддержки на основе свободных драйверов, таких как AMDGPU, Intel i915 или Nouveau.

Источник: [ссылка]

Учреждён проект OpenSSF, сфокусированный на повышении безопасности открытого ПО

Организация Linux Foundation объявила о формировании нового совместного проекта OpenSSF (Open Source Security Foundation), призванного объединить работу ведущих представителей индустрии в области повышения безопасности открытого ПО. OpenSSF продолжит развитие таких инициатив, как Infrastructure Initiative и Open Source Security Coalition, а также объединит и другие связанные с безопасностью работы, предпринимаемые участниками проекта.

В число учредителей OpenSSF вошли такие компании, как GitHub, Google, IBM, JPMorgan Chase, Microsoft, NCC Group, OWASP Foundation и Red Hat. В качестве участников присоединились компании GitLab, HackerOne, Intel, Uber, VMware, ElevenPaths, Okta, Purdue, SAFECode, StackHawk и Trail of Bits.

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

Работа OpenSSF будет сосредоточена в таких областях, как скоординированное раскрытие информации об уязвимостях и распространение исправлений, разработка инструментов для обеспечении безопасности, публикация лучших практик по безопасной организации разработки, выявление связанных с безопасностью угроз в открытом ПО, проведение работы по аудиту и усилению безопасности критически важных открытых проектов, создание средств для проверки идентичности разработчиков.

Источник: [ссылка]

Релиз ядра Linux 5.8

После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 5.8. Среди наиболее заметных изменений: детектор состояний гонки KCSAN, универсальный механизм доставки уведомлений в пространство пользователя, поддержка оборудования для inline-шифрования, расширенные механизмы защиты для ARM64, поддержка российского процессора Baikal-T1, возможность раздельного монтирования экземпляров procfs, реализация для ARM64 механизмов защиты Shadow Call Stack и BTI.

Ядро 5.8 стало самым крупным по числу изменений из всех ядер за всё время существования проекта. При этом изменения не связаны с какой-то одной подсистемой, а охватывают разные части ядра и в основном связаны с внутренними переработками и чисткой. Больше всего изменений наблюдается в драйверах. В новую версию принято 17606 исправлений от 2081 разработчиков, которые затронули примерно 20% всех файлов в репозитории с кодом ядра. Размер патча — 65 МБ (изменения затронули 16180 файлов, добавлено 1043240 строк кода, удалено 489854 строк). Для сравнения в ветке 5.7 было внесено 15033 исправлений, а размер патча составлял 39 МБ. Около 37% всех представленных в 5.8 изменений связаны с драйверами устройств, примерно 16% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 11% связано с сетевым стеком, 3% — с файловыми системами и 4% c внутренними подсистемами ядра.

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

  • Виртуализация и безопасность
    • Обеспечена блокировка загрузки модулей ядра, имеющих секции с кодом, в которых одновременно выставлены биты, разрешающие исполнение и запись. Изменение реализовано в рамках более крупного проекта по избавлению ядра от применения страниц памяти, допускающих одновременно исполнение и запись.
    • Появилась возможность создания отдельных экземпляров procfs, позволяющих использовать несколько точек монтирования procfs, смонтированных с разными опциями, но отражающими одно пространство имён идентификаторов процессов (pid namespace). Ранее все точки монтирования procfs лишь отзеркаливали одно внутреннее представление и любое изменение параметров монтирования сказывалось на всех остальных точках монтирования, связанных с тем же пространством имён идентификаторов процессов. Из областей, в которых может быть востребовано монтирование с разными опциями отмечается реализация легковесной изоляции для встраиваемых систем с возможностью скрытия в procfs определённых типов процессов и информационных узлов.
    • Для платформы ARM64 реализована поддержка механизма Shadow-Call Stack, предоставляемого компилятором Clang для защиты от перезаписи адреса возврата из функции в случае переполнения буфера в стеке. Суть защиты в сохранении после передачи управления функции адреса возврата в отдельном «теневом» стеке и извлечении данного адреса перед выходом из функции.
    • Для платформы ARM64 добавлена поддержка инструкций ARMv8.5-BTI (Branch Target Indicator) для защиты выполнения наборов инструкций, на которые не должны выполняться переходы при ветвлении. Блокирование переходов на произвольные участки кода реализовано для противодействия созданию гаджетов в эксплоитах, использующих приёмы возвратно-ориентированного программирования (ROP — Return-Oriented Programming, атакующий не пытается разместить свой код в памяти, а оперирует уже имеющимися кусками машинных инструкций, завершающихся инструкцией возврата управления, из которых выстраиваются цепочка вызовов для получения нужной функциональности).
    • Добавлена поддержка оборудования для inline-шифрования блочных устройств (Inline Encryption). Устройства inlinep-шифрования обычно встроены в накопитель, но логически размещается между системной памятью и диском, осуществляя прозрачное шифрование и расшифровку ввода/вывода на основе заданных ядром ключей и алгоритма шифрования.
    • Добавлен параметр командной строки ядра «initrdmem», позволяющий указать физический адрес размещения initrd в памяти при размещении начального загрузочного образа в ОЗУ.
    • Добавлены новые capability: CAP_PERFMON для доступа к подсистеме perf и выполнения мониторинга производительности. CAP_BPF, разрешающий выполнение некоторых операций с BPF (например, загрузка BPF-программ), которые раньше требовали прав CAP_SYS_ADMIN (теперь полномочия CAP_SYS_ADMIN разделены на комбинацию CAP_BPF, CAP_PERFMON и CAP_NET_ADMIN).
    • Добавлено новое устройство virtio-mem, позволяющее реализовать горячее подключение и отключение памяти к гостевым системам.
    • Реализован отзыв операций маппинга в /dev/mem, если драйвер устройства использует перекрывающиеся области памяти.
    • Добавлена защита от уязвимости CROSSTalk/SRBDS, позволяющей восстановить результаты выполнения некоторых инструкций, выполняемых на другом ядре CPU.
  • Память и системные сервисы
    • В документ, определяющий правила оформления кода, приняты рекомендации по применению инклюзивной терминологии. Разработчикам не рекомендуется использовать связки ‘master / slave’ и ‘blacklist / whitelist’, а также отдельно слово ‘slave’. Рекомендации касаются только нового использования данных терминов. Уже имеющиеся в ядре упоминания указанных слов останутся нетронутыми. В новом коде использование отмеченных терминов разрешено если того требует поддержание выдаваемого в пространство пользователя API и ABI, а также при обновлении кода для поддержки существующего оборудования или протоколов, спецификации на которые предписывают использование определённых терминов.
    • В состав включён отладочный инструмент KCSAN (Kernel Concurrency Sanitizer), предназначенный для динамического выявления состояний гонки внутри ядра. Использование KCSAN поддерживается при сборке в GCC и Clang, и требует добавления специальных модификаций на этапе компиляции для отслеживания доступа к памяти (применяются точки останова, срабатывающие при чтении или изменении памяти). Основное внимание при разработке KCSAN уделено предотвращению ложных срабатываний, масштабируемости и простоте использования.
    • Добавлен универсальный механизм доставки уведомлений из ядра в пространство пользователя. Механизм основан на штатном драйвере pipe и позволяет эффективно распределять уведомления от ядра по каналам, открытым в пространстве пользователя. Точки приёма уведомлений представляют собой pipe-ы, открытые в специальном режиме и позволяющие накапливать в кольцевом буфере поступающие от ядра сообщения. Чтение осуществляется обычной функцией read(). Владелец канала определяет, какие из источников в ядре необходимо отслеживать и может определить фильтр для игнорирования сообщений и событий определённого типа. Из событий пока поддерживаются только операции с ключами, такие как добавление/удаление ключей и изменение их атрибутов. Указанные события планируют использовать в GNOME.
    • Продолжено развитие функциональности ‘pidfd’, помогающей обрабатывать ситуации с повторным использованием PID (pidfd связывается с конкретным процессом и не меняется, в том время как PID может быть привязан к другому процессу после завершения текущего процесса, ассоциированного с этим PID). В новой версии добавлена поддержка использования pidfd для прикрепления процесса к пространствам имён (разрешено указание pidfd при выполнении системного вызова setns). Применение pidfd позволяет одним вызовом управлять прикреплением процесса к нескольким типам пространств имён, существенно сокращая число необходимых системных вызовов и реализуя прикрепление в атомарном режиме (если при прикреплении к одному из пространств имён возникнет сбой, то не подключатся и остальные).
    • Добавлен новый системный вызов faccessat2(), отличающийся от faccessat() дополнительным аргументом с флагами, соответствующими рекомендациям POSIX (ранее данные флаги эмулировались в Си-библиотеке, а новый faccessat2 позволяет реализовать их в ядре).
    • В Cgroup добавлена настройка memory.swap.high, которую можно использовать для замедления задач, занимающих слишком много места в разделе подкачки.
    • В интерфейс асинхронного ввода/вывода io_uring добавлена поддержка системного вызова tee().
    • Добавлен механизм «BPF iterator, предназначенный для вывода в пространство пользователя содержимого структур ядра.
    • Предоставлена возможность использования кольцевого буфера для обмена данными между BPF-программами.
    • В механизм padata, предназначенный для организации параллельного выполнения задач в ядре, добавлена поддержка многопоточных задач с балансировкой нагрузки.
    • В механизм pstore, позволяющий сохранить отладочную информацию о причине краха в области памяти, не теряемые между перезагрузками, добавлен бэкенд для сохранения информации на блочные устройства.
    • Из ветки ядра PREEMPT_RT перенесена реализация локальных блокировок.
    • Добавлен новый API выделения буферов (AF_XDP), нацеленный на упрощение написания сетевых драйверов с поддержкой XDP (eXpress Data Path).
    • Для архитектуры RISC-V реализована поддержка отладки компонентов ядра при помощи KGDB.
    • До выпуска 4.8 повышены требования к версии GCC, которая может использоваться для сборки ядра. В одном из следующих выпуском планируется поднять планку до GCC 4.9.
  • Дисковая подсистема, ввод/вывод и файловые системы
    • В Device Mapper добавлен новый обработчик dm-ebs (emulate block size), который может применяться для эмуляции меньшего размера логического блока (например, для эмуляции 512-байтных секторов на дисках с размером сектора 4K).
    • В файловой системе F2FS появилась поддержка сжатия с использованием алгоритма LZO-RLE.
    • В dm-crypt добавлена поддержка шифрованных ключей.
    • В Btrfs улучшена обработка операций чтения в режиме прямого ввода/вывода. При монтировании ускорена проверка удалённых подразделов и каталогов, оставшихся без родителя.
    • В CIFS добавлен параметр «nodelete», допускающий штатные проверки прав на сервере, но запрещающий клиенту удалять файлы или каталоги.
    • В Ext4 улучшена обработка ошибки ENOSPC при использовании многопоточности. В xattr добавлена поддержка пространства имён gnu.*, используемого в GNU Hurd.
    • Для Ext4 и XFS включена поддержка операций DAX (прямой доступ к ФС в обход страничного кэша без применения уровня блочных устройств) в привязке к отдельным файлам и каталогам.
    • В системный вызов statx() добавлен флаг STATX_ATTR_DAX, при указании которого информация извлекается с использованием механизма DAX.
    • В EXFAT добавлена поддержка верификации загрузочной области.
    • В FAT улучшена упреждающая загрузка элементов ФС. Тестирование медленного 2ТБ USB-накопителя показало сокращение времени прохождения теста с 383 до 51 сек.
  • Сетевая подсистема
    • В код управления работой сетевых мостов добавлена поддержка протокола MRP (Media Redundancy Protocol), позволяющего обеспечить отказоустойчивость, закольцевав несколько Ethernet-коммутаторов.
    • В систему управления трафиком (Tc) добавлено новое действие «gate», дающее возможность определить временные интервалы для обработки и отбрасывания определённых пакетов.
    • В ядро и утилиту ethtool добавлена поддержка функций тестирования присоединённого сетевого кабеля и самодиагностики сетевых устройств.
    • В IPv6-стек добавлена поддержка алгоритма MPLS (Multiprotocol Label Switching) для маршрутизации пакетов с использованием многопротокольной коммутации по меткам (для IPv4 MPLS поддерживался и ранее).
    • Добавлена поддержка передачи пакетов IKE (Internet Key Exchange) и IPSec поверх TCP (RFC 8229) для обхода возможных блокировок UDP.
    • Добавлено сетевое блочное устройство rnbd, позволяющее организовать удалённый доступа к блочному устройству при помощи транспорта RDMA (InfiniBand, RoCE, iWARP) и протокола RTRS.
    • В TCP-стеке добавлена поддержка сжатия диапазонов в ответах выборочного подтверждения (selective acknowledgment, SACK).
    • Для IPv6 реализована поддержка TCP-LD (RFC 6069, Long Connectivity Disruptions).
  • Оборудование
    • В DRM-драйвере i915 для видеокарт Intel включена по умолчанию поддержка чипов Intel Tiger Lake (GEN12), для которых также реализована возможность использования системы SAGV (System Agent Geyserville) для динамической подстройки частоты и напряжения в зависимости от требований к энергопотреблению или производительности.
    • В драйвер amdgpu добавлена поддержка пиксельного формата FP16 и реализована возможность работы с шифрованными буферами в видеопамяти (TMZ, Trusted Memory Zone).
    • Добавлена поддержка датчиков энергопотребления процессоров AMD Zen и Zen2, а также датчиков температуры AMD Ryzen 4000 Renoir. Для AMD Zen и Zen2 обеспечена поддержка извлечения информации об энергопотреблении через интерфейс RAPL (Running Average Power Limit).
    • В драйвер Nouveau добавлена поддержка формата модификаторов NVIDIA. Для gv100 реализована возможность использования чересстрочных режимов развёртки. Добавлено определение vGPU.
    • В драйвер MSM (Qualcomm) добавлена поддержка GPU Adreno A405, A640 и A650.
    • Добавлен внутренний фреймворк для управления ресурсами DRM (Direct Rendering Manager).
    • Добавлена поддержка смартфонов Xiaomi Redmi Note 7 и Samsung Galaxy S2, а также ноутбуков Elm/Hana Chromebook.
    • Добавлены драйверы для LCD-панелей: ASUS TM5P5 NT35596, Starry KR070PE2T, Leadtek LTK050H3146W, Visionox rm69299, Boe tv105wum-nw0.
    • Добавлена поддержка ARM-плат и платформ Renesas «RZ/G1H», Realtek RTD1195, Realtek RTD1395/RTD1619, Rockchips RK3326, AMLogic S905D, S905X3, S922XH, Olimex A20-OLinuXino-LIME-eMMC, Check Point L-50, , Beacon i.MX8m-Mini, Qualcomm SDM660/SDM630, Xnano X5 TV Box, Stinger96, Beaglebone-AI.
    • Добавлена поддержка MIPS-процессора Loongson-2K (сокращённый Loongson64). Для CPU Loongson 3 добавлена поддержка виртуализации с использованием гипервизора KVM.
    • Добавлена поддержка российского процессора Baikal-T1 и основанной на нём системы на кристалле BE-T1000. Процессор Baikal-Т1 содержит два суперскалярных ядра P5600 MIPS 32 r5, работающих на частоте 1.2 ГГц. Чип содержит кэш L2 (1 Мб), контроллер памяти DDR3-1600 ECC, 1 порт 10Gb Ethernet, 2 порта 1Gb Ethernet, контроллер PCIe Gen.3 х4, 2 порта SATA 3.0, USB 2.0, GPIO, UART, SPI, I2C. Процессор предоставляет аппаратную поддержку виртуализации, инструкции SIMD и интегрированный аппаратный ускоритель криптографических операций, поддерживающий ГОСТ 28147-89. Чип разработан с использованием лицензированного у компании Imagination Technologies блока процессорного ядра MIPS32 P5600 Warrior.

Одновременно латиноамериканский Фонд свободного ПО сформировал вариант полностью свободного ядра 5.8Linux-libre 5.8-gnu, очищенного от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. В новом выпуске отключена загрузка блобов в драйверах для Atom ISP Video, MediaTek 7663 USB/7915 PCIe, Realtek 8723DE WiFi, Renesas PCI xHCI, HabanaLabs Gaudi, Enhanced Asynchronous Sample Rate Converter, Maxim Integrated MAX98390 Speaker Aimplifier, Microsemi ZL38060 Connected Home Audio Processor, и I2C EEPROM Slave. Обновлён код чистки блобов в драйверах и подсистемах Adreno GPU, HabanaLabs Goya, x86 touchscreen, vt6656 и btbcm.

Источник: [ссылка]