· | 29.03 | PyPI приостановил регистрацию новых пользователей и проектов из-за всплеска вредоносных публикаций (8 +2) |
Репозиторий Python-пакетов PyPI (Python Package Index) временно запретил регистрацию новых пользователей и создание новых проектов из-за непрекращающейся массовой загрузки вредоносных пакетов в ходе автоматизированной атаки. Блокировка была введена после того, как 26 и 27 марта в репозиторий было загружено 566 пакетов с вредоносным кодом, стилизованных под 16 популярных Python-библиотек.
Имена пакетов сформированы с использованием тайпсквотинга, т.е. назначение похожих имён, отличающихся отдельными символами, например, temsorflow вместо tensorflow, requyests вместо requests, asyincio вместо asyncio и т.п. При проведении подобных атак злоумышленники рассчитывают на невнимательных пользователей, совершивших опечатку или не заметивших отличий в названии при поиске или переходе по ссылке из форумов и чатов, в которых злоумышленники оставляют обманные инструкции. Вредоносные пакеты основаны на коде легитимных библиотек, в который встроены отдельные изменения, устанавливающие в систему вредоносное ПО, осуществляющее поиск и отправку конфиденциальных данных и файлов, содержащих пароли, ключи доступа, криптокошельки, токены и сессионные Cookie. Вредоносный код встраивается в файл setup.py, запускаемый во время установки пакета. Во время активации внесённое изменение осуществляет загрузку основных вредоносных компонентов с внешнего сервера. За два дня злоумышленниками было загружено 29 вредоносных варианта пакета tensorflow, 26 - BeautifulSoup, 26 - PyGame, 15 - SimpleJson, 38 - Matplotlib, 26 - PyTorch, 67- CustomTKInter, 28 - selenium, 17 - playwright, 15 - asyncio и 67 - requirements. Дополнительно выявлены отдельные случая подделки библиотек requests, py-cord, colorama, capmonstercloudclient, pillow и bip-utils. Отдельно отмечается атака на сообщество Top.gg, насчитывающее 170 тысяч пользователей. В ходе атаки злоумышленник сумел скомпрометировать учётную запись в GitHub одного из разработчиков top.gg, путём кражи браузерных Cookie. Атакующий также добавил три пакета в репозиторий PyPI и зарегистрировал домены pypihosted.org и pythanhosted.org, на которых было организовано зеркало для распространения вредоносной зависимости к пакетам. Через взломанную учётную запись в GitHub-репозиторий проекта top.gg, в котором размещалась Python-обвязка над API Top.gg, было внесено изменение, добавляющее файл requirements.txt. В файле был размещён список загружаемых зависимостей, в котором под видом загрузки зависимости с зеркала была ссылка на вредоносный клон пакета "colorama", размещённый на подставном домене pypihosted.org, с расчётом на то, что разработчики не заметят разницы с легитимным доменом pythonhosted.org, с которого обычно производится загрузка пакетов с PyPI.
| ||
Обсуждение (8 +2) |
Тип: Проблемы безопасности |
| ||
· | 29.03 | Проект FuryGpu развивает GPU на базе FPGA (51 +18) |
Представлен рабочий прототип проекта FuryGpu, развивающего самодельный GPU на основе FPGA Xilinx Zynq UltraScale+, оформленный в виде отдельной платы, подключаемой к ПК через интерфейс PCIe. Описания аппаратных блоков реализованы на языке SystemVerilog, а проект платы подготовлен в свободной системе автоматизированного проектирования печатных плат KiCAD. В текущем виде GPU FuryGpu уже позволяет запустить игру Quake с производительностью отрисовки 60 FPS при разрешении 1280 x 720.
Проект разрабатывается с 2021 года в качестве хобби программистом, специализирующемся на разработке компьютерных игр и интересующимся аппаратным обеспечением. Схемы платы, Verilog-описания и драйверы пока недоступны публично, но автор проекта заявил о намерении открыть все связанные с FuryGpu наработки после согласования некоторых юридических вопросов со своим работодателем (согласование необходимо, чтобы подстраховать себя от возможных претензий со стороны работодателя). На текущей стадии развития возможности FuryGpu сравниваются с продвинутой видеокартой середины 1990-годов. Функциональность GPU определена набором фиксированных функций, выполнение программных шейдеров пока не поддерживается, а основное внимание уделяется компонентам для рендеринга, растеризации и обработки текстур. Для выполнения графических операций предоставляется собственный графический API FuryGL, напоминающий API Vulkan, но не совместимый с ним из-за отсутствия поддержки шейдеров. Среди уже доступных возможностей:
| ||
Обсуждение (51 +18) |
Тип: К сведению |
| ||
· | 28.03 | Выпуск набора утилит GNU Coreutils 9.5 и его варианта на языке Rust (27 +9) |
Опубликована стабильная версия набора базовых системных утилит GNU Coreutils 9.5, в состав которого входят такие программы, как sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls и т.д.
Ключевые новшества:
Несколько дней назад также был опубликован выпуск проекта uutils coreutils 0.0.25, развивающего аналог пакета GNU Coreutils, переписанный на языке Rust. В состав coreutils входит более ста утилит, включая sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln и ls. Целью проекта является создание кроссплатформенной альтернативной реализации Coreutils, способной работать в том числе на платформах Windows, Redox и Fuchsia. В отличие от GNU Coreutils реализация на Rust распространяется под пермиссивной лицензией MIT, вместо копилефт-лицензии GPL. В новой версии uutils в качестве эталонного задействован выпуск GNU Coreutils 9.4. Улучшена совместимость с эталонным тестовым набором GNU Coreutils, при прохождении которого успешно выполнено 437 теста (в прошлой версии 422), 117 (132) тестов завершилось неудачей, а 50 (50) тестов были пропущены. Обеспечена полная совместимость с GNU Coreutils для утилит base64, basename, cat, chgrp, chmod, chown, dirname, expand, fold, groups, join, ln, mktemp, nice, nl, nproc, paste, pathchk, printenv, realpath, shuf, sleep, split, sync, unexpand, uniq, wc и yes. Расширены возможности, улучшена совместимость и добавлены недостающие опции для утилит base32, base64, basenc, basename, cat, chcon, chmod, cksum, cp, csplit, cut, dd, df, du, echo, env, expand, factor, fmt, hashsum, install, ln, ls, more, numfmt, odd, printf, pr, seq, shuf, sort, split, stat, tsort, tty, truncate, uname и uniq.
| ||
Обсуждение (27 +9) |
Тип: Программы |
| ||
· | 28.03 | Amazon, Google, Oracle, Ericsson и Snap основали Valkey, форк СУБД Redis (76 +16) |
Организация Linux Foundation объявила о создании проекта Valkey, который продолжит развитие открытой кодовой базы СУБД Redis, распространяемой под лицензией BSD. Проект будет развиваться под эгидой организации Linux Foundation на независимой площадке с привлечением сообщества разработчиков и компаний, заинтересованных в продолжении сохранения открытой кодовой базы Redis. К работе над проектом присоединились такие компании, как Amazon Web Services (AWS), Google Cloud, Oracle, Ericsson и Snap Inc.
Среди разработчиков, которые вошли в команду Valkey упоминаются Madelyn Olson, бывший мэйнтейнер Redis, работающий в компании Amazon, Ping Xie, один из разработчиков Redis, работающий в компании Google, Viktor Söderqvist из компании Ericsson, Harkrishn Patro из компании Amazon, Roshan Khatri из компании Amazon. Заявлено о поддержке в Valkey платформ Linux, macOS, OpenBSD, NetBSD и FreeBSD. Из планов по развитию упоминается реализация более надёжного механизма миграции слотов, значительное повышение масштабируемости, повышения стабильности работы кластерных конфигураций, увеличение производительности в многопоточном режиме, поддержка триггеров, добавление новых команд и реализация векторного поиска. Форк создан в ответ на изменение лицензионной политики компании Redis Ltd, занимающейся разработкой Redis. Начиная с выпуска Redis 7.4 решено прекратить публиковать новые возможности под лицензией BSD и распространять код проекта под двумя проприетарными лицензиями RSALv2 (Redis Source Available License v2) и SSPLv1 (Server Side Public License v1), которые вносят дополнительные ограничения, запрещающие бесплатное использование продукта для обеспечения работы облачных сервисов. Отличия лицензий RSALv2 и SSPLv1 сводится к тому, что лицензия SSPL основана на копилефт лицензии AGPLv3, а лицензия RSAL основана на пермиссивной лицензии BSD. Лицензия RSAL позволяет использовать, изменять, распространять и интегрировать код в приложения, за исключением случаев, когда эти приложения является коммерческими или используются для предоставления управляемых платных сервисов (для внутренних сервисов допускается бесплатное использование, ограничение касается только платных сервисов, предоставляющих доступ к Redis). Лицензия SSPL содержит требование поставки под той же лицензией не только кода самого приложения, но и исходных текстов всех компонентов, вовлечённых в предоставление облачного сервиса. Это третий открытый форк Redis: Неделю назад автор пользовательского окружения Sway и языка программирования Hare основал под именем Redict форк Redis 7.2.4, новые изменения в котором решено публиковать под лицензией LGPLv3. Кроме того, с 2019 года компания Snapchat развивает проект KeyDB, ответвившийся от Redis 5 и примечательный переходом на многопоточную архитектуру, использующий более эффективные методы работы с памятью и включающий такие дополнительные возможности, как активная репликация, хранилище, оптимизированное для Flash-накопителей, поддержка раздельного задания времени жизни вторичных ключей.
| ||
Обсуждение (76 +16) |
Тип: К сведению |
Интересно
| ||
· | 28.03 | Выпуск VPN Lanemu 0.11.6 (67 +6) |
Состоялся выпуск Lanemu P2P VPN 0.11.6 - реализации децентрализованной виртуальной частной сети, работающей по принципу Peer-To-Peer, при котором участники подключены друг к другу, а не через центральный сервер. Участники сети могут находить друг друга через BitTorrent-трекер или BitTorrent DHT, либо через других участников сети (peer exchange). Приложение является бесплатным и открытым аналогом VPN Hamachi, написано на языке Java (c отдельными компонентами на языке Си) и распространяется под лицензией GNU LGPL 3.0.
Изменения в версиях 0.11.5 и 0.11.6:
| ||
· | 28.03 | Уязвимость, позволяющая подставить escape-последовательности в чужие терминалы (33 +21) |
В утилите wall, поставляемой в пакете util-linux и предназначенной для отправки сообщений в терминалы, выявлена уязвимость (CVE-2024-28085), позволяющая осуществить атаку на терминалы других пользователей через манипуляцию с escape-последовательностями. Проблема вызвана тем, что утилита wall блокирует использование escape-последовательности во входном потоке, но не выполняет эту операцию для аргументов в командной строке, что позволяет атакующему
выполнить escape-последовательности в терминале других пользователей.
Например, выполнив 'wall $(printf "\033[33mHI")' можно вывести надпись "HI" жёлтым цветом. При помощи escape-последовательностей, которые позволяют перемещать указатель, очищать и заменять содержимое на экране, можно симулировать показ приглашения о вводе пароля от утилиты sudo в терминале другого пользователя. Если пользователь не заметит подвоха и введёт свой пароль, то пароль засветится в истории ввода как несуществующая команда (по сути пользователь вместо команды введёт свой пароль в командной строке). "\033[3A" // перемещаем курсор вверх на 3 строк "\033[K" // удаляем предыдущий вывод "[sudo] password for a_user:" // выводим фиктивный запрос sudo "\033[?25l" // выставляем фоновый цвет для скрытия ввода "\033[38;2;48;10;36m" Во время вывода предупреждения о том, что введённая команда не найдена, во многих дистрибутивах запускается обработчик /usr/lib/command-not-found, который пытается определить пакет, в котором присутствует отсутствующая команда, и выдать подсказку о возможности его установки. Проблема в том, что при запуске обработчика command-not-found несуществующая команда передаётся в него в качестве параметра командной строки, который виден при просмотре процессов в системе (например, при попытке запуска неустановленной утилиты "xsnow" в списке процессов будет виден "/usr/lib/command-not-found -- xsnow"). Соответственно, атакующий может организовать мониторинг запускаемых процессов (например, анализируя появление "/proc/$pid/cmdline" для прогнозируемого номера PID) и определить пароль, введённый жертвой в командной строке. Для того чтобы пользователь ввёл пароль в ответ на фиктивное приглашение sudo предложен трюк, суть которого в отслеживании в списке процессов реального запуска утилиты sudo, ожидания её завершения и осуществления атаки через "wall" сразу после этого. Через манипуляции c escape-последовательностями атакующий может заменить сообщение после реального выполнения sudo на фиктивное приглашение повторного ввода пароля. Жертва может подумать, что ошиблась при вводе и ввести пароль второй раз, засветив пароль в аргументах обработчика "command-not-found". Для успешной атаки требуется установка режима "mesg" в значение "y", которое по умолчанию выставлено в Ubuntu, Debian и CentOS/RHEL. Возможность проведения атаки продемонстрирована в Ubuntu 22.04 в конфигурации по умолчанию при использовании gnome-terminal. В Debian атака затруднена, так как в дистрибутиве по умолчанию не включён обработчик "command-not-found", а в CentOS/RHEL атака не сработает, так как утилита wall установлена без флага setgid и не имеет доступа к чужим терминалам. При использовании windows-terminal атака может быть модифицирована для изменения содержимого буфера обмена. Уязвимость проявляется в пакете util-linux с 2013 года, после того как в выпуск 2.24 добавили возможность указания сообщения в командной строке wall, но забыли применить чистку escape-последовательностей. Исправление уязвимости включено во вчерашний выпуск util-linux 2.40. Примечательно, что при попытке исправления уязвимости в выпуске util-linux 2.39 была выявлена ещё одна похожая уязвимость, позволяющая совершить подстановку управляющих символов через манипуляцию с локалями.
| ||
Обсуждение (33 +21) |
Тип: Проблемы безопасности |
| ||
· | 28.03 | Выпуск Samba 4.20.0 (17 +19) |
После 6 месяцев разработки представлен релиз Samba 4.20.0, продолживший развитие ветки Samba 4 с полноценной реализацией контроллера домена и сервиса Active Directory, совместимого с реализацией Windows 2008 и способного обслуживать все поддерживаемые Microsoft версии Windows-клиентов, в том числе Windows 11. Samba 4 является многофункциональным серверным продуктом, предоставляющим также реализацию файлового сервера, сервиса печати и сервера идентификации (winbind).
Ключевые изменения в Samba 4.20:
| ||
Обсуждение (17 +19) |
Тип: Программы |
| ||
· | 28.03 | Более половины опрошенных американцев используют блокировщики рекламы (142 +23) |
Опрос, проведённый среди 2000 американцев, показал, что 52% пользователей применяют блокировщики рекламы в браузере. Наиболее популярной причиной установки блокировщика рекламы отмечена забота о своей конфиденциальности (20%), а нежелание смотреть рекламу находится на втором месте (18%). 9% в качестве причины упомянули возможность ускорить загрузку страниц. Опрос был проведён среди жителей США компанией Censuswide, специализирующейся на независимых маркетинговых исследованиях, по заказу разработчиков блокировщика Ghostery. В похожем исследовании, проведённом в 2022 году, число пользователей блокировщиков оценивалось в 34%.
Наибольшей популярностью блокировщики рекламы пользуются у людей, профессиональная деятельность которых связана с информационной безопасностью (76%), программированием (72%) и рекламой (66%). Примечательно, что общий процент использующих блокировщик из-за нежелания смотреть рекламу для данных категорий остался примерно на уровне 20%, а число указавших в качестве причины защиту конфиденциальности выросло до примерно 30%. Среди программистов и специалистов по безопасности также заметно больше желающих использовать блокировщик рекламы для ускорения загрузки страниц. 49% опрошенных считают, что крупные компании навязывают рекламу и средства отслеживания пользователей, например, Google делает это через продвижение третьей версии манифеста Chrome и борьбу с блокировщиками рекламы в YouTube. 38% считают, что у них должна быть возможность выбора, когда смотреть рекламу, а когда нет. 33% полагают, что право использовать блокировщики рекламы должно быть защищено на законодательном уровне. 26% занимают позицию, что по умолчанию интернет должен быть без рекламы. На вопрос о том, утечка каких конфиденциальных данных их беспокоит, 38% отметили данные о навигации в сети и поиске, 37% - сведения о местоположении, 33% данные о покупках, 33% - информацию, связанную со здоровьем, 26% - сведения о политических взглядах и 22% - информацию о просмотре контента для взрослых. На вопрос, какие компании злоупотребляют сбором персональных данных и отслеживанием посетителей, 59% отметили TikTok, 56% - Meta*, 49% - Twitter, 48% - OpenAI, 44% - Google, 41% - Apple, 40% - Amazon и 38% - Microsoft.
| ||
Обсуждение (142 +23) |
Тип: Тема для размышления |
| ||
· | 27.03 | Выпуск дистрибутива Tails 6.1 (13 +1) |
Сформирован релиз специализированного дистрибутива Tails 6.1 (The Amnesic Incognito Live System), основанного на пакетной базе Debian 12, поставляемого с рабочим столом GNOME 43 и предназначенного для анонимного выхода в сеть. Анонимный выход в Tails обеспечивается системой Tor. Все соединения, кроме трафика через сеть Tor, по умолчанию блокируются пакетным фильтром. Для хранения пользовательских данных в режиме сохранения пользовательских данных между запусками применяется шифрование. Для загрузки подготовлен iso-образ, способный работать в Live-режиме, размером 1 ГБ.
В новой версии обновлены версии Tor Browser 13.0.13 (на базе Firefox 115.9.1) и Thunderbird 115.9. Добавлена новая версия микрокода для CPU Intel с изменениями, необходимыми для блокирования уязвимости RFDS. В конфигураторе постоянного хранилища обеспечено отображение всех включённых дополнительных возможностей.
| ||
Обсуждение (13 +1) |
Тип: Программы |
| ||
· | 27.03 | Выпуск Angie 1.5.0, российского форка Nginx (76 +22) |
Опубликован выпуск высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера Angie 1.5.0, ответвлённого от Nginx группой бывших разработчиков проекта, уволившихся из компании F5 Network. Исходные тексты Angie доступны под лицензией BSD. Проект получил сертификаты совместимости с российскими операционными системами Ред ОС, Astra Linux Special Edition, Роса Хром Сервер, Альт и ФСТЭК-версии Альт.
Сопровождением разработки занимается компания "Веб-сервер", образованная осенью 2022 года и получившая инвестиции в размере 1 млн долларов. Среди совладельцев компании Веб-сервер: Валентин Бартенев (лидер команды, развивавшей продукт Nginx Unit), Иван Полуянов (бывший руководитель фронтэнд-разработчиков Rambler и Mail.Ru), Олег Мамонтов (руководитель команды техподдержки NGINX Inc) и Руслан Ермилов ([email protected]). Изменения в выпуске Angie 1.5.0:
| ||
Обсуждение (76 +22) |
Тип: Программы |
| ||
· | 27.03 | Уязвимости в ядре Linux, позволяющие поднять свои привилегии через nf_tables и ksmbd (159 +24) |
В Netfilter, подсистеме ядра Linux, используемой для фильтрации и модификации сетевых пакетов, выявлена уязвимость (CVE-2024-1086), позволяющая локальному пользователю выполнить код на уровне ядра и поднять свои привилегии в системе. Проблема вызвана двойным освобождением памяти (double-free) в модуле nf_tables, обеспечивающем работу пакетного фильтра nftables. Выявивший уязвимость исследователь безопасности разработал и опубликовал рабочий прототип эксплоита.
Работа эксплоита продемонстрирована в актуальных выпусках Debian и Ubuntu с ядрами Linux 5.14 - 6.6, а также в окружении с ядром KernelCTF (Capture the Flag), включающем дополнительные патчи для блокирования типовых методов работы эксплоитов и используемом компанией Google в программе выплаты вознаграждений за поиск уязвимостей. Степень успешности работы эксплоита оценивается в 99.4%. В сопроводительной статье детально разобран процесс создания сложного многоуровневого эксплоита и обход присутствующих в ядре механизмов защиты и противодействия работе эксплоитов. Проблема связана с ошибкой в функции nft_verdict_init(), которая допускает использования положительных значений в качестве кода ошибки отбрасывания пакетов (DROP) в hook-ах, что может быть использовано для вызова в функции nf_hook_slow() повторной операции освобождения памяти для буфера, для которого уже была вызвана функция free(). Проблема возникает, когда операция NF_DROP формируется с ошибкой и ядро вначале интерпретирует NF_DROP, но затем освобождает буфер и возвращает статус NF_ACCEPT. Данная ситуация приводит к тому, что несмотря на освобождение связанного с пакетом буфера, его обработка не прекращается, а передаётся в другой обработчик, который в свою очередь второй раз вызывает функцию освобождения памяти. Уязвимость проявляется начиная с версии ядра Linux 3.15, но эксплоит работает с ядрами начиная с версии 5.14. Исправление уязвимости предложено в выпуске ядра Linux 6.8-rc1 и в конце февраля перенесено в стабильные ветки 5.15.149, 6.1.76 и 6.6.15. В дистрибутивах проследить за исправлением уязвимости можно на страницах: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.
Дополнительно можно отметить серию уязвимостей в модуле ksmbd, предлагающем встроенную в ядро Linux реализацию файлового сервера на базе протокола SMB: Уязвимость CVE-2024-26592 позволяет удалённо без прохождения аутентификации добиться выполнения своего кода с правами ядра на системах с активированным модулем ksmbd. Проблема вызвана состоянием гонки в коде обработки TCP-соединения, которое возникает из-за отсутствия выставления должных блокировок при работе с объектом. Уязвимость CVE-2023-52440 также позволяет удалённо добиться выполнения своего кода с правами ядра, но вызвана переполнением буфера при обработке некорректных сессионных ключей из-за отсутствия должной проверки размера данных, полученных от пользователя, перед их копированием в буфер фиксированного размера. Уязвимости (1, 2, 3) CVE-2024-26594, CVE-2023-52442 и CVE-2023-52441 в ksmbd дают возможность удалённо без прохождения аутентификации определить содержимое памяти ядра. Уязвимость CVE-2024-26594 вызвана некорректной проверкой данных при обработке поступивших токенов SMB2 Mech, что приводит к возвращению данных из области за границей буфера. Уязвимость CVE-2023-52442 вызвана отсутствием должной проверки входных данных при обработке связанных в цепочку (chained) запросов. Уязвимость CVE-2023-52441 вызвана отсутствием необходимой проверки входных данных при обработке запросов согласования соединения SMB2. Уязвимости CVE-2024-26594 и CVE-2024-26592 устранены в ядре 6.8 и корректирующих обновлениях прошлых стабильных веток 6.1.75, 6.6.14, 6.7.2. Остальные уязвимости устранены в ядре 6.5 и обновлениях 5.15.145, 6.1.53, 6.4.16.
В заключение можно упомянуть активацию работы новой команды разработчиков ядра Linux, созданной для анализа наличия уязвимостей и оценки связи вносимых в ядре исправлений с проблемами безопасности. В феврале разработчиками ядра была создана собственная служба CNA (CVE Numbering Authority), которая получила полномочия самостоятельного присвоения CVE-идентификаторов уязвимостям. До этого присвоение CVE и анализ связи исправлений с возможными уязвимостями ложился на плечи разработчиков дистрибутивов, а в ядре потенциальные уязвимости не оставались выделены и фигурировали наравне с обычными исправлениями. Результаты работы новой службы превзошли все ожидания - ежедневно в ядре помечается до нескольких десятков новых уязвимостей, которые ранее не были помечены как проблемы с безопасностью. Например, 26 марта новые CVE-идентификаторы присвоены 14 уязвимостям, которые ранее не рассматривались как проблемы с безопасностью, а 25 марта - 41 уязвимости.
| ||
Обсуждение (159 +24) |
Тип: Проблемы безопасности |
| ||
· | 27.03 | Обновление ОС Qubes 4.2.1, использующей виртуализацию для изоляции приложений (13 +13) |
Представлен выпуск операционной системы Qubes 4.2.1, реализующей идею использования гипервизора для строгой изоляции приложений и компонентов ОС (каждый класс приложений и системные сервисы работают в отдельных виртуальных машинах). Для работы рекомендуется система с 16 Гб ОЗУ (минимум - 6 Гб) и 64-разрядным CPU Intel или AMD с поддержкой технологий VT-x c EPT/AMD-v c RVI и VT-d/AMD IOMMU, желательно наличие GPU Intel (GPU NVIDIA и AMD недостаточно хорошо протестированы). Размер установочного образа - 6 ГБ (x86_64).
Приложения в Qubes разделены на классы в зависимости от важности обрабатываемых данных и решаемых задач. Каждый класс приложений (например, работа, развлечения, банковские операции), а также системные сервисы (сетевая подсистема, межсетевой экран, работа с хранилищем, USB-стек и т.п.), работают в отдельных виртуальных машинах, запускаемых с использованием гипервизора Xen. При этом указанные приложения доступны в рамках одного рабочего стола и выделяются для наглядности разным цветом обрамления окна. Каждое окружение имеет доступ на чтение к базовой корневой ФС и локальному хранилищу, не пересекающемуся с хранилищами других окружений, для организации взаимодействия приложений используется специальный сервис. В качестве основы для формирования виртуальных окружений может применяться пакетная база Fedora и Debian, также сообществом поддерживаются шаблоны для Ubuntu, Gentoo и Arch Linux. Возможна организация доступа к приложениям в виртуальной машине с Windows, а также создание виртуальных машин на базе Whonix для обеспечения анонимного доступа через Tor. Пользовательская оболочка построена на основе Xfce. Когда пользователь запускает из меню приложение, это приложение стартует в определенной виртуальной машине. Содержание виртуальных окружений определяется набором шаблонов. В новом выпуске отмечено обновление версий программ, формирующих базовое системное окружение (dom0). Подготовлен шаблон для формирования виртуальных окружений на базе Fedora 39. По умолчанию задействовано ядро Linux 6.6, что сократило число ситуаций, при которых требуется установка пакета с ядром kernel-latest на системах с новым оборудованием.
| ||
Обсуждение (13 +13) |
Тип: Программы |
| ||
· | 27.03 | Выпуск Bubblewrap 0.9, прослойки для создания изолированных окружений (6 +6) |
После года разработки опубликована новая версия инструментария для организации работы изолированных окружений Bubblewrap 0.9, используемого для ограничения отдельных приложений непривилегированных пользователей. На практике Bubblewrap применяется проектом Flatpak в качестве прослойки для изоляции запускаемых из пакетов приложений. Код проекта написан на языке Си и распространяется под лицензией LGPLv2+.
Для изоляции используются традиционные для Linux технологии контейнерной виртуализации, основанные на использовании cgroups, пространств имён (namespaces), Seccomp и SELinux. Для выполнения привилегированных операций по настройке контейнера Bubblewrap запускается с правами root (исполняемый файл c suid-флагом) с последующим сбросом привилегий после завершения инициализации контейнера. Активация в системе пространств имён идентификаторов пользователя (user namespaces), позволяющих использовать в контейнерах собственный отдельный набор идентификаторов, для работы не требуется, так как по умолчанию не работает во многих дистрибутивах (Bubblewrap позиционируется как ограниченная suid-реализация подмножества возможностей user namespaces - для исключения всех идентификаторов пользователей и процессов из окружения, кроме текущего, используются режимы CLONE_NEWUSER и CLONE_NEWPID). Для дополнительной защиты исполняемые под управлением Bubblewrap программы запускаются в режиме PR_SET_NO_NEW_PRIVS, запрещающем получение новых привилегий, например, при наличии флага setuid. Изоляция на уровне файловой системы производится через создание по умолчанию нового пространства имён точек монтирования (mount namespace), в котором при помощи tmpfs создаётся пустой корневой раздел. В данный раздел при необходимости прикрепляются разделы внешней ФС в режиме "mount --bind" (например, при запуске c опцией "bwrap --ro-bind /usr /usr" раздел /usr пробрасывается из основной системы в режиме только для чтения). Сетевые возможности ограничиваются доступом к loopback-интерфейсу с изоляцией сетевого стека через флаги CLONE_NEWNET и CLONE_NEWUTS. Ключевым отличием от похожего проекта Firejail, который также использует модель запуска с применением setuid, является то, что в Bubblewrap прослойка для создания контейнеров включает только необходимый минимум возможностей, а все расширенные функции, необходимые для запуска графических приложений, взаимодействия с рабочим столом и фильтрации обращений к Pulseaudio, вынесены на сторону Flatpak и выполняются уже после сброса привилегий. Firejail же объединяет в одном исполняемом файле все сопутствующие функции, что усложняет его аудит и поддержание безопасности на должном уровне. В новом выпуске:
| ||
Обсуждение (6 +6) |
Тип: Программы |
| ||
· | 26.03 | Дистрибутив Fedora Linux 40 перешёл на стадию бета-тестирования (147 +11) |
Началось тестирование бета-версии дистрибутива Fedora Linux 40. Бета-выпуск ознаменовал переход на финальную стадию тестирования, при которой допускается только исправление критических ошибок. Релиз запланирован на 23 апреля. Выпуск охватывает Fedora Workstation, Fedora Server, Fedora Silverblue, Fedora IoT, Fedora CoreOS, Fedora Cloud Base, Fedora Onyx и Live-сборки, поставляемые в форме спинов c пользовательскими окружениями K предложилиDE Plasma 5, Xfce, MATE, Cinnamon, LXDE, Phosh, LXQt, Budgie и Sway . Сборки сформированы для архитектур x86_64, Power64 и ARM64 (AArch64).
Наиболее значимые изменения в Fedora Linux 40:
| ||
Обсуждение (147 +11) |
Тип: Программы |
| ||
· | 26.03 | Драйвер для файловой системы Ext2 объявлен устаревшим (188 +24) |
В кодовую базу, на основе которой формируется ядро Linux 6.9, принято изменение, переводящее драйвер с реализацией файловой системы Ext2 из категории поддерживаемых в разряд устаревших (deprecated). В качестве причины упоминается поддержка в драйвере только 32-разрядных счётчиков времени в inode, которые переполнятся 19 января 2038 года.
Для работы с существующими разделами вместо драйвера ext2 предлагается использовать драйвер ext4, который поддерживает работу с файловой системой Ext2 и полностью совместим с ней, но при этом может использовать в ext2-разделах временные метки, не подверженные проблеме 2038 года, если ФС создана с inode, размером более 255 байт (в драйвере ext2 32-разрядные счётчики времени использовались независимо от размера inode). Пользователям ext2 рекомендуется проверить используемый размер inode. Утилита mkfs.ext2 по умолчанию была переведена на использование 256-байтовых inode начиная с версии 1.46.5 (поставляется в Ubuntu 22.04), до этого для увеличения размера inode можно было использовать команду "mkfs.ext2 -I 256". В случае использования 128-байтовых inode, их следует сконвертировать в 256-байтовые: $ sudo tune2fs -l /dev/sda1 | grep "Inode size" Inode size: 128 $ sudo e2fsck -f /dev/sda1 $ sudo tune2fs -I 256 /dev/sda1 По словам Теодора Цо (Theodore Ts'o), создателя файловой системы Ext4, если кому-то будет нехватать драйвера ext2 в силу его простоты (например, драйвер может быть востребован для экономии ресурсов на встраиваемых системах), ещё не поздно перенести в него поддержку 64-разрядных счётчиков времени, что не представляет большого труда.
| ||
Обсуждение (188 +24) |
Тип: К сведению |
| ||
Следующая страница (раньше) >> |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |