Задать вопрос
@tihunip

Можно-ли проверить соответствует-ли бинарик исходному коду?

Привет!
Подскажите пожалуйста, вот есть, к примеру, бинарик клиента телеграмм из аппстора и есть его исходники на гитхабе. Возможно-ли проверить что этот бинарик был скомпилирован именно из этих исходников?
То есть могу-ли я доверять ему? Нельзя на гитхаб выложить одно, а скомпилировать совсем другое.
Как это проверяется?
Спасибо.

UPD
Почитал комменты - получается открытые исходники совсем не гарантия отсутствия закладок. Печально - я проспорил бутылку коньяка :-)
А кто-то вообще занимается таким сопоставлением для популярных приложений хотя бы?
Дело то нужное, как мне кажется.
Я помню конкурс от телеграмм с призовыми в 200тыс. долларов тем, кто расшифрует переписку Дурова. С того момента у меня да и у нескольких знакомых, с которыми обсуждали тему, отложилась мысль - "были бы в программе закладки и дыры, то их бы нашли, ведь 200 тысяч хорошие деньги".
Получается что это не так, и речь шла только о дырах, но не о закладках, а тот конкурс создал у меня ложное чувство безопасности.
  • Вопрос задан
  • 543 просмотра
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 5
@Zzzz9
Компилировать исходники.
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Программирование
software engineer
В зависимости от версии компилятора, от флагов оптимизации и используемых библиотек, конечный бинарник может получаться разным, поэтому вы можете сравнить только воспроизведя оригинальную среду, в которой создавался бинарник.
Частным случаем проверки можно считать цифровую подпись, как доказательство того, что текущий бинарник компилировался именно автором (компанией), а не кем-то, кто взял исходники и скомпилировал у себя, добавив что-то лишнее.

А если взять например java, там в .jar файл еще куча timestamp добавляется при сборке, поэтому КАЖДЫЙ раз будет разный хеш у бинарника.
Ответ написан
Комментировать
Griboks
@Griboks
Нет, нельзя. Компиляция, строго говоря, необратимый процесс. Однако для этого придумали хеши (md5). Если шифрование является защитой от чтения, то хеши - защитой от подмены. Если хеши совпадают, то должно быть все ок, но это не точно. Сейчас все тупо доверяют офф. стору, ведь "в нем не может быть вредоносных приложений".
Ответ написан
@MoonMaster
Программист и этим все сказано
Компилировать исходники и проверять хэш.
Ответ написан
CityCat4
@CityCat4 Куратор тега Информационная безопасность
//COPY01 EXEC PGM=IEBGENER
Нельзя на гитхаб выложить одно, а скомпилировать совсем другое.

Можно. OSS - с точки зрения ИБ хорош тем, что можно исходники проанализировать, а потом именно из этих, проанализированных, собрать программу. А так - все доверяют официальным репам, считая, что там подмены быть не может, что конечно же неправильно, но общепринято...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы