Pull to refresh

Анализ защищенности утилиты удаления продуктов Лаборатории Касперского

Reading time3 min
Views2K
Общая надежность защиты системы определяется ее наименее стойким компонентом. Если конструктор защиты забывает об этом правиле, она рано или поздно рушится…
Возникла на днях проблема — удалить заклинившего Касперского. Старый ни в какую не хотел удаляться, новый не желал ставиться. Великий и могучий Гугл выдал решение проблемы — «Утилиту удаления продуктов Лаборатории Касперского», собственно, за авторством самой Лаборатории. Программка оказалась на редкость интересная, поэтому сразу возникло желание ее поковырять…



Как оказалось, эта замечательная утилита одним махом сносит все известные миру продукты от Лаборатории Касперского (под Windows, конечно), мало того, без лишних разговоров удаляются самые параноидальные конфигурации, в том числе и запароленные! Утилита подписана цифровой подписью Лаборатории и автоматом попадает в группы «Доверенные», причем, даже если в настройках снята галка «Помещать в „Доверенные“ программы, имеющие цифровую подпись», тут, видимо, антивирус чувствует родную кровинушку и приветливо хлопает ушами при встрече с Ремувером. За все это счастье от нас требуют ввести какую-то вяленькую каптчу, на которую без слез и не взглянешь…

Итак, приступим


Для получения координат поля картинки каптчи находим окно Ремувера, просматриваем список оконных элементов, ищем элемент класса «STATIC» и пустым текстом. Имея координаты, вырезаем эту область из скриншота экрана и передаем алгоритму распознавания. Снять копию клиентской области активного окна Румувера не вышло, либо руки кривы (хотя с другими приложениями все работало), либо ребята из Лаборатории все-таки что-то там намудрили для защиты, пришлось вырезать область каптчи из снимка всего экрана. Готовую строку загоняем в буфер обмена и вставляем в поле ввода кода в окне утилиты, ну а дальше уже можно сэмулировать нажатие кнопочек «Удалить» и «Выход». Само окно можно спрятать, задвинуть за пределы экрана или повесить сверху свое. Программа, использующая Ремувер, с точки зрения антивируса не совершает ничего противозаконного и попадает в группу «Слабые ограничения». Сам же Ремувер, запущенный этой программой, попадает в «Доверенные».

Распознавание каптчи


Опытным путем было установлено, что в каптче используется всего 16 символов (откуда такая жадность дядя Женя?). Это отдельные цифры (0-9) и первые 6 букв латинского алфавита (A,B,C,D,E,F). Шрифт не меняется, наклон и искажения не используются. В качестве «защиты» применяется небольшое изменение положения каждого символа и рандомный точечный шум.



1. Очистка шума


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



2. Выделение областей, содержащих символы


Используется статистика распределения закрашенных пикселей, грубо говоря, где сильнее концентрация, там, видимо, есть символ. Отбирается 8 областей с самой высокой концентрацией.



3. Распознавание каждого символа методом сравнения с эталоном


Т.к. символы на каптче не подвергаются геометрическим деформациям, было решено просто собрать коллекцию из 16 эталонных изображений, при распознавании попиксельно сравнивать с областями, предположительно, содержащими символы. Тот эталон, для которого будет больше всего совпадений, и будем считать правильным решением.



В моей демке эффективность распознавания для отдельного символа составляет 99%, для всей каптчи из 8 символов соответственно 92%. Сразу предупреждаю, ничего она не удаляет, просто распознает каптчу и вставляет код в поле ввода.

Вывод


Злоумышленнику не составит труда скрыто использовать утилиту удаления продуктов Лаборатории Касперского (например, встроить ее в троян), т.к. механизмы защиты реализованные в ней слишком примитивны.

Что делать?


1. Ребятам из Лаборатории закупиться пивом, или чем там они стимулируют работу головного мозга, довести сложность каптчи до приемлемого уровня и вообще подумать над защитой утилиты. Выпустить новую, стойкую версию Ремувера.
2. Старые версии занести в черные списки, ну или хотя бы сделать так, чтобы они не попадали автоматом в доверенные. Обычные пользователи не пострадают т.к. смогут всегда скачать новую версию, а злоумышленник не сможет незаметно запустить старую.
3. Ну, или можно просто забить на это дело и надеется, что вирусописателям будет влом встраивать распознавалки в трояны, хотя чат-боты уже вовсю используют

P.S.


Вообще, я с большим уважением отношусь к Лаборатории Касперского, сам всю сознательную жизнь пользуюсь фактически только их продуктами, поэтому просто хочу чтобы качество защиты стало еще выше. Рекомендую использовать мою примочку только при острых приступах лени и близорукости, а не в деструктивных целях;) К слову, у Dr.Web тоже есть подобная утилита, но она отличается более серьезной каптчей. Постараюсь рассказать о ней в следующий раз, если этот топик будет кому-то интересен.
Tags:
Hubs:
Total votes 106: ↑101 and ↓5+96
Comments58

Articles