Як запобігти обробці моїх виконуваних файлів від таких AV, як погані чи вірусні?


15

Я створюю програмне забезпечення, яке працюватиме на Windows і буде діяти як програма запуску для гри, яка буде функцією автоматичного оновлення та перевірки файлів на ПК клієнта.

Я не розумію, чому моє антивірусне програмне забезпечення (Avast) вважає мій файл exe небезпечним і не запустить його, не вимагаючи помістити його в пісочницю, для безпечного використання.

Чи є якісь правила, яким моє програмне забезпечення повинне дотримуватися, щоб воно ставилося як добре, чи я повинен платити сотні доларів за якусь цифрову підписку та інші речі?

Я використовую C # з MS Visual Studio 2010.

Звіт VirusTotal . Немає ін'єкцій DLL, що працює як віддалений завантажувач файлів, використовуючи клас WebClient ().

Це не так, як він попереджає про вірус, але він "пропонує" його пісочниці. Подивіться на скріншот:введіть тут опис зображення


1
Я пропоную вам спочатку завантажити свою програму на virustotal.com, щоб скласти уявлення про кількість постачальників, які вважають вашу програму підозрілою. Якщо всі програми AV позначають вашу програму, вам доведеться з’ясувати, що робить ваш код, що AV-програма може вважати підозрілим. Визначити, що використовують евристичні AV-продавці, практично неможливо - я сумніваюся, вони вам скажуть. Якщо це лише один або два, ви можете повідомити про них помилкові позитивні результати (перевірте їх веб-сайт або google "звіту про ім'я постачальника" помилково позитивний "). Мінус цього полягає в тому, що вам доведеться це робити з кожним випуском програмного забезпечення.
Ян Догген

Це не робить нічого, пов’язаного з DLL-ін'єкцією, чи не так?
l46kok

Переконайтесь, що ваш комп’ютер не заражений вірусом. Я ніколи не бачив такої поведінки раніше, якщо не було інфекції.
Сем

4
Ви можете почати видаляти функціональні можливості зі свого коду, доки AV не буде задоволено або не залишиться код (залежно від того, що станеться раніше). Частина, видалення якої зробило АВ щасливим, слід перевірити.
ugoren

1
Проблема виникає лише під час розвитку? Я часто мав цю проблему на роботі, коли компілятор створює виконавчі файли. Якщо це так, рішення дійсно буде видалити антипрограмне програмне забезпечення.

Відповіді:


22

"Поширеність / репутація файлів низька" означає, що Avast використовує систему репутації, засновану на використанні програми. Тільки якщо ваша програма буде встановлена ​​і "позначена як доброзичлива" достатньою кількістю користувачів, вона розвине хорошу репутацію і відмовиться від цієї пропозиції. Avast називає це функцією хмари FileRep і каже: "Всі нові невідомі файли потенційно небезпечні. Кожного разу, коли вони набудуть широкого поширення, більше не буде приводу AutoSandbox". Це ПДФО для невеликих програмних компаній (і Avast - не єдиний, хто це робить, зауважте, наприклад, " Підозрілі відомості" Symantec " ). Одне, що пропонує Avast, -" ви можете прискорити процес, якщо цифрово підписувати файли ".

Місцево (на комп’ютері) ви можете перейти до налаштувань експертів для автосервісу та відключити файли автосервісу з низькою репутацією, або, можливо, використовувати сертифікат, який підписав самостійно, але це не допоможе вам у кінцевих користувачів. Для тих, хто пропоную вам скористатися справжнім сертифікатом (коштує грошей, але це теж подобається Windows) та оновіть свою документацію за допомогою цієї інформації.
Можливо, ще є пропозиції на форумах Avast .


У мене схожа проблема. яке рішення для цифрового підпису ви використовували @Deele? Я не маю за це більше 50 доларів ...
Basj

0

На додаток до того, що сказав Ян Догген, інші антивірусні програми також роблять евристичне сканування.

Антивірусне сканування не просто шукає, чи є конкретна виконувана версія точною копією відомого вірусу. Це можна і було легко обійти. Тепер інструменти AV перевіряють специфічну поведінку, як, наприклад, інструмент використовує чисті бібліотеки, чи робить доступ / модифікацію файлів, чи шифрує / розшифровує себе під час виконання тощо, і залежно від внутрішнього алгоритму (евристичного), він випадає з небезпеки .

Одним із способів боротьби з різними фальшивими виявленнями АВ є те, що відомо затуплення підпису. В основному, інша методика полягає в тому, що інструмент AV буде виглядати, чи є певний потік байтів (підпис), включений у виконуваний файл. Якщо його знайдуть, він знає свій вірус. Ви можете створити (виконуваний) код, який може містити одну з багатьох мільярдів підписів, яку використовує програмне забезпечення AV. Щоб вилучити цю конкретну частину, вам потрібно виконати двійковий пошук на вашому виконуваному файлі, розділивши його на дві частини, першу половину, іншу половину та повторно змінивши їх і повторюючи процес, поки ви не знайдете частину, що містить підпис. Знайшовши, ви гортаєте кілька біт і бачите, чи він все-таки виявлений. Більш безпечним способом було б просто змінити вихідний код і побачити, чи виплює він інший потік байтів у цьому місці.

Ви зіткнетеся з цією проблемою на 100% із типом програмного забезпечення, яке розробляєте.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.