The OpenNET Project / Index page

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

19.02.2019 Оценка производительности браузерных дополнений для блокировки рекламы (38 +7)
  Рассмотрев критику изменений в третьей редакции манифеста Chrome, нарушающих работу многих дополнений для блокирования нежелательного контента и обеспечения безопасности, разработчики из компании Google подытожили свою позицию по данному вопросу. Утверждается, что в реализации нового API declarativeNetRequest будут учтены пожелания и замечания авторов дополнений, в том числе будет расширен лимит на число правил блокировки, реализована возможность динамического добавления/удаления правил, добавлена поддержка дополнительных условий фильтрации и возможность не только блокирования, но и изменения частей запроса (например, для чистки отдельных Cookie).

Тем не менее, как и раньше разработчики Chrome намерены ограничить старый API webRequest режимом только для чтения (неблокирующим режимом), что позволит только отслеживать запросы, но не даст изменять их. Отсутствие блокирующего режима в API webRequest потребует перевода блокировщиков рекламы на новый API declarativeNetRequest, который самостоятельно применяет предоставленные дополнением правила фильтрации (предлагается встроенный в браузер типовой движок фильтрации запросов).

В качестве одного из основных аргументов против API webRequest представители Google называют замедление отображения контента, так как данный API работает в блокирующем режиме и перед выводом страницы браузер ожидает полного завершения обработки данных дополнением. Авторы сервиса WhoTracks.Me и разработчики блокировщика рекламы Ghostery решили проверить насколько данные заявления соответствуют действительности и провели тестирование производительности фильтрации контента дополнениями uBlock Origin, Adblock Plus, Brave, DuckDuckGo и Cliqz/Ghostery.

Для проведения теста была организована симуляция обработки большого числа запросов при помощи рассматриваемых дополнений, для чего с использованием Node.js были подготовлены тесты, прогоняющие через движки блокировщиков 250 тысяч запросов (случайные страницы 500 самых популярных сайтов), 19% из которых приводили к блокировке. В блокировщиках использовался набор правил Easylist, включающий 38978 записей.

Измерение показало, что все рассмотренные блокировщики работают очень эффективно - задержки при применении фильтров, блокирующие вывод на этапе использования API webRequest, пренебрежимо малы на общем фоне. В среднем применение блокировщика замедляет выполнение запроса лишь на доли миллисекунд, что никак не может рассматриваться как повод для отключения поддержки блокирующего режима работы API webRequest.

В общем зачёте наибольшие задержки были зафиксированы для дополнения DuckDuckGo, которое замедляло каждый запрос в среднем на 8 мс. Для Ghostery, uBlock Origin, Adblock Plus и Brave задержки в среднем составили 0.007 мс, 0.017 мс, 0.019 мс и 0.041 мс соответственно. Разница обработки запросов подлежащих и не подлежащих блокировке оказалась минимальной: Ghostery (0.007/0.006 мс), uBlock Origin (0.016/0.018 мс), Adblock Plus (0.014/0.020 мс), Brave (0.062/ 0.038 мс) и DuckDuckGo (8.31/6.78 мс).

Дополнительно была измерена производительность кода для кэширования (сериализации и десериализации) внутреннего представления данных, применяемого для ускорения загрузки базы правил. Данные операции приводят лишь к задержкам на этапе запуска и не влияют на производительность работы дополнения. Размер кэша c сериализированной базой правил для всех дополнений составляет примерно 2 Мб.

При сравнении потребления памяти наибольшую эффективность продемонстрировали дополнения Ghostery и uBlock Origin, требующие для работы 2-3 Мб ОЗУ. Потребление памяти Adblock Plus и DuckDuckGo составило приблизительно 15-16 Мб.

При измерении времени на разбор списка правил блокировки из общей массы выделился блокировщик браузера Brave, который потратил на разбор в 20 раз больше времени, чем остальные блокировщики. Наиболее быстрыми в этом тесте оказались Adblock Plus и uBlock Origin.

  1. OpenNews: От изменения манифеста Chrome пострадают и дополнения для обеспечения безопасности и приватности
  2. OpenNews: Определены методы отслеживания перемещений, подлежащие блокировке в Firefox
  3. OpenNews: Google наметил на 9 июля начало массовой блокировки в Chrome неприемлемой рекламы
  4. OpenNews: Новая редакция манифеста Chrome сделает невозможным использование uBlock Origin
Обсуждение (38 +7) | Тип: Обобщение |
19.02.2019 Уязвимость в systemd, которую можно использовать для блокирования работы системы (95 +15)
  В systemd найдена уязвимость (CVE-2019-6454), позволяющая вызвать крах управляющего процесса инициализации (PID1) через отправку непривилегированным пользователем специально оформленного сообщения через шину D-Bus. Разработчики из Red Hat также не исключают возможность применения уязвимости для организации выполнения кода с привилегиями root, но окончательно возможность такой атаки пока не определена.

Манипулируя размером отправляемого через D-Bus сообщения атакующий может сместить указатель за границы выделенной для стека памяти, обойдя защиту "stack guard-page", суть которой в подстановке на границе со стеком страниц памяти, обращение к которым приводит к генерации исключения (page-fault). По мнению исследователя безопасности, выявившего уязвимость, смещение указателя стека возможно только на неиспользуемые страницы памяти (unmapped), что не позволяет организовать выполнение кода в контексте процесса PID1, но даёт возможность атакующему инициировать крах PID1 с последующим переходом ядра Linux в состояние "panic" (в случае краха обработчика PID 1, происходит крах всей системы).

В systemd устанавливается обработчик сигналов, пытающийся перехватить крахи процесса PID1 (segmentation fault) и запускающий shell для восстановления. Но так как в ходе атаки обращение производится к неотражённым страницам памяти (unmapped), ядро не может вызвать данный обработчик сигнала и просто завершает процесс с PID 1, что, в свою очередь, приводит к невозможности продолжения дальнейшей работы и переходу в состояние "panic", требующего перезапуска системы.

Обновления пакетов с устранением уязвимости опубликованы для SUSE/openSUSE, Fedora, Ubuntu и частично для Debian (только для Debian Stretch). Проблема остаётся неисправленной в RHEL. Успешная атака продемонстрирована в Ubuntu 18.10 с systemd 239 и в CentOS 7.6 с systemd 219. В качестве обходного пути защиты может использоваться сборка в GCC c включением опции "-fstack-clash-protection", которая по умолчанию применяется в Fedora 28 и 29.

Следует отметить, что в 2014 году автор системной библиотеки musl выделял среди основных архитектурных проблем systemd излишнюю раздутость обработчика PID1 и ставил под сомнение целесообразность реализации обработчика DBus API на уровне PID1, так как он является серьёзным вектором для проведения атак и может негативно влиять на надёжность всей системы.

  1. OpenNews: В systemd-journald выявлены три уязвимости, позволяющие получить права root
  2. OpenNews: Раскрыты детали атаки Stack Сlash и 15 root-эксплоитов для разных ОС
  3. OpenNews: Спорная ошибка в systemd, позволяющая повысить привилегии, закрыта без исправления
  4. OpenNews: Архитектурные проблемы systemd, негативно влияющие на стабильность и безопасность
  5. OpenNews: Участник проекта Debian ответил на критику systemd
Обсуждение (95 +15) | Тип: Проблемы безопасности |
18.02.2019 В рамках проекта syswall развивается файервол для системных вызовов (46 +7)
  Представлен проект syswall, нацеленный на создание подобия динамического межсетевого экрана для фильтрации доступа приложений к системным вызовам. Код проекта написан на языке Rust, лицензия не указана.

Syswall напоминает интерактивный вариант утилиты strace и позволяет отслеживать каждый выполняемый программой системный вызов. Ключевым отличием является то, что помимо вывода информации о системных вызовах и результатах их выполнения, syswall поддерживает интерактивный режим при котором перед выполнением системного вызова отслеживаемый процесс останавливается и пользователю выводится запрос на продолжение или игнорирование дальнейшей операции (например, можно контролировать попытки открытия каждого файла или сетевого соединения процессом). Syswall также может собирать статистику о выполняемых системных вызовах и на её основе формировать отчёт.

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

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

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

  1. OpenNews: OpenBSD развивает Pledge, новый механизм изоляции приложений
  2. OpenNews: В OpenBSD из соображений безопасности удалены systrace и прослойка совместимости с Linux
  3. OpenNews: Доступна система изоляции приложений Firejail 0.9.40
  4. OpenNews: Выпуск strace 4.15 с функцией подмены системных вызовов
  5. OpenNews: Для ядра Linux предложена система изоляции приложений Capsicum, изначально созданная для FreeBSD
Обсуждение (46 +7) | Тип: Программы |
18.02.2019 Проект Hangover для запуска Windows-приложений на системах ARM64 c Linux и Android (54 +25)
  Разработчики проекта Wine опубликовали первый публичный выпуск эмулятора Hangover, позволяющего запускать 32- и 64-разрядные Windows-приложения, собранные для архитектур x86 и x86_64, в окружениях Linux и Android на базе архитектуры ARM64 (Aarch64). Выпуск основан на кодовой базе Wine 4.0, что отражено в номере версии Hangover 0.4.0. Слой эмуляции базируется на наработках проекта QEMU.

В отличие от запуска Wine с минимальным системным окружением при помощи QEMU в режиме эмуляции на уровне системных вызовов (используется одно ядро с основной системой), проект Hangover позволяет добиться существенно более высокой производительности. Ускорение достигается за счёт переноса слоя эмуляции на уровень API Win32/Win64, вместо эмуляции штатных системных вызовов с последующей эмуляцией на их основе API Win32/Win64.

В настоящее время проект позволяет запускать лишь простые приложения и игры, использующие API Win64 и Win32. Для Linux реализована поддержка Direct3D, которая пока отсутствует для Android из-за неполной поддержки OpenGL ES в Wine. Для обеспечения работы используется штатная установка Wine, дополненная рядом DLL-библиотек и прослоек. В окружении Linux приложения Windows запускаются автоматически при наличии qemu в каталоге Wine ("C:\x86\qemu-x86_64.exe.so"). В Android для запуска предлагается использовать утилиту cmd.

Производительность Hangover пока оставляет желать лучшего. Основным узким местом является производительность кода, который генерирует QEMU. Тем не менее при запуске на устройстве Nvidia Shield Android TV производительности достаточно для выполнения игр начала двухтысячных годов. Среди протестированных в Hangover приложений отмечаются Notepad++, ANNO 1602, Age of Wonders, Warhammer 40k: Dawn of War, The Settlers II 10th Anniversary, Prince of Persia 3D, Worms 2 и Worms Armageddon. Примеры из DirectX 9 SDK также выполняется с приемлемой скоростью.

Что касается запуска 32-разрядных Windows-приложений (x86), их обработка производится на уровне трансляции структур, передаваемых между приложением и Wine (модель LLP64 в Windows подразумевает сохранение базовой совместимости структур между 32- и 64-разрядными WinAPI). Для запуска 32-разрядных Windows приложений используются 64-разрядные сборки Wine и каждый процесс перед обрабатывается как 64-разрядный. На стороне хост-систем пока поддерживаются только архитектуры ARM64 и x86_64, но код унифицирован, что позволяет без больших трудозатрат портировать проект и под другие архитектуры c порядком следования байт от младшего к старшему (little-endian).

  1. OpenNews: В рамках проекта Darling развивается аналог Wine для запуска программ Mac OS X
  2. OpenNews: Проект Wine выпустил Vkd3d 1.0 с реализацией Direct3D 12
  3. OpenNews: Выпуск проекта Wine Staging 4.0, дополняющего Wine 4.0
  4. OpenNews: Стабильный релиз Wine 4.0
  5. OpenNews: В Китае попытались запатентовать использование Wine на архитектуре ARM
Обсуждение (54 +25) | Тип: Программы |
17.02.2019 Выпуск почтового клиента Geary 0.13 (96 +12)
  После полутора лет разработки выпущен почтовый клиент Geary 0.13, ориентированного на использование в окружении GNOME. Изначально проект был основан организацией Yorba Foundation, создавшей популярный менеджер фотографий Shotwell, но позднее разработка перешла в руки сообщества GNOME. Код написан на языке Vala и распространяется в рамках лицензии LGPL. Готовые сборки подготовлены для Ubuntu (PPA) и в форме самодостаточного пакета flatpak.

В качестве цели развития проекта определено создание богатого по возможностям продукта, но при этом предельно простого в использовании и потребляющего минимум ресурсов. Почтовый клиент рассчитан как на обособленное использование, так и на работу совместно с web-ориентированными почтовыми сервисами, такими как Gmail и Yahoo! Mail. Интерфейс реализован при помощи библиотеки GTK3+. Для хранения базы сообщений используется БД SQLite, для поиска по базе сообщений создаётся полнотекстовый индекс. Для работы с IMAP задействована новая базирующаяся на GObject библиотека, работающая в асинхронном режиме (операции по загрузке почты не блокируют интерфейс).

Улучшения в новой версии:

  • Предложен новый интерфейс для создания и управления учётными записями;
  • Обеспечена интеграция со службой GNOME Online Accounts для централизованного добавления учётных записей для всех приложений GNOME;
  • Добавлена поддержка аутентификации при помощи OAuth;
  • Улучшено отображение цепочек обсуждений и ускорена их загрузка. Добавлена возможность удаления отдельных сообщений в обсуждениях;
  • Улучшен интерфейс для написания писем. Добавлена поддержка отсортированных и неотсортированных списков, улучшена вставка из буфера обмена текста с разметкой, обеспечено запоминание размера окна;
  • Улучшено взаимодействие с другими почтовыми приложениями;
  • Обеспечено корректное обновление счётчика непрочитанных сообщений;
  • Налажена работа внутренних ссылок в письмах с разметкой HTML;
  • В режиме просмотра голого текста (Plain text) реализовано корректное форматирование текста с разметкой;
  • Улучшено оформление уведомлений о возникающих проблемах, таких как невозможность подключиться к серверу;
  • Сокращена нагрузка на CPU при выполнении фоновой синхронизации;
  • Улучшена обработка изменения статуса подключения к сети (переход в online и offline режимы);
  • Реализован показ внутреннего уведомления о завершении отправки письма;
  • Обеспечена пометка писем, в которых зафиксирована подмена адреса отправителя;
  • Добавлена защита от отправки лишних данных в письмах с указанием псевдонима вместо основного адреса;
  • При выводе на печать возобновлён вывод темы письма, отправителя и даты;
  • Улучшена совместимость с различными почтовыми серверами и сервисами.

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

  • Поддержка функций создания и просмотра почтовых сообщений, отправка и получение почты, функции отправки ответа всем респондентам и перенаправления сообщения;
  • WYSIWYG редактор для создания сообщений с использованием разметки HTML (задействован webkitgtk), с поддержкой проверки правописания, выбора шрифтов, выделения цветом, вставкой ссылок, добавлением отступов и т.п.;
  • Функция группировки сообщений по обсуждениям. Несколько режимов отображения сообщений в обсуждениях. Пока доступен только последовательный просмотр сообщений в обсуждении, но скоро появится и древовидный с наглядным выделением нитей. Полезной особенностью является то, что кроме текущего сообщения можно сразу посмотреть предыдущее и следующее сообщение в обсуждении (сообщения пролистываются непрерывной лентой), что очень удобно при чтении списков рассылки. Для каждого сообщения показывается число ответов;
  • Возможность пометки отдельных сообщений (установка флагов и пометка "звёздочкой");
  • Быстрый и мгновенно вызываемый поиск по базе сообщений (в стиле Firefox);
  • Поддержка работы одновременно с несколькими почтовыми аккаунтами;
  • Поддержка средств для бесшовной интеграции с почтовыми web-сервисами, такими как Gmail, Mobile Me, Yahoo! Mail и Outlook.com;
  • Полная поддержка IMAP и средств синхронизации сообщений. Полная совместимость с популярными IMAP-серверами, включая Dovecot;
  • Возможность управления через горячие клавиши. Например, Ctrl+N для написания сообщения, Ctrl+R для ответа, Ctrl+Shift+R для ответа всем участникам, Del для помещения почты в архив;
  • Средства архивирования почты;
  • Поддержка работы в offline-режиме;
  • Поддержка интернационализации и перевод интерфейса на несколько языков;
  • Автодополнение вводимых почтовых адресов в процессе написания сообщения;
  • Наличие апплетов для вывода уведомлений о получении новых писем в оболочке GNOME Shell;
  • Полная поддержка SSL и STARTTLS.
    1. OpenNews: Выпуск почтового клиента Geary 0.12
    2. OpenNews: Имущественные права на Shotwell и Geary переданы организации Software Freedom Conservancy
    3. OpenNews: Группа Yorba, создавшая Shotwell и Geary, прекратила разработку
    4. OpenNews: Релиз почтового клиента Notmuch 0.26
    5. OpenNews: Выпуск почтового клиента Thunderbird 60.0
Обсуждение (96 +12) | Тип: Программы |
17.02.2019 Новая версия Cygwin 3.0, GNU-окружения для Windows (93 +16)
  После двух лет разработки компания Red Hat опубликовала новый значительный релиз пакета Cygwin 3.0.0, включающего DLL-библиотеку для эмуляции базового Linux API в Windows, позволяющую с минимальными изменениями собирать созданные для Linux программы. В пакет также входят непосредственно собранные для выполнения в Windows стандартные Unix-утилиты, серверные приложения, компиляторы, библиотеки и заголовочные файлы.

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

  • Реализована возможность обработки в окружении Windows каталогов с учётом регистра символов. Вызов mkdir теперь автоматически создаёт регистрозависимые каталоги внутри дерева каталогов, в которое установлен Cygwin. Возможность доступна только начиная с выпуска Windows 10 1803 при наличии подсистемы WSL (Windows Subsystem for Linux);
  • Добавлена поддержка файловой системы exFAT;
  • Добавлены новые файловые ioctl-вызовы FS_IOC_GETFLAGS и FS_IOC_SETFLAGS, при помощи которых можно устанавливать и сбрасывать атрибуты файлов, манипулировать разрежёнными файлами с пустотами внутри, обеспечивать шифрование и сжатие на уровне ФС, программно симулировать различие регистра символов в именах каталогов;
  • Добавлены новые утилиты chattr и lsattr для установки и просмотра атрибутов файлов, манипулируя вышеприведёнными ioctl в командной строке;
  • Добавлена поддержка специфичного для Linux флага O_PATH в функции open();
  • Добавлена поддержка специфичного для Linux флага AT_EMPTY_PATH в функции linkat();
  • Добавлена поддержка переполнения счётчика для POSIX-таймеров (при помощи вызовов timer_getoverrun() или siginfo_t::si_overrun);
  • Добавлены новые API: signalfd, timerfd_create, timerfd_gettime, timerfd_settime и timer_getoverrun;
  • Реализация fork() теперь может корректно обрабатывать ситуацию с удалением/заменой исполняемого файла или DLL в процессе работы (Windows не разрешает удаление используемых исполняемых файлов, но fork() реализован через "хак" в режиме "non-copy-on-write", так как не может быть реализован поверх Win32 API);
  • Добавлена поддержка режимов работы таймера CLOCK_REALTIME_COARSE, CLOCK_MONOTONIC_COARSE, CLOCK_MONOTONIC_RAW, CLOCK_BOOTTIME, CLOCK_REALTIME_ALARM и CLOCK_BOOTTIME_ALARM. В функциях clock_nanosleep, pthread_condattr_setclock и timer_create реализована поддержка всех видов таймеров, кроме CLOCK_PROCESS_CPUTIME_ID и CLOCK_THREAD_CPUTIME_ID;
  • В окружении Windows 10 1709+ для NTFS задействована новая семантика для POSIX-вызовов unlink и rename - файл теперь удаляется или заменяется другим, а не помещается в корзину;
  • При вызове open(..., O_TMPFILE) файл теперь сразу перемещается в корзину для освобождения места в родительском каталоге;
  • Cygwin PID и Windows PID теперь разделены: PID-идентификаторы Cygwin генерируются как предписывает POSIX, инкрементируя значение в диапазоне от 2 до 65535. При запуске родных процессов Windows их PID отражается в диапазон значений, превышающий 65535.

  1. OpenNews: Бета-выпуск Proton 3.16, пакета для запуска Windows-игр в Linux
  2. OpenNews: Компания Valve представила проект Proton для запуска Windows-игр в Linux
  3. OpenNews: Red Hat поменял лицензию на библиотеку Cygwin
  4. OpenNews: Microsoft открыл код для адаптации Linux-дистрибутивов для запуска в WSL
  5. OpenNews: Релиз Cygwin 2.8, GNU-окружения для Windows
Обсуждение (93 +16) | Тип: Программы |
17.02.2019 Релиз платформы для конфиденциального обмена сообщениями RetroShare 0.6.5 (56 +14)
  Представлена новая версия RetroShare 0.6.5, платформы для конфиденциального обмена файлами и сообщениями при помощи шифрованной Friend-to-Friend сети. В данной разновидности одноранговых сетей пользователи устанавливают прямые соединения только с пирами, которым они доверяют. Сборки подготовлены для Windows, FreeBSD и многих дистрибутивов GNU/Linux. Исходный код RetroShare написан на языке C++ с использованием тулкита Qt и распространяется под лицензией GPLv2+.

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

В выпуске:

  • Новая подсистема распределения данных (GXS), позволяющая искать, подписываться и синхронизировать каналы, не подписанные прямыми друзьями. В планах также перевод форумов на GXS;
  • Переписаны форумы, которые стали работать быстрее и потреблять меньше памяти. Создатель форума теперь может закреплять (pin) записи и назначать модераторов, которые смогут править (но пока не могут удалить) сообщения;
  • Объединены в одну программу приложения для скрытых (tor, i2p) и стандартных узлов, которые были разделены в версии 0.6.4;
  • Улучшена работа через Tor. Для работы теперь создаётся скрытый сервис в Tor, к которому и подключаются друзья. В коде для поиска друзей (discovery) обеспечена дополнительная защита от отправки IP-адресов на узлы Tor. Также упрощен интерфейс для Tor;
  • Реализован JSON API, который автоматически синхронизируется с действующими Си-модулями RetroShare и предоставляет полный и актуальный набор функций (libretroshare), в том числе для мобильных Android-приложений. Теперь любой разработчик на JavaScript, Python и Lua может задействовать RetroShare для разработки своего собственного децентрализованного приложения (а некоторые уже делают это).
  • Добавлена поддержка IPv6, что в перспективе позволит улучшить преодоление трансляторов адресов (NAT);
  • Реализовано автоматическое добавление друзей друзей в список контактов, что позволит новичкам видеть друг друга в чатах и почте;
  • Исправлены ошибки в реализациях систем обмена файлами, форумов и кругов. Решены проблемы при использовании OpenSSL 1.1 и более новых выпусков.

Из планов по дальнейшему развитию RetroShare в этом году отмечается переделка веб-интерфейса с помощью нового API. В этом году также планируют добиться включения пакетов с RetroShare в состав Debian, что является условием включения в поставку Tails. Это следующая задача, над которой разработчики планируют работать после релиза. Кроме того, появление API для общения с libretroshare, открыло много интересных возможностей, например, можно сделать социальную сеть, которая будет работать в браузере во время общения с фоновым приложением RetroShare (по типу ZeroNet).

  1. OpenNews: Выпуск децентрализованного коммуникационного клиента Ring 1.0
  2. OpenNews: Выпуск децентрализованного коммуникационного клиента Ring-KDE 3.0.0
  3. OpenNews: Выпуск платформы для приватного обмена сообщениями RetroShare 0.6
  4. OpenNews: Доступна система обмена сообщениями Briar, способная работать в режиме P2P
  5. OpenNews: Проект Tox развивает свободную альтернативу Skype
Обсуждение (56 +14) | Автор: Юзер | Тип: Программы |
16.02.2019 Развитие Fedora Atomic Host прекращено в пользу проекта Fedora CoreOS (63 –1)
  Разработчики проекта Fedora сообщили об удалении компонентов Fedora Atomic Host из репозитория Rawhide и прекращении разработки данной редакции дистрибутива. Fedora 29 станет последним выпуском с компонентами Fedora Atomic Host. После окончания цикла сопровождения Fedora 29 выпуск обновлений для Fedora Atomic Host будет полностью прекращён (ориентировочно в ноябре или декабре 2019 года).

Напомним, что в рамках проекта Fedora Atomic Host предлагалось урезанное до минимума окружение, обновление которого производится атомарно через замену образа всей системы, без разбивки на отдельные пакеты. На базе Fedora Atomic Host формировалось специализированное окружение для запуска и управления изолированными контейнерами Docker. Все пакеты, обеспечивающие работу конечных приложений, поставлялись непосредственно в составе контейнеров, а хост-система содержала только минимальный набор компонентов (systemd, journald, docker, rpm-OSTree и т.п.). Наработки Fedora Atomic Host использовались для формирования продуктов Red Hat Enterprise Linux Atomic Host и CentOS Atomic Host.

Отмечается, что на смену Fedora Atomic Host придёт проект Fedora CoreOS, продолжающий разработку серверной Linux-системы Container Linux, которая перешла в руки Red Hat после покупки компании CoreOS. В рамках продукта Fedora CoreOS объединены технологии Fedora Atomic и Container Linux. Как и в Fedora Atomic начинка Fedora CoreOS формируется на основе репозиториев Fedora с применением rpm-ostree, а для дополнительной изоляции контейнеров применяется SELinux, но базовые технологии, такие как Ignition (система конфигурирования на стадии начальной загрузки, альтернатива Cloud-Init) и механизм установки обновлений, перенесены из Container Linux.

Прекращение развития Fedora Atomic Host не повлияет на разработку проекта Fedora Atomic Workstation, который теперь развивается под именем Fedora Silverblue и со временем может заменить традиционный Fedora Workstation. Редакция Fedora Silverblue также поставляется в монолитном виде, без разделения базовой системы на отдельные пакеты, с применением атомарного механизма обновления. Вместо контейнеров Docker для установки дополнительных приложений применяются самодостаточные пакеты в формате flatpak. Системный образ неделим и формируется с использованием технологии OSTree (отдельные пакеты установить в таком окружении нельзя, можно лишь пересобрать весь образ системы, расширив его новыми пакетами при помощи инструментария rpm-ostree).

  1. OpenNews: Проект Silverblue будет развивать атомарно обновляемый вариант Fedora Workstation
  2. OpenNews: Представлен проект Fedora CoreOS
  3. OpenNews: Объявлено о создании редакции Fedora для интернета вещей
  4. OpenNews: Компания Red Hat представила первый стабильный выпуск дистрибутива Atomic Host
  5. OpenNews: Выпуск CentOS Atomic Host 7.1811, специализированной ОС для запуска контейнеров Docker
Обсуждение (63 –1) | Тип: К сведению |
15.02.2019 Выпуск Ubuntu 18.04.2 LTS c обновлением графического стека и ядра Linux (146 +21)
  Сформировано обновление дистрибутива Ubuntu 18.04.2 LTS, в которое включены изменения, связанные с улучшением поддержки оборудования, обновлением ядра Linux и графического стека, исправлением ошибок в инсталляторе и загрузчике. В состав также включены актуальные обновления для нескольких сотен пакетов, связанные с устранением уязвимостей и проблем, влияющих на стабильность. Одновременно представлены аналогичные обновления Kubuntu 18.04.2 LTS, Ubuntu Budgie 18.04.2 LTS, Ubuntu MATE 18.04.2 LTS, Lubuntu 18.04.2 LTS, Ubuntu Kylin 18.04.2 LTS и Xubuntu 18.04.2 LTS.

В состав выпуска включены некоторые улучшения, бэкпортированные из выпуска Ubuntu 18.10:

  • Предложено обновление пакетов с ядром 4.18 (в Ubuntu 18.04 и 18.04.1 использовалось ядро 4.15).
  • Обновлены компоненты графического стека, включая X.Org Server 1.20.1 и Mesa 18.2, которые были протестированы в осеннем выпуске Ubuntu 18.10. Добавлены свежие версии видеодрайверов для чипов Intel, AMD и NVIDIA.
  • Обновлены версии пакетов LibreOffice 6.0.7, Thunderbird 60.4.0, Firefox 65, GNOME Shell 3.28.3, Glib 2.56.2, OpenStack Queens, Snapd 2.37.1, LXC 3.0.2, cloud-init 18.3, Evince 3.28.4, Shotwell 0.28, LLVM 7;
  • Решены проблемы с отображением приглашения входа в систему на устройствах со старыми GPU Intel (Core2 и Atom);
  • Устранена утечка памяти в файловом менеджере Nautilus;
  • В экранной клавиатуре (OSK) исправлена ошибка, не позволявшая вводить буквы в верхнем регистре;
  • Исправлена ошибка, приводившая к запуску двух экземпляров приложения при попытке запуска через касание к ярлыку на панели на устройствах с сенсорным экраном;
  • Исправлена ошибка, из-за которой панель могла показываться и во время блокировки экрана;
  • Решены проблемы с производительностью в GNOME Shell;
  • Исправлена ошибка, приводившая к потере уведомлений о наличии Livepatch-обновлений;
  • В Ubuntu Server после установки оставлен активным только репозиторий "main";
  • Устранён сбой при попытке установки на дисковый раздел, до этого используемый для ZFS;
  • Добавлены сборки Ubuntu Server для плат Raspberry Pi 3, помимо ранее формируемых сборок для Raspberry Pi 2.

В сборках для рабочего стола новые ядро и графический стек предложены по умолчанию. Для серверных систем новое ядро добавлено в качестве опции в инсталляторе. Использовать новые сборки имеет смысл только для новых установок - системы, установленные ранее, могут получить все присутствующие в Ubuntu 18.04.2 изменения через штатную систему установки обновлений. Пользователи прошлой LTS-ветки Ubuntu 16.04 получат в менеджере установки обновлений уведомление о возможности автоматического перехода на ветку 18.04.2.

В анонсе упоминается, что поддержка выпуска обновлений и исправлений проблем безопасности для Ubuntu Desktop, Ubuntu Server, Ubuntu Cloud и Ubuntu Base 18.04 составит 5 лет, а для дополнительных редакций (Kubuntu, Xubuntu и т.п.) - 3 года. При этом ранее Марк Шаттлворт заявлял о продлении срока поддержки для ветки 18.04 до 10 лет, что не отражено в примечании к выпуску.

Напомним, что для поставки новых версий ядра и графического стека применяется rolling-модель поддержки обновлений, в соответствии с которой бэкпортированные ядра и драйверы будут поддерживаться только до выхода следующего корректирующего обновления LTS-ветки Ubuntu. Например, предложенное в текущем выпуске ядро Linux 4.18 будет поддерживаться до выхода Ubuntu 18.04.3, в котором будет предложено ядро из состава Ubuntu 19.04. Изначально поставляемое базовое ядро 4.15 будет поддерживаться в течение всего цикла сопровождения.

Для перевода уже существующих установок на новые версии ядра и графического стека следует выполнить команду:


   sudo apt-get install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04 

Дополнение: Внимание, обладателям видеокарт NVIDIA следует повременить с обновлением графического стека из-за проблем с зависимостями драйвера или установить исправленый пакет nvidia-340, доступный сейчас только в тестовом репозитории bionic-proposed.



  1. OpenNews: Выпуск Ubuntu Core 18
  2. OpenNews: Время поддержки Ubuntu 18.04 увеличено до 10 лет
  3. OpenNews: Релиз Ubuntu 18.10
  4. OpenNews: Релиз Ubuntu 18.04.1 LTS
  5. OpenNews: Релиз дистрибутива Ubuntu 18.04 LTS
Обсуждение (146 +21) | Тип: Программы |
14.02.2019 Обновление PostgreSQL с устранением серьёзных проблем с fsync (78 +27)
  Сформированы корректирующие обновления для всех поддерживаемых веток PostgreSQL: 11.2, 10.7, 9.6.12, 9.5.16 и 9.4.21, в которых исправлено около 70 ошибок. Наиболее значительным изменением стала переработка механизма использования вызова fsync() для обеспечения целостности записываемых на диск данных.

Оказалось, что вызов fsync() некорректно используется в PostgreSQL уже около 20 лет, что потенциально могло приводить в Linux, NetBSD и OpenBSD к потере записываемых данных в случае аппаратных сбоев. Разработчики PostgreSQL полагали, что успешно завершившийся вызов fsync() гарантирует, что поступившие данные записаны на постоянный носитель, но оказалось, что существуют ситуации когда это не так.

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

Так как буферы были очищены повторный вызов будет завершён успешно и PostgreSQL посчитает, что все данные записаны успешно. Но на деле, при чтении блоков, которые PostgreSQL полагает записанными, будет возвращено не то, что ожидается. Проблема усугубляется тем, что в разных операционных системах fsync() ведёт себя по разному и логичным кажется поведение, когда данные не отбрасываются при первой же неудачной попытке записи, а сохраняются в памяти в состоянии "dirty" для повторения попыток записи.

Начиная с выпусков PostgreSQL 11.2, 10.7, 9.6.12, 9.5.16 и 9.4.21 логика обработки ошибок fsync() изменена и PostgreSQL теперь не пытается после сбоя выполнения fsync() повторно вызвать fsync(), а завершается с выдачей фатальной ошибки. Данный шаг даёт возможность при перезапуске восстановить корректное состояние данных на основе WAL-лога, минуя скрытое повреждение содержимого базы. Подобная логика обработки ошибки может показаться неоптимальной, но разработчики сочли данное решение достаточным так как указанные проблемы возникают крайне редко.

Для систем, ядро которых не сбрасывает содержимое буфера записи после сбоя, в настройки добавлена опция data_sync_retry, позволяющая вернуть старое поведение с двойным вызовом fsync(). Например, FreeBSD не очищает состояние и при повторном вызове fsync() повторно выведет ошибку.

Поведение с очисткой буфера записи после ошибки объясняется тем, что в подавляющем большинстве случаев ошибки ввода/вывода возникают из-за удаления USB-накопителя без отмонтирования. Без очистки ситуация, когда какой-то процесс продолжает пытаться записать большой объём данных, приведёт к накапливанию страниц в состоянии "dirty", вплоть до исчерпания доступной памяти. Очистка же помогает сохранить работоспособность системы в подобных ситуациях.

Дополнительно можно отметить, что факт ошибки не всегда удаётся отследить. Например, если ошибка ввода/вывода возникла до открытия файла, то fsync() завершится успешно. Компания Google для обхода описанной проблемы использует альтернативный метод обработки ошибок ввода/вывода, основанный на сборе сведений об ошибках напрямую из ядра через netlink-сокет. Другим вариантом является использование прямого ввода/вывода (DIO), который предоставляет дополнительные механизмы для отслеживания сброса данных на диск и контроля за активностью ввода/вывода.

  1. OpenNews: Обновление PostgreSQL 11.1, 10.6, 9.6.11, 9.5.15, 9.4.20 и 9.3.25
  2. OpenNews: Выпуск PipelineDB 1.0.0, надстройки к PostgreSQL для непрерывной обработки потоков
  3. OpenNews: Релиз СУБД PostgreSQL 11
  4. OpenNews: Для PostgreSQL предложено новое хранилище zheap
  5. OpenNews: Microsoft поглотил компанию Citus, развивающую СУБД на базе PostgreSQL
Обсуждение (78 +27) | Тип: Программы |
14.02.2019 Выпуск системного менеджера systemd 241 (205 –11)
  Опубликован релиз системного менеджера systemd 241, в котором устранены ранее выявленные уязвимости в systemd-journald, позволяющие непривилегированному локальному пользователю получить права root. Для защиты от эксплуатации уязвимостей в systemd-journald и systemd-journal-remote теперь отбрасываются записи со слишком большим числом полей и установлены лимиты на размер данных командной строки.

Среди других изменений в systemd 241:

  • Включены по умолчанию sysctl fs.protected_regular и fs.protected_fifos, реализованные в ядре Linux 4.19 и запрещающие в каталогах с флагом sticky (например, /tmp) открытие чужих FIFO-каналов или файлов с флагом O_CREAT (т.е. только владелец может пересоздать свои FIFO и файлы). Активация указанных sysctl позволяет блокировать атаки, в которых злоумышленник создаёт в /tmp подставной fifo или файл, используемый другим процессом. Для отключения в /etc/sysctl.d/60-protected.conf следует изменить значения fs.protected_regular и fs.protected_fifos на "0";
  • В link-файлах реализован новый режим наименования сетевых устройств (NamePolicy) - "keep", который указан по умолчанию в файле 99-default.link (запасной набор настроек для обеспечения обратной совместимости). Указанный режим добавлен для решения проблемы с изменением логики переименования сетевых интерфейсов из-за регрессивного изменения в systemd 240. При использовании режима "keep" или при обнаружении версии настроек (naming-scheme) меньше 240 будет сохранено старое поведение, при котором уже установленные в пространстве пользователя имена (например, через опцию NAME в правилах udev) не будут второй раз переименовываться на автоматически сгенерированные;
  • Реализована возможность настройки на этапе компиляции выставляемой по умолчанию локали. Если не менять настройки локаль по умолчанию будет выбрана автоматически (C.UTF-8, en_US.UTF-8 или C);
  • Строка с номером версии, показываемая systemd и другими утилитами, при сборке из Git теперь включает хэш коммита. При сборке данное поведение можно переопределить и использовать в номере версии, например, версию пакета из репозитория дистрибутива;
  • В утилиту systemd-cat добавлена поддержка фильтрации стандартного ввода (STDIN) и стандартного вывода ошибок (STDERR) на основании уровня приоритета syslog ("--stderr-priority");
  • В pam_systemd обеспечено выставление переменной окружения DBUS_SESSION_BUS_ADDRESS;
  • Из сборочных опций убран флаг "-fPIE". Для сборки исполняемых файлов в режиме PIE следует использовать в сборочной системе meson параметр "-Db_pie=true";
  • В процессе чтения файлов, указанных в настройке EnvironmentFile для unit-файлов, внутри текста в кавычках теперь обрабатываются обратные слэши, в соответствии с поведением POSIX shell;
  • Команды "udevadm trigger", "udevadm control", "udevadm settle" и "udevadm monitor" теперь автоматически определяют запуск в chroot-окружении и не выполняют в этом случае никаких действий;
  • Строки с флагом "C" в tmpfiles.d/ теперь копируют дерево каталогов не только когда целевой каталог отсутствует, но и когда целевой каталог существует, но не содержит файлов или вложенных каталогов;
  • В команду "udevadm control" добавлена опция "--ping" для проверки запуска и работоспособности процесса systemd-udevd.

  1. OpenNews: Systemd в Debian остался без мэйнтейнера из-за разногласий с разработчиками systemd
  2. OpenNews: В systemd-journald выявлены три уязвимости, позволяющие получить права root
  3. OpenNews: Выпуск системного менеджера systemd 240
  4. OpenNews: Удалённая уязвимость в systemd-networkd
  5. OpenNews: Спорная ошибка в systemd, позволяющая повысить привилегии, закрыта без исправления
Обсуждение (205 –11) | Тип: Программы |
14.02.2019 Выпуск Cilium 1.4, сетевой системы для Linux-контейнеров, основанной на BPF (17 +2)
  Представлен релиз проекта Cilium 1.4, в рамках которого при участии компаний Google, Facebook, Netflix и Red Hat развивается система обеспечения сетевого взаимодействия и применения политик безопасности для изолированных контейнеров и процессов. Для разграничения сетевого доступа в Cilium применяются еBPF (Berkeley Packet Filter) и XDP (eXpress Data Path). Код компонентов, работающих на уровне пользователя, написан на языке Go и распространяется под лицензией Apache 2.0. Загружаемые в ядро Linux сценарии BPF доступны под лицензией GPLv2.

Основу Cilium составляет фоновый процесс, который работает в пространстве пользователя и выполняет работу по генерации и компиляции BPF-программ, а также взаимодействию с runtime, обеспечивающим работу контейнеров. В форме BPF-программ реализованы системы обеспечения связности контейнеров, интеграции с сетевой подсистемой (физические и виртуальные сети, VXLAN, Geneve) и балансировки нагрузки. Фоновый процесс дополняют управляющий cli-интерфейс, репозиторий правил доступа, система мониторинга и модули интеграции с поддержкой Kubernetes, Mesos, Istio, и Docker. Производительность решения на базе Cilium при большом числе сервисов и соединений в два раза опережает решения на базе iptables из-за больших накладных расходов на перебор правил. Более подробно про особенности Cilium можно прочитать в тексте анонса первого выпуска проекта.

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

  • Добавлена возможность маршрутизации и проброса трафика сервисов между несколькими кластерами Kubernetes. Также предложена концепция глобальных сервисов (вариант штатных сервисов Kubernetes с бэкендами в нескольких кластерах). Новая функциональность позволяет в случае выхода из строя бэкендов, обеспечивающих работу сервиса в одном кластере, автоматически перенаправить трафик к обработчикам данного сервиса в другом кластере.

  • Реализованы средства для задания правил обработки запросов и ответов DNS в привязке к группам контейнеров (pods), позволяющие увеличить контроль за обращением к внешним ресурсами из контейнеров. Дополнительно появилась поддержка ведения лога всех запросов и ответов DNS в привязке к pod-ам. Помимо правил доступа на уровне IP-адресов теперь можно определить какие DNS-запросы и DNS-ответы допустимы, а какие нужно блокировать. Например, можно блокировать доступ к определённым доменам или разрешить запросы только для локального домена, без необходимости отслеживания изменений привязки доменов к IP. В том числе реализована возможность использования возвращённого в процессе запроса к DNS IP-адреса для ограничения последующих сетевых операций (например, можно разрешить только обращение к IP-адресам, которые были возвращены при резолвинге в DNS, т.е. предоставлен своеобразный межсетевой экран, манипулирующий доменами вместо IP, с временем жизни привязок в соответствии с определённым TTL);

  • Добавлена экспериментальная поддержка прозрачного шифрования всего трафика между сервисами. Шифрование может применяться как для трафика между разными кластерами, так и в пределах одного кластера. Также добавлена возможность аутентификации узлов, что позволяет размещать кластер в не заслуживающей доверия сети;
  • Добавлена экспериментальная поддержка сетевых интерфейсов IPVLAN, позволяющих добиться более высокой производительности и снизить задержки при взаимодействии между двумя локальными контейнерами;

  • Добавлен модуль для интеграции с Flannel, системой для автоматизации настройки сетевого взаимодействия между узлами в кластере Kubernetes, позволяющий работать бок о бок или запустить Cilium поверх Flannel (сетевое взаимодействие от Flannel, политики доступа и балансировка от Cilium);
  • Обеспечена экспериментальная поддержка определения правил доступа на основе метаданных AWS (Amazon Web Services), таких как метки EC2, группы безопасности и имена VPC;
  • Предоставлена возможность запуска Cilium в GKE (Google Kubernetes Engine в Google Cloud) с использованием COS (Container-Optimized OS);
  • Обеспечена тестовая возможность для использования Sockmap BPF для ускорения коммуникаций между локальными процессами (например, полезно для ускорения взаимодействия между sidecar proxie и локальными процессами);

  • Добавлены дополнительные метрики для системы мониторинга Prometheus и предложены новые графики в сводной панели Grafana;

  • Добавлена поддержка Kubernetes 1.13 и новых версий CRI-O;
  • Проведена большая работа по оптимизации потребления памяти и нагрузки на CPU.

  1. OpenNews: Эксперимент по настройке Linux для блокирования 10 млн пакетов в секунду
  2. OpenNews: Для Linux представлена система динамической отладки BPFtrace (DTrace 2.0)
  3. OpenNews: Выпуск Cilium 1.0, сетевой системы для Linux-контейнеров, основанной на BPF
  4. OpenNews: Google представил Cilium, сетевую систему для Linux-контейнеров, основанную на BPF
  5. OpenNews: В eBPF найдена возможность обхода защиты ядра Linux от атаки Spectre
Обсуждение (17 +2) | Тип: Программы |
13.02.2019 Выпуск поискового сервера Xapiand 0.9 (31 +13)
  Доступен выпуск поискового сервера Xapiand 0.9, предназначенного для хранения, индексации и поиска большой коллекции документов. Сервер является надстройкой над библиотекой для создания поисковых систем Xapian. Для асинхронной обработки запросов применяется библиотека libev. Код Xapiand написан на C++ и поставляется под лицензией MIT. Для упрощения развёртывания предоставляется готовый образ для системы Docker (dubalu/xapiand).

Обращение к серверу производится через HTTP RESTful API. Документы могут представлять собой любые данные в форматах JSON или MessagePack. Определение схемы хранения не требуется, выборка осуществляется при помощи полнотекстовых поисковых запросов. Поддерживается создание специализированных индексов для определённых типов данных и прикрепление более одного индекса. В том числе имеется встроенная поддержка индексации геопространственных данных, позволяющая комбинировать данные о местоположении с операциями полнотекстового поиска. Поддерживаются различные форматы хранения координат и иерархические пространственные индексы HTM (Hierarchical Triangular Mesh).

Сервер отличается высокой производительностью, низким потреблением памяти и возможностью создания распределённых и отказоустойчивых систем, в которых индексы разделены (на каждом узле своя часть индекса и в выполнение запроса вовлекается несколько узлов) или реплицированы (на каждом узле копия полного индекса и возможна балансировка нагрузки) на несколько узлов кластера. Заявляется производительность операций поиска близкая к обработке запросов в режиме реального времени. Индексы могут включать в себя файлы и полные исходные данные, что позволяет использовать Xapiand в качестве хранилища с функцией полнотекстового поиска.

Новый выпуск примечателен переходом на движок Xapian 1.5.0, существенным увеличением производительности и стабилизацией средств для обработки геопространственных данных. Кроме того, представлена поддержка языка запросов QueryDSL, позволяющего формировать запросы в формате JSON. Например, можно применять логические операторы, фильтровать вывод по определённым значениям полей в документах, учитывать вес и число совпадений, преобразовывать значения полей из одного формата в другой, отсеивать документы в зависимости от пространств имён (вложенных полей, например, для хранения тегов).

  1. OpenNews: Релиз поискового движка Elasticsearch 1.0.0
  2. OpenNews: Открыт исходный код поискового движка Gigablast
  3. OpenNews: Поисковый движок Searchdaimon переведён в разряд свободных проектов
  4. OpenNews: Wikimedia работает над созданием собственной поисковой системы
  5. OpenNews: Европейский Фонд СПО представил децентрализованную поисковую систему YaCy 1.0
Обсуждение (31 +13) | Тип: Программы |
13.02.2019 Уязвимость в snapd, позволяющая получить root-привилегии в системе (84 +11)
  В snapd, инструментарии для управления самодостаточными пакетами в формате snap, выявлена уязвимость (CVE-2019-7304), позволяющая непривилегированному пользователю получить права администратора (root) в системе. Для проверки систем на наличие уязвимости опубликовано два прототипа эксплоита - первый позволяет завести нового пользователя в системе, а второй даёт возможность установить любой snap-пакет и запустить код с правами root (через установку пакета в режиме "devmode" с прикреплением обработчика, вызываемого с привилегиями root при установке пакета).

Уязвимость вызвана отсутствием в snapd должных проверок при обработке адреса внешнего сокета в процессе оценки прав доступа для Unix-сокетов. При обработке запросов к API через Unix-сокет проверяется ассоциированный с соединением UID пользователя и на основании его принимается решение о предоставлении доступа. Пользователь может прикрепить к имени файла с сокетом строку ";uid=0;" (например, создать сокет "/tmp/sock;uid=0;") и данная строка будет обработана как часть адреса клиентского сокета.

При парсинге параметров в snapd идентификатор пользователя выделяется через цикличный поиск по маске ";uid=" в строке, также включающей имя файла с сокетом (например, при создании клиентского сокета "/tmp/sock;uid=0;" эта строка примет вид "pid=5275;uid=1000;socket=/run/snapd.socket;/tmp/sock;uid=0;"). Таким образом, при наличии строки ";uid=0;" в имени сокета идентификатор будет выделен из неё, а не из штатного параметра с реальным UID. Локальный атакующий может использовать данную ошибку для доступа через сокет /run/snapd.socket к привилегированным API snapd и получения полномочий администратора (в вышеупомянутых эксплоитах используется обращение к API v2/create-user и /v2/snaps).

Проблема проявляется в версиях snapd с 2.28 по 2.37 и затрагивает все поддерживаемые ветки дистрибутива Ubuntu (с 14.04 по 18.10), в котором начиная с Ubuntu 18.04 поддержка snap предлагается по умолчанию. Проблема также затрагивает дистрибутивы Fedora и Debian, в которых snapd предлагается из штатных репозиториев. Уязвимость устранена в выпуске snapd 2.37.1, а также в обновлениях пакетов для дистрибутивов Ubuntu и Debian.

  1. OpenNews: Компания Canonical опубликовала заявление, связанное с вредоносным ПО в Snap Store
  2. OpenNews: Уязвимость во Flatpak, позволяющая повысить привилегии в системе
  3. OpenNews: Уязвимость в Glibc, позволяющая поднять привилегии в системе
  4. OpenNews: В Kubernetes 1.13 устранена критическая уязвимость, позволяющая поднять свои привилегии
  5. OpenNews: Релиз системы самодостаточных пакетов Flatpak 1.2.0
Обсуждение (84 +11) | Тип: Проблемы безопасности |
12.02.2019 Релиз рабочего стола KDE Plasma 5.15 (207 +42)
  Представлен релиз пользовательской оболочки Plasma 5.15, построенной с использованием платформы KDE Frameworks 5 и библиотеки Qt 5 с применением OpenGL/OpenGL ES для ускорения отрисовки. Оценить работу нового выпуска можно через Live-сборку от проекта openSUSE и сборки от проекта KDE neon. Пакеты для различных дистрибутивов можно найти на данной странице.

Ключевые улучшения:

  • Виджеты
    • В виджете контроля заряда аккумулятора реализовано отображение состояния аккумулятора внешних Bluetooth-устройств (функция работоспособна только при установке свежих версий upower и bluez);
    • В диалог настройки обоев рабочего стола встроены функции для загрузки и установки новых плагинов с реализацией динамических обоев;
    • Улучшена читаемость имён файлов под пиктограммами на рабочем столе: предоставлено достаточное горизонтальное пространство для текста, независимо от размера пиктограммы, и обеспечен должный контраст, необходимый для лёгкой читаемости текста, выводимого поверх очень светлых или замысловатых обоев рабочего стола. Для незрячих пользователей добавлена поддержка озвучивания пиктограмм через экранные ридеры;
    • В виджете для ведения заметок (Notes) появилась новая тема оформления, показывающая светлый текст на прозрачном фоне;
    • Добавлена возможность включения цикличной прокрутки при достижении конца списка виртуальных рабочих столов;
    • Улучшен внешний вид всплывающих предупреждений от системы уведомлений;
    • Повышено удобство работы в интерфейсе поиска программ (KRunner). Реализована корректная обработка дубликатов в выводе (теперь не показываются дубликаты закладок Firefox и повторяющиеся элементы при попадании найденного файла в несколько категорий). Оформление виджета отдельного поиска приведено в соответствии к оформлению KRunner;
    • Виджет для уведомления о подключении новых носителей теперь корректно обрабатывает попытки выполнения опасных для системы операций (например, отмонтирование корневой ФС);
  • Интерфейс для настройки системы
    • Изменено оформление и переписан код конфигуратора виртуальных рабочих столов. Новая реализация корректно работает в окружениях на базе Wayland, более удобна в работе и визуально соответствует остальным конфигураторам KDE;
    • Унифицировано оформление интерфейсов настройки часов и оболочки Folder View, которое приведено общему с остальными конфигураторами виду;
    • Проведена работа по унификации пиктограмм, отступов и кнопок на разных страницах Интерфейса для настройки системы;
    • На странице "Desktop Effects" в конфигураторе теперь отображаются и сторонние эффекты рабочего стола, установленные через каталог store.kde.org. Реализация конфигуратора "Desktop Effects" переведена на использование QtQuickControls 2;
    • В интерфейсе для настройки параметров экрана родное экранное разрешение теперь помечается звёздочкой;
    • Улучшено оформление страницы для настройки экрана входа в систему и обновлён эскиз внешнего вида для предлагаемой по умолчанию темы оформления Breeze;
  • Интеграция с GTK и GNOME
    • В Firefox 64 появилась поддержка использования в родных диалогов KDE для открытия и сохранения файлов. Для включения данной возможности требуется установить пакеты xdg-desktop-portal и xdg-desktop-portal-kde, после чего запустить Firefox с выставленной переменной окружения GTK_USE_PORTAL=1;
    • В интеграционные модули xdg-desktop-portal-kde и plasma-integration добавлена поддержка портала для доступа к настройкам, позволяющего обращаться к параметрам конфигурации Plasma (шрифты, пиктограммы, темы виджетов и цветовые схемы) из изолированных приложений Flatpak и Snap, без необходимости предоставления прямого доступа к глобальному файлу конфигурации KDE;
    • Глобальный коэффициент масштабирования для экранов с высокой плотностью пикселей (high-DPI) теперь учитывается и для вывода приложений GTK и GNOME, если он является целым числом;
    • Решены разнообразные проблемы, возникавшие при использовании темы оформления Breeze-GTK, в том числе устранены несоответствия между тёмным и светлым вариантами данной темы;
  • Центр установки приложений и дополнений (Discover):
    • В виджет для информирования о наличии обновлений добавлены сведения о появлении возможности обновления до новой версии дистрибутива, а также обеспечен показ кнопки "Restart" в ситуациях, когда после применения обновлений рекомендуется выполнить перезагрузку;
    • На странице со списком доступных обновлений появились опции для снятия метки и повторной отметки всех элементов списка, упрощающие выборочную установку обновлений;
    • Страница с настройками переименована в "Sources" и преобразована в боковую секцию;
    • Средства управления репозиториями модифицированы для практического применения в дистрибутивах на пакетной базе Ubuntu;
    • Добавлена поддержка дополнений, распространяемых в пакетах Flatpak;
    • Улучшена поддержка обработки локальных пакетов, для которых теперь определяются зависимости и показывается кнопка "Launch" для запуска приложения после установки;
    • При поиске в разделе избранных приложений в результатах теперь показываются только приложения. Дополнения к Plasma теперь фигурируют в результатах поиска только в случае явного поиска в категории "Дополнения";
    • Обеспечен корректный поиск установленных приложений, в случае наличия в системе приложений в формате Snap;
    • На странице со списком обновлений разделены на отдельные категории приложения и дополнения к Plasma;
  • Улучшения в оконном менеджере: В интерфейсе переключения между окнами по Alt+Tab добавлена поддержка управления с использованием экранного ридера и возможность переключения между элементами при помощи клавиатуры. Устранён крах при инициировании скриптом операции сворачивая окна. Эффекты закрытия окна теперь применяются и для диалогов с активным родительским окном. Окна конфигуратора теперь самостоятельно выдвигаются на передний план в случае получения фокуса ввода;
  • Улучшена поддержка Wayland. Полностью реализованы протоколы XdgStable, XdgPopups и XdgDecoration. В окружениях на базе Wayland обеспечена поддержка виртуальных рабочих столов, в том числе добавлена возможность выборочного размещения окна на заданных виртуальных рабочих столах (при использовании X11 подобной возможности нет и окно можно поместить либо на один виртуальный рабочий стол, либо на все). Добавлена поддержка перемещения элементов в режиме drag&drop при помощи жеста на сенсорном экране или тачпаде;
  • В интерфейс для управления сетевыми подключениями добавлена поддержка настойки VPN-туннелей WireGuard при наличии в системе соответствующего плагина к Network Manager. Добавлена возможность пометки сетевых соединений флагом "Metered" (тарификация по трафику);
  • Внесены улучшения в набор пиктограмм Breeze. Улучшены пиктограммы для устройств и настроек, полностью переработаны пиктограммы для эмблем и пакетов, задействованы более качественные пиктограммы для сетевых операций, добавлены отдельные пиктограммы для файлов с байткодом Python;
  • В KSysGuard реализована возможность скрытия строки меню с оставлением подсказки для его возвращения по аналогии с тем, как это сделано в Kate и Gwenview.

  1. OpenNews: Для Firefox реализована возможность использования файловых диалогов KDE
  2. OpenNews: Выпуск KDE Neon на базе Ubuntu 18.04
  3. OpenNews: Выпуск KDE Applications 18.12
  4. OpenNews: Релиз рабочего стола KDE Plasma 5.14
  5. OpenNews: Выпуск музыкального проигрывателя Elisa 0.3, развиваемого сообществом KDE
Обсуждение (207 +42) | Тип: Программы |
Следующая страница (раньше) >>


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