Открыт код C++ компилятора Zapcc

Израильская компания Ceemple Software открыла исходные тексты C++ компилятора Zapcc, основанного на наработках Clang/LLVM и отличающегося очень высокой скоростью компиляции, благодаря активному применению кэширования различных этапов сборки. Компилятор может выступать в роли прозрачной замены clang и gcc, и поддерживает интеграцию с любыми системами сборки. Исходные тексты открыты под лицензией LLVM.

Особенно заметное увеличение скорости сборки наблюдается для проектов на C++ с большим число заголовочных файлов с шаблонами, таких как ScyllaDB, Webkit и LLVM, для проектов на Си ускорение менее заметно. Например, при тестировании производительности типовая повторная пересборка Boost.Math при помощи Zapcc производится в 10-50 раз быстрее по сравнению с Clang, а время полной сборки WebKit быстрее в 2-5 раз. Сборка Clang при помощи Zapcc выполняется в два раза быстрее, чем сборка Clang при помощи Clang. По умолчанию для кода на языке Си кэширование отключается, поэтому компилятор Zapcc актуален только для проектов на C++.

Высокая скорость сборки достигается применением специального фонового процесса (zapccs), который поддерживает в оперативной памяти кэш компиляции, в котором сохраняется информация о всех этапах сборки между разными запусками компилятора. Запускаемого для компиляции приложение zapcc, поддерживающее полный набор опций Clang, выступает в роли клиента к серверу zapccs. Запуск сервера осуществляется автоматически. Качество и производительность итогового генерируемого кода аналогичны Сlang.

Источник: [ссылка]

Релиз OpenSCADA 0.9 LTS

Состоялся релиз системы диспетчерского управления и сбора данных OpenSCADA 0.9 LTS, предназначенной для сбора, архивирования, визуализации информации, выдачи управляющих воздействий, а также выполнения других операций, характерных для полнофункциональной SCADA-системы. Система может использоваться на промышленных объектах, во встраиваемых системах, в качестве среды исполнения (в том числе и PLC), для построения различных моделей (технологических, химических, физических, электрических процессов), на персональных компьютерах, серверах и кластерах для сбора, обработки, представления и архивации информации о системе и её окружении. Код проекта распространяется под лицензией GPLv2.

Новый выпуск отнесён к категории стабильных релизов с длительным сроком поддержки, пригодных для промышленного применения. Обновление для прошлой LTS-ветки OpenSCADA 0.8, время поддержки которой составило 6 лет, больше выпускаться не будут, всем пользователям рекомендовано провести обновление до ветки 0.9. Разработка новых возможностей перемещена в рабочую ветку 1.0.

В версии 0.9 добавлена поддержка платформы Android, расширена документация, переработан и актуализирован web-интерфейс, модернизирован GUI на Qt, добавлена серия новых модулей, расширен спектр поддерживаемых датчиков, обеспечена возможность работы с низкоуровневыми шинами (1Wire, I2C), подготовлена система автоматической сборки пакетов, код с реализаций протоколов вынесен в отдельную библиотеку под лицензией LGPL v3.

Источник: [ссылка]

Проект Genode опубликовал второй тестовый выпуск ОС общего назначения Sculpt

Разработчики открытой микроядерной операционной системы Genode OS Framework сформировали второй тестовый выпуск операционной системы Sculpt. В рамках проекта Sculpt на базе технологий Genode развивается операционная система общего назначения, которая сможет быть использована обычными пользователями для выполнения повседневных задач. Исходные тексты проекта распространяются под лицензией AGPLv3.

Второй выпуск примечателен формированием готового LiveUSB-образа (20 Мб), который позволяет оценить Sculpt в работе без выполнения работы по сборке системы. Сообщается, что Sculpt уже применяется разработчиками Genode в своей повседневной работе и начиная со второго выпуска оценивается как пригодный для ознакомления любопытными пользователями («The Curious»). Поддерживается работа на системах с процессорами и графической подсистемой Intel, также поддерживаются беспроводные адаптеры и Ethernet-контроллеры Intel. Работа Sculpt протестирована на ноутбуках Lenovo серий X и T (X220, X250, X260, T430, T460).

Выпуск оснащён простейшим графическим интерфейсом Leitzentrale, предоставляющим в левом верхнем углу экрана меню с инструментами для управления пользователями, подключения накопителей и настройки сетевого соединения. При этом базовым всё еще остаётся консольный режим управления (центральное окно с терминалом), через который производится установка приложений, развёртывание виртуальных машин и настройка окружения. В качестве текстового редактора, при помощи которого осуществляется настройка, используется Vim. Версия с доработанным графическим интерфейсом («Visual Composition») ожидается в августе, а на ноябрь запланирован выпуск «Community Experience» с готовыми средствами для формирования начинки из отдельных компонентов.

Традиционный рабочий стол может быть организован в виде запуска дистрибутива TinyCore Linux в виртуальной машине с Linux. В данном окружении доступен Firefox, текстовый редактор на базе Qt и различные приложения. Для запуска утилит командной строки предлагается окружение noux. В любой момент пользователь может нажать F12 и переключиться в базовый интерфейс Leitzentrale, в котором на лету можно инспектировать и изменять все аспекты работы системы.

Напомним, что Genode предоставляет унифицированную инфраструктуру для создания пользовательских приложений, работающих поверх ядра Linux (32 и 64 бит) или микроядер NOVA (x86 с виртуализацией), Fiasco.OC (x86_32, x86_64, ARM), L4ka::Pistachio (IA32, PowerPC), OKL4, Codezero (ARM), L4/Fiasco (IA32, AMD64, ARM) и HW-ядро для работы напрямую поверх платформ ARM и RISC-V. Входящее в состав паравиртуализированное Linux-ядро L4Linux, работающее поверх микроядра Fiasco.OC, позволяет выполнять в Genode обычные Linux программы. Ядро L4Linux не работает с оборудованием напрямую, а использует сервисы Genode через набор виртуальных драйверов.

Для Genode осуществлено портирование различных Linux и BSD компонентов, обеспечена поддержка Gallium3D, осуществлена интеграция Qt, GCC и WebKit, реализована возможность организации гибридных Linux/Genode программных окружений. Подготовлен порт VirtualBox, работающий поверх микроядра NOVA. Большое число приложений адаптировано для запуска напрямую поверх микроядра и окружения Noux, обеспечивающего виртуализацию на уровне ОС. Для запуска непортированных программ предусмотрена возможность задействования механизма создания виртуальных окружений уровня отдельных приложений, позволяющих запускать программы в виртуальном Linux-окружении с использованием паравиртуализации.

Источник: [ссылка]

Разбор ситуации с обвинением OpenBSD в нарушении эмбарго при исправлении уязвимости KRACK

Штефан Шперлинг (Stefan Sperling), мейнтейнер стека протоколов 802.11 в OpenBSD, опубликовал, с разрешения всех вовлечённых лиц, частную переписку с Мэти Ванхофом (Mathy Vanhoef), непосредственно касающуюся скандала с анонсом уязвимости KRACK, выявленной Ванхофом в прошлом году. Из переписки следует, что проект OpenBSD в лице Штефана получил явное разрешение на коммит в «тихом» виде, т.е. без привлечения внимания до официального разглашения информации. Несмотря на приложенные усилия коммит всё же привлёк повышенное внимание специалистов по безопасности, в результате чего эмбарго было снято досрочно, а проект OpenBSD был обвинён в его, эмбарго, нарушении.

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

В то же время не далее чем позавчера Intel пришлось досрочно анонсировать уязвимость в механизме сохранения/восстановления состояния FPU из-за того, что разработчики OpenBSD смогли исключительно на основе слухов исправить ещё не анонсированную уязвимость. Филипп Гюнтер (Philip Guenther) на основании слухов подготовил и добавил в OpenBSD патч, который, как выяснилось позднее, действительно исправлял уязвимость.

Изначально Intel планировал опубликовать сведения об уязвимости в августе, но поводом к досрочному раскрытию информации стал доклад Тео де Раадта на конференции BSDCan 2018 (видео), в рамках которого были представлены свежие доработки ядра OpenBSD. Так как проект OpenBSD не был официально проинформирован об уязвимости, он не подпадал под эмбарго на разглашение. После доклада Колин Персиваль (Colin Percival), базируясь на озвученной информации, за пять часов написал рабочий прототип эксплоита.

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

Стоит отметить, что действия корпорации Microsoft, которая параллельно с OpenBSD также досрочно выпустила патч для исправления уязвимости KRACK, не послужили причиной для аналогичных санкций со стороны Intel, как и со стороны других вендоров.

Дополнение: Тео де Раадт (Theo de Raadt) публично предупредил о наличии серьёзной уязвимости в реализации HyperThreading, рекомендуется отключить эту опцию для любых компьютеров, где может выполняться недоверенный код (например, JavaScript-код интернет-сайта).

Источник: [ссылка]

Взлом аккаунта на Github привёл к модификациии ПО криптовалюты Syscoin

Разработчики криптовалюты Syscoin, капитализация которой составляет около 130 млн долларов, раскрыли сведения об инциденте с безопасностью. Неизвестный злоумышленник 9 июня получил доступ к репозиторию проекта на GitHub, после чего встроил вредоносное ПО в распространяемые проектом установочные сборки для Windows. Проблема была замечена только 13 июня. Исходные код, а также сборки для macOS и Linux в результате атаки не пострадали.

Всем пользователям Syscoin, загружавшим сборки для Windows (не заверенные цифровой подписью установочные файлы syscoincore-3.0.4-win32-setup.exe и syscoincore-3.0.4-win64-setup.exe, содержащие версию 3.0.4.1) с 9 до 13 июня, следует провести работу по проверке системы и удалению троянского ПО (Trojan:Win32/Feury.B!cl), которое после активации сохранялось в каталог C:UsersuserAppDataLocalTemp под именем re.exe. Вредоносное ПО осуществляло кражу паролей и закрытых ключей к кошелькам криптовалют. Для удаления вредоносного кода следует воспользоваться свежим антивирусным ПО, после чего сменить все вводимые после инфицирования пароли и создать новые кошельки, на которые перевести средства из скомпрометированных кошельков.

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

Источник: [ссылка]

Доступен DHCP-сервер Kea 1.4, развиваемый консорциумом ISC

Консорциум ISC представил релиз DHCP-сервера Kea 1.4.0, идущего на смену классическому ISC DHCP. Исходные тексты проекта распространяются под лицензией Mozilla Public License (MPL) 2.0, вместо ранее применяемой для ISC DHCP лицензии ISC License.

DHCP-сервер Kea основан на технологиях BIND 10 и построен с использованием модульной архитектуры, подразумевающей разбиение функциональности на разные процессы-обработчики. Продукт включает в себя полнофункциональную реализацию сервера с поддержкой протоколов DHCPv4 и DHCPv6, способную заменить собой ISC DHCP. В Kea встроены средства динамического обновления DNS-зон (Dynamic DNS), поддерживаются механизмы обнаружения серверов, назначения адресов, обновления и переподключения, обслуживания информационных запросов, резервирования адресов для хостов и PXE-загрузки. В реализации DHCPv6 дополнительно предусмотрена возможность делегирования префиксов. Для взаимодействия с внешними приложениями предоставляется специальный API. Возможно обновление конфигурации на лету без перезапуска сервера.

Информация о выделенных адресах и параметрах клиентов может храниться в разных типах хранилищ — в настоящее время предоставляются бэкенды для хранения в файлах CSV, СУБД MySQL, Apache Cassandra и PostgreSQL. Параметры резервирования хостов могут быть заданы в файле конфигурации в формате JSON или в виде таблицы в MySQL. В состав входит инструмент perfdhcp для измерения производительности сервера DHCP и компоненты для сбора статистики. Kea демонстрирует неплохую производительность, например, при использовании бэкеда MySQL сервер может выполнить 1000 присвоений адресов в секунду (около 4000 пакетов в секунду), а при использовании бэкенда memfile производительность достигает 7500 присвоений в секунду.

Новые возможности Kea 1.4:

  • Добавлены средства для создания отказоустойчивых конфигураций. Реализовано два режима обеспечения отказоустойчивости: балансировка запросов на несколько активных серверов (в случае сбоя оставшиеся серверы берут на себя нагрузку сбойных) и поддержание в синхронизированном виде запасного сервера (hot standby, в случае сбоя запасной сервер заменяет основной). Кроме того, предоставлена возможность создания дополнительных резервных серверов с реплицированной БД, которые могут в любой момент заменить первичные или вторичные серверы. Отказоустойчивые конфигурации могут применяться для IPv4 и IPv6, и поддерживают все доступные бэкенды хранения, включая memfile;
  • Стабилизирован бэкенд для хранения данных в СУБД Apache Cassandra, который существует уже долгое время, но до сих пор отставал по функциональности и не был полностью протестирован. В новой версии проведена работа по доработке бэкенда, в том числе добавлена возможность хранения параметров резервирования хостов, расширена документация и упрощена установка;
  • Появилась возможность ведения точной раздельной статистики для конфигураций, в которых несколько серверов Kea используют одно совместное хранилище. Ведение статистики обеспечено для бэкендов на базе MySQL и PostgreSQL при помощи нового обработчика stat_cmds и изменения схемы БД;
  • Для бэкендов MySQL и PostgreSQL добавлена возможность восстановления соединения с СУБД в случае обрыва связи;
  • Добавлена возможность определения классов клиентов на уровне настройки пула, что позволяет группировать сходные типы клиентов и определять какие клиенты могут использовать определённый пул адресов, а какие нет. Расширены выражения для определения классов, добавлен оператор для определения принадлежности пакета определённому классу и предложены логические операторы;
  • Добавлен платный модуль для интеграции с серверами RADIUS, позволяющий запрашивать через RADIUS права доступа клиента (Access-Request, Access-Reject), назначать IP-адреса (Framed-IP-Address, Framed-IPv6-Address), определять принадлежность к пулу адресов (Framed-Pool, Framed-IPv6-Pool) и отправлять сведения для аккаунтинга.

Источник: [ссылка]

Представлена техника атаки для воссоздания ключей ECDSA и DSA

Исследователи из компании NCC Group разработали новый метод атаки по сторонним каналам (CVE-2018-0495, PDF), позволяющий воссоздать применяемые для создания цифровых подписей закрытые ключи ECDSA и DSA, используя технику извлечения информации из процессорного кэша для оценки изменения задержки при выполнении вычислений.

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

Для успешного воссоздания 256-разрядного закрытого ключа ECDSA достаточно наблюдения за созданием нескольких тысяч цифровых подписей (например, можно анализировать работу во время установки TLS или SSH соединений с использованием ECDSA). Рабочий прототип эксплота предоставлен для OpenSSL. Для защиты от атаки предлагается использовать в процессе математических вычислений дополнительное случайное число, на которое выполняется умножение секретного параметра, а затем инвертируется результат.

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

Проблеме подвержены библиотеки OpenSSL, LibreSSL, Libgcrypt (ECDSA), Mozilla NSS, Botan (ECDSA), WolfCrypt (ECDSA), LibTomCrypt (ECDSA), LibSunEC (ECDSA), MatrixSSL (ECDSA), BoringSSL (DSA) и CryptLib. Обновления с устранением уязвимости уже выпущены для LibreSSL 2.7.4/2.6.5 и Libgcrypt 1.8.3/1.7.10 (GnuPG). Уязвимость не затрагивает библиотеки Nettle (ECDSA), BearSSL и Libsecp256k1, так как математические вычисления в них всегда выполняются за постоянное время. Библиотека NaCl не подвержена проблемам, так как не поддерживает цифровые подписи ECDSA и DSA (в NaCl применяется только алгоритм Ed25519).

Источник: [ссылка]

Из каталога Docker Hub удалено 17 образов контейнеров с вредоносным кодом

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

В сумме вредоносные образы были загружено более 5 миллионов раз, а доход от майнинга, судя по состоянию указанного в образах кошелька, составил 544.74 Monero (по сегодняшнему курсу 70 тысяч долларов, по состоянию на начало июня — 90 тысяч). Вредоносные образы в основном применялись в ходе атак на некорректно настроенные системы оркестровки контейнеров (например, оставление отладочных обработчиков, допускающих неавторизированный доступ к API Kubernetes через порты 10255 и 10250), после получения доступа к которым атакующие устанавливали свои контейнеры с Docker Hub.

Обычным пользователям Docker также рекомендуется с осторожностью относиться к образам, предлагаемым на Docker Hub, независимо от их популярности. Многие пользователи беспечно относятся к установке сторонних контейнеров, не задумываясь, что их установка мало чем отличается от загрузки и запуска сомнительных исполняемых файлов, которые могут содержать всё что угодно. Учётная запись, с которой производилось размещение в Docker Hub вредоносных образов, была удалена только спустя 10 месяцев с момента публикации первого сообщения о проблеме.

Несмотря на удаление проблемных образов с Docker Hub, ранее установленные экземпляры остаются активными, поэтому администраторам систем на базе Docker и Kubernetes рекомендуется проверить наличие работающих контейнеров, созданных на базе образов от пользователя «docker123321». Большинство вредоносных образов были размещены под именами tomcat, cron и mysql (например, «docker123321/mysql5»). 7 образов включали бэкдор, позволяющий получить удалённый доступ к shell (Reverse Shell на Python и Bash). Один образ содержал предопределённый SSH-ключ злоумышленников. А остальные 9 включали код для загрузки программы для майнинга под видом изображения JPG.

Источник: [ссылка]

LazyFP — новая уязвимость в процессорах Intel

Компания Intel опубликовала сведения о новой уязвимости (CVE-2018-3665) в механизме спекулятивного выполнения инструкций, которая получила кодовое название LazyFP. Проблема затрагивает только процессоры линейки Intel Core и проявляется при использовании «ленивого» (lazy) режима переключения контекста FPU, при котором реальное восстановление состояния регистров производится не сразу после переключения контекста, а только при выполнении первой инструкции, которая манипулирует восстанавливаемыми регистрами. На чипах Intel Atom/Knights и CPU AMD проблема не проявляется.

Уязвимости присвоен средний уровень опасности (CVSS 4.3 из 10) — через проведение атаки по сторонним каналам атакующий может определить значения регистров FPU, MMX, SSE, AVX и AVX-512, используемых другим процессом. Например, в данных регистрах могут содержаться параметры для криптографических вычислений и имеющий доступ к локальной системе злоумышленник может попытаться использовать их для определения ключа шифрования. При использовании систем виртуализации проблема может применяться для определения состояния регистров другой гостевой системы или другого процесса в текущей гостевой системе.

По своей сути уязвимость LazyFP близка к обнародованной в конце мая проблеме Spectre 3a (CVE-2018-3640, RSRE — Rogue System Register Read). Публикация детального описания атаки отложена до августа по просьбе представителей Intel, чтобы дать пользователям время для установки исправлений. В качестве меры для блокирования уязвимости рекомендуется разработчикам ОС перейти от использования режима Lazy FP к режиму Eager FP (ранее восстановление состояния регистров) через установку соответствующих флагов XSAVE или XCR0. Предложенный метод защиты не оказывает негативного влияния на производительность.

В ядре Linux защита была реализована ещё в феврале 2016 года, путём применения по умолчанию режима Eager FP (eagerfpu=on) и удаления возможности активации Lazy FP. Уязвимость затрагивает ядра Linux до версии 4.6 или системы с процессорами без поддержки инструкции XSAVE (до Sandy Bridge), в которых по умолчанию применялся режим Lazy FP. В старых ядрах Linux для защиты можно использовать опцию «eagerfpu=on», которая присутствует начиная с ядра 3.7. Обновления пакетов с ядром подготовлены для Debian и ожидаются для Ubuntu, SUSE/openSUSE и RHEL (RHEL 7 подвержен уязвимости частично, так как уже использует по умолчанию режим переключения контекста Eager FP на CPU Intel Sandy Bridge и более новых системах). Патчи с устранением проблемы также приняты в кодовые базы FreeBSD, OpenBSD и DragonflyBSD. Отдельно исправления выпущены для гипервизора Xen.

Источник: [ссылка]

Компания Alibaba открыла код P2P-системы доставки файлов Dragonfly

Alibaba, одна из крупнейших китайских IT-компаний, открыла исходные тексты распределённой системы доставки файлов Dragonfly, использующей механизмы P2P-коммуникаций для построения сети распространения контента. Система подходит для организации загрузки файлов, создания распределённых кэшей, систем доставки приложений и образов изолированных контейнеров. Код проекта написан на языках Go, Java и Python (в будущем все компоненты планируется переписать на языке Go), и распространяется под лицензией Apache 2.0.

По заявлению разработчиков, в отличие от других похожих систем Dragonfly обеспечивает более высокую эффективность, экономит пропускную способность и гарантирует надёжность до 99.9999%. Отмечается, что Dragonfly является одним из наиболее важных компонентов инфраструктуры компании Alibaba и ежемесячно обслуживает около двух миллиардов загрузок, суммарным размером более 3.4 ПБ. По сравнению с централизованными серверами загрузки контента, Dragonfly позволяет добиться постоянного времени отдачи, не зависящего от числа клиентов, одновременно загружающих данные.

Например, тестовая конфигурация на базе двух 24-ядерных серверов с 64 ГБ ОЗУ и каналом связи в 2000Mb/s при использовании утилиты wget смогла обеспечить отдачу 200-мегабайтного файла не более чем 1200 одновременно подключенным пользователям. Время загрузки файла в пике при этом составляло около 14 минут. При повторении теста с использованием Dragonfly, благодаря применению P2P-механизмов удалось добиться отдачи файла с постоянным временем загрузки в 12 секунд, независимо от числа пользователей, одновременно запрашивающих файл.

Кроме передачи файлов большая ставка делается на применение Dragonfly для оптимизации доставки приложений и образов контейнеров для DevOps-применений. Dragonfly может интегрироваться с различными платформами контейнерной изоляции, не требуя изменения их движков. В том числе Dragonfly отлично интегрируется с системами управления контейнерами Docker и Pouch. По сравнению с традиционными средствами доставки контейнеров Docker, Dragonfly позволяет до 57 раз увеличить пропускную способность и на 99.5% сократить трафик, исходящий от реестра контейнеров.

Базовые компоненты Dragonfly:

  • Supernode — написанный на языке Java менеджер кластера, выполняющий роль P2P-сервера, отвечающего за планирование P2P-задач и создание кэша CDN. Supernode разбивает файл на блоки и определяет какие узлы/клиенты (peer) будут участвовать в доставке этих блоков;
  • Dfdaemon (dfget) — написанный на языке Go процесс для распространения файлов или образов, который работает на стороне клиента (peer) и участвует непосредственно в доставке запрошенных блоков файла. Dfdaemon также может выполнить функции зеркала репозитория или прокси для Docker;
  • Getter — написанный на Python модуль, отвечающий за передачу файлов и организацию совместного доступа к ним.

Основные особенности:

  • Использование P2P-технологии для передачи файлов — каждый клиент Dragonfly является звеном, транслирующим уже полученные данные другим клиентам. Каждый файл разбивается на несколько блоков, которые отдельно передаются между разными узлами (peer). Работа каждого узла P2P-сети обеспечивается отдельным клиентом. Централизованный менеджер кластера имеет информацию о разбивке файлов и о том, какие блоки имеются на каком клиенте, а также осуществляет первичную загрузку файлов из исходного файлового сервера;
  • Возможность интеграции с инструментариями контейнерной изоляции для организации распределённой доставки образов контейнеров;
  • Возможность ограничения суммарной пропускной способности на уровне всего хоста, а не только на уровне отдельных соединений;
  • Работа в форме пассивной сети доставки контента (CDN), позволяющей избежать повторяющихся удаленных загрузок;
  • Гарантированное обеспечение целостности передаваемых файлов, без необходимости дополнительной проверки пользователем контрольных сумм;
  • Оптимальное хранение данных на диске и эффективный ввод/вывод. Например, применяются такие техники, как предварительная проверка дискового пространства, отложенная синхронизация, запись блоков в оптимальном порядке, разбиение операций сетевого чтения и записи на диск;
  • Высокая производительность: система управления кластером (компонент Cluster Manager) замкнут на самом себе и не зависит от внешних СУБД и распределённых кэшей;
  • Автоматическая изоляция сбойных узлов для повышения стабильности всей сети доставки файлов;
  • Отсутствие нагрузки на базовый сервер, который предоставляет исходные файлы — по сути нагрузка на такой сервер сводится к нескольким загрузкам файла менеджером кластера;
  • Поддержка штатных HTTP-заголовков, в том числе возможность подстановки информации об аутентификации через HTTP-заголовки;
  • Эффективное управление нагрузкой на реестр аутентификации (Registry Auth Service);
  • Простая настройка, для начала работы необходимо внести минимальные изменения в конфигурацию. Для развёртывания сети требуется создание сервера с менержером кластера и установка на каждый клиент специального ПО.

Источник: [ссылка]

Раскол среди создателей проекта CopperheadOS

Разногласия между основателями ставит вопрос о дальнейшей судьбе проекта Copperhead OS, в рамках которого развивается ответвление от мобильной платформы Android, включающее дополнительные средства защиты от различных классов атак и механизмы для обеспечения неприкосновенности данных пользователя. Джеймс Дональдсон (James Donaldson), занимающий пост директора компании Copperhead, уволил Дэниела Микай (Daniel Micay), сооснователя и технического директора проекта, и ограничил ему доступ к инфраструктуре.

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

Со своей стороны Дэниель утверждает, что все высказанные против него заявления ложны и Джеймсу больше нельзя доверять, а компания и инфраструктура будут скомпрометированы, поэтому он не рекомендует пользователям устанавливать обновления. Дэниель также намерен подать судебный иск, так как считает действия Джеймса незаконным присвоением его интеллектуальной собственности и доли в компании (Дэниель утверждает, что ему принадлежит 50% компании).

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

Дополнение: Дэниел перенёс исходные тексты компонентов CopperheadOS из github.com/copperhead в собственный проект github.com/AndroidHardening.

Источник: [ссылка]

Релиз рабочего стола KDE Plasma 5.13

Представлен релиз пользовательской оболочки Plasma 5.13, построенной с использованием платформы KDE Frameworks 5 и библиотеки Qt 5 с применением OpenGL/OpenGL ES для ускорения отрисовки. Оценить работу нового выпуска можно через Live-сборку от проекта openSUSE и сборки от проекта KDE neon. Пакеты для различных дистрибутивов можно найти на данной странице.

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

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

  • Представлен набор интеграции браузеров с рабочим столом Plasma, предлагающий улучшения для использования Firefox, Chrome и браузеров на базе Chromium. Среди предоставляемых набором возможностей: отображение информации о загрузках во всплывающих уведомлениях Plasma (по аналогии с уведомлениями о копировании файлов в Dolphin), возможность переключения на следующий просматриваемый в браузере видеоролик или прослушиваемую музыкальную композицию через плазмоид Media Controls, поддержка отправки ссылки на смартфон с мобильным приложением KDE Connect, возможность открытия вкладок в браузере через интерфейс KRunner (Alt-Space). Набор оформлен в виде плагинов для различных браузеров;
  • Изменено оформления конфигуратора и осуществлён перевод на использование фреймворка Kirigami, позволяющего создавать адаптивные интерфейсы, работающие без изменения на настольных и мобильных системах. Обновлены многие инструменты, такие как выбор тем оформления и наборов пиктограмм. На страницу выбора заставки добавлена поддержка загрузки заставок с каталога KDE Store. На страницу настройки шрифтов добавлен предпросмотр настроек субпиксельного сглаживания;
  • Представлено новое оформления приглашения для входа в систему и экрана блокировки системы, на которых теперь по умолчанию отображаются обои текущего релиза Plasma. Для блокировщика экрана добавлен эффект плавного затухания и размытия при отображении элементов управления, что позволяет использовать его в качестве хранителя экрана;
  • В композитном менеджере KWin существенно улучшены эффекты размытия и переключения между рабочими столами. Продолжено усовершенствование работы с использованием протокола Wayland: задействованы высокоприоритетные контексты EGL, добавлена начальная поддержка скринкастов и совместного доступа к рабочему столу;
  • Улучшен интерфейс центра установки приложений и дополнений (Discover): Осуществлён переход на фреймворк Kirigami. Модернизирован внешний вид списков и категорий, в которых вместо больших картинок-баннеров задействованы панели, добавлена поддержка сортировки списков, задействован виджет Kirigami Cards. В списках и на страницах приложений добавлен вывод рейтинга программы. Пиктограммы приложений теперь выводятся с учётом активного набора пиктограмм, установленного пользователем для рабочего стола. На страницах с информацией о приложении добавлен вывод всех метаданных AppStream, включая все виды ссылок. В окружении Arch Linux после завершения обновления обеспечен вывод лога Pacman;

    Улучшена поддержка самодостаточных форматов пакетов. Для пакетов snap теперь можно менять настройки доступа и устанавливать snap-пакеты в классическом режиме. Добавлена поддержка типа URL ‘snap://’. Для пакетов Flatpak предоставлена возможность выбора предпочтительного репозитория для установки. В пакет xdg-desktop-portal-kde, используемый для обеспечения интеграции приложений Flatpak и Snap с рабочим столом, добавлены порталы для предоставления доступа для создания скриншотов и скринкастов;

  • Добавлена предварительная поддержка глобального меню GTK, возможен перенос меню в верхнюю панель или отображение в виде кнопки в заголовке окна;
  • Изменён интерфейс виджета управления воспроизведением мультимедийного контента (Media Player Widget);
  • Добавлен новый диалог настройки параметров экрана, всплывающий при первом подключении внешнего монитора;
  • В плагине с реализацией календаря-планировщика обеспечен показ астрономических событий (фаз луны, дней равноденствия и максимального/минимального солнцестояния);
  • В виджет с часами добавлена поддержка копирования текущей даты и времени в буфер обмена;
  • На всплывающие уведомления добавлена кнопка для очистки истории;
  • Для KRunner представлены плагины для упрощения доступа к профилям терминала Konsole и интерфейсу выбора символов;
  • Страница настройки параметров мыши переделана и переведена на использование libinput для X и Wayland;
  • В Plasma Vault (интерфейс для шифрования конфиденциальных данных) добавлен бэкенд CryFS, появилась возможность закрытия шифрованных хранилищ со смартфона через приложение KDE Connect, обеспечена поддержка offline-хранилищ;
  • Добавлена возможность отката на программную отрисовку, в случае невозможности использования драйверов OpenGL или их сбоя;
  • Всплывающие диалоги на панели теперь открываются значительно быстрее благодаря реализации механизма упреждающей загрузки.

Источник: [ссылка]