обеспечение безопасности загруженных файлов

StackOverflow https://stackoverflow.com/questions/33086

  •  09-06-2019
  •  | 
  •  

Вопрос

Мой босс пришел ко мне и спросил, как обеспечить безопасность файла, загруженного через веб-страницу.Он хочет, чтобы люди могли загружать PDF-файлы и изображения в формате tiff (и тому подобное), и его реальная проблема заключается в том, что кто-то внедряет вирус в pdf, который затем просматривается / изменяется (и вирус запускается).Я только что прочитал кое-что о процедуре, которая может быть использована для уничтожения стенографической информации, содержащейся в изображениях, путем изменения наименее значимых битов.Можно ли использовать аналогичный процесс, чтобы убедиться, что вирус не имплантирован?Кто-нибудь знает о каких-либо программах, которые могут очищать файлы?

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

http://www.softwarebyrob.com/2008/05/15/virus-scanning-from-code/

Это было полезно?

Решение

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

Другие советы

Вирусы, встроенные в файлы изображений, вряд ли станут серьезной проблемой для вашего приложения.Что будет проблемой, так это JAR-файлы.Файлы изображений с трейлерами JAR могут быть загружены с любой страницы в Интернете в виде Java-апплета с привязками того же происхождения (cookies), указывающими на ваше приложение и ваш сервер.

Лучший способ обработки загружаемых изображений - это обрезать, масштабировать и преобразовать их в другой формат изображения.Изображения должны иметь разные размеры, хэши и контрольные суммы до и после преобразования.Например, Gravatar, который предоставляет "значки приятелей" для Stack Overflow, заставляет вас обрезать ваше изображение, а затем переводит его в формат PNG.

Возможно ли создать вредоносный файл PDF или DOC, который будет использовать уязвимости в Word или Acrobat?Вероятно.Но ClamAV не очень хорошо справится с остановкой этих атак;это не "вирусы", а скорее уязвимости в программном обеспечении просмотра.

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

Вот ссылки на шлюз с открытым исходным кодом, который использует Clam-AV:http://en.wikipedia.org/wiki/Gateway_Anti-Virus http://gatewayav.sourceforge.net/faq.html

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

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

Да, ClamAV должен сканировать файл независимо от расширения.

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

www <-> ХАВП <-> веб-сервер

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top