![]() | 02.03 | Опубликованы Linux From Scratch 10.1 и Beyond Linux From Scratch 10.1 (60 +22) |
Представлены новые выпуски руководств Linux From Scratch 10.1 (LFS) и Beyond Linux From Scratch 10.1 (BLFS), а также редакций LFS и BLFS с системным менеджером systemd. В Linux From Scratch приведены инструкции по созданию с нуля базовой Linux-системы, используя лишь исходные тексты необходимого программного обеспечения. Beyond Linux From Scratch дополняет инструкции LFS информацией о сборке и настройке около 1000 программных пакетов, охватывающих различные области применения, от СУБД и серверных систем, до графических оболочек и медиапроигрывателей.
В Linux From Scratch 10.1 осуществлён переход на Glibc 2.33, ядро Linux 5.10.17, SysVinit 2.98 и Systemd 247. Обновлены 40 пакетов, включая Binutils 2.36.1, Autoconf 2.71, Bash 5.1, Eudev 3.2.10, Grep 3.6, Inetutils 2.0, IPRoute2 5.10.0, Meson 0.57.1, Perl 5.32.1, Python 3.9.2, Tar 1.34, Tcl 8.6.11, Util-Linux 2.36.2, Vim 8.2.2433, Zstd 1.4.8. Исправлены ошибки в загрузочных скриптах, выполнены редакторские работы в пояснительных материалах по всей книге. В Beyond Linux From Scratch 10.1 обновлено около 850 программ, среди которых GNOME 3.38, KDE Plasma 5.21, KDE Applications 20.12.2, LibreOffice 7.1, Fmpeg 4.3.2, GIMP 2.10.22, Inkscape 1.0.2, Thunderbird 78.8.0, Firefox 78.8.0, SeaMonkey 2.53.6 и т.п. Кроме LFS и BLFS в рамках проекта ранее выпускалось несколько дополнительных книг:
| ||
Обсуждение (60 +22) |
Тип: Программы |
| ||
![]() | 02.03 | Доступно второе издание книги "Программирование: введение в профессию" (207 +45) |
Андрей Столяров опубликовал в свободном доступе второе издание книги "Программирование: введение в профессию". Книга также доступна в бумажном варианте, напечатанном издательством МАКС Пресс. Издание включает три тома:
| ||
Обсуждение (207 +45) |
Тип: Обобщение |
яз. русский
| ||
![]() | 02.03 | Опасные уязвимости в системе управления конфигурацией SaltStack (33 +9) |
В новых выпусках системы централизованного управления конфигурацией SaltStack 3002.5, 3001.6 и 3000.8 устранена уязвимость (CVE-2020-28243) позволяющая непривилегированному локальному пользователю хоста повысить свои привилегии в системе. Проблема вызвана ошибкой в обработчике salt-minion, применяемом для приёма команд с центрального сервера. Уязвимость была выявлена в ноябре, но исправлена только сейчас.
При выполнении операции "restartcheck" имеется возможность осуществить подстановку произвольных команд через манипуляции с именем процесса. В частности, запрос наличия пакета осуществлялся через запуск пакетного менеджера с передачей аргумента, полученного на основе имени процесса. Пакетный менеджер запускается через вызов функции popen в режиме запуска shell, но без экранирования спецсимволов. Изменив имя процесса и используя символы подобные ";" и "|" можно организовать выполнение своего кода. Кроме отмеченной проблемы в SaltStack 3002.5 устранено ещё 9 уязвимостей:
| ||
Обсуждение (33 +9) |
Тип: Проблемы безопасности |
| ||
![]() | 02.03 | Опубликован разбор инцидента с потерей контроля над доменом perl.com (29 +10) |
Брайан Фой (brian d foy), основатель организации Perl Mongers, опубликовал подробный разбор инцидента, в результате которого домен perl.com был захвачен посторонними лицами. Захват домена не затронул серверную инфраструктуру проекта и был совершён на уровне смены владельца и замены параметров DNS-серверов у регистратора. Утверждается, что компьютеры ответственных за домен также не были скомпрометированы и атакующие пользовались методами социальной инженерии для введения регистратора Network Solutions в заблуждение и смены данных о владельце, используя фальшивые документы для подтверждения прав на владение доменом.
Среди факторов, способствовавших атаке, также упоминаются отключение двухфакторной аутентификации в интерфейсе регистратора и использование контактного email, указывающего на тот же домен. Захват домена был совершён ещё в сентябре 2020 года, в декабре домен был переведён китайскому регистратору BizCN, а в январе для запутывания следов был передан немецкому регистратору Key-Systems GmbH. До декабря домен оставался в Network Solutions в соответствии с требованиями ICANN, запрещающими передачу домена другому регистратору в течение 60 дней после изменения контактной информации. В случае если бы информация о захвате домена раскрылась до декабря процесс возврата домена существенно бы упростился, поэтому злоумышленники длительное время не меняли DNS-серверы и домен продолжал работать не вызывая подозрений, что помешало своевременному выявлению атаки. Проблема всплыла только в конце января, когда мошенники перенаправили трафик на свой сервер и попытались продать домен на сайте Afternic за 190 тысяч долларов. Из связанных с языком Perl событий также можно отметить отказ архива модулей CPAN от использования зеркал в пользу применения сети доставки контента, снимающей нагрузку с основного сервера. В июне планируется полностью очистить список зеркал, в котором останется только одна запись - www.cpan.org. Возможность ручной настройки клиента CPAN для работы через явно указанное зеркало сохранится.
| ||
Обсуждение (29 +10) |
Тип: Проблемы безопасности |
| ||
![]() | 02.03 | Мэйнтейнеры Fedora и Gentoo отказались от сопровождения пакетов с Telegram Desktop (438 +104) |
Сопровождающий пакеты с Telegram Desktop для Fedora и RPM Fusion сообщил об удалении пакетов из репозиториев. За день до этого о прекращении поддержки Telegram Desktop также объявил сопровождающий пакеты с Gentoo. В обоих случаях заявлено о готовности вернуть пакеты в репозитории в случае если для них найдётся новый мэйнтейнер, готовый взять сопровождение в свои руки.
В качестве причин отказа от поддержки Telegram Desktop нынешними сопровождающими называется отталкивающее и неприязненное отношение разработчиков, которые даже не пытаются разобраться в ошибках, приводящих к проблемам со сборкой из исходных текстов в дистрибутивах Linux. Сообщения о подобных ошибках сразу закрываются с признаком "WONTFIX" и рекомендацией использовать полупроприетарные бинарные сборки с официального сайта. Ситуацию усугубляет то, что проблемы, мешающие сборке пакетов, регулярно всплывают в новых релизах, а на все попытки устранить недоработки в upstream сводятся к заявлениям, что разработчики поддерживают только статическое связывание tg_owt и все проблемы при создании собственных сборок следует решать самостоятельно. Например, недавно была прекращена поддержка сборки с версиями Qt меньше 5.15 и все обращения с предложениями как-то решить возникшую проблему просто игнорировались. Также отмечается общая запутанность организации сборки Telegram Desktop, усложняющая сопровождение. Проект разбит на четыре разных репозитория (приложение, библиотека для webrtc, сценарии для системы сборки cmake и библиотека для обработки звука), но только в одном репозитории формируются релизы, а остальные три просто обновляются по мере разработки без фиксации состояния. Дополнительно сборку затрудняют конфликты с зависимостями, возникающие при попытке обеспечить поддержку Wayland и x11, PulseAudio и ALSA, OpenSSL и LibreSSL. Дополнение: Позиция другой стороны конфликта сводится к тому, что большая часть сообщений о проблемах неактуальна или быстро исправлена, а разногласия заключаются в нежелании поддерживать своими силами старые версии Qt и динамическое связывание с библиотекой tg_owt.
| ||
Обсуждение (438 +104) |
Тип: Тема для размышления |
| ||
![]() | 02.03 | Выпуск aTox 0.6.0, приватного и безопасного мессенджера для Android (269 +23) |
Состоялся выпуск aTox 0.6.0 - новой версии свободного мобильного мессенджера, использующего протокол Tox (c-toxcore). Tox предлагает децентрализованную P2P-модель распространения сообщений, использующую криптографические методы для идентификации пользователя и защиты транзитного трафика от перехвата. Приложение написано на языке программирования Kotlin. Исходный код и готовые сборки приложения распространяются под лицензией GNU GPLv3.
Особенности aTox:
![]() История изменений aTox 0.6.0:
В последующих версиях aTox разработчик планирует добавить следующие крупные функции (от более приоритетных к менее приоритетным): аудиозвонки, видеозвонки, групповые чаты. А также множество других, более мелких новых функций и улучшений. Загрузить пакеты с aTox можно с GitHub и F-Droid (версия 0.6.0 будет добавлена в ближайшее время, а вместе с ней будет убрано и неприятное предупреждение о "несвободных сетевых сервисах").
| ||
![]() | 01.03 | Выпуск командной оболочки fish 3.2 (63 +13) |
Опубликован релиз интерактивной командной оболочки fish 3.2.0 (friendly interactive shell), развивающейся как более дружественная пользователю альтернатива bash и zsh. Fish поддерживает такие возможности как подсветка синтаксиса с автоматическим выявлением ошибок ввода, предложение возможных вариантов ввода на основе истории прошлых операций, автодополнение ввода опций и команд с использованием их описания в man-руководствах, комфортная работа из коробки без необходимости дополнительной настройки, упрощённый язык написания сценариев, поддержка буфера обмена X11, удобные средства поиска в истории выполненных операций. Код проекта распространяется под лицензией GPLv2. Готовые пакеты сформированы для Ubuntu, Debian, Fedora, openSUSE и RHEL.
Среди добавленных новшеств:
| ||
Обсуждение (63 +13) |
Тип: Программы |
| ||
![]() | 01.03 | Уязвимость в wpa_supplicant, не исключающая удалённое выполнение кода (75 +21) |
В пакете wpa_supplicant, используемом для организации подключения к беспроводной сети во многих дистрибутивах GNU/Linux, NetBSD и Android, выявлена уязвимость (CVE-2021-27803), которая потенциально может быть использована для выполнения кода злоумышленника при обработке специально оформленных управляющих кадров Wi-Fi Direct (Wi-Fi P2P). Для проведения атаки злоумышленник должен находиться в пределах досягаемости беспроводной сети, чтобы отправить жертве специально оформленный набор кадров.
Проблема вызвана ошибкой в обработчике Wi-Fi P2P, из-за которой обработка некорректно оформленного кадра PDR (Provision Discovery Request) может привести к состоянию, при котором запись о старом P2P-пире будет удалена и информация будет записана в уже освобождённый блок памяти (use-after-free). Проблеме подвержены выпуски wpa_supplicant с 1.0 по 2.9, собранные с опцией CONFIG_P2P. Уязвимость будет устранена в выпуске wpa_supplicant 2.10. В дистрибутивах обновление с исправлением опубликовано для Fedora Linux. Статус публикации обновлений другими дистрибутивами можно проследить на страницах: Debian, Ubuntu, RHEL, SUSE, Arch Linux. В качестве обходного пути блокирования уязвимости достаточно отключить поддержку P2P, указав в настройках "p2p_disabled=1" или выполнив в CLI-интерфейсе команду "P2P_SET disabled 1".
| ||
Обсуждение (75 +21) |
Тип: Проблемы безопасности |
| ||
![]() | 01.03 | Федеральный Суд США обязал предоставить исходные тексты ПО для анализа ДНК (117 +63) |
Федеральный Суд США вынес решение о необходимости предоставления стороне защиты исходных текстов программного обеспечения TrueAllele, использовавшегося для анализа ДНК подозреваемого в совершении тяжкого преступления. Суд согласился с позицией адвокатов, которые утверждали, что применяемое при сборе доказательств программное обеспечение может содержать ошибки, способные исказить результаты и привести к осуждению невиновного. Поэтому адвокаты настаивали на предоставлении им доступа к коду программы, применявшейся для анализа ДНК, для проведения независимого аудита.
Изначально сторона обвинения и компания-производитель Cybergenetics отказывались предоставить код под предлогом сохранения коммерческой тайны, но суд решил, что право обвиняемого оспорить предоставленные доказательства и опасность возникновения ложных выводов о совершении преступления из-за ошибок в сложном ПО перекрывает коммерческие интересы, и постановил предоставить исходные тексты стороне защиты. Код предоставлен на условиях неразглашения, но в прошлом уже был подобный инцидент - после того как защита сумела найти несколько изъянов в ПО, суд одобрил публикацию кода для проведения публичного аудита.
| ||
Обсуждение (117 +63) |
Тип: К сведению |
| ||
![]() | 01.03 | Linux Mint намерен решить проблему с игнорированием установки обновлений (311 +23) |
Разработчики дистрибутива Linux Mint намерены в следующем выпуске переработать менеджер установки обновлений для форсирования поддержания дистрибутива в актуальном состоянии. Проведённое исследование показало, что лишь около 30% пользователей устанавливают обновления своевременно, спустя менее недели с момента их публикации.
В Linux Mint не собирается телеметрия, поэтому для оценки актуальности компонентов дистрибутива использовался косвенный метод на основе анализа используемых версий Firefox. Разработчики Linux Mint совместно с компанией Yahoo проанализировали какая версия браузера применяется пользователями Linux Mint. После выпуска пакета с обновлением Firefox 85.0 на основе значения заголовка User Agent, передаваемого при обращении к сервисами Yahoo, была вычислена динамика перехода пользователей Linux Mint на новую версию Firеfox. Результат оказался неутешительным и за неделю на новую версию перешло только 30% пользователей, а остальные продолжали выходить в сеть с устаревших выпусков. Более того, оказалось, что часть пользователей вообще не устанавливает обновления и продолжает использовать Firefox 77, предложенный в выпуске Linux Mint 20. Также выявлено, что 5% пользователей (по другой статистике 30%) продолжают использовать ветку Linux Mint 17.x, поддержка которой прекращена в апреле 2019 года, т.е. обновления на данных системах не устанавливались уже два года. Показатель 5% получен на основе оценки запросов со стартовой страницы браузера, а 30% на основе обращений пакетного менеджера APT к репозиториям. Из комментариев пользователей, не обновляющих свои системы, можно понять, что основными причинами использования старых версий является неосведомлённость о наличии обновлений, установка на устаревшем оборудовании, на котором недостаточно ресурсов для работы новых версий дистрибутива, нежелание менять привычное окружение, появление регрессивных изменений в новых ветках, таких как проблемы с видеодрайверами, и прекращение поддержки 32-разрядных систем. Разработчики Linux Mint рассматривали два основных пути более активного продвижения обновлений: усиление информирования пользователей о наличии обновлений и автоматическая установка обновлений по умолчанию с возможностью легко вернуться к ручному режиму для тех, кто привык самостоятельно контролировать свою систему. В следующем выпуске Linux Mint решено добавить в менеджер обновлений дополнительные метрики, позволяющие оценивать актуальность пакетов в системе, такие как число дней с момента последнего применения обновлений. В случае длительного отсутствия обновлений Update Manager начнёт выводить напоминания о необходимости применения накопившихся обновлений или перехода на новую ветку дистрибутива. При этом предупреждения можно будет отключить в настройках. Linux Mint продолжает придерживаться принципа, что жёсткое навязывание недопустимо, так как пользователь является владельцем компьютера и волен делать с ним что угодно. Переход на автоматическую установку обновлений пока не планируется.
| ||
Обсуждение (311 +23) |
Тип: Тема для размышления |
| ||
![]() | 28.02 | Обновление компилятора языка программирования Vala 0.50.4 (58 +10) |
Вышла новая версия компилятора для языка программирования Vala 0.50.4.
Также была обновлена ветка с долгосрочной поддержкой (LTS) Vala 0.48.14 (упаковывается для Ubuntu 18.04) и экспериментальная ветка Vala 0.51.3.
Язык Vala является объектно-ориентированным языком программирования, предоставляет синтаксис, подобный языкам C# или Java. В качестве объектной модели используется Gobject (Glib Object System). Управление памятью осуществляется по владению (owned/unowned ссылки) либо с помощью ARC(подстановка деструкторов и декрементов счетчиков ссылок объектов на этапе компиляции). В языке имеется поддержка интроспекции, лямбда-функций, интерфейсов, делегатов и замыканий, сигналов и слотов, исключений, свойств, ненулевых типов, выведения типов для локальных переменных. В комплекте поставляется большое количество биндингов к библиотекам на языке C (vala-girs, vala-extra-vapis). Программы на языке Vala транслируются в представление на языке C, а затем компилируются штатным компилятором для языка C. Имеется возможность запуска программ в режиме сценария. Список изменений:
| ||
![]() | 28.02 | Корректирующий релиз OpenVPN 2.5.1 (93 +18) |
Подготовлен корректирующий релиз OpenVPN 2.5.1, пакета для создания виртуальных частных сетей, позволяющего организовать шифрованное соединение между двумя клиентскими машинами или обеспечить работу централизованного VPN-сервера для одновременной работы нескольких клиентов. Код OpenVPN распространяется под лицензией GPLv2, готовые бинарные пакеты формируются для Debian, Ubuntu, CentOS, RHEL и Windows.
Основные исправления:
| ||
![]() | 28.02 | Void Linux возвращается с LibreSSL на OpenSSL (72 +19) |
Разработчики дистрибутива Void Linux утвердили рассматривавшееся с апреля прошлого года предложение по возвращению к использованию библиотеки OpenSSL. Замена LibreSSL на OpenSSL намечена на 5 марта. Предполагается, что изменение не повлияет на системы большинства пользователей, но существенно упростит сопровождение дистрибутива и позволит решить многие проблемы, например, даст возможность собирать OpenVPN со штатной TLS-библиотекой (сейчас из-за проблем с LibreSSL пакет собирается с Mbed TLS). Ценой возвращения на OpenSSL станет прекращение поддержки некоторых пакетов, которые завязаны на старый API OpenSSL, поддержка которого прекращена в новых ветках OpenSSL, но сохранялась в LibreSSL.
Ранее c LibreSSL на OpenSSL уже вернулись проекты Gentoo, Alpine и HardenedBSD. Основным мотивом возвращения OpenSSL стало нарастание несовместимости между LibreSSL и OpenSSL, которая приводила к необходимости поставки дополнительных патчей, усложняла сопровождение и затрудняла обновление версий. Например, разработчики Qt отказываются поддерживать LibreSSL, и перекладывают работу по решению проблем с совместимостью на разработчиков дистрибутивов, что требует большой дополнительной работы по портированию Qt6 при использовании LibreSSL. Кроме того, темп разработки OpenSSL в последние годы усилился, проведена основательная работа по повышению безопасности кодовой базы и добавлению специфичных для аппаратных платформ оптимизаций, предоставлена полноценная реализация TLS 1.3. Использование OpenSSL также позволит расширить поддержку алгоритмов шифрования в некоторых пакетах. Например, в Python при сборке с LibreSSL включался лишь ограниченный набор шифров.
| ||
Обсуждение (72 +19) |
Тип: К сведению |
| ||
![]() | 28.02 | Доступен редактор бинарных данных GNU Poke 1.0 (44 +35) |
После трёх лет разработки представлен первый выпуск GNU Poke, интерактивного редактора бинарных данных. В отличие от редакторов дампов, позволяющих редактировать информацию на уровне битов и байтов,
Poke предоставляет полноценный язык описания и разбора структур данных, дающий возможность автоматически кодировать и декодировать данные в разных форматах.
После определения структуры бинарных данных, например, на основе сопоставления со списком поддерживаемых форматов, пользователь может выполнять операции поиска, инспектирования и модификации на более высоком уровне, манипулируя такими абстрактными структурами как таблицы символов формата ELF, MP3-теги, выражения DWARF и записи в таблице дисковых разделов. Предоставляется библиотека готовых описаний для различных форматов. Программа может оказаться полезной при отладке и тестировании проектов, таких как компоновщики, ассемблеры и утилиты сжатия исполняемых файлов, для обратного инжиниринга, для разбора и документирования форматов данных и протоколов, а также для построения других утилит, манипулирующих бинарными данными, например, вариантов diff и patch для бинарных файлов. ![]()
| ||
Обсуждение (44 +35) |
Тип: Программы |
| ||
![]() | 28.02 | В ядро Linux 5.12 принята подсистема KFence для выявления ошибок при работе с памятью (185 +41) |
В состав находящегося в разработке ядра Linux 5.12 включена реализация механизма KFence (Kernel Electric Fence), который проверяет работу с памятью, отлавливая выход за границы буферов, обращения к памяти после освобождения и другие ошибки подобного класса.
Подобная функциональность уже присутствовала в ядре в виде опции сборки KASAN (kernel address sanitizer, использует Address Sanitizer в современных gcc и clang) - однако позиционировалась в основном для отладочного применения. Подсистема KFence отличается от KASAN высокой скоростью работы, что позволяет использовать эту возможность даже на ядрах в рабочих системах. Применение на рабочих системах даст возможность отлавливать ошибки работы с памятью, которые не проявляются в тестовых запусках и всплывают только на рабочих нагрузках или при длительной работе (при большом uptime). Кроме того, применение KFence на рабочих системах даст возможность существенно увеличить число машин, вовлечённых в проверку работы ядра с памятью. Минимальные накладные расходы, не зависящие от нагрузки, достигаются в KFence благодаря подстановке страниц защиты (guard pages) в кучу через фиксированные интервалы. После истечения времени очередного интервала защиты KFence через штатную систему распределения памяти (SLAB или SLUB allocator) добавляет очередную страницу защиты из пула объектов KFence, и начинает новый отчёт счётчика времени. Каждый объект KFence размещается в отдельной странице памяти, а страницы памяти по левой и правой границе образуют страницы защиты (guard pages), размер которых выбирается случайно. Таким образом, страницы с объектами отделяются друг от друга страницами защиты, которые настраиваются на генерацию "page fault" при любом обращении. Для выявления операций записи за границу буфера внутри страниц с объектами дополнительно используются "красные зоны" на основе шаблонов, которые занимают память, не используемую объектами, остающуюся при выравнивании размера страниц памяти. ---+-----------+-----------+-----------+-----------+-----------+--- | xxxxxxxxx | O : | xxxxxxxxx | : O | xxxxxxxxx | | xxxxxxxxx | B : | xxxxxxxxx | : B | xxxxxxxxx | | x GUARD x | J : RED- | x GUARD x | RED- : J | x GUARD x | | xxxxxxxxx | E : ZONE | xxxxxxxxx | ZONE : E | xxxxxxxxx | | xxxxxxxxx | C : | xxxxxxxxx | : C | xxxxxxxxx | | xxxxxxxxx | T : | xxxxxxxxx | : T | xxxxxxxxx | ---+-----------+-----------+-----------+-----------+-----------+--- В случае попытки обращения к области вне границ буфера операция затрагивает страницу защиты, что приводит к генерации "page fault", который перехватывает KFence и выводит в лог данные о выявленной проблеме. По умолчанию KFence не блокирует ошибку и лишь выводит предупреждение в лог, но предусмотрена настройка "panic_on_warn", позволяющая в случае выявления ошибки переводить ядро в состояние краха (panic).
| ||
<< Предыдущая страница (позже) | ||
Следующая страница (раньше) >> |
Закладки на сайте Проследить за страницей |
Created 1996-2021 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |