Digital Security: мобильные банковские приложения содержат уязвимости

15.03.2013

(Оригинал на www.plusworld.ru)

Исследователи сделали вывод, что российские разработчики не уделяют достаточного внимания вопросам безопасности. 21.jpgDigital Security (Санкт-Петербург), консалтинговая компания, специализирующаяся на услугах в области информационной безопасности, опубликовала исследование «Анализ безопасности мобильных банковских приложений 2012».

Данное исследование проводилось с целью описания общей ситуации с безопасностью банковских мобильных приложений, не так дано появившихся на российском рынке, а также классификации существующих в них уязвимостей. В качестве аналитического инструмента был использован статический анализ кода приложений собственной разработки Digital Security (автоматический реверс-инжиниринг).

В ходе исследования были изучены мобильные приложения более чем 35 российских банков, в том числе и таких крупных розничных банков, как Сбербанк, Альфа-Банк, Банк Русский Стандарт и др. На основе полученных данных был составлен ТОП-10 мобильных банков для iOS и Android с наименьшим числом угроз.

Среди мобильных приложений для iOS в тройку лидеров вошли мобильные приложения СИАБ, Мастер-Банка и Финансовой группы «Лайф». Среди приложений для Android лидируют также СИАБ и Мастер-Банк (первое и второе место соответственно), третье место занимает МТС-Банк. Далее по защищенности следуют в порядке убывания мобильные приложения для iOS следующих банков: Банка24.ру, РосЕвроБанка, Банка БФА, Банка «Народный кредит», Сбербанка, МТС-Банка и Банка «Санкт-Петербург». Для Android в порядке убывания – ФБИиР, РосЕвроБанка, Московского Кредитного Банка, Примсоцбанка, Банка Русский Стандарт, МДМ-Банка, Инвестбанка. По мнению авторов исследования, мобильные приложения делают уязвимыми для различных сетевых угроз следующие особенности функционала. Мобильные банковские приложения, работающие на iOS в подавляющем большинстве (85%) записывают критичную информацию в лог-файл, т.е. используют общий системный лог; а также не скрывают критичную информацию (> 20%), некорректно работают с SSL (35% приложений), используют базы данных SQLite, что подразумевает подверженность SQL-инъекциям (22%).

Приложения, работающие на Android, используют IMEI и IMSI в своей работе (45%), неправильно используют механизмы межпроцессного взаимодействия (22%) и, также как и приложения для iOS, некорректно работают с SSL (15%), хотя в этом отношение их защищенность выше iOS-приложений почти в 2 раза (15% против 35%). В отчете представлен список основных уязвимостей банковских мобильных приложений:

  • потенциально уязвимы к XSS 70% iOS-приложений и 20% приложений для Android;
  • уязвимы к обходу директорий 20% iOS-приложений;
  • потенциально уязвимы к XXE-атакам 45% приложений для iOS;
  • потенциально уязвимы к SQLi 22 % iOS-приложений и 20% приложений для Android.

Большинство разработчиков российских мобильных приложений выпускают приложения с платежным интерфейсом (40%) и только 8% разработчиков не снабжают свои приложения платежным функционалом. Авторы исследования считают, что разработчики не уделяют достаточного внимания вопросам защиты приложения от хакерских атак и хищения финансовых данных, не следуют руководствам по безопасной разработке. Разработчики зачастую не осуществляют аудит кода и тестирование на проникновение, говорится в отчете.

В заключение авторы приводят следующие рекомендации для предотвращения компрометации данных пользователей мобильных приложений:

  • осведомлять программистов по вопросам некорректной работы приложения;
  • закладывать безопасность в архитектуру;
  • проводить аудит кода;
  • проводить анализ защищенности приложения;
  • применять параметры компилятора, способствующие отражению существующих угроз;
  • контролировать распространение приложения в сети Интернет;
  • быстро закрывать уязвимости и выпускать приложения.