LINUX.ORG.RU

Воспроизводимые билды

 


0

1

Почему все так восхваляют «воспроизводимость сборки»?

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

Компиляция исходных текстов злонамеренным компилятором создаёт бинарную программу со злонамеренным дополнением. Если это были исходники не просто программы, а самого компилятора, то получится копия злонамеренного компилятора.

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

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

Ну и что толку от того, что билды воспроизводимые, ведь для проверки нужно иметь возможность собрать исходники ДРУГИМ компилятором, а такой возможности может не быть!

https://reproducible-builds.org

What made the recent Volkswagen emissions scandal possible is software that has been designed to lie about its sensors in a lab environment. Having the source code under public scrutiny would have made adding such a misfeature only a little more difficult. Without reproducible builds, it is hard to confirm that the binary code installed in the car was actually made using the source code that has been verified.

anonymous ()

Злонамеренный компилятор — это атака скорее теоретическая, чем практическая. Воспроизводимые билды защищают от гораздо более простой атаки: распространения бинарников открытых программ, когда бинарник собран на самом деле не из того исходного кода, который к нему прилагается.

Например, установил ты пакет из репозитория Убунты. Можешь ли ты быть уверен, что он собран из того исходника, который скачивает apt-get source? Или, может, там закладка есть?

proud_anon ★★★★★ ()

Прежде чем выкладывать на продакшен, нужно всё оттестить. Если продакшен слетит, то нужно восстановить его в точности до той версии, что там была раньше.

У ящеров без воспроизводимых сборок обычно так: они собирают софт, запускают на проде, а он не запускается. Потому что например, какой-то файлик имеет немного другое название, отчего ломается говнокод, который уносит за собой всю систему. И это сразу на месяц попыток понять, почему так случилось, и как это исправить.

stevejobs ★★★☆☆ ()

А ничо что кроме теоретического бреда про злонамеренные компиляторы есть ещё куча практически выполнимых проблем типа компрометации инфраструктуры сборки?

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

компрометации инфраструктуры сборки

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

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

Злонамеренный компилятор — это атака скорее теоретическая, чем практическая.

Кому как. А вот мне дали бинарный компилятор с исходниками и я его боюсь, а проверить не могу.

Einstok_Fair ★★ ()