Спецпроекты

ПО Безопасность Техника

Любой iPhone можно взломать через новую «дыру» в JavaScript

Британские исследователи продемонстрировали, как с помощью JavaScript можно отслеживать движение пальцев пользователя — например, при разблокировке смартфонов. По утверждению исследователей, в 70% случаев их программе удавалось выяснить четырехзначный PIN с первого раза. С третьего раза программа «угадывала» код разблокировки уже в 94% случаев.

Следите за пальцами

Исследователи вопросов безопасности из университета Ньюкасла в Великобритании опубликовали работу в издании Journal of Infermation Security, в которой описали возможность отслеживать пользовательские жесты на смартфонах. Для этого потребуется лишь небольшое приложение на JavaScript, которое эксплуатирует программные интерфейсы (API) сенсоров движения устройства.

По утверждению авторов исследования, это приложение может собрать достаточно информации с сенсоров, чтобы в 70% случаев выяснить комбинацию разблокировки с первой попытки. С третьей попытки скрипт PINlogger.js «угадывает» PIN в 94% случаев.

«Большая часть смартфонов, планшетов и других носимых устройств сегодня оснащены множеством сенсоров, в диапазоне от общеизвестных GPS-модулей, камер и микрофонов до гироскопов, сенсоров дальности и вращения, акселерометров, а также NFC-модулей. Поскольку мобильные приложения и вебсайты не нуждаются в специальных разрешениях на доступ к большинству из них, вредоносные программы могут тайно шпионить за потоками данных с ваших сенсоров и использовать их для получения широкого диапазона важных сведений о вас, в том числе, о продолжительности звонков, физической активности и даже... о PIN и паролях», — говорится в публикации исследователей.

И это еще не все

Как отметила в пресс-релизе руководитель исследовательской группы доктор Мариам Мернежад (Maryam Mehrnezhad), ее коллегам удалось выяснить, что в нескольких мобильных браузерах вредоносный код, встроенный в одну страницу, может следить за всеми действиями пользователя на всех остальных вкладках. То есть, например, если в одной вкладке открыт ресурс, содержащий вредоносный скрипт, а в другой — страница авторизации банка, то скрипт все равно может перехватывать введенные пользователем данные. Иногда предотвратить это поможет закрытие «вредоносной» вкладки, иногда — только закрытие браузера целиком.

Найдена возможность красть пароли, считывая движение пальцев на экране смартфона

На сегодняшний день смартфоны оснащаются в среднем 25 разными сенсорами. Веб-сайты и сторонние приложения запрашивают у пользователя разрешение на использование лишь небольшой части этих сенсоров — камеры, микрофона, GPS и некоторых других. Остальные сенсоры используются в фоновом режиме без ведома пользователей.

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

«Это как собирать мозаику — чем больше фрагментов собраны вместе, тем лучше видна общая картина», — отметил соавтор исследования, доктор Сиамак Шахандашти (Siamak Shahandashti). — В зависимости от того, как мы набираем текст на смартфоне — держа его в одной руке и используя только большой палец той же руки или пальцы другой; от того, просто ли прикасаетесь к экрану или проводите по нему пальцем, устройство будет наклоняться в ту или иную сторону, и постепенно становится очень просто заметить закономерности его движения, связанные с регулярными "сигнатурами прикосновения"».

По словам Шахандашти, различные сенсоры могут предоставить в общей сложности множество разных сведений о поведении пользователей, в том числе для того, чтобы вычислить их пароли.

Решения нет. А нужно?

Исследователи уведомили о проблеме производителей мобильных браузеров, но никто из них пока не придумал, как ее решить раз и навсегда. Mozilla и Apple представили частичное решение, но оно помогает далеко не во всех случаях.

Существует, конечно, радикальный способ — отказаться от сенсоров в смартфонах вовсе или заставить все сайты и мобильные приложения запрашивать разрешение на доступ к каждому из них. Но на это вряд ли пойдет кто-либо из производителей.

В качестве промежуточной защитной меры доктор Мернежад и ее коллеги предлагают пользователям почаще менять пароли и PIN'ы, чтобы вредоносные скрипты не смогли выявлять регулярные закономерности, закрывать любые приложения, которые не используются в данный момент, и деинсталлировать те из них, которые перестали быть нужными, регулярно обновлять ПО на мобильном устройстве, не устанавливать непроверенные приложения из неофициальных магазинов, а также проверять все разрешения, которые мобильные приложения запрашивают при установке.

Впрочем, далеко не все эксперты согласны с тем, что эта угроза вообще заслуживает внимания. «То, что JavaScript может подключаться к сенсорам, не спрашивая разрешения, вызывает вопросы, — комментирует Георгий Лагода, технический директор компании "Монитор безопасности". — Если мы говорим об iOS, то система останавливает работу браузера в тот момент, когда пользователь запускает банковское приложение на смартфоне. Кроме того, у разных приложений совершенно разный формат ввода PIN: где-то цифры, где-то полноценные клавиатуры мобильного устройства. Это не говоря уже о разных разрешениях и ориентации устройства в данный текущий момент. Ну, и потом, как этот вредоносный скрипт отличит, вводит ли пользователь пароль или просто играет в игрушку?».

«Что же касается возможности внедрения такого скрипта в отдельное приложение, то этот вариант с iOS, скорее всего, не пройдет вовсе, и очень маловероятно, что ему удастся долго продержаться в официальном Google Play. Я бы не стал переоценивать угрозу от этого скрипта, — добавляет Лагода.

Роман Георгиев

Короткая ссылка