Upload
positive-hack-days
View
168
Download
0
Embed Size (px)
Citation preview
ОСОБЕННОСТИ Х
РАНЕНИЯ
ПОЛЬЗОВАТЕЛЬСКИХ
ДАННЫХ ПОПУЛ
ЯРНЫМИ
МЕССЕНДЖЕРА
МИ WIN
DOWS
PHONE
Полторжицкий Артём[email protected]
57%
24%
7%
3%2%
2%2% Android
iOSSeries 40UnknownWindows PhoneSymbianOSSamsungBlackBerry OSNokia UnknownLinuxSony EricssonLGbadaPlaystationWinVistaNintendo 3DSMeeGoOther
Рынок смартфонов
1.Выбор социальных сетей для исследования
2.Поиск путей получения исполняемых файлов приложения
3.Реверс приложений и анализ сохраняемых данных
Алгоритм изучения
Социальные сети в России
VK
Одноклассники
GOOGLE+
Skype
Viber
0 0.05 0.1 0.15 0.2 0.25 0.3
28.00%
24.00%
18.00%
15.00%
12.00%
10.00%
7.00%
5.00%
5.00%
4.00%
Количество людей, использующих платформу хотя бы раз в месяц по отношению к общему населению РФ
Пути получения файлов приложений
1.Полный дамп памяти устройства
2. Уязвимость SD-карты
Плюсы:+ Получение всех файлов всех приложений+ Полный доступ к изолированному хранилищу
Минусы:- Статичность получаемых данных- Длительность операции
Плюсы:+ Получение всех файлов приложений на SD-карте+ Быстрота операции+ Динамичность данных
Минусы:- Приложения только с SD-карты
Уязвимость SD-карты
• Пользователь djamol на XDA-Developers
http://forum.xda-developers.com/windows-phone-8/development/access-wpsystem-folder-t2853795 • Директория WPSystem на SD-карте
содержит все файлы приложений• По умолчанию WPSystem имеет
атрибуты доступа System и Hidden
Получение токена доступа1. Декомпиляция
Из MSDN:
public static byte[] Protect(byte[] userData,byte[] optionalEntropy)
public static byte[] Unprotect(byte[] encryptedData,byte[] optionalEntropy)
Получение токена доступа2. Расшифрование
byte[] arr1 = Convert.FromBase64String(enc_token);
byte[] res = ProtectedData.Unprotect(arr1, null);
return Encoding.UTF8.GetString(res, 0, res.Length);
ВКонтакте
Сообщения пользователяКаждый чат – отдельный файлПример названия файла MSG1237163_1264True- 1237163 – Идентификатор пользователя- 1264 – Идентификатор собеседника/общей беседы- True/False – является ли чат беседой с одним или
несколькими пользователями
Изолированное хранилище
Все данные хранятся в папке
LocalState
• Настройки
• Токен доступа (auth 1.0)
• Тестовые сообщения
пользователю
• Лента твитов
• Подписчики и подписки
• Другие данные
Выводы
1.Пользовательские данные защищены недостаточно надежно
2.Кэширование пользовательских данных может приводить к компрометации пользователя
Пути решения
1.Учитывать особенности платформы, под которую ведется разработка
2.Усложнение реверса (псевдошифрование данных, обфускация исходных кодов)