The OpenNET Project / Index page

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

Отчет о проблемах безопасности при работе менеджеров пакетов в Linux

15.07.2008 13:13

Исследователи из университета Аризоны опубликовали отчет по проблемами безопасности, возникающих при работе менеджеров пакетов в Linux. Основной акцент сделан на том, что утилиты, такие как yum и apt с готовностью инсталлируют пакеты, проверяя только их версию. При этом известные уязвимости этих сборок в расчет не принимаются. Получается, что менеджеру пакетов можно передать абсолютно любое ПО, лишь бы его версия была выше предыдущей.

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

"Мы изучили десять популярных менеджеров пакетов, включая APT, YUM, YaST и др., для операционных систем, основанных на ядре Linux и BSD. В каждом из них были обнаружены уязвимости" - говорится в отчете. "Злоумышленник может подменить электронную подпись пакета и взять метаданные из предыдущей версии с известным дефектом, и система, не обнаружив ничего подозрительного, установит этот пакет".

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

"В качестве примера возможности, имеющейся у злоумышленника, стать одним из «зеркал» официального сервера, мы провели следующий эксперимент. Мы создали фиктивную компанию с фиктивным администратором и арендовали хостинг у публичного провайдера. Нам удалось зарегистрировать наше «зеркало» на всех серверах обновлений, дистрибутивы которых мы использовали (Ubuntu, Fedora, OpenSuSE, CentOS, and Debian), и это «зеркало» было доступно для нескольких тысяч пользователей, включая оборонные и правительственные организации".

Что необходимо делать, что бы не стать жертвой такой атаки:

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

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

  1. Главная ссылка к новости (http://www.cs.arizona.edu/peop...)
Автор новости: blkdog
Источник: lwn.net
Тип: Тема для размышления
Короткая ссылка: https://opennet.ru/16952-apt
Ключевые слова: apt, yast, yum, security, packet
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (47) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, анонимус (?), 13:22, 15/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а типа в генте всё гуд. компилятсия рулед.
     
     
  • 2.4, Аноним (-), 13:34, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Всё ровно так же - подменяется сервер обновлений, ебилд популярного приложения "правится" на исходник с пропатченным приложением, и опля - у Вас на борту чужой.
    А тем временем в ports на freebsd есть portaudit...
     
     
  • 3.13, TTT (?), 15:14, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Всё ровно так же - подменяется сервер обновлений, ебилд популярного приложения "правится"
    >на исходник с пропатченным приложением, и опля - у Вас на
    >борту чужой.
    >А тем временем в ports на freebsd есть portaudit...

    Может я и параноик, но и я об этом задумывался, на мой взгляд если гентушники откроют https зеркало для скачивания portage-latest.tar.bz2 - т.е. дерева портажей, то все проблемы безопасности будут закрыты, так как сорсы каждого пакета проверяются по как минимум MD5 а в основном еще и по SHA контрольным суммам. Так что для тех кто действительно параноик смогут качать дерево портажей не по emerge --sync а целиком и ничего не боятся.

     
     
  • 4.20, анонимус (?), 16:21, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    плюсадиню
     
     
  • 5.26, Michael Shigorin (ok), 17:37, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >плюсадиню

    Если.

    PS: гентушники более уязвимы ещё и для configure-троянов навроде сендмыльного...
    PPS: в альте издревле подписываются и пакеты, и метаданные.

     
     
  • 6.43, User294 (ok), 17:23, 16/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >PS: гентушники более уязвимы ещё и для configure-троянов навроде сендмыльного...

    Для 100% защиты все-равно надо еще сорц глазами до компиляции читать еще, а вот на это гентушники имхо не разопрутся.А потому что им там подсунули они узнают 1 фиг как и все остальные - запустив это :)

     

  • 1.2, Аноним (-), 13:24, 15/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Господа, с такой паранойей лучше вообще в сеть не выходить
     
  • 1.3, ifel (??), 13:28, 15/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну насчет левых репозиториев и подмен - GPG сигнатуры никто не отменял, RPM например умеет.
     
     
  • 2.5, Аноним (-), 13:36, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну насчет левых репозиториев и подмен - GPG сигнатуры никто не отменял,
    >RPM например умеет.

    Подмена сервера обновлений. Сделал апдейт базы менеджера пакетов "не с того сервера" и псё...


     
     
  • 3.8, ifel (??), 13:53, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >>Ну насчет левых репозиториев и подмен - GPG сигнатуры никто не отменял,
    >>RPM например умеет.
    >
    >Подмена сервера обновлений. Сделал апдейт базы менеджера пакетов "не с того сервера"
    >и псё...

    Не, если стоит проверка signatures, то пакет нах пошлет. Если все полностью менять, но надо из keyring удалить старый сертификат и добавить новый. RPM manager явно требует этого сделать (т.е при autoupdate это не прокатит). Ну а если админ лопоухий ведется на такой развод и меняет сертификат без проверки правильный ли это репозиторий - это уже IMHO не лечится.

    Вообще, тему стоит разделить на 2:
    1. Установка/Upgrade приложений с известными дырами
    2. Установка подделаных пакетов.

    По 1-му - в BSD есть portaudit, и он не даст поставить пакет, если в нем есть известные дырки. Но при этом - наглядный пример Asterisk, не знаю как сейчас, но несколько лет назад решето было еще то, его даже в BSD портах метили как постоянно vulnerable :) Но, как по мне так лучше поставить свежую версию с 5 известными дырами, чем держать старую (update из-за того что app vulnerable не проходит) с 25-ю. Логика ясна? Тут многое зависит от port/package maintainer, насколько он оперативно делает пакеты.

    По 2-му - IMHO существующего signature check достаточно

     

  • 1.6, Аноним (6), 13:45, 15/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    короче, коммерческие линуксы рулят
    у них там всё по https и всё с паролями и т.п. ...
     
  • 1.7, mend0za (?), 13:47, 15/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не скажу за перечисленные RPM-based дистрибутивы, но насколько я понял товарищи не вникали в apt-based совсем.

    man 8 apt-secure

    В копиях официальных зеркал Debian содержится файлик Release с MD5 всех файлов Packages, подписанный официальным ключём дебиановского архива.

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

    Кто добавлял некошерные репозитории (неподписанные или подписанные ключом не входящим в debian-archive-keyring) - вполне вспомнят ругань насчёт неподписанных репозиториев, про "untrasted source" и "you are really want to continue"

    Некое академическое бла-бла-бла, а не исследование. Вот если бы результатом этого исследования были конкретные рекомендации конкретным дистрибутивам, а ещё лучше - патчи на yum, yast, apt - то тогда можно было бы прислушаться.

    А так - нету ни ВЕРСИЙ протестированного ПО (как дистрибутивов, так и пакетных менеджеров), ни use cases.  

    Пропустить как информационный шум.

     
     
  • 2.9, ifel (??), 13:56, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Согласен по всем пунктам. По "бла-бла-бла, а не исследование" вдвойне!

    По RPM based, я написал выше. Те же яйца тока в профиль.

     
  • 2.10, Аноним (-), 13:56, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Диагностика - половина лечения. Народ осознал наличие проблемы и говорит, что надо решать. Так же предлагают некоторые меры. Тем, кто занимается разработкой систем управления пакетами будет не очень дальновидно - пропустить как информационный шум". А пользовательское дело - мычачее: ешь, что дают.

     
  • 2.12, Pilat (ok), 14:08, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >В копиях официальных зеркал Debian содержится файлик Release с MD5 всех файлов
    >Packages, подписанный официальным ключём дебиановского архива.

    MD5 подделать можно.

     
     
  • 3.14, pavel_simple (??), 15:34, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >>В копиях официальных зеркал Debian содержится файлик Release с MD5 всех файлов
    >>Packages, подписанный официальным ключём дебиановского архива.
    >
    >MD5 подделать можно.

    подробнее пожалуйста -- и скажите сразу сколько нужно времени чтобы подделать лишь 1 пакет

     
     
  • 4.16, Aquarius (?), 15:46, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    гугл поможет тебе осознать, что md5 можно подделать в короткие сроки
     
  • 4.18, Pilat (ok), 15:58, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >>MD5 подделать можно.
    >
    >подробнее пожалуйста -- и скажите сразу сколько нужно времени чтобы подделать лишь
    >1 пакет

    несколько миллисекунд. Подробности  Вы найдёте в гугле без труда.

     
     
  • 5.19, pavel_simple (??), 16:01, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    вы оба я смотрю особенно хорошо изучили google? -- тогда может скажите КАК это делать если он ПОДПИСАН
     
  • 3.33, Александр (??), 00:18, 16/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > MD5 подделать можно.

    В Debian в файлах Release и Packages используется так же хеши, вычисленные по алгоритмам SHA1 и SHA256 :-)

     

  • 1.11, Аноним (6), 14:05, 15/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Решение простое - ставить из портов, обновленных portsnap.
    При этом абсолютно все равно, откуда вы скачали исходники или базу - все проверяется ключами и сигнатурами.
    Я из котовый пакаджей ничего и никогда не ставлю. Мне не лень перекомпилировать.
     
     
  • 2.46, Shane (ok), 14:36, 20/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Решение простое - ставить из портов, обновленных portsnap.
    >При этом абсолютно все равно, откуда вы скачали исходники или базу -
    >все проверяется ключами и сигнатурами.
    >Я из котовый пакаджей ничего и никогда не ставлю. Мне не лень
    >перекомпилировать.

    А как насчет обновления world через cvsup? там ничего не проверяется..

     

  • 1.15, Xavier (?), 15:41, 15/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Похоже, на сей раз ФриБСД сделала Линуксы. Ну хоть по защищенности :)
     
     
  • 2.17, Aquarius (?), 15:52, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    не на сей, а во веки веков 8)
     
     
  • 3.23, Анонимус (?), 16:34, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > во веки веков

    Пусть почит с миром.

     
  • 2.22, Анонимус (?), 16:34, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > Похоже, на сей раз ФриБСД сделала Линуксы. Ну хоть по защищенности :)

    ИМХО лучше скачивать потенциально дырявые обновления, чем не скачивать никаких.

     
  • 2.24, Осторожный (?), 16:41, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Похоже, на сей раз ФриБСД сделала Линуксы. Ну хоть по защищенности :)
    >

    Защита репозитария - это конечно хорошо, но есть и другой аспект.

    В FreeBSD есть portaudit.
    Он позволяет проверить наличие уязвимостей в уже установленных пакетах,
    и не просто проверить, а получить URL с более подробным описанием проблемы.
    Аналогичной утилиты в Linux я не знаю.
    Там можно просто обновить пакеты.
    Цель обновления пакета может быть разная:
    0) вышло security обновление
    1) просто вышла новая версия
    2) были исправлены какие-то ошибки

    По идее пункт 0 должен волновать админа больше всего в плане защиты

     
     
  • 3.25, Анонимус (?), 17:31, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Глупенький, о информативности пакетов никто не говорит. Говорят о их подмене.
     
     
  • 4.35, fi (ok), 00:38, 16/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Авторы прогнали, все rpm подписаны и тот же yum вылетает на чужих пакетах, пока ключ не импортируешь с сайта автора. Естественно, ключи к основной системе идут вместе с ней. И на сколько я знаю с deb-ами тоже самое.

    Защита от подмены была изначальнa, как только речь зашла о репозитариях и их зеркалировании.

    А вот с freebsd действительно есть проблема, tgz не подписываются, подменить порты (и это случалось!!!, я помню про 4.х) не проблема, md5 также можно перегенерировать в порте - я так и делал  иной раз для замены orig.
    192.168.222.11
      
    PS опечалил меня OpenNews - такую туфту пропустил.

     
     
  • 5.47, nuclight (ok), 21:59, 27/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >А вот с freebsd действительно есть проблема, tgz не подписываются, подменить порты
    >(и это случалось!!!, я помню про 4.х) не проблема, md5 также
    >можно перегенерировать в порте - я так и делал  иной
    >раз для замены orig.

    Подменить самому, будучи рутом, и когда подменит кто-то другой - две большие разницы. Для параноиков на то и компиляция, а подменить порты при обновлении не даст, например, portsnap - его автор Security Officer FreeBSD и к вопросу зеркал подошел соответственно.

     
  • 3.37, Александр (??), 00:56, 16/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > Цель обновления пакета может быть разная:

    Вообще-то если обновление вышло, значит следует его ставить. А в такой ситуации просто не возникает необходимости в упомянутой программе (достаточно того, что сообщает система управления пакетами, какие пакеты нужно обновить). Но видимо админы FreeBSD не ищут лёгких путей? Или просто не могут себе позволить ставить все обновления - вдруг что-то перестанет работать и т.п.?

     
  • 3.40, just_another_anonymous (?), 09:08, 16/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > Он позволяет проверить наличие уязвимостей в уже установленных пакетах,
    > и не просто проверить, а получить URL с более подробным описанием проблемы.
    > Аналогичной утилиты в Linux я не знаю.

    glsa-check (для gentoo)

     
  • 2.27, Michael Shigorin (ok), 17:45, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Похоже, на сей раз ФриБСД сделала Линуксы. Ну хоть по защищенности :)

    См. выше критику статьи и аналогичных криков гентушников (однако, тоже линукс).

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

     
  • 2.34, Александр (??), 00:34, 16/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Похоже, на сей раз ФриБСД сделала Линуксы. Ну хоть по защищенности :)

    В смысле?

     

  • 1.21, Анонимус (?), 16:33, 15/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    По большому счёту надуманная проблема, хотя потенциально опасна в IPv4, если кто-то научится ломать DNS, но только пока не выпустят пацч.
     
     
  • 2.28, Michael Shigorin (ok), 17:47, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >По большому счёту надуманная проблема, хотя потенциально опасна в IPv4, если кто-то
    >научится ломать DNS, но только пока не выпустят пацч.

    Вы невнимательно прочли даже то по существу, что было в статье.

    Там было про злонамеренное публичное "зеркало" -- при этом без разницы v4/v6.  И DNS спуфить необязательно.

     
     
  • 3.36, fi (ok), 00:43, 16/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > Там было про злонамеренное публичное "зеркало" -- при этом без разницы v4/v6.  И DNS спуфить необязательно.

    Авторы статьи облажались - эта проблема была решена еще когда стали делать первые зеркала - более 10 лет назад. И если сейчас на любом зеркале подменишь rpm - то yum просто вылетит, т.к. подпись не совпадет с его ключом.  

     
     
  • 4.38, Александр (??), 01:17, 16/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > Авторы статьи облажались - эта проблема была решена еще когда стали делать первые зеркала - более 10 лет назад.

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

     
     
  • 5.41, fi (ok), 10:11, 16/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    И этот случай предусмотрен. Например, в yum указывается не репозитарий, а список их:
        mirrorlist=http://packman.links2linux.de/mirrorlists/suse
    он естественно ротируется. Так что вероятность подсунуть старые пакеты с ошибкой сходит к нулю.

    В общем авторы явно опоздали лет на десять, и сейчас это просто гон. В лучших традициях МС - главное посеять неуверенность.

     

  • 1.29, Аноним (6), 18:14, 15/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    такой бред )) ключи сравниваются. в RPM не поставишь пока сам не нажмёшь то есть потвердиш ключ.
     
  • 1.30, Анонимус (?), 21:30, 15/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В общем понял - Линукс такойже дырявый как и Винда, тка что нечего время тратить на изучение. Там одно - тут другое...
     
     
  • 2.31, anonymous (??), 23:12, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Так и не трать. И на новости про Linux тоже.
     
  • 2.32, szh (ok), 23:32, 15/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    по-моему ты вообще ничего не понял
     
     
  • 3.39, Аноним (39), 03:10, 16/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Помоему вообще мало кто что понял)))))
     

  • 1.42, Sarge (??), 12:16, 16/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Насколько я понял из статьи, суть уязвимости в том что можно в репозиторий положить например версию пакета 0.1 с кучей уязвимостей (пакет взять из старого официального репозитария, т.е. он будет правильно подписан). Но файлы метаданных заменить на файлы из свежего пакета. В результате менеджер пакетов будет думать, что это новая версия и она правильно подписана.

    Это будет работать в случае, если данные и метаданные подписаны отдельно (или метаданные вообще не подписаны). Кто-нибудь может подтвердить или опровергнуть эту уязвимость? И какие системы пакетов на сегодня уязвимы для этого?

     
     
  • 2.44, fi (ok), 00:09, 17/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >И какие системы пакетов на сегодня уязвимы для этого?

    SUSE открестились от этого: http://lists.opensuse.org/opensuse-security-announce/2008-07/msg00005.html

    И как я вижу в centos/rhel так же все ок.

     
     
  • 3.45, poni (?), 03:18, 19/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >>И какие системы пакетов на сегодня уязвимы для этого?
    >
    >SUSE открестились от этого: http://lists.opensuse.org/opensuse-security-announce/2008-07/msg00005.html
    >
    >И как я вижу в centos/rhel так же все ок.

    http://www.hughesjr.com/content/view/22/1/

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



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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