Защита программного обеспечения / обфускация кода, которая не запускает ложные срабатывания антивируса - PullRequest
9 голосов
/ 01 октября 2011

Я ищу программное обеспечение для защиты программного обеспечения и / или обфускации кода, например Oreans Themida , VSProtect , ASPRotect и аналогичное. Тем не менее, антивирус ложных срабатываний является нарушителем сделки для меня. Я не могу доставить неудобства или отпугнуть наших законных пользователей. И, к сожалению, похоже, что все три продукта, упомянутые выше, страдают от этой проблемы.

Мое 32-разрядное собственное (не .NET) приложение для Windows , написанное в Delphi прямо сейчас, использует настраиваемый код управления лицензиями, и работает хорошо, однако, поскольку не используется обфускация кода, трещины создаются в течение нескольких часов после каждого выпуска. Итак, я ищу продукт, который добавляет хотя бы некоторый уровень защиты от взломщиков и не создает ложных срабатываний с антивирусами.

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

Ответы [ 8 ]

8 голосов
/ 03 октября 2011

Тебе придётся катиться самостоятельно.Ложноположительные результаты происходят из «подписей», соответствующих известным вредоносным программам.Например, если какое-то вредоносное ПО использует сжатие upx, а сканер обнаруживает, что upx скомпилировано в ваше приложение, вы можете быть ошибочно идентифицированы.
Вы можете получить ложное срабатывание только потому, что сканер обнаружил, что вы используете Delphi (илилюбой другой компилятор, в этом отношении).Но чем мрачнее, тем выше уверенность, что сканер думает: «Я нашел здесь что-то УНИКАЛЬНОЕ», и перекрестные ссылки с его каталогом известных вредоносных программ.]

Если бы охрана в аэропорту работала, как компании по борьбе с вредоносным ПО, меня бы застрелили в аэропорту, потому что я мужчина с каштановыми волосами и карими глазами.

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

Кто-то создаст вредоносное ПО с помощью FireMonkey.Некоторые анти-вредоносные программы (возможно, более одного) примут это к сведению.В течение некоторого периода времени это будет проблемой для приложений FireMonkey.

Вот интересная дискуссия: Случайно создал вирус?

4 голосов
/ 03 октября 2011

Arxan guardIt предназначен для работы с визуальными приложениями C ++, но предприимчивый разработчик Delphi может использовать его для защиты своих продуктов.Я знаю одно очень популярное коммерческое приложение, написанное на Delphi, которое использует его, но вы должны самостоятельно написать некоторые инструменты для преобразования файлов карты Delphi и другой отладочной информации в форматы Visual C ++.

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

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

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

3 голосов
/ 05 октября 2011

Полагаю, вы могли бы взглянуть на один из них Enigma Protector

Разработчик хорошо осведомлен о проблемах с ложными срабатываниями и активно взаимодействует с AV-компаниями по этому вопросу.Вот что разработчик сказал об этом в одном из своих сообщений на форуме: «Начиная с Enigma Protector 3.0, в защищенных файлах не будет ложных обнаружений!» Ссылка на сообщение на форуме

Я пользуюсь этой защитой с тех пор, как несколько лет назад я перешел с Ice License, и у меня когда-либо была только одна проблема с ложным срабатыванием обнаружения.Я сообщил разработчику, и он сразу связался с Avast для меня.Это было решено в следующем обновлении AV-обнаружений.

Защита имеет множество функций и очень полезный файл справки.Он использует систему маркеров для виртуализации, и при запуске кода в этих маркерах он будет использовать специальный язык, известный только системе защиты, называемый PCODE на внутреннем виртуальном процессоре.

Он имеет свои собственные API, и плагины могутбыть написанным для этого.Он также включает в себя виртуальный ящик для файлов и реестр, но теперь я мог бы работать вечно.

Крис

2 голосов
/ 10 октября 2011

Я думаю, вы должны смотреть на это по-другому. Мы используем Oreans и имели схожие проблемы, но обходили их, подписывая исполняемые файлы. Антивирусному программному обеспечению требуется немного больше времени для просмотра вашего приложения, но большинство все равно признает его свободным от вирусов, если оно имеет цифровую подпись.

Причина, по которой я это говорю, заключается в том, что системы защиты меняются так же, как и антивирусные системы. Сегодня вы можете найти систему, которая успешно пройдет проверку на антивирус, и завтра, когда кто-то выпустит шпионское ПО, зашифрованное тем же продуктом, ваш будет помечен как вирус.

Обновление - есть несколько изолированных, которые все еще жалуются, но большинство принимает подписанный как действительный (мы получаем 6 из 43 флагов, тогда как без подписи у нас было более половины жалоб)

1 голос
/ 08 октября 2011

Полагаю, вы не получите 100% уверенности, но у меня никогда не было проблем с Armadillo . Защитите свой exe и подпишите его действующим сертификатом.

1 голос
/ 04 октября 2011

Да, есть доступные решения.(Отказ от ответственности: я работаю в компании по защите программного обеспечения Wibu-Systems ) и могу заверить вас, что CodeMeter не запускает антивирусные системы и не требует прав администратора для установки.Я также могу сказать вам, что любое домашнее решение, вероятно, будет взломано довольно быстро - мы потратили годы (как и другие поставщики в этой области, такие как Arxan, Safe-Net и Keylok), разрабатывая методы, чтобы путать и путатьвзломщики

Большинство взломщиков просто используют отладчик для установки точки останова в процедуре проверки лицензии (сообщение об ошибке или диалоговое окно, которое предоставляется пользователю), а затем исправляют код на языке ассемблера при проверке аутентификации (ищитечто-то вроде сравнения EAX с EBX и изменения кода, чтобы всегда возвращалось значение true).Поэтому им не нужно пытаться обфусцировать ваш код и т. Д. Вот почему большинство имеющихся в продаже решений используют шифрование, а не какую-либо проверку подлинности / проверки - шифрование не может быть исправлено.Но даже зашифрованный исполняемый файл может быть выгружен из памяти и перестроен, если вы не достаточно разбираетесь в том, как переупорядочить формат файла PE и обрабатывать хранение ключей и обмен ключами.

Учитывая, что стоимость коммерческой системы свсе его сильные стороны и преимущества (управление лицензиями, гибкость, кроссплатформенная поддержка и т. д.) могут быть довольно низкими. Зачем делать это самостоятельно?Большинство людей не пишут свои собственные установщики, так как вы можете использовать MSFT или InstallShield или NSIS - зачем писать свое собственное решение для лицензирования и защиты?

0 голосов
/ 04 октября 2011

Попробуйте использовать шестнадцатеричный редактор для редактирования заголовков, таких как 'UPX' и т. Д. Двоичный файл не нуждается в них, только инструмент, который их распаковывает.

0 голосов
/ 03 октября 2011

Как всегда, это сложная задача.

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

Я полагаю, что многие из схем защиты игр, такие как Sonys SecuROM , делают это или, по крайней мере, начинаютсделать это.Но можно утверждать, что пока вы в безопасности от ложных срабатываний, взломщики уже знают, как победить эти основные продукты.

Так что вам нужно найти этот хороший и перспективный продукт для звонков..

...