Лучший способ определить, будет ли прикрепленный документ причинять вред пользователю при открытии - PullRequest
1 голос
/ 18 марта 2009

Мы пишем функцию, которая позволит нашим пользователям «прикреплять» такие вещи, как документы Word, электронные таблицы Excel, изображения, PDF-файлы, к документам в нашем приложении - как к электронной почте.

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

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

Ответы [ 4 ]

1 голос
/ 18 апреля 2009

Используйте настройку обратного прокси, например

www <-> HAVP <-> веб-сервер

HAVP (http://www.server -side.de / ) - это способ сканирования трафика HTTP с помощью ClamAV или любого другого коммерческого антивирусного программного обеспечения. Это позволит пользователям загружать зараженные файлы. Если вам нужен https или что-то еще, вы можете перевести другой обратный прокси или веб-сервер в режим обратного прокси, который может обрабатывать SSL до HAVP

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

1 голос
/ 18 марта 2009

А как насчет Word макровирусов ? Не существует одного «безопасного» типа документа. Что если кто-то переименует .exe-файл .doc - это допустимо? Не полагайтесь только на тип файла или имя и никогда не доверяйте вводу клиента. Проверьте его на стороне сервера, если это возможно, скорее всего, с помощью антивирусной программы или другой известной утилиты.

1 голос
/ 18 марта 2009

Вы можете использовать белый список плюс результат AssocIsDangerous (http://msdn.microsoft.com/en-us/library/bb773465(VS.85).aspx), чтобы определить, следует ли разрешить файл. Белый список для файлов, которые нужно прикрепить без предупреждения, AssocIsDangerous для полной блокировки, а остальные могут получить значение по умолчанию диалоговое окно предупреждения.

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

0 голосов
/ 18 марта 2009

Честно говоря, я думаю, что вам лучше всего подходит Clam AV для Linux или Trend Micro для Windows.

...