The OpenNET Project / Index page

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

В NixOS предложен метод защиты от подстановки бэкдоров, таких как в XZ

23.03.2025 09:42

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

Суть метода в том, что исходный код новой версии приложения собирается два раза - первый раз из кода, загруженного из git-репозитория, а второй из кода, распространяемого в готовых архивах. Если полученные в результате сборок бинарные файлы различаются, возникает повод для подозрений в наличии скрытых модификаций в репозитории или в архивном файле с кодом.

Напомним, что в случае с проектом XZ репозиторий с кодом не содержал подозрительных изменений. Образующие бэкдор вредоносные компоненты поставлялись внутри файлов, используемых в тестовом наборе для проверки корректности работы распаковщика XZ. Бэкдор активировался на уровне системы сборки, а сам исходный код XZ совпадал с кодом из репозитория. Активирующие бэкдор m4-макросы для инструментария Automake были включены только в готовый архив с кодом и отсутствовали в репозитории.

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

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

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

Как выход предложено собирать бинарные файлы релиза, как из репозитория (например, можно использовать автоматически генерируемый в GitHub архив для релизного тега), так и из архива, подготовленного сопровождающим, сравнивая затем результат. В качестве эксперимента включение подобной проверки пока предложено только для пакета "xz". Если эксперимент окажется удачным проверки планируют использовать и в других пакетах в nixpkgs.

   
  1. Главная ссылка к новости (https://luj.fr/blog/how-nixos-...)
  2. OpenNews: В NixOS обеспечена поддержка повторяемых сборок для iso-образа
  3. OpenNews: Проект XZ опубликовал результат аудита коммитов и первое обновление после выявления бэкдора
  4. OpenNews: В библиотеке xz/liblzma выявлен бэкдор, организующий вход через sshd
  5. OpenNews: Уязвимости в PCP и Nix, позволяющие поднять привилегии в системе
  6. OpenNews: Выпуск дистрибутива NixOS 24.11, использующего пакетный менеджер Nix
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62933-nix
Ключевые слова: nix, xz, build
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (158) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Не пытайтесь напугать меня пивом (?), 10:31, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +4 +/
    А некоторые аноны всё ещё продолжают использовать Тайлс и верить что они аноны.

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

     

     ....большая нить свёрнута, показать (33)

  • 1.2, Fracta1L (ok), 10:33, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +5 +/
    А что если просто собирать пакеты, вытягивая исходники из git вместо использования готовых архивов?
     
     
  • 2.5, Аноним (5), 10:40, 23/03/2025 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –4 +/
    Тогда не заметят бэкдор, добавленный задним числом в Git. Пример https://www.opennet.ru/opennews/art.shtml?num=62892
     
     
  • 3.12, 12yoexpert (ok), 10:53, 23/03/2025 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    где по ссылке хоть какой-то намёк на подстановку чего-либо задним числом?
     
     
  • 4.15, Аноним (5), 10:59, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    В релизные git-теги добавили левый коммит, соответственно для релиза будет отдан уже совсем другой код, а не тот что был раньше.
     
     
  • 5.16, 12yoexpert (ok), 11:01, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    // пропуская мимо ушей

    где там про заднее число что-то?

     
     
  • 6.18, Аноним (5), 11:07, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    Ну смотрите, разработчики выпустили релиз, через какое-то время пришёл какой-то чувак и добавил в git-тэг релиза вредоносный коммит, так что если загружать релиз по тегу в коде  окажутся его изменения.
     
     
  • 7.34, Аноним (34), 12:12, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Вопрос.
    А зачем загружать\выгружать именно по тегу?
    Тэги - это какая то священная корова?
     
     
  • 8.40, деанон (ok), 12:31, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Для удобства и снижения нагрузки с сопровождающего... текст свёрнут, показать
     
  • 8.136, Аноним (87), 13:41, 24/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Какие у вас кроме тегов есть варианты По коммиту ... текст свёрнут, показать
     
     
  • 9.158, n00by (ok), 18:50, 24/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Есть вариант использовать блокчейн git-a, да Впрочем, остаются вопросы о крип... текст свёрнут, показать
     
  • 3.75, Аноним (75), 14:22, 23/03/2025 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    Что значит не заметят? Контрольная сумма изменится
     
  • 2.6, Аноним (5), 10:42, 23/03/2025 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    И в дополнение, предвкушая вопрос. Подменить задним числом архив не получится, так как дистрибутивы сохраняют у себя хэши и потом при повторной загрузке проверяют.
     
  • 2.28, n00by (ok), 11:40, 23/03/2025 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Они решают задачу "обнаружить модификацию, проделанную неизвестным способом".
     
     
  • 3.44, Аноним (44), 12:41, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    > Они решают задачу

    выявление бекдора, внесенного мейнтейнером :)

     
     
  • 4.49, n00by (ok), 12:53, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >> Они решают задачу
    > выявление бекдора, внесенного мейнтейнером :)

    У этой задачи возможно два решения:
    1. Предположить какие-то определённые способы внесения бэкдора и противодействовать им.
    2. Исходить из того, то невозможно предугадать все возможные способы, и пробовать решить в общем виде.

     
     
  • 5.57, Аноним (44), 13:06, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    на шаг всегда позади, как в случае и с антивирусами, но куда хуже, когда банальн... большой текст свёрнут, показать
     
     
  • 6.71, n00by (ok), 13:50, 23/03/2025 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –2 +/
    Да, если решение и есть, оно не обязательно верное.)

    А вот любопытно. Допустим, придумали некий язык и научились писать на нём особую  спецификацию, она бы верифицировалась и заодно создавался исходник на Си. Если открыть последний, это разве не опенсорс? Можно даже СПО, под GPL. :)

     
     
  • 7.76, Аноним (44), 14:33, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Допустим, придумали некий язык и научились писать на нём особую  спецификацию, она бы верифицировалась и заодно создавался исходник на Си.

    Так есть же всякие Coq, Agda, Isabelle, которые генерируют код, но какой код? Я думаю, что надо генерировать конкретный машинный код, а не код на Си.

    > Если открыть последний, это разве не опенсорс?

    Опенспекс :)

     
  • 6.157, Аноним (122), 18:43, 24/03/2025 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Всё так, не добавить не убавить Так-то оно так, и рассуждаете вы вроде бы здра... большой текст свёрнут, показать
     
     
  • 7.166, Аноним (44), 21:53, 24/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > а большинство ли проектов вообще имеют версии которые можно с чистой совестью назвать "законченный продукт"?

    В том то и дело, надо определить сначала понятие "законченный продукт". Если наш продукт зависит от "незаконченного продукта", добьемся ли мы когда-нибудь "законченности" собственного продукта?


    пс: писалась бы музыка так, как пишутся современные программы :)

     
  • 7.167, Аноним (44), 21:59, 24/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    писались бы литературные произведения так, как пишут современные программы.
    писались бы картины так, как пишут современные программы.
    и таких "писались бы" "законченных продуктов" - куча.

    Говоря об определении "законченный", можно сравнить с определением "спелый". Вкусен ли неспелый продукт? буэээ - ну вот точно такое же буэээ должна вызывать программа "неспелая" :)

     
     
  • 8.172, Аноним (87), 23:44, 24/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    За западной культурой не слежу, но добро пожаловать в ранобе мангу аниме Пробле... большой текст свёрнут, показать
     
     
  • 9.173, Аноним (44), 00:04, 25/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Проблема в денежной оценке А че, лучше создать ядерную бомбу Или багнутую прог... текст свёрнут, показать
     
     
  • 10.182, Аноним (181), 17:59, 25/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Не только Может быть вы через год и заработаете миллиарды, но вот до этого моме... текст свёрнут, показать
     
     
  • 11.183, Аноним (44), 00:55, 26/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    то есть, я должен написать, надежный софт для вентиляции ваших легких, ценой сво... текст свёрнут, показать
     
  • 2.41, Аноним (41), 12:32, 23/03/2025 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    для этого надо полностью доверять содержимому этих репозиториев, причём доверять каждый раз когда делается git pull
     
     
  • 3.50, Fracta1L (ok), 12:53, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Разве есть какие-то другие варианты? Ты либо доверяешь разработчику, либо нет, но если нет - лучше выкинуть этот пакет из своих репозиториев.
     
     
  • 4.65, n00by (ok), 13:29, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Но если выкинуть пакет, тогда придётся самому кодить, а разработчики операционных систем выше этого.
     
  • 4.116, Аноним (41), 22:56, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    вендоринг. то же пулл, но только проверяемый человеком
    и да, код копируется на свои сервера после проверки
     

  • 1.3, oficsu (ok), 10:34, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –4 +/
    Подскажите им, что можно собирать просто один раз — из репы. Это избавит от бекдоров в архивах ровно в той же мере
     
     
  • 2.4, Аноним (4), 10:40, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +3 +/
    Тогда не будет алертов о том, что апстримные тарболы содержат ересь. (Плот твист: апстримные тарболы только ересь и содержат, скажем спасибо автокрапу.)
     
  • 2.7, Аноним (5), 10:43, 23/03/2025 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    Но открывает двери для бэкдоров в репозитории, например, через подмену репозитория.
     
     
  • 3.13, oficsu (ok), 10:53, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Ага, делать аудит изменений в том, что собираешься собирать на своей инфраструктуре и фиксировать хеш коммита, прошедшего аудит, я так понимаю, для черни, а не для благородных мейнтейнеров?
     
     
  • 4.19, Аноним (4), 11:09, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    1. Фиксироваться должен не хэш коммита, а исходники, выкачанные по этому хэшу. Именно так дистры и поступают.
    2. Цель - *выявить* бэкдор в тарболе, а не *избежать* бэкдора в тарболе. Читай внимательнее.
     
     
  • 5.45, Аноним (44), 12:47, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > 2. Цель - *выявить* бэкдор в тарболе, а не *избежать* бэкдора в тарболе. Читай внимательнее.

    смешно, аналогично "мы используем http, чтобы выявить рекламу подсунутую провайдером".

     
  • 5.83, oficsu (ok), 16:58, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    > 1. Фиксироваться должен не хэш коммита, а исходники, выкачанные по этому хэшу.

    Хеш коммита в нормальных системах контроля версий — это и есть хеш исходников для данной ревизии. И ещё раз, выявлять бекдоры в тарболле не придётся, если отказаться от тарболлов

     
     
  • 6.93, Аноним (93), 18:46, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Ты притворяешься или как Хэш коммита -- это хэш изменений, включая метадату вро... большой текст свёрнут, показать
     
     
  • 7.98, oficsu (ok), 19:23, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • –2 +/
    >> Хеш коммита в нормальных системах контроля версий — это и есть хеш исходников для данной ревизии
    > Хэш контента в таком проекте будет одинаков для коммитов
    > N и N+2. А хэш коммитов всегда будет разный

    Что прекрасным образом не увеличивает поверхность атаки, не так ли?

     
     
  • 8.106, Аноним (93), 20:49, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Поверхность атаки точно увеличится, если тарболы никто не сверяет на идентичност... текст свёрнут, показать
     
  • 2.25, n00by (ok), 11:33, 23/03/2025 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    > Подскажите им, что можно собирать просто один раз — из репы. Это
    > избавит от бекдоров в архивах ровно в той же мере

    И что бы изменилось, если бы упаковщики "полностью автономного дистрибутива" (ц) отзеркалили архив у себя?

    Subject: [PATCH] Workaround for CVE-2024-3094: the git tar.gz tarball does not
    have the malicious m4 files installing the backoor in liblzma

    -Source0: https://tukaani.org/xz/%{name}-%{version}.tar.xz
    +Source0: https://tukaani.org/xz/%{name}-%{version}.tar.gz

    https://abf.io/import/xz/commit/1470895e3c645bb5605b12d5c64d50669b4deb98

     
     
  • 3.84, oficsu (ok), 17:00, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > И что бы изменилось, если бы упаковщики "полностью автономного дистрибутива" (ц) отзеркалили
    > архив у себя?

    Я нигде не предлагал зеркалить никакие архивы. Я предложил:
    1) делать аудит;
    2) записывать хеш коммита, прошедшего аудит;
    3) брать репу (не важно, оригинальную ли или зеркало), и брать из неё для сборки только коммиты, прошедшие аудит

     
     
  • 4.86, Ivan_83 (ok), 17:30, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Делать аудит долго и дорого, у меинтейнеров нет для этого ресурсов, там бы хоть как то собрать эту кучу мусора в нечто что запускается и делает вид что работает.
     
  • 4.89, n00by (ok), 17:58, 23/03/2025 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    >> И что бы изменилось, если бы упаковщики "полностью автономного дистрибутива" (ц) отзеркалили
    >> архив у себя?
    > Я нигде не предлагал зеркалить никакие архивы. Я предложил:

    Дословно было "просто один раз — из репы". Зеркало - репа. Подходит.

    > 1) делать аудит;
    > 2) записывать хеш коммита, прошедшего аудит;
    > 3) брать репу (не важно, оригинальную ли или зеркало), и брать из
    > неё для сборки только коммиты, прошедшие аудит

    И что бы это изменило? Они и делают "аудит", как всем рассказывают.

     
     
  • 5.160, Аноним (122), 19:00, 24/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Если бы так реально делалось, это бы возможно и сократило количество дыр и бэкдо... большой текст свёрнут, показать
     
     
  • 6.161, Аноним (122), 19:02, 24/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Если бы так реально делалось, это бы возможно и сократило количество дыр
    > и бэкдоров, скорее всего, логика говорит об этом, вот только вероятность
    > реализации такого плана "крайне мала" (с), выше описал почему.

    * не выше, а вот тут получилось https://www.opennet.ru/openforum/vsluhforumID3/136375.html#159

     
  • 4.159, Аноним (122), 18:55, 24/03/2025 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Всё это правильно, отлично и просто замечательно, но у меня к вам вопросики 1 ... большой текст свёрнут, показать
     

  • 1.8, 12yoexpert (ok), 10:45, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +1 +/
    а ведь это гениально. зачем сравнивать исходники или всегда собирать конкретный git revision, если можно собрать одни и те же исходники и сравнивать результат?
     
  • 1.9, Аноним (9), 10:46, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • –3 +/
    Я конечно дико извиняюсь, а что проверка CRC/MD5 архива не в моде? Таже FreeBSD, когда скачивает сырки со сторонних сайтов проверяет контрольную сумму, и если она не сходится с её значением из базы, скачивает другой архив с другого зеркала и если уж и там оно не сходится, то скачивает с сайта самой BSD.
     
     
  • 2.10, Аноним (5), 10:48, 23/03/2025 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Речь про ситуации, когда бэкдор встроен в изначальный архив, например, мэйнтейнером проекта.
     
     
  • 3.36, Аноним (34), 12:21, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    кхе, кхе.
    И как тебе поможет то, что они делают, если мантейнер(или кто то плохой через его учетку) запулил завирусованный код в репозитарий?
    В ИксЗет кстати выявили бекдор, потому что бинарники ВНЕЗАПНО не бились с прилагавшимися сырцами.
    Ну т.е. сам код будет ок, а прилагающиеся бинари - завирусованы.
    Но это ситуация единичного случая, потому что мы или доверяем мантейнеру, или не доверяем.
    Вспомни за последние лет 5 что происходило да хотя бы в NPM - некоторые мантейнеры решили подменить рабочие пакеты нерабочими, с политическими лозунгами. Их отловили, доступ к изменениям отобрали, их репозитарии откатили на момент рабочего релиза.
     
     
  • 4.46, Аноним (44), 12:49, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > кхе, кхе.

    Такие вот нынче безопасТники, кхммм, главное что-либо сделать, то есть сделать вид!

     
  • 2.96, Аноним (96), 19:17, 23/03/2025 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    >crc
    >md5

    Да, некриптостойкие хеш-функции для проверки целостности точно не в моде.

     

  • 1.17, Афроним (?), 11:01, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • –1 +/
    Лучше собрать пакет раз 10 из Федоры,Убунту,Сусе и т.д. Таогда определенно будет безопасно. Дарю ппрогрессивную идею, а то вы еще долго не догадаетесь до такого ноу-хау. Особенно это касается Хруста,Хромых и т.п. Бгг.
     
  • 1.20, Аноним (20), 11:13, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Лучше бы они внедрили изоляцию через namespace для всех юзерспейс приложений и максимально ограничили количество софта требующее root доступа, плюс все что крутится от рута закрыли через selinux. С какой радости systemd вообще собирается с поддержкой xz накой она там.  
     
     
  • 2.21, Афроним (?), 11:26, 23/03/2025 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Тут госпожа Мяв просто не пробегала давно, а то она Томоё уже давно использует. Остальные видимо. просто фаерджейл юзают. Бгг.
     
     
  • 3.112, Аноним (112), 22:00, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Томоё кстати очень даже хорошая мандатная система, жаль что гуя и дефолтных профилей под десктоп не завезли. Помню как на генту совй велосипед изобретал.
     
  • 2.23, Аноним (4), 11:27, 23/03/2025 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +/
    1. Сервисы и так изолируются средствами DynamicUser etc.
    2. Гуйные приложения следует изолировать флетпаком. Это большая и сложная тема, с которой в свое время НЕ справился Firejail. Единственная альтернатива -- это только флетпак (либо более низкоуровневый bubblewrap, обернутый в баш-портянку).
    3. Селинукс сомнительное решение, тем более, что в сабже он не поддерживается.
     
     
  • 3.38, Аноним (34), 12:24, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    СЕлинукс, это вообще то мандатори аксцесс(МАС), который должен применятся ровно с тем, для чего предназначен.
    Использовать его для других целей - получить факап решение.
     
  • 3.162, ЛщЛ (?), 19:11, 24/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > 2. Гуйные приложения следует изолировать флетпаком. Это большая и сложная тема, с
    > которой в свое время НЕ справился Firejail. Единственная альтернатива -- это
    > только флетпак (либо более низкоуровневый bubblewrap, обернутый в баш-портянку).

    Фэтпак как серебрянная пуля изоляции от зловредов? Как интересно ))

    > 3. Селинукс сомнительное решение, тем более, что в сабже он не поддерживается.

    Селинукс конечно сомнительное решение, но не поддерживается где, простите?


     
  • 2.101, OpenEcho (?), 20:26, 23/03/2025 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > Лучше бы они внедрили изоляцию через namespace для всех юзерспейс приложений и максимально ограничили количество софта требующее root доступа

    Ага, точно! Из юзерспейса... легко! (на опенете)

    Вы вообще читаете новости или сразу писать?

     
  • 2.137, Аноним (87), 13:43, 24/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >Лучше бы они внедрили изоляцию через namespace для всех юзерспейс приложений

    Изолировать нужно тогда, когда нужно. Какой смысл мне изолировать браузер от папки загрузка, если я туда скачиваю файлы?

     

  • 1.24, Аноним (24), 11:30, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    Все просто все приложения должны иметь доступ только в системному слайсу бублиотек, который поставляется атомарно, к своей папке и только к файлам созданным ей или для неё. Все соединения или с одобрение пользователя или ИИ.
     
     
  • 2.39, Аноним (34), 12:28, 23/03/2025 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Ты не учел ситуацию, когда в твой атомарный пакет ОСь, попал завирусованный ПО на этаппе сборки атомарного пакета.
    Все, прилетели, выходим из троллейбуса.
    Понятно что потребуется откатиться на предыдущую сборку, а потом подготовить новую, без уязвимостей.
    Но сам факт в том что в атомарной сборке операционки номер икс_игрек_многозет сидит зловред, уже даст много поводов для размышлений, от которых так просто отмазаться("Рафик не виноуват!") уже не получиться.
     
     
  • 3.52, Аноним (24), 12:55, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Если зловред настолько низко то не случайный от васяна, а специальный от производителя и там и должен быть.
     
  • 2.66, Аноним (62), 13:31, 23/03/2025 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Если у тебя за безопастность будет отвечать ИИ всё остальное уже бессмысленно..
     
  • 2.138, Аноним (87), 13:45, 24/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >Все просто все приложения должны иметь доступ только в системному слайсу бублиотек, который поставляется атомарно, к своей папке и только к файлам созданным ей или для неё.

    Это уже реализовано в NixOS
    >Все соединения или с одобрение пользователя или ИИ.

    На этапе сборки доступа к сети уже нет. Зависимости выкачиваются заранее.

     
  • 2.163, ЛщЛ (?), 19:16, 24/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Все просто все приложения должны иметь доступ только в системному слайсу бублиотек,
    > который поставляется атомарно, к своей папке и только к файлам созданным
    > ей или для неё.

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

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

    > Все соединения или с одобрение пользователя
    > или ИИ.

    Или ИИ, ну вы понели. ;)

     

  • 1.26, n00by (ok), 11:34, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    > исходный код новой версии приложения собирается два раза
    > - первый раз из кода, загруженного из git-репозитория,
    > а второй из кода, распространяемого в готовых архивах.

    Это очень печально.
    Казалось бы, достаточно распаковать и сравнить?

     

     ....большая нить свёрнута, показать (20)

  • 1.32, Аноним (32), 12:04, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Но ведь не сработает. Архивы с исходниками формируются часто какой-то обработкой git, добавлением versioninfo и всякого такого. Так бывает что git-версия это условно rolling-debug, а тарболл это релиз
     
  • 1.61, Аноним (61), 13:14, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • –1 +/
    Абсолютно бредовый способ. Можно засунуть бэкдор и туда, и туда.

    Правильный подход - избавиться от autotools и от всех проектов, его использующих. Вообще на Rust переписать, если автор/сопровождающий is uncooperative. Раст все ошибки не пофиксит, зато его можно широкой аудитори продать как более безопасный, похоронив оригинальный проект. Автор столько лет само-продвигался, вкладываясь в это дерьмо - а его вытеснили просто переписав на Rust! Если автор хочет, чтобы его проект не похоронили - он должен выполнять все наши требования, capisce?

     
     
  • 2.63, Аноним (63), 13:23, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Если проект опенсорсный и под GNU, то создателю глупо претендовать на какое-то там авторство, это автор должен принимать во внимание ещё даже перед написанием кода. Вот так... Поэтому, под GNU лицензию обычно выкладывают хэловорды, которые тривиальны, а уникальный и сложный софт релизится под закрытыми лицензиями.
     
     
  • 3.69, Аноним (61), 13:41, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Что говорить о пермиссивных! Раз LLVM тривиален - пойди напиши мне модификации фронтенда и бэкенда для компиляции OpenCL кода под DSP-архитектуру с 10 инструкциями, все из которых - арифметика. Программа последовательно обрабатывает циклический буфер. При компиляции OpenCL ядра clangом высокоуровневый код должен правильно снижаться на экзотическую нефоннеймановую архитектуру, а все несоответствия архитектуре выводиться в виде ошибок компиляци с конкретными рекомендациями как изменить высокоуровневый код, чтобы сохранить его семантику, а ядро чтобы скомпилировалось.
     
     
  • 4.74, Аноним (63), 14:22, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    LLVM оплачивается корпорациями.
    https://foundation.llvm.org/sponsors
    Если бы не вливания от денежных дядь, LLVM был бы эталонным примером в своей стязе, как например GNU Hard OS.
    То есть, GNU лицензия там не значит ровным счётом ничего (то есть денюжки решают, а не какой-то там энтузиазм на постном масле от милого камьюнити).
     
     
  • 5.80, Аноним (79), 15:32, 23/03/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     

  • 1.64, Аноним (61), 13:26, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +1 +/
    >This being said, these reasons do not weigh enough in my opinion to justify the security risks they create. In all places where it is technically feasible, we should build software from sources authenticated by the most trustworthy party

    Напоминаю: trustWORTHY party нет в принципе "бесплатно, без СМС". Есть только trustED party (по сути - власти в широком смысле слова). И вам приходится их терпеть. Для trustWORTHY party вы можете нанять стороннюю компанию аудировать чужие исходники. Или свои написать. Ежели же автор поста имел в виду trustED party, то Jia Tan как раз именно таким и был - он был официальным сопровождающим.

     
     
  • 2.68, Аноним (61), 13:34, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Не бывает technically feasible и economically feasible Бывает лишь просто feasi... большой текст свёрнут, показать
     
     
  • 3.77, Аноним (44), 14:41, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > ты ведь мог бы написать свой

    Это всегда technically feasible, и economically feasible если взять кредит в банке :)

     
     
  • 4.97, Аноним (96), 19:20, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    То то все прям своё обписались. Прям расцвели миллионы цветов высококачественных с друг с другом совместимых софтовых экосистем.
     
     
  • 5.99, Аноним (44), 19:34, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > То то все прям

    Ага, и все вдруг стали умные :(

     
     
  • 6.105, Анонимм (??), 20:35, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    И Линус вывел ядро из под GPL.
     

  • 1.72, Аноним (72), 14:07, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +1 +/
    Если небольшой исходник, то, возможно, этот способ подойдет. А если собирать DE?..
     
     
  • 2.73, Афроним (?), 14:21, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Еретик.сейчас минусов накидают. У них билдфермы есть с халявным доступом, а у кого их нет тот скамер.)
     
     
  • 3.85, Аноним (62), 17:19, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    У кого их нет могут воспользоваться консолью... :(
     

  • 1.81, Ivan_83 (ok), 15:45, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    Глупость полная.
    Это ещё может сработать с некоторыми редкими случаями, особенно для всяких С/С++ проектов.
    А раст/го/питон/руби просто получат в одном из 100500 лефтпадов небольшую вставку и всё.
     
     
  • 2.88, Аноним (87), 17:54, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >Это ещё может сработать с некоторыми редкими случаями, особенно для всяких С/С++ проектов.

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

     
     
  • 3.118, Ivan_83 (ok), 01:41, 24/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    И раст и го - оба далеки от применений С.
    Автосгенерированный код - более надёжный источник чем репозиторий где лефтпад на лефтпаде зависит.
     
     
  • 4.139, Аноним (87), 13:47, 24/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >Автосгенерированный код - более надёжный источник

    Автосгенерированный код должен генерироваться прямо во время сборки
    >чем репозиторий где лефтпад на лефтпаде зависит

    Зеркала делать вы так и не научились?

     

  • 1.103, Анонимм (??), 20:31, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +1 +/
    Учитывая методологию именования пакетов в этой ОС, их можно просто подменять без использования каких-то иезуитских бекдоров. Никто не заметит.
     
     
  • 2.127, n00by (ok), 10:27, 24/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Давно и упорно задавал вопрос, зачем там так именуют пути в store. Наконец-то кто-то ответил! Благодарю!
     
     
  • 3.140, Аноним (87), 13:48, 24/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    А как их иначе именновать? Можно подумать, что вы различите пакет собранный с разными флагами компиляции или патчами на глаз
     
     
  • 4.154, n00by (ok), 18:12, 24/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Я про пути в свалке /nix/store. Прямо никто ведь не признается, а тут подкинули подходящий вариант.
     

  • 1.104, Аноним (104), 20:33, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Что то я недопонял.

    Они в принципе не собираются накладывать дополнительные патчи на проекты?

     
  • 1.107, Аноним (107), 20:54, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    > В NixOS предложен метод защиты от подстановки бэкдоров, таких как в XZ

    Тем временем коммит по ссылке:
    "xz-after-bootstrap: init at & 5.6.4 add to release blockers
    The idea here is to rebuild xz after the bootstrap from trusted
    sources. Given that xz is reproducible, if it doesn't produce the same
    results as the xz built during the bootstrap, something is wrong."

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

     
     
  • 2.115, Аноним (5), 22:18, 23/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    В коммите лишь пример предложенной идеи для сбора отзывов.

    Читайте дальше по ссылкам https://luj.fr/blog/how-nixos-could-have-detected-xz.html
    "if the method is adopted we should then implement it for the other candidate packages in nixpkgs’s bootstrap".

     

  • 1.111, Аноним (111), 21:57, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    >предложен режим повторяемых сборок,

    Кто только не предлагал до этого...
    Инцидент с XZ считаю проявлением некомпетентности.

     
  • 1.113, Аноним (113), 22:08, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • +/
    по факту все бинарники потенцально опасны
     
  • 1.120, Аноним (120), 06:27, 24/03/2025 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • +2 +/
    > возникает повод для подозрений

    Ага, а судьи кто - миллионы глаз бдительного опенсорса или посадят одного мейтейнера и будет как всегда?

     
  • 1.121, Аноним (121), 07:29, 24/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Эх! Поддерживал бы еще NixOS ZFS на корне... можно было бы даже сделать основной системой. Не судьба...
     
     
  • 2.125, Аноним (125), 10:03, 24/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    шутишь чтоли? как только вижу, что zfs идёт файловой системой по умолчанию, дистр сразу идёт лесом.
     
     
  • 3.128, Аноним (121), 11:01, 24/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Файловая система лучше ZFS мне не знакома. А к хорошему привыкаешь быстро...
     

  • 1.124, Аноним (124), 10:01, 24/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Неужели кто наконец займётся мильёном бэкдоров, поставляемых в современных пакетах? Вы ж анебе без работы оставите.
     
  • 1.129, freehck (ok), 11:03, 24/03/2025 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • +/
    > Суть метода в том, что исходный код новой версии приложения собирается два раза

    То есть "мы увеличиваем расход ресурсов в 2 раза из-за того, что..."

    > Бэкдор в XZ был внедрён злоумышленником, добившимся получения статуса сопровождающего в проекте.

    "...у нас не хватает глаз, чтобы отследить подобных зловредов..."

    > подобный метод практикуется лишь в отдельных случаях

    "...и к тому же этот метод не всегда сработает".

    Технари. =)

    Эту проблему надо решать вообще в другой плоскости.

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

     
  • 1.130, Аноним (130), 11:12, 24/03/2025 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • +/
    Есть и другие варианты отлова бекдоров:
    https://www.linux.org.ru/forum/security/17568443?cid=17568490

    Так же мне нравятся:

    1. позиция PostgreSQL с поддержкой воспроизводимых архивов.
    2. Gentoo может чистить все Makefile и запускать ВСЕ конфигурирования заново.

     
     
  • 2.151, Аноним (149), 18:04, 24/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    повод переходить на генту?
     
     
  • 3.180, Аноним (180), 17:26, 25/03/2025 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    В Gentoo пока нет воспроизводимости сборок: https://www.linux.org.ru/news/gentoo/16547411?cid=16548348
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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