LINUX.ORG.RU

Code signing


0

0

У меня есть задача реализовать защиту некоторых компонентов приложения от подмены. Понятно, что в полном объёме эту задачу решить трудно или невозможно, но реализовать хотя бы простейшую защиту нужно.

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

Я поискал аналоги под линукс и не нашёл. Правильно ли я понимаю, что нет стандартных (или хотя бы существующих) средств, которые реализуют аналогичную функциональность?

Может быть кто-то посоветует ещё варианты кроме подписывания кода?

И ещё за компанию вопрос. Под виндой можно встраивать в бинарник почти любые данные в виде ресурсов. Правильно я понимаю, что ELF файлы не имеют такой возможности?

anonymous

> Под виндой можно встраивать в бинарник почти любые данные в виде ресурсов. Правильно я понимаю, что ELF файлы не имеют такой возможности?

Особого вида ресурсов, как в винде, по-моему, нет. Однако, например в Qt4 ресурсы таки можно встраивать при помощи специалного компилятора ресурсов (rcc, он преобразует все файлы в обычные хедеры) и обращаться к ним как к ":/my_file". Думаю, что есть и отдельные, не входящие в состав Qt, инструменты для этого.

Deleted
()

> Правильно я понимаю, что ELF файлы не имеют такой возможности?

Не совсем. Ты можешь создать свою секцию в ELF-файле, и поместить туда подпись, но инструментов для этого нет (кроме libelf).

tailgunner ★★★★★
()

> Под виндой можно встраивать в бинарник почти любые данные в виде ресурсов. Правильно я понимаю, что ELF файлы не имеют такой возможности?

Имеют. Но судя по всему не все версии иксов это поддерживают, например в rhel - поддерживают, так как ресурсы там, емнип, интегрированы именно в бинарник.

Bohtvaroh ★★★★
()

плохо искали:

ftp://ftp.buici.com/pub/bsign/

Corruption & intrusion detection using embedded hashes

This package embeds secure hashes (SHA1) and digital signatures (GNU Privacy Guard) into files for verification and authentication. Currently, target file types are all ELF format: executables, kernel modules, shared and static link libraries. This program has functionality similar to tripwire and integrit without the need to maintain a database.

birdie ★★★★★
()

Спасибо всем за толковые советы. Буду разбираться, как это всё прикрутить к моему коду =)

anonymous
()

>Под виндой можно встраивать в бинарник почти любые данные в виде ресурсов. Правильно я понимаю, что ELF файлы не имеют такой возможности?

Ну картинки в формате XPM точно встраиваются обычным #include

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

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

anonymous
()

>Правильно я понимаю, что ELF файлы не имеют такой возможности?

нет. ELF-в первом приближении можно рассматривать как архив. Типа ar или tar. Только обращатся с его содержимым немного нетривиально если сам в себя смотриш.

а если в чужой файл то всё Ок.

свой/чужой имеется ввиду с точки зрения приложения

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