Как безопасно просканировать крупные хранилища файлов на вредоносное ПО

Пошаговая инструкция по проверке дисковых массивов на десятки терабайт.

Оптимизация и безопасное сканирование на заражение огромных файловых хранилищ

Сканирование жестких дисков рабочих компьютеров — простая ежедневная процедура, которая не мешает пользователю и не требует никаких ручных действий. Однако в случае с серверами ситуация осложняется, особенно если сканирование проводится при реагировании на инциденты и нужно внепланово проверить вообще все хранилища компании, а там — десятки терабайт данных. И при этом нужно обеспечить полную сохранность данных и не допустить заметного пользователям падения производительности. Чтобы не потерять время зря и не допустить дополнительных инцидентов, воспользуйтесь нашими советами и предосторожностями по списку. Советы, касающиеся непосредственно наших решений, мы даем на примерах Kaspersky Endpoint Security, но та же логика применима к другим защитным продуктам EPP/EDR.

Предварительные проверки

Проверьте конфигурацию компьютера, который будет проводить сканирование. Важно убедиться, что он имеет свежую и обновленную версию ОС, которая способна подключиться ко всем проверяемым дискам и корректно обработать данные: «понимает» длинные имена файлов с Unicode, может работать с файлами очень большого размера, файлами на разделах, чувствительных к регистру символов в именах, и так далее. Для ускорения проверки важно выбрать компьютер с мощным многоядерным процессором, значительным количеством памяти и быстрым локальным хранилищем для временных файлов.

Убедитесь, что доступ к дискам будет быстрым. Компьютер должен подключаться ко всем хранилищам либо напрямую (local storage), либо через быстрый сетевой интерфейс по производительному протоколу (в идеале — по разновидности SAN).

Проверьте резервные копии. Хотя сканирование не должно влиять на хранимые данные, в ситуации возможного заражения ВПО или повреждения файлов важно заранее продумать план «Б». Поэтому нужно тщательно проверить дату и состав свежей резервной копии всех данных, учесть, когда были учения по восстановлению данных, в общем, подтвердить полезность текущих версий бэкапа. Если актуальных резервных копий нет, нужно оценить риски, сроки и, возможно, создать резервную копию критических данных перед сканированием.

Уточните характер данных на дисках и технические параметры хранилища. Это потребуется, чтобы оптимизировать настройки сканирования. Организованы ли диски в массив RAID? Если да, какого типа? Нужно решить, проверять ли разные диски параллельно и даст ли это прирост производительности. Если к дискам возможен независимый доступ, обдумайте параллельное сканирование с нескольких компьютеров. Разумеется, здесь снова будут важны и скорость доступа, и мощность задействованных серверов. Для мощного компьютера, в основном ограниченного скоростью доступа к разным дискам, возможен запуск параллельных задач сканирования на одной машине.

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

Подготовка к сканированию

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

Убедитесь, что на дисках достаточно свободного пространства. При сканировании может потребоваться распаковка архивов и образов, иногда это требует много места.

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

Согласуйте и примените политику исключений. Чтобы уменьшить время проверки, нужно исключить из проверки ресурсы, которые не вызывают опасений или будут проверяться заградительно долго. Обычно к этой категории относят очень большие файлы (отсечка устанавливается по ситуации — от сотни мегабайт до нескольких гигабайт), дистрибутивы, резервные копии и другие файлы, которые не изменялись со времени предыдущих проверок, файлы, заведомо не являющиеся исполнимыми. Впрочем, с последней категорией не все так однозначно, вредоносные фрагменты могут быть скрыты и в обычных текстовых файлах, и в картинках. Поэтому здесь лучше «перебдеть» и проверять даже картинки.

 Удалите временные файлы и папки, чтобы не тратить время на их проверку.

Настройки сканирования

Здесь рекомендации нужно сильно корректировать в зависимости от сделанных ранее оценок и характера данных, но основные советы таковы:

  • Установите максимальный объем памяти и процессорного времени для сканирования с учетом профиля использования сервера. Если предполагается, что при сканировании он не будет доступен пользователям, можно отдать до 80% ресурсов CPU и памяти — при более высоких настройках компьютер может плохо реагировать на управление. Для сервера, остающегося под обычной нагрузкой, эти цифры нужно значительно снижать.
  • В консоли администрирования нашего продукта включите технологии iChecker and iSwift. Они ускоряют проверку некоторых форматов файлов и исключают из проверки данные, которые не изменились со времени прошлой проверки.
  • Там же можно включить дополнительные опции, исключающие избыточную нагрузку на систему: «Не запускать несколько задач проверки одновременно», «Проверять только новые и измененные файлы».
  • Отключите сканирование архивов, защищенных паролем, иначе приложение будет останавливать проверку для запроса пароля.
  • Настройте максимальный размер проверяемых файлов исходя из соображений, описанных в предыдущем подразделе.
  • Установите средний уровень эвристического анализа.
  • Выберите действия для зараженных объектов, вероятнее всего, лучшим выбором будет их карантин.
  • Установите настройки журналирования, чтобы в логах оставалась достаточно подробная информация о проверенных объектах и результатах проверки.

Более детально настройки производительности описаны на сайте техподдержки, например, здесь для Windows и здесь для Linux.

Запуск сканирования

Начните с проверки небольшого раздела или подмножества файлов общим объемом до терабайта. Оцените влияние сканирования на производительность сервера (это особенно важно, если он продолжает обслуживать пользователей), общую продолжительность процедуры, проверьте журналы на предмет ошибок. Если кажется, что сканирование было слишком долгим, попробуйте по журналам понять, что заняло самое большое время, чтобы найти «узкое горлышко». С учетом этих данных нужно скорректировать настройки и запланировать «большое сканирование».

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

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

Во время сканирования нужно отслеживать загрузку систем и прогресс проверки, чтобы вовремя вмешаться в случае нештатных ситуаций. Ну а после окончания каждой задачи — тщательно изучить журналы!

Советы

Как отключить слежку в iOS?

У вас есть iPhone, iPad или iPod? Потратьте несколько минут на настройку служб геолокации, чтобы сэкономить заряд батареи и сохранить конфиденциальность перемещений.