LINUX.ORG.RU

Как пакетные менеджеры удостоверяются, что пакет точно подлинный?

 , , , ,


0

3

Вопрос, собственно, в сабже. Мне интересно как обеспечивается гарантия того, что пакет, который скачивается пакетным менеджером, не содержит в себе «нужных» патчей? Отдаленно я понимаю, что есть ключи и т.п., что пакеты вроде как подписываются. Что мешает заинтересованным людям взять и купить ментейнера, который внесет в пакет правки, которые нужны этим людям, конечно под предлогом обновления, исправления и т.д?

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

Не совсем понятно, при чём тут подлинность. Даже если мейнтейнера купили, пакет остаётся подлинным на все 100%.

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

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

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

которые не делают ничего чего в них не добавили сами разработчики

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

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

пакет содержит программы/библиотеки, которые не делают ничего чего в них не добавили сами разработчики

Это не так. Мейнтейнеры патчат многие пакеты для совместимости с дистрибутивом, закрытия уязвимостей.

И да, если можно подкупить мейнтейнера, почему нельзя подкупить разработчика? Чтобы пакет остался 100% «подлинным».

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

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

Ванильных дистор раз-два и обчёлся, остальные патчат те или иные пакеты.

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

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


Статья 273. Создание, использование и распространение вредоносных компьютерных программ
[Уголовный кодекс РФ] [Глава 28] [Статья 273]

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

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

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

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

3. Деяния, предусмотренные частями первой или второй настоящей статьи, если они повлекли тяжкие последствия или создали угрозу их наступления, -

наказываются лишением свободы на срок до семи лет.


И прочие аналогичные статьи в стране проживания майнтейнера.

redgremlin ★★★★★
()

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

Ничто не мешает.

tailgunner ★★★★★
()

Мне интересно как обеспечивается гарантия того, что пакет, который скачивается пакетным менеджером, не содержит в себе «нужных» патчей?

Никак. У системы подписывания пакетов нет такой задачи

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

Глупость и незнание закона не освобождает от ответственности.

Если неумелый мастер в автосервисе накосячит и это докажут - то наказание ему будет согласно статье и приченного ущерба.

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

Договор не может противоречить законодательству. Если тебе дадут подписать «Соглашаюсь отдаю свою правую руку собакам хозяина» - можешь смело подписывать, а потом не исполнять условия договора.

Deleted
()

как обеспечивается гарантия того, что пакет, который скачивается пакетным менеджером, не содержит в себе «нужных» патчей?

Только на доверии к мантейнеру пакета.
Если страшно, то придётся собирать самому.
Но, здесь доверие к мантейнеру заменяется на доверие к автору.
Мало ли что автор в программу накодил.
Так что выход только один — всё ПО писать самому. В таком ПО будут только те закладочки и недокументированные возможности, а также глюки и баги, которые никем, кроме тебя самого не будут обеспечены.

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

Никто не помешает. Но, рано, или поздно найдётся какая-нибудь редиска, которая таки посмотрит в патч и поднимет шум.

imul ★★★★★
()

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

только то, что эти правки неизбежно найдут, т.к. пользователям дистров частенько самим надо что-то там напильником точить и в кишках ковырять. А если найдут, то раструбят об этом на каждом углу(мысы будет вне себя от счастья, и распиарит такую новость так, что о ней узнает любая домохозяйка). Ну а этого маинтейнера запомнят не хуже Герострата(кстати, Герастрата убили, т.ч. он стал героем посмертно).

Не, Дениса Попова конечно можно купить, вот только я не думаю, что из этой покупки получится хоть какой-то профит. А вот тому, кто захочет купить красношапку, придётся отвечать ВНЕЗАПНО ещё и перед Российской Армией, как вы знаете, даже СШП не идёт на такую конфронтацию(во всяком случае непосредственно). Ну и да, в CIA тоже свои завязки с красношапкой, как и в FBI. И это даже не военная тайна. Палка о двух концах получается: для CIA конечно круто шпионить за КГБ, ну а если наоборот? Что этому может помешать?

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

доверяют человеку, а не GnuPG, компьютеру, или GNU/Linux'у.

В вашем случае — маинтейнеру. Если вы ему не доверяете, то вам НИЧЕГО НЕ ПОМОЖЕТ.

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

Глупость и незнание закона не освобождает от ответственности.

Зато as-is или EULA отлично спасают.

есть такое понятие в УК, «преступный умысел». Если докажут, что ты _специально_ внедрил бекдор, то уголовного преследования тебе не избежать. Вот только хорошо замаскировать «случайный» бекдор в OpenSource не-говнокоде у тебя не получится. Gcc дрессировали не один десяток лет, и он постоянно орёт на наличие потенциальных _случайных_ ошибок. Закопать ошибку можно только в чём-то запутанном и нетривиальном, а это УЖЕ подозрительно. Пример: systemd.

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

И прочие аналогичные статьи в стране проживания майнтейнера.

bumblebee.jpg

the GPL clearly explains that there is no warranty for this free software

И это не был ботнет.

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

Если неумелый мастер в автосервисе накосячит и это докажут

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

Tactile ★★
()

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

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

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

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

Нет, у тебя было про мастера, который ремонтирует автомобили

а про смертность не было ни слова. До этого сообщения

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

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

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

Никто не помешает. Но, рано, или поздно найдётся какая-нибудь редиска

Угу, баги в опенссл (2 года - версию 1.0.1 с heart beet фичей запилили в марте 2012), гнутый тлс (тоже года полтора, два (https://www.gitorious.org/gnutls/gnutls/source/100bc501a4e850eb9ba21bb5088b2a... - тут оно уже есть, а дальше я не смотрел) и ненужный яблочный аналог (пусть кому это ненужно нужно сам смотрит) и дырка в баше уже забыты, да? Дык без проблем — недобрый аноним напомнит :)

А еще — «классика» в дебьяне:
с чего все началось
http://marc.info/?l=openssl-dev&m=114651085826293&w=2 (2006-ой)
и чем кончилось
http://www.opennet.ru/opennews/art.shtml?num=16523 (2008)
https://www.schneier.com/blog/archives/2008/05/random_number_b.html

nstead of mixing in random data for the initial seed, the only «random» value that was used was the current process ID. On the Linux platform, the default maximum process ID is 32,768, resulting in a very small number of seed values being used for all PRNG operations.

Ну и - какиe из них «случайные», а какие «умышленные»? ;)

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

К примеру — Кекс-ПыхПых. Довольно известный и используемый фреймворк. А теперь смортим:
Вот тут они запилили рийндаэль (кстати, всесто собственного (резервного) метода шифрования - да, да кошерного рандома и ксора :))
https://github.com/cakephp/cakephp/commit/304d001dfbac71cc574bf921315c6582912... (May 30, 2012)
а вот тут (Feb 9, 2013)
https://github.com/cakephp/cakephp/commit/974ac44fb43a7ecba9f14d16a0c7e39530f...

- $iv = substr($key, strlen($key) - 32, 32);
до них дошло, что юзать сам ключ $key еще и в качестве вектора инициализации — как бы не совсем есть гуд.

Кому интересно, а так же для громко вопящих о том, что бэкдоры так просто не спрячешь
http://underhanded.xcott.com/
http://notanumber.net/archives/54/underhanded-c-the-leaky-redaction

Вкратце: цель — код, который выполняет задачу и оставляет лазейку. Довольно наглядно заставляет понимать, что просто «глянуть на код - и тут оно само как-то» не достаточно — нужно еще и знать мат-часть с нюансами ;)

Т.е — нужна «редиска», которая хорошо владеет предметом, в достаточной мере владеет языком/тулзами, на котором ведется разработка, знакома со всеми нюансами (т.е, как ни крути, нехилый специалист, а не школьнег с лора ;) ) да еще и готова жертвовать своим всободным временем. Недумаю, что таких много.

Да, если пытаться встроить «супер-бэкдор, работающий всегда и везде» — его рано или поздно найдут. А если делать много мелких, вроде бы случайных, работающих только в определенных условиях? Тут «редисок» однозначно на всех не хватит — ну а даже если и найдут через годик-другой, остальные останутся, да и новые за это время встроят (ПЫСЫ: продам фольгу алюминиевую, сертифицированную, 0.6 мм, не дорого!)

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

Баги висящие по 10-20-30 лет, на которые всё-таки эта редиска находится, полностью подтверждают каждое твоё слово.

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

Вообще, «свежий» баг в опенссл и (старый) в дебиане — «классика» сразу по нескольким причинам:
Вроде бы ОС, все у всех (т.н. мифическое «сообщество») на виду, опенссл широко используется, дебиан тоже как бы не дистр Васи Пупкина, да и сам патч-двустрочник обсуждали в мыл-листе.

Но — чтобы разобраться в коде ссл нужно прочитать соответсвующие рфц по тлс (т.е иметь соответствующую квалификацию и более менее понимать, как это вообще работает) да еще разобраться с велосипедами в самом ссл — за один-два вечера не удастся, т.е нужен фанатик достаточно замотивированный специалист. И получается, что в реальном мире подходящих кандидатов раз-два и обчелся — а не вся королевская рать все «сообщество», которое-де проверяет каждый патч ;)
Иначе как объяснить то, что баг нашли (хорошо оплачиваемые) редиски из гугл-секюрити в результате фуззинг-теста?

И да, много фекалий тогда на разрабов вылили (и ыкспертов всех мастей повылезало). Хотя обзывать 2,5 разрабов бибизьянами я бы не стал — как там по этому поводу Мэтью Грин высказался? «Как использовать [либу], так все тут как тут, а как проспонсировать, так вот вам — индейское национальное».

И вообще, все мы задним умом крепки — а вот почему никто из «я ж зналъ, я ж говорилъ!!» не нашел этот баг или не запилил свою, «правильную» либу — вот в чем вопрос ;)

Ну а дебиан — отличный пример того, что получается, когда кривыми руками лезут в ту область, в которой ни бе, ни ме ;). И это только верхушка айсберга — на самом деле таких вот «правок» и «мы запилим по быстрому свой, собственный лисапед шифр/хэш/протокол/валидацию» скорее всего вагон и маленькая тележка (достаточно потыкать какой нибудь мелкий/средний веб-фреймворк на предмет хэш-ддоса, атак по времени или проверки кукисов). «Почти-безбаговость» большинства мелкого, да и «мелко-среднего» софта/проекта — из-зи неуловимости Джо.

Если по сабжу — то впиливать «void backdoor()» необязательно (см. «A backdoor in UnrealIRCd» http://lwn.net/Articles/392201/), как впрочем и подкупать разрабов и мэйнтейнеров. Достаточно нанять пару десятков специалистов и пускай они тыкают более-менее используемый софт. Баги, по отдельности вроде бы экзотические, мелкие и вообще, работающие только при определенной фазе луны, в комбинации вполне могут заменить «полновесный» баг-бэкдор ;)

anonymous
()
Ответ на: комментарий от edigaryev
Крипто-библиотека, написанная макаками

У автора по ссылке POODLE ставится в упрек OpenSSL. Дальше даже читать не стал.

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

сертифицированную

без бэков? а то пропускает поди чево

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

Хотя обзывать 2,5 разрабов бибизьянами я бы не стал

Обезъяны с гранатой:

Hey companies that use OpenSSL: how many $$ have you spent recovering from Heartbleed? Why not fund OpenSSL so it doesn't happen again?

https://twitter.com/matthew_d_green/status/453501176336896000

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

A backdoor in UnrealIRCd

Я смотрю Ac1dB1tch3z веселый товарищ: http://seclists.org/fulldisclosure/2010/Sep/268

ПЫСЫ: продам фольгу алюминиевую, сертифицированную, 0.6 мм, не дорого!

https://d1kcl3yiuixneo.cloudfront.net/wp-content/uploads/sign-tinfoil-hat-sal...

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

https://twitter.com/matthew_d_green/status/453501176336896000

Не, у него ж блог есть: http://blog.cryptographyengineering.com/2014/04/attack-of-week-openssl-heartb...

Should we rail against the OpenSSL developers for this?

Don't even think about it. The OpenSSL team, which is surprisingly small, has been given the task of maintaining the world's most popular TLS library. It's a hard job with essentially no pay. It involves taking other folks' code (as in the case of Heartbeat) ... The OpenSSL developers have a pretty amazing record considering the amount of use this library gets and the quantity of legacy cruft and the number of platforms (over eighty!) they have to support. Maybe in the midst of patching their servers, some of the big companies that use OpenSSL will think of tossing them some real no-strings-attached funding so they can keep doing their job.

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

вот тому, кто захочет купить красношапку, придётся отвечать ВНЕЗАПНО

edigaryev

Я смотрю Ac1dB1tch3z веселый товарищ: http://seclists.org/fulldisclosure/2010/Sep/268

Thanks to redhat for being nice enough to backport it into early kernel versions (anything from later August 2008+)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.