Представлен прототип троянского ПО TapLogger для смартфонов на базе платформы Android, использующий заслуживающий внимания метод определения вводимых с экранной клавиатуры символов. Приложение примечательно тем, что для перехвата ввода не используются уязвимости в платформе или особенные системные привилегии - для работы программы достаточно штатного доступа к встроенным сенсорам, таким как гироскоп, датчик ориентации и акселерометр.
Представленная троянская программа оформлена в виде игры нацеленной на проверку реакции пользователя. Суть игры в том, чтобы найти среди разбросанных по экрану пиктограмм идентичные изображения, которые следует закрыть прикосновением к экрану. В процессе игры приложение накапливает статистику о незначительных колебаниях и наклонах корпуса. После определённой "тренировки" приложение может с большой вероятностью предсказать к какому месту экрана прикоснулся пользователь, что и используется для организации перехвата ввода. После игры приложение остаётся в фоне и продолжает накапливать данные с сенсоров.
При наборе номера телефона или вводе PIN-кода приложение ассоциирует рассчитанные вероятностным путем позиции экрана с областями формы набора номера или экранной клавиатуры, расположение элементов которых изначально известны. Накопленные данные отправляются для обработки на внешний сервер, на котором производится анализ статистики и восстановление последовательностей вводимых данных. В настоящее время TapLogger пока способен уверенно определять только ввод цифровой информации.
В качестве демонстрации возможностей TapLogger была осуществлена атака по успешному подбору PIN-кода. При переборе обычными методами для определения 4-значного PIN-коде требуется перебрать примерно 10 тысяч вариантов. Использование TapLogger количество попыток сокращается в среднем до 81 и позволяет достигнуть 100-процентного шанса на успех. Для 6-значных PIN-кодов, которые требуют перебора миллиона комбинаций, число комбинаций при использовании TapLogger составляет 729, а вероятность успешного взлома оценивается в 80%.
Несмотря на то, что прототип кейлоггера подготовлен для платформы Android, нет никаких препятствий в реализации аналога для других мобильных платформ. Тем не менее, разработчики обращают внимание, что возможность неограниченного доступа установленных приложений к сенсорам движения, без предварительного подтверждения пользователем данных полномочий, является недоработкой в архитектуре безопасности таких платформ, как Android, Windows 8 и Blackberry OS. TapLogger наглядно демонстрирует, что даже доступ к информации от простейших сенсоров может привести к организации атак, способных привести к утечке данных. В свете полной незащищённости платформы Android к подобному виду атаки, ожидается, что в ближайшее время следует ждать появления реального вредоносного ПО, манипулирующего информацией от сенсоров, а не только исследовательских прототипов.