обеспечение безопасности загруженных файлов - PullRequest
9 голосов
/ 28 августа 2008

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

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

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

Ответы [ 6 ]

4 голосов
/ 28 августа 2008

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

3 голосов
/ 11 сентября 2008

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

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

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

2 голосов
/ 28 августа 2008

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

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

1 голос
/ 28 августа 2008

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

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

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

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

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

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

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

0 голосов
/ 28 августа 2008

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

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