ݺߣ

ݺߣShare a Scribd company logo
Android Task hijacking
Евгений Блашко
Шабалин Юрий
Отдел Тестирования Информационной Безопасности приложений
«Сбербанк Технологии»
whoami
• Евгений Блашко
ВТБ24, 2A-Софт
- Разработка мобильных приложений
- Анализ мобильных приложений
• Юрий Шабалин
Positive Technologies, Альфа-банк
– Внедрение процесса SDLC, анализ кода
– Анализ мобильных приложений
– разработка ПО
Предыстория
• USENIX Security Symposium 2015,
Towards Discovering and Understanding Task Hijacking in Android
В ходе исследования и выявились дополнительные возможности…
Многозадачность не как у всех
Как у всех:
• Процессная многозадачность
• Поточная многозадачность
Свои особенности:
• Задача – это коллекция Activity
• Одна Activity в разных задачах
• В одной задаче Activity из разных приложений
Why?
• Переключение между сценариями использования
• Сохранение состояния
• Создание иллюзии работы в одном приложении
«Монетизируем» многозадачность
Немного теории..
Немного теории..
Стандартное поведение
Стандартное поведение
Что такое taskAffinity
Как работает taskAffinity
Magic
Task hijacking
Hijacking state transition #1
Развитие Activity Hijacking
Пример
Hijacking state transition #2
Возврат к “исходному” приложению
Пример из демо
Press Intro Press Back
Hijacking state transition #3
Заменяем любое приложение малварью
Пример из демо
Press Фото
Hijacking state transition #4
Редкий случай
Hijacking state transition #5
Весьма вероятный случай
Пример из демо
Press Фото
- Моё приложение уязвимо?
- Да.
Vulnerability % of apps
Send implicit intent for exported activities 93,9
Send implicit intent for exported activities and use
intent FLAG_ACTIVITY_NEW_TASK
65,5
Contains public exported activity and
launchMode=“singleTask”
14,2
Contains public exported activity and
allowTaskReparenting=“true”
1,4
Что следует учитывать
• Don’t specify taskAffinity
• Don’t specify launchMode
• Don’t specify allowReparenting
• Don’t set FLAG_ACTIVITY_NEW_TASK
• Use explicit Intents if the destination Activity is
predetermined
• Verify the destination Activity if linking with another
application
• Internal activities must be private
А ты установил «калькулятор для бухгалтера»?
Questions?
Telegram:
@R1p4eg
Mail:
Yury.shabalin@gmail.com
Mail:
30russian@gmail.com
Telegram:
@jd7drw

More Related Content

«Android Activity Hijacking», Евгений Блашко, Юрий Шабалин (АО «Сбербанк-Технологии»)