Страница 2 из 3

Как рассчитать контрольную сумму .exe файла программы

Добавлено: 05 Апрель 2015, 10:59
AlesDales
2 Игорь Столяров
AlesDales писал(а): Или есть возможность предоставить exe файл
Так я и думал. Защита информации это отдельная отрасль и когда лезешь туда со своими дилетантскими познаниями получается как раз “велосипед именно с квадратными колесами”

Как рассчитать контрольную сумму .exe файла программы

Добавлено: 05 Апрель 2015, 11:20
Игорь Столяров
AlesDales писал(а): Так я и думал. Защита информации это отдельная отрасль
Полностью согласен, поэтому и написал.
Я извиняюсь, сейчас просто нет времени выполнять заявки на обучающие примеры. Может быть чуть позже ...

А идея простая.
1. Есть EXE файл (любой), мы его подписываем сертификатом (закрытым ключом RCA).
2. Программа при загрузке делает тоже самое: отсоединяет подпись от EXE файла и через открытый ключ проверяет ее достоверность.
В Win CryptoAPI весь необходимый функционал есть.

Все. Единственный возможный способ обойти - это отключить сам функционал проверки в коде программы.
Ну здесь уже его прячут кто как может: от нескольких точек входа, до шифрования кусков кода. В чем проблема-то ? ;)

Как рассчитать контрольную сумму .exe файла программы

Добавлено: 05 Апрель 2015, 12:09
AlesDales
Игорь Столяров писал(а): Я извиняюсь, сейчас просто нет времени выполнять заявки на обучающие примеры. Может быть чуть позже ...
Разумеется, трудно вспомнить то чего не знаешь :) Примеров не будет, только болтовня в связи с со страшной занятостью в выходной день :)

Как рассчитать контрольную сумму .exe файла программы

Добавлено: 05 Апрель 2015, 12:23
Игорь Столяров
AlesDales писал(а): только болтовня в связи с со страшной занятостью в выходной день
Я далек от мысли мериться у кого длиннее, например язык. ;) К сожалению день не только выходной, но еще и конец первого квартала, в котором впервые будет сдача отчетности по НДС в электронном виде .... :(

Я ниже описал концепт проверки целостности файла ... ну давай попробую написать проще, с примерами ...
Например ключ для KIS идет практически в открытом текстовом виде с электронной подписью. Можно менять все, что хочешь.
Но если он не пройдет проверку снятия ЭЦП, то просто не будет принят. Да, гипотетически можно отключить проверку снятия ЭЦП
где-то в недрах программы. Но другого способа внести изменения в ключ нет. Конкретно, Касперский использует библиотеки
ЭЦП ЭЛКОМ, но в принципе все-то же самое (кроме патентованных алгоритмов) есть и Win Crypto API и может использоваться для
проверки целостности исполняемого файла через подпись его сертификатом. Вот и все ...

Как рассчитать контрольную сумму .exe файла программы

Добавлено: 05 Апрель 2015, 12:46
AlesDales
Игорь Столяров писал(а): Да, гипотетически можно отключить проверку снятия ЭЦП
К чему тогда вся твоя болтовня? Ты хочешь, что-то сказать или тебя просто тошнит словами (причем в области, в которой ты ничего не понимаешь :) )? Иди сдавай НДС :)

Как рассчитать контрольную сумму .exe файла программы

Добавлено: 05 Апрель 2015, 13:03
Игорь Столяров
OK ! Я понял - нужен пример на CLarion проверки целостности исполняемого файла при запуске через ЭЦП.
Я сброшу немного позже, думаю, действительно для тебя так будет понятней.
А сейчас надо заниматься именно отчетностью. К сожалению, что есть - то есть ...

Как рассчитать контрольную сумму .exe файла программы

Добавлено: 05 Апрель 2015, 13:15
AlesDales
Да будет понятней если ты предоставишь хоть что то, кроме своей болтовни.

Как рассчитать контрольную сумму .exe файла программы

Добавлено: 05 Апрель 2015, 13:53
Дед Пахом
мне одному кажется, что AlesDales хамит?

Как рассчитать контрольную сумму .exe файла программы

Добавлено: 05 Апрель 2015, 14:13
Stalker
Дед Пахом писал(а): мне одному кажется, что AlesDales хамит?
Уважаемые коллеги! Не думал когда открывал пост что может быть такая бурная дискуссия,
но все таки она должна вестись с уважением к мнению апонентов, у всех нас в данной области разный опыт и знания.Не стоит переходить определенные грани.
Думаю Игорь Столяров скинет пример для его изучения и разбора.
Игорь Столяров писал(а): OK ! Я понял - нужен пример на CLarion проверки целостности исполняемого файла при запуске через ЭЦП.
С уважением Stalker

Как рассчитать контрольную сумму .exe файла программы

Добавлено: 05 Апрель 2015, 14:17
Игорь Столяров
Дед Пахом писал(а): мне одному кажется, что AlesDales хамит?
Не надо парится на эту тему.
Здесь важна идея которую обсуждаем, а в какую форму это завернуть - каждый решает сам.
Тем более, что сегодня действительно выходной .... ;)

Как рассчитать контрольную сумму .exe файла программы

Добавлено: 05 Апрель 2015, 14:26
AlesDales
Конечно идея важна, когда она есть.

Как рассчитать контрольную сумму .exe файла программы

Добавлено: 06 Апрель 2015, 11:56
Губин Игорь
Замечание: не всегда возможно проверить целостность файла задачи изнутри задачи. Некоторые навесные оболочки перехватывают обращение и на выходе получаем каждый раз новую контрольную сумму.

Как рассчитать контрольную сумму .exe файла программы

Добавлено: 27 Апрель 2015, 17:30
Игорь Столяров
Хотелось бы вернуться к нашему вопросу. ;)

1. Взял EXE файл. Подписал его.
sign2.jpg
2. Изменил HEXEDIT 1 byte
3. При запуске подпись слетела, в свойствах вижу
sign.jpg
4. Как добраться до этой информации изнутри программы через WinAPI - пока не знаю, но думаю, что можно.

Как рассчитать контрольную сумму .exe файла программы

Добавлено: 28 Апрель 2015, 8:07
Игорь Столяров
Для запрета запуска приложений с нарушения целостности исполняемых файлов можно использовать ключ реестра: ValidateAdminCodeSignatures (по умолчанию отключен). см. https://technet.microsoft.com/ru-ru/lib ... s.10).aspx

Наверно дальше уже можно и не копать - стандартными средствами администрирования Windows можно запрещать выполнение приложений с нарушением целостности при проверке электронной подписи.

Как рассчитать контрольную сумму .exe файла программы

Добавлено: 29 Апрель 2015, 8:25
AlesDales
Надеюсь уже хотя бы понятно, что сертификат никак не защищает код программы, а только может свидетельствовать о внесении в нее изменений. Или ты думаешь, что человек скачавший взломанную программу будет заглядывать в ее сертификат и с ужасом обнаружит, что “подпись слетела”?
Для тебя вообще есть разница между трехметровой бетонной стеной с пулеметной вышкой, которые защищают твой дом и свидетельством в суде пенсионера живущего напротив о том, что твой дом ограбили и вынесли все что хотели?
Игорь Столяров писал(а): Для запрета запуска приложений с нарушения целостности исполняемых файлов можно использовать ключ реестра: ValidateAdminCodeSignatures (по умолчанию отключен). см. https://technet.microsoft.com/ru-ru/lib ... 64(v=ws.10).aspx
А это вообще к чему? Запретить самому себе запускать взломанные программы?
Кстати ссылка битая.
Игорь Столяров писал(а): Наверно дальше уже можно и не копать - стандартными средствами администрирования Windows можно запрещать выполнение приложений с нарушением целостности при проверке электронной подписи.
Главное чтобы при защите своих программ (если они того стоят конечно) ты бы всегда руководствовался такими познаниями, это избавит от необходимости платить за них деньги.