URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 91786
[ Назад ]

Исходное сообщение
"Проект по обеспечению повторяемости сборки пакетов для Fedor..."

Отправлено opennews , 19-Сен-13 11:22 
В ответ на критику (http://www.opennet.me/opennews/art.shtml?num=37246) о проблематичности формирования rpm-пакетов из исходных текстов, полностью аналогичных пакетам, поставляемым в дистрибутиве, из-за большого влияния условий сборки на итоговый бинарный файл, разработчики из компании Red Hat подготовили (http://securityblog.redhat.com/2013/09/18/reproducible-build.../) инструкцию и набор скриптов (https://github.com/kholia/ReproducibleBuilds) для обеспечения повторяемых сборок. Указанная инструментарий позволяет на основе любого src.rpm-пакета с исходным кодом собрать rpm-пакет, на бинарном уровне полностью соответствующий размещённому в репозитории эталону, что может быть использовано для проверки тождественности и отсутствия закладок. Аналогичный проект по обеспечению повторяемых сборок развивается (https://wiki.debian.org/ReproducibleBuilds) разработчиками Debian.


URL: http://securityblog.redhat.com/2013/09/18/reproducible-build.../
Новость: http://www.opennet.me/opennews/art.shtml?num=37951


Содержание

Сообщения в этом обсуждении
"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Аноним , 19-Сен-13 11:22 
Вот что значит "прислушиваться к сообществу"! Молодцы!

"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено aborodin , 19-Сен-13 11:48 
hasher в Alt Linux уже сто лет как есть, а эти только зачесались.

"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено ъ , 19-Сен-13 11:59 
По ссылки ты не ходил? Как обычно? Хешер не про это. Имеется ввиду полностью бинарная повторяемость, до байта. Я думаю твой хешер этого не сделает, также как pbuilder в дебиане.

[сообщение отредактировано модератором]


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Michael Shigorin , 20-Сен-13 01:11 
> По ссылки ты не ходил? Как обычно? Хешер не про это. Имеется
> ввиду полностью бинарная повторяемость, до байта. Я думаю

Возьмите и почитайте:
http://www.altlinux.org/Hasher
http://ftp.altlinux.org/pub/people/ldv/hasher/thesis-2004.html

Обратите внимание на даты.


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено solo_oboroten , 20-Сен-13 11:25 
Если мне не изменяет мой склероз, то в какой-то из дискуссий пробегала информация что в некоторых случаях в бинарник попадает дата сборки. (Про формирование документации и сборку некоторых скриптовых библиотек молчу: там с сохранением даты в формируемых файлах сталкивался лично.) Я не помню, чтобы hasher боролся с таким поведением. (Может и борется, но оно мимо меня прошло.)

PS: Как решено это в представленных скриптах (и решено ли вообще) -- не знаю.


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Michael Shigorin , 23-Сен-13 13:18 
> Если мне не изменяет мой склероз, то в какой-то из дискуссий пробегала
> информация что в некоторых случаях в бинарник попадает дата сборки.

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

$ echo "main () { return 0; }" > tstamp.c
$ make tstamp  
cc     tstamp.c   -o tstamp
$ md5sum tstamp > tstamp-1
$ rm tstamp  
$ make tstamp            
cc     tstamp.c   -o tstamp
$ md5sum tstamp > tstamp-2
$ diff tstamp-{1,2}
$ gcc -v 2>&1 | tail -1
gcc version 4.7.2 20121109 (ALT Linux 4.7.2-alt7) (GCC)
$
PS: привет, Лёш :)

"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено solo_oboroten , 24-Сен-13 02:34 
>> Если мне не изменяет мой склероз, то в какой-то из дискуссий пробегала
>> информация что в некоторых случаях в бинарник попадает дата сборки.
> В обсуждавшемся случае это зависит от компилятора, из gcc уже довольно давно
> убрали (выполнялось руками, так что несколько секунд между вызовами make прошло):

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

> PS: привет, Лёш :)

  Привет, Миш :-)


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Andrey Mitrofanov , 24-Сен-13 09:50 
>   Значит сейчас проблемы будут только с теми пакетами, где дата
> зашивается в выходные файлы сборочными скриптами. Спасибо, буду знать.

Например, с теми, в которых лежат .cpio "упаковочки" с датами каждого файла?


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено XoRe , 19-Сен-13 18:05 
> hasher в Alt Linux уже сто лет как есть, а эти только
> зачесались.

Помнится, hasher отлично собирал php5-memcached-5.3.8.rpm из федоровского php5-memcached-5.3.11.src.rpm.
Я думаю, вы понимаете, насколько там не до бинарной совместимости с исходником :)


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Andrey Mitrofanov , 19-Сен-13 18:20 
>насколько там не до бинарной совместимости с исходником

"насколько там не до бинарного совпадения получаемых .rpm" //fixed

> :)


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено XoRe , 23-Сен-13 20:05 

> "насколько там не до бинарного совпадения получаемых .rpm" //fixed

Да, так точнее


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Michael Shigorin , 20-Сен-13 01:12 
> Помнится

Вот это склероз, даже мне завидно стало.


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено XoRe , 23-Сен-13 20:05 
>> Помнится
> Вот это склероз, даже мне завидно стало.

По теме есть что сказать?


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Michael Shigorin , 25-Сен-13 01:43 
>>> Помнится
>> Вот это склероз, даже мне завидно стало.

(даже не знаю, что надо было сделать, чтоб такое "помнилось")

> По теме есть что сказать?

Да, но надо бы тогда посмотреть на спек, который мог быть запакован в файле с названием php5-memcached-5.3.11.src.rpm, и на строчку Version: оттуда.  А затем поинтересоваться, как именно запускался hsh, потому как федорин пакет не пройдёт проверку %changelog.


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Аноним , 19-Сен-13 12:07 
"различий во времени сборки"
фаза луны тоже влияет

"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Аноним , 19-Сен-13 14:04 
> фаза луны тоже влияет

Редхатовский скрипт выставляет ее правильно.


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено onon , 19-Сен-13 12:14 
Может теперь можно будет повлиять на ментейнеров и заставить, хотябы тот же wine, собирать без ассоциаций к файлам.

"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Аноним , 19-Сен-13 13:33 
На Генту вам сударь надо. Ну либо в своем любимом дистре ручками, если только Вайн не устраивает.

"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Andrey Mitrofanov , 19-Сен-13 18:21 
> На Генту вам сударь надо. Ну либо в своем любимом дистре ручками,
> если только Вайн не устраивает.

Нет уж! Лучше они - к нам.

Когда, панимашь, будет "повторяемая бинарная сборка" в Gentoo, Арче и Фре??! Ась?


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Michael Shigorin , 20-Сен-13 01:14 
> Когда, панимашь, будет "повторяемая бинарная сборка" в Gentoo, Арче и Фре??! Ась?

Никогда, т.к. фиксация сборочной среды ещё сложней по постановке задачи.


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Аноним , 19-Сен-13 14:06 
> Может теперь можно будет повлиять на ментейнеров и заставить, хотябы тот же
> wine, собирать без ассоциаций к файлам.

Замечательно. А как вам комментарий связан с новостью?


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Михрютка , 19-Сен-13 13:01 
> с исходным кодом собрать rpm-пакет, на бинарном уровне полностью соответствующий размещённому
> в репозитории эталону, что может быть использовано для проверки тождественности и
> отсутствия закладок.

- а что это у вас шумит такое, словно вентилятор?
- а это Кен Томпсон в могиле вертится.

ЗЫ как правильно напоминают из зала, Томпсон жив, дай бог ему сто лет здоровья. mea culpa. но в общем такие фразы про отсутствие закладок все равно свою долю котеночков собирают.


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Crazy Alex , 19-Сен-13 13:07 
В какой еще могиле?

"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Михрютка , 19-Сен-13 13:20 
> В какой еще могиле?

oh shit это я с прямым углом^W^WРитчи перепутал :()


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Аноним , 19-Сен-13 14:05 
> но в общем такие фразы про отсутствие закладок все равно свою долю котеночков собирают.

А шо вам в них таки не нравится?


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Михрютка , 19-Сен-13 14:21 
>> но в общем такие фразы про отсутствие закладок все равно свою долю котеночков собирают.
> А шо вам в них таки не нравится?

котят жалко


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Andrey Mitrofanov , 19-Сен-13 18:33 
>>полностью соответствующий размещённому в репозитории эталону, что может быть использовано для проверки тождественности и отсутствия закладок.
>напоминают из зала, Томпсон жив, дай бог ему сто лет
>но в общем такие фразы про отсутствие закладок все равно
>свою долю котеночков собирают.

Да, исходная посылка, что совпадающая бинарная пересборка _как-то_ доказывает отсутствие закладок, точно собирает горы трупов котят, пони и единорогов.

+++Ken Thompson, Reflections on Trusting Trust, 1984 <---Будет, что попраздновать вместе с 30-летием GNU


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено lucentcode , 19-Сен-13 13:53 
Ободряющая новость. Может у меня паранойя, но у меня не раз были сомнения: а не запихнул ли сборщик пакета что-то нехорошее в него? И ведь подпись мейнтейнера не гарантирует безопасности пакета. Любого сопровождающего пакетов те же парни из спецслужб могут быстро склонить к сотрудничеству. А теперь у таких недоверчивых людей как я появилась новая игрушка. Fedora, как всегда, рулит!

"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено anon13 , 19-Сен-13 14:53 
А что мешает мэйнтейнеру изменить исходный код своего пакета и добавить закладку? В таком случае собирай его сколько хочешь! :)

"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Анонус , 19-Сен-13 15:04 
> А что мешает мэйнтейнеру изменить исходный код своего пакета и добавить закладку?

Новость читал? Закладка непозволит бинарному пакету сооотвествовать байт в байт пакету собронному из исходников.


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Аноним , 19-Сен-13 15:15 
Вам говорят, что закладка то может быть в исходниках.

"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Andrey Mitrofanov , 19-Сен-13 18:35 
> Вам говорят, что закладка то может быть в исходниках.

Причём другого пакета!


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено gaga , 19-Сен-13 16:31 
ничто не мешает. надо смотреть диффы с апстримом.

"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Andrey Mitrofanov , 19-Сен-13 18:36 
> ничто не мешает. надо смотреть диффы с апстримом.

После _полного_ аудита исходников з апстрима. Конечно!


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Михрютка , 19-Сен-13 20:23 
>> ничто не мешает. надо смотреть диффы с апстримом.
> После _полного_ аудита исходников з апстрима. Конечно!

и собирать собственным компилятором. желательно - написанным вручную машинным кодом.


"Проект по обеспечению повторяемости сборки пакетов для..."
Отправлено arisu , 21-Сен-13 08:58 
> и собирать собственным компилятором. желательно — написанным вручную машинным кодом.

не поможет: закладки-то ещё и в железе могут быть!


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Crazy Alex , 19-Сен-13 20:42 
Понимаете, весьма мало кем интересуются парни из спецслужб, а для более легких случаев подпись маинтайнера и его репутация - вполне достаточная защита.

"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Michael Shigorin , 20-Сен-13 01:16 
> А теперь у таких недоверчивых людей как я появилась новая игрушка.

Годков десять как появилась, милай.

> Fedora, как всегда, рулит!

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


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено www2 , 20-Сен-13 09:23 
Дык эти люди наверное воспроизвели для себя инструмент и пользуются втихаря. А тут вдруг поделиться стали просить, вот и обнародовали, видимо.

"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Аноним , 19-Сен-13 17:22 
Новость - не прикольно.
Вот если бы они налабали скрипт который из бинарников сырцы восстановили....

"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Andrey Mitrofanov , 19-Сен-13 18:38 
> Новость - не прикольно.
> Вот если бы они налабали скрипт который из бинарников сырцы восстановили....

Бинарно совпадаюшие с исходными!! :->


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Xasd , 19-Сен-13 19:00 
и так -- вторая половина 2013-года.

...сколько лет прошло уж и вот только щаз....


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Andrey Mitrofanov , 19-Сен-13 19:59 
> ...сколько лет прошло уж и вот только щаз....

На опеннете наконец-то устышат про '84 Trusting Trust? //Я угадал? Или то был просто бейт:(


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Buy , 19-Сен-13 20:13 
А зачем всё это если закладку можно внести в сам эталонный src.rpm-пакет, непосредственно в исходники ядра просто предложив очередной патч (не зря же Линус "кагбэ в шутку" кивал головой). Этим и будут заниматься серьёзные люди. А от пионеров да, может и будет дополнительная опция защиты.

"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено ip1981 , 19-Сен-13 22:03 
МЕГА-костыли. А в Дебиане всё это "из коробки"

"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Michael Shigorin , 20-Сен-13 01:19 
> МЕГА-костыли. А в Дебиане всё это "из коробки"

Там есть ещё один моментик, до которого и дебиан не дорос, помнтся, и уж тем более федора.

Опять же см. http://ftp.altlinux.org/pub/people/ldv/hasher/thesis-2004.html

PS: ldv@ живьём порасспрашивать можно будет завтра-послезавтра в Калуге: http://www.altlinux.ru/news/archive/2013/09/item/702/


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено ip1981 , 20-Сен-13 11:00 
>> МЕГА-костыли. А в Дебиане всё это "из коробки"
> Там есть ещё один моментик, до которого и дебиан не дорос, помнтся,
> и уж тем более федора.
> Опять же см. http://ftp.altlinux.org/pub/people/ldv/hasher/thesis-2004.html
> PS: ldv@ живьём порасспрашивать можно будет завтра-послезавтра в Калуге: http://www.altlinux.ru/news/archive/2013/09/item/702/

Пф... pbuilder. В Нексенте был zbuilder



"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Andrey Mitrofanov , 20-Сен-13 14:04 
>>завтра-послезавтра в Калуге:
>> altlinux.ru/news/archive/2013/09/item/702/

Кстати, спасибо! Интересно полистать. //'84 легким движением - в '74:

"""Проблема доверенного компилятора впервые была обозначена в 1974 году в закрытой публикации, а впервые публично сформулирована — десять лет спустя Кеном Томпсоном в его Тьюринговской лекции

> Пф... pbuilder.

Судя по ""hasher похож на более ранние [...] sbuild/pbuilder из Debian,[...], но в отличие от них спроектирован так, чтобы не допускать влияния собираемого пакета на хост-систему, а также взаимного влияния собирающихся пакетов."" @ altlinux.org/Hasher ...

...одно из двух^Wтрёх:

либо авторы той страницы не видят разницы между sbuild и pbuilder,

либо fakeroot+chroot в pbuilder-е не рассматривается, как достаточная защита от "влияния", или [традиционное] "не являются средствами безопасности",

либо указывается на то, что pbuilder, в частности, проектировался для чего-то другого (=постановка задачи не совпала).


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Michael Shigorin , 24-Сен-13 20:16 
> ...одно из двух^Wтрёх:

http://ftp.altlinux.org/pub/people/ldv/hasher/thesis-2004.html по буковкам C, R, U.

PS: про zbuilder в nexenta и прочие z/OG в IBM не в курсе.


"Проект по обеспечению повторяемости сборки пакетов для Fedor..."
Отправлено Andrey Mitrofanov , 03-Ноя-13 11:20 
>> ...одно из двух^Wтрёх:
> http://ftp.altlinux.org/pub/people/ldv/hasher/thesis-2004.html по буковкам C, R,
> U.

В сравнении с
http://www.netfort.gr.jp/~dancer/software/pbuilder.html.en
http://lists.debian.org/debian-devel/2001/08/msg01895.html

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

А так это _всё_ наколенные скрипты: каждый работает только в одном дистибутиве и/или в присутствии автора. Например: почему pbuilder/hasher/mock нет в пакетах "конкурирующего" дистрибутива (не Deb/не Alt/не RH-like).

Re: C/R/U -- При использовании fakeroot три пользователя и в pbuilder есть: реальный C, запускающий pbuilder; [fake]root R ставящий зависимости в chroot-е; и U c uid BUILDUSERID=1234 из pbuilderrc. //От fakeroot-а не всё работает, правда (mount).