The OpenNET Project / Index page

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

18.06 Доступен Wasmer 2.0, инструментарий для создания приложений на базе WebAssembly (35 –1)
  Состоялся второй значительный выпуск проекта Wasmer, развивающего runtime для выполнения модулей WebAssembly, который можно использовать для создания универсальных приложений, способных выполняться в разных операционных системах, а также для изолированного выполнения кода, не заслуживающего доверия. Код проекта написан на языке Rust и распространяется под лицензией MIT.

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

Управление доступом и взаимодействие с системой обеспечивается при помощи API WASI (WebAssembly System Interface), предоставляющем программные интерфейсы для работы с файлами, сокетами и другими функциями, предоставляемыми операционной системой. Приложения изолированы от основной системы в sandbox-окружении и имеют доступ только к заявленной функциональности (механизм безопасности на основе управления возможностями - для действий с каждым из ресурсов (файлы, каталоги, сокеты, системные вызовы и т.п.) приложению должны быть даны соответствующие полномочия).

Для запуска WebAssembly-контейнера достаточно установить в системе runtime Wasmer, который поставляется без внешних зависимостей ("curl https://get.wasmer.io -sSfL | sh"), и запустить необходимый файл ("wasmer test.wasm"). Программы распространяются в форме обычных WebAssembly-модулей, для управления которыми можно использовать пакетный менеджер WAPM. Wasmer также доступен в форме библиотеки, которую можно использовать для встраивания кода WebAssembly в программы на языках Rust, С/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir и Java.

Платформа позволяет добиться производительности выполнения приложений, близкой к выполнению родных сборок. При помощи Native Object Engine для WebAssembly-модуля можно сгенерировать машинный код ("wasmer compile --native" для генерации предкомпилированных объектных файлов .so, .dylib и .dll), для запуска которого требуется минимальный runtime, но сохраняются все возможности sandbox-изоляции. Возможна поставка предкомпилированных программ со встроенным Wasmer. Для создания надстроек и дополнений предлагаются Rust API и Wasm-C-API.

Значительная смена номера версии Wasmer связана с внесением нарушающих совместимость изменений во внутренний API, которые, по заверению разработчиков, никак не отразятся на 99% пользователей платформы. Из нарушающих совместимость изменений также отмечается изменение формата сериализированных модулей Wasm (модули, сериализированные в Wasmer 1.0, не смогут использоваться в Wasmer 2.0). Другие изменения:

  • Поддержка инструкций SIMD (Single Instruction, Multiple Data), позволяющих организовать распараллеливание операций над данными. Из областей, в которых применение SIMD может заметно поднять производительность, отмечается машинное обучение, кодирование и декодирование видео, обработки изображений, симуляция физических процессов и манипуляции с графикой.
  • Поддержка ссылочных типов, позволяющих модулям Wasm обращаться к информации в других модулях или в базовом окружении.
  • Проведена значительная оптимизация производительности. Скорость работы LLVM runtime с числами с плавающей запятой увеличена примерно на 50%. Значительно ускорен вызов функций за счёт сокращения ситуаций, требующих обращения к ядру. На 40% увеличена производительность генератора кода Cranelift. Сокращено время десериализации данных.
  • Для более точного отражения сути изменены названия движков: JIT → Universal, Native → Dylib (Dynamic Library), Object File → StaticLib (Static Library).

  1. Главная ссылка к новости
  2. OpenNews: Wasmer 1.0, инструментарий для платформонезависимых приложений на базе WebAssembly
  3. OpenNews: Разработчики V8 представили декомпилятор для WebAssembly
  4. OpenNews: Первый выпуск wasm3, быстрого интерпретатора WebAssembly
  5. OpenNews: W3C придал WebAssembly статус рекомендованного стандарта
  6. OpenNews: Mozilla, Fastly, Intel и Red Hat продвигают WebAssembly, как платформу для универсального применения
Обсуждение (35 –1) | Тип: Программы |


18.06 Выпуск Rust 1.53. Google профинансирует добавление поддержки Rust в ядро Linux (205 –10)
  Опубликован релиз языка системного программирования Rust 1.53, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).

Автоматическое управление памятью в Rust избавляет разработчика от ошибок при манипулировании указателями и защищает от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io.

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

Дополнительно можно отметить предоставление финансирования работы по развитию интеграции в ядро Linux средств для разработки компонентов на языке Rust. Работа будет вестись в рамках проекта Prossimo под эгидой организации ISRG (Internet Security Research Group), которая является учредителем проекта Let's Encrypt и способствует продвижению HTTPS и развитию технологий для повышения защищённости интернета. Средства будут предоставлены компанией Google, которая оплатит работу Мигеля Охеда (Miguel Ojeda), автора проекта Rust-for-Linux. Ранее ISRG и Google уже профинансировали создание альтернативного HTTP-бэкенда для утилиты curl и разработку нового TLS-модуля для http-сервера Apache.

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

Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами и учёт времени жизни объектов (области видимости), а также через оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск языка программирования Rust 1.52
  3. OpenNews: Поддержка Rust для ядра Linux столкнулась с критикой Торвальдса
  4. OpenNews: Rust включён в число основных языков для разработки платформы Android
  5. OpenNews: Для http-сервера Apache будет подготовлен TLS-модуль, написанный на языке Rust
  6. OpenNews: В ветку ядра Linux-next добавлен код для разработки драйверов на языке Rust
Обсуждение (205 –10) | Тип: Программы |


17.06 Компания Cloudflare опубликовала WARP для Linux (96 +15)
  Компания Cloudflare объявила о выпуске варианта приложения WARP для Linux, которое комбинирует в одном приложении DNS-резолвер, использующий DNS-сервис 1.1.1.1, VPN и прокси для перенаправления трафика через инфраструктуру сети доставки контента Cloudflare. Для шифрования трафика в VPN используется протокол WireGuard в реализации BoringTun, написанной на языке Rust и работающей целиком в пространстве пользователя.

Отличительной особенностью WARP является тесная интеграция с сетью доставки контента. Cloudflare предоставляет сеть доставки контента для 25 млн интернет-ресурсов и обслуживает трафик 17% из 1000 крупнейших сайтов. Если ресурс обслуживается в Cloudflare, обращение к нему через WARP приведёт к более быстрой передаче контента, чем при обращении через сеть провайдера.

Помимо VPN предусмотрено несколько режимов работы, позволяющих, например, шифровать только DNS-запросы (включить DNS-over-HTTPS) или запустить WARP в режиме прокси, к которому можно обращаться через HTTPS или SOCKS5. Также по желанию можно активировать фильтры для блокирования обращения к ресурсам, на которых выявлена вредоносная активность или контент для взрослых.

Готовые пакеты с WARP для Linux подготовлены для Ubuntu (16.04, 20.04), Debian (9, 10, 11), Red Hat Enterprise Linux (7, 8) и CentOS. В дальнейшем обещают расширить число поддерживаемых дистрибутивов. Программа оформлена в виде консольной утилиты warp-cli. Для организации работы VPN, использующего сеть Cloudflare, в простейшем случае достаточно аутентифицироваться в сети командой "warp-cli register" и командой "warp-cli connect" создать туннель для передачи трафика из своей системы.


   $ warp-cli register
   Success

   $ warp-cli connect
   Success

   $ curl https://www.cloudflare.com/cdn-cgi/trace/
   warp=on

  1. Главная ссылка к новости
  2. OpenNews: Cloudflare, Tesla многие другие компании скомпрометированы через камеры наблюдения Verkada
  3. OpenNews: Ошибка при настройке BGP привела к 27-минутному сбою в работе Cloudflare
  4. OpenNews: Cloudflare запустил сервис для отслеживания фильтрации некорректных маршрутов BGP
  5. OpenNews: Компания Cloudflare подготовила патчи, кардинально ускоряющие дисковое шифрование в Linux
  6. OpenNews: Cloudflare представил открытый сканер сетевой безопасности Flan Scan
Обсуждение (96 +15) | Тип: К сведению |


17.06 Google предложил SLSA для защиты от вредоносных изменений в процессе разработки (71 –1)
  Компания Google представила фреймворк SLSA (Supply-chain Levels for Software Artifacts), в котором обобщён имеющийся опыт по защите инфраструктуры разработки от атак, осуществляемых на стадии написания кода, тестирования, сборки и распространения продукта.

Процессы разработки становятся всё более сложными и зависящими от сторонних инструментариев, что создаёт благоприятные условия для продвижения атак, связанных не с выявлением и эксплуатацией уязвимостей в конечном продукте, а с компрометацией самого процесса разработки (атаки "supply chain", как правило нацеленные на внедрение вредоносных изменений в процессе написания кода, подмену распространяемых компонентов и зависимостей).

Фреймворк учитывает 8 видов атак, связанных с угрозами внесения вредоносных изменений на этапе разработки кода, сборки, тестирования и распространения продукта.

  • A. Включение в исходный код изменений, содержащих бэкдоры или скрытые ошибки, приводящие к уязвимостям.

    Пример атаки: "Hypocrite Commits" - попытка продвижения в ядро Linux патчей с уязвимостями.

    Предлагаемый метод защиты: независимое рецензирование каждого изменения двумя разработчиками.

  • B. Компрометация платформы управления исходным кодом.

    Пример атаки: внедрение вредоносных коммитов с бэкдором в Git-репозиторий проекта PHP после утечки паролей разработчиков.

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

  • C. Внесение изменений на этапе передачи кода в систему сборки или непрерывной интеграции (собирается код, не соответствующий коду из репозитория).

    Пример атаки: внедрение бэкдора в Webmin путем внесения изменений в сборочную инфраструктуру, приведших к использованию файлов с кодом, отличающихся от файлов в репозитории.

    Предлагаемый метод защиты: Проверка целостности и идентификация источника поступления кода на сборочном сервере.

  • D. Компрометация сборочной платформы.

    Пример атаки: атака SolarWinds, в ходе которой на этапе сборки было обеспечено внедрение бэкдора в продукт SolarWinds Orion.

    Предлагаемый метод защиты: внедрение расширенных мер обеспечения безопасности сборочной платформы.

  • E. Продвижение вредоносного кода через некачественные зависимости.

    Пример атаки: внедрение бэкдора в популярную библиотеку event-stream, через добавление безобидной зависимости с последующим включением в одном из обновлений этой зависимости вредоносного кода (вредоносное изменение не было отражено в git-репозитории, а присутствовало только в готовом MNP-пакете).

    Предлагаемый метод защиты: рекурсивное применение требований SLSA ко всем зависимостям (в случае event-stream проверка бы выявила сборку кода, не соответствующего содержимому основного Git-репозитория).

  • F. Загрузка артефактов, не созданных в системе CI/CD.

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

    Предлагаемый метод защиты: контроль за источником и целостностью артефактов (в случае с CodeCov могло быть выявлено, что отдаваемый с сайта codecov.io скрипт Bash Uploader не соответствует коду из репозитория проекта).

  • G. Компрометация репозитория пакетов.

    Пример атаки: исследователям удалось развернуть зеркала некоторых популярных репозиториев пакетов с целью распространения через них вредоносных пакетов.

    Предлагаемый метод защиты: Проверка, что распространяемые артефакты собраны из заявленных исходных текстов.

  • H. Введение в замешательство пользователя для установки не того пакета.

    Пример атаки: использование тайпсквоттинга (NPM, RubyGems, PyPI) для размещения в репозиториях пакетов, похожих по написанию на популярные приложения (например, coffe-script вместо coffee-script).

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

Обсуждение (71 –1) | Тип: К сведению |


17.06 Релиз сетевого конфигуратора NetworkManager 1.32.0 (91 +6)
  Доступен стабильный релиз интерфейса для упрощения настройки параметров сети - NetworkManager 1.32.0. Плагины для поддержки VPN, OpenConnect, PPTP, OpenVPN и OpenSWAN развиваются в рамках собственных циклов разработки.

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

  • Предоставлена возможность выбора бэкенда управления межсетевым экраном, для чего в NetworkManager.conf добавлена новая опция "[main].firewall-backend". По умолчанию выставляется бэкенд "nftables", а когда в системе отсутствует файл /usr/sbin/nft и присутствует /usr/sbin/iptables - бэкенд "iptables". В будущем планируется добавить ещё один бэкенд на базе Firewalld. Указанная возможность может применяться для настройки транслятора адресов при помощи nftables (ранее использовался только iptables) при включении профиля совместного доступа (shared).
  • Добавлены новые опции "ethtool.pause-autoneg", "ethtool.pause-rx" и "ethtool.pause-tx" для внесения задержек при приёме или отправке Ethernet-кадров. Добавлены опции соответствуют аналогичным режимам в утилите ethtool - "--pause devname [autoneg on|off] [rx on|off] [tx on|off]".
  • Добавлен параметр "ethernet.accept-all-mac-addresses", позволяющий перевести сетевой адаптер в режим "promiscuous" для анализа транзитных сетевых кадров, не адресованных текущей системе.
  • Предоставлена возможность выполнения обратных DNS-запросов для настройки имени хоста на основе имени из DNS, определённого для выданного системе IP-адреса. Режим включается при помощи опции hostname в профиле. Ранее для определения имени хоста вызывалась функция getnameinfo(), которая учитывала конфигурацию NSS и имя, заданное в файле /etc/hostname (новая возможность позволяет задавать имя только на основе резолвинга обратной зоны в DNS). Для запроса имени хоста через DNS теперь используется API systemd-resolved, а если systemd не применяется запускается обработчик 'nm-daemon-helper' на базе NSS-модуля 'dns'.
  • Добавлена поддержка типов правил маршрутизации "prohibit", "blackhole" и "unreachable".
  • Изменено поведение, касающееся правил управления трафиком - по умолчанию NetworkManager теперь сохраняет уже выставленные в системе правила qdiscs и фильтры трафика.
  • Обеспечено зеркалирование профилей беспроводных соединений NetworkManager в файлы конфигурации iwd.
  • Добавлена поддержка DHCP-опции 249 (Microsoft Classless Static Route).
  • Добавлена поддержка параметра ядра "rd.net.dhcp.retry", управляющего запросом обновлений привязки к IP-адресу.
  • Проведена значительная реструктуризации исходных текстов.
  • Внесены изменения в API, которые не должны отразиться на совместимости с существующими надстройками. Например, прекращена обработка сигнала PropertiesChanged и D-Bus свойства org.freedesktop.DBus.Properties.PropertiesChanged, которые давно объявлены устаревшими. В библиотеке libnm скрыты определения структур в классах NMSimpleConnection, NMSetting и NMSetting. В качестве основного ключа для идентификации профиля соединения задействован формат "connection.uuid".

Дополнительно можно отметить выпуск сетевого конфигуратора ConnMan 1.40, который развивается компанией Intel и отличается низким потреблением системных ресурсов и наличием гибких средств для расширения функциональности через плагины. ConnMan используется в таких платформах и дистрибутивах, как Tizen, Yocto, Sailfish, Aldebaran Robotics и Nest, а также в различных потребительских устройствах с прошивками на базе Linux.

Компания Intel также опубликовала выпуск Wi-Fi демона IWD 1.15 (iNet Wireless Daemon), развиваемого в качестве альтернативы wpa_supplicant для организации подключения Linux-систем к беспроводной сети. IWD может использоваться как самодостаточно, так и выступать в качестве бэкенда для сетевых конфигураторов Network Manager и ConnMan. Проект подходит для применения на встраиваемых устройствах и оптимизирован для минимального потребления памяти и дискового пространства. IWD не использует внешних библиотек и обращается только к возможностям, предоставляемым штатным ядром Linux (для работы достаточно ядра Linux и Glibc).

В новой версии ConnMan отмечены только исправления ошибок, связанные с обработкой состояния автосоединения и отключения в WiFi. Также устранена уязвимость, вызванная переполнением буфера в коде DNS Proxy. В новой версии IWD реализована поддержка экспортирования информации о работе фонового процесса, добавлена возможность прогнозирования интенсивности поступления пакетов в режиме VHT RX (Very High Throughput) и обеспечена поддержка процедуры FT-over-DS с несколькими базовыми наборами служб (BSS).

  1. Главная ссылка к новости
  2. OpenNews: Релиз сетевого конфигуратора NetworkManager 1.30.0
  3. OpenNews: Выпуск сетевого конфигуратора ConnMan 1.38
  4. OpenNews: Релиз программы для настройки сетевых соединений Wicd 1.7
  5. OpenNews: Выпуск hostapd и wpa_supplicant 2.7
  6. OpenNews: Выпуск Wi-Fi демона IWD 1.10
Обсуждение (91 +6) | Тип: Программы |


16.06 Обновление Firefox 89.0.1 (109 +18)
  Доступен корректирующий выпуск Firefox 89.0.1, в котором предложено несколько исправлений:
  • Устранена проблема с некорректной работой полос прокрутки на платформе Linux, проявляющаяся при использовании некоторых тем оформления GTK.
  • Решены проблемы с производительностью и стабильностью работы системы композитинга WebRender на платформе Linux.
  • Устранены регрессивные изменения, связанные со шрифтами. Временно выключена настройка gfx.e10s.font-list.shared, позволяющая сэкономить около 500 КБ памяти для каждого процесса обработки контента.
  • В macOS решена проблема с мерцанием экрана при прокрутке страниц на внешнем мониторе.
  • В версии для Windows решена проблема с некорректной работой экранных ридеров.
  • Устранена уязвимость (CVE-2021-29968), приводящая к чтению данных из области за границей буфера при отрисовке текстовых символов в элементе Canvas. Проблема проявляется только на платформе Windows при отключённом WebRender.

  1. Главная ссылка к новости
  2. OpenNews: Релиз Firefox 89 с переработанным интерфейсом
  3. OpenNews: Mozilla обобщила планы по поддержке в Firefox третьей версии манифеста Chrome
  4. OpenNews: Mozilla подготовила для Firefox дополнение с системой машинного перевода
  5. OpenNews: Компания Mozilla представила режим строгой изоляции сайтов для Firefox
  6. OpenNews: В Firefox 89 будет удалено меню адресной строки
Обсуждение (109 +18) | Тип: Программы |


16.06 Выпуск DXVK 1.9, реализации Direct3D 9/10/11 поверх API Vulkan (44 +31)
  Доступен выпуск прослойки DXVK 1.9, предоставляющей реализацию DXGI (DirectX Graphics Infrastructure), Direct3D 9, 10 и 11, работающую через трансляцию вызовов в API Vulkan. Для использования DXVK требуется наличие драйверов с поддержкой API Vulkan 1.1, таких как Mesa RADV 20.2, NVIDIA 415.22, Intel ANV 19.0 и AMDVLK. DXVK может применяться для запуска 3D-приложений и игр в Linux при помощи Wine, выступая в качестве более высокопроизводительной альтернативы встроенных в Wine реализаций Direct3D 9/10/11, работающих поверх OpenGL.

Основные изменения:

  • Добавлена начальная поддержка форматов текстур YUV с цветовой субдискретизацией, таких как NV12, применяемых для воспроизведения видео в некоторых играх.
  • Реализован API ID3D11VideoProcessor, который используется для вывода видео в играх Nier Replicant и Contra: Rogue Corps.
  • Добавлена поддержка консервативной растеризации (Conservative Rasterization) для GPU, поддерживающих такую возможность. Изменение позволяет использовать опцию NVIDIA ShadowLibs в Final Fantasy XV и других играх.
  • Сокращены задержки при отображении, что может решить проблемы в играх, ограниченных вертикальной синхронизацией, ограничителями FPS или настройками DXGI.
  • Добавлен компонент для ограничения интенсивности показа кадров (frame rate limiter), который можно использовать для корректной работы игр, не рассчитанных на высокий FPS.
  • Прекращена передача приложениям информации о программных реализациях Vulkan, таких как Lavapipe, если в системе присутствует GPU с поддержкой Vulkan, что решает проблемы, возникающие при попытках использования играми Lavapipe вместо корректного драйвера. Для включения Lavapipe предлагается установить переменную окружения VK_ICD_FILENAMES.
  • Улучшена загрузка текстур и буферов в D3D9.
  • Решены проблемы в играх Atelier Mysterious Trilogy Deluxe Pack, Dal Segno, Nights of Azure, Days Gone, Demon Stone, Dragon Quest Builder 2, Final Fantasy XIII, Spec Ops: The Line, GTA IV, Halo 2, Kohan II, Nier Replicant, Second Sight и TrackMania Forever.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск DXVK 1.8, реализации Direct3D 9/10/11 поверх API Vulkan
  3. OpenNews: Компания Valve выпустила Proton 6.3-3, пакет для запуска Windows-игр в Linux
  4. OpenNews: В Wayland-драйвере для Wine появилась поддержка Vulkan и многомониторных конфигураций
  5. OpenNews: Выпуск Proton 6.10-GE-1, расширенной сборки Proton, пакета для запуска Windows-игр в Linux
Обсуждение (44 +31) | Тип: Программы |


16.06 Представлена библиотека Aya для создания eBPF-обработчиков на языке Rust (112 +5)
  Представлен первый выпуск библиотеки Aya, позволяющей создавать на языке Rust обработчики eBPF, запускаемые внутри ядра Linux в специальной виртуальной машине с JIT. В отличие от других инструментов для разработки eBPF-программ, Aya не использует libbpf и компилятор bcc, а предлагает собственную реализацию, написанную на Rust, которая использует crate-пакет libc для прямого обращения к системным вызовам ядра. Для сборки Aya не требуется наличие инструментария для языка C и заголовочных файлов ядра. Код библиотеки распространяется под лицензиями MIT и Apache 2.0.

Основные возможности:

  • Поддержка формата BTF (BPF Type Format), предоставляющего информацию о типах в псевдокоде BPF для проверки типов и сопоставления с типами, предоставляемыми текущим ядром. Применение BTF даёт возможность создавать универсальные eBPF-обработчики, которые можно использовать без перекомпиляции с разными версиями ядра Linux.
  • Поддержка вызовов "bpf-to-bpf", глобальных переменных и инициализаторов, что позволяет оформлять программы для eBPF по аналогии с обычными программами, использующими aya в качестве runtime, переопределяющем функции с учётом работы в eBPF.
  • Поддержка внутренних типов ядра, включая обычные массивы, хэши (hash map), стеки, очереди, трассировки стека, а также структуры для сокетов и отслеживания производительности.
  • Возможность создавать различные типы eBTF-программ, включая программы для фильтрации и управления трафиком, обработчики cgroup и различных операций с сокетами, XDP-программы.
  • Поддержка платформ для асинхронной обработки запросов в неблокирующем режиме tokio и async-std.
  • Быстрая сборка, без привязки к сборке ядра и заголовочным файлам ядра.

Проект пока рассматривается как экспериментальный - API ещё не стабилизирован и продолжает развиваться. Также ещё не реализованы все задуманные возможности. До конца года разработчики рассчитывают довести функциональность Aya до паритета с libbpf, а в январе 2022 года сформировать первый стабильный релиз. Также планируется объединить части Aya, необходимые для написания кода на Rust для ядра Linux с компонентами, работающими в пространстве пользователя и используемыми для загрузки, прикрепления и взаимодействия с программами eBPF.

Напомним, что eBPF представляет собой встроенный в ядро Linux интерпретатор байткода, позволяющий создавать обработчики сетевых операций, отслеживать работу систем, перехватывать системные вызовы, контролировать доступ, обрабатывать события с сохранением хронометража, подсчитывать частоту и время выполнения операций, выполнять трассировку с использованием kprobes/uprobes/tracepoints. Благодаря применению JIT-компиляции, байткод на лету транслируется в машинные инструкции и выполняется с производительностью нативного кода. XDP предоставляет средства для запуска BPF-программ на уровне сетевого драйвера, с возможностью прямого доступа к DMA-буферу пакетов, что позволяет создавать высокопроизводительные обработчики для работы в условиях большой сетевой нагрузки.

  1. Главная ссылка к новости
  2. OpenNews: Уязвимости в подсистеме eBPF, позволяющие выполнить код на уровне ядра Linux
  3. OpenNews: Microsoft подготовил реализацию eBPF для Windows
  4. OpenNews: Компания Oracle намерена переработать DTrace для Linux с использованием eBPF
  5. OpenNews: В ветку ядра Linux-next добавлен код для разработки драйверов на языке Rust
  6. OpenNews: Поддержка Rust для ядра Linux столкнулась с критикой Торвальдса
Обсуждение (112 +5) | Тип: Программы |


16.06 Разработчики Glibc рассматривают вопрос прекращения передачи прав на код Фонду СПО (96 –7)
  Ключевые разработчики системной библиотеки GNU C Library (glibc) выставили на обсуждение предложение по прекращению обязательной передачи Фонду СПО имущественных прав на код. По аналогии с изменениями в проекте GCC, в Glibc предлагается перевести подписание CLA-соглашения с Фондом СПО в разряд необязательных и предоставить разработчикам возможность подтверждения права на передачу кода проекту при помощи механизма Developer Certificate of Origin (DCO).

В соответствии с DCO отслеживание автора осуществляется через прикрепление каждому изменению строки "Signed-off-by: имя и email разработчика". Прикрепляя данную подпись к патчу, разработчик подтверждает своё авторство над передаваемым кодом и соглашается с его распространением в составе проекта или как части кода под свободной лицензией. В отличие от действий проекта GCC, решение не спущено управляющим советом сверху, а вначале выставлено на обсуждение со всеми представителями сообщества.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск системной библиотеки Glibc 2.33
  3. OpenNews: Автор GnuPG прекращает передачу имущественных прав Фонду СПО
  4. OpenNews: Движение по смещению Столлмана со всех постов и роспуску совета директоров Фонда СПО
  5. OpenNews: Фонд СПО пересмотрит состав совета директоров с привлечением сообщества
  6. OpenNews: Проект GCC разрешил приём изменений без передачи Фонду СПО прав на код
Обсуждение (96 –7) | Тип: Тема для размышления |


16.06 Релиз минималистичного дистрибутива Alpine Linux 3.14 (46 +18)
  Состоялся релиз Alpine Linux 3.14, минималистичного дистрибутива, построенного на базе системной библиотеки Musl и набора утилит BusyBox. Дистрибутив отличается повышенными требованиями к обеспечению безопасности и собран с защитой SSP (Stack Smashing Protection). В качестве системы инициализации используется OpenRC, для управления пакетами применяется собственный пакетный менеджер apk. Alpine применяется для формирования официальных образов контейнеров Docker. Загрузочные iso-образы (x86_64, x86, armhf, aarch64, armv7, ppc64le, s390x, mips64) подготовлены в пяти вариантах: стандартном (143 МБ), с ядром без патчей (155 МБ), расширенном (615 МБ) и для виртуальных машин (45 МБ).

В новом выпуске обновлены версии пакетов, в том числе доступны выпуски HAProxy 2.4.0, KDE Apps 21.04.2, nginx 1.20.0, njs 0.5.3 Node.js 14.17.0, KDE Plasma 5.22.0, PostgreSQL 13.3, Python 3.9.5, R 4.1.0, QEMU 6.0.0, Zabbix 5.4.1. В состав включён пакет с Lua 5.4.3.

  1. Главная ссылка к новости
  2. OpenNews: Релиз минималистичного дистрибутива Alpine Linux 3.13
  3. OpenNews: Docker-образы Alpine поставлялись с пустым паролем пользователя root
  4. OpenNews: Уязвимость в пакетном менеджере APK, позволяющая удалённо выполнить код в Alpine Linux
Обсуждение (46 +18) | Тип: Программы |


16.06 Мэйнтейнер Cinnamon в Debian перешёл на использование KDE (169 +55)
  Норберт Прейнинг (Norbert Preining) объявил о снятии с себя полномочий по созданию пакетов с новыми версиями рабочего стола Cinnamon для Debian в связи с тем, что он прекратил использование Cinnamon на своей системе и перешёл на KDE. Так как Норберт больше не использует Cinnamon постоянно, он не может обеспечить качественное тестирование пакетов в реальных условиях работы.

В своё время Норберт перешёл с GNOME3 на Cinnamon из-за проблем с юзабилити для продвинутых пользователей в GNOME3. Какое-то время сочетание консервативного интерфейса Cinnamon с современными технологиями GNOME устраивало Норберта, но эксперименты с KDE показали, что данное окружение больше удовлетворяет его потребностям. KDE Plasma характеризуется Норбертом как более лёгкое, быстрое, отзывчивое и настраиваемое окружение. Он уже приступил к формированию свежих сборок с KDE для Debian, подготовленных в сервисе OBS, и намерен в скором времени загрузить пакеты с KDE Plasma 5.22 в ветку Debian Unstable.

Норберт выразил готовность по остаточному принципу продолжить сопровождение существующих пакетов с Cinnamon 4.x для Debian 11 "Bullseye", но не намерен формировать пакеты с Cinnamon 5 и вести какую-либо серьёзную работу, связанную с Cinnamon. Для продолжения развития пакетов с Cinnamon для Debian уже нашлись новые мэйнтейнеры - Joshua Peisach, автор Ubuntu Cinnamon Remix, и Fabio Fantoni, принимающий участие в разработке Cinnamon, которые сообща готовы обеспечить качественную поддержку пакетов с Cinnamon для Debian.

  1. Главная ссылка к новости
  2. OpenNews: Мэйнтейнеры Fedora и Gentoo отказались от сопровождения пакетов с Telegram Desktop
  3. OpenNews: Линус Торвальдс о проблемах с поиском мэйнтейнеров, Rust и рабочих процессах
  4. OpenNews: Лишь 9.27% мэйнтейнеров пакетов NPM используют двухфакторную аутентификацию
  5. OpenNews: Майкл Штапельберг ушёл из числа мэйнтейнеров проекта Debian
  6. OpenNews: Systemd в Debian остался без мэйнтейнера из-за разногласий с разработчиками systemd
Обсуждение (169 +55) | Тип: К сведению |


15.06 Доступен серверный Linux-дистрибутив SME Server 10.0 (19 +9)
  Представлен релиз серверного Linux-дистрибутива SME Server 10.0, построенного на основе пакетной базы CentOS и предназначенного для использования в серверной инфраструктуре малого и среднего бизнеса. Особенностью дистрибутива является наличие в составе преднастроенных типовых компонентов, полностью готовых к работе и настраиваемых через web-интерфейс. Среди таких компонентов можно отметить почтовый сервер с фильтрацией спама, web-сервер, сервер печати, файловый архив, служба каталогов, межсетевой экран и т.п. Размер iso-образов 1.5 ГБ и 635 МБ. Новый выпуск примечателен обновлением до пакетной базы CentOS 7 (прошлая ветка SME Server 9.x была основана на CentOS 6).

  1. Главная ссылка к новости
  2. OpenNews: Доступен серверный Linux-дистрибутив SME Server 9.0
  3. OpenNews: Представлен серверный Linux-дистрибутив SME Server 8
  4. OpenNews: Доступен серверный дистрибутив NethServer 7.9
  5. OpenNews: Выпуск серверного дистрибутива Zentyal 7.0
  6. OpenNews: Релиз Proxmox VE 6.4, дистрибутива для организации работы виртуальных серверов
Обсуждение (19 +9) | Тип: Программы |


15.06 Выпуск текстового редактора GNU nano 5.8 (88 +20)
  Состоялся релиз консольного текстового редактора GNU nano 5.8, предлагаемого в качестве редактора по умолчанию во многих пользовательских дистрибутивах, разработчики которых считают vim слишком сложным для освоения.

В новом выпуске

  • После поиска подсветка отключается через 1,5 секунды (0,8 секунды при указании --quick), чтобы не создавалось впечатление о том, что текст выделен.
  • Знак "+" и пробел перед именем файла в командной строке помещает курсор в конец соответствующего буфера.
  • Сообщения linter больше не содержат номеров файлов и строк/столбцов.
  • Название цвета "grey" или "gray" можно использовать вместо "lightblack".
  • Цвет мини-панели можно выбрать с помощью команды "set minicolor".

  1. Главная ссылка к новости
  2. OpenNews: Выпуск текстового редактора GNU nano 5.7
  3. OpenNews: Релиз текстового редактора Vim 8.2
  4. OpenNews: Релиз текстового редактора GNU Emacs 27.2
  5. OpenNews: Демонстрация атаки на редакторы кода, приводящей к утечке файлов при открытии исходных текстов
Обсуждение (88 +20) | Автор: Павел Павлов | Тип: Программы |


15.06 Google открыл инструментарий для полностью гомоморфного шифрования (118 +29)
  Компания Google опубликовала открытый набор библиотек и утилит с реализацией системы полностью гомоморфного шифрования, позволяющей обрабатывать данные в шифрованном виде, которые не фигурируют в открытой форме ни на одном из этапов вычислений. Инструментарий даёт возможность создавать программы для конфиденциальных вычислений, способные работать с данными без расшифровки, в том числе выполнять математические и простые строковые операции над зашифрованными данными. Код проекта написан на языке C++ и распространяется под лицензией Apache 2.0.

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

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

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

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

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

  1. Главная ссылка к новости
  2. OpenNews: IBM открыл тулкит гомоморфного шифрования для Linux
  3. OpenNews: IBM, Google, Microsoft и Intel образовали альянс для развития открытых технологий защиты данных
  4. OpenNews: Google открыл код библиотеки для конфиденциальной обработки данных
  5. OpenNews: CryptDB - проект по обеспечению надежного шифрования данных в СУБД
  6. OpenNews: Google открыл систему для анализа наборов данных без нарушения конфиденциальности
Обсуждение (118 +29) | Тип: К сведению |


15.06 Второй кандидат в релизы инсталлятора Debian 11 "Bullseye" (133 +20)
  Опубликован второй кандидат в релизы инсталлятора следующего значительного релиза Debian - "Bullseye". В настоящее время насчитывается 155 критических ошибок, блокирующих релиз (месяц назад было 185, два месяца назад - 240, четыре месяца назад - 472, в момент заморозки в Debian 10 - 316, Debian 9 - 275, Debian 8 - 350, Debian 7 - 650).

Одновременно анонсирована дата полной заморозки пакетной базы Debian 11 "Bullseye", непосредственно предшествующей релизу. 17 июля передача любых изменений в пакеты будет блокирована и потребует получения разрешения от команды ответственных за формирование релиза. Релиз ожидается во второй половине лета 2021 года.

Ключевые изменения в инсталляторе по сравнению с первым кандидатом в релизы:

  • В конфигураторе cdebconf (Debian Configuration Management System) улучшено оформление информационных сообщений и журнала действий. Решены проблемы с зависаниями, проявляющимися при переключении в оболочку режима восстановления после сбоя или выбора некоторых языков интерфейса.
  • Обновлён список зеркал.
  • В состав всех образов, включая образы для установки по сети, добавлены пакеты brltty и espeakup для людей с проблемами со зрением.
  • Ядро Linux обновлено до версии 5.10.0-7.
  • Предоставлена возможность принудительного выставления уровня режима установки в условиях небольшого объёма памяти в системе (lowmem=+0). Обновлены уровни lowmem для архитектур arm64, armhf, mipsel, mips64el и ppc64el.
  • В udev-udeb обеспечена настройка символических ссылок /dev/fd и /dev/std{in,out,err}.
  • Добавлен модуль mdio для Ethernet-контроллера плат Raspberry Pi 4.

  1. Главная ссылка к новости
  2. OpenNews: Кандидат в релизы инсталлятора Debian 11 "Bullseye"
  3. OpenNews: Джонатан Картер переизбран на пост лидера проекта Debian
  4. OpenNews: Проект Debian выбрал нейтральную позицию относительно петиции против Столлмана
  5. OpenNews: Обновление Debian 10.9
  6. OpenNews: Debian 11 "Bullseye" перешёл на стадию жёсткой заморозки перед релизом
Обсуждение (133 +20) | Тип: Программы |


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



Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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