Уязвимость в продуктах Kaspersky могла быть использована для отслеживания перемещения пользователей в Сети

Вчера Рональд Айкенберг (Ronald Eikenberg) из издания c’t magazine опубликовал своё исследование, в котором говорится о том, что многие годы антивирус Касперского фактически помогал всем заинтересованным лицам отслеживать перемещения своих пользователей в сети. На данный момент проблема уже устранена, хотя и не без некоторых нюансов, но сам факт, что один из мировых лидеров в области информационной безопасности допустил подобный инцидент, вызывает определённое удивление.

Найденная немецким специалистом по безопасности уязвимость в работе веб-фильтра антивируса Kaspersky могла в течении многих лет использоваться для отслеживания перемещения его пользователей в Сети

Специалисты c’t magazine регулярно проводят тестирования продуктов безопасности различных компаний. В марте Рональд для этих целей установил на свой рабочий компьютер Kaspersky Internet Security. В ходе знакомства с продуктом у журналиста не возникло никаких нареканий, хотя он и сравнил иронично его работу с Windows Defender, но в какой-то момент Рональд обнаружил странный артефакт. Он посмотрел html-код произвольного веб-сайта и обнаружил там следующую строку коду:

Очевидно, что это внешний скрипт на языке JavaScript с именем main.js, загружающийся с сервера Лаборатории Касперского. Сама практика загрузки внешних скриптов не редкость, сейчас те или иные внешние ресурсы загружают большинство существующих веб-сайтов. Однако когда журналист проверил код на других страницах, он обнаружил, что данная строчка кода дублировалась на каждой посещаемом им веб-сайте, вплоть до его онлайн-банка. После чего Рональд сделал логичный вывод, что это связано с недавно установленным антивирусом.

В рамках эксперимента он проверил, повторяется ли эта ситуация в Firefox, Edge и Opera, и убедился, что данный скрипт загружается на любой веб-странице в любом браузере. Учитывая отсутствие подозрительных расширений для браузера, которые могли бы быть ответственными за данное явление, Рональд сделал простой вывод, что антивирус Касперского манипулирует его интернет-трафиком, добавляя данный код на все посещаемые им страницы без его явного разрешения, что напоминает поведение банковских троянов — вредоносных программ, созданных для перехвата данных с веб-сайтов, принадлежащих банкам, например, для скрытого изменения получателя денежного перевода.

После непродолжительного анализа журналист выяснил, что скрипт main.js ответственен за отображение зеленых значков рядом с результатами поиска в Google, если Kaspersky считает, что соответствующая ссылка ведет на безопасный сайт. На этом всё могло бы и завершиться, если бы ни одна маленькая деталь: адрес, с которого был загружен скрипт, содержал подозрительную подстроку:

Выделенная часть явно напоминает универсальный уникальный идентификатор (UUID). Эти идентификаторы используются для однозначной идентификации пользователей. Но кого или что можно идентифицировать, используя ID от Kaspersky?

Рональд расширил свой эксперимент и установил программное обеспечение Kaspersky на другие рабочие компьютеры издания, после чего Kaspersky также внедрил свой JavaScript в веб-страницы и на этих системах. Затем журналист обнаружил, что UUID был разным и уникальным для каждого компьютера. Он оставался постоянным и не менялся даже спустя несколько дней. Таким образом, было ясно, что у каждого компьютера был свой постоянный идентификатор.

Kaspersky оставлял UUID прямо в адресе скрипта в исходном коде HTML каждого сайта. Другие скрипты, работающие в контексте домена веб-сайта, могли в любое время получить доступ к нему. Другими словами, любой сайт может прочитать идентификатор пользователя Kaspersky и использовать его для отслеживания перемещений попавшегося пользователя в сети. Если тот же универсальный уникальный идентификатор возвращается или появляется на другом веб-сайте, третьи лица могут не сомневаться, что используется тот же компьютер и вероятно это тот же самый человек. Если это предположение верно, Kaspersky создал опасный механизм отслеживания, который оставляет в стороне cookie, значительно упрощая задачу маркетинговым сетям и злоумышленникам. И, что примечательно, данный механизм может преодолеть даже режим инкогнито любого из популярных браузеров.

Рональд создал простой тестовый сайт, который демонстрировал механизм отслеживания пользователей по Kaspersky ID, независимо от их браузера и его настроек

Продолжая своё исследование, Рональд создал простой веб-сайт, который автоматически считывал и сохранял идентификатор Kaspersky у всех посетителей. После того как он собрал идентификаторы нескольких тестовых компьютеров, Рональд также сохранил имена коллег, которым принадлежали эти компьютеры, в коде демонстрационной страницы. С этого момента она приветствовала их лично по именам всякий раз, когда они открывали сайт, независимо от того, какой браузер они использовали или как часто они удаляли куки. И режим инкогнито, как и ожидалось, ничем не смог помочь в этом случае. В этот момент Рональду стало ясно, что это серьёзная проблема безопасности.

В рамках политики журнала c’t вначале журналист не стал публиковать свою находку, а вместо этого связался с Лабораторией Касперского. Исследовательский отдел компании ответил достаточно быстро, заверив, что они изучат данный вопрос. Примерно через две недели штаб-квартира компании в Москве ответила Рональду, что проблема, которую он обнаружил, была определена как реальная угроза. Это коснулось всех потребительских версий программного обеспечения Kaspersky для Windows, от бесплатной версии до изданий Kaspersky Internet Security и Total Security, а также Small Office Security.

Как Рональду удалось выяснить, подобная уязвимость впервые появилась в Kaspersky 2016, выпущенном осенью 2015 года, таким образом заинтересованные люди могли использовать её для отслеживания пользователей Антивируса Касперского на протяжении почти 4 лет.

По словам представителей Лаборатории Касперского, «такая атака слишком сложна для реализации и не выгодна для киберпреступников, а поэтому вряд ли будет использована». Рональд с этим не согласен: если ему удалось за короткий промежуток времени создать веб-сайт, который считывает и сохраняет идентификаторы, почему другие не смогли бы сделать это в какой-то момент времени за последние четыре года? Ведь многие компании специализируются на слежке за посетителями сайтов и зарабатывают на этом большие деньги.

В июне Kaspersky распространила «Патч F», исправляющий данную уязвимость, а в прошлом месяце ЛК опубликовала рекомендации по безопасности, где описана сама проблема и её решение. По просьбе Рональда специалисты Лаборатории Касперского также присвоили уязвимости номер «CVE», который является глобально действительным идентификационным номером для уязвимостей систем безопасности. Таким образом, данная уязвимость получила собственное название: CVE-2019-8286.

После того как Лаборатория Касперского распространил патч, Рональд повторил свои эксперименты. Он обнаружил, что антивирус продолжает встраивать свой код в каждую веб-страницу с идентификатором номером в адресе скрипта, но теперь этот номер идентичен для всех пользователей определенной редакции Kaspersky. Сайты больше не смогут распознавать отдельных пользователей. Однако это означает, что всё ещё можно узнать, установил ли посетитель программное обеспечение Kaspersky в своей системе и сколько ему лет.

Рональд считает, что данная информация также имеет определённую ценность для злоумышленников. Они могут использовать её для распространения вредоносных программ, нацеленных на конкретные продукты Kaspersky, или для перенаправления браузера на подходящую мошенническую страницу. Например, с сообщением «Срок действия лицензии Kaspersky истек. Пожалуйста, введите номер своей кредитной карты, чтобы продлить подписку».

Вы можете отключить внедрение скрипта в веб-страницы в настройках антивируса, но это повлечёт невозможность работы некоторых из функций безопасности

Чтобы не допустить подобные сценарии, если вы используете продукты Лаборатории Касперского, вы можете отключить соответствующую функцию в настройках антивируса: щёлкните значок шестерёнки, чтобы открыть настройки, в левом нижнем углу главного окна, затем нажмите «Параметры сети» Наконец, снимите флажок «Внедрять в трафик скрипт взаимодействия с веб-страницам» в разделе «Обработка трафика». Но обратите внимание, что это повлияет на работоспособность некоторых из защитных модулей продукта.

Источник:

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *