![]() ![]() ![]()
Какой рейтинг вас больше интересует?
|
![]()
2013/09/13 - Размышления о гипотетических браузерных вирусах2013-09-13 03:55:19 (читать в оригинале)Для отладки своего движка я открыл для себя window.onerror :) И настроил отсылать на сервер информацию об ошибках скрипта, которые возникают на страницах моего дневника у разных пользователях в их браузере. Я рассчитывал найти ошибки собственного кода, которые проявляются в браузерах, на которых я движок не тестировал. Однако то, что набралось в логе за сутки, заставило меня глубоко задуматься. Я увидел самые разнообразные ошибки JS, которые возникают у посетителей моего дневника, хотя в моем коде сроду не было ничего подобного! У одного посетителя браузер 1 пытался найти в моем коде jQuery и огорчался, что не может найти: 'Uncaught ReferenceError: jQuery is not defined' in #503 Помилуйте, у меня на страницах сроду не было jQuery, кто его там спрашивает? Или вот некий скрипт, назвавшийся miscellaneous_bindings2 каждую секунду, пока человек читал мой дневник, пытался ломиться куда-то вовне: 'Uncaught Error: Attempting to use a disconnected port object' in #51 Я погуглил — говорят, какое-то «расширение» пытается что-то читать или писать в локальных файлах. Нормально, да? Вы читаете в интернете сайты, а тем временем какое-то ваше «расширение», установленное в вашем браузере (хорошо, если вами), ежесекундно пытается получить доступ (хорошо, что безуспешно) к каким-то файлам на вашем диске (хорошо, если к своим). Довольно часто у пользователей браузер3 шлет моей странице сообщение через оконный транспорт onmessage с неким «Object.topic=yandex.smart-links.status.request». Кому он его посылает? Мой обработчик onmessage совершенно не ждал таких посылок и естественно выдает ошибку (протокол переклички моих страниц иной). Вот чей-то Айпад4 ищет какой-то 'ReferenceError: Can't find variable: atomicFindClose' Вот чья-то Убунта5 выдает 'Error loading script' в попытке получить исполняемый код, отправив запрос с загадочными данными на внешний сайт: http://push.notif.9gag.com/lp/7b5ccaf651dd5a?&callback=PushStreamManager[0].wrapper.onmessage&tag=0[...] Надеюсь, линуксоид, владелец этой Убунты, в курсе, за каким скриптом он шел на загадочный Welcome to nginx!If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com. Thank you for using nginx. Причем, всё это происходит в незаметном для вас режиме — вы-то этих ошибок не видите. Если бы я не включил логи ошибок, я бы тоже о них ничего не знал. В принципе понятно, откуда такое берется: современные браузеры обвешаны самыми разными «плагинами», «расширениями», «дополнениями» и прочей ерундистикой, и она активно вмешивается в код всех страниц, которые вы просматриваете. Что эти приложения делают на каждой из страниц — одному богу ведомо (а если возникают ошибки — то немножко и мне). Может, у вас какой-то безобидный спеллчеккер, может, резалка рекламы, может плагин Яндекса пытается следить, какие сайты сегодня популярны, а может это следилка за паролями, которыми вы логинитесь в моем дневнике, на Фейсбуке или в онлайн-банке. Не проблема же их сосканировать, если ваш браузер решил выполнить собственный JS на странице онлайн-банка. Для тех, кто не понял: речь идет не о моем сайте. Расширения ваших браузеров обрабатывают страницы всех сайтов, которые вы открываете. Например, в свое время меня задолбало, что в онлайн-банке Авангард беспрерывно мигает какая-то сраная строчка в меню, и я соорудил в своем браузере собственное расширение, которое запрещало эту мигалку в коде страницы Авангарда. Но с тем же успехом я мог бы заставить расширение сканировать набираемый пароль и отсылать его на далекий сайт. А если бы я затем уговорил кого-то установить моё расширение, выдавая его за лекарство от навязчивой мигалки или удобный прогноз погоды в бегущей строке? Понимаете, да? Сегодня в большинстве случаев «операционной системой» настольных компьютеров стал браузер. У большинства пользователей компьютер загружается, открывается браузер, и все остальное происходит в нем: серфинг по страницам, почта, работа с офисными документами, чаты, просмотр видео и музыки — большинство задач пользователя берет на себя браузер. Большинству простых пользователей сегодня не важно, что у них за система — Виндоус или Линукс, потому что они перед собой видят лишь абсолютно стандартный Firefox или Chrome. Разрабатывая концепты сети binoniq (пока мной не реализованные) я тоже исходил из предположения, что дополнительно установленные «клиенты» на настольных компьютерах неверный путь, поскольку браузер сам по себе может стать чем угодно, включая пиринговую сеть. Возникает вопрос: а как у нас дело обстоит с браузерными вирусами? Точнее — вредоносным кодом, поскольку вирус отличается только тем, что пролезает сам, а вредоносный код устанавливает лично пользователь, искренне полагая, что скачал в свой браузер (или смартфон) клевый бесплатный фонарик или словарик. Если браузер стал de facto операционной системой, логично ожидать появления толп браузерных вирусов/вредоносных расширений именно для браузера. У нас вообще изучается вопрос аудита браузерных расширений? Есть ли антивирусы для браузеров, которые анализируют, чем заняты все эти многочисленные установленные зачем-то «дополнения»? Ищет ли кто-то вредоносные плагины среди миллионов остальных на официальных сайтах Firefox и Chrome, чтобы их вычистить из коллекций? Нет, я вовсе не утверждаю, что у некоторых моих посетителей плагины-вирусы. Мне просто интересно, насколько сетевая общественность осознает эту проблему? И что делается для контроля? Есть ли, допустим, сайты, на которые можно зайти браузером, чтобы узнать, какие ваши плагины что пытаются творить, пока вы не видите? Есть ли список вредоносных плагинов и признаков, по которым мой сайт смог бы их опознать и предупредить пользователя? В общем, я нашел для себя довольно много неожиданных вопросов. Завтра уезжаю на неделю, не знаю, будет ли интернет, да и работы адский завал. Но вы пока об этом подумайте ;) PS: Если вы хотите сами видеть ошибки, которые выдает ваш браузер на моей странице, можете в своей карточке поставить галочку «показывать ошибки браузера». Оригинал заметки находится по адресу http://lleo.me/dnevnik/2013/09/13.html, там можно оставить комментарии.
|
![]() ![]() ![]()
Категория «Программы»
Взлеты Топ 5
Падения Топ 5
![]()
Популярные за сутки
|
Загрузка...

взяты из открытых общедоступных источников и являются собственностью их авторов.