LINUX.ORG.RU

В Арче новый поток вредоносных пакетов в AUR

 , ,


1

0

Недавно организацией Independent Federated Intelligence Network при проверки пакетов в AUR был найден вредоносный код, благодаря которому можно грабить корованы получать удалённый доступ к машинам, иметь доступ через SSH, к крипокошелькам, получать пароли, ключи доступа и прочему. Предположительно могут быть «заражены» около 200 пакетов.

Разработчики самого Арча временно ограничили приём изменений в AUR до решения проблемы.

Более детально можно почитать здесь.

Дополнительные пояснения:

AUR (Arch User Repository) это не основной репозиторий (от команды разработчиков дистрибутива Arch с надлежащей проверкой), а место, где любые пользователи могут публиковать свои скрипты для сборки пакетов с минимальный порогом входа. Сами разработчики Арч советуют проверят содержание скриптов сборок и устанавливать их «на свой риск».

«Запрет изменений» является запретом на переход пакета от одного разработчика к другому: в ряде случаев злоумышленники начинали сопровождение устаревших пакетов и вносили в них вредоносные правки.



Последнее исправление: Ogden (всего исправлений: 1)
Ответ на: комментарий от Grapow

Стоп, еще раз. Ты видимо не понял. Я пишу «нельзя» - это не в смысле «не стоит так делать, не надо». Это в смысле - технически невозможно. Из AUR технически невозможно сразу что-то ставить. Технически, можно только собирать пакет, потом уже его ставить. Из чего собирать, это другой вопрос. Может из deb, или rpm, тогда будет -bin написано. Это совершенно не означает что в AUR какие-то бинарные пакеты есть, их там нет и быть не может. Не надо вводить людей в заблуждение, и очень опасное.

James_Holden ★★★★★
()
Ответ на: комментарий от James_Holden

Мы с тобой оказались на разных уровнях абстракции. Да, всё верно, пакет собирается, но в случае бинарника не из исходника, а переупаковывается. Но это под капотом. Пользователи вспомогалок могут каким-нибудь pikaur поставить бинарный пакет. Да, он не лежит прямо в AUR. Так же как и исходники не лежат в AUR.

Речь о том, то из AUR можно собрать пакет не только напрямую из исходников и патчей, а также можно притащить и бинарник. В большинстве случаев так делать не надо.

Grapow ★★★
()
Последнее исправление: Grapow (всего исправлений: 2)
Ответ на: комментарий от James_Holden

Тогда, ты должен страдать и терять данные.

Что мешает просто найти нужный пакет и прочитать его PKGBUILD? Страдать, это искать, когда не знаешь точного названия.

dmitry237 ★★★★★
()
Ответ на: комментарий от James_Holden

Альтернатив AUR все равно по сути нет, ни в каких дистрибутивах, а то что условно есть, еще опаснее, либо так же опасно.

Иными словами AUR в ARCH linux лучше не использовать.

anonymous
()
Ответ на: комментарий от James_Holden

Никакие бины СТАВИТЬ из AUR нельзя. Можно только собирать пакеты Arch. Иногда - из других бинарных пакетов. И только после этого, собранный пакет, из чего бы он ни собирался - надо отдельной операцией ставить через pacman.

А вот по сути почему тот же github (или docker-hub) более безопасны чем AUR?

anonymous
()
Ответ на: комментарий от anonymous

А вот по сути почему тот же github (или docker-hub) более безопасны чем AUR?

Там нету, насколько я понимаю, механизма «взять брошенный реп».

James_Holden ★★★★★
()
Последнее исправление: James_Holden (всего исправлений: 1)
Ответ на: комментарий от anonymous

Иными словами AUR в ARCH linux лучше не использовать.

Да, лучше не использовать, но при должной осторожности можно.

James_Holden ★★★★★
()
Ответ на: комментарий от Grapow

Речь о том, то из AUR можно собрать пакет не только напрямую из исходников и патчей, а также можно притащить и бинарник. В большинстве случаев так делать не надо.

Я лично бы не считал, что из исходников ставить безопасно, а из deb от «производителя» опасно. Безопасного тут вообще нет, все требует проверки.

James_Holden ★★★★★
()
Ответ на: комментарий от CrX

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

Нет. Проблема состоит в отсутствии нормальной модели доверия. В RHEL за содержимое пакетов отвечает Red Hat, пакеты подписаны. В Debian - мейнтейнер пакета, но, строго говоря - release team, которые подписывают файл Release.

в AUR не отвечает никто.

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

anonymous
()
Ответ на: комментарий от anonymous

Это и есть нормальная модель доверия. В репах пакеты от мейнтейнеров, в AUR — PKGBUILD’ы от непонятно кого, и доверять им не надо. Почему в головах некоторых хомячков мысль, что AUR это именно удобная «книга рецептов», в которой может быть что угодно, и текст которой надо проверять, прежде чем воплощать в жизнь, просто это чуть удобнее, чем каждый раз писать самому, укладывается с каким-то большим скрипом. Понять, почему именно, мне сложно. Видимо, все хотят какого-то волшебства, ради чего выдумывают себе невесть что.

CrX ★★★★★
()
Ответ на: комментарий от CrX

Почему в головах некоторых хомячков мысль, что AUR это именно удобная «книга рецептов», в которой может быть что угодно, и текст которой надо проверять, прежде чем воплощать в жизнь

Понять, почему именно, мне сложно.

Ты точно нигде не ошибся с выражением мыслей? Потому, что AUR это и есть книга рецептов, в которой может быть что угодно и текст которой нужно проверять ).

anonymous
()
Ответ на: комментарий от anonymous

в AUR не отвечает никто.

В AUR тоже есть сопровождающие. Небольшое отличие от авторов github-a. Или тех, кто выкладывеет ppa.

Проблема в AUR возникла в первую очередь потому, что можно достаточно легко подхватить осиротевший (заброшенный) пакет. В github-е когда-то была проблема с форками.

Один из примеров:

https://www.itsec.ru/news/zloumishlenniki-prevratili-github-dekstop-v-istochnik-zarazheniya-polzovateley

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 2)
Ответ на: комментарий от anonymous

Ты точно нигде не ошибся с выражением мыслей?

Нет, я не ошибся, но соглашусь, что предложение и правда длинное и не особо удобное для восприятия вышло. А цитата выше неполна. Суть там вот такая:

Почему в головах некоторых хомячков мысль, что […] укладывается с каким-то большим скрипом

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

CrX ★★★★★
()
Ответ на: комментарий от CrX

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

anonymous
()
Ответ на: комментарий от greenman

Тогда странная проблема с осиротевшими пакетами, она может возникнуть только при условии что авторам АРЧа плевать на АУР.

anonymous
()
Ответ на: комментарий от anonymous

Столкнулись с проблемой и решают:

«Запрет изменений» является запретом на переход пакета от одного разработчика к другому

Так-то проверять, это большой объем, кол-во всякого разного в AUR:

$ paru -Sla | wc -l
117199

Надо как-то взаимодействовать с авторами, поэтому пока организационные действия.

dmitry237 ★★★★★
()
Ответ на: комментарий от anonymous

Что мешает злоумышленнику новый пакет запузырить в АУР?

У новых пакетов популярность нуль. А бывают заброшенные относительно популярные пакеты.

greenman ★★★★★
()
Ответ на: комментарий от greenman

Ну это 5 баллов, наличие левых пакетов характеризуется популярностью этих пакетов. Бред какой то.

anonymous
()
Ответ на: комментарий от anonymous

В RHEL за содержимое пакетов отвечает Red Hat, пакеты подписаны. В Debian - мейнтейнер пакета, но, строго говоря - release team, которые подписывают файл Release.

Ну и кто это? Такие же анонимусы, которые хер знает что могут засунуть в пакет. Ты уверен, что бинарный пакет всегда собран из опубликованных сорцов и там нет левых патчей? Как бы самосбор через аур не оказался безопаснее. Просто нужно смотреть что там скрипт собирается сделать, вот и всё. Это куда проще, чем проводить аудит сотни дебиановских патчей, например.

bread
()
Ответ на: комментарий от bread

Ну во первых в Дебиан каждый пакет тоже подписан и Release файла может и не быть.

И во вторых подписанный пакет это то вам не непонятно что, а гарантия дистрибутива. (вы что хотите сказать обычный пакеты в ARCH (не АУР) не подписаны что ли?)

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

anonymous
()
Ответ на: комментарий от greenman

В AUR тоже есть сопровождающие. Небольшое отличие от авторов github-a. Или тех, кто выкладывеет ppa.

Я нигде не упоминал github. Я упомянул Red Hat и Debian. В Red Hat гарантии больше.

anonymous
()
Ответ на: комментарий от anonymous

Пакеты в основных репозиториях Арча ([core] и [extra]) подписываются.

AUR — это любительские поделки (плюс софт с лицензионными проблемами, может что-то ещё). Собранные в одном месте.

Не зря в основных репах Arch Linux нет инструментов для автоматической установки из AUR.

Это только в Manjaro основной пакетный менеждер может ставить и из арчевского AUR, если не ошибаюсь.

Можно, конечно, взять идеи из GURU Gentoo. Тогда будет защита от таких «взломов». Но пакетов, думаю, будет гораздо меньше. И скорость обновления для непопулярных пакетов упадёт.

Может быть имеет смысл сделать два AUR:

  • trusted
  • untrusted
greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 4)
Ответ на: комментарий от greenman

Я так понимаю, что chaotic-aur, это своего рода «trusted». пакеты там уже собраны и управляются, как в основных репах. Правда пакетов значительно меньше (3186), чем в AUR (117199):

dmitry237 ★★★★★
()
Ответ на: комментарий от dmitry237

Если верить какому-то чуваку с реддита, — те же яйца, вид сбоку. Шесть лет назад видна была проблема (любой пользователь может получить заброшенный пакет, загрузить туда что угодно).

https://www.reddit.com/r/archlinux/comments/i9mope/comment/g1hl9nm/?tl=ru

Я тут мейнтейнер chaotic-aur.

Безопасно ли это использовать?

Неа. Мы собираем в контейнерах, используем https для подключения к aur и вручную одобряем ключи gpg для источников, но все это идет прахом, пока мы открыто доверяем AUR. Потому что любой пользователь может получить заброшенный пакет, загрузить туда что угодно, и это будет подписано и перераспределено как наше.

Однако, вы можете быть уверены, что пакет X собран из того же PKGBUILD, что и в AUR. Так что перед установкой/обновлением чего-либо из репозитория вы всегда можете проверить, безопасен ли PKGBUILD. Как вы и должны делать при установке из AUR helpers.

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 2)
Ответ на: комментарий от greenman

Если верить какому-то чуваку с реддита

Никому верить нельзя. На мой взгляд chaotic-aur надежнее, если репа подключается к основным. Я бы из этого примера выбрал chaotic:

$  paru -Ssx '^paru(-(git|bin))?$'                                          
chaotic-aur/paru 2.1.0-2.1 [3.36 MiB 8.27 MiB]
    Feature packed AUR helper
chaotic-aur/paru-git 2.1.0.r67.g9ac3578-1.1 [3.29 MiB 8.17 MiB] [installed]
    Feature packed AUR helper
aur/paru 2.1.0-2 [+1242 ~30.84]
    Feature packed AUR helper
aur/paru-bin 2.1.0-1 [+326 ~0.94] [out-of-date: 2025-12-14]
    Feature packed AUR helper
aur/paru-git 2.1.0.r41.g789bead-1 [+69 ~3.09] [installed: 2.1.0.r67.g9ac3578-1.1]
    Feature packed AUR helper
dmitry237 ★★★★★
()
Ответ на: комментарий от greenman

Не так много у меня пакетов из AUR

У меня их не осталось. Удалил те, которые туда перевели из основных реп (т.е. я их даже из AUR не устанавливал)

dmitry237 ★★★★★
()
Ответ на: комментарий от greenman

Проще просматривать PKGBUILD и *.install файлы.

Конечно, проще. И чем тогда это особо отличается от того же гитхаб где в исходниках валяется каталог deb?

anonymous
()
Ответ на: комментарий от anonymous

И чем тогда это особо отличается от того же гитхаб где в исходниках валяется каталог deb?

Не везде, ну а сборка из AUR подтягивает недостоющие зависимости, включая сборочные. Что на самом деле удобно. С гитхаба предпочитаю брать уже готовое, статически-собранное, закинул в условный «/opt» и симлинкнул в $PATH, потом только меняй бинарники на свежие. Минус, нужно самому проверять обновы, но тут либо скриптом либо тупо отслеживать через браузер (заодно и issue почитать).

dmitry237 ★★★★★
()
Ответ на: комментарий от dmitry237

Не везде, ну а сборка из AUR подтягивает недостоющие зависимости, включая сборочные.

Ну вообще то в каталоге deb валяеются файлы, в том числе и control в котором есть строки типа: Build-Depends: debhelper (>=10), pkgconf, cmake, systemd-dev, …

Дальше продолжать? Или вопрос повторить?

anonymous
()
Ответ на: комментарий от dmitry237

Где-то наверное он есть, а где-то нет. Вы про гитхаб?

да есть такое, но наверное в АУР тоже не все пакеты с того же гитхаба имеются.

Кстати в АУР исходники откуда тянуться?

anonymous
()
Ответ на: комментарий от dmitry237

Так стоп, что то я не понял, а как называется каталог где лежат исходники ОФИЦИАЛЬНЫХ (не АУР) пакетов у АРЧа?

anonymous
()
Ответ на: комментарий от dmitry237

То что прописано в source в PKGBUILD Например из гитхаб автора пакета.

Ну с учетом что АУР это свалка, это допустимо, но мне бы все таки хотелось узнать про официальные, не из АУР, пакеты.

anonymous
()
Ответ на: комментарий от anonymous

узнать про официальные, не из АУР, пакеты.

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

dmitry237 ★★★★★
()
Ответ на: комментарий от dmitry237

Наверное, как и везде. Я сомневаюсь, что все дерево исходных кодов хранится на серверах репозиториев.

Я лично найти не могу :(

Дело в том что дистрибутив по правилам должен все свои исходники предоставлять в своих репах. Как у Федоры, Дебиана и Генты. Чтобы можно было ВСЕ спокойно всегда пересобрать.

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

anonymous
()
Ответ на: комментарий от dmitry237

https://github.com/

Не смешно.

Я вот про что:

https://mirror.yandex.ru/gentoo-distfiles/distfiles/b3/wlroots-0.18.0.tar.gz
https://mirror.yandex.ru/debian/pool/main/f/firefox/firefox_153.0.3.orig.tar.xz
https://mirror.yandex.ru/fedora/linux/updates/testing/44/Everything/source/tree/Packages/f/firefox-150.0-1.fc44.src.rpm

Это репы каждого дистра !

anonymous
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария