The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Метод отслеживания посетителей сайтов при помощи CSS, без JavaScript

15.01.2018 10:28

Jan Böhmer опубликовал прототип системы для организации отслеживания перемещения посетителей по сайтам, который ограничивается использованием только CSS и не требует выполнения кода на JavaScript. При размещении на сайте представленного кода организуется передача на внешний сервер базовой информации о посетителе, включая сведения о разрешении экрана, типе браузера и наличии заданных шрифтов. На основе различий в доступных шрифтах можно определить тип ОС.

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

Реализация использует возможности CSS по добавлению изображений из внешних источников при помощи свойства url("foo.bar") - так как ресурсы загружаются только при необходимости, можно указать вместо изображения ссылку на внешний скрипт-сборщик статистики и привязать к таким событиям, как переход на ссылку или подведение мыши к ссылке. Например для отслеживания кликов можно использовать код:


   #link2:active::after {
       content: url("track.php?action=link2_clicked");
   }

Для определения идентификатора бразуера можно использовать правила @supports для проверки наличия специфичных для каждого типа браузеров свойств CSS, например, только браузеры на движке Chromium поддерживают свойство "-webkit-appearance":


   @supports (-webkit-appearance:none) {
       #chrome_detect::after {
           content: url("track.php?action=browser_chrome");
       }
   }

Для определения наличия шрифтов в CSS создаётся новое фиктивное семейство шрифтов, в качестве источника для загрузки которого указывается внешний скрипт-сборщик данных. Далее формируются проверочные блоки текста в котором первым указывается проверяемый шрифт, а вторым фиктивный шрифт. Если проверяемый шрифт присутствует, то второй шрифт будет игнорирован, но если проверяемого шрифта нет, браузер попытается использовать фиктивный шрифт как запасной вариант и отправит запрос к внешнему скрипту:


   @font-face {
       font-family: Font1;
       src: url("track.php?action=font1");
   }
   #font_detection1 {
       font-family: Calibri, Font1;
   }


  1. Главная ссылка к новости (https://twitter.com/JGamblin/s...)
  2. OpenNews: В Firefox реализовано отложенное выполнение стороннего кода отслеживания перемещений
  3. OpenNews: Анализ средств отслеживания действий пользователей на сайтах
  4. OpenNews: В Firefox 57 появятся средства для блокирования отслеживания перемещений
  5. OpenNews: Отслеживание перемещения в соседней комнате при помощи динамика и микрофона обычного ПК
  6. OpenNews: Новый вид атак по определению ранее открытых в браузере сайтов и отслеживанию посетителей
Лицензия: CC-BY
Тип: Обобщение
Короткая ссылка: https://opennet.ru/47902-tracking
Ключевые слова: tracking, css
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (35) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 11:06, 15/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –14 +/
    ждем расширения NoStyles, чтобы фольгированно-шапочникам жилось спокойнее.
     
     
  • 2.12, леон (?), 13:37, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > ждем расширения NoStyles, чтобы фольгированно-шапочникам жилось спокойнее.

    umatrix уже умеет резать ксс.
    как все, так и только от третьих лиц.

     
     
  • 3.33, Аноним (-), 00:02, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И еще ublock умеет запрещать грузить шрифты. Так еще и сайты быстрее грузятся, а то каждая вебмакака норовит скачать пяток шрифтов, кил по 500 каждый. И все ради 2 значков которые было лень сделать картинками. А юзеры потом недоумевают чего сайт минуту грузится.
     
     
  • 4.34, Аноним (-), 01:47, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >2,5Мб
    >минуту грузится

    Как оно там, на ADSL?

     
     
  • 5.38, Аноним (-), 18:20, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>2,5Мб
    >>минуту грузится
    > Как оно там, на ADSL?

    Как оно там, быть безграмотным технически?
    Кстати, о том, что существует еще и мобильный интернет, тоже не слышали?

     
  • 5.40, Аноним (-), 00:10, 19/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Как оно там, на ADSL?

    Знаешь, некоторые россияне не отказались бы даже от ADSL-я, в некоторых местах вообще нет нихрена кроме GPRS. При том на поржать, подобных мест хватает даже в подмосковье. Качать по воздуху 5 чушек по 500 кил займет вечность. И объемы трафа отмеряны пипеткой, качать пару мегов фонтов ради нафигнужного сайта - жирно.

    Более того - сервак у черта на рогах с фонтами надрывается на целый легион и эти 2 метра фонтов грузятся весьма ощутимое время даже на толстом канале, в неудачном случае браузер будет крутить сопли секунд 30. И все ради 2 сраных значков, которые я даже не замечу?

     
  • 4.36, hh (?), 08:38, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    горе вебмастера сотрудничают с рекламой гугл поэтому и вставляют загрузки от них аяксовой библиотеки, шрифтов, стилей и прочей гадости( в нормальном языке называемым отслеживанием действий пользователя)
     
  • 2.19, Имя (?), 16:42, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Такое есть, но оно гораздо полезнее тем, что можно на черных сайтах делать белый фон и черный текст, а не так как захотелось наркоману дизайнеру.
     
     
  • 3.32, Ващенаглухо (ok), 09:48, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А наоборот можно?, ох уж эти наркоманы с белым фоном...
     
     
  • 4.35, Аноним (-), 01:48, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > А наоборот можно?, ох уж эти наркоманы с белым фоном...

    Никогда не думал, почему выворотка так назыается?

     

  • 1.2, ыы (?), 11:11, 15/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    давайте назовем это CSSFS. файловая система работающая на голом css, без js...
     
  • 1.3, mimocrocodile (?), 11:18, 15/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Чем это отличается от обычного tracking pixel?
     
     
  • 2.4, ыы (?), 11:21, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    это вам к патентописателям. они обоснуют элемент новизны в чем угодно... :)
     
  • 2.9, Аноним (-), 12:28, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Пиксель адблок порежет, а резать отдельные стили вроде ещё не умеет. Или я ошибаюсь?
     
     
  • 3.11, Аноним (-), 12:49, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ему по идее всё равно, что резать.
     
  • 2.14, pda (?), 13:48, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну, например, расширение браузера или прокси может подменять user-agent, а тут сам браузер о себе точно объявит.
     
  • 2.26, anomymous (?), 21:15, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Тем, что можно кое-какие параметры браузера передать.
     

  • 1.5, Гражданин (?), 11:42, 15/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    А я предупреждал: HTML5 сделан замороченным для встраивания бэкдоров.
     
     
  • 2.6, Анончик (?), 11:53, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Как же, тебя не послушали, бааатюшки. Может не в том месте предупреждал и не тем людям?
     
     
  • 3.7, Аноним (-), 11:56, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    в другом месте другие люди тоже предупреждали, но кто их будет слушать, когда перед носом маячат миллиарды?
     
  • 2.8, vz (?), 12:01, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    GNU HTML устроил бы больше
     
     
  • 3.22, Тот_Самый_Анонимус (?), 18:06, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Так ГНУ ничего сам не умеет. Только уже готовое обрезать (или «делать более свободным» в их терминологии). Так что ничего они не создадут.
     
  • 3.24, Аноним (-), 19:38, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Проект XANADU тогда уж.
     
  • 2.15, Аноним (-), 14:42, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Но ведь псевдоэлемент :after придумали ещё в CSS2 когда был HTML4.1
     
     
  • 3.28, пох (?), 21:47, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Но ведь псевдоэлемент :after придумали ещё в CSS2 когда был HTML4.1

    там content: а не after главное.

     
     
  • 4.37, Аноним (-), 13:46, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну а content ввели ещё в CSS2 :)
     

  • 1.10, Аноним (-), 12:30, 15/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >только браузеры на движке Chromium поддерживают свойство "-webkit-appearance"

    А вот фиг, любой вебкит поддерживает это свойство

     
  • 1.18, Аноним (-), 15:51, 15/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Обнаружена уязвимость в CSS: при указании background-image: url(...), можно запихнуть браузеру в память абсолютно любой файл!

    Обнаружена уязвимость в JavaSE: при помощи вызова метода java.lang.Runtime.exec можно выполнить абсолютно любой файл!

     
  • 1.20, Аноним (-), 16:57, 15/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Что вы там сказали? Отключать скрипты в тор браузере для анонимности?
     
     
  • 2.23, Аноним (-), 18:41, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    https://trac.torproject.org/projects/tor/ticket/24901
     
     
  • 3.27, пох (?), 21:44, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > https://trac.torproject.org/projects/tor/ticket/24901

    мм... а смысл? Что-то они там не то прочитали по ссылке.

    Глупо пытаться скрыть факт, что ты юзер тор-браузера, придя с выходного тор-релея (уж скорее наоборот, надо бы подделывать его, если вдруг пришел чем-то особенным, это палево, так делают единицы).

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

      

     

  • 1.25, Аноним (-), 20:17, 15/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    "Метод отслеживания посетителей сайтов при помощи CSS, без JavaScript"
    "...можно указать вместо изображения ссылку на внешний скрипт-сборщик статистики..."
    Ну конечно, без JS, но с похапе. А так да, "при помощи CSS". Развели комбайн, можно уже реально ФC на базе CSS писать.
     
  • 1.29, Аноним (-), 02:47, 16/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Юзеры NoScript отхватите!
     
     
  • 2.30, Аноним (-), 08:15, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    кто-то просто выписывает газеты
     
  • 2.39, IY (?), 23:57, 18/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    noscript тормозен и глючен. Лучше QuickJava - он просто ставит несколько выключателей на сорта гуано: жаву, флэш, цсс, картинки и пр. - в любой момент можно тыкать.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру