Skip to content
Эта страница создана и переведена с помощью ИИ. Если вы заметили неточности, помогите нам улучшить её. Редактировать на GitHub

Сканирование USB-устройств

Команда sd scan-usb обнаруживает подключённые съёмные USB-накопители и сканирует их содержимое на вредоносные программы. Это критически важно для сред, где USB-накопители являются распространённым вектором доставки вредоносных программ, таких как изолированные сети, общие рабочие станции и промышленные системы управления.

Принцип работы

При вызове sd scan-usb выполняет следующие шаги:

  1. Обнаружение устройств — Перечисляет блочные устройства через /sys/block/ и определяет съёмные устройства (USB-накопители).
  2. Определение монтирования — Проверяет, смонтировано ли устройство. Если нет, может опционально смонтировать его в режиме только для чтения во временный каталог.
  3. Полное сканирование — Запускает полный конвейер обнаружения (сопоставление хешей, правила YARA, эвристический анализ) по всем файлам на устройстве.
  4. Отчёт — Создаёт отчёт о сканировании с вердиктами для каждого файла.

Автомонтирование

По умолчанию sd scan-usb сканирует уже смонтированные устройства. Используйте --auto-mount для автоматического монтирования несмонтированных USB-устройств в режиме только для чтения для сканирования.

Базовое использование

Сканирование всех подключённых USB-накопителей:

bash
sd scan-usb

Пример вывода:

PRX-SD USB Scan
===============
Detected USB devices:
  /dev/sdb1 → /media/user/USB_DRIVE (vfat, 16 GB)

Scanning /media/user/USB_DRIVE...
Scanned: 847 files (2.1 GB)
Threats: 1

  [MALICIOUS] /media/user/USB_DRIVE/autorun.exe
    Layer:   YARA rule
    Rule:    win_worm_usb_spreader
    Details: USB worm with autorun.inf exploitation

Duration: 4.2s

Параметры команды

ПараметрСокр.По умолчаниюОписание
--auto-quarantine-qвыкл.Автоматически помещать обнаруженные угрозы в карантин
--auto-mountвыкл.Монтировать несмонтированные USB-устройства в режиме только для чтения
--device-dвсеСканировать только конкретное устройство (например, /dev/sdb1)
--json-jвыкл.Вывод результатов в формате JSON
--eject-afterвыкл.Безопасно извлечь устройство после сканирования
--max-size-mb100Пропускать файлы крупнее указанного размера

Автокарантин

Автоматическая изоляция угроз, найденных на USB-устройствах:

bash
sd scan-usb --auto-quarantine
Scanning /media/user/USB_DRIVE...
  [MALICIOUS] /media/user/USB_DRIVE/autorun.exe → Quarantined (QR-20260321-012)
  [MALICIOUS] /media/user/USB_DRIVE/.hidden/payload.bin → Quarantined (QR-20260321-013)

Threats quarantined: 2
Safe to use: Review remaining files before opening.

Важно

При использовании --auto-quarantine при сканировании USB вредоносные файлы перемещаются в локальное хранилище карантина на хост-машине, а не удаляются с USB-устройства. Исходные файлы на USB остаются, если не используется также --remediate.

Сканирование конкретных устройств

При подключении нескольких USB-устройств сканируйте конкретное:

bash
sd scan-usb --device /dev/sdb1

Список обнаруженных USB-устройств без сканирования:

bash
sd scan-usb --list
Detected USB storage devices:
  1. /dev/sdb1  Kingston DataTraveler  16 GB  vfat  Mounted: /media/user/USB_DRIVE
  2. /dev/sdc1  SanDisk Ultra          64 GB  exfat Not mounted

Вывод JSON

bash
sd scan-usb --json
json
{
  "scan_type": "usb",
  "timestamp": "2026-03-21T17:00:00Z",
  "devices": [
    {
      "device": "/dev/sdb1",
      "label": "USB_DRIVE",
      "filesystem": "vfat",
      "size_gb": 16,
      "mount_point": "/media/user/USB_DRIVE",
      "files_scanned": 847,
      "threats": [
        {
          "path": "/media/user/USB_DRIVE/autorun.exe",
          "verdict": "malicious",
          "layer": "yara",
          "rule": "win_worm_usb_spreader"
        }
      ]
    }
  ]
}

Распространённые USB-угрозы

USB-устройства часто используются для доставки следующих типов вредоносных программ:

Тип угрозыОписаниеУровень обнаружения
Черви через autorunЭксплуатация autorun.inf для выполнения в WindowsПравила YARA
USB-дропперыЗамаскированные исполняемые файлы (например, document.pdf.exe)Эвристика + YARA
Нагрузки BadUSBСкрипты, нацеленные на атаки с эмуляцией HIDАнализ файлов
Носители программ-вымогателейЗашифрованные нагрузки, активирующиеся при копированииХеш + YARA
Инструменты утечки данныхУтилиты для сбора и извлечения данныхЭвристический анализ

Интеграция с мониторингом в реальном времени

Вы можете комбинировать сканирование USB с демоном sd monitor для автоматического сканирования USB-устройств при их подключении:

bash
sd monitor --watch-usb /home /tmp

Это запускает монитор файловой системы в реальном времени и добавляет возможность автосканирования USB. При обнаружении нового USB-устройства через udev оно автоматически сканируется.

Режим киоска

Для публичных терминалов или общих рабочих станций комбинируйте --watch-usb с --auto-quarantine для автоматической нейтрализации угроз с USB-устройств без вмешательства пользователя.

Следующие шаги

Released under the Apache-2.0 License.