The OpenNET Project / Index page

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

27.02.2017 Первый стабильный выпуск системы OTA-обновлений Mender (6 +3)
  После двух лет разработки доступен первый стабильный релиз проекта Mender, в рамках которого развивается система для организации OTA-обновления (over-the-air) встраиваемых решений и потребительских устройств на базе различных Linux-окружений. Выпуск Mender 1.0 позиционируется как первый, готовый для внедрения в реальных проектах. Код клиентской и серверной частей системы написан на языке Go и поставляется под лицензией Apache 2.0. Целью проекта является упрощение развёртывания инфраструктуры для доставки и установки OTA-обновлений, что даёт возможность разработчикам прошивок сосредоточится на создании продукта, не отвлекаясь на решение задач по распространению обновлений.

Mender предоставляет разработчикам серию компонентов, позволяющих развернуть серверы для доставки и сборки атомарно устанавливаемых обновлений, при которых система обновляется целиком. Разработчик формирует обновлённый образ прошивки и добавляет его на управляющий сервер Mender. Предоставляемый проектом инструментарий для сборки обновлений оптимизирован для работы со встраиваемыми дистрибутивами на базе платформы Yocto, но он также может быть адаптирован для любых других систем сборки дистрибутивов. В качестве примеров доступны два эталонных сценария для платы BeagleBone Black и для виртуального устройства vexpress-qemu. Поддерживается как интерфейс командной строки, так и web-интерфейс для управления распространением обновлений.

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

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

  1. Главная ссылка к новости
  2. OpenNews: Доступны платформы для создания встраиваемых Linux-систем Yocto 1.6 и Linaro 14.04
  3. OpenNews: Организация Linux Foundation выпустила первый релиз платформы Yocto
  4. OpenNews: Открыты исходные тексты операционной системы Minoca
Обсуждение (6 +3) | Тип: Программы |
27.02.2017 Компании Jolla и Sony представили версию Sailfish для смартфонов Sony Xperia (27 +17)
  Компания Jolla, основанная бывшими сотрудниками Nokia с целью разработки новых смартфонов, построенных на базе Linux-платформы MeeGo, объявила о заключении партнёрского соглашения с компанией Sony, в рамках которого будут подготовлены прошивки с операционной системой Sailfish для устройств линейки Sony Xperia. На проходящей в эти дни выставке Mobile World Congress продемонстрирована официальная версия Sailfish для смартфона Xperia X. В будущем спектр поддерживаемых моделей будет расширен. В конце второго квартала 2017 года также планируется выпустить первый смартфон Sony, поставляемый с Sailfish. Будет ли этот смартфон основан на модели Sony Xperia, не сообщается.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск мобильной ОС Sailfish 2.1
  3. OpenNews: Компания Jolla готовит открытие кода приложений и графического интерфейса Sailfish
  4. OpenNews: Jolla лицензировала ОС Sailfish российской компании "Открытая мобильная платформа"
  5. OpenNews: Мобильная платформа Sailfish 2.0 доступна для ознакомительного использования
Обсуждение (27 +17) | Тип: К сведению |
27.02.2017 Проектом netcode.io предложены средства для использования UDP в web-приложениях (37 +11)
  Авторы проекта 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. Главная ссылка к новости
  2. OpenNews: WebTorrent, самодостаточный torrent-клиент, работающий внутри браузера
  3. OpenNews: Релиз Electron 1.0, платформы создания приложений на базе движка Chromium
  4. OpenNews: Представлена распределённая система доставки web-контента CacheP2P
  5. OpenNews: Google намерен использовать сетевой протокол QUIC в браузере Chrome по умолчанию
  6. OpenNews: Проект ZeroNet развивает технологию децентрализованных сайтов, которые невозможно закрыть
Обсуждение (37 +11) | Тип: К сведению |
27.02.2017 Линус Торвальдс выступил с критикой контроля качества в DRM-подсистеме ядра Linux (246 +53)
  В ответ на очередной набор изменений в подсистеме 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. Главная ссылка к новости
  2. OpenNews: В ядро Linux не будут приняты изменения с поддержкой новых GPU AMD
  3. OpenNews: Сотрудник NVIDIA начал обсуждение вопроса, как компания может улучшить поддержку ядра Linux
  4. OpenNews: Продолжение дискуссии с Линусом Торвальдсом о стабильности API ядра Linux
  5. OpenNews: Проблемы с рецензированием патчей тормозят развитие X.Org
  6. OpenNews: Линус Торвальдс резко раскритиковал отношение компании NVIDIA к Linux сообществу
Обсуждение (246 +53) | Тип: Тема для размышления |
26.02.2017 Опубликованы Linux From Scratch 8.0 и Beyond Linux From Scratch 8.0 (58 +9)
  Сформированы новые выпуски руководств 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. Главная ссылка к новости
  2. OpenNews: Доступны Linux From Scratch 7.10 и Beyond Linux From Scratch 7.10
  3. OpenNews: Выпуск дистрибутива GoboLinux 016 с самобытной иерархией файловой системы
  4. OpenNews: Опубликованы Linux From Scratch 7.9 и Beyond Linux From Scratch 7.9
  5. OpenNews: Опубликованы Linux From Scratch 7.8 и Beyond Linux From Scratch 7.8
  6. OpenNews: Опубликованы Linux From Scratch 7.7 и Beyond Linux From Scratch 7.7
Обсуждение (58 +9) | Тип: Программы |
25.02.2017 Выпуск распределенной системы управления исходными текстами Git 2.12.0 (26 +25)
  Доступен выпуск распределенной системы управления исходными текстами 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. Главная ссылка к новости
  2. OpenNews: Компания Microsoft представила виртуальную файловую систему для Git
  3. OpenNews: Релиз распределенной системы управления исходными текстами Git 2.11.0
  4. OpenNews: Выпуск распределенной системы управления исходными текстами Git 2.10.0
  5. OpenNews: Доступна система совместной разработки GitBucket 4.2
  6. OpenNews: Выпуск распределенной системы управления исходными текстами Git 2.8.0
Обсуждение (26 +25) | Тип: Программы |
25.02.2017 Выпуск композитного сервера Weston 2.0 (56 +6)
  С небольшим отставанием от выпуска протокола, механизма межпроцессного взаимодействия и библиотек Wayland 1.13, подготовлен релиз параллельно развиваемого композитного сервера Weston 2.0. Смена номера версии Weston на 2.0 обусловлена изменениями в новом API управления выводом, нарушающими совместимость c libweston на уровне ABI. Все штатные бэкенды портированы на новый API для настройки вывода.

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

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

  1. Главная ссылка к новости
  2. OpenNews: Доступен Wayland 1.13
Обсуждение (56 +6) | Тип: Программы |
25.02.2017 Первый стабильный выпуск проекта TrueOS, заменившего PC-BSD (65 +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. Главная ссылка к новости
  2. OpenNews: Выпуск рабочего стола Lumina 1.2
  3. OpenNews: Проект TrueOS/PC-BSD выпустил TrueOS Pico, решение для развёртывания тонких клиентов
  4. OpenNews: Проект PC-BSD эволюционировал в TrueOS
  5. OpenNews: Началось альфа-тестирование проекта TrueOS, пришедшего на смену PC-BSD
  6. OpenNews: Релиз десктоп-ориентированной ОС PC-BSD 10.3
Обсуждение (65 +9) | Тип: Программы |
25.02.2017 Энтузиасты воссоздали метод мгновенной генерации PDF-файлов с одинаковым хэшем SHA-1 (30 +22)
  Не дожидаясь компании 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. Главная ссылка к новости
  2. OpenNews: Google продемонстрировал первую успешную атаку на алгоритм хеширования SHA-1
  3. OpenNews: Для взлома MD5 хэша нужно всего 8 часов
  4. OpenNews: Опубликованы исходные тексты программы для поиска коллизий в MD5
  5. OpenNews: Автор md5crypt подчеркнул небезопасность данного алгоритма и призвал перейти на более стойкие методы хэширования паролей
Обсуждение (30 +22) | Тип: К сведению |
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. Главная ссылка к новости
  2. OpenNews: Капча CloudFlare может применяться для деанонимизации пользователей Tor
  3. OpenNews: CloudFlare применил NetMap для повышения скорости обработки пакетов в Linux
  4. OpenNews: Сеть доставки контента CloudFlare представила Universal SSL
  5. OpenNews: В OpenSSL обнаружена критическая уязвимость, которая может привести к утечке закрытых ключей
  6. OpenNews: Heartbleed-уязвимость в OpenSSL могла эксплуатироваться с ноября прошлого года
Обсуждение (40 +8) | Тип: Проблемы безопасности |
24.02.2017 Сервис мгновенного обмена сообщениями Wire объявил о скором открытии серверного кода (81 +29)
  Коммуникационный сервис Wire, предлагающий end-to-end шифрование для обмена сообщениями, голосовых звонков и видеовызовов, объявил о решении по открытию исходных текстов серверной части, в дополнение к коду клиентских приложений, открытому ранее под лицензией GPLv3. Код серверных компонентов планируется открыть до конца марта.

Решение принято после успешного проведения независимого аудита реализации применяемого в Wire протокола Proteus и Cryptobox API. Аудит не выявил каких-то концептуальных или особо опасных проблем, в основном благодаря применению в Wire распространённых стандартных криптографических алгоритмов (ChaCha20, HMAC-SHA256, Curve25519 и HKDF) в реализации из библиотеки libsodium. В клиентских приложениях были выявлены отдельные уязвимости, но они уже исправлены.

  1. Главная ссылка к новости
  2. OpenNews: В клиенте для мгновенного обмена сообщениями Wire появилась поддержка Linux
  3. OpenNews: Сервис мгновенного обмена сообщениями Wire открыл код клиентского ПО
Обсуждение (81 +29) | Тип: К сведению |
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. Главная ссылка к новости
  2. OpenNews: Ubuntu Kylin предустановлен на 40% проданных в Китае компьютеров Dell
  3. OpenNews: Китайцы загрузили 1.7 млн копий Ubuntu Kylin
  4. OpenNews: Ubuntu MATE переходит на GTK3+
  5. OpenNews: Проект Solus представил Brisk Menu для рабочего стола MATE
  6. OpenNews: Релиз десктоп-окружения MATE 1.16, форка GNOME 2
Обсуждение (131 +14) | Тип: Программы |
24.02.2017 Бета-выпуск Ubuntu 17.04 (60 +21)
  Представлен бета-выпуск дистрибутива Ubuntu 17.04 "Zesty Zapus", который ознаменовал переход к первой стадии заморозки пакетной базы и смещение вектора разработки от развития новых возможностей к тестированию и исправлению ошибок. В соответствии с планом разработки для тестирования предлагается использовать ежедневные экспериментальные сборки. Готовые тестовые образы созданы только для Kubuntu, Lubuntu, Xubuntu, Ubuntu Budgie, Ubuntu GNOME, Ubuntu Kylin, Ubuntu MATE и Ubuntu Studio. Релиз Ubuntu 17.04 запланирован на 13 апреля.

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

  • Ubuntu GNOME: В состав включена бета-версия GNOME 3.24 (3.23.90), в финальной версии будет поставляться свежий выпуск рабочего стола GNOME 3.24. Особенностью GNOME 3.24 станет режим ночной подсветки ("Night Light"), при котором автоматически сокращается интенсивность синего цвета на экране при работе в ночное время. В календарь-планировщик добавлен еженедельный обзор событий. Для сохранения стабильности в дистрибутиве оставлен прошлый выпуск стека Evolution 3.22 и позапрошлый выпуск (3.20) файлового менеджера Nautilus и эмулятора терминала.

    Для работы с самодостаточными пакетами по умолчанию выполнена интеграция инструментария Flatpak 0.8 (поддержка пакетов Snap сохранена, в комплекте представлены оба инструментария). По умолчанию задействовано Chrome-дополнение chrome-gnome-shell, необходимое для установки расширений из каталога extensions.gnome.org. Движок поисковой индексации контента tracker изолирован в специальном sandbox-окружении. Из базовой поставки удалены: программа для записи CD/DVD brasero, почтовый клиент evolution, программа управления GPG/SSH-ключами seahorse, диагностическая утилита xdiagnose, набор пиктограмм gnome-icon-theme (используются пиктограммы из набора темы оформления Adwaita);

  • Ubuntu Budgie: новая официальная редакция, которая предлагает пользовательское окружение на основе рабочего стола Budgie. Дистрибутив поставляется с выпуском Budgie 10.2.9, который работает поверх штатных низкоуровневых компонентов и библиотек GNOME 3.24 (в будущем проект будет переписан на Qt). Рабочий стол построен на основе собственной реализации оболочки GNOME Shell, панели, апплетов и системы вывода уведомлений Основу Budgie составляет панель, близкая по организации работы к классическим панелям рабочего стола. Все элементы панели являются апплетами, что позволяет гибко настраивать состав, менять размещение и заменять реализации основных элементов панели на свой вкус.
  • Ubuntu Studio: Пакет system-config-printer-gnome заменён на system-config-printer. В состав включен набор утилит pm-utils. Обновлены версии программ: Blender 2.78a, KDEnlive 16.12.1, GIMP 2.8.18, qJackCtl 0.4.2, Ardour 5.0.0, Scribus 1.4.6, Darktable 2.2.1, Pitivi 0.98, Inkscape 0.92;
  • Xubuntu: Задействован новый выпуск панели задач xfce4-taskmanager, в которой добавлена возможность выбора процессов через клик на связанных с ними окнах. Обновлён файловый менеджер Thunar 1.6.11, в котором устранены проблемы, проявляющиеся при копировании и переименовании. В набор настроек xubuntu-default-settings добавлены новые шаблоны для файлов и таблиц в форматах OpenDocument;
  • Kubuntu: Рабочий стол обновлён до KDE Plasma 5.9, а набор приложений до KDE Applications 16.12.1.
  • Ubuntu MATE: Рабочий стол обновлён до версии 1.16;
  • Lubuntu: Обновлены пакеты LXDE, например, панель LXPanel обновлена с версии 0.8.2 до 0.9.3. Продолжается работа над альтернативной сборкой с рабочим столом LXQt;
  • Для новых установок вместо раздела подкачки задействован файл подкачки, размер которого по умолчанию будет устанавливаться в 5% от свободного места в ФС, но не больше, чем 2 Гб. Использование файла в существующей ФС для хранения данных подкачки существенно увеличивает гибкость и позволяет в любое время изменить размер подкачки;
  • Ядро Linux обновлено до версии 4.9 (в beta 2 ожидается ядро 4.10), а офисный пакет LibreOffice до версии 5.3;
  • В качестве DNS-резолвера по умолчанию задействован systemd-resolved.

  1. Главная ссылка к новости
  2. OpenNews: В Ubuntu GNOME 17.04 будет поставляться свежий GNOME 3.24
  3. OpenNews: Второй альфа-выпуск Ubuntu 17.04
  4. OpenNews: Ubuntu переходит на использование файла подкачки вместо раздела подкачки
  5. OpenNews: System76 приведёт в порядок поддержку HiDPI в Ubuntu
  6. OpenNews: Для Ubuntu введён в строй механизм обновления ядра без перезагрузки
Обсуждение (60 +21) | Тип: Программы |
24.02.2017 Компания Valve выпустила SteamVR для Linux (76 +20)
  Компания Valve начала официальное бета-тестирования версии SteamVR для платформы Linux. Разработчики приложений для шлемов виртуальной реальности получили возможность создавать SteamVR-контент для систем на базе Linux.

Поддержка оборудования пока ограничена шлемом HTC Vive, для работы требуется свежий бета-выпуск Steam Client и установка драйверов NVIDIA 375.27.10+ или экспериментальных драйверов AMD radv, GPU Intel пока не поддерживаются. Для разработки приложений виртуальной реальности предлагается использовать только графический API Vulkan (OpenGL пока работает слишком медленно и не пригоден для создания интерактивных приложений).

  1. Главная ссылка к новости
Обсуждение (76 +20) | Тип: Программы |
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. Главная ссылка к новости
  2. OpenNews: Google предупредил о скором прекращении поддержки SHA-1 в Chrome
  3. OpenNews: В Firefox 51 будет ограничена поддержка сертификатов на основе SHA-1
  4. OpenNews: До конца года ожидается появление практических атак по подбору коллизий для SHA-1
  5. OpenNews: Возможность встраивания бэкдора в нестандартные реализации SHA-1
  6. OpenNews: Выявлен дубликат короткого идентификатора PGP-ключа Линуса Торвальдса
Обсуждение (38 +19) | Автор: Artem S. Tashkinov | Тип: К сведению | Интересно
Следующая страница (раньше) >>


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