Время компиляции вредоносных программ возможно?


Возможно ли, скажем, для программ с открытым исходным кодом установить вредоносное ПО во время компиляции? Я имею в виду макросы C или связанные с makefile вещи, которые будут выполнять злой код во время компиляции. Или я в безопасности до тех пор, пока не начну запускать скомпилированную программу?

2 4

2 ответа:

Считайте, что makefile-это, по сути, просто список команд для запуска. Возьмем, к примеру, идею о том, что вы можете распространять исходный код вредоносного ПО в проекте makefile. Затем, когда вы создаете проект, файл makefile идет и компилирует вредоносное ПО... а затем, в конце, запускает вновь скомпилированную вредоносную программу - скажем, притворяется, что запускает модульный тест на то, что вы считаете не вредоносной программой.

Это, конечно, возможно.

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

Эта концепция вредоносных компиляторов была широко представлена в статье под названием "Размышления о доверии доверию" [1]. Недавно, вредоносное ПО было обнаружено в приложениях iOS, которые были внедрены с помощью этой техники, атакуя компиляторы разработчиков (Xcode) [2].

Итог: Если вы не написали или не проверили каждую строку кода из проекта, который вы создаете, инструменты, которые вы используете для его создания, и ОС/прошивки, на которых вы его создаете, вы не можете полностью доверять ему.

[1] https://www.ece.cmu.edu/~двойник/712.fall02/документы/p761-Томпсон.формат PDF

[2] http://researchcenter.paloaltonetworks.com/2015/09/novel-malware-xcodeghost-modifies-xcode-infects-apple-ios-apps-and-hits-app-store/