LINUX.ORG.RU
ФорумTalks

верить ли компиляторам?

 , ,


2

2

В 1975 Кеном Томпсоном (создатель языка программирования C и операционной системы UNIX) была впервые поставлена проблема доверенного компилятора. Публично опубликована в 1984 году в его Тьюринговской лекции «Размышление о том, можно ли полагаться на доверие».

В лекции Кен Томпсон продемонстрировал атаку через бинарную версию компилятора С без необходимости модификации его исходных кодов. Была продемонстрирована закладка в компиляторе, которая добавляет вирусный код в программы скомпилированные этим компилятором. А также настроена и на сам компилятор.

Вирусный код невозможно отследить традиционными методами через исходный код.

А ведь компиляторы также компилируются компиляторами. Доверенному и проверенному исходному тексту компилятора нельзя верить до тих пор пока он сам не будет собран доверенным компилятором. Собирая новые версии компилятора размножается вирусный код в новых версиях компилятора. Яркий пример проявления проблемы «курицы и яйца».

Получается, даже полностью свободное железо может не спасти от закладок

Закапывай

Боже, опять эту стюардессу выкопали.

EXL ☕☕☕☕☕
()

зачем патчить компилятор, если люди написавшие линукс работают в цру

stevejobs
()

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

Siado
()

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

Пару лет назад рассуждал о таком.

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

Это не спасает от скомпрометированного железа.

ilammy
()
26 июля 2015 г.

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

Deathstalker
()

Никому нельзя доверять.

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