fixmint
RU

Безопасен ли ZIP-архив? Проверьте перед распаковкой

Автор: · · Чтение: 4 мин

Проверьте ZIP-архив перед распаковкой. Его оглавление перечисляет каждый файл с именем, размером и тем, насколько он сжат. Пять признаков показывают, что ZIP может создать проблемы: размер, который раздувается при распаковке; имена, которые выходят за пределы своей папки; второе расширение, скрывающее настоящий тип; зашифрованная запись; файл, настоящий тип которого не совпадает с именем. Сначала откройте содержимое ZIP и распаковывайте только то, что ожидаете.

Просмотр ZIP-архиваЧто внутри этого ZIP?Сделать бесплатно

Что показывает оглавление ZIP-архива

ZIP хранит каждый файл как запись. В конце архива находится список, который называется центральным каталогом, с одной записью на каждый элемент. Каждая запись содержит имя и путь, размер до и после сжатия, метод сжатия, контрольную сумму CRC-32 (короткое число, вычисляемое из содержимого и используемое для поиска повреждений) и признак шифрования.

Программы распаковки сначала читают этот список. Просмотр ZIP-архива читает только список, поэтому вы можете увидеть содержимое, ничего не распаковывая. Ничего из архива не запускается.

Zip-бомбы: маленькие файлы, которые распаковываются в огромные

Сжатие заменяет повторяющиеся данные короткими кодами, поэтому чем больше повторов, тем меньше результат. Степень сжатия — это размер до сжатия, делённый на размер после. Длинные цепочки одинаковых данных сжимаются очень хорошо. Обычный метод ZIP может уменьшить длинную цепочку одинаковых байтов примерно в тысячу раз.

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

Обычные файлы дают представление о нормальной степени сжатия. Текст и код сжимаются заметно. Фото, видео и файлы, которые уже сжаты, например .docx, .xlsx и .jpg, почти не уменьшаются. Степень сжатия в сотни раз у обычного документа — повод для тревоги.

Имена, которые выходят за пределы папки

Имя записи может включать папки. Имя вида ../../Startup/update.bat велит распаковщику подняться на два уровня и записать файл в папку автозагрузки, откуда программа запускалась бы при каждом входе в систему. Это называется обходом пути, или «zip slip». Аккуратные распаковщики удаляют части ../. Старые программы и самодельные скрипты могут этого не делать.

Имя, которое начинается с косой черты, например /etc/... или C:\..., — та же проблема: оно пытается записать файл в определённое место на диске. Просмотр показывает имена ровно так, как они хранятся, поэтому их можно прочитать до того, как что-либо будет записано.

Двойные расширения и скрытые типы

Последнее расширение имени файла говорит системе, что это за файл. invoice.pdf.exe заканчивается на .exe, значит, это программа, хотя имя начинается так, будто это PDF. Windows по умолчанию скрывает расширения известных типов файлов, поэтому имя может отображаться как «invoice.pdf».

Проверка настоящего типа по первым байтам

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

ТипПервые байты (шестнадцатеричные)
Документ PDF25 50 44 46 (текст %PDF)
Изображение PNG89 50 4E 47
Изображение JPEGFF D8 FF
ZIP, а также файлы Word и Excel (внутри них ZIP)50 4B 03 04 (текст PK)
Программа Windows4D 5A (текст MZ)

Несовпадение не доказывает, что файл опасен. Оно означает, что файл не тот, за кого выдаёт себя его имя, и этого достаточно, чтобы остановиться и выяснить, откуда он взялся.

Зашифрованные записи

Запись, защищённая паролем, скрывает своё содержимое. Просмотр по-прежнему покажет имена и размеры, но заглянуть внутрь здесь нельзя, и сканеры тоже не смогут прочитать содержимое. Поэтому злоумышленники используют зашифрованные архивы, чтобы провести файлы мимо фильтров. Банковские выписки и налоговые формы тоже часто шифруют намеренно. Если отправитель вам знаком, запросите пароль другим каналом связи и открывайте архив, только когда знаете, кто его отправил.

Мусор от macOS и Windows

Две системы добавляют файлы, которые вы не создавали:

  • macOS хранит дополнительные данные для каждого файла в скрытой папке __MACOSX с именами ._ рядом с файлами и создаёт файлы .DS_Store, в которых сохраняются настройки отображения Finder.
  • Windows добавляет Thumbs.db, кэш миниатюр, и desktop.ini, в котором хранятся настройки отображения папки.

Они безвредны, но засоряют архив и сбивают с толку получателя.

Очистите архив перед отправкой

Очистка ZIP-архива создаёт новый архив без файлов macOS и Windows. Исходный архив остаётся без изменений. Безопасная последовательность действий:

  1. Откройте архив в просмотре ZIP-архива и прочитайте каждое имя.
  2. Проверьте файлы, у которых имя или тип выглядят подозрительно, с помощью проверки типа файла.
  3. Очистите архив, затем откройте очищенную копию и убедитесь, что в ней есть всё, что вы хотели отправить.
  4. Отправьте очищенную копию.

Особые случаи

  • Архивы внутри архивов. Просмотр показывает внешний список. Откройте внутренний архив отдельно и проверьте его так же.
  • Повреждённые архивы. Центральный каталог находится в конце, поэтому повреждённый конец может вовсе не дать открыть ZIP. Это проблема повреждения, а не доказательство того, что архив безопасен. Проверка файла на повреждения.
  • Самораспаковывающиеся файлы. Архив с прикреплённой программой, часто с именем .exe, — это программа. Не запускайте её, если не доверяете источнику.
  • Чистый список — не гарантия. Аккуратный список показывает, что имена и размеры выглядят нормально, но не доказывает, что каждый файл безвреден. Не запускайте программу из архива, которому не доверяете, даже после проверки.

Переведено с помощью ИИ с Английский оригинал.

Комментарии

    Комментариев пока нет. Будьте первым.

    Ваша оценка (необязательно)

    Ваша почта никогда не показывается и не сохраняется.

    Обложка книги «Digital Workflow Toolkit»Digital Workflow Toolkit

    Рецепты, шаблоны и схемы для объединения мелких задач с файлами (конвертация, переименование, сжатие, объединение) в рабочие цепочки, которые каждый раз работают одинаково.

    $19.00Купить на GumroadНа английском