Устройство за €30–60, которое админы подключают к серверам ради удобства, оказалось способно тайно записывать звук и сливать трафик в Китай.

В феврале словенский исследователь информационной безопасности опубликовал разбор китайского устройства удалённого управления NanoKVM, из которого выяснилось: дешёвый KVM-комплект за €30–60 поставлялся с целым набором уязвимостей и скрытым микрофоном, который можно было удалённо включать по SSH. Часть проблем за прошедшие месяцы производитель уже исправил, но история показывает, насколько опасно бездумно пускать «чёрные ящики» в свои сети.
NanoKVM — это компактная плата на RISC-V, вышедшая на рынок в прошлом году как бюджетная альтернатива PiKVM. Устройство умеет захватывать HDMI-видео, эмулировать USB-клавиатуру и мышь, управлять питанием и давать браузерный доступ к подключённому ПК. Для админов и энтузиастов это удобный способ «держать за шнурок» сервер или домашний сервер с момента включения — от BIOS и до установки операционной системы, без установки какого-либо ПО на саму целевую машину. Неудивительно, что такие коробочки начали появляться и в реальных IT-инфраструктурах.
По словам исследователя, проблемы безопасности начинаются буквально с момента загрузки устройства. Ранние партии NanoKVM приходили с заданным по умолчанию паролем и открытым доступом по SSH. Об этом он сообщил Sipeed, и позже компания эти настройки изменила. Однако веб-интерфейс до сих пор остаётся минимально защищённым: в нём нет защиты от CSRF-атак и механизма принудительного сброса активных сессий — выйти из личного кабинета «по-настоящему» нельзя.
Отдельная история — обращение с паролями. Ключ шифрования, которым NanoKVM защищает логины в браузере, оказался жёстко зашит в прошивку и одинаков на всех устройствах. То есть, получив этот ключ, злоумышленник потенциально может расшифровать пароли с любого NanoKVM. По словам исследователя, разработчикам пришлось объяснять проблему «несколько раз», прежде чем они признали её серьёзность.
Сетевое поведение платы тоже вызвало вопросы. По умолчанию устройство отправляло DNS-запросы через серверы в Китае и регулярно связывалось с инфраструктурой Sipeed за обновлениями и закрытым бинарным компонентом. Ключ проверки этого компонента лежал на устройстве в открытом виде, а целостность загружаемой прошивки вообще никак не проверялась. Это создаёт удобную точку для атак на цепочку поставок — как со стороны производителя, так и при компрометации его серверов.
При этом установленный Linux-образ выглядел парадоксально: сильно урезанная система без привычных инструментов администрирования, но с предустановленными tcpdump и aircrack — утилитами, которые больше ассоциируются с анализом трафика и тестированием Wi-Fi, чем с «коробочным» продуктом для работы в привилегированных сетях.
На фоне этого особенно тревожно выглядела находка миниатюрного микрофона на плате. В официальных материалах о нём нигде не говорится, но в системе были доступны ALSA-утилиты вроде amixer и arecord, готовые сразу же захватывать звук. На многих уже развёрнутых устройствах продолжали использовать заводские SSH-учётные данные, и исследователь показал, что запись и отправку аудио с NanoKVM можно организовать минимальными усилиями. Для потоковой трансляции звука в реальном времени, по его оценке, нужен лишь небольшой дополнительный скрипт.
Спасает ситуацию то, что NanoKVM формально позиционируется как open source-платформа. Сообщество быстро подключилось и начало переносить на устройство альтернативные дистрибутивы Linux — сначала Debian, затем Ubuntu. Для перепрошивки нужно разобрать корпус и записать новый образ на внутреннюю microSD-карту, но первые сборки уже умеют работать с модифицированным KVM-кодом Sipeed. Физически удалить микрофон тоже возможно, хотя из-за его размеров и расположения это довольно ювелирная операция без увеличительного стекла.
По данным исследователя, за прошедшие месяцы Sipeed устранил значительную часть найденных уязвимостей. Тем не менее многие в сообществе сходятся во мнении, что полагаться исключительно на заводскую прошивку не стоит. Рекомендация одна: если вы всё-таки используете NanoKVM, имеет смысл перепрошить его на кастомный Linux и жёстко ограничить доступ к устройству. Пока же эти платы чаще рассматривают как игрушку для homelab-экспериментов, а не как инструмент для ответственных корпоративных сетей.