Шесть уязвимостей нулевого дня за час ручной проверки. Исследователь Midnight Blue взломал защиту промышленных холодильных контроллеров Danfoss AK-SM 800A и показал, почему даже новейшая прошивка не гарантирует безопасность оборудования.
Проблемы обнаружил Карло Мейер (Carlo Meijer), изучив прошивку 5.3.2, последнюю на момент исследования. Все шесть ошибок позволяют удалённо выполнить код без авторизации и связаны с переполнением буфера в стеке. Уязвимости затрагивают версии вплоть до 5.3.2 включительно. Исследователи Midnight Blue уже уведомили Danfoss, но номера CVE пока не присвоены, а технические подробности раскрыты частично.
Контроллеры AK-SM 800A управляют холодильными установками в супермаркетах, на складах и пищевых предприятиях. Через сетевой интерфейс персонал регулирует температуру, запускает разморозку и следит за оборудованием. Компрометация центрального контроллера потенциально позволяет вмешаться в работу сразу нескольких установок, испортить продукты или нарушить технологический процесс.
Мейер загрузил общедоступный образ прошивки и запустил компоненты системы в эмуляторе ARM. Внутри обнаружилась Linux-система Danux на базе Yocto и крупное приложение sm_app, отвечающее за управление устройством. Анализ показал сотни вызовов небезопасной функции strcpy(), которая копирует данные без проверки размера целевого буфера. Некоторые обработчики доступны без входа в систему.
Ситуацию усугубляет отсутствие базовых механизмов защиты памяти. Разработчики не включили стековые канарейки и PIE, затрудняющие эксплуатацию переполнений. При этом основной процесс работает с правами root. Исследователь продемонстрировал выполнение произвольного кода с максимальными привилегиями. Найденные ошибки присутствуют даже в актуальной прошивке, хотя демонстрация проводилась на более старой версии.
Не спасает и строгий режим защиты, который Danfoss сделала стандартным начиная с версии 4.0. Такой режим требует HTTPS и проверяет сеансовые токены до передачи запросов приложению. Однако Мейер обнаружил ещё одно переполнение в компоненте sm_fcgi_app, отвечающем за проверку доступа. Ошибка позволяет обойти защиту и потенциально выполнить код без пароля.
Дополнительная опасность связана с отсутствием безопасной загрузки. По оценке Midnight Blue, атакующий с системными привилегиями способен закрепиться в контроллере даже после сброса настроек либо установить повреждённую прошивку и вывести устройство из строя. Исследователи описывают такие сценарии как технически осуществимые, но не утверждают, что злоумышленники уже воспользовались новыми ошибками.
В исследовании Midnight Blue советуют не ограничиваться исправлениями. Владельцам предлагают убрать панели управления из открытого интернета, организовать доступ через VPN, частные мобильные сети APN или строго ограниченные списки IP-адресов. Проверять необходимо и подключения через модемы обслуживающих подрядчиков.
Угроза уже имеет практический контекст. В октябре атаки на холодильники затронули сотни французских магазинов. Злоумышленники меняли параметры разморозки, что привело к порче продуктов. Однако связь новых шести уязвимостей с нападениями не установлена. Исследование показывает, что даже после обновления прошивки открытый сетевой доступ остаётся серьёзным риском.