Детективная история приключилась со мной недавно. Обновил windows 10, следом решил обновить internet security от Касперского. В принципе все работало неплохо, если бы не одно но…
По роду деятельности мне приходится частенько ковыряться в верстке и js. Открыв как-то исходную страницу сайта заказчика заметил на нем неустановленный скрипт: ff.kis.scr.kaspersky-labs.com/USER_ID/main.js (спрятал свой юзер id, там длинная строка из символов). Исходный код скрипта залил туда: pastebin.com/rkY42pkf
Данный скрипт переопределяет некоторые элементы страницы, постоянно рефрешится в фоне и делает еще кучу неизвестных вещей, как и нету гарантии в добавлении модулей для слежения за пользователем позднее. Зарубежные покупатели первыми заметили проблему, и создали тему на форуме (http://forum.kaspersky.com/index.php?showtopic=328326), затем инъекция кода была замечена пользователями из СНГ: forum.kaspersky.com/index.php?showtopic=328544 и вебмастерами — forum.kaspersky.com/index.php?showtopic=316482&st=40&p=2445346entry2445346
Самое интересное в этой истории это то, что данную инъекцию невозможно отключить. Ни через настройки KIS, ни через удаление плагинов. У меня вообще не было установлено плагинов, но скрипт успешно вставляется и в firefox, и в chrome. Техподдержка заявляет об этом непродуманном решении как о фиче и фиксить не собирается «Добрый день, данный скрипт предоставляет функциональность, реализованную ранее в классических плагинах. Данное поведение не должно приводить к нарушению работы веб-сайтов. Если есть какие-то проблемы, то просим описать конкретные неудобства, предоставить скриншоты.»
Вот таким образом касперский получил доступ ко всем моим действиям в интернете за мои же деньги. Данной проблеме подвержены последние версии KIS 2015 и 2016.
Комментарии (70)
ttf
04.08.2015 22:35вдруг кто-нибудь взломает их сервера и распространит вирусы
А вдруг вирусы будут в обновлении антивируса? Есть очень хорошая пословица/поговорка про вдруг и пук.
Да и вообще как-то нагло без ведома пользователя встраивать что-либо, даже при использовании https, не находите
Да, некрасиво, но если всем всё рассказывать защита будет не эффективна.
P.S. Ошибся веткой. Ответ сюда
nikolayvaganov
04.08.2015 23:06У меня после перехода на win10 не запускается KIS2016 ( точнее запускается сама оболочка, но файловая защита, защита от сетевых атак и прочее )
tzlom
04.08.2015 23:13+18Это вы ещё на значёк https не кликали и цепочку сертификатов не смотрели :)
Helldar
11.08.2015 10:08Скрипт есть. Цепочка https сертификатов без вмешательств. Все нормально.
r3L4x
11.08.2015 16:53Скорее всего, речь шла о ситуации, когда включена проверка защищённых соединений. В этом случае сертификат подменяется.
Helldar
11.08.2015 16:55М, в этом случае каспер внедряет свои сертификаты, начиная с KIS 2009 версии, если мне не изменяет память. В любом случае в версии 2013 и старше уже 100% есть эта фича при проверке защищенных соединений. Видел лично в каждой из версий.
tundrawolf_kiba
04.08.2015 23:17Firefox, MS Edge, MS IE — есть такое, Яндекс.Браузер, Google Chrome, Opera, Vivaldi — не наблюдается
tundrawolf_kiba
04.08.2015 23:28Отключить получилось отключением плагина Kaspersky Protection, который однако реально отключить только после выгрузки Каспера из памяти, иначе он при каждом перезапуске его снова включает.
iozefir
04.08.2015 23:24Только что проверил, никакого скрипта от каспера не обнаружено.
Firefox 40.0 плагины каспера не ставились, win 10, kis 15.0.2.361. В edge так же всё чисто.
fog
04.08.2015 23:44+3Тоже вчера это обнаружил и мне это не понравилось.
Техподдержка мне не ответила.
Пока отключил касперского совсем.
xRay
05.08.2015 01:49+5Стоит Kaspersky KIS 2016 16.0.0.14 (a)
Ни отключение дополнения Kaspersky Protection к Хрому ни отключение защиты (полностью) KIS 2016 не убирает инъекцию скрипта
<script type="text/javascript" src="http://gc.kis.scr.kaspersky-labs.com/USER-ID/main.js" charset="UTF-8"></script>
в код веб страницtundrawolf_kiba
05.08.2015 10:45Странно у меня в браузерах основанных на хроме — даже не появилось, но вот например в FF — если не выгрузить каспер из памяти — то он при каждом перезапуске включает расширение — и по факту его отключить невозможно
Gorthauer87
05.08.2015 08:43+3Лишний аргумент к тому, чтобы вместо пользования антивирусами настраивать нормально права доступа и роли.
lamoss
05.08.2015 10:01+2А что делать с эскалацией прав без ведома пользователя?
solver
05.08.2015 10:27+5А для «настройщиков вместо антивирей» этих проблем не существует.
Они живут в мире розовых пони и единорогов.
В котором весь софт идеален и не содержит багов.
В котором эскалация прав не возможна по определению, а зараза может прийти на компьютер только из почтовой рассылки или скачав из инета и только если ты сам ее запустишь.
Им бесполезно объяснять даже основы безопасности.
У них железный аргумент «Антивирус не стоит и все хорошо».
Они даже не догадываются, что эти два метода можно совмещать…
P.S. Под антивирусом я понимаю хорошую комплексную защиту. Ибо ни один нормальный вендор уже не делает чистых антивирей.
maaGames
05.08.2015 09:05-10Не сразу понял, что «pastebin.com» это «paste bin», а не «пастебин». Уж было обрадовался, что какой-то новый сайт со стёбом, но увы…
А не информации, в КаЛаб не нанимали программистов из мэйл.ру в последнее время?
Denai
05.08.2015 09:23Я удивлялся, когда видел в результатах поиска google иконку касперского (всё ок, страница безопасна) после того как, кажется, отключил плагины. И действительно не казалось, плагины отключены. После выгрузки касперского диво исчезло. Теперь понятно откуда это.
by_MHz
05.08.2015 09:41У меня после установки KIS 2015 появился такой код:
и причем только в ОгнеЛисе (отключал все расширения, после перезагрузки включаются заново), в Опере не было, два дня просидел, а потом решил отключить Анти-Баннер встроенный в KIS и данный запрос исчез.
Вообще странная штука, кидается на заведомо неверный урл, да и еще себя же блочит))
VBKesha
05.08.2015 10:39Ладно бы просто встраивал, хотя это уже плохо так как теперь другие скрипты могут узнать как минимум название антивируса которым я пользуюсь.
Но ещё и добавлять USERID то есть скрипт для каждого пользователя может быть свой, вот это совсем некрасиво как то выглядит.
aymeshkov
05.08.2015 12:16-1ff.kis.scr.kaspersky-labs.com — не слушает хттп.
Очевидно инъекция грузится прямо с вашего компьютера без обращений к внешнему серверу.
Белки-истерички жпг.yoshitoshi
05.08.2015 18:59-1ping gc.kis.scr.kaspersky-labs.com на Windows выдает:
Ответ от 127.245.107.154: число байт=32 время<1мс TTL=128
ping gc.kis.scr.kaspersky-labs.com на Mac OS выдает тот же IP-адрес, но ping не проходит.
Вывод? На Mac OS касперского нет :-)
Кстати, 127.0.0.0 — это локальные соединения, то есть — localhost.aymeshkov
05.08.2015 19:02+1А причем тут пинг?
На восьмидесятом порту никто не слушает на этом сервере.
Ну да и ниже уже подтвердили, что с локального компьютера все грузится.
kyprizel
06.08.2015 00:27…
kyprizel
06.08.2015 00:301. нет гарантии, что завтра там не окажется адрес отличный от 127.x.x.x
2. тот кто делает MiTM может направить домен на свой IPaymeshkov
06.08.2015 10:231. Какой в этом смысл? Антивирус и так все видит и обо всем может себе на сервер сообщать.
Вы либо доверяете антивирусу и его privacy policy, либо не доверяете и не используете.
2. Если MITM у вас на машине происходит, то тогда антивирус уже не справился со своей работой, и тут уже не до скриптиков:). А если MITM снаружи, то он не может, за пределы машины трафик не выходит.kyprizel
06.08.2015 10:36Резолв ведь происходит за пределами машины? Если да, то атакующий может указать для домена gc.kis.scr.kaspersky-labs.com свой IP и трафик уйдет в сеть
aymeshkov
06.08.2015 10:37Не, тут дело не в резолве. Они трафик перехватывают на уровне WFP-драйвера и обрабатывают в нем.
Если сейчас посмотрите, увидите, что gc.kis.scr.kaspersky-labs.com и так указывает не на локалхост, а на удаленный IP. Но, тем не менее, траф туда не идет.aymeshkov
06.08.2015 10:43Self fix: указывает на ip из приватного диапазона. Тем не менее, не на локалхост.
kyprizel
06.08.2015 10:56Т.е. запросы к DNS оно тоже перехватывает и обрабатывает на уровне драйвера?
А что бывает в случаях, когда на ресурсе включен
Content Security Policy в блокирующем режиме?aymeshkov
06.08.2015 11:01Я на них не работаю, поэтому по большому счету дальше идут мои предположения.
Тем не менее, с технологией я знаком и могу какие-то аналогии проводить.
1. DNS
Да, они могут его перехватывать на уровне драйвера.
2. Content Security Policy
Я бы на их месте его редактировал, добавляя конкретно их домен в доверенные.
Но вообще вопрос хороший. Думаю достаточно посмотреть на то, как они себя ведут на yandex.ru.
Там CSP заголовок как раз, запрещающий third-party.
Второй вариант, который приходит в голову: когда они видят CSP-заголовок, они могут инжектить скрипт с этого же домена. Тут где-то в комментариях был скриншот, где они для хабра это делали.
ValdikSS
12.08.2015 19:25127.245.107.154 — localhost
aymeshkov
12.08.2015 19:26Хм, на винде действительно так, подвело то, что я на маке проверял.
ValdikSS
12.08.2015 19:28+1По стандарту, весь диапазон 127.0.0.0/8 должен идти на loopback-интерфейс.
aymeshkov
12.08.2015 19:30На маке стандарт не выполняется или какая-то другая причина?
ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.072 ms
ping 127.245.107.154
PING 127.245.107.154 (127.245.107.154): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
dreary_eyes
05.08.2015 12:57+3Самое главное, это заголовок в стиле желтой прессы )))
evnuh
05.08.2015 13:23-2Учитывая, что следить — главная задача антивируса, для этого его и покупают за свои деньги)
Cydoor
05.08.2015 13:01-1Всем привет, этот специальный скрипт взаимодействия продукта с веб-страничками. Он инжектиться на все странички, которые посещает пользователь (HTTP и при наличии плагина — HTTPS).
Раньше были плагины / расширения, которые пользователи часто отключали. Для того, чтобы побороть данную проблему, придумали такой вот механизм взаимодействия Продукт <-> Браузер. Кстати, соединение, открываемое скриптом, заворачивается локально.
ЛК не сохраняет никакой пользовательской информации в инфраструктуре, читайте EULA и KSN-соглашение, там вроде все написано. Да и в справке есть упоминание.Stalker_RED
05.08.2015 13:28Самое главное не написали — как отключить-то?
StasTs
05.08.2015 13:37+4Сарказм он.
Зачем отключать :) Тут же все честно написали: решили бороться с пользователями, которые отключали плагины/расширения. Если это отключаемым сделать, опять будут отключать :)
encyclopedist
05.08.2015 14:32Так написано же, придумано специально чтобы побороть проблему отключения пользователями :-)
Cydoor
05.08.2015 15:03Проблему выявили, сейчас решаем, как поправить. Данная технология не должна привносить каких-либо изменений в страницы и не должна вносить изменения в полтики сайта, которые посещает пользователь, поэтому сейчас инжект отключить нельзя.
Активацию плагинов можно выключить в настройках Веб-антивируса.shoomyst
05.08.2015 15:43Сделать просто труднодоступную опцию для технарей-параноиков. Остальные пусть остаются в неведении)
vplka
05.08.2015 15:50У вас явно какая-то извращенная логика. Даже проверку файлов в антивирусе отключить можно, а этот вот js — нет. Интересны истинные мотивы ввода в эксплуатацию этой «технологии». И подписка на mail.ru у вашего профиля как бы намекает.
Cydoor
06.08.2015 13:45-1): Чем Вам моя подписка на Mail.ru не нравится? У них прикольные статьи были про обработку данных.
Мое личное мнение, что настроек вида «отключать инжект скриптов в веб-странички», «отключить защиту» и т.п. должны быть только для возможности траблшутинга. Т.к. в данном примере мы обсуждаем, что все работает — то зачем отключать-то?
Вот выше на форум ссылки привели — там да, есть проблемы.
DmitriyH
06.08.2015 13:41Раньше были плагины / расширения, которые пользователи часто отключали. Для того, чтобы побороть данную проблему, придумали такой вот механизм взаимодействия
Вот это вброс :)
Данный механизм взаимодействия был реализован для решения ряда проблем с браузерными плагинами, например, Chrome c версии 45 прекратил поддерживать NPAPI-плагины и запретил их, сильно связав руки разработчикам.
dreary_eyes
05.08.2015 14:11+4И вообще, это не USERID, опытным путем установлено, что гуид для одной версии у всех одинаковый.
У меня для Google Chrome такой же гуид, что и у юзера отсюда
Вы бы лучше проверяли то, что пишете.
vxsw
05.08.2015 15:39А будто кто-то не знал, кто такой каспер и на кого он работает.
vplka
05.08.2015 16:00Интересен юридический аспект сего внедрения. Неужели им Mozilla и Google позволили злонамеренно внедрять куски кода в их продукты? Поведение как у троянов, один в один.
Dywar
05.08.2015 21:47А зачем им браузеры? JS это просто текст, который помещается в другой текст еще до того как он оказался в браузере.
ИМХО все норм, хоть кому то можно верить если уж Windows пользоваться.
P.S. На билайн похоже, недавно пост был похожий.
Helldar
11.08.2015 10:14Ну покажите хоть один антивирус, не сливающий данные и имеющий столь же мощную защиту. Почитаю.
ttf
Так он и раньше их получал, через анализ трафика. Или плагины к браузеру. И вообще антивирус видит всё, что вы запускаете, проверяет каждый файл перед запуском или открытием. Ничего нового.
Видимо указанная система защиты анализирует поведение сайта. Ищет факты проведения на Вас компьютерных атак направленных на подмену кнопок интерфейса и отправку левых запросов.
vplka
А вот и нет, раньше с выключенным веб-антивирусом и плагинами каждая страница, открытая в браузере, не отправлялась на сервера kaspersky. Откуда я могу это знать? Часто сижу с включенным сниффером трафика (fiddler2).
ttf
У Вас функция связи с Kaspersky Security Network (KSN) активирована? Если да. То он и сведения о ваших файлах в облако засылает. Это отлично видно по разоблачительным статьям специалистов Лаборатории Касперского, когда они описывая громкий вирус 2014 (цифра с потолка) рапортуют о том, что в их облаке сведения о файлах данного вируса были уже в 2010 году. Правда забывают посыпать голову пеплом за то что в 2010 году вредонос провафлили…
Насколько я понимаю (первый раз встретился, надо гуглить и тестить) fiddler2 — это сниффер прикладного уровня для анализа протокола http. А антивирус может работать по другим протоколам, которые удобнее смотреть с использованием Wireshark.
Главное относиться к этому спокойнее. Антивирус же во благо (страшный смех за кадром).
vplka
Первым делом отключаю KSN, уже которую версию kis-а. Меня больше смущает невозможность отключить добавление этого js в исходный код, чем сам факт его существования, вдруг кто-нибудь взломает их сервера и распространит вирусы? Да и вообще как-то нагло без ведома пользователя встраивать что-либо, даже при использовании https, не находите? И как видно из заявлений техподдержки, они не собираются давать возможность отключения этой инъекции.
VenomBlood
Антивирус по сути имеет доступ ко всему что вы открываете/смотрите/запускаете что называется by default. Т.е. сам факт встраивания кода антивирусом не должен приводить к какой либо панике. Установив антивирус вы даете ему полные права на доступ ко всему (иначе смысла в антивирусе нету, то что вне его контроля — не защищено), раньше этот доступ тоже был, он, в конце концов может чуть ли не на уровне драйвера снифать весь трафик. Взломать сервера и распространить вирус можно и без этого, обновления антивирусов включают возможность обновления программных компонент, а не только баз сигнатур.
grayhat
Почему вдруг? Нужно говорить «когда их в очередной раз взломают».
Вот недавно взламывали. geektimes.ru/post/251842
powerman
NoScript, RefControl?
enkryptor
а KSN для чего отключаете?
teecat
Проблема пожалуй не в этом. Вирусы и просто всякие фишеры лезут во все дырки и соответственно средства защиты должны встать поперек всех дырок. Проблема в том, что устанавливая любую программу, которая будет отвечать за нашу безопасность, мы в общем-то доверяем на слово продавцу, что все будет шоколадно. Есть/нет уязвимостей, какова эффективность каждого компонента и не пора ли удалить половину функционала, разработанного в прошлом веке и уже не являющегося столь эффективным как тогда, какова эффективность данного модуля на самом деле, а не на листовке маркетологов… Мы этого не знаем. Понятно почему информация о технологиях защиты и их эффективности скрывается, но вот то, что мы в итоге верим на слово в тех местах, где будем отвечать деньгами…
И грустно и ничего не изменишь
robux
> Главное относиться к этому спокойнее. Антивирус же во благо (страшный смех за кадром).
В том и дело. Антивирус должен работать во благо:
если пользователь хочет, чтобы его действия в браузере отслеживались, то включает галочку;
если пользователь НЕ хочет, то вЫключает галочку «внедрять JS-стрипт в браузеры».
Т.е. Каспер должен предоставить пользователю возможность самому решать, какие инструменты безопасности задействовать («АнтиХакер» и «АнтиШпион» же можно выключать). Здесь же служители Каспера явно сказали: «Ничо выключать не будем, терпите, не бухтите». Это уже подозрительно.
Похоже, сверху прямо дали дерективу: «Внедрить зонд!». А эти не могут ослушаться.