Защита программного обеспечения / обфускация кода, которая не вызывает антивирус ложных срабатываний
Я ищу программное обеспечение для защиты программного обеспечения и / или обфускации кода, такое как Oreans Themida, VSProtect, ASPRotect и аналогичные. Тем не менее, антивирус ложных срабатываний является нарушителем сделки для меня. Я не могу доставить неудобства или отпугнуть наших законных пользователей. И, к сожалению, кажется, что все три продукта, упомянутые выше, страдают от этой проблемы.
Мое 32-разрядное собственное (не.NET) приложение Windows, написанное на Delphi, сейчас использует настраиваемый код управления лицензиями, и оно работает хорошо, однако, поскольку не используется запутывание кода, трещины создаются в течение нескольких часов после каждого выпуска. Итак, я ищу продукт, который добавляет хоть какой-то уровень защиты от взломщиков и не создает ложных срабатываний с антивирусами.
Моим главным приоритетом является отсутствие уклончивости и стабильности, отсутствие ошибок и ложных срабатываний антивирусной защиты, введенных в мое программное обеспечение. Уровень защиты от взлома является вторичным по отношению к этому.
8 ответов
Вы должны будете катиться самостоятельно. Ложноположительные результаты происходят из "подписей", соответствующих известным вредоносным программам. Например, если какое-то вредоносное ПО использует сжатие upx и сканер обнаруживает, что upx скомпилировано в ваше приложение, вы можете быть ошибочно идентифицированы.
Вы можете получить ложное срабатывание только потому, что сканер увидел, что вы используете Delphi (или любой другой компилятор, в этом отношении). Но чем темнее, тем выше уверенность, что сканер думает: "Я нашел здесь что-то УНИКАЛЬНОЕ", и перекрестные ссылки с его каталогом известных вредоносных программ. ]
Если бы служба безопасности в аэропортах работала так же, как компании по борьбе с вредоносным ПО, меня бы застрелили в аэропорту, потому что я мужчина с каштановыми волосами и карими глазами.
Если сканер достаточно ленив, вы можете быть помечены для используемого вами установщика, сторонних компонентов, которые вы используете, строк ресурсов, "случайного выбора", что-то связанное с сертификатом подписи кода или компилятором, который вы используете.
Кто-то создаст вредоносное ПО с помощью FireMonkey. Некоторые анти-вредоносные программы (возможно, более одного) примут это к сведению. В течение некоторого периода времени это будет проблемой для приложений FireMonkey.
Вот интересная дискуссия: случайно создал вирус?
Arxan guardIt предназначен для работы с визуальными приложениями C++, но предприимчивый разработчик Delphi может использовать его для защиты своих продуктов. Я знаю одно очень популярное коммерческое приложение, написанное на Delphi, которое использует его, но вы должны самостоятельно написать некоторые инструменты для преобразования файлов карты Delphi и другой отладочной информации в форматы Visual C++.
Если вы хотите бросить свой собственный, помните, что задача состоит в том, чтобы быть умнее, чем хакеры, и создать больше слоев контр-защит, которые полагаются друг на друга некоторым трудным для определения способом, чтобы успешно противостоять взломщикам. По моим личным ощущениям, вы все равно не заставите этих людей давать вам деньги, поэтому тратить свое время на то, чтобы не дать им использовать ваше программное обеспечение, - это просто отрезать вам нос, чтобы опозорить лицо. Но если это твоя тяжелая работа в Интернете в взломанной форме, то, конечно, продолжай пытаться превзойти их.
Обратите внимание, что если вы попадаете на продвинутые методы, такие как самоизменяющийся код, вы почти наверняка будете отмечены каким-либо программным обеспечением для обнаружения вредоносных программ и должны будете запросить внесение в белый список. Если вы не готовы пойти так далеко, как самоизменяющийся код, то даже попытка может оказаться нулевой. Я не знаю ничего, что бы сопротивлялось прямым методам декомпиляции в автономном режиме, которые не требуют самоизменяющихся методов "просто вовремя".
Простые старые методы дешифрования exe, которые выполняются один раз при запуске, также чрезвычайно легко обойти и полностью удалить, когда незашифрованный exe полностью загружен в память.
Я полагаю, что вы могли бы взглянуть на один из них под названием The Enigma Protector
Разработчик хорошо осведомлен о проблемах с False Positives и активно взаимодействует с AV-компаниями по этому вопросу. Вот что разработчик сказал об этом в одном из своих сообщений на форуме: "Начиная с Enigma Protector 3.0, в защищенных файлах не будет ложных обнаружений!" Ссылка на пост форума
Я пользуюсь этой защитой с тех пор, как несколько лет назад перешел с Ice License, и у меня только одна проблема была с ложным срабатыванием обнаружения. Я сообщил разработчику, и он сразу связался с Avast для меня. Это было решено на следующем обновлении AV обнаружений.
Защита имеет множество функций и очень полезный файл справки. Он использует систему маркеров для виртуализации, и при запуске кода в этих маркерах он будет использовать специальный язык, известный только системе защиты PCODE на внутреннем виртуальном процессоре.
Он имеет свои собственные API, и плагины могут быть написаны для него. Он также включает в себя виртуальный ящик для файлов и реестр, но теперь я мог бы работать вечно.
Крис
Я думаю, что вы должны смотреть на это по-другому. Мы используем Oreans и имели схожие проблемы, но обходили их, подписывая исполняемые файлы. Антивирусному программному обеспечению требуется немного больше времени для просмотра вашего приложения, но большинство все равно признает его свободным от вирусов, если оно имеет цифровую подпись.
Причина, по которой я это говорю, заключается в том, что системы защиты меняются так же, как и антивирусные системы. Сегодня вы можете найти систему, которая успешно пройдет тестирование на антивирус, и завтра, когда кто-то выпустит шпионское ПО, зашифрованное тем же продуктом, ваш будет помечен как вирус.
Обновление - есть несколько изолированных, которые все еще жалуются, но большинство принимает подписанный как действительный (мы получаем 6 из 43 флагов, тогда как без подписи у нас было более половины жалоб)
Я думаю, вы не получите 100% уверенности, но у меня никогда не было проблем с броненосцем. Защитите свой exe и подпишите его действующим сертификатом.
Да, есть доступные решения. (Отказ от ответственности: я работаю в компании Wibu-Systems, занимающейся защитой программного обеспечения) и могу заверить вас, что CodeMeter не запускает антивирусные системы и не требует прав администратора для установки. Я также могу сказать вам, что любое домашнее решение, вероятно, будет взломано довольно быстро - мы потратили годы (как и другие поставщики в этом пространстве, такие как Arxan, Safe-Net и Keylok), разрабатывая методы, чтобы запутать и спутать их. взломщики
Большинство взломщиков просто используют отладчик для установки точки останова в процедуре проверки лицензии (сообщение об ошибке или диалоговое окно, которое предоставляется пользователю), а затем исправляют код на языке ассемблера при проверке аутентификации (ищите что-то вроде сравнения EAX с EBX и измените код, чтобы всегда возвращать истину). Поэтому им не нужно пытаться обфусцировать ваш код и т. Д. Вот почему большинство имеющихся в продаже решений используют шифрование, а не какую-либо проверку подлинности / проверки подлинности - шифрование невозможно исправить. Но даже зашифрованный исполняемый файл может быть выгружен из памяти и перестроен, если вы не достаточно разбираетесь в том, как переупорядочить формат файла PE и обрабатывать хранение ключей и обмен ключами.
Учитывая, что стоимость коммерческой системы со всеми ее достоинствами и преимуществами (управление лицензиями, гибкость, межплатформенная поддержка и т. Д.) Может быть довольно низкой, зачем делать свою собственную? Большинство людей не пишут свои собственные установщики, так как вы можете использовать MSFT или InstallShield или NSIS- зачем писать свое собственное решение для лицензирования и защиты?
Это сложный, как всегда.
Я бы сказал, что вы должны начать искать продукт, который применяется во время компиляции, а не после. Упаковщики, которые упаковывают двоичные файлы, всегда будут давать подозрительный результат, так как они действуют так же, как вирус.
Я полагаю, что многие из схем защиты игр, такие как Sonys SecuROM, делают это или, по крайней мере, начинают это делать. Но можно утверждать, что пока вы в безопасности от ложных срабатываний, взломщики уже знают, как победить эти основные продукты.
Таким образом, вам нужно найти этот хороший и интересный продукт.
Попробуйте использовать шестнадцатеричный редактор для редактирования заголовков, таких как "UPX" и т. Д. Бинарным файлам они не нужны, только инструмент, который их распаковывает.