Спецпроекты

Microsoft заблокировала в Windows 10 ПО уважаемого разработчика

Безопасность Новости поставщиков Маркет

Исследователи обнаружили, что один из драйверов решения Trend Micro Rootkit Buster выявляет присутствие тестового набора Microsoft WHQL и в зависимости от этого по-разному работает с памятью. В Trend Micro злой умысел отрицают.

Вы с руткитами боретесь или им помогаете?

Корпорация Microsoft внесла в список блокируемых в Windows 10 драйвер решения знаменитого антивирусного разработчика Trend Micro для борьбы с руткитами — Rootkit Buster. Этому предшествовал скандал с обвинениями разработчика защитных решений в небезобидном жульничестве при тестировании. Rootkit Buster, впрочем, уже исчез с сайта Trend Micro, поскольку в нем обнаружилась «уязвимость средней степени опасности».

На прошлой неделе 18-летний эксперт по информационной безопасности Билл Демиркапи (Bill Demirkapi), учащийся в Технологическом университете Рочестера, сообщил об обнаружении ряда серьезных проблем в драйверах Trend Micro, которые могут привести к серьезной компрометации безопасности. Например, в буквальном смысле к установке руткита, с которым решение Trend Micro должно по идее бороться. Используя особенности проблемного драйвера, злоумышленники имеют возможность запустить в итоге вредоносный код на уровне ядра операционной системы.

Драйвер используется не только в утилите Rootkit Buster, но и в других разработках Trend Micro. По словам Демиркапи, драйвер в принципе является «идеальным кандидатом для злоупотреблений злоумышленниками по всему миру».

Особенности поведения

Далее Демиркапи обнаружил, что функция IsVerifierCodeCheckFlagOn() проверяет, запущены ли в системе тестовые наборы Microsoft, в частности, средства проверки драйверов на соответствие требованиям качества Microsoft Windows Hardware Quality Labs (WHQL).

microsoft_558.jpg
Trend Micro обвинили в манипуляциях с тестами Microsoft

По мнению Демиркапи, это сделано специально: разработка Trend Micro ведет себя по-разному, в зависимости от присутствия или отсутствия тестового набора Microsoft. Для успешного прохождения тестов, проверяемое ПО должно использовать область памяти из невыгружаемого пула, не предполагающего выполнения кода (NoExecuteNon-PagedPool, он же NonPagedPoolNX). Это мера предосторожности против вредоносных программ, пытающихся использовать память, выделенную под драйвер.

Как утверждает исследователь, в присутствии тестового набора WHQL, драйвер Trend Micro так и делает. В отсутствие тестовых средств, однако, драйвер начинает использовать невыгружаемый пул, в котором возможен запуск кода (executableNon-PagedPool), что небезопасно. Подобное поведение драйвера не позволило бы разработкам Trend Micro пройти тестирование WHQL.

Демиркапи заявил, что был в шоке от того, насколько грязно был написан код драйвера, отметив, что, хотя Trend Micro принял базовые меры предосторожности, риск все равно велик.

Свои наблюдения исследователь опубликовал сразу в общем доступе, за что был раскритикован в Trend Micro. Более того, в компании заявили, что обвинения в попытках манипуляций с тестами, являются ложью, и что Демиркапи больше интересует внимание к его персоне, нежели вопросы безопасности.

Почему, однако, осуществляется проверка присутствия тестовых средств WHQL, в Trend Micro так и не объяснили.

Сомнительный код

Сотрудники издания Register подтвердили справедливость предположений Демиркапи, самостоятельно произведя обратную разработку спорного драйвера. Получить объяснения от Trend Micro им так и не удалось. В ответ на запросы журналистов в компании лишь повторили, что никаких манипуляций, нацеленных на обход требований WHQL, не производится.

«Данные исследователей позволяют констатировать справедливость их обвинений: других объяснений, зачем драйвер индексирует присутствие тестового набора WHQL, не находится, — говорит Михаил Зайцев, эксперт по информационной безопасности компании SEC Consult Services. — Возможно TrendMicro потом представят какие-то пояснения на этот счет, но разумнее с их стороны было бы выдать “чистый” код, которому не нужно “изменять поведение”, в зависимости от присутствия-отсутствия тестовых средств. А то это вызывает лишние аллюзии на вредоносы, проверяющие, не в виртуальных ли машинах их запустили».

Что касается блокирования драйвера в Windows 10, в Trend Micro утверждают, что это было сделано по запросу самого разработчика антивирусов — «в связи с внутренним тестированием на совместимость с грядущим обновлением Windows 10». А Rootkit Buster удален с сайта TrendMicro из-за найденной в нем «уязвимости средней степени опасности».

Прочие продукты TrendMicro продолжают функционировать в среде Windows 10 в штатном порядке, несмотря на блокировку драйвера.