33

Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ
Page 2: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

2

Основные результаты исследования

Page 3: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

3

Мобильные банковские приложения для iOS

1/162/163/166/167/169/1610/1611/1613/16

Раскрытие координат пользователя

Использование HTTP-соединения

Раскрытие информации о тестовом окружении

Критичная информация в памяти приложения

Невозможность полного завершения сессии

Запуск на Jailbreak-устройстве

Отсутствие 2FA

Отсутствие SSL Pinning

SSL-сертификаты в файлах приложений

Мобильные банковские приложения для Android

1/161/163/164/164/165/165/166/1612/16

Раскрытие координат пользователя

Запуск на Root-устройстве

Отсутствие предупреждения на устройстве с Root

Возможность утечки данных через Backup сессии приложения

Пароль в файлах после завершения сессии

Пароль в памяти после завершения сессии

Отсутствие 2FA

Раскрытие информации о тестовом окружении

SSL-сертификаты в файлах приложений

Page 4: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

4

Оглавление

Основные результаты исследованияОглавлениеВведениеОсновные понятияМодели нарушителяМетодология анализа защищенности мобильных приложенийРезультаты исследования безопасности iOS приложений

Метаданные приложенияАнализ APIХранение критичной информацииМеханизмы защиты

Результаты исследования безопасности Android приложенийАнализ APIХранение критичной информацииМеханизмы защиты

Методология анализа взаимодействия операторов сотовой связи с банкамиРезультаты исследования взаимодействия банков с операторами связиВыводыО компанииПриложение

25678

101112131519202123262728313233

Page 5: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

5

Введение

В 2012 году исследователи провели обширный анализ безопасности банковских клиентов на мобильных платформах iOS и Android.По итогам исследования были опубликованы отчеты «Анализ безопасности мобильных банковских приложений 2012» и «Безопасность мобильного банкинга: возможность реализации атаки MitM 2014».

В настоящем исследовании* нашей целью, помимо поиска недостатков безопасности приложений на iOS и Android, было изучение взаимодействия банков с операторами сотовой связи. В методологии акцент был сделан на углублении провероки анализе взаимодействия банков. Для этого мы действовали как клиенты банков и мобильных операторов.

При отборе банков мы руководствовались рейтингами самых устанавливаемых банковских приложений App Store и Google Play из раздела «Финансы» и списка«Топ 100 Российских банков» (по версии издания banki.ru на ноябрь 2017 года).В конечный список вошли 16 банковских приложений, а список мобильных операторов был ограничен «большой четверкой».

Мобильные банковские приложения сегодняСегодня мобильный банкинг используется повсеместно. Внедрение технологий Apple Pay и Android Pay увеличило аудиторию мобильных банковских приложений. Некоторые банки используют мобильный банкинг как основной канал общенияи работы с клиентами. Следует отметить,что в официальные магазины распространения приложений могут попасть и программы со встроенным вредоносным кодом. Зачастую как раз банковские мобильные клиенты становятся целью злоумышленников, и успех атаки напрямую зависит от уровня безопасности приложения.

*Информация о найденых уязвимостях доведена до сведения сотрудников служб безопасности банков.

Page 6: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

6

SIP IMSI

Интернет-протокол голосовой связи и видеосвязи реального времени

Международный идентификатор мобильного абонента, ассоциированныйс каждым пользователем мобильной связи стандарта GSM, UMTS или CDMA

Основные понятия

Операционные системыСегодня практически весь рынок операционных систем смартфонов и планшетов делят между собой Android, поддерживаемая Google, и iOS от Apple. Обе ОС имеют высокий уровень распространения и поддержки, и основная часть банковских мобильных приложений разрабатывается под них. Часто банки параллельно создают и поддерживают сразу два мобильных клиента.

SSLPinning

SDK

JailbreakRoot

IPAAPK

2FA HLR

Телефония

Мобильные приложенияЖёстко зашитыйв приложение сертификат, обеспечивающий безопасный обмен данными между клиентоми сервером

Процесс обеспечения безопасности, который требует от пользователей предоставить два средства идентификации перед получением доступа к аккаунту

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

Процедура повышения привилегийв системе мобильных устройств компаний Apple и Google соответственно

Hабор средств разработки, который позволяет специалистампо программному обеспечению создавать приложения для определённого пакета программ

Форматы архивов поставки приложенийв App Store и Google Play соответственно

SIM MNP

Caller ID

Идентификационный модуль абонента, применяемый в мобильной связи

Услуга телефонного обслуживания,позволяющая получить номер вызывающего абонента

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

Page 7: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

7

Модели нарушителя

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

Атаки на клиентскую часть возможны в случаях:

1 Физический доступ к устройству2 Наличие вредоносного приложения3 Злоумышленник может контролировать канал связи4 Использование Jailbreak/Root-доступа на устройстве пользователем

Физический доступ к устройствуВ первом случае злоумышленник получает доступ к файловой системе устройства. Если приложение хранит данные сессии пользователя или иные критичные данные в открытом виде, либо передает их по сети без шифрования, для злоумышленника не составит труда получить эти данные и скомпрометировать банковскую учётную запись.

Защита• использовать криптографические возможности устройства, шифрование

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

критичных данных и некорректного использования шифрования.

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

Злоумышленник, загрузившийна устройство клиента вредоносное или измененное приложение, используя официальные каналы доставки программ или иные методы

Злоумышленник, не имеющий доступ к устройству,но находящийся рядом с жертвой и способный провести атаку типа «человек посередине»

Злоумышленник, располагающий персональными данными клиента для проведения атаки на оператора сотовой связи

Page 8: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

8

Вредоносное приложениеДля этого вектора атаки необходимо заставить пользователя установить вредоносное приложение, прибегнув к методам социальной инженерии, или через атаку Drive-by-Download. После этого у злоумышленника появится возможность поднять свои привилегии в системе, используя эксплойт для уязвимости в ОС смартфона (если он существует), и получить удаленный доступ к устройству с полными правами, что приведет к полной компрометации устройства: злоумышленник сможет украсть данные клиента мобильного банкинга или подменить данные платежных операций. Существенно облегчит атаку наличие на телефоне повышенных привилегий – доступ к Root пользователю или Jailbreak.

Защита• обновлять программное обеспечение на устройстве;• использовать программные средства защиты;• повышать осведомленность пользователей в вопросах информационной

безопасности, предупреждая о рисках использования Jailbreak и Root устройств.

Атаки на канал связиВ ходе классической атаки «человек посередине» перехватываются данные между устройством клиента и сервером. Для этого необходимо находиться в одной сети с жертвой, например, в публичной сети Wi-Fi, или использовать поддельные беспроводные точки доступа и поддельные базовые станции. Здесь нужна уязвимость в мобильном приложении: некорректная работа с шифрованием передаваемых данных или полное отсутствие шифрования данных. Самый распространенный пример – неправильная работа с SSL. В результате злоумышленник получает возможность прослушивать и подменять передаваемые данные, что может привестик краже денежных средств со счета клиента.

Защита• правильная реализация работы с SSL;• рекомендуется в мобильном приложении доверять только SSL-сертификату банка

при подключении к серверу. Это поможет в случае компрометации корневого центра сертификации.

Page 9: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

9

Методология анализа защищенности мобильных приложений

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

Методы оценки безопасности клиентского приложенияСтатический анализ• Анализ исходного кода (если доступен)• Reverse Engineering

• Декомпиляция• Дизассемблирование

• Анализ информации в архиве, поставляемом из магазина приложений• Анализ метаданных

Динамический анализ• Отладка запущенного приложения• Анализ сетевого трафика• Анализ взаимодействия с файловой системой• Анализ памяти приложения• Анализ работы приложения с механизмами безопасности, предусмотренными

операционной системой • Фаззинг

• URI схем• Параметров приложения

Соединение СерверКлиентское устройство

Page 10: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

Механизмы защиты

13/16Раскрытие информациио тестовом окружении

11/16Запуск на Jailbreakустройстве

6/16ОтсутствиеSSL Pinning

10

Результаты исследования безопасности iOS приложений

Используемые SDK

50%SDK 8.0

50%SDK 9.0

Использование AppTransportSecurity (ATS)

2/16

4/16

2/16

6/16

Длина SMS 2FA-кода4 символа

5 символов

6 символов

Анализ API

SSL-сертификаты в файлах приложений

Использование HTTP-соединения

Раскрытие координат пользователя

Отсутствие 2FA

1/16

10/167/163/16

10/1610/16

13/16

9/16

Раскрытие критичнойинформации

Использование Keychain

Использование NSUserDefaults

Некорректная работа со Snapshot

Критичная информация в памяти приложения

Поведение после завершения сессии

Сессию нельзя полностью завершить

Остаются данные клиента в Keychain

Остаются данные клиента в памяти

Остаются данные клиента в файлах

Остаются данные клиента в cookie

2/166/167/1610/1611/16

Page 11: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

11

Используемые SDKНа основании этой информации можно сделать выводы как о частоте обновлений,так и о безопасности приложений. Так, в новых версиях SDK улучшены механизмы защитыи внедрены новые API для упрощения взаимодействия между различными компонентами системы, а также организована поддержка новых устройств.

Использование AppTransportSecurity (ATS)ATS – это набор гибких правил ограничения сетевого взаимодействия приложения, одной из ключевых особенностей которого является обязательное внедрение защищенного взаимодействия клиента с сервером. Некоторые разработчики вовсе отказываются от таких механизмов защиты,что снижает уровень сетевой безопасности приложения. Мы рекомендуем не пренебрегать этим.

Метаданные приложения

50%SDK 8.0

50%SDK 9.0

2/16

Page 12: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

12

Анализ API

SSL-сертификаты в файлах приложенийЧасто разработчики встраивают сертификаты в код приложения, в отдельных случаях они используются для SSL pinning’а, а в некоторых – не применяются вовсе. Во многих сертификатах указаны адреса,к которым они относятся. Среди адресов указываются внутренние хосты, адреса платежных шлюзов, URL и API-серверы.

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

Использование HTTP-соединенияИспользование незащищенного HTTP-соединения дает возможность злоумышленнику при проведении успешной атаки «человек посередине» получать трафик в незашифрованном виде, видоизменять и просматривать его. Рекомендуется внедрять механизмы шифрования трафика на основании протокола TLS.

10/16

1/16

Page 13: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

13

Раскрытие координат пользователяПриложение может собирать и передаватьпо сети данные геопозиции пользователя(широта и долгота) с точностью вплоть до одного метра. Необходимо предупреждать пользователяо собираемых данных и об их использовании.

Отсутствие 2FAОтдельные финансовые организации полностью полагаются на пару логин-пароль и не требуют иных факторов подтверждения личности пользователя. Скомпрометировав данные учетной записи однажды, злоумышленник всегда сможет получать доступ к банковскому счету пользователя. Сегодня неприемлемо отказываться от второго фактора аутентификации.

Длина SMS 2FA-кодаБанки используют различную длину SMS-кода для авторизации в своей системе. Сегодня оптимальная длина кода второго фактора — 6 и более символов.

7/16

3/16

4 символа

4/16

5 символов

2/16

6 символов

6/16

Page 14: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

14

Хранение критичной информации

Использование KeychainKeychain в iOS — это специальное зашифрованное хранилище, предназначенное для хранения критичной информации приложений.

Неиспользование Keychain не означает,что приложение хранит свои данные в открытом виде. Оно может вовсе не хранить никакой информации на клиентском устройстве. На устройствах с Jailbreak данные из Keychain могут быть получены злоумышленником. Если локальный файл используется как хранилище критичной информации, он может быть прочитан удалённо. Лучшее решение — не хранить никакую критичную информацию на устройстве. К сожалению,это не всегда возможно.

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

10/16

10/16

Page 15: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

15

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

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

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

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

13/16

9/16

2/16

6/16

Page 16: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

16

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

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

Остаются данные клиента в Cookie После завершения активной сессии посредством полного выхода из приложения, часть аутентификационных данных (cookie), принадлежащих прежнему пользователю, остаётся в файлах устройства. Рекомендуется очищать всю клиентскую информацию из Cookie после завершения сессии.

7/16

10/16

11/16

Page 17: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

17

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

Перед каждой публикацией новой версиив App Store необходимо тщательно исследовать финальное приложение на наличие подобной информации.

13/16

Page 18: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

18

Из всех исследуемых приложений:• Запуск на Jailbreak устройстве

• Отсутствие SSL Pinning

В связи со спецификой модели выполнения кода,на Swift и Objective-C легко восстановить информацию о назначении используемых классови их методах даже без исходного кода,что значительно упрощает процесс восстановления работы программы и поиска уязвимостей в ней. Устройство с установленным Jailbreakв значительной степени подвержено различным угрозам безопасности. Это связано с тем,что большинство механизмов безопасностипри Jailbreak отключается. Как правило, приложения, определяющие наличие Jailbreak, либо вообще отказываются работать на таком устройстве,либо предоставляют ограниченный функционал.Но даже при использовании всех вышеперечисленных техник приложение все равно можно исследовать и запускать на устройствес Jailbreak. Они лишь усложняют и замедляют процесс исследования приложения, требуя более высокой квалификации исследователя.

Механизмы защиты

6/16

11/16

Page 19: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

19

Механизмы защиты

Данные разработки

12/16Отсутствие предупрежденияна устройстве с Root

4/16Раскрытие информации о тестовом окружении

1/16Отсутствие SSL Pinning

10/16SSL-сертификаты в приложении

Хранение критичной информации

1/16

5/161/16

6/16

Анализ API

3/164/165/166/1616/16

5 символов

4/16

2/16

6/16

Длина SMS 2FA-кода4 символа

6 символов

Отсутствие 2FA

Раскрытие координат пользователя

Возможность утечки данных через Backup

Наличие URI схемы

Сбор метаданных

Пароль в файлах после завершения сессии

Данные клиента в памяти после завершения сессии

Запись отладочной информации в журнал устройства (logcat)

Пароль в памяти после завершения сессии

Результаты исследования безопасности Android приложений

Page 20: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

20

Анализ API

Возможность утечки данных через BackupНа устройствах под управлением ОС Android приложения могут быть настроены черезфайл AndroidManifest.xml для включения их файловв резервную копию системы. Если опция создания резервного дубликата включена, запасная копия может быть загружена в Google Cloud при наличии прикреплённого к устройству Google-аккаунта. При этом, если приложение не указывает, какие конкретно файлы должны попадать в копию, дублируется директория приложения целиком. Это особенно важно в случае, если приложение хранит в своей директории критичные или аутентификационные данные пользователя. В использовании резервных копий нет ничего плохого, однако включение этой функции требует дополнительного контроля содержимого файлов приложения.

Сбор метаданныхЗачастую приложения имеют доступ к информации об устройстве: модель и производитель, название Wi-Fi сети, к которой подключен пользователь, а также наименованиям ближайших сетей, IMSI устройства, IMEI абонента и так далее. Нередко приложения передают эти данные на свои серверы или сервисам по сбору метаданных (одни из самых распространённых – AppMetrica и Crashlytics). Банковские приложения могут использоватьэту информацию для запоминания устройства,с которого заходит пользователь, чтобыв дальнейшем при обнаружении подозрительной активности запросить дополнительные проверкии/или предупредить его. Необходимо информировать пользователей о собираемыхи используемых данных.

5/16

16/16

Page 21: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

21

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

Отсутствие 2FAРяд финансовых организаций полностью полагается на пару логин-пароль и не требует иных факторов подтверждения пользователя. Скомпрометировав данные учетной записи один раз, злоумышленник всегда сможет получать доступ к банковскому счету пользователя. При аутентификации должен использоваться второй фактор для повышения безопасности пользователей приложения.

Длина SMS кода 2FAРазные банки используют различную длинуSMS-кода для авторизации. Сегодня оптимальная длина кода второго фактора – 6 и более символов.

4/16

3/16

4 символа

4/16

5 символов

2/16

6 символов

6/16

Page 22: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

22

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

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

Данные клиента в памяти после завершения сессииПосле принудительного завершения активной сессии в памяти процесса остаются личные данные пользователя приложения. Следует убирать критичные данные из памяти после работыс устройством.

Хранение критичной информации

6/16

1/16

5/16

Page 23: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

23

Запись отладочной информациив журнал устройстваРазработчики могут пользоваться функцией записи в журнал устройства для отладки своего приложения. Однако они могут оставитьэту функцию при переходе из тестовой версиив окончательную. Эти записи иногда содержат критичную информацию или аутентификационные данные пользователя. Стоит отметить, что доступк ним могут получить только пользователи, имеющие доступ по ADB к устройству,или злоумышленник с правами пользователя Root(как правило, это невозможно в современных версиях Android, если сам пользователь не повысил свои привилегии). Отладочная информацияне должна попадать в журнал устройства.

SSL-сертификаты в приложенииБанковские клиенты могут содержать в архиве приложения сертификаты или хранилище ключейс сертификатами. Некоторые из них используются для обеспечения SSL Pinning, а другие применялисьв тестовой среде и не были удалены.Кроме имени домена они также могут содержать в себе информацию о компании-разработчике и имена конкретных разработчиков программы. Необходимо контролировать информациюи файлы, которые попадают в окончательную версию приложения.

1/16

10/16

Page 24: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

24

4/16

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

Page 25: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

25

Отсутствие предупрежденияна устройстве с RootМногие приложения определяют наличие повышенных привилегий на устройстве.Однако реагируют на этот фактор лишь некоторыеиз них. Самая распространенная реакция — это предупреждение пользователя в начале работы о том, что информация приложения может быть скомпрометирована и устройство с Root-доступом потенциально небезопасно. В этом случае клиент осведомлён о том, что на его устройстве естьRoot-доступ (если он был получен без его ведома),а также о том, что это опасное окружениедля приложений с банковской информацией.Клиент должен быть предупреждён о том, что он работает в небезопасном окружении.

Отсутствие SSL PinningОдин из самых надёжных способов обеспечения безопасности передачи информации между клиентом и сервером – это дополнительная проверка приложения на использование конкретного сертификата безопасности при передаче данных. Учитывая простоту имплементации, при нынешнем уровне развития разработки мобильных приложений наличие SSL Pinning в программе является одним из первых способов защиты от атак «человек посередине».

Механизмы защиты

12/16

1/16

Page 26: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

26

Методология анализа взаимодействия операторов сотовой связи с банками

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

Примеры взаимодействия1 Пользователь заказывает перевыпуск SIM-карты у мобильного оператора. В этом

случае старая SIM-карта блокируется, новая становится активной, а через 24 часа после перевыпуска на новой карте активируются SMS-сервисы;

2 Пользователь банковского счёта инициирует процедуру переноса номера абонентак другому поставщику услуг связи (MNP). Перенос занимает несколько дней.

Подмена Caller ID с помощью SIP-операторов

Были осуществлены проверки:• поведения банков при подмене Caller ID абонента;• запроса дополнительной информации для аутентификации в системе;• уровня раскрываемых данных с минимальным количеством информации о клиенте.

Необходимыми компонентами для осуществления подобных проверок являются:• контракт с SIP оператором, позволяющим осуществлять подмену Caller ID;• устройство, позволяющее осуществлять звонки через VOIP.

Page 27: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

27

Результаты исследования взаимодействия банков с операторами связи

Page 28: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

28

Успешная подмена Caller IDМногие банки проводят первичную авторизацию клиента, используя номер телефона, с которого тот совершает звонок. Злоумышленник, знающий номер жертвы, на который зарегистрирован банковский аккаунт, может с помощью SIP-операторов подменить отображающийся номер телефона (Caller ID). Для защиты от подобной атаки банкам нужно совершать HLR-запросы к мобильным операторам для выяснения IMSI SIM карты, чтобы подтвердить, что звонок действительно поступаетс SIM карты клиента.

Кража клиентских данных черезподмену Caller ID без подтвержденияличности Банки могут использовать только авторизациюпо Caller ID для доступа к данным клиента(баланс, ФИО, доступные услуги, и т.д.),а также, например, для блокировки карт и счетов,не используя дополнительных факторов (секретное слово, часть паспортных данных). Рекомендуется использовать дополнительные способы подтверждения личности абонента, это значительно уменьшит риск подобной атаки.

10/16

3/16

Page 29: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

29

Вход в аккаунт после замены SIMПри такой атаке злоумышленник перевыпускаетSIM-карту телефонного номера, к которомупривязан банковский сервис. Это может бытьсделано с помощью поддельных документовили коррумпированных сотрудников точекобслуживания клиентов мобильных операторов.После получения SIM-карты с нужным номером,злоумышленник фактически получает доступ к ДБОжертвы. Если банк будет регулярно производитьHLR-запросы, он заметит, что у SIM карты клиентапоменялся IMSI номер. Это будет значить,что карта была перевыпущена, и тогда банку нужно будет удостовериться, что номеромна перевыпущенной SIM пользуется настоящийклиент.

Вывод средств с карты после замены SIM В продолжение атаки, злоумышленник после замены SIM карты может попытаться вывести средствасо счёта. В случае, если банк не удостоверилсяв том, что мобильным ДБО пользуется настоящий клиент, он может попытаться это сделатьпри выводе средств со счёта. Риск подобной атаки и вывода средств будет устранён, если сторона банка будет использовать регулярные HLR-запросы для подтверждения того, что SIM карта не была заменена.

13/16

11/16

Page 30: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

30

Выводы

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

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

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

Современные средства защиты мобильных устройств и отказ от Jailbreak на iOS, Root на Android, а также MDM-решения могут сократить риски, но не позволят избежать всех возможных угроз и проблем. Безопасность должна внедряться ещев ходе проектирования системы и присутствовать на всех этапах жизненного цикла программы, включая разработку и внедрение. Необходимо своевременно и регулярно осуществлять аудит кода, анализ защищенности приложения, тестированиена проникновение.

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

Рекомендации• Поддерживать высокий уровень

осведомленности команды разработчиков в вопросах информационной безопасности

• уделять особое вниманиевопросам безопасности на этапе проектирования архитектуры

• Проводить аудит исходного кода• Проводить анализ защищенности

приложения

• Поддерживать последние версии SDK• Контролировать распространение

приложения в сети Интернет• Своевременно закрывать уязвимости

и выпускать обновления• Отслеживать попадающие в финальные

версии продукта файлы и данные• повысить уровень интеграции банковских

сервисов с операторами сотовой связи.

Page 31: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

31

О компании

Digital Security — одна из ведущих российских консалтинговых компаний в области информационной безопасности, основанная в 2003 году. Мы предоставляем широкий спектр услуг в области оценки защищенности, в том числе проведение аудитов ИБ и тестов на проникновение, аудит защищенности систем ДБО, SCADA, ERP-систем, бизнес-приложений, веб-приложений и платформ виртуализации.

Мы предлагаем двухдневный обучающий семинар по теме «Безопасная разработка мобильных приложений для iOS/Android», где будут рассмотрены механизмы безопасности ОС iOS и Android, типы уязвимостей по списку “OWASP Top 10 mobile risks”, примеры их эксплуатации и способы усиления безопасности приложений для противодействия атакам. Для получения дополнительной информации свяжитесь с нами.

Контакты:Россия, 115280, Москва, ул. Ленинская Слобода 26, бизнес-центр «Omega-2», корпус C

[email protected]

+7 (495) 223-07-86

Page 32: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

32

Приложение 1.

Анализ AndroidManifest

Анализ AndroidManifest.xmlandroid.permission.READ_CONTACTS 16android.permission.INTERNET 16android.permission.ACCESS_NETWORK_STATE 16android.permission.ACCESS_FINE_LOCATION 16com.google.android.c2dm.permission.RECEIVE 15android.permission.WRITE_EXTERNAL_STORAGE 15

android.permission.WAKE_LOCK 15

android.permission.VIBRATE 15

android.permission.USE_FINGERPRINT 14

android.permission.READ_PHONE_STATE 14

android.permission.CAMERA 14

android.permission.ACCESS_COARSE_LOCATION 14

android.permission.ACCESS_WIFI_STATE 11

android.permission.READ_EXTERNAL_STORAGE 10

com.google.android.providers.gsf.permission.READ_GSERVICES 8

android.permission.RECEIVE_SMS 7android.permission.NFC 7android.permission.CALL_PHONE 5android.permission.WRITE_SETTINGS 4android.permission.RECORD_AUDIO 4android.permission.MODIFY_AUDIO_SETTINGS 4android.permission.BLUETOOTH 4android.permission.RECEIVE_BOOT_COMPLETED 3android.permission.GET_ACCOUNTS 3android.permission.CHANGE_WIFI_STATE 3android.permission.WRITE_CONTACTS 2android.permission.WRITE_CALENDAR 2

Page 33: Основные результаты исследования · 2018. 7. 10. · 5 Введение В 2012 году исследователи провели обширный анализ

33

android.permission.READ_SMS 2android.permission.READ_CALENDAR 2android.permission.GET_TASKS 2android.permission.ACCESS_LOCATION_EXTRA_COMMANDS 2com.google.android.gms.permission.ACTIVITY_RECOGNITION 1com.android.launcher.permission.INSTALL_SHORTCUT 1

com.android.browser.permission.WRITE_HISTORY_BOOKMARKS 1

com.android.browser.permission.READ_HISTORY_BOOKMARKS 1

android.permission.WRITE_SMS 1

android.permission.WRITE_INTERNAL_STORAGE 1

android.permission.WRITE_CALL_LOG 1

android.permission.WRITE_APN_SETTINGS 1

android.permission.SYSTEM_ALERT_WINDOW 1

android.permission.READ_CALL_LOG 1

android.permission.READ_APP_BADGE 1

android.permission.KILL_BACKGROUND_PROCESSES 1android.permission.INTERACT_ACROSS_USERS 1android.permission.FLASHLIGHT 1android.permission.DOWNLOAD_WITHOUT_NOTIFICATION 1android.permission.CHANGE_NETWORK_STATE 1android.permission.BROADCAST_STICKY 1android.permission.BROADCAST_PACKAGE_REPLACED 1android.permission.BROADCAST_PACKAGE_INSTALL 1android.permission.BROADCAST_PACKAGE_ADDED 1android.permission.BIND_REMOTEVIEWS 1