По сообщению «Лаборатории Касперского», эксперты Kaspersky ICS CERT провели исследование различных реализаций системы удаленного доступа Virtual Network Computing (VNC) и обнаружили 37 уязвимостей порчи памяти, многие из которых существовали на протяжении очень долгого времени. Эксплуатация некоторых уязвимостей могла позволить злоумышленникам удаленно исполнять код.

Система VNC предназначена для предоставления одному устройству удаленного доступа к экрану другого, причем спецификация протокола не ограничивает выбор ОС и допускает кроссплатформенные реализации, что делает систему одной из самых распространенных. Точное количество инсталляций оценить сложно; оценкам shodan.io, количество VNC-серверов, доступных из глобальной сети, составляет более 600 тыс. С учетом устройств, доступных только внутри локальной сети, общее число используемых VNC-серверов будет во много раз больше. По данным Kaspersky ICS CERT, подобные системы также широко используются на объектах промышленной автоматизации: в среднем каждый третий компьютер в индустриальной сети содержит различные средства для удаленного администрирования, в том числе и VNC.

В ходе исследования специалисты Kaspersky ICS CERT изучили ряд наиболее часто встречающихся реализаций VNC: LibVNC, UltraVNC, TightVNC1.X и TurboVNC (они были ранее исследованы другими экспертами, но далеко не все бреши были обнаружены и закрыты). В общей сложности заведено 37 CVE, которые описывают найденные новые уязвимости, как в клиентских, так и в серверных компонентах VNC. Некоторые из этих уязвимостей позволяют удаленно выполнить произвольный код, т. е. злоумышленник потенциально может получить контроль над атакованной системой. Однако для эксплуатации серверных уязвимостей часто необходима парольная аутентификация, при этом из соображений безопасности сервер может не позволить установить беспарольный метод аутентификации.

Как отмечают в Kaspersky ICS CERT, среди обнаруженных уязвимостей были достаточно простые, тем не менее время их жизни было очень долгим. При этом нельзя сказать наверняка, что злоумышленники их не заметили прежде. Важно также, что некоторые классы обнаруженных уязвимостей содержатся в большом количестве проектов на основе открытого кода и сохраняются в них даже после рефакторинга кодовой базы кода.

Информация обо всех найденных уязвимостях в VNC была передана разработчикам систем. Почти все они закрыли бреши, за исключением TightVNC, который более не поддерживается командой разработки. В связи с этим Kaspersky ICS CERT рекомендует пользователям упомянутой системы рассмотреть использование альтернативных реализаций VNC.