Сообщество - Проект OpenNet
Добавить пост

Проект OpenNet

15 постов 114 подписчиков

Доступен полностью свободный Linux-дистрибутив Trisquel 11.0

Доступен полностью свободный Linux-дистрибутив Trisquel 11.0 Linux, Технологии, Ubuntu, GNU

Опубликован релиз полностью свободного Linux-дистрибутива Trisquel 11.0, основанного на пакетной базе Ubuntu 22.04 LTS и ориентированного на использование в небольших предприятиях, в образовательных учреждениях и домашними пользователями. Trisquel лично одобрен Ричардом Столманом, официально признан Фондом Свободного ПО в качестве полностью свободного и помещен в список рекомендованных фондом дистрибутивов. Для загрузки доступны установочные образы, размером 2.2 ГБ и 1.2 ГБ (x86_64, armhf, arm64, ppc64el). Выпуск обновлений для дистрибутива будет осуществляться до апреля 2027 года.

Дистрибутив примечателен исключением из поставки всех несвободных компонентов, таких как бинарные драйверы, firmware и элементы графического оформления, распространяемые под несвободной лицензией или использующие зарегистрированные торговые марки. Несмотря на полный отказ от проприетарных компонентов, Trisquel совместим с Java (OpenJDK), поддерживает большинство аудио- и видео-форматов, включая работу с защищенными DVD, задействуя при этом только полностью свободные реализации данных технологий. В качестве рабочих столов предлагаются MATE (по умолчанию), LXDE и KDE.

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

  • Осуществлён переход с пакетной базы Ubuntu 20.04 на ветку Ubuntu 22.04.

  • До версии 5.15 обновлён полностью свободный вариант ядра Linux - Linux Libre, очищенный от проприетарных прошивок и драйверов, содержащих несвободные компоненты.

  • Рабочий стол MATE обновлён до версии 1.26. Опционально для установки доступны пользовательские окружения LXDE 0.10.1 и KDE Plasma 5.24.

  • Обновлены версии программ, в том числе Abrowser (переименованный Firefox) 110, Icedove (Thunderbird) 102.8, LibreOffice 7.3.7, VLC 3.0.16.

  • Началось формирование сборок для систем с процессорами на базе архитектур PowerPC 64(ppc64el) и AArch64 (ARM64).

Показать полностью

VK запускает разработку собственного открытого игрового движка

VK запускает разработку собственного открытого игрового движка Технологии, Инновации, ВКонтакте

Компания VK объявила о начале работы над собственным игровым движком с открытым исходным кодом, в разработку которого планируется инвестировать 1 млрд руб. Первая бета-версия движка ожидается в 2024 году, после чего начнётся процесс доработки и адаптации платформы, а также создания серверных решений. Полноценный релиз запланирован на 2025 год. Подробности о проекте пока не уточняются.

Показать полностью 1

Предварительный выпуск Android 14

Предварительный выпуск Android 14 Google, Технологии, Android, Длиннопост

Компания Google представила первую тестовую версию открытой мобильной платформы Android 14. Релиз Android 14 ожидается в третьем квартале 2023 года. Для оценки новых возможностей платформы предложена программа предварительного тестирования. Сборки прошивки подготовлены для устройств Pixel 7/7 Pro, Pixel 6/6a/6 Pro, Pixel 5/5a 5G и Pixel 4a (5G).

Ключевые новшества Android 14:

  • Продолжена работа по улучшению работы платформы на планшетах и устройствах со складными экранами. Обновлены рекомендации по разработке приложений для устройств с большими экранами и добавлены типовые шаблоны интерфейса для больших экранов, учитывающие такие применения, как социальные сети, коммуникации, мультимедийный контент, чтение и совершение покупок. Предложен предварительный выпуск Cross device SDK с инструментами для разработки приложений, корректно работающих с разными типами устройств (смартфоны, планшеты, умные телевизоры и т.п.) и разными форм-факторами.

  • Проведена оптимизация координации выполнения ресурсоёмких фоновых работ, таких как загрузка больших файлов при наличии Wi-Fi-соединения. Внесены изменения в API запуска приоритетных сервисов (Foreground Service) и планирования задач (JobScheduler), в которые добавлена новая функциональность для запускаемых пользователем работ, связанных с передачей данных. Введены требования по указанию типа запускаемых приоритетных сервисов (работа с камерой, синхронизация данных, воспроизведение мультимедийных данных, отслеживание местоположения, доступ к микрофону и т.п.). Упрощено определение условий активации загрузки данных, например, для загрузки только при доступе через Wi-Fi.

  • Внутренняя система доставки широковещательных сообщений приложениям (broadcast system) оптимизирована для снижения энергопотребления и повышения отзывчивости. Улучшен приём приложениями зарегистрированных потоков сообщений - сообщения могут помещаться в очередь, объединяться (например, серия сообщений BATTERY_CHANGED будет агрегирована в одно) и доставляться только после выхода приложения из кэшированного состояния.

  • Использование в приложениях функции выполнения операций в точное время (exact alarms) теперь требует получения отдельного полномочия SCHEDULE_EXACT_ALARM, так как применение данной функциональности может негативно влиять на время автономной работы и приводить к повышенному потреблению ресурсов (для заданий, выполняемых по расписанию, рекомендуется использовать активацию в приблизительное время). Приложениям с реализацией календаря и часов, использующим активацию в точное время, при установке должно быть предоставлено полномочие USE_EXACT_ALARM. Публикации в каталоге Google Play приложений с разрешением USE_EXACT_ALARM допускается только для программ с реализацией будильника, таймера и календаря с уведомлениями о событиях.

  • Расширены возможности масштабирования шрифтов, максимальный уровень масштабирования шрифта увеличен со 130% до 200%, а для того, чтобы текст при большом увеличении не выглядел слишком большим автоматически теперь применяется нелинейное изменение уровня масштабирования (уже большой текст увеличивается не так сильно, как мелкий).

  • Предоставлена возможность указания настроек языка, привязанных к отдельным приложениям. Разработчик приложения теперь может изменять параметры localeConfig через вызов LocaleManager.setOverrideLocaleConfig для определения списка языков, показываемых для приложения в интерфейсе настройки Android.

  • Добавлен API Grammatical Inflection для упрощения добавления переводов элементов интерфейса, учитывающих языки с системой родов.

  • Для предотвращения перехвата вредоносными приложениями intent-запросов в новой версии запрещена отправка intent-ов без явного указания пакета или внутреннего компонента.

  • Повышена безопасность динамической загрузки кода (DCL, Dynamic Code Loading) - для избежания подстановки вредоносного кода в динамически загружаемые исполняемые файлы, данные файлы теперь должны иметь права доступа, допускающие только чтение.

  • Запрещена установка приложений, для которых заявлена версия SDK ниже 23, что позволит блокировать обход ограничений полномочий через привязку к старым API (версия API 22 запрещена, так как в верcии 23 (Android 6.0) появилась новая модель управления доступом, позволяющая на лету запросить доступ к системным ресурсам). Установленные ранее приложения, использующие старые API, после обновления Android продолжат свою работу.

  • Предложен API Credential Manager и реализована поддержка технологии Passkeys, позволяющей пользователю проходить аутентификацию без паролей с использованием биометрических идентификаторов, таких как отпечаток пальца или распознавание лица.

  • В Android Runtime (ART) реализована поддержка OpenJDK 17 и предоставляемых в данной версии языковых возможностей и Java-классов, в том числе классов типа record, многострочных строк и сопоставления c образцом в операторе "instanceof".

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

Показать полностью

Вы хотите головоломок?

Их есть у нас! Красивая карта, целых три уровня и много жителей, которых надо осчастливить быстрым интернетом. Для этого придется немножко подумать, но оно того стоит: ведь тем, кто дойдет до конца, выдадим красивую награду в профиль!

РАЗМЯТЬ МОЗГ

Оценка утечки персональных данных на смартфонах Realme, Xiaomi и OnePlus

Оценка утечки персональных данных на смартфонах Realme, Xiaomi и OnePlus Oneplus, Xiaomi, Персональные данные, Смартфон, Realme

Группа исследователей из Эдинбургского университета опубликовала результат анализа утечек персональных данных в смартфонах Realme, Xiaomi и OnePlus, поставляемых для китайского и общемирового рынка. Во всех устройствах с прошивками для продажи в Китае выявлены факты отправки на серверы сбора телеметрии дополнительной информации, такой как номер телефона пользователя, статистика об использовании приложений, а также данные о местоположении, IMSI (индивидуальный номер абонента), ICCID (серийный номер SIM-карты) и окружающих точках беспроводного доступа. Дополнительно в устройствах Realme и OnePlus зафиксирована передача истории звонков и SMS.

В прошивках для общемирового рынка подобная активность не наблюдается за отдельными исключениями, например, устройства Realme отправляют MCC (код страны) и MNC (код мобильной сети), а Xiaomi Redmi - данные о подключённых Wi-Fi, IMSI и статистику об использовании приложений. Независимо от типа прошивки все устройства отправляют IMEI-идентификатор, список установленных приложений, версию ОС и параметры оборудования. Данные отправляются предустановленными производителем системными приложениями без получения согласия у пользователя, без уведомления об отправке и независимо от настроек конфиденциальности и отправки телеметрии.

В смартфоне Redmi данные отправляются на хост tracking.miui.com когда открыты и используются такие предустановленные производителем приложения, как Settings, Note, Recorder, Phone, Message и Camera, независимо от согласия пользователя с предложением отправки диагностических данных во время начальной настройки. На устройствах Realme и OnePlus данные отправляются на хосты log.avlyun.com, aps.oversea.amap.com, aps.testing.amap.com или aps.amap.com.

Из выявленных проблем также отмечается включение в поставку дополнительных сторонних приложений, которым по умолчанию предоставляются расширенные полномочия. Всего по сравнению с кодовой базой Android AOSP в каждой рассмотренной прошивке поставляется более 30 сторонних приложений, предустановленных производителем.

Показать полностью

Новая версия BitTorrent-клиента Transmission 4.0.0, перешедшего с Си на Си++

Новая версия BitTorrent-клиента Transmission 4.0.0, перешедшего с Си на Си++ Технологии, Bittorrent, Transmission, Торрент

После почти трёх лет разработки опубликован релиз Transmission 4.0.0, относительно лёгкого и нетребовательного к ресурсам BitTorrent-клиента, написанного на языке Cи и поддерживающего разнообразные интерфейсы пользователя: GTK, Qt, native Mac, Web-интерфейс, daemon, CLI. Код распространяется под лицензиями GPLv2 и GPLv3.

Ключевым изменением в новой ветке стал перевод кодовой базы с языка Си (C90) на Си++. Ранее на С++ был написан только интерфейс на базе Qt. Основной причиной перехода всего проекта на C++ называется желание задействовать дополнительные возможности, предоставляемые в стандартной библиотеке C++, и наличие в С++ более продвинутых средств для проверки типов. GTK-интерфейс переведён на использование gtkmm, обвязки над GTK для языка C++.

Попутно проведён значительный рефакторинг кодовой базы, позволивший сократить размер кода на 18%, улучшить охват тестами и упростить сопровождение. Модернизирован процесс взаимодействия с сообществом, реализовано более активное реагирование на сообщения об ошибках и передачу изменений через pull-запросы. Осуществлён переход на семантическое версионирование при назначении номеров версий, подразумевающее использование нотации X.Y.Z (вместо ранее используемой X.NN), в которой X меняется при внесении изменений, нарушающих обратную совместимость, Y меняется при расширении функциональности и Z при исправлении ошибок.

Другие изменения:

  • Добавлена поддержка использования торрентов в формате BitTorrent v2 и гибридных торрентов (пока только использование готовых торрентов, возможность создания торрентов на базе BitTorrent 2 появится в одном из следующих выпусков). В BitTorrent v2, осуществлён уход от использования алгоритма SHA-1 в пользу SHA2-256, который применяется как для контроля целостности блоков данных, так и для записей в индексах (info-dictionary), что нарушает совместимость с DHT и трекерами. Для сокращения размера torrent-файлов и проверки загруженных данных на уровне блоков индексы переведены на использование хеш-дерева Меркла. Добавлена возможность привязки отдельных хэш-деревьев к каждому файлу и выравнивания файлов по частям (без добавления добавочного заполнения после каждого файла), что позволило избавиться от дублирования данных при наличии одинаковых файлов и упростило выявления разных источников для файлов. Повышена эффективность кодирования структуры каталогов в торренте и добавлены оптимизации для обработки большого числа мелких файлов.

  • Web-интерфейс переписан с использованием более современных методов разработки на JavaScript и адаптирован для использования на мобильных устройствах. Код избавлен от применения библиотеки jQuery. В сжатом виде Web-интерфейс теперь занимает всего 68 КБ.

  • Значительно повышена эффективность работы - тестирование запуска transmission-daemon с 25 тысячами торрентов показало снижение нагрузки на CPU на 50% и уменьшение потребление памяти на 70%, по сравнению с Transmission 3.00.

  • Взаимодействие фонового процесса с GUI-фронтэндами (transmission-qt и transmission-web) переведено на RPC, работающий в табличном режиме, что позволило уменьшить размер передаваемых данных и снизить требования к пропускной способности. Для сжатия данных, передаваемых через RPC, вместо zlib задействована более оптимизированная библиотека libdeflate.

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

  • Обеспечен мгновенный запуск только что добавленных сидов с выполнением операций проверки по мере необходимости (без выполнения полной проверки перед запуском).

  • Добавлена опция для исключения при создании новых торрентов информации, которая потенциально может использоваться для косвенной идентификации пользователя (например, дата создания и User-Agent).

  • Добавлена поддержка чёрного списка для IPv6.

  • Система unit-тестирования переведена на использование Google Test. Обеспечен запуск в системе непрерывной интеграции сборок на базе Clang Выполнено fuzzing-тестирование базовой библиотеки. Реализован процесс проверки нового кода в статических анализаторах Sonarcloud, Coverity, LGTM и clang-tidy.

Показать полностью

Уязвимость в ImageMagick, приводящая к утечке содержимого локальных файлов

Уязвимость в ImageMagick, приводящая к утечке содержимого локальных файлов Технологии, Инновации, Imagemagick

В пакете ImageMagick, который часто используется web-разработчиками для преобразования изображений, выявлена уязвимость CVE-2022-44268, которая может привести к утечке содержимого файлов в случае преобразования при помощи ImageMagick подготовленных атакующим PNG-изображений. Уязвимость угрожает системам, которые обрабатывают внешние изображения и затем дают возможность загрузить результаты преобразования.

Уязвимость вызвана тем, что при обработке PNG-изображения ImageMagick использует содержимое параметра "profile" из блока метаданных для определения имени файла с профилем, который включается в результирующий файл. Таким образом, для атаки достаточно добавить к PNG-изображению параметр "profile" с необходимым файловым путём (например, "/etc/passwd") и при обработке подобного изображения, например, при изменении размера картинки, в выходной файл будет включено содержимое необходимого файла. Если вместо имени файла указать "-", то обработчик зависнет в ожидании ввода из стандартного потока, что можно использовать для осуществления отказа в обслуживании (CVE-2022-44267).

Обновление с исправлением уязвимости пока не выпущено, но разработчики ImageMagick рекомендовали в качестве обходного пути для блокирования утечки создать в настройках правило, ограничивающее доступ к определённым файловым путям. Например для запрета доступа по абсолютным и относительным путям в policy.xml можно добавить:

<policy domain="path" rights="none" pattern="/*"/> <policy domain="path" rights="none" pattern="../*"/>

В открытом доступе уже размещён скрипт для формирования эксплуатирующих уязвимость PNG-изображений.

Показать полностью

Сбои в системах сборки из-за изменения контрольных сумм архивов в GitHub

Сбои в системах сборки из-за изменения контрольных сумм архивов в GitHub Технологии, Github, Microsoft

GitHub изменил метод формирования автоматически генерируемых архивов ".tar.gz" и ".tgz" на страницах с релизами, что привело к изменению их контрольных сумм и массовым сбоям в автоматизированных системах сборки, которые для подтверждения целостности осуществляют сверку загружаемых с GitHub архивов с ранее сохранёнными контрольными суммами, например, размещёнными в метаданных пакетов или в сборочных сценариях.

Начиная с выпуска 2.38 в инструментарии Git была включена по умолчанию встроенная реализация gzip, которая позволяла унифицировать поддержку данного метода сжатия в разных операционных системах и повысить производительность создания архивов. GitHub подхватил изменение после обновления версии git в своей инфраструктуре. Проблему вызвало то, что сжатые архивы, генерируемые встроенной реализацией gzip на базе zlib, бинарно отличаются от архивов, созданных утилитой gzip, что привело к отличию контрольных сумм для архивов, созданных разными версиями git при выполнении команды "git archive".

Соответственно, после обновления git в GitHub на страницах релизов стали отдаваться немного другие архивы, не проходящие проверку по старым контрольным суммам. Проблема проявилась в различных сборочных системах, системах непрерывной интеграции и в инструментариях сборки пакетов из исходных текстов. Например, нарушилась сборка около 5800 портов FreeBSD, исходные тексты для которых загружались из GitHub.

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

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

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

Показать полностью

Выпуск OpenSSH 9.2 с устранением уязвимости, проявляющейся на этапе до аутентификации

Выпуск OpenSSH 9.2 с устранением уязвимости, проявляющейся на этапе до аутентификации Ssh, Технологии, Openssh

Опубликован релиз OpenSSH 9.2, открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP. В новой версии устранена уязвимость, приводящая к двойному освобождению области памяти на стадии до прохождения аутентификации. Уязвимости подвержен только выпуск OpenSSH 9.1, в более ранних версиях проблема не проявляется.

Для создания условий проявления уязвимости достаточно изменить баннер SSH-клиента на "SSH-2.0-FuTTYSH_9.1p1" для того, чтобы добиться выставления флагов "SSH_BUG_CURVE25519PAD" и "SSH_OLD_DHGEX", зависящих от версии SSH-клиента. После выставления данных флагов память под буфер "options.kex_algorithms" освобождается два раза - при выполнении функции do_ssh2_kex(), вызывающей compat_kex_proposal(), и при выполнении функции do_authentication2(), вызывающей по цепочке input_userauth_request(), mm_getpwnamallow(), copy_set_server_options(), assemble_algorithms() и kex_assemble_names().

Создание рабочего эксплоита для уязвимости считается маловероятным, так как процесс эксплуатации слишком усложнён - современные библиотеки распределения памяти предоставляют защиту от двойного освобождения памяти, а процесс pre-auth, в котором присутствует ошибка, выполняется с пониженными привилегиями в изолированном sandbox-окружении.

Кроме отмеченной уязвимости в новом выпуске также устранены ещё две проблемы с безопасностью:

  • Ошибка при обработке настройки "PermitRemoteOpen", приводящая к игнорированию первого аргумента, если он отличается от значений "any" и "none". Проблема проявляется в версиях новее OpenSSH 8.7 и приводит к пропуску проверки при указании только одного полномочия.

  • Атакующий, контролирующий DNS-сервер, используемый для определения имён, может добиться подстановки спецсимволов (например, "*") в файлы known_hosts, если в конфигурации включены опции CanonicalizeHostname и CanonicalizePermittedCNAMEs, и системный резолвер не проверяет корректность ответов от DNS-сервера. Проведение атаки рассматривается как маловероятное, так как возвращаемые имена должны соответствовать условиям, заданным через CanonicalizePermittedCNAMEs.

Другие изменения:

  • В ssh_config для ssh добавлена настройка EnableEscapeCommandline, управляющая включением обработки на стороне клиента escape-последовательности "~C", предоставляющей командную строку. По умолчанию обработка "~C" теперь отключена для использования более жёсткой sandbox-изоляции, что потенциально может привести к нарушению работы систем, в которых "~C" используется для перенаправления портов во время работы.

  • В sshd_config для sshd добавлена директива ChannelTimeout для задания таймаута неактивности канала (каналы, в которых за указанное в директиве время не зафиксирован трафик, будут автоматически закрыты). Для сеанса, X11, агента и перенаправления трафика могут быть заданы разные таймауты.

  • В sshd_config для sshd добавлена директива UnusedConnectionTimeout, позволяющая задать таймаут для завершения клиентских соединений, находящихся определённое время без активных каналов.

  • В sshd добавлена опция "-V" для вывода версии по аналогии с подобной опцией в клиенте ssh.

  • В вывод "ssh -G" добавлена строка "Host", отражающая значение аргумента с именем хоста.

  • В scp и sftp добавлена опция "-X" для управления такими параметрами протокола SFTP, как размер буфера копирования и число ожидающих завершения запросов.

  • В ssh-keyscan разрешено сканирование полных CIDR-диапазонов адресов, например, "ssh-keyscan 192.168.0.0/24".

Показать полностью
Отличная работа, все прочитано!