Эксперимент по получению контроля над пакетами в репозитории AUR

Опубликованы результаты эксперимента по захвату контроля над пакетами в репозитории AUR (Arch User Repository), применяемом для распространения сторонними разработчиками своих пакетов без включения в основные репозитории дистрибутива Arch Linux. Исследователи подготовили скрипт, проверяющий истечение регистрации доменов, фигурирующих в файлах PKGBUILD и SRCINFO. В ходе запуска данного скрипта было выявлено 14 просроченных домена, используемых в 20 пакетах для загрузки файлов.

Простой регистрации домена недостаточно для подмены пакета, так как загружаемое содержимое проверяется по уже загруженной в AUR контрольной сумме. Тем не менее, оказалось, что сопровождающие около 35% пакетов в AUR используют в файле PKGBUILD параметр «SKIP» для пропуска проверки контрольной суммы (например, указывают sha256sums=(‘SKIP’)). Из 20 пакетов с просроченными доменами параметр SKIP использовался в 4.

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

Пакеты, домены с кодом для которых оказались просрочены:

  • firefox-vacuum
  • gvim-checkpath
  • wine-pixi2
  • xcursor-theme-wii
  • lightzone-free
  • scalafmt-native
  • coolq-pro-bin
  • gmedit-bin
  • mesen-s-bin
  • polly-b-gone
  • erwiz
  • totd
  • kygekteampmmp4
  • servicewall-git
  • amuletml-bin
  • etherdump
  • nap-bin
  • iscfpc
  • iscfpc-aarch64
  • iscfpcx

Источник: opennet.ru

Добавить комментарий