Перейти к содержимому

4. Проверка архива и распаковка ​

Суть этапа ​

В 0.1.0 проверяем структуру архива и безопасно извлекаем содержимое в изоляции. Это начало одной задачи анализа; затем проверяем файлы антивирусом и статическими правилами. Антивирус не разрешает запуск сайта.

Как работает ​

  1. Исполнитель получает снимок из карантина и сверяет его хеш.
  2. В изоляции проверяет пути, ссылки, число файлов и допустимый объём распаковки.
  3. Извлекает файлы с контролем фактических лимитов и соответствия манифесту.
  4. В той же задаче передаёт дерево инструментам сканирования.

Не делаем отдельный полный антивирусный проход по нашему ZIP перед аналогичной проверкой извлечённых файлов. Вложенные архивы анализирует выбранный движок с лимитами глубины, размера и времени. Архивы с паролем, неподдерживаемые форматы и пропуски не считаются полностью проверенными. Стартовые лимиты (4 GiB распаковки, 256 MiB на файл, 200 000 записей, сжатие до 200:1) считаются по фактически записанным байтам и заданы решением G04. ClamAV.

Возможные результаты общей задачи анализа ​

СтатусЗначение
Угрозы обнаруженыЕсть сигналы для дальнейшего исследования
Угрозы не обнаруженыНет срабатываний в проверенном содержимом
Проверка неполнаяЧасть содержимого осталась непроверенной
ОшибкаПроверка не завершилась

Malware сохраняем в карантине: задача сервиса может состоять именно в лечении. Не удаляем исходник автоматически. Повреждённый архив, выход пути за каталог, опасные ссылки или превышение лимита распаковки останавливают обычную обработку. OWASP: обработка файлов.

Результат этапа ​

Есть протокол проверки структуры и допустимая для статического анализа распакованная копия либо явная причина остановки. Исходный архив не изменён.

Securify · Документация проекта · Прототип → MVP