В альтернативной операционной системе для сетевых и встраиваемых устройств выявлена серьезная уязвимость, которая может приводить к полной компрометации устройств. Исправления уже опубликованы.
Открытая альтернатива
Открытая операционная система OpenWRT, на базе которой функционируют миллионы роутеров и встраиваемых устройств, уязвима перед атакой, позволяющей запускать под ней произвольный код. Среди уязвимых устройств — разработки Asus, D-Link, Linksys, MikroTik, Netgear, TP-Link и другие.
OpenWRT представляет собой модульную операционную систему на базе Linux, которая может использоваться как альтернативный вариант официальных прошивок для встраиваемых и сетевых устройств: роутеров, шлюзов, точек доступа, одноплатных компьютеров и т. д.
В описании говорится, что OpenWRT — это не «статичная прошивка», а полностью перезаписываемая файловая система с функцией управления пакетами, так что под каждое устройство можно подобрать только те пакеты и модули, которые необходимы для конкретных задач. Для разработчиков OpenWRT представляет собой фреймворк для создания отдельных приложений без необходимости писать всю программную оболочку для встраиваемого устройства. Для пользователей — при условии, что они обладают нужной квалификацией, это возможность использовать устройство произвольным образом.
OpenWRT обновляется в среднем чаще, чем официальные прошивки, так что в некоторых случаях эта операционная система оказывается лучшим выбором. Но опять же, если пользователь в состоянии с ней управиться.
Уязвимость (CVE-2020-7982) обнаружилась в основном диспетчере пакетов OPKG. Баг позволяет злоумышленникам обходить проверку целостности скачиваемых пакетов .ipk, а это открывает возможность внедрять вредоносное содержимое в них. И поскольку OPKG работает с root-правами и полномочиями на запись по всей файловой системе, это может приводить к полной компрометации устройства.
Для эксплуатации уязвимости злоумышленнику потребуется перехватить и подменить данные, которые уязвимое устройство обменивается с веб-сервером (с которого происходит скачивание) или подменить DNS-настройки первого, чтобы перенаправить трафик с официального ресурса downloads.openwrt.org к веб-серверу злоумышленника. Вредоносный пакет должен иметь те же размеры, что и легитимный.
Исправления есть, но…
Патч к уязвимости был выпущен в январе 2020 г. (версии 18.06.7 и 19.07.1), однако впоследствии обнаружилась еще одна проблема — уязвимость (CVE-2020-8597, не связана с OpenWRT напрямую), которую тоже недавно пришлось исправлять. Рекомендуется скачивать самые последние версии OpenWRT.
Эта вторая уязвимость затрагивает демон протокола PPP (pppd), присутствующий во всех UNIX-подобных операционных системах, включая Linux и его деривативы. Проблема в pppd может приводить к запуску произвольного кода и полному захвату контроля над операционной системой. Исправления выпущены в конце февраля 2020 г.
«Чем чаще обновляется та или иная программа, тем выше вероятность и обнаружения в ней ошибок, и скорейшего их исправления, — говорит Анастасия Мельникова, эксперт по информационной безопасности компании SECConsultServices. — Оперативность исправлений — это фактор безопасности, и OpenWRT в этом плане находится в выигрышном положении. Узким местом однако остается установка обновлений конечными пользователями. Автоматическое обновление реализовано (и реализуемо) далеко не всегда».