The OpenNET Project / Index page

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

27.02.2017 Проектом netcode.io предложены средства для использования UDP в web-приложениях (24 +5)
  Авторы проекта netcode.io представили решение для создания каналов связи с браузерными web-приложениями на основе протокола UDP, позволяющего добиться минимальных задержек в доставке пакетов, недостижимых для TCP. В частности, netcode.io может оказаться полезен в браузерных играх, которые в настоящее время вынуждены использовать WebSockets для оперативного взаимодействия между клиентом и игровым сервером. Код серверной и клиентской эталонных реализаций написаны на языке Си и распространяется под лицензией BSD.

Все основные виды коммуникаций в браузере основаны на TCP, но имеется обходной путь по использованию UDP через применение предоставляемого в WebRTC режима ненадёжной передачи данных. По мнению разработчиков netcode.io, распространению WebRTC для организации связи в игровых приложения мешает усложнённость данного API и завязанность на P2P-коммуникации с необходимостью использования STUN, ICE и TURN для работы с системами за трансляторами адресов (NAT). Применению WebRTC в клиент-серверных решениях также мешает раздутость реализаций WebRTC для серверов. В частности, в настоящее время выбор сводится к wrtc или electron-webrtc, которые тянут за собой очень много лишнего, например, браузерный движок, код для работы с видео и мультимедийные кодеки. Была попытка создания обособленной реализации слоя обмена данными WebRTC, но она завязана на DTLS (TLS over UDP).

В рамках нового протокола netcode.io данный недостаток попытались обойти предоставив максимально простой интерфейс для создания защищённых клиен-серверных соединений поверх UDP, похожий на WebSockets. Netcode.io из дополнительных зависимостей завязан только на криптографическую библиотеку libsodium. Несмотря на то, что все пакеты с данными отправляются по UDP, предложенный в netcode.io протокол предусматривает обязательную предварительную установку соединения c возможностью подключения только аутентифицированных клиентов. В рамках установленного соединения поддерживается полноценный двунаправленный обмен данными, от клиента к серверу и от сервера к клиенту. Так как пакеты передаются по UDP, данные передаются максимально быстро и без задержек на упорядочивание потока и повторную отправку потерянных пакетов, что идеально для трансляции клавиатурного ввода или информации о позициях объектов в игровом пространстве.

Все данных передаются в шифрованном виде и для защиты от подмены верифицируются по цифровой подписи. Аутентификация при соединении с сервером осуществляется по токенам с небольшим временем жизни, выдаваемым сервером через REST API после прохождения штатной web-аутентификации по HTTPS, например, при помощи OAuth. Запросы по UDP обрабатываются сервером только при наличии корректного токена.

  1. OpenNews: WebTorrent, самодостаточный torrent-клиент, работающий внутри браузера
  2. OpenNews: Релиз Electron 1.0, платформы создания приложений на базе движка Chromium
  3. OpenNews: Представлена распределённая система доставки web-контента CacheP2P
  4. OpenNews: Google намерен использовать сетевой протокол QUIC в браузере Chrome по умолчанию
  5. OpenNews: Проект ZeroNet развивает технологию децентрализованных сайтов, которые невозможно закрыть
Обсуждение (24 +5) | Тип: К сведению |
27.02.2017 Линус Торвальдс выступил с критикой контроля качества в DRM-подсистеме ядра Linux (175 +33)
  В ответ на очередной набор изменений в подсистеме DRM (Direct Rendering Manager), присланный для включения в состав будущей ветки ядра 4.11, Линус Торвальдс пришёл в ярость и в жесткой форме раскритиковал Дэвида Эйрли (David Airlie), мэйнтейнера подсистемы DRM, за его отношение к контролю качества присылаемых патчей. В частности, Линус недоумевает как мэйнтейнер мог отправить для финального включения в новый выпуск ядра набор патчей, который явно не тестировался и непригоден для сборки из-за ошибки компиляции.

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

В частности при сборке присланного кода компилятором выводилось несколько десятков предупреждений и сборка завершалась ошибкой, изучение которой показало, что код не собирается если модуль backlight не вкомпилируется в ядро, а собирается в виде модуля (CONFIG_BACKLIGHT_CLASS_DEVICЕ=m). Более того, изменение для tinydrm было переотправлено мэйнтейнером на следующий день после получения от конечного разработчика и, судя по всему, без какого-либо тестирования.

В качестве ответных мер на подобное перебрасывание патчей в последний момент, Линус намерен ввести для DRM-подсистемы правило предварительного помещения изменений в ветку linux-next, до открытия окна приёма изменений в очередной выпуск ядра. Таким образом все изменения графических драйверов должны будут вначале быть обкатаны в ветке linux-next, лишь после чего смогут войти в основной состав ядра.

То, что полная неработоспособность выявляется последней инстанцией в ходе беглого осмотра и простейшего тестирования сборкой, указывает на серьёзные организационные проблемы. Линус был близок к тому, чтобы не включать набор патчей DRM в ядро 4.11, чувствуя что кроме него эти патчи никто больше не тестировал. Подобный шаг привёл бы отклонению обновлений графических драйверов i915, amdgpu, radeon и nouveau, но, в конечном счёте, Линус принял исправленный вариант изменений к подсистеме DRM. Так как в настоящий момент приходится отклонять или принимать все изменения из набора DRM ("всё или ничего"), Линус намерен потребовать разбиения pull-запросов DRM на более мелкие части.

  1. OpenNews: Сотрудник NVIDIA начал обсуждение вопроса, как компания может улучшить поддержку ядра Linux
  2. OpenNews: Продолжение дискуссии с Линусом Торвальдсом о стабильности API ядра Linux
  3. OpenNews: Проблемы с рецензированием патчей тормозят развитие X.Org
  4. OpenNews: Линус Торвальдс резко раскритиковал отношение компании NVIDIA к Linux сообществу
Обсуждение (175 +33) | Тип: Тема для размышления |
26.02.2017 Опубликованы Linux From Scratch 8.0 и Beyond Linux From Scratch 8.0 (47 +8)
  Сформированы новые выпуски руководств Linux From Scratch 8.0 (LFS) и Beyond Linux From Scratch 8.0 (BLFS), а также редакций LFS и BLFS с системным менеджером systemd. В Linux From Scratch приведены инструкции по созданию с нуля базовой Linux-системы, используя лишь исходные тексты необходимого программного обеспечения. Beyond Linux From Scratch дополняет инструкции LFS информацией о сборке и настройке около 800 программных пакетов, охватывающих различные области применения, от СУБД и серверных систем, до графических оболочек и медиапроигрывателей.

В Linux From Scratch 8.0 произведено обновление 29 пакетов, исправлены ошибки в загрузочных скриптах, выполнены редакторские работы в пояснительных материалах по всей книге. В новой версии осуществлён переход на ядро Linux 4.9, обновлены glibc 2.24, binutils 2.27, gcc 6.2.0, Bash 4.4, Perl 5.24.1, Util-Linux 2.29.1, Vim 8. В Beyond Linux From Scratch 7.10 по сравнению с прошлым выпуском отмечено 775 обновлений программ, среди которых KDE Plasma 5.9, KDE Applications 16.12 и GNOME 3.22. Переход к новой ветке 8.0 обусловлен удалением символической ссылки с /lib на /lib64, прекращением использования отдельной директории /usr/lib64 и включением нового компоновщика /usr/bin/ld.gold, который пока не задействован по умолчанию.

Кроме LFS и BLFS в рамках проекта выпускалось несколько дополнительных книг:

  • "Automated Linux From Scratch" - фреймворк для автоматизации сборки LFS-системы и управлению пакетами;
  • "Cross Linux From Scratch" - описание кроссплатформенной сборки LFS-системы, поддерживаются архитектуры: x86, x86_64, sparc, mips, PowerPC, alpha, hppa, arm;
  • "Hardened Linux From Scratch" - инструкции по повышению безопасности LFS, применению дополнительных патчей и ограничений;
  • "LFS Hints" - подборка дополнительных советов с описанием альтернативных решений для описанных в LFS и BLFS шагов;
  • "LFS LiveCD" - проект по подготовке LiveCD. На данный момент не развивается.

  1. OpenNews: Доступны Linux From Scratch 7.10 и Beyond Linux From Scratch 7.10
  2. OpenNews: Выпуск дистрибутива GoboLinux 016 с самобытной иерархией файловой системы
  3. OpenNews: Опубликованы Linux From Scratch 7.9 и Beyond Linux From Scratch 7.9
  4. OpenNews: Опубликованы Linux From Scratch 7.8 и Beyond Linux From Scratch 7.8
  5. OpenNews: Опубликованы Linux From Scratch 7.7 и Beyond Linux From Scratch 7.7
Обсуждение (47 +8) | Тип: Программы |
25.02.2017 Выпуск распределенной системы управления исходными текстами Git 2.12.0 (26 +24)
  Доступен выпуск распределенной системы управления исходными текстами Git 2.12.0. Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям задним числом используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. Из проектов, разрабатываемых с использованием Git, можно отметить ядро Linux, Android, LibreOffice, Systemd, X.Org, Wayland, Mesa, GStreamer, Wine, Debian, DragonFly BSD, Perl, Eclipse, GNOME, KDE, Qt, Ruby on Rails, PostgreSQL, VideoLAN, PHP, Python, Xen, Minix.

По сравнению с прошлым выпуском в новую версию принято 517 изменения, подготовленных при участии 80 разработчиков, из которых 24 впервые приняли своё участие в разработке. Основные изменения:

  • Добавлена возможность управления применением протоколов, допустимых для использования в качестве транспорта при выполнении команд clone/fetch/push;
  • В команды, подобные "git branch --list", добавлена опция "--ignore-case" для сортировки веток и тегов без учёта регистра символов;
  • В "git rebase" добавлена опция "--quit", позволяющая удалить метаданные, оставшиеся от ранее выполненного вызова "git rebase", выполнение которого было прервано без применения "git rebase --abort";
  • В качестве синонима вызову "git commit" добавлен "git merge --continue" для завершения слияния, остановленного из-за конфликта;
  • В команду "git shortlog" добавлена опция "--committer" для группировки коммитов по принявшему изменение коммитеру, а не автору изменения;
  • В "git grep" добавлена возможность рекурсивного обхода субмодулей;
  • "git rm" теперь не даст удалить субмодуль, если он имеет собственный репозиторий, интегрированный в рабочее дерево Git. Вместо удаления "git rm" перенесён репозиторий в $GIT_DIR/modules/, что позволит удалить субмодуль без потери локальных изменений;
  • В команду "git submodule push" добавлена опция "--recurse-submodules=only" для выполнения операции push для субмодулей, не затрагивая при этом основной проект;
  • В "git tag" и "git verify-tag" добавлена возможность отображения статуса проверки GPG при задании формата вывода "--format=placeholders";
  • Для избежания типовых ошибок "git submodule add" теперь откажется добавлять локально созданный репозиторий, если не указана опция "--force";
  • Добавлена возможность настройки цветов для вывода "git log --graph";
  • Добавлена возможность определения собственного метода обновления, вызываемого при выполнении команды "submodule update" для уже загруженного субмодуля (при первой загрузке обработчик не вызывается);
  • Обновлена реализация команды "git p4" (импорт и экспорт в Perforce) и её интеграция с GitLFS;
  • В "git diff" оставлена только одна опция "--indent-heuristic" для включения эвристики сдвига содержимого блоков с целью улучшения читаемости патча, остальные экспериментальные опции удалены;
  • Добавлен обработчик субмодулей "git submodule embedgitdirs", упрощающий перемещение встроенного каталога .git/ для субмодулей в каталог .git/modules/ основного проекта;
  • Реализация команды "git difftool" переписана на языке Си;
  • Добавлены правила автодополнения ввода для некоторых новых команд;
  • Из contrib/ удалена устаревшая утилита конвертации репозиториев;
  • Удалена поддержка устаревшей команды "git relink".

Дополнительно можно упомянуть публикацию Линусом Торвальдсом детального разбора ситуации с коллизиями в SHA-1 в контексте применения данного алгоритма хэширования для идентификации коммитов в Git. В текущем виде проблемы, возникшие у PDF и Subversion, не затрагивают Git, код без ресурсоёмкого подбора индивидуальной коллизии подменить не получится. Уже продемонстрированная для PDF коллизия легко блокируется специальными проверками. Даже если новая коллизия будет вычислена, то изменение не пройдёт не замеченным, так как трудно не заметить большой бинарный блок среди кода. Например, в процессе разработки для последующей подмены кода в ядре Linux в репозиторий легитимно должен быть принят блок, вызывающий коллизию, скрыть такой блок в условиях выстроенной многоуровневой цепочки доверия и приёма изменений только на уровне патчей даже труднее, чем замаскировать обычную троянскую вставку.

Линус также указывает на то, что при разработке ядра хэши SHA-1 в основном выполняют лишь вспомогательную роль для выявления нарушений целостности репозитория и дедупликации одинаковых блоков кода. Разработчики не вносят изменения на основании совпадения хэша, а принимают изменения от людей, заслуживших доверие. Код изначально представляется публично и проходит многочисленные проверки. При этом, так как SHA-1 также применяется для контроля целостности итоговых веток, уже началась работа по уходу Git с SHA-1 на более надёжные алгоритмы.

  1. OpenNews: Компания Microsoft представила виртуальную файловую систему для Git
  2. OpenNews: Релиз распределенной системы управления исходными текстами Git 2.11.0
  3. OpenNews: Выпуск распределенной системы управления исходными текстами Git 2.10.0
  4. OpenNews: Доступна система совместной разработки GitBucket 4.2
  5. OpenNews: Выпуск распределенной системы управления исходными текстами Git 2.8.0
Обсуждение (26 +24) | Тип: Программы |
25.02.2017 Первый стабильный выпуск проекта TrueOS, заменившего PC-BSD (64 +9)
  Подготовлена первая стабильная сборка проекта TrueOS, пришедшего на смену PC-BSD после перехода на rolling-модель подготовки обновлений. В TrueOS поставляются самые свежие версии пакетов, а ядро и компоненты базовой системы синхронизируется не с релизами FreeBSD, а с кодовой базой FreeBSD-CURRENT с заимствованием из OpenBSD некоторой функциональности, связанной с обеспечением безопасности. В качестве рабочего стола по умолчанию используется окружение Lumina.

По сравнению с прошлой бета-сборкой в стабильном выпуске добавлена поддержка автоматического монтирования разделов, реализованная при помощи devd и autofs. При подключении USB-накопителя система автоматически определяет и подключает имеющиеся файловые системы. Далее система отслеживает активность операций копирования даннных и после прекращения работы с носителем выполняет операцию отмонтирования, что позволяет пользователю безопасно извлечь накопитель без предварительного ручного отмонтирования. В настоящее время поддерживается работа с файловыми системами FAT32, NTFS и UFS. В будущем ожидается поддержка пулов ZFS, оптических дисков, протокола MTP для подключения Android-устройств и возможности работы с несколькими разделами на одном накопителе. Поддержка старой утилиты для монтирования накопителей (pc-mounttray) прекращена.

Вторым важным улучшением является включение в состав нового набора утилит для управления изолированными окружениями Jail, дополняющего ранее предлагаемые утилиты jls и jexec. Администратору предложены новые утилиты jbootstrap, jinit и jdestroy, позволяющие одной командой создать, инициализировать и удалить окружение. В качестве системы инициализации в создаваемых окружениях можно использовать OpenRC.

Из других изменений отмечается обновление версий пакетов, решение проблем с отображением обоев рабочего стола на экранах 4K, импортирование патчей для системы инициализации OpenRC, обновление библиотеки Qt до выпуска 5.7.1. В состав включены медиасервер plexmediaserver, утилиты open-vm-tools, демон musicpd, утилиты iocage, tcpproxy, miniupnp и isc-dhcpd34. Репозиторий пакетов синхронизирован с FreeBSD по состоянию на 19 февраля.

Отличительные особенности TrueOS:

  • По умолчанию предлагается окружение рабочего стола Lumina и набор графических приложений на базе Qt5;
  • Еженедельное обновление пакетов и iso-образов;
  • Для установки дополнительных программ предлагается использовать пакетный менеджер PKG или интерфейс SysAdm AppCafe;
  • Пакеты распространяются из одного репозитория, единого для всех выпусков. Для устаревших конфигураций пользователь может синхронизировать обновления и довести систему до актуального вида;
  • Использование файловой системы ZFS;
  • Обновления устанавливаются только через атомарную замену среза системы через переключение активного раздела во время перезагрузки. Непосредственно в процессе установки обновления текущее программное окружение не меняется;
  • Новую версию TrueOS можно поставить в отдельный zpool, не нарушая работу уже установленной системы, что позволяет провести обновление с PC-BSD/FreeBSD без очистки диска с сохранением всей пользовательской информации;
  • Пользователю предоставлена возможность включения системы автоматической установки обновлений или обновления в ручном режиме;
  • Вместо DDX-драйвера Intel по умолчанию предлагается универсальный драйвер 'modesetting', работающий поверх драйверов KMS;
  • Графические DRM-драйверы для чипов Intel синхронизированы с ядром Linux 4.9 и обеспечивают поддержку интегрированной графики чипов Haswell, Broadwell и Skylake;
  • Вместо ранее предлагаемой панели управления задействован новый графический конфигуратор SysAdm на базе Qt и сервис SysAdm, который предоставляет средства удалённого управления (по умолчанию отключен);
  • Поддержка загрузчика BSD, наряду с загрузчиком GRUB;
  • Проведение значительной чистки кодовой базы.
  • Вместо OpenSSL задействован пакет LibreSSL;
  • Для установки и обновления всех частей системы, включая компоненты базовой системы, применяется пакетный менеджер pkg.

  1. OpenNews: Выпуск рабочего стола Lumina 1.2
  2. OpenNews: Проект TrueOS/PC-BSD выпустил TrueOS Pico, решение для развёртывания тонких клиентов
  3. OpenNews: Проект PC-BSD эволюционировал в TrueOS
  4. OpenNews: Началось альфа-тестирование проекта TrueOS, пришедшего на смену PC-BSD
  5. OpenNews: Релиз десктоп-ориентированной ОС PC-BSD 10.3
Обсуждение (64 +9) | Тип: Программы |
25.02.2017 Энтузиасты воссоздали метод мгновенной генерации PDF-файлов с одинаковым хэшем SHA-1 (30 +21)
  Не дожидаясь компании Google, которая на 90 дней отложила публикацию практических наработок в области подбора коллизий SHA-1, энтузиасты представили сразу несколько своих вариантов осуществления атаки, основанных на изначально доступном теоретическом описании и продемонстрированных компанией Google PDF-документах. В частности, запущен альтернативный сервис SHA1 collider, позволяющий загрузить два разных изображения и сразу получить на выходе два PDF-файла, имеющих одинаковый хэш SHA-1, но выводящих разные изображения. Также подготовлен Python-скрипт для приведения двух многостраничных PDF-документов к виду с одинаковыми хэшами SHA-1.

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

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

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

Использование типового набора данных для вызова коллизии открывает двери для новых атак, порой неожиданных. Например, разработчики WebKit добавляя в код защиту от вызова коллизии в SHA-1, сами того не желая, обрушили Subversion-зеркало репозитория проекта. Проблема была вызвана тем, что добавив несколько коммитов, содержащих данные, вызывающие коллизию, код дедупликации в SVN-репозитории рассчитал для этих коммитов одинаковый хэш, что нарушило целостность репозитория и заблокировало добавление новых коммитов. Для Git уже вычисленная коллизия не представляет угрозы, но не исключена возможность расчёта новой коллизии, специально для создания конкретного поддельного репозитория Git.

  1. OpenNews: Google продемонстрировал первую успешную атаку на алгоритм хеширования SHA-1
  2. OpenNews: Для взлома MD5 хэша нужно всего 8 часов
  3. OpenNews: Опубликованы исходные тексты программы для поиска коллизий в MD5
  4. OpenNews: Автор md5crypt подчеркнул небезопасность данного алгоритма и призвал перейти на более стойкие методы хэширования паролей
Обсуждение (30 +21) | Тип: К сведению |
24.02.2017 Уязвимость в Cloudflare привела к утечке конфиденциальной информации клиентов (40 +8)
  В одной из крупнейших сетей доставки контента Cloudflare выявлена ошибка, которая привела к утечке неинициализированных отрывков оперативной памяти прокси-серверов, которые могли содержать конфиденциальные данные, фигурирующие при обработке запросов других сайтов. Проблема выявлена сотрудниками Google и получила кодовое имя "cloudbleed" по аналогии с уязвимостью "Heartbleed".

Утечки совершались с 22 сентября 2016 года по 18 февраля 2017 года и приводили к появлению в открытом доступе такой информации, как пароли, токены OAut, сессионные cookie, закрытые сообщения, ключи для доступа к API и другие конфиденциальные данные. Информация утекала в составе ответов на случайные запросы. Пик утечки пришёлся на 13-18 февраля, в эти дни ежедневно отдавалось 100-200 тысяч страниц с частями неинициализированных блоков памяти, которые могли содержать приватные данные сайтов.

Хуже всего, что утекающие в результате ошибки данные оседали в кэше поисковых систем и могли быть выловлены злоумышленниками через отправку типовых поисковых запросов. Представители Cloudflare выявили в кэше Google, Bing и Yahoo 770 уникальных ссылок, содержащих утечки блоков памяти (Google вычистил проблемные страницы из поискового индекса и кэша, но в Bing и Yahoo такие страницы до сих пор сохранены). По предварительной оценке в числе вероятных жертв проблемы насчитывается около 4.3 млн доменов, среди которых многие известные сайты, в том числе отечественные, которые были клиентами Cloudflare.

Причиной утечки стала ошибка в реализации парсера разметки HTML, применяемого для разбора и замены содержимого страниц (например, замены ссылок с http:// на https://, скрытия email-адресов и защиты частей страницы от вредоносных ботов). Парсер был написан с использованием компилятора Ragel и содержал ошибку в условии проверки конца буфера. В частности, указатель проверялся на то, равен ли он концу буфера, но не учитывалась ситуация, когда указатель мог указывать за пределы конца буфера (т.е. вместо оператора "больше или равно", использовался оператор "равно").

Проблема проявлялась при наличии в обрабатываемой странице определённой комбинации несбалансированных HTML-тегов, например, когда в конце страницы находится незакрытый тег "‹script type=". Из-за ошибки к ответу на запрос присоединялся неинициализированный кусок памяти, следующий за концом рабочего буфера, который содержал данные, используемые в результате обработки других запросов на том же прокси-сервере. Например, читая какой-то сайт можно было получить в довесок блок с данными, который мог содержать пароль или сессионные cookie клиентов Uber, 1Password, FitBit, OKCupid или Digitalocean. При особой удаче можно было получить приватный ключ, используемый для организации соединения между серверами Cloudflare.

  1. OpenNews: Капча CloudFlare может применяться для деанонимизации пользователей Tor
  2. OpenNews: CloudFlare применил NetMap для повышения скорости обработки пакетов в Linux
  3. OpenNews: Сеть доставки контента CloudFlare представила Universal SSL
  4. OpenNews: В OpenSSL обнаружена критическая уязвимость, которая может привести к утечке закрытых ключей
  5. OpenNews: Heartbleed-уязвимость в OpenSSL могла эксплуатироваться с ноября прошлого года
Обсуждение (40 +8) | Тип: Проблемы безопасности |
24.02.2017 Разработчики Ubuntu Kylin развивают новое пользовательское окружение UKUI (131 +14)
  Разработчики Ubuntu Kylin, официальной редакции Ubuntu Linux для китайских пользователей, представили новое окружение рабочего стола UKUI (Ubuntu Kylin User Interface), которое планируется использовать по умолчанию в одном из будущих выпусков Ubuntu Kylin вместо окружения Unity. Отмечается, что окружение UKUI уже достаточно стабильно и готово для конкуренции с проектами GNOME и MATE. Пакеты с UKUI также могут быть установлены в обычном Ubuntu (PPA) и в Debian. Исходные тексты проекта распространяются под лицензией GPLv2.

UKUI является форком рабочего стола MATE и предлагает модернизированный вариант классической организации рабочего стола, стилизованный под оформление Windows 7. Пользователю предлагается собственная реализация двухпанельного меню с отдельной секцией для выбранных приложений, встроенной системой поиска, группировкой приложений по категориям и выделением часто используемых приложений в каждой категории. Имеется возможность объединения сходных задач в одно окно с манипуляцией ими как единым целым. Изменены экран входа в систему и панель управления. Файловый менеджер Peony (форк Caja) стилизован под Windows Explorer.

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

  1. OpenNews: Ubuntu Kylin предустановлен на 40% проданных в Китае компьютеров Dell
  2. OpenNews: Китайцы загрузили 1.7 млн копий Ubuntu Kylin
  3. OpenNews: Ubuntu MATE переходит на GTK3+
  4. OpenNews: Проект Solus представил Brisk Menu для рабочего стола MATE
  5. OpenNews: Релиз десктоп-окружения MATE 1.16, форка GNOME 2
Обсуждение (131 +14) | Тип: Программы |
23.02.2017 Google продемонстрировал первую успешную атаку на алгоритм хеширования SHA-1 (38 +19)
  Через десять лет после начала использования алгоритма хэширования SHA-1 компания Google объявила о первом практическом методе генерации коллизии для SHA-1. Результаты были получены после двух лет исследований, проведённых корпорацией совместно с институтом CWI в Амстердаме. В качестве доказательства возможности совершения атаки, компания Google предоставила два PDF-файла, которые имеют одинаковые хеши SHA-1, но разное содержание.

Количество вычислений, необходимых для проведения разработанной в Google атаки, которая получила название SHAttered, ошеломляет: девять квинтильонов (9,223,372,036,854,775,808) операций подсчёта SHA-1 в общей сложности, которые потребовали бы 6500 лет вычислений на одном CPU или 110 лет вычислений на одном GPU. При этом на системе со 110 GPU усовершенствованная атака занимает примерно год. Для сравнения, применение метода полного перебора (brute force) в 100 тысяч раз медленнее и для нахождения коллизии за год потребуется 12 миллионов GPU. Для проведения атак не требуется каждый раз производить вычисления, например, для атаки на PDF можно использовать уже вычисленный типовой набор данных для вызова коллизии.

Google считает, что необходимо переходить на новые алгоритмы хеширования, такие как SHA-256 и SHA-3. Однако стоит отметить, что в настоящее время нет способов найти коллизии для хэшей MD5 и SHA-1 одновременно, что означает, что чтобы быть в безопасности все еще можно использовать старые доказанные хэш-функции, которые к тому же ускоряются аппаратно.

В рамках соглашения о раннем неразглашении уязвимостей, компания Google на 90 дней задержит публикацию практической реализации метода подбора коллизий (теоретическое описание уже доступно). После публикации кода для проведения атаки, им сможет воспользоваться любой желающий для создания одинаковых хэшей SHA-1 для разных PDF-файлов. Тем не менее для реализации защиты в настоящее время уже опубликован код библиотеки и утилиты, позволяющих выдавать предупреждения для файлов, вызывающих коллизии в SHA-1.

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

Дополнение 2: Компания Mozilla объявила о расширении действия выборочного прекращения поддержки SHA-1 на всех пользователей Firefox 51. В Firefox 52 SHA-1 будет отключен по умолчанию. В Chrome поддержка SHA-1 уже прекращена ранее в январском выпуске (Chrome 56).

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

  1. OpenNews: Google предупредил о скором прекращении поддержки SHA-1 в Chrome
  2. OpenNews: В Firefox 51 будет ограничена поддержка сертификатов на основе SHA-1
  3. OpenNews: До конца года ожидается появление практических атак по подбору коллизий для SHA-1
  4. OpenNews: Возможность встраивания бэкдора в нестандартные реализации SHA-1
  5. OpenNews: Выявлен дубликат короткого идентификатора PGP-ключа Линуса Торвальдса
Обсуждение (38 +19) | Автор: Artem S. Tashkinov | Тип: К сведению | Интересно
22.02.2017 Выпуск LEDE 17.01, форка дистрибутива OpenWrt (53 +19)
  Представлен первый выпуск дистрибутива LEDE 17.01 (Linux Embedded Development Environment), основанного в мае прошлого года как форк проекта OpenWrt и также ориентированного на создание точек доступа и беспроводных маршрутизаторов. Сборки подготовлены для 32 целевых платформ, из которых 7 ранее не поддерживались в OpenWrt.

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

Ключевые новшества, реализованные после отделения от OpenWrt:

  • Добавлена поддержка большой порции новых плат, точек доступа и беспроводных маршрутизаторов;
  • Добавлена поддержка новых целевых платформ:
    • apm821xx (AppliedMicro APM821xx)
    • arc770 (Synopsys DesignWare ARC 770D)
    • archs38 (Synopsys DesignWare ARC HS38)
    • armvirt (QEMU ARM Virtual Machine)
    • ipq806x (Qualcomm Atheros IPQ806X
    • layerscape (NXP Layerscape)
    • zynq (Xilinx Zynq 7000 SoCs)
  • Реорганизована платформа Xen DomU, которая объединена с платформой x86/generic;
  • Удалены платформы: realview (на смену пришла платформа armvirt), ppc44x (не работоспособна) и netlogic (отсутствует оборудование);
  • Ядро Linux обновлено до версии 4.4.50 (в актуальном выпуске OpenWrt используется ядро 3.18);
  • Обновлены версии dnsmasq (c 2.73 до 2.76), busybox (с 1.23.2 до 1.25.1), mbedtls (c 1.3.14 до 2.4.0), openssl 1.0.2k, musl 1.1.16, gcc 5.4.0, binutils 2.25.1;
  • Для контроля целостности пакетов вместо MD5 задействован алгоритм хэширования SHA256;
  • Отключены небезопасные компоненты шифрования в mbedtls и OpenSSL (SSLv3, сжатие, NPN, Whirlpool и J-PAKE);
  • Включены опции для повышения защиты от уязвимостей и атак: в GCC активированы режимы "-Wformat -Wformat-security", добавлена защита от переполнения стека в пространстве пользователя и на уровне ядра, включён режим определения переполнения буферов (FORTIFY_SOURCE) и добавлена защита RELRO (RElocation Read-Only);
  • Улучшены сетевые возможности:
    • Поддержка SQM (Smart Queue Management) для минимализации негативного влияния промежуточной буферизации пакетов (Bufferbloat). Связанные с противодействием Bufferbloat изменения также реализованы для драйверов ath9k, mt76 и ath10k;
    • Для драйвера ath9k задействован планировщик Airtime, устраняющий аномалии на медленных системах;
    • Внесена большая порция исправлений, направленных на повышение стабильности работы беспроводного стека и драйвера ath9k;
    • В качестве опции добавлен альтернативный драйвер ath10k-ct от Candela-Tech;
    • Проведена работа по усилению защищённости IPv6;
  • Изменения в системе сборки:
    • Выполнено разделение базовой системы и поддерживаемых сообществом пакетов, что упростило распространение бинарных обновлений;
    • Решены проблемы с обработкой зависимостей пакетов, улучшена поддержка виртуальных пакетов;
    • Формирование отдельных образов rootfs для каждого устройства дало возможность индивидуально выбирать пакеты для профилей устройств;
    • Новый код сборки образов позволил сократить время компиляции и упростить определение профилей устройств;
    • В Makefile добавлены новые команды для запуска стандартных диагностических наборов;
    • Добавлена возможность загрузки исходных текстов при помощи Curl;
    • В коде сборки образов переработана сборка библиотек для улучшения переносимости между разными дистрибутивами Linux;
    • Добавлена поддержка сборки модулей ядра, используя SDK.

    1. OpenNews: Активные разработчики OpenWrt основали форк дистрибутива
    2. OpenNews: Компания Belkin обеспечит поддержку DD-WRT для маршрутизаторов Linksys
    3. OpenNews: Увидел свет дистрибутив OpenWrt 15.05
    4. OpenNews: Обновление дистрибутива OpenWrt 15.05.1
Обсуждение (53 +19) | Тип: Программы |
22.02.2017 Уязвимость в ядре Linux, позволяющая получить права root (207 +28)
  В ядре Linux выявлена уязвимость (CVE-2017-6074), позволяющая непривилегированному локальному пользователю выполнить код с правами root. Проблема устранена 17 февраля и проявляется во всех ядрах с поддержкой DCCP, начиная с 2.6.14 (октябрь 2005 г.) и вплоть до выпуска 4.9.11. Следует отметить, что уязвимости в реализации DCCP выявляются не в первый раз, похожие критические проблемы обнаруживались в 2008 и 2014 годах.

Обнаруживший уязвимость исследователь сообщил о создании рабочего эксплоита, который будет опубликован через несколько дней, как только основные дистрибутивы выпустят обновление с устранением проблемы. Обновления пакетов пока выпущены для RHEL и Ubuntu. Проблема остаётся неисправленной в Debian, Fedora, openSUSE, SUSE (дополнение: спустя несколько часов вышли обновления для openSUSE и Debian). Уязвимость проявляется только в ядрах, собранных с опцией CONFIG_IP_DCCP, которая почти во всех дистрибутивах включена по умолчанию. Если DCCP собран в форме модуля ядра в качестве обходного пути защиты можно запретить загрузку этого модуля, который в обычных условиях загружается автоматически:


   echo "install dccp /bin/true" >> /etc/modprobe.d/disable-dccp.conf

Уязвимость выявлена Андреем Коноваловым при fuzzing-тестировании ядра при помощи пакета syzkaller. Проблема вызвана двойным освобождением блока памяти в функции dccp_rcv_state_process (net/dccp/input.c) и может быть эксплуатирована при обработке специально оформленного пакета DCCP_PKT_REQUEST, переданного через сокет, открытый с опцией IPV6_RECVPKTINFO. В обычных условиях выделенный под пакет буфер dccp_skb освобождается вызовом __kfree_skb из функции dccp_rcv_state_process при успешном завершении функции dccp_v6_conn_request.

При наличии флага IPV6_RECVPKTINFO адрес буфера dccp_skb дополнительно сохраняется в структуре ireq->pktopts и выставляется флаг использования буфера. Функция очистки в dccp_rcv_state_process вызывается независимо от флага, что может быть использовано для манипуляции с данными после их освобождения (use-after-free). В частности, атакующий может переписать произвольными данными содержимое другого объекта в ядре, используя технику "heap spraying". Если перезаписанный объект содержал указатели на функции, вызываемые в процессе работы, то атакующий может добиться выполнения своего кода на уровне ядра.

  1. OpenNews: Локальная root-уязвимость в ядре Linux
  2. OpenNews: Критическая уязвимость в ядре Linux, уже эксплуатируемая злоумышленниками
  3. OpenNews: Уязвимость в ядре Linux, позволяющая выйти из изолированного контейнера
  4. OpenNews: Уязвимость в ядре Linux, позволяющая поднять привилегии через eCryptfs
  5. OpenNews: Опасная удалённая уязвимость в реализации протокола DCCP в ядре Linux
Обсуждение (207 +28) | Тип: Проблемы безопасности |
22.02.2017 Инженеры из Google представили глобальную файловую систему Upspin (74 +18)
  Группа инженеров из компании Google представила проект Upspin, в рамках которого разработан экспериментальный фреймворк для организации безопасного совместного доступа к файлам. Upspin определяет набор протоколов, интерфейсов и реализаций программных компонентов, позволяющих связать в единое пространство имён различные данные, такие как ФС и сервисы хранения. Код эталонной реализации Upspin написан на языке Go и распространяется под лицензией BSD. Проект развивается сотрудниками Google, но не является официальным продуктом компании.

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

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

Upspin предлагает использовать для идентификации файла схему "ann@example.com/dir/file", состоящую из email пользователя и виртуального пути. Зная глобальный идентификатор файла, любой пользователь, при предоставлении ему доступа, может обратиться к этому файлу из любого локального приложения, как к обычному файлу в своей ФС, или из любого online-сервиса, поддерживающего Upspin. Кроме файлов и директорий Upspin позволяет организовать доступ к динамически меняющейся информации, такой как данные от датчиков или результаты запросов к сетевым сервисам. Для прикрепления глобального пространства имён к локальной ФС предоставляется FUSE-модуль. Для доступа также можно использовать программу upspin c набором типовых команд, таких как "cp". Для подключения к глобальной ФС достаточно установить одну из реализаций Upspin, создать ключи для своего email и зарегистрировать их в хранилище ключей.

Управление доступом производится путём создания в экспортируемой директории специального файла с именем Access, содержащего список полномочий, предоставленных другим пользователям. Например, добавив в файл правило "read: joe@here.com, mae@there.com", пользователи joe@here.com и mae@there.com получат возможность чтения файлов в текущей директории и поддиректориях. Кроме чтения, можно предоставить доступ к записи, просмотру содержимого каталога, удалению, созданию файлов и т.п. Возможно создание групповых политик, использование шаблонов (например, "read: all" и "*: all") и индивидуальное определение правил доступа к отдельным файлам.

Ключевой целью разработки является обеспечение наивысшего уровня безопасности. Производительности уделяется второстепенная роль. В частности, в Upspin применяются современные методы идентификации пользователей по открытым ключам. Для хранения и обнаружения открытых ключей планируется задействовать технологию Key Transparency (пока доступен только один экспериментальный централизованный сервер ключей key.upspin.io). По умолчанию применяется верификация содержимого по цифровой подписи и все данные передаются в зашифрованном виде с использованием end-to-end-шифрования, при котором закрытые ключи фигурируют только на конечных системах владельца файла и получателя. Подобный подход позволяет не только развернуть свой собственный сервер Upspin, но и делегировать хранение файлов в любое облачное хранилище, не опасаясь, что данные попадут в чужие руки в результате компрометации хранилища или диверсии персонала. При этом в Upspin не обеспечивается "forward secrecy", т.е. утечка закрытого ключа владельца, означает возможность доступа к перехваченным файлам.

Инфраструктуру Upspin составляют три компонента:

  • Сервер ключей, выполняет работу по хранению открытых ключей всех пользователей системы (приватные ключи хранятся отдельно, на стороне пользователей). Сервер ключей также имеет информацию о сетевых адресах серверов директорий. Пользователи могут воспользоваться уже работающим сервером ключей key.upspin.io или запустить свой собственный;
  • Сервер хранения, на котором непосредственно размещены хранимые данные. Каждый пользователь может запустить один или несколько серверов хранения;
  • Сервер директорий, предоставляющий информацию о том, какие данные размещены на серверах хранения. Сервер директорий может быть запущен в связке с сервером хранения для каждого пользователя или на группу пользователей, например, один на всю семью. Пользователь также может использовать сторонние серверы директорий и хранения, к которым ему предоставлен доступ (например, облачные сервисы).
  • Опционально реализован кэширующий сервер, который может применяться для кэширования данных при их передаче от удалённого сервера к клиенту.

  1. OpenNews: Google представил Key Transparency, альтернативу серверам криптографических ключей
Обсуждение (74 +18) | Тип: К сведению | Интересно
22.02.2017 Первый выпуск проекта LibreELEC, ответвившегося от OpenELEC (28 +10)
  После почти года разработки состоялся первый значительный релиз проекта LibreELEC, в рамках которого создан форк самобытного дистрибутива для создания домашних кинотеатров OpenELEC. Ключевым отличием LibreELEC 8.0 является переход на ветку открытого медиацентра Kodi 17.0 с новым движком воспроизведения видео, в то время как OpenELEC остаётся на Kodi 16. Для загрузки подготовлены образы для работы с USB-накопителя или SD-карты (32- и 64-разрядные x86, Raspberry Pi, Raspberry Pi 2, Odroid C2, WeTek Play, WeTek Core WeTek Hub и устройства на базе платформы Freescale iMX6), а также специальные сборки для обновления с OpenELEC.

Проект LibreELEC создан в результате конфликта между мэйнтейнером OpenELEC и большой группой разработчиков. Мэйнтейнер OpenELEC, единолично принимающий решения и полностью контролирующий процесс добавление изменений, был против перехода на новую кодовую базу Kodi 17 минуя Kodi 16. В итоге почти все сторонние разработчики основали свой форк LibreELEC с коллективной системой принятия решений, более открытый для инноваций и изменений. В настоящее время в OpenELEC остался только один активный разработчик, а за месяц внесено 17 изменений (добавлено 731 строк, удалено 587), в то время как в LibreELEC наблюдается 24 разработчика, за месяц подготовивших 383 изменений (добавлено 48814 строк, удалено 40355).

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

Напомним, что OpenELEC не является ответвлением от существующих дистрибутивов и основывается на собственных разработках. Кроме штатных возможностей Kodi, дистрибутив предоставляет ряд дополнительных функций, нацеленных на максимальное упрощение работы. Например, развивается специальное конфигурационное дополнение, позволяющее настроить параметры сетевого подключения, управлять параметрами LCD-экранов, разрешить или запретить автоматическую установку обновлений. Дистрибутив поддерживает такие возможности, как использование пульта дистанционного управления (возможно управление как через инфракрасный порт, так и через Bluetooth), организация совместного доступа к файлам (встроен сервер Samba), встроенный BitTorrent-клиент Transmission, автоматический поиск и подключение локальных и внешних накопителей.

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

  1. OpenNews: Состоялся релиз открытого медиацентра Kodi 17.0
  2. OpenNews: Увидел свет дистрибутив для создания домашних кинотеатров OpenELEC 6.0
  3. OpenNews: Доступен дистрибутив для создания домашних кинотеатров OpenELEC 7.0
Обсуждение (28 +10) | Тип: Программы |
22.02.2017 Доступен Wayland 1.13 (55 +13)
  Состоялся стабильный релиз протокола, механизма межпроцессного взаимодействия и библиотек Wayland 1.13. Ветка 1.13 обратно совместима на уровне API и ABI с выпусками 1.x, но дополнительно содержит порцию улучшений. Кроме исправления ошибок в Wayland 1.13 реализован API для управления видимостью глобальных структур, при помощи которого композитный сервер может ограничить доступ к приватным программным интерфейсам и определить к каким частям структуры wl_global клиент имеет доступ. Следующий выпуск 1.14 запланирован на июнь 2017 года.

Ожидавшийся сегодня выпуск композитного сервера Weston 2.0 отложен до конца недели из-за выявления в последний момент ошибок, исправления для которых требуют дополнительного тестирования. Напомним, что Weston развиваются технологии, содействующие появлению полноценной поддержки протокола Wayland в Enlightenment, GNOME, KDE и других пользовательских окружениях. Разработка Weston нацелена на предоставление высококачественной кодовой базы и рабочих примеров для использования Wayland в десктоп-окружениях и встраиваемых решениях, таких как платформы для автомобильных информационно-развлекательных систем, смартфонов, телевизоров и прочих потребительских устройств.

Смена номера значительной версии в Weston 2.0 обусловлена изменениями в новом API управления выводом, нарушающими совместимость c libweston на уровне ABI. Все штатные бэкенды портированы на новый API для настройки вывода. В новой версии также добавлена поддержка EGL-расширения EGL_KHR_swap_buffers_with_damage, реализованного в проприетарном драйвере NVIDIA. В бэкенде GL добавлена поддержка буферов DRM_FORMAT_YUV444. Улучшено позиционирование панелей в desktop-shell. В XWayland приведены в порядок сообщения об ошибках.

Статус поддержки Wayland в окружениях рабочего стола и дистрибутивах:

  • В рамках проекта AsteroidOS развивается новая открытая ОС для умных часов, использующая Qt5 и Wayland.
  • В находящейся в разработке ветке GNOME 3.24 продолжается оттачивание поддержки Wayland, которая ранее уже была объявлена пригодной для использования обычными пользователями. Добавлена возможность работы поверх проприетарных драйверов NVIDIA, c использованием EGLDevice и EGLStreams;
  • В Fedora 25 по умолчанию предложен сеанс GNOME на базе Wayland;
  • В Ubuntu GNOME продолжается тестирование экспериментального сеанса рабочего стола GNOME на базе Wayland (следует установить пакет gnome-session-wayland и выбрать на экране входа "GNOME on wayland");
  • Продолжается работа по достижению паритета в функциональности при запуске KDE поверх X11 и Wayland. В KDE Plasma 5.9 при использовании Wayland стали доступны инструменты для создания скриншотов и определения цвета, обеспечены возможности раскрытия окон на весь экран без отображения рамок, задания собственных цветовых схем и перетаскивания приложений кликом на пустой области интерфейса, добавлена поддержка режима автоматического скрытия панели, добавлена поддержка управляющих жестов. Для тестирования проектом Neon подготовлены Live-сборки на базе Wayland;
  • Начиная с Qt 5.8 переведён в разряд полностью поддерживаемых модуль Qt Wayland Compositor с многопоточной системой отрисовки для встраиваемых устройств, использующая протокол Wayland. Модуль может использоваться для создания собственных композитных серверов Wayland, применяя QML или C++ API. Имеется поддержка стандарта XDG-Shell и возможность работы в системах с несколькими экранами. В качестве примера применения Qt Wayland Compositor развивается рабочий стол Grefsen;
  • В Enlightenment ведётся работа по улучшению поддержки Wayland;
  • В ОС DragonFly BSD развивается порт с Wayland и Weston, имеется поддержка XWayland;

  • Wayland задействован по умолчанию в мобильных платформах Plasma Mobile, Sailfish 2 и Tizen 3.
  • В панели Cairo-Dock предусмотрена возможность работы в окружении композитного сервера Weston.
  • Работа по добавлению поддержки Wayland ведётся для рабочих столов LXQt и MATE.
  • Развиваются новые десктоп-окружения, работающее только на базе технологий Wayland: papyros-shell, Hawaii и Orbital.
  • Для тестирования работы GNOME, KDE и Enlightenment, Hawai и Orbital поверх Wayland выпускается специальный Live-дистрибутив Rebecca Black Linux.



Напомним, что Wayland представляет собой протокол взаимодействия композитного сервера и работающих с ним приложений. Клиенты самостоятельно выполняют отрисовку своих окон в отдельном буфере, передавая информацию об обновлениях композитному серверу, который комбинирует содержимое буферов отдельных приложений для формирования итогового вывода с учётом возможных нюансов, таких как перекрытие окон и прозрачность. Иными словами, композитный сервер не предоставляет API для отрисовки отдельных элементов, а оперирует только с уже сформированными окнами, что позволяет избавиться от двойной буферизации при использовании высокоуровневых библиотек, таких как GTK+ и Qt, берущих на себя работу по компоновке содержимого окон. В настоящее время поддержка прямой работы c Wayland уже реализована для библиотек GTK3+, Qt 5, SDL (начиная с выпуска 2.0.2), Clutter и EFL (Enlightenment Foundation Library). Начиная с Qt 5.4 в состав включён модуль QtWayland с реализацией компонентов для работы Qt-приложений в окружении композитного сервера Weston, развиваемого проектом Wayland.

Взаимодействие с аппаратным обеспечением в Wayland/Weston, например, проведение инициализации, переключение видеорежимов (drm modesetting) и управление памятью (GEM для i915 и TTM для radeon и nouveau) графических карт, может производиться напрямую через модуль, работающий на уровне ядра, что позволяет обойтись без привилегий суперпользователя. Композитный сервер Weston может работать не только с использованием DRM-модуля ядра Linux, но и поверх X11, другого композитного сервера Wayland, фреймбуфера и RDP. Кроме того, развиваются проекты по обеспечению работы поверх графического стека платформы Android.

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

Для обеспечения выполнения обычных X11-приложений в окружении на базе Wayland используется DDX-компонент XWayland (Device-Dependent X), похожий по организации работы на Xwin и Xquartz для платформ Win32 и OS X. Поддержку запуска X11-приложений планируется встроить непосредственно в композитный сервер Weston, который при попытке выполнения X11-приложения будет инициировать запуск X-сервера и связанных с ним компонентов XWayland. При таком подходе процесс запуска X11-приложений будет бесшовным и неотличимым для пользователя от запуска приложений, работающих напрямую с Wayland.

  1. OpenNews: Обновление Live-дистрибутива для тестирования работы десктоп-окружений поверх Wayland
  2. OpenNews: Выпуск Wayland 1.12
  3. OpenNews: Нестабильные сборки KDE Neon Developer Edition переходят по умолчанию на Wayland
  4. OpenNews: В Fedora 25 утверждено использование Wayland по умолчанию
  5. OpenNews: Увидел свет Wayland 1.11
Обсуждение (55 +13) | Тип: Программы |
21.02.2017 Выпуск системы динамической отладки SystemTap 3.1 (18 +4)
  После почти года разработки увидел свет релиз системы динамической трассировки SystemTap 3.1, предоставляющий для платформы Linux средства отладки, похожие на технологию DTrace. SystemTap позволяет организовать доскональное наблюдение за работающей Linux-системой, производить сбор статистики о работе приложений, профилирование и контроль системных вызовов. Управление производится через интерфейс командной строки и специальный Си-подобный язык сценариев. Система протестирована с ядрами Linux начиная с версии 2.6.18 и заканчивая 4.10-rc8.

В развитии проекта участвуют такие компании как Red Hat, IBM, Intel, Hitachi и Oracle. В каталоге примеров представлено 163 скрипта на все случаи жизни, подходящие для слежения за распределением памяти, вводом/выводом, дисковыми операциями, сетевым трафиком (например, анализ работы NFS), работой планировщика задач, обработкой прерываний, использованием системных буферов, установкой блокировок, выполнением системных вызовов, обработкой сигналов и т.п.

Новая версия примечательна добавлением средств для осуществления контрольных проверок для функций в скриптах на языке Python: предлагается специальный вспомогательный модуль, позволяющий прикреплять внешние SystemTap-обработчики к точкам входа и возврата из функций, а также к определённому номеру строки. Например, для получения информации об аргументах вызова функции "foo" во время выполнения скрипта "myscript" можно использовать следующую конструкцию: 'probe python2.module("myscript").function("foo"){ println($$parms)}'.

Кроме того, упрощена трассировка приложений на языке Java - все параметры вызова Java-методов теперь преобразуются в строковые значения и обрабатываются в таком виде в обработчиках контрольных проверок (ранее поддерживалась лишь передача целочисленных параметров). Увеличена производительность контрольных проверок для ядра Linux. Произведено слияние тапсетов (tapsets) Syscall и nd_syscall, что позволило унифицировать обработку проверок системных вызовов независимо от использования отладочного формата DWARF (по умолчанию используются проверки на базе DWARF, но при отсутствии DWARF осуществляется откат на проверки без DWARF).

Добавлены новые примеры использования SystemTap: отслеживание продолжительности сеансов и трафика для всех сетевых сокетов заданного процесса; ведение лога работы сервера nfsd (IP клиента, тип операции и имя файла); сохранение сведений о начинке сетевых пакетов; отображение сведений о повторной отправке пакетов TCP; вывод гистограммы о задержках и времени выполнения задач; мониторинг корректности создания изолированных контейнеров через отслеживание заблокированных обращений к системным вызовам.

  1. OpenNews: Выпуск системы динамической отладки SystemTap 3.0
  2. OpenNews: Выход ktap 0.2, системы динамической трассировки для ядра Linux
  3. OpenNews: Выпуск платформы динамической трассировки приложений Frida и отладчика CryptoShark
  4. OpenNews: Представлена tracefs, псевдо-ФС для решения задач трассировки ядра Linux
  5. OpenNews: Средства трассировки в ядре Linux достигли уровня DTrace
Обсуждение (18 +4) | Тип: Программы |
Следующая страница (раньше) >>


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