Я запустил сканер вредоносных программ на своем сайте, и он пометил несколько заархивированных EXE-файлов как файлы потенциального риска (эти файлы были загружены пользователями). Поскольку я могу распаковать файлы на моем Mac, я предполагаю, что это настоящие ZIP-файлы, а не просто что-то вроде переименованных файлов PHP.
Таким образом, ZIP-файл не должен подвергаться риску для моего веб-сервера, верно?
security
anti-virus
malware
Xavin
источник
источник
file foo.zip
, или даже проверить, действительны ли они7z t foo.zip
для проверки (например, распаковать и проверить контрольные суммы CRC, без извлечения в локальные файлы на диске). (7z
использует синтаксис, несколько похожий наtar
.) Илиunzip -l foo.zip
для отображения содержимого. В любом случае, я просто подумал, что это странно, что вы говорите о проверке файлов на другом компьютере, когда вы могли легко проверить их на сервере.Ответы:
Если они действительно являются заархивированными exe-файлами Windows, они должны быть безвредны для вашей системы Linux, если только у вас нет чего-то вроде Wine, которое может попытаться выполнить их.
Но если они находятся на вашем веб-пути, они могут быть вредоносными программами и представлять большой риск для посетителей ваших веб-сайтов (и, в свою очередь, если вы в конечном итоге будете отмечены как источник вредоносного ПО, а пользователи получат ужасные предупреждения при попытке посетить ваш сайт). сайт).
источник
.zip
файлы, которые пытаются нацелить недостатки в определенных реализациях распаковки.Хотя вы, вероятно, правы в этом случае, ваше предположение не всегда верно. ZIP-архив остается действительным, даже если вы добавляете к нему произвольные данные , поэтому вполне возможно создать файл, который одновременно является действительным ZIP-архивом, содержащим невинные данные, а также вредоносный скрипт PHP. Это даже не особенно сложно; просто объедините код PHP и ZIP-файл и убедитесь (например, используя
__halt_compiler()
), что PHP не будет пытаться анализировать данные ZIP-архива.Этот прием по праву используется для создания самораспаковывающихся ZIP-файлов, но вполне возможно предварительно добавить любые другие скрытые данные или исполняемый код в ZIP-файл таким же образом. Некоторые программы могут отказаться открывать такие измененные файлы ZIP (но если это так, они технически нарушают спецификацию формата ZIP), или они могут идентифицировать файл как нечто отличное от файла ZIP по умолчанию, но, как правило, если вы кормите такой файл в код, который ожидает ZIP-файл, он, вероятно, будет принят как один.
Более распространенным злонамеренным использованием таких приемов является маскировка кода эксплойта в контейнере на основе ZIP (например, файла JAR) как нечто безвредное (например, изображение GIF, как в эксплойте GIFAR ), но нет никаких причин, по которым это невозможно также используется в другом направлении, например, для обхода простого фильтра загрузки файлов, который запрещает загрузку скриптов PHP, но разрешает ZIP-файлы, не проверяя, могут ли загруженные файлы быть одновременно обоими.
источник
Есть по крайней мере два важных момента, которые вы должны принять во внимание:
Так, в зависимости от того, что ваш сервер делает файл может потенциально быть вредным для вашего сервера или других пользователей. Поскольку я довольно настороженно отношусь к EXE-файлам, загруженным из Интернета, я бы сказал, что возможные загрузчики являются наиболее потенциальными пользователями, подвергающимися риску.
источник
Вы можете проверить работоспособность файлов на вашем Linux-сервере, просто проверив их
file FILENAME.exe
командой. Эльфийские двоичные файлы (исполняемый формат, используемый в Linux) могут быть названы с.exe
расширением, чтобы сбить с толку ничего не подозревающего администратора Linux, поэтому, вероятно, стоит сделать эту проверку, прежде чем вслепую полагать, что эти файлы не работают.источник
Я удивлен, что никто не упомянул, что какие-либо данные могут быть (или могут быть сделаны) вредными для любой (глючной) программы. Это основа размытия. Например, у вас может быть файл JPEG (или JPEG-подобный), который вызывает переполнение буфера в (определенных?) Декодерах JPEG, что может вызвать что угодно, от отказа в обслуживании до выполнения произвольного кода. Речь идет о подрыве существующей программы обработки данных; нет необходимости вводить новый исполняемый файл! Именно по этой причине необходимы песочница, очистка входных данных и принципы наименьших привилегий.
Таким образом, в вашем случае у вас может быть ZIP-файл, вызывающий проблемы на (определенных?) Механизмах ZIP-декодирования. Не нужно, чтобы ZIP-файл содержал собственный исполняемый файл, чтобы он был вредоносным.
Сказав это, ваш сканер работает на другом, более грубом уровне. Если вид риска, о котором я говорю, существовал в этих файлах, вы уже получили удар в тот момент, когда обрабатывали их :).
источник
Были атаки, которые внедряют данные и по-прежнему представляют файлы как действительные. На неправильно настроенном сервере или в неправильно закодированном приложении это может привести к выполнению кода на вашем сервере.
Так что будьте осторожны с этим.
источник
Дополнительной проверкой, которую вы в идеале должны поставить, является метод php finfo, позволяющий проверить, действительно ли загружаемые пользователями файлы соответствуют вашим требованиям, а не то, что пользователи переименовали в файлы, просто чтобы обмануть систему.
источник
Распакованный .exe-файл также безвреден для серверов Linux.
источник
.exe
это не более чем часть имени файла, и это также может быть выбрано в качестве имени для двоичного файла ELF.