Вирусные сканеры, блокирующие и удаляющие временные файлы - лучший способ справиться с ними? - PullRequest
6 голосов
/ 18 октября 2008

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

Но в природе происходят две вещи, которые вначале казались очень странными, но все они могут быть связаны с поведением антивирусного сканера:

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

  • Если антивирусный сканер считает файлы опасными, он удаляет их в определенный момент времени.

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

Как вы справляетесь с вирусными сканерами?

Ответы [ 4 ]

4 голосов
/ 18 октября 2008

Если изменение конфигурации антивирусного сканера не является идеальным вариантом для вас. Не могли бы вы оставить файл открытым от его создания до конца вашего процесса? Если у вас есть дескриптор файла, он не будет доступен для сканера вирусов.

1 голос
/ 18 октября 2008

Напишите ваши файлы с шифрованием. Я бы подумал, что вам не нужно ничего слишком сложного или сложного. Также зашифруйте или измените имена файлов, так как это может быть вызвано также и антивирусным сканером.

0 голосов
/ 18 октября 2008

Обычно вы должны исключать файлы фильтрации почты из антивирусного сканера и использовать специальную почтовую антивирусную программу, которая находится в серии трубок входящей почты. Обязательно попросите своих пользователей отключить опцию «удалить зараженные файлы» на своем почтовом сервере, иначе они могут потерять почтовую базу данных: - /. Например, вот как вы можете настроить AV для игнорирования Exchange: http://www.sophos.com/support/knowledgebase/article/12214.html Но с другой стороны, в этом файле есть вирус, поэтому вы, вероятно, не хотите его доставлять; -)

В предыдущем ответе говорилось об изменении разрешений, чтобы только ваш процесс имел доступ к файлам. Это не сработает; Любой AV, достойный его соли, будет работать в ядре и в любом случае сможет получить доступ к файлам.

0 голосов
/ 18 октября 2008

Вирусный сканер имеет исключенные папки. Просто посмотрите документацию и добавьте вашу временную папку в этот список.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...