Хакерам удалось украсть биткойны из банкоматов — случай, который показывает, что атаки на физические устройства становятся всё более изощрёнными. Банкоматы — это специализированные компьютеры, часто работающие на Windows или Linux, с сетью, периферией и наличными внутри. Их компрометация сочетает кибербезопасность и физическую безопасность.

Разберём, как происходят такие атаки, какие уроки из них следуют и что делать администраторам устройств на Linux.

Как атакуют банкоматы

Есть несколько сценариев. Программные атаки используют уязвимости в ПО банкомата, слабую аутентификацию или доступ к служебным интерфейсам. Физические — вскрытие корпуса, установка скиммеров, подключение к отладочным портам. Социальная инженерия — убедить сотрудника запустить «обновление».

В случае с биткойнами злоумышленники могли использовать банкоматы, которые продают криптовалюту: устройство принимает наличные и отправляет монеты на кошелёк. Компрометация ПО позволяет инициировать транзакцию без оплаты или перенаправить средства.

Почему это касается Linux-администраторов

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

# типичная проверка встраиваемой системы
systemctl list-units --type=service --state=running
ss -tulpn
uname -a

Минимизация поверхности атаки

  1. Отключите неиспользуемые сервисы и порты.
  2. Ограничьте сетевой доступ: банкомат должен общаться только с доверенными хостами.
  3. Запретите внешние носители и загрузку с USB.
  4. Включите проверку целостности загрузки и подписи обновлений.
  5. Ограничьте физический доступ к портам и корпусу.
  6. Настройте централизованный сбор логов.
sudo systemctl disable --now cups bluetooth avahi-daemon
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable

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

Обновления в жёстких условиях

Встраиваемые системы обновляются редко, потому что любое изменение требует сертификации. Но это не оправдание для years-old уязвимостей. Используйте атомарные обновления и возможность отката: обновление должно быть проверяемым и обратимым.

# пример атомарной схемы (A/B разделы)
lsblk -f
cat /proc/cmdline

Для Linux-устройств подойдут системы с образом только для чтения, подписанными обновлениями и отдельным разделом данных. Если злоумышленник изменит корень, устройство должно это обнаружить.

Журналирование и мониторинг

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

sudo apt install auditd
sudo auditctl -w /etc -p wa -k etc_changes
sudo ausearch -k etc_changes | tail -20
journalctl -p warning -b | tail -30

Физическая безопасность

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

Скиммеры и поддельные накладки на картридеры — давняя проблема. Регулярные проверки и обучение сотрудников снижают риск.

Что делать при инциденте

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

last -a | head
who
ss -tunp
ps aux --sort=-%cpu | head -15

После восстановления закройте вектор: обновите ПО, смените ключи, ограничьте доступ. Если не понять, как злоумышленник попал внутрь, инцидент повторится.

Как устроен жизненный цикл банкомата

Банкомат живёт дольше обычного компьютера: десять лет для него не редкость. За это время меняются версии ОС, драйверов и платёжного ПО, а производитель может прекратить поддержку модели. Администратор оказывается между требованием обновляться и риском потерять сертификацию.

Практический выход — разделить систему на слои: неизменяемый базовый образ, отдельный слой приложения и отдельный слой данных. Тогда обновление безопасности не затрагивает приложение, а приложение можно тестировать независимо.

# проверить, какие разделы смонтированы только для чтения
mount | grep -E "ro,|,ro"
findmnt -o TARGET,SOURCE,FSTYPE,OPTIONS | head -20

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

Сеть и сегментация

Банкомат не должен находиться в той же сети, что офисные компьютеры. Выделенный VLAN, белый список адресов и запрет исходящих соединений кроме платёжного хоста drastically снижают возможности атакующего.

ip -br a
ip route
sudo nft list ruleset | head -40

Если устройство использует беспроводную связь, убедитесь, что она не настроена на открытую сеть и что учётные данные не хранятся в открытом виде. Резервный канал должен быть не менее защищён, чем основной.

Для удалённой диагностики используйте отдельный интерфейс управления с ограничением по источнику. Не публикуйте SSH или веб-панель в интернет, даже со сложным паролем.

sudo ss -tulpn
sudo ufw status numbered

И проверяйте время: рассинхронизация часов ломает проверку сертификатов и журналы. Настройте NTP с доверенным источником и контролируйте дрейф.

timedatectl status
chronyc tracking 2>/dev/null | head

Итог

Кража биткойнов из банкоматов — напоминание, что встраиваемые Linux-системы требуют такой же дисциплины, как серверы. Минимизируйте сервисы, ограничьте сеть, обновляйте ПО, собирайте логи и защищайте устройство физически. Безопасность — это слои, а не один патч.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Поделиться: Telegram ВКонтакте