Подмену чего задействует техника спуфинга
Что такое спуфинг?
Спуфинг — это вид киберпреступления, при котором злоумышленник имитирует известный контакт или организацию, чтобы обеспечить доверие жертвы. Некоторые атаки спуфинга нацелены на отдельных лиц, в то время как другие пытаются обмануть целые сети. Атаки с использованием спуфинга часто имеют целью получить доступ к конфиденциальной личной информации или обойти меры безопасности.
Атаки с использованием спуфинга электронной почты происходят, когда хакеры подделывают электронные письма так, что кажется, что они исходят от кого-то, кому вы доверяете. Атаки с использованием спуфинга SMS и идентификатора вызывающего абонента маскируются за телефонными номерами, принадлежащими другим людям или группам.
Между тем атаки с использованием IP-спуфинга и DNS-спуфинга манипулируют интернет-трафиком. Некоторые атаки, такие как перехват DNS, перенаправляют ваш трафик на вредоносные веб-сайты. Многие хакеры используют подмену IP-адреса для проведения DDoS-атак. Другие атаки направлены на перехват, остановку или перенаправление интернет-трафика, чтобы хакер мог получить доступ к конфиденциальным данным.
Как работает спуфинг?
Спуфинг работает путем маскировки источника данного сообщения. Электронные письма, телефонные звонки, SMS-сообщения, веб-сайты и даже сам интернет-трафик могут быть подделаны так, что кажется, что он идет откуда-то еще.
Возможно, вы заметили, что роботы-абоненты маскируют свой идентификатор вызывающего абонента другим номером, часто таким, который совпадает с кодом вашего города. Все типы спуфинга основаны на одном и том же общем принципе: сокрытие источника сообщения или данных.
Рисунок 1. Атаки со спуфингом маскируют источник сообщений, чтобы завоевать доверие жертвы.
Успешная атака спуфинга может привести вас на вредоносные веб-сайты, украсть ваши данные или заставить вас установить вредоносное ПО. Но с правильным программным обеспечением безопасности вы можете автоматически обнаруживать и блокировать атаки спуфинга, прежде чем они получат шанс обмануть вас.
Спуфинг против фишинга
Разница между фишингом и спуфингом заключается в том, что, хотя спуфинг маскирует источник или происхождение сообщения так, что кажется, что оно было отправлено кем-то другим, фишинг использует методы социальной инженерии, чтобы обманом заставить людей открывать сообщения или переходить по ссылкам и тем самым раскрывать конфиденциальные данные.
Спуфинг и фишинг часто связаны между собой, потому что злоумышленники, как правило, используют методы спуфинга, чтобы сделать свои фишинговые атаки более правдоподобными.
Хотя киберпреступники часто комбинируют спуфинг с фишинговыми атаками для кражи информации, не все спуфинговые атаки обязательно являются примерами фишинга. Многие атаки с подменой IP-адресов предназначены для заражения целых сетей вредоносным ПО, создания основы для будущих атак или включения DDoS-атак.
Хотя мошенники сначала начали подделывать идентификаторы вызывающих абонентов, с тех пор они расширились, включив спуфинг электронной почты, спуфинг SMS и методы фишинга для получения ценных личных данных в гораздо большем масштабе.
Рисунок 2. Хакеры используют спуфинг для проникновения в сети и распространения вредоносного ПО, а мошенники используют спуфинг, чтобы обмануть жертв.
Что такое подмена электронной почты?
Спуфинг электронной почты — злоумышленники создают впечатление, будто их электронные письма исходят от другого отправителя, например от руководителя компании, известного банка или другого доверенного лица или организации.
При подделке электронной почты хакеры изменяют адреса, файлы подписей, логотипы или другие визуальные элементы электронного письма, чтобы скрыть его истинный источник или цель. К наиболее часто подделываемым свойствам электронной почты относятся:
Предупреждающие признаки спуфинга электронной почты
1. Орфографические и грамматические ошибки
У законных компаний не должно быть опечаток в электронных письмах. Если вы обнаружите опечатки или неверные фразы, письмо может быть подделано.
2. Ошибки в написании адресов электронной почты
Для похожих адресов электронной почты, спуферы может поменять определенные буквы для подобных перспективным из них, как и цифра 1 для строчной L. Ищите незначительные орфографические ошибки, такие как «irss [точка] gov» вместо «irs [dot] gov», а также необычные или специальные символы.
3. Острая необходимость
Спуферы электронной почты могут попытаться вызвать беспокойство или панику, чтобы подтолкнуть вас к принятию поспешного решения. Они могут угрожать вам последствиями, если вы не будете действовать быстро, например, заявите, что ваша учетная запись будет закрыта или что вам грозит штраф, если вы не будете действовать сейчас.
4. Общее приветствие
Вместо того, чтобы использовать ваше настоящее имя, электронное письмо может адресовать вам «Уважаемый покупатель» или другое общее обращение. Законные электронные письма будут адресованы вам напрямую.
5. Запрос личной информации
Законным компаниям не нужно подтверждать ваше имя пользователя, пароль или реквизиты банковского счета по электронной почте. То же самое касается старшего или ИТ-персонала в вашей компании. Поддельные электронные письма попытаются обманом заставить вас поделиться этой информацией с злоумышленником.
6. Typosquatting
Тайпосквоттинг — это когда хакеры регистрируют адреса веб-сайтов, используя типичные ошибки, которые люди допускают при вводе URL-адресов для посещения законных сайтов. Подобный сайт будет имитировать реальный, но часто с целью получения ваших учетных данных для входа или для загрузки вредоносного ПО.
7. Несогласованность
Соответствует ли имя отправителя полю ОТ или имени в подписи электронного письма? Обращайте внимание на все, что не совпадает.
8. Странные вложения
Многие поддельные электронные письма содержат вложения, которые при открытии устанавливают на ваше устройство вредоносное ПО. Никогда не щелкайте и не открывайте вложения, которые вы не ожидаете получить, даже если вы доверяете отправителю — его адрес электронной почты может быть подделан или взломан.
9. Нет контактной информации
Законные электронные письма обычно содержат подпись с контактной информацией. В поддельных электронных письмах эта информация часто отсутствует.
Рисунок 3. Яркие признаки подделки электронной почты: поддельные адреса электронной почты ОТ, общие приветствия, ощущение срочности, подозрительные ссылки и отсутствие контактной информации в нижнем колонтитуле.
Что такое подмена IP-адреса?
IP-спуфинг — это когда злоумышленник изменяет информацию об IP-адресе в пакете данных, отправленном через Интернет, так, чтобы данные выглядели как поступающие с другого IP-адреса. Хакеры получают IP-адрес легитимного устройства, а затем изменяют исходный IP-адрес своего трафика, чтобы он соответствовал законному IP-адресу.
Подмена IP-адресов часто используется при запуске DDoS-атак, поэтому фактический IP-адрес источника скрыт и не может быть отслежен. Подмена IP-адреса обычно происходит двумя способами:
Обе эти стратегии IP-спуфинга наводняют целевой сервер трафиком, достаточным для отключения и других сбоев системы.
Другие виды спуфинга
Подмена веб-сайта
Поддельные веб-сайты заставляют людей поверить, что они взаимодействуют с законными сайтами или надежными компаниями. На первый взгляд поддельные сайты кажутся подлинными, но мошенники скрывают URL-адреса и поддомены, чтобы у пользователей Интернета возникло ложное чувство безопасности.
Подмена идентификатора вызывающего абонента
Злоумышленники и другие телефонные мошенники подделывают свои телефонные номера, чтобы они выглядели так, как будто они исходят из местного кода или связаны с надежной организацией. Когда жертва отвечает на эти спуфинговые звонки, спуфер пытается обманом заставить ее передать личные данные.
SMS-спуфинг
Спуферы могут изменить информацию об отправителе в SMS-сообщении, чтобы сделать свои атаки более правдоподобными. Спуфинговые текстовые сообщения часто содержат ссылки, которые устанавливают вредоносное ПО на устройство жертвы или ведут на поддельные веб-сайты.
Подмена GPS
Поддельные сигналы глобального позиционирования передают неверные координаты геолокации на устройства с поддержкой GPS. Люди могут использовать приложения для подделки GPS по многим причинам, например, заставить другие подключенные к GPS приложения думать, что они находятся в другом месте, чем они есть на самом деле.
Подмена DNS-сервера
Кибератаки могут манипулировать информацией DNS для перенаправления трафика на разные IP-адреса, перенаправляя жертв на сайты, распространяющие вредоносное ПО, компьютерных червей и вирусы.
Подмена ARP
Этот метод, также известный как отравленная маршрутизация ARP, пытается связать MAC-адрес злоумышленника с законным IP-адресом для получения данных, предназначенных для владельца настоящего IP-адреса. Подмена ARP используется для кражи или изменения данных, а также для атак типа « злоумышленник в середине» или перехвата HTTP-сеанса.
Как защитить себя от атак спуфинга
Будьте бдительны
Внимательно прочтите электронные письма и убедитесь, что вы знаете отправителя. Ищите поддельные адреса ОТ и темы, орфографические или грамматические ошибки.
Доверяйте своей интуиции
Не отвечайте на электронные письма или SMS-сообщения из неизвестных источников и дважды подумайте, прежде чем передавать личную информацию. Не переходите по подозрительным ссылкам и не открывайте странные вложения.
Подтвердите адрес электронной почты и номера телефонов
Сравните адреса электронной почты с ранее отправленными электронными письмами, чтобы убедиться, что они совпадают. Всегда ищите корпоративные телефонные номера с официальных сайтов.
Проверить ссылки
Наведите курсор на ссылки, чтобы проверить, ведут ли URL туда, куда вы ожидаете.
Используйте надежные пароли
Используйте безопасные и безопасные веб-сайты
Перед вводом платежной информации на веб-сайте убедитесь, что URL-адрес имеет букву «s» после http в адресе (https : //) и значок замка слева от поля адреса — два важных показателя безопасности веб-сайта
Обновите вашу ОС и браузер
Используйте надежный частный браузер и всегда обновляйте свою операционную систему, чтобы получать последние исправления безопасности от известных уязвимостей
Используйте надежное антивирусное программное обеспечение
Установите лучшее антивирусное программное обеспечение, какое только сможете найти, и постоянно обновляйте его
Защитите себя от спуфинговых атак с помощью антивирусного инструмента
Спуферы используют широкий спектр уловок, чтобы обмануть вас — от вредоносных вложений электронной почты до безобидных, но зараженных веб-сайтов. Надежный антивирус защитит вас от них всех. Автоматически обнаруживайте и блокируйте подобные атаки и угрозы, чтобы ваши данные были в безопасности, а на ваших устройствах не было вредоносных программ.
Актуальные методы спуфинга в наши дни
Содержание статьи
Спуфинг довольно интересный метод атак, которым многие профессионалы в области ИБ пренебрегают. А зря, очень даже зря. Из данной статьи ты поймешь, насколько обманчив может быть этот многообразный мир. Не верь своим глазам!
WARNING
Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.
Intro
Зачастую от коллег по цеху мне приходится слышать, что спуфинг как вектор атаки не стоит даже и рассматривать. Однако смею тебя заверить: если методы спуфинга тщательно продуманы, то использовать их можно для очень и очень многого. Причем масштабы и результаты таких атак порой бывают катастрофическими. Ведь, обманув твои глаза один раз, я буду обманывать тебя и дальше. Самый главный аргумент в пользу того, что spoof-атаки представляют реальную опасность, — от них не застрахован ни один человек, включая и профессионалов. Здесь нужно заметить, что сам по себе спуфинг ничего не дает: для проведения действительно хакерской атаки необходимо использовать постэксплуатацию (post-exploitation). В большинстве случаев цели постэксплуатации заключаются в стандартном захвате управления, повышении привилегий, массовом распространении вредоносных программ и, как следствие, краже персональных данных и электронно-цифровых ключей банковских систем с дальнейшим отмыванием денег. В этой статье я, во-первых, хочу рассказать о том, какие вообще бывают методы спуфинга, и, во-вторых, подробно рассказать тебе о некоторых современных подходах. Естественно, вся информация предоставляется тебе лишь с целью помощи в защите от такого рода атак.
Прошлое и настоящее спуфинга
Изначально термин «spoofing» использовался как термин сетевой безопасности, подразумевающий под собой успешную фальсификацию определенных данных с целью получения несанкционированного доступа к тому или иному ресурсу сети. Со временем этот термин начал употребляться и в других сферах инфобезопасности, хотя большинство так называемых old school специалистов и сегодня продолжают использовать слово «spoofing» только лишь для уточнения типа сетевых атак.
Первые IDN-клоны
Атаку с использованием IDN-омографов впервые описали в 2001 году Евгений Габрилович и Алекс Гонтмахер из израильского технологического института Технион. Первый известный случай успешной атаки, использующий данный метод, был предан огласке в 2005 году на хакерской конференции ShmooCon. Хакерам удалось зарегистрировать подставной домен pаypal.com (xn--pypal-4ve.com в Punycode), где первая буква а — кириллическая. Благодаря публикации на Slashdot.org к проблеме было привлечено внимание общественности, после чего как браузеры, так и администраторы многих доменов верхнего уровня выработали и реализовали контрмеры.
Итак, когда Сеть только зарождалась, большинство усилий программистов и разработчиков были направлены в основном на оптимизацию алгоритмов работы сетевых протоколов. Безопасность не была настолько критичной задачей, как сегодня, и ей, как часто это бывает, уделяли очень мало внимания. Как результат, получаем банальные и фундаментальные ошибки в сетевых протоколах, которые продолжают существовать и сегодня, несмотря на различного рода заплатки (ибо никакой заплатой не залатать логическую ошибку протокола). Здесь необходимы тотальные изменения, которые Сеть в существующем представлении просто не переживет. Например, в статье «Атаки на DNS: вчера, сегодня, завтра» (][#52012) я рассказывал о приводящих к катастрофическим последствиям фундаментальных уязвимостях в DNS-системах — использовании протокола UDP (который, в отличие от TCP/IP, является небезопасным, так как в нем отсутствует встроенный механизм для предотвращения спуфинга) и локального кеша.
Векторы
В зависимости от целей и задач векторы спуфинга можно разделить по направлениям на локальные (local) и сетевые (net). Именно их мы и рассмотрим в этой статье. В качестве объекта атак при локальном векторе чаще всего рассматривается непосредственно сама ОС, установленная на компьютере жертвы, а также определенного рода приложения, которые зачастую требуют дополнительного анализа в зависимости от ситуации. Объекты атак при сетевом векторе, напротив, более абстрагированны. Основными из них являются компоненты информационных систем, представленных как локальными, так и глобальными сетями. Рассмотрим основные виды спуфинга.
Новейшие наработки в области спуфинга
Наиболее распространенные техники уже довольно стары и избиты. Глобальная сеть буквально кишит информацией о возможных вариациях их эксплуатации и защиты от них. Сегодня мы рассмотрим несколько новейших методов спуфинга, применение которых только набирает обороты, начиная с локальных векторов и заканчивая сетевыми. Итак, все по порядку.
Flamer и скандальный спуфинг сертификатов Microsoft
Microsoft Security Advisory (2718704) — Unauthorized Digital Certificates Could Allow Spoofing. Довольно интересная вещь была найдена в экземплярах нашумевшего шпионского бота Flamer: по результатам реверс-инжиниринга компонентов этого зловреда был обнаружен участок кода, отвечающий за проведение спуфинг-атак типа фишинг. Имитируя предоставление оригинальных сертификатов крупных компаний, бот проводил MITM-атаку, целью которой был перехват персональных данных пользователей корпоративной сети с последующей отправкой на сервер разработчиков. Этот спуфинг-инцидент получил Security Advisory #2718704 с рангом опасности High.
Спуфинг в ОС
1. Extension Spoofing — спуфинг расширения файла
Техника, увидевшая свет благодаря наработкам китайского исследователя в области информационной безопасности Zhitao Zhou. Суть данной техники заключается в использовании управляющего символа 0x202E (RLO) в имени файла, что позволяет изменить порядок символов при отображении названия файла в проводнике Windows (explorer.exe). Приведу пример использования этой простой техники:
Файл 3pm.SCR представляет собой не что иное, как исполняемый файл, реализующий определенные функции (троянская программа. — Прим. редактора). Если в начале имени файла «3pm.SRC» вставить управляющий символ 0x202E (см. рис. 1), то порядок символов меняется на обратный и имя файла отображается в проводнике Windows уже иначе:
Для изменения иконки файла следует использовать любой редактор ресурсов (Restorator, Resource Hacker). Данная техника рассчитана на неосторожного пользователя, который может принять этот файл за песню и открыть двойным щелчком, тем самым запустив зловредную программу. К сожалению, данная техника не будет работать в программах — аналогах проводника, поддерживающих Юникод. Ниже приведен код на C#, который выполняет изменение имени файла, добавляя в начало управляющий символ 0x202E:
Расположение символа RLO в Charmap
Хакер #163. Лучшие гаджеты для хакера
2. File Name Spoofing — клонирование имени файла
Данная техника была представлена японским исследователем Yosuke Hasegawa на конференции Security-Momiji. Она основана на использовании символов нулевой длины (ZERO WIDTH Characters), которые никак не влияют на отображение названия файла (см. рис. 2). Ниже приведены все символы из этой категории:
Помимо этого возможно использовать кодировку UTF для фальсификации имен существующих файлов. Данную технику часто применяет современная малварь. В поле моего зрения попадались образцы вредоносов, которые проводили такого рода атаки. К примеру, зловред TrojanDropper:Win32/Vundo.L (использовался для фишинга сайтов vk.com, vkontakte.ru, *odnoklassniki.ru) задействует именно эту технику.
Благодаря UTF имеем много «одинаковых» файлов в одной директории
Файл %SystemRoot%\system32\drivers\etc\hosts копировался в файл-«клон» hosts с UTF-символом «о» (0х043E), после чего оригинальному файлу hosts придавался атрибут скрытого файла и его содержимое перезаписывалось с добавлением следующих записей:
До сих пор веришь своим глазам? Поехали дальше!
Подставной клон hosts
Спуфинг веб-браузеров
1. Status bar / Link spoof
Приведенный HTML-код производит динамическую подмену указанного адреса (www.google.com) на адрес сайта ][ (www.xakep.ru) посредством различного рода методов, основанных на JavaScript-событии onclick=».
2. URL Bar Spoofing — подмена ссылки в адресной строке браузера
На первый взгляд это кажется невозможным, но поверь мне — это всего лишь задача для развития смекалки. Рассмотрим уязвимость CVE-2011-1452, которая спуфит адресную строку в непобедимом Google Chrome до версии 11.0.696.57:
При клике по ссылке «Click Me» активируется функция spoof(), в которой производятся следующие действия:
Таким образом происходит перезапись адресной строки на новый URL в контексте первой страницы «родителя».
Следующая уязвимость CVE-2010-4045 (Opera Ты уверен, что это та страница?
4. IDN Clones — техника, основанная на внешнем сходстве отображения доменных имен
Ничего инновационного здесь нет, техника практиковалась с самого зарождения системы DNS, но именно использование IDN (Internationalized Domain Names — интернационализованные доменные имена) позволило реализовать создание почти неотличимых «клонов» доменных имен. Техническая реализация фишинг-атаки выглядит следующим образом:
Основное отличие данной атаки, основанной на сходстве доменных имен, по сравнению с другими видами фишинга с использованием подставных веб-страниц — для нее не требуется вмешательство в работу сетевых протоколов: с технической точки зрения подставной домен является легитимным.
Наиболее радикальным вариантом защиты против омографической угрозы был бы полный отказ от декодирования IDN при отображении. Тогда подставное имя всегда начиналось бы с «xn» и заканчивалось нечитаемой последовательностью символов, что резко отличало бы его от оригинала. К сожалению, этот вариант сводит на нет практически все преимущества IDN.
Основная защита от IDN-спуфинга на стороне клиента — это статусбар браузера. При наведении курсора на ссылку в статусбаре отображается punycode-эквивалент IDN-домена, что сразу наводит на мысль о возможном фишинге. Но и это не является панацеей, проспуфить можно все, если применить смекалку ;-). Смотри мой универсальный эксплойт для всех браузерных движков.
Заключение
Спуфинг был и будет востребован всегда, ибо он является основой и гарантией для проведения успешных атак во многих направлениях. Надеюсь, что ты сделал правильные выводы. Будь внимателен на просторах Сети.
Ты до сих пор веришь своим глазам? Тогда мы идем к тебе :).
Почему спуфинг устройств сегодня становится практически невозможным
Если вы смотрели фильм Квентина Тарантино «Бесславные ублюдки», то, вероятно, помните, сцену в баре, когда замаскированный британский шпион выдаёт себя бессознательным жестом.
Хотя он одет в нацистскую униформу и хорошо говорит на немецком, его выдаёт мелкая деталь: его пальцы. При заказе ещё трёх пинт он вместо большого, указательного и среднего пальцев (как показывают немцы) показывает безымянный, средний и указательный. Другой офицер за столом сразу же понимает по этой незначительной детали, что человек определённо из англоговорящей страны.
Неотъемлемая угроза мелких деталей.
То же самое справедливо и для любой работы в онлайне. Если упустить из виду мелкие, но важные аспекты, то легко можно потерять бдительность и выдать свою личность. В этой статье мы совершим путешествие в мир распознавания устройств, и покажем, почему попытки имитировать другое устройство сегодня становятся практически невозможными.
Но прежде чем приступить, давайте вкратце узнаем, почему системы пытаются распознавать устройства, что также даст нам ответ на вопрос, почему люди пытаются распознавать или эмулировать устройства.
Почему системы пытаются распознавать устройства?
В эпоху первых браузеров и последовавшую за ней эпоху «браузерных войн» существовало множество производителей браузеров, поэтому разработчикам необходимо было понимать, какой клиент какого производителя подключается к их веб-сайтам, из-за чего они начали настраивать и оптимизировать ответы серверов в соответствии с обнаруженным браузером. В данном контексте это было технической необходимостью.
Наш старый друг User-Agent сохранился с той эпохи, однако сегодня техники распознавания и защиты от имитаций стали гораздо более сложными.
Большинство сайтов используют механизмы распознавания, чтобы помочь обслуживанию своих клиентов. Например, Netflix поддерживает сотни различных форматов видео в разных разрешениях для каждого устройства, от мобильных телефонов до Smart TV. Как этого можно было бы добиться без распознавания устройств?
Аналогично, можно вспомнить компании, предлагающие полнофункциональные продукты для ноутбуков и настольных компьютеров; для пользователей мобильных устройств доступна только ограниченная версия.
Но зачем люди и боты пытаются мимикрировать под устройства?
Задаваемые нами вопросы подвели нас к этому, и ответ содержится в вопросе. Люди или боты хотят получить больше элементов, специфичных для определённых устройств, или хотят вырваться из так называемых «гетто устройств» (например, они стремятся к тому, чтобы функции на мобильном устройстве не были ограничены). Кроме того, некоторые злоумышленники пытаются воспользоваться тем, что для некоторых устройств меры защиты не так строги.
Кто может помешать использовать спуфинг устройств, если веб-сайт не отображает капчу мобильным устройствам даже при превышении частоты доступа, или если компания предлагает скидки или продукты только для некоторых типов устройств?
Гонка вооружений: распознавание и защита
Перенесёмся в современность: сейчас идёт метафорическая «гонка вооружений» между теми, кто пытается распознавать устройства и теми, кто пытается предотвратить такое распознавание. Хотя это привело к росту инвестиций в продвинутые технологии, например, машинное обучение и ИИ, есть и другие методики, которые привлекли к себе на удивление мало внимания, например, методика классификации Google под названием Picasso. Ниже мы рассмотрим её подробно, но для начала давайте перечислим те крошечные детали, которые могут выдать вас за доли секунды.
Почему спуфинг устройств не всегда срабатывает?
Можно использовать различные способы спуфинга устройств, от изменения строк User-Agent до применения более сложных техник, но это означает, что и существуют другие способы их распознавания.
Вы сидите с телефона? Да неужели?
Многие считают, что для спуфинга устройств достаточно изменить строку User-Agent; мы им отвечаем: «легко сказать, предоставьте доказательства!»
Например, большинство попыток спуфинга мобильного устройства выявляется мгновенно. Имитаторы забывают эмулировать специфичные для устройства особенности, например, они отрицательно отвечают на вопросы о поддержке ввода касанием.
Вы можете представить смартфон, не имеющий сенсорного экрана?
Проверьте своё решение вот на этом коде.
Как мы и сказали, специфичные для устройства функции и информация крайне важны. Если ты заявляешь, что используешь Apple iPhone 6, то должен знать специфичные для устройства подробности, как минимум, размер экрана iPhone 6.
Вы когда-нибудь видели iPhone 6 с разрешением экрана 1920×1080? Мы нет, и наши системы распознавания тоже!
Ещё один пример: никто не посчитает странным, что у тебя MacBook, если ты успешно пройдёшь тест navigator.platform:
Однако ты не можешь заявлять, что одновременно пользуешься Max OS X и Windows!
Есть и множество других аномалий, которые легко недоглядеть при спуфинге устройства. Если вы когда-нибудь пользовались мобильным браузером (а вы конечно пользовались), то знаете, что менять размер окна браузера нельзя. Оно всегда открыто, развёрнуто и занимает весь экран. То есть значения X и Y окна всегда должны быть 0, и если это не так…
Примеры уникальных для устройств атрибутов можно приводить долго, но теперь настала пора улыбнуться.
Эмодзи: ваши чувства вас предают?
Вы знали, что эмодзи, несмотря на то, что вводятся одинаково, на различных устройствах визуализируются по-разному?
Посмотрите, как этот милый символ отображается в разных системах и устройствах.
Допустим, ваш клиент утверждает, что он запущен на ОС Android. Система распознавания может получить значение хэша эмодзи и сравнить его с хэшем, полученным от настоящей системы Android. Если результат неодинаков, то это даёт понять, что вы спуфите устройство. Настоящая магия! Достаточно использовать U+1F600 и при создании визуализации добавить значение, выделяющее вас на фоне остальных.
Вот хэшированная версия эмодзи улыбки U+1F600 с разных устройств.
Это хэшированные при помощи sha256 одинаковые эмодзи, полученные из разных версий Google Chrome в ОС Windows 10.
Совпадают ли шрифты?
В каждой системе есть заранее установленные шрифты, и некоторые из них используются по умолчанию. Например, хотя в iOS 13 Academy есть заранее установленный шрифт Engraved LET Plain:1.0, в ней нет Al Bayan Bold. Однако последний присутствует в macOS Catalina!
Аналогично, Tahoma был стандартным шрифтом в Windows XP, а начиная с Vista им стал Segoe UI. В последнем списке шрифтов для Windows 10 компании Microsoft есть примечание:
«Обратите внимание: не все десктопные шрифты будут присутствовать в недесктопных версиях Windows 10, например, Xbox, HoloLens, SurfaceHub, и т.д.«
Поэтому системы распознавания, проверяющие шрифты, сразу могут понять, что вы не используете обычную Windows 10, если они не нашли шрифты, перечисленные на странице Microsoft.
PUF! (Psychically Unclonable Functions)
Выше мы рассказывали о проблемах, выдающих спуфинг, однако их не так сложно обойти. Переопределив браузер и шрифт по умолчанию, атрибуты эмодзи и двоичных файлов, эту проблему можно решить, хоть это и потребует множество усилий и затрат.
Однако у этой монеты есть и другая сторона.
В 2006 году Эли Бурштейн из отдела Google, занимающегося защитой от ненадлежащего использования, опубликовал свою работу под названием Picasso, в которой подробно описал, как Google борется с попытками спуфинга устройств в Google Play.
Google Picasso предназначен для определения классификации устройства, на котором используется браузер, при помощи операций рендеринга, сильно зависящих от ОС и графического оборудования. Используя порождающее значение (seed), Picasso случайным образом создаёт на canvas геометрические символы. Для работы Picasso используются такие значения, как seed, округление, ширина и высота. Благодаря этому Picasso может получить графический результат, созданный при помощи функций клиента, которые невозможно склонировать, например, операционной системой и графическим оборудованием. Спуфер не может этому препятствовать, только если не имеет полностью аналогичной системы.
Псевдокод Picasso из статьи Эли Бурштейна
Эта система не работала бы без базы данных, содержащей заранее вычисленные значения, полученные при помощи настоящих устройств. Позже эта база данных используется для сравнения с эталонными значениями.
Здесь стоит отметить важные аспекты работы Picasso. Например, он создаёт графический результат при помощи canvas HTML. Люди склонны считать, что canvas используется для повышения энтропии фингерпринта, чтобы обеспечить уникальность устройства. Как пару лет назад доказали инженеры Multilogin, хэш canvas не обеспечивает уникальные фингерпринты, а идентичен в системах, имеющих одинаковые ингредиенты, например, «железо». В 2006 году ребята из Google начали использовать эту особенность фигнерпринтинга по canvas для классификации устройств, чтобы распознавать попытки спуфинга устройств.
Разница в рендеринге между Safari на настоящем iPhone и на эмуляторе.
Хотя эта работа довольно старая (2006 год), её используют в Cloudflare. Picasso можно считать неотвратимым механизмом борьбы с попытками спуфинга устройств, имеющим значительную долю рынка.
Если на стороне сервера есть база данных, состоящая из заранее вычисленных хэшей, полученных на настоящих устройствах, при попытках спуфинга устройств и операционных систем от Picasso сложно уклониться.
На правах рекламы
Создание виртуальных серверов с защитой от DDoS-атак и новейшим железом. Максимальная конфигурация — 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe.