Совсем недавно Google выпустил Chrome 76. В браузер было внесено изменение, призванное помешать веб-сайтам вычислять, когда пользователи активируют режим инкогнито. Однако уже в воскресенье разработчик Джесси Ли рассказал, как определить этот режим. Сделать это можно с помощью FileSystem API.

Джесси Ли обнаружил, что при включенном и отключенном режиме инкогнито FileSystem API работает по-разному. Разработчик сравнил скорость записи информации на диск в разных режимах и понял, что в обычном режиме данные записываются менее регулярно, и их запись занимает больше времени, чем при использовании режима инкогнито.
«Единственный способ предотвратить эту атаку состоит в том, чтобы и в режиме инкогнито, и в обычном режиме использовать один и тот же носитель данных, чтобы API работал с одинаковой скоростью», — пишет Ли.

Как пишет The Register, Йохен Эйзингер, директор по разработке Chrome, предположил, что проблема отслеживания времени записи данных может быть решена путем шифрования файлов на диске, а не хранения метаданных и зашифрованных файлов в памяти, когда активен режим инкогнито.

Более того, по словам Эйзингера, Google намерен в конечном итоге удалить API-интерфейс FileSystem, поскольку он не используется другими разработчиками браузеров и, по-видимому, полезен только для обнаружения режима инкогнито.

Как подчёркивают в The Register, сегодня режим инкогнито в Chrome не обеспечивает анонимность пользователей в сети. Он просто предотвращает сохранение истории и просмотра удаляет локальные cookie-файлы HTTP и данные сайта из памяти по окончании сеанса. Его цель — запретить другим пользователям, использующим тот же браузер на том же устройстве, просматривать записи предыдущих сеансов.

Кроме того, пользователи Chrome 76 в режиме инкогнито могут получить неограниченный доступ к контенту тех сайтов, которые ограничивают количество бесплатных статей без подписки. Как заявляет WhatsNewInPublishing, это может негативно сказаться на части новостных изданий с платным доступом к статьям. Также обновление Chrome 76 по умолчанию будет блокировать Flash-элементы на сайтах.

Комментарии (8)


  1. romankonstant
    07.08.2019 17:52
    +1

    Про 3 статьи в месяц сомнительная идея, ибо и сейчас это можно читать без инкогнито, а потом просто удалить для этого сайта cookies — это прямо скажем сложно на уровне cmd+alt+i


  1. sanchezzzhak
    07.08.2019 18:20

    уже как 4 месяца пользуюсь этим способом


    1. Iv38
      07.08.2019 20:18

      Если я правильно понял код, исправление как раз должно сделать его неработоспособным.
      А здесь идет речь о том, что время доступа будет разным и это можно заметить.


      1. sanchezzzhak
        07.08.2019 20:25

        Верно, посмотрим.
        Вот только хром под IOS будет также определятся как и раньше там движок сафари, а хром только название.


      1. Static_electro
        08.08.2019 09:43

        А вот вопрос — время доступа будет разным по сравнению с чем? Если не стоит задача определять, когда с данного конкретного устройства был инкогнито доступ, а когда — обычный, то как знание об этом отличии помогает детектить инкогнито в общем случае?


        1. Iv38
          08.08.2019 12:17

          Всё верно, это атака по времени, и она гораздо сложнее и менее точна по сравнению с простой проверкой доступности API. Действительно с ее помощью проще всего отличить режимы браузера на одном компьютере, а это весьма специфический случай. Но разница между записью в память и сбросом на диск (даже быстрый SSD) заметна. Автор предлагает использовать статистическую обработку многократных записей. Это требует значительного времени и напрасно загружает пользовательский компьютер. И вероятностная оценка оставляет возможность для ошибок. Так что ограничения у этой атаки весьма существенные, и применимость ограничена.


          1. Iv38
            08.08.2019 12:57

            Я, кстати, погонял код автора у себя в хроме (Ubuntu, Core i5, SSD). Во-первых, это чудовищно долго, около минуты. И процессор был загружен на 50% всё это время. Мои результаты в абсолютных числах сильно отличаются от авторских, что ожидаемо. Результаты сильно плавают, и на них (опять же ожидаемо) оказывает влияние другая нагрузка на компьютер. В некоторых запусках визуально по графикам сложно определить разницу между режимами.

            Это частично проблемы конкретной реализации, которая лишь proof-of-concept, но в текущем виде надо очень-очень ненавидеть своих пользователей, чтобы применять такой метод для какого-нибудь пэй-вола.


    1. Aquahawk
      08.08.2019 08:18

      И на 76 хроме лайв демо не детектит инкогнито