Представлен (http://arstechnica.com/business/news/2012/04/android-trojan-...) прототип троянского ПО TapLogger (http://www.cse.psu.edu/~szhu/papers/taplogger.pdf) для смартфонов на базе платформы Android, использующий заслуживающий внимания метод определения вводимых с экранной клавиатуры символов. Приложение примечательно тем, что для перехвата ввода не используются уязвимости в платформе или особенные системные привилегии - для работы программы достаточно штатного доступа к встроенным сенсорам, таким как гироскоп, датчик ориентации и акселерометр.
Представленная троянская программа оформлена в виде игры, нацеленной на проверку реакции и наблюдательности пользователя. Суть игры в том, чтобы найти среди разбросанных по экрану пиктограмм идентичные изображения, которые следует закрыть прикосновением к экрану. В процессе игры приложение накапливает статистику о незначительных колебаниях и наклонах корпуса. После определённой "тренировки" приложение может с большой вероятностью предсказать к какому месту экрана прикоснулся пользователь, что и используется для организации перехвата ввода. После игры приложение остаётся в фоне и продолжает накапливать данные с сенсоров.
При наборе номера телефона или ввода PIN-кода приложение ассоциирует рассчитанные вероятностным путем позиции экрана с областями формы набора номера или экранной клавиатуры, расположение элементов которых изначально известны. Накопленные данные отправляются для обработки на внешний сервер, на котором производится анализ статистики и восстановление последовательностей вводимых данных. В настоящее время TapLogger пока способен уверенно определять только ввод цифровой информации.<center><a href="http://www.cse.psu.edu/~szhu/papers/taplogger.pdf">&... src="http://www.opennet.me/opennews/pics_base/0_1335257075.png" style="border-style: solid; border-color: #606060; border-width: 1px;" title="" border=0></a></center>
В качестве демонстрации возможностей TapLogger была осуществлена атака по успешному подбору PIN-кода. При переборе обычными методами для определения 4-значного PIN-кода требуется перебрать примерно 10 тысяч вариантов. При использовании TapLogger количество попыток сокращается до 81 и позволяет достигнуть 100-процентного шанса на успех. Для 6-значных PIN-кодов, которые требуют перебора миллиона комбинаций, число комбинаций при использовании TapLogger составляет 729, а вероятность успешного взлома оценивается в 80%.
Несмотря на то, что прототип кейлоггера подготовлен для платформы Android, нет никаких препятствий в реализации аналога для других мобильных платформ. Тем не менее, разработчики обращают внимание, что возможность неограниченного доступа установленных приложений к сенсорам движения, без предварительного подтверждения пользователем данных полномочий, является недоработкой в архитектуре безопасности таких платформ, как Android, Windows 8 и Blackberry OS. TapLogger наглядно демонстрирует, что даже доступ к информации от простейших сенсоров может привести к организации атак, способных привести к утечке данных. В свете полной незащищённости платформы Android к подобным атакам, ожидается, что в ближайшее время следует ждать появления реального вредоносного ПО, манипулирующего информацией от сенсоров, а не только исследовательских прототипов.
URL: http://arstechnica.com/business/news/2012/04/android-trojan-...
Новость: http://www.opennet.me/opennews/art.shtml?num=33673
Гениально :)
+1. До такого нелегко додуматься.
Hewllet Packard лет 20 назад уже додумался.
---
А я уже придумал антикейлогер - клавиатура со случайным расположением кнопок.
Они вон сколька трахаются с определением, а мне random() хватит. :)
поподробней расскажите пожалуйста
> поподробней расскажите пожалуйстаУшел искать.
> Гениально :)Именно это и есть _применение **статистики** и математики. В отличие от мучительного сложения прОцентов анонимами под каждой новостью с цЫфирками, и их истошными плачами на тему "не пишите в одной новости больше двух чисел, а то мОзги спекаются". Большая Наука, бубёнть.... :(
> Гениально :)Ничего гениального, вообще-то нет.
Да... После изобретения колеса ничего гениального не придумали.
Ничего нового. Шифрованный телеграф второй половины прошлого века T-206MT "Весна" имеет виброзащиту в виде амортизаторов и в виде выдачи текста квантами по 5 символов, чтобы сбить статистику всяким математикам :) Уже тогда знали методы снятия открытого текста по статистике времени пролёта молоточков печатной машинки от нажатия на клавишу до удара по ленте, не говоря уже о паузах между нажатиями клавиш на известной раскладке.
Очередное, примерно 9000е, веское доказательство преимущества аппаратов с физической клавиатурой. Кейлоггер собирает данные о нажатиях на экран, PINы и пароли вводятся с физической клавиатуры.
Он точно также может собрать данные и с физической клавиатуры.
И самое главное я более чем уверен, что с физ. клавы данные будут куда точней, чем с сенсора.
Напр. Privat24 при открытии клавиатуры падает или перезапускается, так что не всё так просто. :-)
> Напр. Privat24 при открытии клавиатуры падает или перезапускается, так что не всё так просто. :-)Что это за булшит который при открытии клавиатуры падает? Опять какая-то наколенная поделка местечковых совкобанков, писаная укуренным сынком директора под распил бабла на проект? Так результат распила вообще использовать не предполагается, вы что, тупые? :)
Эм.. В данном случае не вижу никакой разницы, что тыкать по экрану, что по клавишам. Или наличие клавиатуры делает невозможным поставить в аппарат акселерометр с гироскопом?
> Эм.. В данном случае не вижу никакой разницы, что тыкать по экрану,
> что по клавишам.Как минимум способ калибровки придётся придумывать другой.
Это тот редкий случай, когда "человеческий фактор" не ослабляет, а усиляет безопасность. Для того, чтобы собрать данные с физической клавиатуры нужно а) заставить пользователя ее открыть и убедится, что он будет использовать именно ее, а не экранную. б) заставить пользователя нажать все клавиши, причем по несколько раз.
А.) Думаю системными ф-ми мужно отделить ввод с экрана от ввода с клавиатуры
Б.) Сделать клиент аськи/скайпа
Да что вы так вцепились в свою 3310, никто у вас ее не отнимет.
А что с Apple?
У Ёппла это фича запатентована. Авторы кейлогера испугались судебных разбирательств от огрызка, поэтому кейлогер только под ведроида.
на джейлнутый можно, в аппсторь такое по не пустят..(хотя.. случаи уже были)
Зависит от того, как договориться.
> в аппсторь такое по не пустят..(хотя.. случаи уже были)Думаете, эппл будет читать весь код? Нет, вы правда думаете что у них пороху хватит? :)
Надо срочно получать патент на данный способ "анализа колебаний телефона".))
Apple в новости не упомянут
> Apple в новости не упомянуту эппла куда сложнее получить доступ к апи.
Что, простите?! =)
Надо каждый раз выводить кнопки в случайном порядке ))
Надо это скрестить с полем ввода пароля.Неудобно,но зато эффективно.Заодно народ запомнит свои пароли(я половину могу набрать только вслепую и только на комп.клаве)
> Надо каждый раз выводить кнопки в случайном порядке ))Мелко, Хоботов! Нужно кнопочки делать плавающими по экрану. Чтобы в нужную попадал раза с пятого.
Какие-то слишком сложные и неудобные варианты противодействия вы предлагаете.Достаточно просто блокировать доступ к сенсорам всем остальным программам во время ввода пароля/пин-кода. Ну или, если какому-то классу приложений нужен постоянный доступ к ним, то ввести ещё один пункт привилегий: "не блокировать доступ к сенсорам во время ввода с клавиатуры". Хотя мне кажется, что будет достаточно универсально, если блокировать только те колебания, которые происходят именно во время касания к клавиатуре.
> Надо каждый раз выводить кнопки в случайном порядке ))Да вы что, это же дико неудобно. А вот алкоголизм решает! Выделить из шума создаваемого тремором рук полезный сигнал будет не просто. В общем надо предлагать пользователю перед каждым использованием телефона пропустить пару стопок. =D
А это может быть очень даже интересный способ ввода... Может он сможет заменить сенсорные экраны?
Достаточно случайно смещать клавиатуру на полкнопки при каждом всплытии
> Достаточно случайно смещать клавиатуру на полкнопки при каждом всплытиилолщито? вам и в универе статанализ не давали? или ты в это время портвешок пил?
Для программ, которые могут стать основной целью злоумышленников (клиенты банков, электронных платежных систем) достаточно использовать перемешивание цифр на клавиатуре при вводе пин-кода.
Да и терзают меня смутные сомнения что такая программа сможет распознать пароль, введенный на обычной экранной клавиатуре. Уж больно кнопки на ней маленькие, а гироскопы на телефонах не настолько точные.
> Для программ, которые могут стать основной целью злоумышленников (клиенты банков, электронных
> платежных систем) достаточно использовать перемешивание цифр на клавиатуре при вводе пин-кода.и огрести массу благодарностей от довольных юзеров. скажи, сколько человек согласны пожертвовать удобством за некую «безопасность», про которую им вообще мало что понятно? а зато вот то, что «опять эти яйцеголовые всё поломали» — это понятно.
да что уж там: я и сам не готов к таким «лекарствам». потому что тут нарушается ключевой принцип: не я для машины, а машина для меня. я в своё время сменил ОС именно потому, что как-то надоело лопать то, что где-то посчитали «удобным для всех».
Хм.... Я так понимаю, свайп-клавы таким логгерам все портят. Разумеется, если именно свайпить.
А как ты будешь «свайпить» пин-код телефона? Ну или номер банковской карточки для примера?
Я уже знаю способ борьбы с этим. Протестирую на тесте после 1 мая и после 9 мая для подтверждения...
Проблема легко решается рандомной перестановкой символов на экранной клавиатуре во время ввода паролей.
> Проблема легко решается рандомной перестановкой символов на экранной клавиатуре во время
> ввода паролей.Действительно, проблемы будут у юзеров и саппортов, когда юзеры не смогут логиниться :)
Нужно все пароли вводить рецессивной рукой.
Еще можно смартфон на твёрдую поверхность положить, тогда при наборе колебаний не будет :)
Ну ты ещё скажи, что для набора пароля можно в совковом поезде ехать. Тогда колебаний будет столько, что хрен кто что определит.
С бодуна на УАЗике во время движения по уложенному 10 лет назад асфальту :)
> С бодуна на УАЗике во время движения по уложенному 10 лет назад
> асфальту :)Будьте проще, джентльмены.
Все значительно тривиальней.
1. Настройки телефона - Датчики - Отключить. Грубо - но эффективно. И пойди, включи их обратно - программным образом - на непорутанном телефоне. Чувствуете, однако, сисадмины, что зря полный доступ открывали? А сами лохи - собственный принцип "Не сиди под рутом!" нехрен было нарушать.
2. В моем смарте - правда, он не на ведре - вибрация тупо отключена. Совсем. Мне без надобности - я и так набираю на сенсоре все что угодно. Вперед, перехватите мой набор.
Вы без понятия на что похож доступ к руту в гуглофоне. На него попутно ставится приложение которое контролирует запросы на права рута и спрашивает владельца "дать/послать ?".
> 2. В моем смарте - правда, он не на ведре - вибрация
> тупо отключена.Это тут нипричем.
Вибрация на все кнопки одинаковая.
Жалобы на админов и про принцип "не сиди под рутом" пиши разработчику ОС и в Спортлото карботкой. Сюда больше не пиши, опасно. На поезд не садись. Из города выбирайся на попутках.
>для определения 4-значного PIN-кода требуется перебрать примерно 10 тысяч вариантовРовно 10 тысяч :)
> Ровно 10 тысяч :)Не ровно, а до 10 тысяч. Он ведь может быть и 0000. Тогда ты его найдёшь прямо сразу.
> Не ровно, а до 10 тысяч. Он ведь может быть и 0000. Тогда ты его найдёшь прямо сразу.Ну 0000 не сразу (чем он лучше/хуже 5555 или 6666?) а вот 1234 - да, буквально сразу.
>> Не ровно, а до 10 тысяч. Он ведь может быть и 0000. Тогда ты его найдёшь прямо сразу.
> Ну 0000 не сразу (чем он лучше/хуже 5555 или 6666?) а вот
> 1234 - да, буквально сразу.pin код блокируется после 3 неправильных вводов.
Хуле там ваши 1234 )
> pin код блокируется после 3 неправильных вводов.Думаете, хаксоров это сильно задевает? Это у вас - проблема. А хаксорам фиолетово. Ну и вы разблочите наверное, да? :)
Видимо чувакам показалось что просто спереть пинкод - скучно и неспортивно. Вот вычислить его на основе вероятностей на основе показателей акселерометра - это да, высший пилотаж!
У Нила Стивенсона в Криптономиконе был подобный способ взлома криптоблокнотов, когда вычислялось какой шифр "случайным" образом выбирала шифровальщица. Просто проанализировав её рост и привычки.
было уже. в лохматые годы читал про подобный кейлоггер, разбирающий ввод по звуку нажимаемых клавиш на клавиатуре. правда на абсолютно новой клавиатуре может не сработать :)
В совковые годы когда появились автоматические камеры хранения нашлись умельцы по слуху считывающие код. Противодействие было достаточно простое - перед установкой кода быстро покрутить ручеи в разные стороны.собсно кто мешает потыкать мимо кнопок по экрану?
Учитывая, что на ёмкостном экране нажатия пальца не требуется, а колебания уровня дрожания рук не регестрируемы вообще из-за недостаточной чувствительности и дискретности датчика и бессмысленности, данный класс кейлоггеров подходит разве что для резистивных экранов.
Помнится была такая рограмма для iphone - вы набираете буквы, как будто на экранной клаве, а клавиатура сама подстраивается - становится в нужное место и поворачивается на нужный угол.
Можно писать хоть по диагонали.
Естественно, это работает через распознавание частонабираемых слов.
hello john, how are you today и т.д.
При вводе только что сгенерированного пароля клава есессно в душе не чает, на какие символы вы намекаете.
Но в целом тоже получается неплохая защита против taplogger.А вообще, какова фига?
Программа остается в фоне, собирает данные и куда-то отправляет без спроса пользователя - уже повод определять её, как зловреда.
чуваки изобрели статанализ. точнее, ненавязчиво напомнили о том, что сбор статистики — дело не такое безобидное, как кажется. даже не очень — на первый взгляд — важной статистики.
Информация утекает по каналам. ...журчат ручьи...