The OpenNET Project / Index page

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

23.01 Стабильный релиз Wine 4.0 (13 +11)
  После года разработки и 28 экспериментальных версий представлен стабильный релиз открытой реализации Win32 API - Wine 4.0, который вобрал в себя более 6000 изменений. Из ключевых достижений новой версии отмечается поддержка графических API Direct3D 12 и Vulkan, включение по умолчанию обособленного потока обработки команд Direct3D, инфраструктура для настройки отображения элементов интерфейса с учётом DPI, поддержка игровых контроллеров, реализация корректной работы на экранах с высокой плотностью пикселей (High-DPI) для платформы Android, интерфейс Windows Media Player, поддержка запуска задач по расписанию, прекращение встроенной поддержки исполняемых файлов DOS.

В Wine подтверждена полноценная работа 4737 программ для Windows, еще 4045 программ прекрасно работают при дополнительных настройках и внешних DLL. У 3489 программ наблюдаются небольшие проблемы в работе, которые не мешают использованию основных функций приложений.

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

  • Direct3D
    • Добавлена начальная поддержка Direct3D 12. Реализация основана на библиотеке vkd3d и требует для работы графической карты с поддержкой графического API Vulkan (Direct3D 12 работает через трансляцию вызовов в API Vulkan). Обеспечена поддержка большей части возможностей Direct3D 12, включая средства для графики и вычислений, очереди и списки команд, дескрипторы и дескрипторы кучи, корневые подписи, неупорядоченный доступ, Sampler-ы, сигнатуры команд, корневые константы, непрямая (indirect) отрисовка, методы Clear*() и Copy*();
    • Включено по умолчанию применение обособленного потока для обработки команд Direct3D, позволяющего выполнять отрисовку в асинхронном режиме с распараллеливанием на многоядерных системах;
    • В любых ситуациях, при доступности OpenGL, в Direct3D обеспечено применение по умолчанию базовых контекстов OpenGL. Ранее базовые контексты использовались только для обеспечения работы приложений Direct3D 10 и 11 на системах с графическими картами AMD и Intel. Теперь это ограничение снято и они применяются для любых видеокарт и всех версий Direct3D, за исключением Direct3D 12;
    • В реализации Direct3D 10 и 11 добавлена большая часть новых возможностей, включая поддержку мультисэмплинга текстур (Multisample texture), 1D-текстур, выборочной (per-sample) обработки фрагментов шейдерами, множественных областей ограничения 3D-сцены (viewport), новых форматов ресурсов, потокового вывод без геометрических шейдеров, управления отсечением глубины, механизмов для устранения артефактов при отрисовке теней и т.п.;
    • Некоторые интерфейсы Direct3D 11 обновлены до версии 11.2, а интерфейсы DXGI до версии 1.6;
    • Начался переход к применению в Direct3D мелкомодульных (fine-grained) блокировок, которые позволят повысить эффективность выполнения на CPU с большим числом процессорных ядер;
    • Для приложений DXGI и DirectDraw обеспечено использование корректного интервала замены буферов отрисовки (swap interval), синхронизированного с кадровым гасящим импульсом (v-blank);
    • Добавлена возможность настройки из приложений DXGI и Direct3D 9Ex величины задержки вывода кадров (frame latency);
    • Добавлена реализация механизма сжатия 3D-текстур S3TC (S3 Texture Compression), срок действия патентов на который истёк около года назад;
    • При поддержке драйвером OpenGL-расширения ARB_query_buffer_object обеспечено снижение задержек, благодаря обработке запросов в асинхронном режиме;
    • Расширена база данных графических карт, пригодных для использования Direct3D;
    • В реестр добавлены новые настройки "HKEY_CURRENT_USER\Software\Wine\Direct3D": "MultisampleTextures" (включение мультисэмплинга текстур) и "Renderer" ("gl" для OpenGL и "gdi" для GDI). Объявлен устаревшим ключ "DirectDrawRenderer". Удалён ключ "StrictDrawOrdering";
  • Графическая подсистема
    • Реализован полноценный драйвер для графического API Vulkan, использующий штатные Vulkan-библиотеки на системах с X11 и API MoltenVK на платформе macOS;
    • Добавлена библиотека vulkan-1.dll c собственной реализацией загрузчика драйверов Vulkan для Windows, альтернативного загрузчику из Vulkan SDK;
    • Добавлена поддержка пиктограмм в формате PNG, в том числе пиктограмм 256x256 для экранов с большим разрешением;
    • В штатный набор пиктограмм добавлены варианты размером 256x256;
    • Многие интерфейсы Direct2D обновлены до версии спецификации 1.2. Для ограничения версии интерфейса Direct2D в секцию реестра "HKEY_CURRENT_USER\Software\Wine\Direct2D" добавлен ключ "max_version_factory";
    • Для X11 добавлена поддержка визуализации в формате ARGB;
    • На базе движка DIB подготовлена реализация старого 16-разрядного драйвера DIB.DRV;
    • В движке DIB значительно ускорена отрисовка больших полигонов;
    • В код вывода на печать добавлена поддержка определения размера страниц A0, A1 и A2;
    • В GdiPlus добавлена поддержка рисования стрелок;
  • Ядро (интерфейсы ядра Windows)
    • Прекращена поддержка выполнения в wine исполняемых файлов DOS. При попытке запуска исполняемых файлов DOS теперь запускается отдельный экземпляр DOSBox. Изменение не касается выполнения исполняемых файлов Win16, поддержка которые остаётся встроенной в Wine;
    • Для запускаемых в Wine драйверов на уровне ядра реализованы обработчики событий, семафоры, мьютексы и таймеры. Драйверам предоставлен доступ к управлению CPU и настройке отладочных регистров;
    • Добавлена поддержка примитивов синхронизации WaitOnAddress;
    • Для корректного определения использования технологии Hyper-threading, в выдаваемой информации о конфигурации CPU теперь разделяются логические и физические ядра процессора;
    • При запуске в окружениях Linux предоставлен доступ к детальной информации, выдаваемой BIOS;
    • Реализована подборка отладочных API для манипуляции 32-разрядными процессами в Wow64 из контекста 64-процессов;
    • Добавлено определение в manifest-файлах приложений настроек, уровней запуска и информации о совместимости;
    • Реализованы различные режимы определения завершения файлового ввода/вывода;
    • Для платформы NetBSD реализована поддержка отладочных регистров;
  • Интерфейс пользователя
    • Реализована инфраструктура для настройки отображения элементов интерфейса с учётом DPI и параметров масштабирования. Масштабирование содержимого окон пока отключено по умолчанию и доступно только на платформе Android. Для включения следует изменить параметр "DpiScalingVer" в секции реестра "HKEY_CURRENT_USER\Control Panel\Desktop"
    • Реализована возможность перенаправления класса Window, что позволило добавить поддержку элементов интерфейсов на базе библиотеки Common Controls 6;
    • В библиотеку ComCtl32 v6 (Common Control) добавлена поддержка стандартных пользовательских элементов интерфейса, в том числе классов для кнопок (Button), списков (ListBox), комбинированных блоков (ComboBox), статических блоков (Static) и форм редактирования (Edit). Реализована поддержка тем оформления;
    • Реализован штатный диалог управления задачами (TaskDialog), включающий поддержку пиктограмм, гиперссылок, полос для индикации прогресса выполнения операций и различных элементов интерфейса;
    • В формах редактирования добавлена поддержка отображения подсказок непосредственно в полях ввода (Cue banner);
  • Интеграция с рабочим столом
    • Добавлена возможность отключения экспорта списка ассоциаций для MIME-типов (вкладка Desktop Integration в winecfg или ключ реестра "HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations");
    • В реализацию диалога открытия и сохранения файлов добавлена возможность отображения свойств файла (размер, время и атрибуты). Опционально добавлена возможность отображения слева панели с часто используемыми файловыми путями (Places);
    • Для соответствия поведению новых версий Windows место AllUsersProfile в оболочке теперь используется каталог Public;
    • В файловом менеджере появилась поддержка горячих клавиш для переименования (F2) и удаления (Del) каталогов;
    • В библиотеку добавлены многие стандартные для Windows пиктограммы;
    • Добавлена поддержка автодополнения ввода в Shell;
    • В режиме рабочего стола панель задач теперь не показывается вверху полноэкранных окон;
    • В состав Shell32 включён большой набор новых пиктограмм;
    • Добавлена поддержка дополнительных имён штатных курсоров, что позволило улучшить совместимость с темами оформления курсоров в окружениях X11;
  • Устройства ввода
    • В API Raw Input и XInput добавлена поддержка игровых контроллеров с интерфейсом HID;
    • В HID-драйвере появилась поддержка геймпадов;
    • Реализован драйвер SDL, позволяющий взаимодействовать через интерфейс HID с поддерживаемыми в SDL игровыми контроллерами;
  • Сетевые возможности
    • В JScript добавлен режим совместимости с EcmaScript, позволяющий использовать некоторые возможности, отсутствующие в штатном режиме. Добавлена поддержка обращения к свойствам JavaScript;
    • Переписаны и теперь лучше соответствуют стандарту объекты для работы с таблицами стилей;
    • В MSHTML добавлена поддержка не-HTML элементов, в частности, добавлена ограниченная поддержка SVG;
    • Реализованы некоторые новые HTML API;
    • В апплет Internet Control Panel добавлена поддержка настройки прокси-сервера;
    • В API WebServices добавлена поддержка Stream I/O;
    • Реализован API Web Services on Devices (WSDAPI), в том числе обеспечена поддержка отправки и приёма различных типов сообщений;
    • Через API WBEM предоставлен доступ к дополнительной информации о системе, включая сведения о CPU, BIOS, видеокарте и сетевом адаптере;
    • WinHTTP переведён на использование Windows Sockets;
  • Криптография
    • Добавлена поддержка асимметричных криптографических ключей, а также возможность проверки цифровых подписей на базе алгоритмов RSA и ECDSA;
    • Добавлена возможность использования хэшей sha256/sha384 в цифровых подписях ECDSA;
    • Добавлена поддержка режимов аутентифицированного шифрования GCM и ECB;
    • Для RSA реализована поддержка оптимального асимметричного шифрования с дополнением (OAEP);
    • Добавлена поддержка аутентификации при помощи Kerberos;
    • Реализован диалог для работы с сертификатами на основе открытых ключей;
    • При работе в macOS при наличии теперь используются библиотеки GnuTLS, а при их отсутствии штатный фреймворк CommonCrypto;
  • Текст и шрифты
    • В DirectWrite добавлена поддержка хранения ресурсов шрифтов в памяти;
    • Таблицы символов обновлены до спецификации Unicode 11;
    • Добавлена поддержка субпиксельного рендеринга шрифтов (требуется наличие FreeType 2.8.1 или более новой версии);
    • В эмуляторе консоли обеспечено корректное масштабирование шрифтов в соответствии с настройками DPI.
    • Расширено число глифов в шрифте Wingdings, в том числе добавлены глифы с разными изображениями часов;
  • Звук
    • Реализован интерфейс Windows Media Player для воспроизведения мультимедийного контента;
    • Добавлен декодировщик MP3, доступный через DirectX Media Object;
  • Поддержка платформы Android
    • Добавлена возможность установки курсора мыши, используя API Android 7+;
    • Добавлена поддержка нового механизма распределения памяти gralloc, который позволил решить проблемы с выводом графики в Android 8+;
    • Добавлена поддержка платформ Android x86-64, в том числе в 64-разрядном режиме (режим WoW64 пока не поддерживается в пакетах WineHQ);
  • Встроенные приложения
    • Добавлена программа Ping, показываются время сетевого отклика, вычисляемого при помощи вызова функции IcmpSendEcho;
    • Добавлен интерфейс SchTasks для добавления и удаления команд для запуска задач по расписанию;
    • В RegEdit добавлен режим шестнадцатеричного просмотра бинарных значений;
    • В командном интерпретаторе добавлена корректная реализация циклов "FOR";
    • В программу XCopy добавлена опция "/k", обеспечивающая сохранение атрибутов;
  • Инструменты для разработки
    • В winedbg добавлена поддержка отладки процессов WoW64;
    • В winegcc добавлена поддержка сборки библиотек штатных подсистем и улучшен поиск подходящих библиотек для кросс-компиляции;
    • В winebuild добавлена опция "-mfpu" для выбора архитектуры FPU для платформ ARM;
    • В winedump добавлена поддержка дампов typelib в формате SLTG;
    • В компилятор IDL добавлена поддержка ACF (Application Configuration Files), асинхронных интерфейсов, cериализации атрибутов, типа __int32 и генерации нескольких typelib в одном файле с ресурсами;
    • Движок Mono, используемый для запуска файлов .NET, обновлён до выпуска 4.7.5. В 64-разрядных окружениях добавлена возможность запуска в режиме CLI 32-разрядны исполняемых файлов .NET;
    • Система маршалинга в Typelib переписана с использованием функций NDR;
    • В фреймворке для проведения тестирования качества кода добавлена поддержка тестирования драйверов ядра Windows и библиотек, загружающих внешние dll;
    • Добавлена возможность сборки WoW64 (эмулятор для запуска 32-разрядных приложений Windows в 64-разрядных редакциях Windows) из штатного дерева исходных кодов Wine;
  • Разное
    • Реализован сервис Task Scheduler для запуска задач по расписанию;
    • Реализован сервис WMI (Windows Management Instrumentation) для централизованного управления системами на базе Windows;
    • Реализована библиотека для сервисов OPC (Open Packaging Convention), используемых в XML-файлах Microsoft Office;
    • Расширена поддержка платформ ARM и ARM64. Для кросс-компиляции для ARM64 реализована возможность использования инструментария MinGW;
    • Добавлена поддержка отложенной установки пакетов MSI. Обеспечено выполнение пользовательских обработчиков в MSI в отдельном процессе, что позволяет создавать комбинированные установщики для 32- и 64-разрядных систем. Добавлена поддержка преобразований субхранилищ в MSI;
    • Новые внешние зависимости: библиотеки Vulkan для работы драйвера Vulkan, Vkd3d для Direct3D 12, SDL для поддержки игровых контроллеров, GSSAPI для Kerberos.

  1. Главная ссылка к новости
  2. OpenNews: Проект Wine выпустил Vkd3d 1.0 с реализацией Direct3D 12
  3. OpenNews: Доступен WineD3D для Windows, предоставляющий поддержку DirectX 11 через OpenGL
  4. OpenNews: Стабильный релиз Wine 2.0
  5. OpenNews: Стабильный релиз Wine 3.0
  6. OpenNews: Энтузиасты взяли на себя продолжение разработки Wine staging
Обсуждение (13 +11) | Тип: Программы | Интересно


23.01 Новая редакция манифеста Chrome сделает невозможным использование uBlock Origin (201 –11)
  Рэймонд Хилл (Raymond Hill), автор систем блокирования нежелательного контента uBlock Origin и uMatrix, предупредил о невозможности использования в браузере Chrome дополнения uBlock Origin в случае утверждения третьей версии манифеста Chrome.

Манифест определяет перечень возможностей и ресурсов, предоставляемых дополнениям Chrome. В текущем черновом варианте третьей версии манифеста прекращена поддержка обработки API webRequest в блокирующем режиме и в качестве замены предложено использовать существенно более ограниченный API declarativeNetRequest. По мнению Рэймонда Хилла предложенного API недостаточно для обеспечения полноценной блокировки рекламы и в случае утверждения манифеста дополнения uBlock Origin и uMatrix не смогут выпускаться для Chrome.

При этом изменение не повлияет на работу блокировщика Adblock Plus, построенного на базе API declarativeNetRequest. Рэймонд отмечает, что при помощи декларативного API declarativeNetRequest невозможно создавать эффективные движки для блокировки нежелательного контента, так как данный API является уже готовой сильно ограниченной реализацией одного специфичного движка и не даёт самостоятельно контролировать поступающий контент на низком уровне. С мнением Рэймонда также согласились разработчики блокировщика AdGuard, который также затрагивают вводимые изменения.

Из недостатков API declarativeNetRequest называется жесткое ограничение максимального числа подключаемых фильтров - список правил фильтрации ограничивается 30 тысячами записей, что недостаточно с учётом того, что только в одном списке EasyList присутствует более 42 тысяч блокировок. Кроме того, предложенный API не даёт использовать собственные алгоритмы фильтрации и не позволяет создавать сложные правила, перекрывающие друг друга в зависимости от условий. При помощи API declarativeNetRequest также невозможно организовать блокировку больших мультимедийных элементов, остановить выполнение JavaScript через подстановку директив CSP и удалить заголовки с Cookie.

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

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

По мнению Рэймонда Хилла прекращение поддержки уже 7 лет существующего API со ссылками на защиту приватности пользователей является странным шагом, так как логичнее было добавить отдельное разрешение, позволяющее пользователю выборочно предоставлять доступ избранным дополнениям к webRequest, а не полностью удалять данный API. Вызывает вопросы и то, что работа по удалению webRequest началась в предвкушении повсеместного введения в строй собственного блокировщика Google, в котором реализация declarativeNetRequest близка к движку блокировщика Adblock Plus, заключившего соглашение о помещении рекламных сетей Google, Amazon и Microsoft в белый список.

  1. Главная ссылка к новости
  2. OpenNews: Google наметил на 9 июля начало массовой блокировки в Chrome неприемлемой рекламы
  3. OpenNews: В Chrome 71 начнётся блокировка вводящих в заблуждение рекламных блоков
  4. OpenNews: Автор uBlock создал форк собственного проекта, оказавшегося в руках недобросовестного мэйнтейнера
  5. OpenNews: DMCA использован для удаления из списка блокировки рекламы Easylist
  6. OpenNews: Выпуск uBlock Origin 1.17. Автоотключение JavaScript для медленных соединений в Chrome для Android
Обсуждение (201 –11) | Тип: Тема для размышления |


23.01 Релиз http-сервера Apache 2.4.38 с объявлением стабильным модуля mod_lua (9 +3)
  Опубликован релиз HTTP-сервера Apache 2.4.38, в котором представлено 14 изменений и устранены три уязвимости.

Наиболее заметные изменения:

  • Устранена уязвимость CVE-2018-17199 в модуле mod_session, позволяющая продолжить обработку сессионных Cookie даже после истечения времени их жизни (например, уязвимость можно использовать для повторного входа с использованием перехваченной когда-то устаревшей Cookie);
  • Устранена DoS-уязвимость CVE-2018-17189 в модуле mod_http2, позволяющая вызвать отказ в обслуживании путём исчерпания лимита на число соединений через отправку на сервер большого числа очень медленно передаваемых больших запросов;
  • Устранена DoS-уязвимость CVE-2019-0190 в модуле mod_ssl, позволяющая заблокировать работу, вызвав бесконечное зацикливание через отправку специально оформленного запроса на повторное согласование параметров TLS-соединения (версия TLS 1.3 проблеме не подвержена). Проблема проявляется только при сборке с OpenSSL 1.1.1;
  • Модуль mod_lua, позволяющий интегрировать в httpd интерпретатор языка Lua, переведён в число стабильных и теперь может применяться на рабочих серверах (API не будет изменяться);
  • В mod_negotiation обеспечено игнорирования регистра символов при разборе списка языков, заданных в директиве LanguagePriority, в соответствии с поведением AddLanguage и требованиями спецификации HTTP;
  • В mod_session обеспечено декодирование атрибутов сеанса на самой ранней стадии обработки, а в mod_session_cookie реализовано отсеивание дублирующихся заголовков Set-Cookie;
  • В mod_ssl налажено выставление переменной $HTTPS при работе в режиме "SSLEngine optional" и обеспечена корректная работа настройки "Require ssl" при использовании HTTP/2.

  1. Главная ссылка к новости
  2. OpenNews: Уязвимости в Apache httpd и Apache Tomcat
  3. OpenNews: Проблемы в systemd и Apache httpd при обработке DNS-имён с символом подчёркивания
  4. OpenNews: Обновление HTTP-сервера H2O 2.2.5 с устранением уязвимости
  5. OpenNews: Релиз http-сервера Apache 2.4.37 с поддержкой TLSv1.3
  6. OpenNews: HTTP поверх протокола QUIC будет стандартизирован как HTTP/3
Обсуждение (9 +3) | Тип: Программы |


22.01 Уязвимость в пакетном менеджере APT, позволяющая подменить загружаемый пакет (91 +21)
  В пакетном менеджере APT выявлена уязвимость (CVE-2019-3462), позволяющая злоумышленнику инициировать подмену устанавливаемого пакета, если атакующий получил контроль за зеркалом репозитория или способен вклиниться в транзитный трафик между пользователем и репозиторием (MITM-атака). Проблему выявил исследователь безопасности Max Justicz, известный обнаружением уязвимостей в пакетном менеджере APK (Alpine) и репозиториях Packagist, NPM и RubyGems.

Проблема вызвана некорректной проверкой полей в коде обработки HTTP-редиректов, что позволяет атакующему подставить собственное содержимое в данные, передаваемые в рамках HTTP-сеанса (по умолчанию Debian и Ubuntu используют при обращении к репозиторию HTTP, а не HTTPS, полагая, что достаточно цифровой подписи метаданных и проверки соответствия размера пакета).

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

Для загрузки данных из репозитория APT запускает дочерний процесс с реализацией конкретного транспорта и организует взаимодействие с этим процессом при помощи простого текстового протокола с разделением команд пустой строкой. Суть проблемы в том, что обработчик транспорта HTTP при получении от HTTP-сервера ответа с заголовком "Location:" запрашивает у родительского процесса подтверждение редиректа, целиком передавая содержимое этого заголовка. Из-за отсутствия чистки передаваемых спецсимволов, атакующий может указать в поле "Location:" значение, содержащее перевод строки (например, "Location: /payload%0A%0A201%20URI%20Done...").

Так как данное значение будет декодировано и передано через канал связи с родительским процессом, атакующий имеет возможность симулировать иной ответ от обработчика транспорта HTTP и после блока "103 Redirect" подставить фиктивный блок "201 URI Done" с сопутствующими фиктивными метаданными. Например, если при запросе пакета "cowsay_3.03+dfsg2-3_all.deb" атакующий подставит ответ с "Location: /payload%0A%0A201%20URI%20Done%0AURI%3A%20http%3A//deb.debian.org ... Checksum-FileSize-Hash%3A%2020070%0A", такая подстановка приведёт к передаче родительскому процессу следующего блока данных:


   103 Redirect
   URI: http://deb.debian.org/debian/pool/main/c/cowsay/cowsay_3.03+dfsg2-3_all.deb
   New-URI: http://deb.debian.org/payload

   201 URI Done
   URI: http://deb.debian.org/payload
   Filename: /var/lib/apt/lists/deb.debian.org_debian_dists_stretch_Release.gpg
   Size: 20070
   Last-Modified: Tue, 07 Mar 2017 00:29:01 +0000
   MD5-Hash: 27967ddb76b2c394a0714480b7072ab3
   MD5Sum-Hash: 27967ddb76b2c394a0714480b7072ab3
   SHA256-Hash:  858d5116a60ba2acef9f30e08c057ab18b1bd6df5ca61c233b6b7492fbf6b831
   Checksum-FileSize-Hash: 20070

в котором все данные после строки "New-URI: http://deb.debian.org/payload" были закодированы в переданным злоумышленником ответе "Location:...".

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

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

Загрузка вредоносного пакета производится через прикрепление пакета к файлу Release.gpg, во время его передачи. Данный файл имеет предсказуемое местоположение в ФС и прикрепление пакета к его началу не влияет на извлечение из данного файла цифровой подписи репозитория. Атакующий модифицирует передаваемый Release.gpg примерно таким образом:


   подставленное содержимое deb-пакета
   -----BEGIN PGP SIGNATURE-----
   ...
   -----END PGP SIGNATURE-----

Уязвимость устранена в выпуске APT 1.4.9, а также в обновлениях пакетов в Ubuntu и стабильных ветках Debian (Jessie и Stretch), но в экспериментальных ветках Debian пока остаётся неисправленной. Если имеется опасность проведения целевых MITM-атак, в качестве обходного пути защиты можно при выполнении операций с apt/apt-get явно отключать поддержку редиректов (например, "apt -o Acquire::http::AllowRedirect=false update"). Подобное отключение может привести к нарушению работы автоматического проброса на ближайшее зеркало, поэтому в sources.list следует заменить security.debian.org на конкретное зеркало (например, cdn-fastly.deb.debian.org).

  1. Главная ссылка к новости
  2. OpenNews: Уязвимость в пакетном менеджере APT, проявляющаяся в конфигурациях с зеркалами
  3. OpenNews: Выпуск пакетного менеджера Apt 1.3
  4. OpenNews: В пакетном менеджере APT выявлена новая уязвимость
  5. OpenNews: Уязвимость в пакетном менеджере APT, позволяющая обойти проверку пакетов
  6. OpenNews: Уязвимость в пакетном менеджере APK, позволяющая удалённо выполнить код в Alpine Linux
Обсуждение (91 +21) | Тип: Проблемы безопасности |


22.01 Выпуск Ubuntu Core 18 (38 +4)
  Компания Canonical представила релиз Ubuntu Core 18, компактного варианта дистрибутива Ubuntu, адаптированного для применения на устройствах интернета вещей (IoT), контейнерах, потребительском и промышленном оборудовании. Ubuntu Core поставляется в форме неделимого монолитного образа базовой системы, в котором не применяется разбивка на отдельные deb-пакеты. Образы Ubuntu Core 18, состав которых синхронизирован с пакетной базой Ubuntu 18.04, подготовлены для систем i386, amd64, ARM (Raspberry Pi 2, Samsung Artik 5, Samsung Artik 10, Orange Pi Zero) и ARM64 (Qualcomm Dragonboard 410c, Raspberry Pi 3). Размер образа 230-260 Мб в зависимости от архитектуры. Заявленное время поддержки Ubuntu Core 18 - 10 лет.

Ubuntu Core служит основой для запуска дополнительных компонентов и приложений, которые оформляются в виде самодостаточных надстроек в формате snap. Компоненты Ubuntu Core, включая базовую систему, ядро Linux и системные надстройки, также поставляются в формате snap и управляются инструментарием snapd. Технология Snappy даёт возможность сформировать образ системы как единое целое, без разбиения на отдельные пакеты.

Вместо поэтапного обновления на уровне отдельных deb-пакетов в Ubuntu Core применяется механизм атомарного обновления snap-пакетов и базовой системы, по аналогии с Atomic, ChromeOS, Endless, CoreOS и Fedora Silverblue. При обновлении базового окружения и snap-пакетов имеется возможность отката состояния до прошлой версии, в случае проблем, выявленных после обновления. В настоящее время в каталоге SnapCraft насчитывается более 4600 snap-пакетов.

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

Базовая файловая система монтируется в режиме только для чтения. Обновления выпускаются регулярно, доставляются в режиме ОТА (over-the-air) и синхронизированы с составом Ubuntu 18.04. Для минимизации трафика обновления поставляются в сжатом виде и включают только изменения, относительно прошлого обновления (delta-обновления). Автоматизация установки обновлений решает проблемы с поддержанием безопасности системы при использовании на встраиваемых устройствах.

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

  1. Главная ссылка к новости
  2. OpenNews: Объявлено о создании редакции Fedora для интернета вещей
  3. OpenNews: Linux Foundation представил первый выпуск платформы для интернета вещей EdgeX
  4. OpenNews: Выпуск Mozilla Things Gateway 0.6, шлюза для умного дома и IoT-устройств
  5. OpenNews: Представлен вариант Ubuntu Core для умных устройств
  6. OpenNews: Представлены Ubuntu Core и Snappy, предоставляющие новый метод поставки приложений
Обсуждение (38 +4) | Тип: Программы |


22.01 Выпуск СУБД ScyllaDB 3.0, совместимой с Apache Cassandra (27 +14)
  Представлен релиз СУБД ScyllaDB, позиционируемой как полностью совместимый аналог СУБД Apache Cassandra, переписанный с Java на C++ и демонстрирующий существенное увеличение производительности. Код проекта распространяется под лицензией AGPLv3.

По сравнению с оригинальной СУБД Apache Cassandra проект ScyllaDB обеспечивает увеличение скорости обработки запросов на каждом узле в 10 раз, в 99% случаев успевая обработать запрос менее чем за миллисекунду. Обработка большего числа запросов на одном узле позволяет существенно снизить затраты на кластер (при использовании AWS EC2 в 2.5 раз), в котором для достижения заданных характеристик потребуется на порядок меньше узлов, чем при создании кластера на основе классической СУБД Cassandra. Например, 4-узловой кластер на базе Scylla вполне справляется с нагрузкой для которой потребовалось бы развернуть 40-узловой кластер на базе Cassandra.

Одним из факторов, позволившим добиться высоких показателей производительности, является использование развиваемого теми же авторами C++ фреймворка Seastar, нацеленного на создание сложных серверных приложений, обрабатывающих запросы в асинхронном режиме. Seastar учитывает особенности современного оборудования, таких как распараллеливание на многоядерных системах, учёт попадания данных в процессорный кэш, оптимизация для накопителей SSD, прямой доступ к очереди пакетов на сетевой карте и полная утилизация пропускной способности 10/40-гигабитных сетевых карт.

Система построена на основе архитектуры shared-nothing, подразумевающей, что к каждому ядру CPU привязывается отдельный обособленный обработчик, которому выделена отдельная память (отсутствуют задержки из-за организации блокировок) и привязана отдельная очередь пакетов к сетевой карте. Каждый процесс-обработчик ScyllaDB включает в себя собственный оптимизирванный TCP/IP-стек, работающий в пространстве пользователя, прикреплённый к отдельному ядру CPU и напрямую взаимодействующий с сетевой картой.

Другие особенности ScyllaDB:

  • Поддержка работы в качестве прозрачной замены Apache Cassandra;
  • Возможность применения существующих клиентских драйверо от Apache Cassandra для подключения к ScyllaDB;
  • Поддержка модели хранения данных на базе семейства столбцов (ColumnFamily, хэши с несколькими уровнями вложенности);
  • Возможность использования SQL-подобного язык структурированных запросов CQL (Cassandra Query Language);
  • Исключение задержек при проведении упаковки и восстановления целостности БД;
  • Отсутствие сборщика мусора;
  • Возможность переконфигурации кластера (удаление/добавление узлов) без остановки работы;
  • Линейная масштабируемость, при которой производительность находится в прямой зависимости от числа процессорных ядер;
  • Наличие средств для пакетной загрузки и выгрузки больших объёмов данных из хранилищ Hadoop и Spark.


Выпуск СУБД ScyllaDB 3.0 по функциональности соответствует ветке Apache Cassandra 3 и примечателен следующими улучшениями:

  • Поддержка материализованных представлений, позволяющих сформировать виртуальную таблицу на основе произвольного CQL-запроса, содержимое которой не генерируется на лету как в обычных представлениях, а кэшируется между запросами в форме индекса;
  • Добавлена поддержка глобальных для всего кластера вторичных индексов (GSI, Global Secondary Indexes), реализованных через материализованные представления и позволяющих более эффективно индексировать запросы по ключам с агрегированием данных на одном узле;
  • Предложен новый формат хранения данных на диске, совместимый с Apache Cassandra 3.0 и требующий для хранения до 66% меньше места в хранилище по сравнению со старым форматом при активном использовании операций удаления записей. Применение нового формата отключено по умолчанию и может быть активировано через настройку "enable_sstables_mc_format";
  • Добавлен новый механизм хранения информации о репликах для сбойных узлов ("hinted handoff"), вместо одного файла system.hints хинты теперь записываются в отдельные файлы, в разрезе один файл на один узел и реплицированный поток;
  • Существенно улучшена работа операций полного (мульти-секционнного) сканирования БД, при которых данные перебираются без выборки по конкретному ключу;
  • Добавлена поддержка фильтрации сложных запросов с возвращением только подмножества результатов. Фильтрация производится на стороне сервера и позволяет существенно снизить размер передаваемых по сети данных между кластером и приложением;
  • Осуществлён переход на штатные утилиты Cassandra, включая nodetool, cassandra-stress и node_exporter 0.17;
  • Увеличена производительность потоковой отправки данных при добавлении нового узла или восстановлении после сбоя.

  1. Главная ссылка к новости
  2. OpenNews: CharybdeFS - ФС для тестирования устойчивости ПО к ошибкам ввода/вывода
  3. OpenNews: Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в 10 раз быстрее
  4. OpenNews: Выпуск документоориентированной СУБД Apache CouchDB 2.3.0
  5. OpenNews: Опасная уязвимость в Apache Cassandra
  6. OpenNews: Доступна СУБД Apache Cassandra 3.0
Обсуждение (27 +14) | Тип: Программы |


22.01 Завершён аудит реализации TLS 1.3 в OpenSSL 1.1.1 (30 +24)
  Фонд OSTIF (Open Source Technology Improvement Fund), созданный с целью усиления защищённости открытых проектов, объявил о завершении независимого аудита ветки OpenSSL 1.1.1, сосредоточенного на анализе безопасности алгоритмов и кода, связанных с реализацией TLS 1.3, новых протоколов и переработанного генератора псевдослучайных чисел. Работа выполнена французской компанией QuarksLab, которая находится вне юрисдикции крупнейших спецслужб, заинтересованных в организации слежки, и уже привлекалась для аудита проектов OpenVPN и VeraCrypt. Проведение аудита было профинансировано компанией Private Internet Access и проектом DuckDuckGo.

Аудит не выявил серьёзных проблем с безопасностью в OpenSSL 1.1.1 и реализации TLS 1.3. Код отмечен в целом как безопасный, быстрый и функциональный, но выявлены отдельные области, в которых качество кода и комментариев могут быть улучшены. Всего разработчикам OpenSSL было предоставлено 16 рекомендаций и исправлений. Для дальнейшего контроля качества проект OpenSSL включён в программу Internet Bug Bounty, в рамках которой производятся выплаты вознаграждений за выявление уязвимостей и недоработок в области безопасности.

При проведении аудита выявлено 6 проблем, которые были устранены ещё до официального релиза OpenSSL 1.1.1 в ходе приватной переписки разработчиков OpenSSL и исследователей, проводивших аудит:

  • В некоторых ситуациях соединения могли сбрасываться без обработки ошибки. Проблема могла применяться для осуществления DoS-атаки на клиента (крах приложения) при его обращении к подконтрольному злоумышленнику серверу (например, через организацию MITM-атаки);
  • Проблемы с генерацией уведомлений об ошибках, связанных с TLS v1.3. Проблемы можно было использовать для инициирования отказа в обслуживании;
  • Высказано несколько замечаний по качеству кода нового генератора псевдослучайных чисел и недостаточно ясному описанию назначения функций в комментариях (функциональные недоработки в PRNG были выявлены ранее, после другого аудита);
  • Реализация протокола аутентификации SRP признана корректной, но выявлено отсутствие проверок некоторых возвращаемых значений. Также высказаны замечания по качеству кода и недостаточным пояснениям в комментариях;
  • По реализации CAPI замечания коснулись отсутствия комментариев в коде, что значительно затрудняет понимание реализованной логики. Качество кода не вызвало нареканий;
  • Во многих внутренних функциях OpenSSL обнаружены случаи отсутствия явных проверок на значение NULL, что потенциально может приводить к непредсказуемому поведению, которое может вылиться в проблемы со стабильностью или безопасностью.

  1. Главная ссылка к новости
  2. OpenNews: Результаты аудита обновлённого генератора псевдослучайных чисел OpenSSL 1.1.1
  3. OpenNews: Выпуск OpenVPN 2.4.2, в котором отражены результаты аудита безопасности
  4. OpenNews: Завершён аудит проекта OpenVPN
  5. OpenNews: Аудит VeraCrypt выявил 8 критических уязвимостей
  6. OpenNews: Аудит сетевого стека NetBSD выявил уязвимости в BSD-системах
Обсуждение (30 +24) | Тип: Обобщение |


22.01 Выпуск Porteus Kiosk 4.8.0, дистрибутива для оснащения интернет-киосков (23 +8)
  Подготовлен релиз дистрибутива Porteus Kiosk 4.8.0, основанного на Gentoo и предназначенного для оснащения автономно работающих интернет-киосков, демонстрационных стендов и терминалов самообслуживания. Загрузочный образ дистрибутива занимает 93 Мб.

Базовая сборка включает только минимальный набор компонентов, необходимых для запуска web-браузера (поддерживаются Firefox и Chrome), который урезан в своих возможностях для предотвращения нежелательной активности в системе (например, не допускается изменение настроек, заблокирована загрузка/установка приложений, открыт только доступ к выбранным страницам). Дополнительно предлагаются специализированные сборки Cloud для комфортной работы с web-приложениями (Google Apps, Jolicloud, OwnCloud, Dropbox) и ThinClient для работы в роли тонкого клиента (Citrix, RDP, NX, VNC и SSH) и Server для управления сетью киосков.

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

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

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

  • Версии программ синхронизированы с репозиторием Gentoo по состоянию на 19 января. В том числе задействованы ядро 4.19.16, Xorg Server 1.20.3, Chrome 70.0.3538.110 и Mozilla Firefox 52.9.0 ESR (переход на ветку 60 ESR отложен из-за привязок к XUL и NPAPI).
  • Добавлена поддержка экранных кнопок управления навигацией в Firеfox, которые можно использовать в полноэкранном режиме без навигационной панели;
  • В конфигуратор добавлена возможность настройки применяемого по умолчанию формата страницы для вывода на печать;
  • Вместо драйвера VESA для некоторых GPU теперь применяется драйвер 'fbdev', позволяющий работать с более высокими экранными разрешениями;
  • Появилась возможность привязки VNC-сервера к произвольному сетевому порту (например, для обхода блокировки на межсетевом экране);
  • Для упрощения отладки в отладочном логе теперь идентифицируется используемый файл с настройками;
  • Реализована поддержка назначения размещённой на локальном накопителей web-страницы для отображения в качестве хранителя экрана;
  • В интерфейс администратора Porteus Kiosk Server добавлен тест для измерения скорости сетевого доступа клиентов и реализован апплет для отслеживания неудачных попыток входа по SSH/VNC.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск Porteus Kiosk 4.0.0, дистрибутива для оснащения интернет-киосков
  3. OpenNews: Новые выпуски дистрибутивов для создания интернет-киосков: Webconverger 18.0 и Porteus 2.0 Kiosk Edition
  4. OpenNews: Выпуск дистрибутива Raspberry Slideshow 9.0
  5. OpenNews: Выпуск дистрибутива Raspberry Digital Signage 10.0
  6. OpenNews: Представлен Cage, композитный сервер на базе Wayland для создания киосков
Обсуждение (23 +8) | Тип: Программы |


22.01 Выпуск дистрибутива Parrot 4.5 с подборкой программ для проверки безопасности (6 +3)
  Состоялся релиз дистрибутива Parrot 4.5, основанный на пакетной базе Debian Testing и включающий подборку инструментов для проверки защищённости систем, проведения криминалистического анализа и обратного инжиниринга. Для загрузки предложены три варианта iso-образов: с окружением MATE (полный 3.7 Гб и сокращённый 1.8 Гб) и с рабочим столом KDE (2 Гб).

Дистрибутив Parrot позиционируется как переносная лаборатория с окружением для экспертов по безопасности и криминалистов, основное внимание в которой уделяется средствам для проверки облачных систем и устройств интернета-вещей. В состав также включены криптографические инструменты и программы обеспечения защищённого выхода в сеть, в том числе предлагаются TOR, I2P, anonsurf, gpg, tccf, zulucrypt, veracrypt, truecrypt и luks.

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

  • Прекращено формирование 32-разрядных сборок для архитектуры x86 (поддержка 32-разрядных систем ARM сохранена);
  • Помимо установочных и Live образов сформировано преднастроенное окружение в формате OVA для запуска под управлением систем виртуализации, таких как VirtualBox и VMWare;
  • Ядро Linux обновлено до выпуска 4.19, а фреймворк Metasploit до ветки 5.0.
  • Добавлены мета-пакеты для быстрого формирования окружения разработчика на различных языках программирования: parrot-devel (vscodium, zeal, git-cola, meld и tora), parrot-devel-tools (gcc, python3, ruby, jdk, cython3, rust, vala, mono, php, perl6) и parrot-devel-extra (go, node.js, atom, qtcreator, kdevelop, cmake, nasm, valgrind);

  1. Главная ссылка к новости
  2. OpenNews: Выпуск дистрибутива Parrot 4.0 с подборкой программ для проверки безопасности
  3. OpenNews: Выпуск Wifislax 4.12, дистрибутива для тестирования Wi-Fi
  4. OpenNews: Релиз CAINE 10.0, дистрибутива для выявления скрытых данных
  5. OpenNews: Релиз дистрибутива для исследования безопасности систем Kali Linux 2018.4
  6. OpenNews: Новый выпуск BlackArch, дистрибутива для тестирования безопасности
Обсуждение (6 +3) | Тип: Программы |


21.01 Скомпрометированный MySQL-сервер может получать произвольные локальные файлы клиентов (18 +12)
  Исследователь безопасности Willem de Groot обратил внимание на недоработку, напоминающую недавно выявленную уязвимость в реализации SCP. Подконтрольный злоумышленнику сервер MySQL может получить доступ к файлам на локальной системе клиента (в рамках его прав доступа). Вместо отправляемых при помощи команды "LOAD DATA LOCAL" файлов сервер может загрузить произвольные файлы с системы клиента, например, SSH-ключи или параметры криптокошельков.

Как и в случае SCP, проблема вызвана тем, что имена загружаемых файлов формирует сервер, а клиентская библиотека лишь выполняет переданную сервером команду без проверки её соответствия исходному запросу. Подразумевается, что имя файла, указанное в отправленной пользователем конструкции "LOAD DATA...LOCAL", совпадает с именем файла, указанным в запросе сервера. В случае, если сервер MySQL контролируется злоумышленником, он может быть модифицирован для запроса произвольных файлов.

Поддержка LOAD DATA...LOCAL" на стороне клиента регулируется сборочной опции "ENABLED_LOCAL_INFILE" и параметром MYSQL_OPT_LOCAL_INFILE в mysql_options(). В ветке MySQL 8.0 данный режим был отключён по умолчанию, но остаётся включён в ветках 5.5, 5.6 и 5.7.

  1. Главная ссылка к новости
  2. OpenNews: Уязвимости в реализациях SCP из OpenSSH, PuTTY и WinSCP
  3. OpenNews: Критическая root-уязвимость в MySQL
  4. OpenNews: Уязвимость в MySQL, позволяющая поднять свои привилегии
  5. OpenNews: Стабильный релиз СУБД MySQL 8.0
Обсуждение (18 +12) | Тип: Проблемы безопасности |


21.01 Доступен NumPy 1.16, последний релиз с поддержкой Python 2 (47 +10)
  Доступен релиз Python-библиотеки для научных вычислений NumPy 1.16, ориентированной на работу с многомерными массивами и матрицами, а также предоставляющей большую коллекцию функций с реализацией различных алгоритмов, связанных с использованием матриц. NumPy является одной из наиболее востребованных библиотек, применяемых для научных расчётов. Код проекта написан на языке Python с применением оптимизаций на языке Си и распространяется под лицензией BSD.

NumPy 1.16 объявлен как последний выпуск, в котором сохраняется поддержка Python 2.7. Новые возможности отныне будут добавляться только в ветку для Python 3, а поддержка Python 2 ограничится исправлением ошибок. Из веток Python 3 обеспечена поддержка 3.5-3.7, поддержка ветки Python 3.4 прекращена. Сопровождение NumPy 1.16 будет обеспечено до 31 декабря 2019 года, после чего возможность дальнейшей поддержки будет зависеть от активности лиц, заинтересованных в продолжении использования Python 2. Напомним, что поддержка Python 2.7 будет прекращена сообществом разработчиков языка Python в 2020 году.

В новой версии проведён рефакторинг кодовой базы, переработана организация кода и улучшена переносимость между разными платформами. Добавлена экспериментальная поддержка переопределения функций numpy производными проектами. Функция matmul переведена в разряд универсальных (ufunc) и может быть переопределена при помощи выражения "__array_ufunc__". Улучшена поддержка архитектур ARM, POWER и SPARC, а также платформ AIX и PyPy. Улучшена переносимость с ctypes. Расширена поддержка PEP 3118 (интерфейс совместного доступа к буферам).

Дополнение: В NumPy выявлена уязвимость (CVE-2019-6446), приводящая к выполнению удалённого кода при обработке специально оформленного сериализированного объекта. Уязвимость проявляется в том числе в выпуске 1.16.0 и присутствует в коде начиная с версии 1.10 (апрель 2015), в которой был добавлен вызов "np.load(allow_pickle=True)". Проблема связана с небезопасным использованием модуля "pickle".

  1. Главная ссылка к новости
  2. OpenNews: Опубликован план прекращения поддержки Python 2 в NumPy
  3. OpenNews: Выпуск инженерного дистрибутива CAELinux 2018
  4. OpenNews: Опубликованы лекции "Python в научных вычислениях"
  5. OpenNews: Релиз системы для математических расчётов GNU Octave 4.2.0
  6. OpenNews: Выпуск SciPy 1.0, библиотеки для научных и инженерных расчётов
Обсуждение (47 +10) | Тип: Программы |


21.01 Крупнейшие DNS-сервисы и серверы прекратят поддержку проблемных реализаций DNS (50 +19)
  1 февраля ряд DNS-сервисов и производителей DNS-серверов решили провести день корректной обработки запросов EDNS (DNS flag day). В этот же день организация ISC планирует выпустить новый значительный релиз DNS-сервера BIND 9.14, в который будут внесены изменения, нарушающие совместимость резолвера с некоторыми DNS-серверами, на которых используется старое ПО с некорректно реализованной обработкой запросов EDNS.

EDNS определяет механизм расширения размера параметров DNS и позволяет добавлять в протокол новые флаги. Расширенные флаги кодируются в специальных RR-записях, что позволят сохранить обратную совместимость с классическим протоколом DNS (не поддерживающий EDNS сервер может ответить на запрос без учёта дополнительных флагов). EDNS был стандартизирован в 1999 году в форме RFC 2671, а в 2013 году было выпущено обновление спецификации RFC 6891.

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

Около 20 лет назад в DNS-сервере BIND был реализован обходной манёвр ("грязный хак"), позволяющий корректно взаимодействовать с подобными серверами, который впоследствии был воплощён и в других DNS-резолверах. Суть метода в том, что в качестве признака отсутствия поддержки флагов EDNS использовался таймаут - если после отправки запроса с флагами EDNS через определённый промежуток времени не поступал ответ, DNS-сервер считал, что расширенные флаги не поддерживаются и отправлял повторный запрос без флагов EDNS.

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

В частности, в резолвере PowerDNS все замечания в области поддержки спецификации будут устранены только в готовящемся выпуске 4.2. При этом в подготовленной в 2017 году версии PowerDNS 4.1 авторитативный сервер уже полностью соответствовал спецификации EDNS, а в ветке 4.0 всплывали лишь отдельные несовместимости, возникающие при определённом стечении обстоятельств и в общем виде не мешающие нормальной работе.

Теперь разработчики DNS-серверов договорились удалить из реализаций DNS-резолверов поддержку упомянутого обходного метода проверки и более не откатываться на старый вариант протокола в случае наступления таймаута. Изменение планируется произвести в выпусках BIND 9.14 (намечен на 1 февраля), Unbound 1.8.4/1.9.0 и PowerDNS Recursor 4.2.0. В Knot Resolver рассматриваемый обходной метод не применялся изначально. К инициативе также подключились компании CloudFlare, Quad 9, Cisco (OpenDNS) и Google, которые планируют удалить поддержку обходного метода проверки на своих публичных DNS-серверах.

Изменение не повлияет на штатное поведение резолверов - запросы с использованием старого протокола DNS и корректно отбрасываемые не поддерживаемые запросы с EDNS будут обрабатываться как и прежде. Иными словами, авторитативные DNS-серверы как и раньше не обязаны поддерживать EDNS и могут ограничиваться старым классическим протоколом, но они теперь должны корректно реагировать на не поддерживаемые запросы EDNS, а не молча игнорировать их. По сути, DNS-серверы лишь принуждают к соответствию стандарту.

С практической стороны прекращение поддержки обходной проверки может привести к проблемам при взаимодействии с DNS-серверами, использующими очень старые выпуски PowerDNS. Для тестирования корректности реагирования на запросы с EDNS запущены специальные online-сервисы dnsflagday.net и EDNS Compliance Tester. Так как каждый домен обслуживает как минимум 2 разных DNS-сервера, а переход на новые выпуски Unbound и BIND будет выполняться постепенно, эффект от изменения проявится не сразу, но со временем всё больше и больше DNS-резолверов не сможет взаимодействовать с DNS-серверами, некорректно обрабатывающими EDNS-запросы (игнорирующими без отправки ответного пакета).

Проблемы после отмены обходной проверки также могут возникнуть из-за блокирования расширенных DNS-запросов на стороне межсетевых экранов - блокировка DNS-пакетов размером больше 512 байт иногда применяется для противодействия DDoS-атакам, использующим поля EDNS для усиления трафика. Поэтому администраторам межсетевых экранов также следует обратить внимание на корректность пропускания DNS-трафика с флагами EDNS.

  1. Главная ссылка к новости
  2. OpenNews: Рост атак, связанных с захватом контроля над DNS
  3. OpenNews: Новый этап тестирования DNS поверх HTTPS в Firefox
  4. OpenNews: Анализ перехвата провайдерами транзитного DNS-трафика
  5. OpenNews: Выпуск DNS-сервера KnotDNS 2.7.0
  6. OpenNews: Релиз DNS-сервера Unbound 1.7.0
Обсуждение (50 +19) | Тип: К сведению |


21.01 Выявлены следы взлома PHP-репозитория PEAR и модификации пакетного менеджера (60 +13)
  Сообщается об обнаружении следов взлома официального репозитория пакетов PEAR (PHP Extension and Application Repository), предлагающего дополнительные функции и классы для языка PHP. В ходе атаки злоумышленникам удалось получить доступ к web-серверу проекта и внести изменения в файл "go-pear.phar", в котором содержится установочный комплект с пакетным менеджером "go-pear". Модификация была осуществлена 6 месяцев назад.

Потенциально могут быть скомпрометированы системы пользователей PHP, за последние 6 месяцев выполнявших установку пакетного менеджера "go-pear" из phar-архива (как правило, такая установка практикуется пользователями Windows). Для проверки наличия вредоносного кода в установленном файле рекомендуется сравнить хэши имеющегося у пользователя архива "go-pear.phar" с аналогичной версией архива, поставляемой через официальный репозиторий на GitHub (репозиторий на GitHub не скомпрометирован, файл был подменён на web-сервере PEAR). MD5-хэш известного варианта с вредоносным кодом - "1e26d9dd3110af79a9595f1a77a82de7".

Подробности пока не сообщаются. До завершения разбирательства и полной пересборки содержимого сайта работа сервера PEAR остановлена.

  1. Главная ссылка к новости
  2. OpenNews: Уязвимость, позволяющая удалённо выполнить код на сервере PHP-репозитория Packagist
  3. OpenNews: Проект PHP сообщил о взломе и утечке базы паролей с Wiki-сервера
  4. OpenNews: Подтверждён факт взлома инфраструктуры проекта PHP
  5. OpenNews: Уязвимость в движке для создания форумов phpBB
  6. OpenNews: Уязвимости в PHP и PHPMailer
Обсуждение (60 +13) | Тип: Проблемы безопасности | Интересно


21.01 Debian 10 "Buster" перешёл на первую стадию заморозки перед релизом (150 +22)
  Разработчики Debian сообщили о достижении первой стадии заморозки пакетной базы Debian 10, в рамках которой прекращено выполнение "transitions" (обновление пакетов, требующее корректировки зависимостей у других пакетов, которое приводит к временному удалению пакетов из Testing).

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

В настоящее время насчитывается 577 критических ошибок, блокирующих релиз (в момент заморозки в Debian 9 таких ошибок было около 275, в Debian 8 - 350, Debian 7 - 650). Финальный релиз Debian 10 ожидается летом.

  1. Главная ссылка к новости
  2. OpenNews: Заморозка пакетной базы Debian 10 "Buster" намечена на март следующего года
  3. OpenNews: Debian столкнулся с лицензионными проблемами, мешающими поставке обновления микрокода Intel
  4. OpenNews: Debian запрещает использование в пакетах секции со специфичными для вендоров патчами
  5. OpenNews: Четвёртый альфа-выпуск инсталлятора Debian 10 "Buster"
  6. OpenNews: Debian тестирует поддержку UEFI Secure Boot
Обсуждение (150 +22) | Тип: К сведению |


20.01 Тестирование рабочего стола KDE Plasma 5.15 (181 +37)
  Доступна для тестирования бета-версия пользовательской оболочки Plasma 5.15, построенной с использованием платформы KDE Frameworks 5 и библиотеки Qt 5 с применением OpenGL/OpenGL ES для ускорения отрисовки. Протестировать новый выпуск можно через Live-сборку от проекта openSUSE и сборки от проекта KDE Neon. Пакеты для различных дистрибутивов можно найти на данной странице. Релиз ожидается 12 февраля.

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

  • Виджеты
    • В виджете контроля заряда аккумулятора реализовано отображение состояния аккумулятора внешних 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. Главная ссылка к новости
  2. OpenNews: Разработчик KWin ушёл с поста мэнтейнера из-за несогласия с новыми веяниями в KDE
  3. OpenNews: Выпуск KDE Applications 18.12
  4. OpenNews: Релиз среды разработки приложений KDevelop 5.3
  5. OpenNews: Релиз рабочего стола KDE Plasma 5.14
Обсуждение (181 +37) | Тип: Программы |


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


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