Содержание
Введение 2
Резюме 3
Какработаютмобильныеприложения 3
Уязвимостиклиентскихчастей 4
Уязвимостисерверныхчастей 12
Угрозымобильныхприложений 15
Рекомендациидляпользователей 16
Какиерискиподстерегаютпользователей 20
Выводы 24
Обисследовании 25
ВведениеСогласностатистике,в2018годумобильныепри-
ложения были загружены на устройства пользо-
вателей более 200 миллиардов раз. По данным
Marketing Land, 57% времени, проведенного в
цифровом пространстве, — это время, потрачен-
ное на программы в смартфонах или планшетах.
Мобильные устройства прочно вошли в нашу
жизнь: мессенджеры, банкинг, бизнес-приложе-
ния,личныекабинетысотовыхоператоров—при
современномритмежизнимыиспользуемэтипри-
ложения практически ежедневно. Согласно дан-
нымJuniperResearch,общеечислопользователей
мобильных банковских приложений приближа-
етсякдвуммиллиардам,чтосоставляетпорядка
40%всеговзрослогонаселения.Мобильнымбан-
ком пользуется каждый третий (34%) россиянин
старше18лет.
Разработчики уделяют большое внимание дизай-
ну программных продуктов для наших гаджетов,
стараясьсделатьихмаксимальноудобными.Люди
охотно устанавливают мобильные приложения
ирегистрируютсявних,номалоктоизрядовых
пользователейзадумываетсяобезопасностидан-
ных, которые мы доверяем производителям этих
приложений.
Эксперты Positive Technologies регулярно про-
водят анализ защищенности мобильных прило-
жений. В данном отчете представлена статисти-
ка, полученная в ходе работ по тестированию
защищенностимобильныхприложенийдляiOSи
Androidв2018году.
2
Резюме
� Уязвимостивысокогоуровнярискаобнаруженыв38%мобильных
приложенийдляiOSив43%приложенийдляплатформподуправ-
лениемAndroid.
� Большинствопроблембезопасностиявляютсяобщимидляобеих
платформ. Небезопасное хранение данных — основной недоста-
ток, он выявлен в 76% мобильных приложений. Под угрозу попа-
дают пароли, финансовая информация, персональные данные и
личная переписка.
� Хакеру редко требуется физический доступ к смартфону, чтобы
украстьданные:89%уязвимостеймогутбытьпроэксплуатированы
сиспользованиемВПО.
� Большинствонедостатковсвязанысошибкамивмеханизмахзащи-
ты(74%и57%—дляприложенийнаiOSиAndroidсоответственно,
42% — для серверных частей). Такие уязвимости закладываются
ещенаэтапепроектирования,аихустранениепотребуетвнесения
существенныхизмененийвкод.
� Рискивозникаютнетолькоиз-заотдельновзятыхуязвимостейна
клиенте или сервере; зачастую угрозы обусловлены нескольки-
ми, казалосьбы,незначительныминедостаткамивразныхчастях
мобильного приложения, которые в совокупности могут приво-
дить к серьезным последствиям, вплоть дофинансового ущерба
для пользователей и репутационных потерь для производителя.
� Успехкибератакинамобильноеприложениенапрямуюзависитот
того,наскольковнимательносампользовательотноситсяксохран-
ности своих данных. Предпосылкой ко взлому могут стать повы-
шенные привилегии или загруженные из неофициального источ-
никапрограммы.
Как работают мобильные приложения
Разработка мобильных приложений в тренде, ее технологии непре-
рывно развиваются. Большинство современных решений имеют
клиент-серверную архитектуру. Клиент работает под управлением
мобильной операционной системы; чаще всего это Android или iOS.
Клиентскаячастьзагружаетсянаустройствоизтакназываемогомага-
зина приложений— специализированной площадки, где разработчи-
ки размещают свои системы.С точки зрения обычного пользователя,
установленная на смартфон программа— это и есть мобильное при-
ложение,ведьименноснейонвзаимодействуетнапрямую:совершает
покупки,оплачиваетсчета,просматриваетпочту.Новдействительно-
стиестьещеодинкомпонент,которыйпринятоназыватьсервером.
Серверная часть находится на стороне разработчика. Зачастую ее
роль выполняет то же программное обеспечение, которое отвечает
загенерациюиобработкуконтентанасайте.Другимисловами,чаще
всегосервернаячасть—этовеб-приложение,котороевзаимодейству-
ет с мобильным клиентом через интернет посредством специально-
гоинтерфейса(API).Серверпоправуможносчитатьглавнойчастью:
здесьобрабатываетсяихранитсяинформация;помимоэтого,онотве-
чаетзасинхронизациюпользовательскихданныхмеждуустройствами.
3
Рисунок1.Kлиент-серверноевзаимодействие
вмобильномприложении
уязвимостей
сосредоточены
в клиентской части
уязвимостей могут быть
проэксплуатированы без
физического доступа
к устройству
уязвимостей могут
эксплуатироваться
без административных
прав (jailbreak
или root)
Современные версии мобильных ОС имеют разнообразные встро-
енные механизмы защиты. Так, по умолчанию всем установленным
программам разрешено работать только с файлами в собственных
домашнихкаталогах,аправапользователянепозволяютредактиро-
вать какие-либо системные файлы. Несмотря на это, ошибки, допу-
щенные разработчиками при проектировании и написании кода
мобильных приложений, приводят к брешам в защите и открывают
дверикиберпреступникам.
Комплексная проверка безопасности мобильного приложения под-
разумеваетпоиск уязвимостей как в клиентской, таки в серверной
частях; кроме того, не менее важно оценить защищенность канала
передачиданныхмеждуними.Вданномисследованиимырассмотрим
всеэтиаспекты.Такжемырасскажемобугрозах,которыеподстере-
гаютпользователей,втомчислеотех,которыеобусловленывзаимо-
действием между клиентской и серверной частями мобильных при-
ложений.Сметодикойисследованияипортретомучастниковможно
ознакомитьсявконцеотчета.
Уязвимости клиентских частей
60% 89% 56%
4
ПриложениядляAndroidскритическиопаснымиуязвимостямивстре-
чаются несколько чаще, чем программы для iOS (43% против 38%).
Однакоэтаразницанесущественна,иобщийуровеньзащищенности
клиентскихчастеймобильныхприложенийдляAndroidиiOSпримерно
одинаков.Околотретивсехуязвимостейвклиентскихчастяхмобиль-
ныхприложенийдляобеихплатформимеютвысокийуровеньриска.
Android
iOS
43%
38%
57%
62%
Высокий риск Средний
Рисунок2.Максимальнаястепеньрискауязвимостей
(указанадоляклиентскихчастей)
Рисунок3.Доляуязвимостейразличнойстепенириска
Рисунок4.Уровеньзащищенностиклиентскихчастей(долясистем)
30%30%
Высокий риск
Низкий
Средний
40%
32%16%
Высокий риск
Низкий
Средний
52%
Высокий риск НизкийСредний
Android
38% Android 22% iOS
Долиприложенийснебезопасным
межпроцесснымвзаимодействием
iOS
11%11% 11%
Низкий
Ниже среднего
Выше среднего
Средний
Приемлемый
45%22%
Небезопасноеиспользованиемежпроцессноговзаимодействия—рас-
пространеннаякритическиопаснаяуязвимость,котораяпозволяетзло-
умышленникуудаленнополучитьдоступкданным,обрабатываемымв
уязвимоммобильномприложении.Остановимсянанейболееподробно.
5
Операционная системаAndroid предоставляет механизм взаимодей-
ствия компонентов приложения посредством сообщений (объектов
классаIntent).Еслидляобменасообщениямииспользуютсяшироко-
вещательныерассылки,точувствительныеданные,содержащиесяв
этих сообщениях, могут быть скомпрометированы вредоноснымПО,
зарегистрировавшимсвойобработчикшироковещательныхсообще-
ний(компонентBroadcastReceiver).
Рисунок5.СхеманебезопасногомежпроцессноговзаимодействиявОСAndroid
Рекомендация для разработчиков
ИспользуйтекомпонентLocalBroadcastManagerдляотправкииполученияшироковещатель-
ныхсообщений,непредназначенныхдлястороннихприложений
Межпроцессное взаимодействие в iOS-приложениях, как правило,
запрещено,однакосуществуютслучаи,когдаононеобходимо.ВiOS
версии8компанияAppleпредставилановуютехнологиюподназва-
ниемAppExtensions,спомощьюкоторойприложениямогутделиться
своимифункциональнымивозможностямисдругимиустановленными
наустройствеприложениями(например,мобильныеприложениядля
социальныхсетейпозволяютбыстроделитьсяконтентомизбраузера).
6
Рисунок6.ПримеррасширениядляTwitter
Для организации взаимодействия между расширением (App
Extension) и основным приложением (Containing App) разработчики
нередко используют механизм Deep Linking. Вызов приложения при
этом осуществляется посредством зарегистрированной в системе
собственнойсхемыURL.Впроцессеустановкиосновноеприложение
регистрируетсебявкачествеобработчикасхем,указанныхвфайле
Info.plist.Подобногородасхемынепривязаныкприложению:еслина
устройствеприсутствуетвредоносноеПО,котороеобрабатываетту
жесхемуURL,тоневозможнопредсказать,какоеименноприложение
будет запущено. Это открывает злоумышленнику возможности для
проведенияфишинговыхатакикражиучетныхданныхпользователей.
Рекомендация для разработчиков
Принеобходимостииспользоватьссылкидлявзаимодействиямеждукомпонентамиприло-
женияиспользуйтезащищенныймеханизмUniversalLinks
Уязвимостьнебезопасногомежпроцессноговзаимодействиязаклады-
ваетсянаэтапепроектированияинтерфейсоввзаимодействиякомпо-
нентовприложенияиотноситсякошибкамвреализациимеханизмов
защиты.Ошибки в механизмах защиты стали причиной 74% уязвимо-
стейвприложенияхдляiOSи57%уязвимостейдляплатформAndroid.
Вызывающее
приложение (Host App)
Вданномслучае
браузерSafari
Основное приложение
(Containing App)
Вданномслучае
Расширение
(App Extension)
Вданномслучае
расширениедляTwitter
7
Рисунок7.Доляуязвимостейразныхтипов
57%33%
Ошибки реализации механизмов защиты
Недостатки конфигурации
Уязвимости в коде приложения
10%
74%16%10%
Ошибки реализации механизмов защиты
Недостатки конфигурации
Уязвимости в коде приложения
Ошибки реализации механизмов защиты
Недостатки конфигурации
Уязвимости в коде приложения
Android iOS
В2018году,анализируямобильныеприложениядляiOS,мысталкива-
лисьстакойошибкойвмеханизмахихзащиты,какотсутствиеограни-
ченийнаиспользованиеустановленныхпользователемклавиатурных
расширений.КомпанияAppleпозволилаиспользоватьклавиатурысто-
роннихпроизводителейначинаясiOSверсии8,вэтовремятакаявоз-
можностьужесуществовалавAndroid.Стоитотметить,чтоiOSнакла-
дываетболеестрогиеограничениянаиспользованиеклавиатуры,чем
Android;однакоAppleнеможетконтролировать,чтоделаютразработ-
чикиклавиатурсданныминажатияклавиш,еслипользовательразре-
шаетэтимприложениямсетевоевзаимодействие.
Рекомендация для разработчиков
РеализуйтеметодshouldAllowExtensionPointIdentifierклассаUIApplicationDelegate,запреща-
ющийиспользоватьклавиатурныерасширениявприложении
Есливприложениипредполагаетсявводчувствительныхданных(например,финансовой
информации),реализуйтесобственнуюклавиатуру.Этозащититотатаксподменойсистем-
нойклавиатуры
Каждая третья уязвимостьмобильных приложенийдляAndroid свя-
зана с недостатками конфигурации. Например, при анализе файла
AndroidManifest.xmlнашиспециалистынередкообнаруживаютдирек-
тиву android:allowBackup в значении true. Это позволяет создавать
резервнуюкопиюданныхприложенияприподключенииккомпьюте-
ру.Недостаткомможетвоспользоватьсязлоумышленникиполучить
данныеприложениядажебезправпользователяroot.
Производитель
виртуальной клавиатуры
AI.type собирал
чувствительные данные
с мобильных устройств.
Об этом стало известно
после утечки базы данных
31 млн пользователей
25% приложений для платформ Androidпозволяютсоздаватьрезервнуюкопиюприподключениимобильногоустройстваккомьютеру
Уязвимости кода Уязвимости кода
8
Рекомендация для разработчиков
Запретите создание резервной копии данных приложения при подключении мобильного
устройства к компьютеру, установив директиву android:allowBackup в значение false
Рисунок8.ЗапретнарезервноекопированиеданныхвфайлеAndroidManifest.xml
Рисунок9.Среднеечислоуязвимостейнаодноклиентскоеприложение
Рисунок10.Среднеечислоуязвимостейнаодноклиентскоеприложение
Недостатки конфигурации
Уязвимости в коде приложения
Ошибки реализации механизмов защиты
2,52,1
0,30,4
0,61,2
Уязвимости кода
Android iOS
Высокий риск Средний Низкий
iOS
Android
1,1
1,8
0,5
1,1
1,5
1,1
Врамкахтестированиязащищенностинашиспециалистыищутхарак-
терныеуязвимостиприложенийдлякаждойплатформы.Втожевремя
мызаметили,чтовбольшинствеслучаевразработчикидопускаютодно-
типныеошибкивсистемахкакдляAndroid,такидляiOS,поэтомувдан-
номисследованиимыпоказываемобщуюстатистикууязвимостей,не
разделяяплатформы.
Намобильномустройствемогутсохранятьсяразнообразныеданные,
напримерданные геолокации, персональныеданные, личнаяперепи-
ска, учетные записи,финансовая информация, однако безопасности
иххранениявмобильныхприложенияхневсегдауделяетсядолжное
внимание. Небезопасное хранение данных занимает второе место в
рейтингеOWASPMobileTop10−2016;этауязвимостьбылаобнаружена
в76%мобильныхприложений.
9
Вмобильныхустройствахестьвозможностьпросмотранедавноисполь-
зованныхпрограммибыстрогопереключениямеждуними.Дляэтого,ког-
да пользователь сворачивает приложение, операционная система дела-
ет снимок состояния экрана. Прямой доступ к снимкам есть только на
устройствахсадминистративнымипривилегиями.Важнопредусмотреть
вариант, при котором на скриншотах экрана окажутся чувствительные
данные;например,вслучаесмобильнымбанкомнаизображениемогут
попастьданныеплатежнойкарты.Этиизображениямогутбытьпохищены,
напримереслиустройствозараженовредоноснымПО.
Рисунок11.Уязвимостимобильныхприложений(доляклиентскихчастей)
Рисунок12.Примерзащитыданныхнаснимкеэкранаприсворачиванииприложения
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Высокий риск Средний Низкий
Небезопасное хранение данных
Передача чувствительных данных в открытом виде
Некорректная реализация механизма завершения сессии
Небезопасное межпроцессное взаимодействие
Хранение чувствительных данных в исходном коде
Недостаточная защита от подбора учетных данных
Небезопасная конфигурация приложения
12%
18%
18%
29%
29%
35%
35%
76%
Возможность использования сторонней клавиатуры
6%
Отсутствие механизма защиты Certificate Pinning
Рекомендация для разработчиков
Используйтеспециальноефоновоеизображение,котороебудетперекрыватьэкранприло-
жения,содержащийчувствительнуюинформацию
10
Во многих мобильных приложениях для аутентификации используются
четырех-илишестизначныеPIN-коды.Существуетнескольковариантов
реализациимеханизмапроверкиих корректности вмомент входаполь-
зователявприложение;одинизних—проверканасторонеклиента.Это
небезопасно, поскольку такой способ верификации PIN-кода предпола-
гаетегохранениенамобильномустройстве,чтоповышаетрискутечки.
Аутентификационные данные небезопасно хранятся в 53% мобильных
приложений.
Рисунок13.Топ-5утечекданныхвклиентскихчастях(доляуязвимыхприложений)
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Аутентификационные данные
Сессия пользователя
Персональные данные
12%
12%
24%
53%
65%
Закрытые ключи шифрования
Снимки состояния экрана
Проверка введенного PIN-кода или пароля должна происходить на
сервере, куда аутентификационные данные следует передавать в
виде хеш-значений. Для работы хеш-функции необходима соль —
наборслучайныхсимволов,которыепозволяютусилитьбезопасность.
Зачастую наши эксперты обнаруживают соль и другие чувствитель-
ныеданныевисходномкоде,чтоснижаетуровеньзащищенностипри-
ложения.Хорошейальтернативойхранениюсоливкодеможетстать
еединамическаягенерацияприрегистрациипользователянаоснове
вводимыхимданных,однакоэторешениеможносчитатьнадежным
толькоприусловии,чтоэтиданныеобладаютвысокойэнтропией.
Рекомендация для разработчиков
Дляаутентификациивприложенияхнасовременныхустройствахчастоиспользуются
биометрическиемеханизмы(TouchIDилиFaceID).ВэтомслучаеPIN-кодхранится
наустройстве.Локальноехранениечувствительныхданныхдопускаетсятолько
вспециальныхкаталогахсшифрованием.ВAndroidсуществуетхранилищеключей—
Keystore,вiOS—связкаключейKeychain
41% мобильных приложенийосуществляютпроверкуаутентификационныхданныхнасторонеклиента
11
Уязвимости серверных частей
Какмы отмечали выше, серверные части мобильных приложений по
сути являются веб-приложениями. Об уязвимостях веб-приложений
мырассказаливотдельномисследовании.Темнеменеерассмотрим
уязвимостисерверныхчастеймобильныхприложенийболееподробно.
22%27%
Высокий риск
Низкий
Средний
51%
Рисунок14.Доляуязвимостейразличнойстепенириска
Рисунок15.Уровеньзащищенностисерверныхчастей(долясистем)
ПоданнымкомпанииMcAfee,количествовредоносногоПОдлямобиль-
ныхустройстврастет:ежеквартальновыявляетсяот1,5до2млнновых
экземпляров,акконцу2018годаобщийобъемсоставилболее30млн
экземпляров.Постоянныйростчислаиразнообразиявредоносного
ПОдлямобильных устройств существенно повышает популярность
атак на клиентские части, и серверные уязвимости перестали быть
главной угрозой безопасности мобильных приложений. Еще в 2012
годукатегорияWeakServerSideControlsзанималавтороеместоврей-
тингеOWASPMobileTop10;врейтинге2016годасерверныеуязвимо-
стибылиисключеныиздесяткисамыхраспространенныхугроз.Тем
неменеериски,связанныеснедостаткамисерверов,сохраняются,ив
мирепродолжаютслучатьсягромкиеутечкиданныхиз-засерверных
уязвимостей.Какпоказываютрезультатынашегоисследования,сер-
верныечастинеменееуязвимы, чемклиентские:43%имеютнизкий
или крайне низкий уровень защищенности, при этом 33% содержат
критическиопасныеуязвимости.
В августе 2018 года
злоумышленники похитили
персональные данные
20 000 пользователей
мобильного приложения
авиакомпании Air Canada
14%43%
Крайне низкий
Низкий
Средний
Ниже среднего
29%14%
12
33%67%
Высокий риск
Средний
Рисунок16.Максимальнаястепеньрискауязвимостей(долясерверныхчастей)
Рисунок17.Долиуязвимостейразныхтипов
Серверные части мобильных приложений в равной степени содер-
жатуязвимостикаквкодесамогоприложения,такивмеханизмахего
защиты. В числе последних стоит отметить недостатки реализации
двухфакторной аутентификации. Рассмотрим уязвимость, которую
мыобнаружиливодномизисследованныхприложений.Еслипослать
сразу друг за другом, с минимальным интервалом, два одинаковых
запроса к серверу, то одноразовые пароли отправляются пользова-
телюприложениянаустройствоичерезpush-уведомления,ивSMS
напривязанныйномертелефона.Врезультатезлоумышленник,имея
возможность перехватывать SMS-сообщения, может совершать опе-
рацииотименизаконногопользователя,напримерпереводитьденьги
сегосчетанасвой.
Рекомендация для разработчиков
Нетнеобходимостидублироватьодноразовыепаролииликодыподтверждения
вSMS-сообщенияхиpush-уведомлениях.Используйтевыбранный
пользователемканалполученияпаролей
42%17%41%
Ошибки реализации механизмов защиты
Недостатки конфигурации
Уязвимости в коде приложения
Уязвимости кода
13
Всреднемкаждаясервернаячастьсодержитпятьуязвимостейкода
иоднууязвимостьконфигурации.Срединедостатковконфигурации
мыотмечаемразглашениечувствительнойинформациивсообщени-
яхобошибках,раскрытиеинформацииоверсияхиспользуемогоПО
вHTTP-заголовках,атакжедоступностьметодаTRACE.
Рисунок18.Среднеечислоуязвимостейнаоднусервернуючасть
Рисунок19.Среднеечислоуязвимостейнаоднусервернуючасть
Недостатки конфигурации
Уязвимости в коде приложения
Ошибки реализации механизмов защиты
1
2,4
2,4Уязвимости
кода
0 1 2 3
Низкий
Средний
Высокий риск
1,2
3
1,6
0 10,5 1,5 2,5 3,52 3
ВозможностьобработкиTRACE-запросоввсочетаниисуязвимостью
«Межсайтовоевыполнениесценариев»(Cross-SiteScripting,XSS)может
помочьзлоумышленникуукрастьзначенияCookieиполучитьдоступ
кприложению.Поскольку,какправило,сервернаячастьмобильного
приложенияи веб-сайтимеютобщийпрограммныйкод, уязвимость
«Межсайтовоевыполнениесценариев»всервернойчастиоткрывает
возможностидляпроведенияатакнапользователейвеб-приложения.
Рекомендация для разработчиков
МетодTRACEможетбытьиспользовандляобходазащитыCookieфлагомhttpOnly.
ОтключитеобработкуTRACE-запросов
Недостаточная авторизация выявлена в 43% серверных частей. Это
одинизсамыхраспространенныхнедостатковвысокогоуровняриска,
егодолясоставила45%отвсехкритическиопасныхуязвимостей.
14
Рисунок20.Наиболеераспространенныеуязвимостисерверныхчастеймобильных
приложений(долясистем)
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Высокий риск Средний Низкий
Межсайтовое выполнение сценариев
Недостаточная авторизация
Утечка информации
Раскрытие чувствительной информации в сообщениях об ошибках
Отказ в обслуживании
Подделка запроса со стороны сервера
Недостаточная защита от подбора учетных данных
14%
14%
14%
29%
43%
43%
43%
29%
86%
Доступность метода TRACE
Недостатки реализации двухфакторной аутентификации
Утечка информации — еще одна распространенная проблема сер-
верных частей мобильных приложений, которая может привести к
серьезнымпоследствиям.Например,водномизисследованныхнами
приложений при создании чата в ответе сервера были обнаружены
имя, фамилия и номер телефона выбранного собеседника. Другой
примерраскрытиякритическиважныхданных—идентификаторсес-
сиивссылкенаобрабатываемыйвмобильномприложениидокумент.
Еслизлоумышленникубедитпользователяотправитьемуссылкуна
документ,вкоторойсодержитсяидентификаторсессии,тоонсможет
совершатьдействиявсистемеотлицаэтогопользователя.
Если сервер мобильного приложения обрабатывает числовые вход-
ные данные (например, координаты точки на карте), то необходимо
предусмотретьограничения.Вотсутствиеограниченийзлоумышлен-
никможетуказатьпроизвольныекоординатыдляпоискаобъектана
карте.Некорректноезаданиекоординатприводиткбольшимзадерж-
камвовремениответасервернойчастии,какследствие,—котказув
обслуживании.Нарушениеработыприложенияотрицательносказы-
ваетсянарепутацииеговладельца.
Угрозы мобильных приложений
Почтивсеисследованныеприложениянаходятсяподугрозойдоступа
книмхакеров.Вразделепроклиентскиеуязвимостимыотмечали,что
самаяраспространеннаяпроблемамобильныхприложений—небез-
опасноехранениеданных.Какимобразоминформацияможетпопасть
врукизлоумышленников?Самыйраспространенныйсценарий—это
заражение устройства вредоносным ПО, вероятность которого уве-
личивается в разы на устройствах с административными привиле-
гиями (root или jailbreak). Однако вредоносное ПО может повышать
права самостоятельно. Например, шпионский троян ZNIU с этой
целью оперирует эксплойтом к нашумевшей уязвимости Dirty COW
29% серверных частей содержатуязвимости,которыемогутпривестикнарушениюработыприложения
15
(CVE-2016-5195).Попавнаустройствожертвы,вредоносможетзапра-
шиватьразрешениянадоступкпользовательскимданным,аполучив
разрешение, передавать данные злоумышленникам. Так, эксперты
TheBestVPNизучили81VPN-приложениеизофициальногомагазина
GooglePlayипришликвыводу,чтомногиеизнихзапрашиваютнасто-
раживающиеразрешения.
Рекомендации для пользователей
Внимательноотноситеськуведомлениямотприложенийозапроседоступаккаким-либо
функциямилиданным.Нестоитпредоставлятьразрешениенадоступ,еслиестьсомнение
вегонеобходимостидлянормальногофункционированияприложения
Кроме того, смартфон легко потерять или он может быть украден.
Несмотря на то, что по умолчанию мобильные ОС требуют установ-
кипароля,этотребованиеможноотключить,чтоиделаютнекоторые
пользователи.Вэтомслучаезлоумышленник,получившийфизический
доступкустройству,подключитегоксвоемукомпьютеруи,используя
специальныеутилиты,извлечетизпамятиустройствачувствительную
информацию.Например,есливAndroidвключенорезервноекопиро-
вание, то, используя инструмент Android Debug Bridge (ADB), можно
попытаться получить данные приложения из резервной копии. Если
естьпривилегии root, тоизвлечьданныеможнодажесотключенным
резервированием.НаустройствахAppleсjailbreakпользователичасто
оставляютдляSSHстандартнуюучетнуюзапись(root:alpine),чтопозво-
ляет злоумышленнику скопировать данные приложения на свой ком-
пьютер,подключившисьпоSSH.Угрозаимеетособуюактуальностьв
случае с корпоративными смартфонами или планшетами, которыми
пользуютсянесколькосотрудников,знающиепарольотустройства.
Рисунок21.Возможныесценариикражипользовательских
данныхизмобильныхприложений
16
Иногда для взлома мобильного приложения не требуются ни ВПО,
нихакерскиеутилиты.Например,вприложениимогутотсутствовать
ограничения на число неуспешных попыток ввода PIN-кода. Другой
пример: ограничения на число попыток ввода пароля накладывают-
сятолькосостороныклиентскойчастииприперезапускеприложе-
ниясчетчикпопытокобнуляется.Обаэтихнедостаткапозволяютзло-
умышленникувводитьпарольнеограниченноечислораз.
18% приложенийнеограничиваютчислопопытоквводааутентификационныхданных
Рисунок22.Угрозыдляклиентскихчастей(долясистем)
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Несанкционированный доступ к данным пользователя
Несанкционированный доступ к приложению
71%
65%
53%
Проведение атак типа «человек посередине»
Рекомендации для пользователей
УстанавливайтевкачествеPIN-кодаслучайныекомбинациицифр.Датарождения,
номертелефона,серияиномерпаспорта—нелучшийвыбор.Отдавайтепредпочтение
биометрическиммеханизмамаутентификации(отпечатокпальца,голос,лицо),еслиони
поддерживаютсявашимустройством
Рекомендация для разработчиков
Счетчикчислапопытокаутентификациидолженбытьреализованкакнасторонесервера,
такинасторонеклиента
Атаки на пользователей возможны из-за уязвимостей в серверных
частях. Уязвимость «Межсайтовое выполнение сценариев» обнару-
женав86%серверов.Этосамаяраспространеннаявеб-уязвимость.
Сеепомощьюзлоумышленникимогутукрастьучетныеданныежерт-
вы, например файлы Cookie, используя вредоносный скрипты. Но
уязвимостьможетпредставлятьопасностьидлямобильныхприло-
жений,есливнихиспользуютсякомпонентысподдержкойHTMLи
JavaScript.Например,WebView—этосистемныйкомпонент,который
позволяет приложениям на Android отображать веб-контент непо-
средственновнутриприложения*;аналогичныекомпонентыестьив
iOS:UIWebViewиWKWebView.
*Вначале2019годанашиэкспертыобнаружиливэтомкомпонентеуязвимость(CVE-2019-5765),котораяпозволяетполучатьдоступкданнымпользователейAndroidчерезустановленноевредоносноеприложениеилиприложениесмгновеннымзапуском(Androidinstantapps).
17
УязвимостивнедренияпочтовыхзаголовковилиHTML-теговоткрыва-
ютвозможностидляпроведенияфишинговыхатак.Врезультатевне-
дренияпочтовыхзаголовковнарушительпотенциальноможетотправ-
лятьписьмапользователямприложенияотименилюбогосотрудника
компании—владельцамобильногоприложения.
Рекомендации для пользователей
Проявляйтебдительность,просматриваяэлектроннуюпочту.Внимательнопроверяйте
ссылки,покоторымсобираетесьперейти,дажеесливыявляетеськлиентомкомпании,
откоторойпришлописьмо.Есливссылкеперепутаныбуквы,этоявныйпризнактого,
чтописьмоотправилзлоумышленник.Помните,чтосотрудникибанканикогданепросят
клиентовсообщитьполныеданныеплатежныхкарт
Рекомендация для разработчиков
Насторонесервераобязательнодолжнаосуществлятьсяфильтрациявводимых
пользователемданных.ДляспецсимволоврекомендуетсяиспользоватьHTML-кодировку
Рисунок23.Топ-5угроздлясерверныхчастей(долясистем)
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Несанкционированный доступ к приложению
Несанкционированный доступ к конфигурационной информации
Несанкционированный доступ к данным пользователя
29%
43%
71%
71%
100%
Нарушение работы приложения
Проведение атак на пользователей
Зачастуюугрозыобусловленысочетаниемнедостатковклиентской
части и сервера. Например, представим, что при выходе пользова-
теляизприложенияидентификаторсессиинеудаляетсянастороне
клиентаиотправляетсянасерверскаждымновымзапросом,втом
числе при повторной аутентификации. Сервер, в свою очередь, не
проверяетвремяжизнисессииипослепроцедурыаутентификации
вновь активирует старый идентификатор. В этом случае злоумыш-
ленник,получившийзначениеидентификаторасессии,можетпрово-
дитьатаки,выполняявсевозможныедействияотлицаправомерного
пользователяприложения.
18% приложенийсодержатуязвимости,позволяющиепроводитьатакинасессию
18
Рекомендации для разработчиков
Времяжизнисессиипользователяобязательноследуетограничивать,аудаление
идентификаторасессиидолжнопроисходитьнетольконаклиенте,ноинастороне
сервера.Сервердолженсоздаватьновуюсессиюдляпользователякаждыйраз,когда
требуетсяаутентификация
Каналсвязимеждуклиентскойчастьюприложенияисерверомтакже
можетбытьуязвим.Есликлиентскаячастьвзаимодействуетссерве-
ромпооткрытомупротоколуHTTP,злоумышленниксможетперехва-
титьчувствительныеданные.Например,вслучаесмобильнымбанком
под угрозу попадает вся платежная информация. Чтобы предотвра-
тить перехват, используется защищенный протокол HTTPS. В этом
случае безопасность соединения обеспечивается за счет шифрова-
ния передаваемой информации. На устройстве при этом хранятся
сертификаты—специальныефайлы,благодарякоторымклиент«зна-
ет»имясервера,кудапередаютсяданные.
Однакодаже защищенное с помощьюHTTPS клиент-серверное вза-
имодействие не всегда безопасно. Дело в том, что сертификаты
хранятся на устройстве в общем для всех приложений хранилище.
Вредоносное ПО может установить на смартфон жертвы корневой
сертификат злоумышленника. В этом случае все сертификаты, удо-
стоверенные поддельным корневым сертификатом, будут считаться
доверенными. Теперь если жертва подключится к сетевому обору-
дованию (например, к Wi-Fi-роутеру), который контролируется зло-
умышленником, он сможет провести атаку «человек посередине»,
другимисловами—вклинитьсявканалсвязиипрослушиватьтрафик,
чтоозначаетполнуюкомпрометациюпередаваемыхданных.
50% Android 22% iOS
Долиприложенийснебезопасной
передачейданных
Рисунок24.Схемаатаки«человекпосередине»вслучаеотсутствияпривязкисертификата
19
Рекомендация для разработчиков
Длямаксимальнойбезопасностивзаимодействияклиентскойисервернойчастеймы
рекомендуемиспользоватьтехнологиюCertificatePinning,котораяпредполагаетвнедрение
сертификатасерверанепосредственновкодмобильногоприложения.Приложение
становитсянезависимымотсистемногохранилищасертификатов.Этопозволяет
предотвратитьатаку«человекпосередине»
Помимо небезопасного обмена данными между клиентской и сер-
верной частями, приложение может содержать ссылки для пере-
дачи информации по незащищенному протоколуHTTP во внешнюю
среду. Проблема небезопасной передачи данных чаще встречается
в ОС Android. Начиная с версии 9 в iOS была встроена технология
AppTransportSecurity,котораязапрещаетработупонезащищенному
каналупоумолчанию.Однакоразработчикможетявноуказатьисклю-
чения—адреса,скоторымиразрешеновзаимодействиепооткрыто-
мупротоколу.Иногдаэтотребуетсянаэтапеотладкиитестирования
приложения, но зачастую небезопасные ссылки попадают в продук-
тивныеверсиисистем.
Рисунок25.Небезопасныессылки,обнаруженныевисходномкоде
мобильногоприложения
Какие риски подстерегают
пользователей
Как показывают результаты нашего исследования, все мобильные
приложения уязвимы. В отдельных случаях злоумышленник может
взломатьустройствотолькотогда,когдаонопопадеткнемувруки,но
вцеломфизическийдоступобычнонетребуется.Каждоемобильное
приложение содержит хотя бы одну уязвимость, которую злоумыш-
ленник может проэксплуатировать удаленно с использованием вре-
доносногоПО.
Иногда хакеру нужен полный доступ к файловой системе: jailbreak
в iOS или права пользователя root в Android. Однако и это не всег-
да является проблемой для злоумышленника. Многие владельцы
мобильных устройств намеренно повышают свои привилегии в ОС,
стремясь обойти различные ограничения, например чтобы устано-
вить пиратскоеПО или изменить внешний вид графического интер-
фейса.Поданнымисследователей,8%пользователейiOSустановили
18% мобильных приложенийсодержатнебезопасныевнешниессылки
20
jailbreak,27%устройствнаплатформеAndroidобладаютправамиroot.
Устройства с максимальными правами подвержены повышенному
риску,посколькупривилегиямиможетвоспользоватьсявредоносное
программное обеспечение. Например, зловред KeyRaider, который
распространялсячерезмагазинприложенийдляустройствсjailbreak,
похищалучетныезаписи,сертификатыиключишифрования;отнего
пострадали225тысячпользователейiOS.
Рекомендация для пользователей
Неповышайтепривилегиидоадминистративных.Этооткрываетдоступкфайловой
системеиотключаетмеханизмызащитывашихданных
Рекомендация для пользователей
РегулярноустанавливайтеобновленияОСиприложений.Есливыобладательустройства
сrootилиjailbreak,помните,чтовашеустройствоможетнеобновлятьсяавтоматически
Понимая масштаб проблемы заражения мобильных устройств вре-
доносным ПО, компании Google и Apple активно противодейству-
ют киберпреступникам. Для защиты от хакеровGoogle предлагает
использоватьнаборсервисовGooglePlayProtect,которыйсканирует
приложениянетольконаAndroid-устройствахпользователей,нои
вофициальномкаталогеGooglePlay.Дляпротиводействияраспро-
странениювредоносногоПОчерезAppStoreвкомпанииAppleпро-
водят обязательный ручной анализ предлагаемых разработчиками
приложений.
Тщательная проверка снижает количество вредоносных приложе-
ний,хотяинеисключаетихпоявления,изаразитьсявредоносным
ПО можно даже через официальные магазины приложений. Так,
хакерам удалось загрузить в App Store 39 вредоносных программ
с использованием XcodeGhost — поддельной версии легитимного
инструмента Xcode, используемого разработчиками программ для
устройствApple. Другой пример— банковский троянAnubis, кото-
рый успешно обходил проверки безопасности не только в Google
Play,ноивсистемезащитыОСAndroid.
21
Заражение вредоносным ПО через официальные магазины прило-
жений—далеко не единственныйпуть компрометации устройства.
Даже новый смартфон может содержать вредоносный код. Так, в
результатеатакинаразработчиканасмартфоныAlcatelбылопреду-
становленошпионскоеПО,ипользователиприобреталиустройства,
которые были заведомо скомпрометированы. Еще один пример —
бэкдор TimpDoor; его хакеры распространяли отправляя жертвам
ссылкупоSMS.
ДляпротиводействияатакамiOSзапрещаетзагрузкуприложенийиз
любых источников, кромеAppStore, но существуют способыобой-
тиограничение,напримерспомощьюсобственныхсертификатови
протоколаMDM (Mobile DeviceManagement). Для этого пользовате-
люнеобходимовручнуюподтвердитьдовериексертификатуразра-
ботчика приложения и его установку из недоверенного источника,
начтопользователяможетсподвигнутьзлоумышленниквпроцессе
фишинговойатаки.
В качестве меры борьбы с киберпреступниками компания Apple
запрещаетразмещениевAppStoreприложений,вкоторыхисполь-
зованытакназываемыеprivateAPI—методы,которыепозволяютпри-
ложениямвыполнятьряддействийнаустройстве,втомчислезагру-
жатьдругиеприложения.ТроянскаяпрограммасprivateAPIсможет
устанавливать на устройство жертвы любые другие программы в
обходApp Store, а значит— в обход любых проверок. Однако, как
выяснилось,защитаведетсянеидеально,благодарячему,например,
распространялся вредонос YiSpecter. Схема заражения YiSpecter
очень простая: пользователь открывает зараженную ссылку, под-
тверждает установку ПО не из App Store, и его мобильное устрой-
ство оказывается заражено. В свою очередь YiSpecter, попадая на
устройствожертвы,использовалметодыprivateAPIиавтоматически
загружалдругиепрограммы,которыепохищалиперсональныедан-
ныежертвы.
Рисунок26.ЗапроснаподтверждениеустановкистороннегоПО
(источник:zdnet.de/88248255/ios-malware-yispecter-auch-fuer-geraete-ohne-jailbreak-gefaehrlich/)
Рекомендация для пользователей
НепереходитепоссылкамотнезнакомыхлюдейвSMSимессенджерах.Дажеесли
человек,предлагающийустановитьтакимобразомпривлекательноеприложение,вам
знаком,будьтебдительны.Никогданеподтверждайтезапросынаустановкусторонних
программнавашсмартфон
22
Один из альтернативных способов установки вредоносного ПО на
устройстваApple—это загрузкафайловприложения (.ipa) на ком-
пьютержертвы и их установка на устройство с помощьюApple ID
(учетной записив iCloud)и программыдля установкиприложений
(например,CydiaImpactor)посредствомсоединенияпоUSB-кабелю.
РаспространятьсятакоеВПОможетвнеофициальныхмагазинахпод
видомбесплатных(«взломанных»)версийПОизAppStore.Подобным
образомустройстважертвзаражалисьвредоноснымПОWireLurker.
Рекомендация для пользователей
НеподключайтемобильноеустройствокнедовереннымПКилизаряднымстанциям.
СовременныеверсиимобильныхОСзапрашиваютупользователяподтверждение
доверия.Никогданеподтверждайтедоверие,еслинеуверенывбезопасности
компьютера,ккоторомуподсоединенвашгаджет
Рекомендация для пользователей
Недоверяйтесторонниммагазинаммобильныхприложений.Подозрительныепрограммы
(например,якобы«взломанные»бесплатныеверсиикоммерческихприложений)могут
содержатьвредоносныйкод
Политика Google в вопросе загрузки приложений из альтернатив-
ных источников менее строгая: возможность загружать программы
из неофициальных источников оставлена на усмотрение пользова-
теляирегулируетсяпринастройкеОС.Постатистике,каждоепятое
устройствонаAndroidразрешаетустанавливатьприложенияизсто-
роннихисточников.Крометого,на7%устройствAppleи3%Android-
устройств установлено как минимум одно приложение из неофици-
альных магазинов. Важно отметить, что административные права, о
которыхговорилосьвыше,снимаютлюбыеограниченияпозагрузке
программкаквiOS,такивAndroid.
Как мы видим, безопасность устройств зависит и от пользователей.
Владельцы гаджетов должны ответственно подходить к вопросам
защитысвоихданных, которыеонихранятвмобильныхприложени-
ях.Однакомербезопасностисостороныпользователейнедостаточ-
но,еслиприложениесодержитуязвимости,которыебылидопущены
разработчиками.Ксожалению,невсепроизводителипрограммдля
мобильныхустройствобеспечиваютнадежнуюзащитусвоихсистем.
23
ВыводыМобильные устройства — привлекательная мишень для хакерских
атак, ведь в них хранятся и обрабатываются большие объемы лич-
нойинформациииданныебанковскихкарт.Какпоказываютрезуль-
татынашегоисследования, приразработкемобильныхприложений
вопросамбезопасностиуделяетсянедостаточновнимания,иоснов-
наяпроблемасвязанаснебезопаснымхранениемданных.Хранение
пользовательскойинформациивоткрытомвиде,незащищенныедан-
ныенаснимкахсостоянияэкрана,ключиипароливисходномкоде—
этолишьнемногиеизтехнедостатков,чтооткрываютпросторыдля
проведениякибератак.
Пользователи могут сами способствовать компрометации сво-
их устройств: расширять стандартные возможности смартфона,
лишая его защиты, переходить по подозрительным ссылкам в SMS-
сообщениях, загружать программы из неофициальных источников,
поэтому безопасность пользовательских данных— ответственность
нетолькоразработчиковприложений,ноисамихвладельцевмобиль-
ныхустройств.
Говоряомобильныхприложениях,нельзянедооцениватьрисккибе-
ратакиврезультатеэксплуатациисерверныхуязвимостей.Серверы
мобильныхприложенийзащищенынелучше,чемклиентскиечасти.В
2018годукаждаясервернаячастьсодержалахотябыоднууязвимость,
которая позволяет проводить разнообразные атаки на пользовате-
лей,включаяфишинговыерассылкиотименисотрудниковкомпании-
разработчика,чтоставитподудареерепутацию.Дляпредотвраще-
нияэксплуатациисерверныхуязвимостеймырекомендуемиспользо-
ватьмежсетевойэкрануровняприложений(webapplicationfirewall).
Рискисвязанынетолькосбрешамивзащитеклиентаилисервера,но
исуязвимостями,которыевозникаютвпроцессеклиент-серверного
взаимодействия.Обменданнымипооткрытомупротоколугрозитпол-
нойкомпрометациейпередаваемоготрафика.Нодажезащищенные
соединения не всегда надежны, что говорит об отсутствии у разра-
ботчиковглубокогопониманияважностивопросовбезопасности.
Механизмызащитыявляютсяслабымзвеноммобильныхприложений.
Большинствоуязвимостейбылизаложеныещенаэтапепроектирова-
нияисталиследствиемнедостаточнойпроработкиконцепциизащи-
ты. Мы рекомендуем тщательно прорабатывать вопросы безопасно-
сти мобильного приложения и регулярно проводить тестирование
егозащищенности,начинаяссамыхраннихстадийжизненногоцик-
ла.Наиболееэффективнымметодомпроверкиявляетсяметодбело-
гоящика,прикоторомпредполагаетсяналичиеуэкспертадоступак
исходномукодусистемы.
24
Об исследовании
Отчет содержит результаты исследования 17 полнофункциональных
мобильных приложений, для которых в 2018 году проводился углу-
бленныйанализснаиболееполнымпокрытиемпроверок.Ввыборке
непредставленысистемы,владельцыкоторыхнедалисвоегосогла-
сия на использование результатов анализа защищенности в иссле-
довательскихцелях,итесистемы,длякоторыхбылпроведенанализ
толькочастифункциональныхвозможностей.
Доля систем,
протестированных
методом белого ящика
65%
7 8 9 серверных частей
клиентовAndroid
клиентовiOS
Оценка защищенности проводилась методами черного, серого и
белогоящикасиспользованиемвспомогательныхавтоматизирован-
ныхсредств.Методчерногоящиказаключаетсявпроведенииработ
по оценке защищенности информационной системы со стороны
внешнегоатакующегобезпредварительногополучениякакой-либо
дополнительнойинформациионейотвладельца.Методсерогоящи-
ка аналогичен, но в качестве нарушителя рассматривается пользо-
ватель,имеющийопределенныепривилегиивсистеме.Прианализе
методомбелогоящикадляоценкизащищенностиинформационной
системыиспользуютсявсеимеющиесяданныеоней,включаяисход-
ныйкодприложений.
В настоящем документе приведены уязвимости клиентских и сер-
верных частей. В дополнение рассмотрены угрозы мобильных при-
ложений,в томчислеи те, которыеобусловленыклиент-серверным
взаимодействием.Отчетсодержиттолькоописанияуязвимостей,свя-
занныхсошибкамивкодеиконфигурациимобильныхприложений.
Другиераспространенныепроблемыинформационнойбезопасности
(к примеру, недостатки процесса управления обновлениямиПО) не
рассматриваются.Уязвимостикодамыразделилинадвегруппы:
� уязвимостивкодемобильногоприложения
(ошибки,которыедопустилпрограммистприразработке);
� ошибкиреализациимеханизмовзащиты
(появляютсявсистемеещенаэтапепроектирования).
Уровень риска уязвимостей оценивался исходя из степени влияния
потенциальной атаки на пользовательские данные и само приложе-
ние, а такжес учетомсложностипроведения атаки; выделеныкаче-
ственныеоценкивысокого,среднегоинизкогоуровнейриска.
59%18%
Мобильный банк
Другие
Личный кабинет (сфера услуг)
23%
59%18%
Мобильный банк
Другие
Личный кабинет (сфера услуг)
23%
Рисунок27.Типыприложений
Mobile application_A4.RUS.0004.05
Positive Technologies — один из лидеров европейского рынка систем анализа защищенности и соответствия стандартам, а также за-щиты веб-приложений. Организации во многих странах мира используют решения Positive Technologies для оценки уровня безопас-ности своих сетей и приложений, для выполнения требований регулирующих организаций и блокирования атак в режиме реального времени. Благодаря многолетним исследованиям специалисты Positive Technologies заслужили репутацию экспертов международно-го уровня в вопросах защиты SCADA- и ERP-систем, крупнейших банков и телеком-операторов.
Деятельность компании лицензирована Минобороны России, ФСБ России и ФСТЭК России, продукция сертифицирована Минобо-роны России и ФСТЭК России.
facebook.com/PositiveTechnologiesfacebook.com/PHDays
О компании
25