Представлена новая техника скрытой идентификации системы и браузера

Группa исслeдoвaтeлeй с Грaцскoгo тexничeскoгo унивeрситeтa (Aвстрия), рaнee извeстнaя рaзрaбoткoй мeтoдoв aтaк MDS, NetSpectre и Throwhammer, рaскрылa свeдeния o нoвoй тexникe aнaлизa пo стoрoнним кaнaлaм, пoзвoляющeй oпрeдeлить тoчную версию браузера, используемую операционную систему, архитектуру CPU и действие дополнений для борьбы со скрытой идентификацией. В (видах определения указанных параметров достаточно выполнения в браузере подготовленного исследователями JavaScript стих. На практике метод может привыкать не только в качестве дополнительного источника для того косвенной идентификации пользователя, но и к определения параметров системного окружения на целевого применения эксплоитов с учётом ОС, архитектуры и браузера. Манера эффективен в том числе при применении браузеров с реализацией механизмов блокировки скрытой идентификации, таких чисто Tor Browser. Исходные тексты прототипа стих с реализацией метода опубликованы под лицензией MIT. Бонитировка свойств производится через генерацию списка всех объектов, доступных с JavaScript. Как оказалось число объектов напрямую коррелирует с браузерным движком и его версией. function getProperties(o) { var result = []; while (o !== null) { result = result.concat(Reflect.ownKeys(o)); o = Object.getPrototypeOf(o); } return result; } Примерно сказать, для Firefox в документации заявлена подмога 2247 свойств, в то время в духе реальное число определённых свойств с учётом недокументированных составляет 15709 (в Tor Browser - 15639), угоду кому) Chrome заявлено 2698 свойств, а практически предлагается 13570 (в Chrome для Android - 13119). Численность и значения свойств меняются от версии к версии браузера и подле применении различных операционных систем. Значения и наличность тех или иных свойств годится. Ant. нельзя использовать для определения типа ОС. (пред)положим, в Kubuntu свойство window.innerWidth выставляется в значительность 1000, а в Windows 10 - в 1001. В Windows вразумительно свойство window.navigator.activeVRDisplays, а в Linux его вышел. Для Android предоставляется множество специфичных вызовов, только нет window.SharedWorker. Для идентификации операционной системы равно как предлагается использовать анализ параметров WebGL, са которых зависит от драйверов. В придачу того, вызов WEBGL_debug_renderer_infoextension позволяет выудить информацию о движке отрисовки OpenGL, тот или другой для каждой операционной системы две большие разницы. Для определения CPU применяется оценка различий изумительный времени выполнения различных типовых блоков стих, обработка которых зависит от архитектуры набора команд с учётом поведения JIT (определяется какое количество регистров CPU будет задействовано и в каких случаях JIT сгенерирует продуктивный. Ant. неэффективный код с оптимизациями и вовлечением расширенных инструкций, а нет-нет да и нет). Для определения типа системы распределения памяти и операционной системы в свою очередь измеряется различие времени выделения памяти к различных структур, по которым не запрещается судить о размере блоков памяти. Определённые в ходе выполнения скрипта размер сравниваются с эталонными значениями, свойственными интересах заранее протестированных окружений. В ходе проверки разработанная мастерство позволила точно определить 40 различных тестовых окружений, определив версии используемых браузеров, производителя CPU, применяемую операционную систему и фотофакт запуска на реальном оборудовании или — или в виртуальной машине. Отдельно отмечается шанец определения браузерных дополнений и даже отдельных настроек дополнений, в часть числе дополнений предназначенных для блокирования методов скрытой идентификации иль активности приватного режима просмотра. В контексте предложенного метода подобные дополнения становятся ещё раз одним источником данных для идентификации. Дополнения определяются помощью оценку искажений параметров исходного окружения, вносимых дополнениями. Матерь: http://www.opennet.ru/opennews/art.shtml?num=50872