Уязвимости в Android
Самая первая уязвимость Android была обнаружена еще в октябре 2008 года в прошивке коммуникатора HTC T-Mobile G1. При просмотре веб-страниц с определенным содержимым ошибка в ПО позволяла выполнить вредоносный код, отслеживающий использование клавиатуры гаджета. Теоретически таким образом можно было реализовать кейлоггер, фиксирующий нажатия кнопок, и собирать вводимую пользователем при веб-серфинге информацию. Эта уязвимость представляла опасность только для одной-единственной модели коммуникатора, но само ее наличие наглядно показало: Android — не настолько безопасная и защищенная система, как считалось ранее.
Согласно информации с сайта cvedetails.com, на март 2020 года в Android насчитывается 2565 уязвимостей, при этом число выявленных багов начало экспоненциально расти примерно с 2014 года. Не так просто оценить, сколько из перечисленных устройств вовремя получили патчи безопасности, которые закрывают уязвимости, но это явно далеко не все из них. Мало того: не все уязвимости вообще оказываются закрытыми, тем более в старых версиях, официальная поддержка которых прекращена. Проблему усугубляют производители устройств, которые зачастую не торопятся выпускать обновления. С ростом популярности Android энтузиасты и исследователи отыскивали все новые и новые ошибки в различных ее версиях.
Мобильные банковские троянцы
Одним солнечным апрельским утром мой завтрак был прерван телефонным звонком приятеля — предпринимателя, занимавшегося грузовыми перевозками. Срывающимся голосом он рассказал, что с его банковского счета куда-то испарились два миллиона рублей. А служба поддержки банка развела руками, отправив приятеля писать заявление в полицию, поскольку денежные переводы были совершены с помощью мобильного приложения и подтверждены по SMS, что по всем признакам соответствует вполне легальной финансовой операции. «Ты ж программист, — простонал в трубку мой приятель, — посоветуй, что делать». Увы, что-либо делать было уже поздно, ибо инструментом для кражи послужил банковский троянец, обосновавшийся на смартфоне моего товарища задолго до этого инцидента. И предотвратить потерю денег было можно, лишь заранее изучив принципы работы и методы борьбы с такими вредоносными программами. Чем мы прямо сейчас и займемся.
Первенцы
Первые полноценные банковские трояны для мобильной платформы Android были обнаружены еще в 2011 году. Нет, вредоносы, способные передавать злоумышленникам входящие SMS-сообщения, в том числе содержащие mTAN-коды (коды аутентификации транзакций), существовали и до этого. Кроме того были известны троянцы, умеющие оперировать USSD-командами. Они могли перевести заданную злодеями сумму с «привязанной» к телефону банковской карты, пополнив баланс чужого мобильного телефона, или узнать остаток средств на счете. Но полноценными банкерами такие трояны, конечно же, не были, поскольку заметно уступали по функциональным возможностям своим десктопным аналогам.
Все изменилось с появлением Android.SpyEye. Этот троян работал в связке с вредоносом SpyEye для Windows, благодаря чему обрел способность обходить двухфакторную аутентификацию. Действовал он следующим образом. Как только пользователь зараженной Windows открывал в браузере банковский сайт, работающий на компе троян выполнял веб-инжект, встраивая в страницу кусок HTML-кода, который он подгружал из конфигурации. Поскольку инжект осуществлялся на стороне клиента, URL банковского сайта в адресной строке браузера оказывался корректным, а соединение было установлено по протоколу HTPS. Поэтому содержимое веб-страницы не вызывало у жертвы никаких подозрений.
Текст, встроенный трояном в банковский сайт, гласил, что банк внезапно изменил условия работы, и для авторизации в системе банк-клиент необходимо установить на мобильный телефон небольшое приложение размером около 30 Кбайт, скачав его по предложенной ссылке — «в целях безопасности». Приложением, естественно, был мобильный трой Android.SpyEye. Эта вредоносная программа не создавала никаких значков, ее можно было отыскать только в списке работающих процессов под названием «Система». Основная задача трояна — перехват всех входящих SMS-сообщений и пересылка их на управляющий сервер, адрес которого вредонос брал из XML-файла.
Рис. 9. Так выглядел один из первых мобильных банковских троянов — Android.SpyEye
Когда жертва вводит логин и пароль на банковском сайте в окне браузера, Windows-троян SpyEye перехватывает и отправляет их киберпреступникам. После этого злоумышленники в любой момент могут авторизоваться с помощью этих данных в системе банк-клиент на сайте банка, однако сервер обязательно отправит владельцу счета проверочный код в SMS, который нужно ввести в специальную форму. Это сообщение будет перехвачено мобильной версией SpyEye и передано вирусописателям. Используя перехват SMS, они смогут выполнять любые операции по счету, например опустошить его подчистую.
Читать дальше
Конец ознакомительного отрывка
Купить книгу