Аспекты анализа защищенности и уязвимостей мобильных приложений
Автор: Макарян Александр Самвелович, Карманов Михаил Александрович
Журнал: НБИ технологии @nbi-technologies
Рубрика: Инновации в информатике, вычислительной технике и управлении
Статья в выпуске: 1 т.12, 2018 года.
Бесплатный доступ
В рамках данной работы были рассмотрены варианты реализации защиты локальных данных приложений на мобильных устройствах, имеющих операционные системы Android и iOS. В качестве исследуемых программ были выбраны следующие: мессенджеры WhatsApp, Viber, Telegram, WeChat, Signal. В ходе анализа были определены и классифицированы хранимые в приложениях локальные данные. В качестве результатов были получены данные об имеющихся в программах механизмах защиты, хранимых типах данных, потребовавшихся инструментах и технологиях, а также предположения по улучшению защиты хранимых локальных данных программ.
Безопасность приложений, мобильные устройства, защита данных, анализ, уязвимости
Короткий адрес: https://sciup.org/149129745
IDR: 149129745 | УДК: 004.9 | DOI: 10.15688/NBIT.jvolsu.2018.1.5
Aspects of analyzing the security and vulnerabilities of mobile applications
The given article deals with the variants of mobile applications’ local data protection on devices with operation systems Android and iOS. The following programs have been investigated: messengers WhatsApp, Viber, Telegram, WeChat, Signal. The conducted analysis let define and classify the programs for protection mechanisms, the types of stored data, the required tools and technologies, as well as the techniques for improving the protection of the stored local data. As it turned out in the course of this research work, locally stored software data on the device is not given enough attention in terms of protection, as in some cases, this protection is based solely on the mechanisms of the operating system of the device. For more reliable protection of locally stored data of the application it is necessary to implement the following approaches in the application: encryption of both the database in full and some critical data in it separately by an additional layer of encryption; encryption of files that appear during the program execution (media files, for example); coding and representation of data in a program using proprietary algorithms; the use of confusing names of critical files and data (the key file should not be called “key”, as in the case of WhatsApp), and data traps; the encoding of the configuration files containing sensitive information to ensure the security of the data; making the functionality of the kernel cryptographic transformations in a separate plug-in library in order to make the study of the decompiled source code on the subject of these reforms meaningless.
Текст научной статьи Аспекты анализа защищенности и уязвимостей мобильных приложений
DOI:
В качестве исследуемых приложений были выбраны следующие: мессенджеры WhatsApp, Viber, Telegram, WeChat и Signal. В случае с мессенджерами критичными данными считаются следующие типы данных: истории сообщений и вызовов, контактная информация об участниках чатов и диалогов, информация о ключах шифрования (мастер-ключ, ключ сессии и т. д.), а также вторичная информация (служебные журналы работы и другие источники, не участвующие в непосредственной работе приложения). Сравнительная характеристика защищенности мессенджера WhatsApp представлена на таблице 1.
Сравнительная характеристика защищенности мессенджера Viber представлена на таблице 2.
Сравнительная характеристика защищенности мессенджера Telegram представлена на таблице 3.
Сравнительная характеристика защищенности мессенджера WeChat представлена на таблице 4.
Сравнительная характеристика защищенности мессенджера Signal представлена на таблице 5.
Стоит отметить, что в популярных для нашей страны мессенджерах только в слу-
|
чае с мессенджером Telegram внедрено ко- ется, на момент исследования, 31 возмож- дирование сообщений, которое может быть ный протокол кодирования сообщений в базе обойдено изучением декомпилированного данных. Без использования данной инфор- исходного кода мессенджера. При исследо- мации невозможно установить содержание вании полученного исходного кода данного сообщений чатов всех видов, хранящихся в мессенджера было установлено, что име- базе данных [2]. Таблица 1 Сравнительная характеристика защищенности мессенджера WhatsApp |
|
|
Доступность сообщений |
Сообщения хранятся в открытом виде в msgstore.db (ChatStorage.sqlite для iOS) |
|
Доступность контактной информации |
Контактная информация хранится в открытом виде в wa.db (Contacts.sqlite для iOS) |
|
Доступность ключевой информации |
Мастер-ключ возможно получить из файла «key» для расшифровки инкрементных резервных копий историй сообщений |
|
Вторичная информация |
По журналам работы программы можно установить время и дату событий приложения |
|
Инструменты и методы для обхода механизмов защиты |
Apk signature expoit, создание резервной копии через Android Debug Bridge |
|
Таблица 2 |
|
Сравнительная характеристика защищенности мессенджера Viber
|
Доступность сообщений |
Сообщения хранятся в открытом виде в viber_messages (Contacts для iOS) |
|
Доступность контактной информации |
Контактная информация хранится в открытом виде в viber_data (Contacts для iOS) |
|
Доступность ключевой информации |
Информация о различных ключах отсуствует |
|
Вторичная информация |
Кодирование аудио- и видеосообщений пропритарным алгоритмом |
|
Инструменты и методы для обхода механизмов защиты |
Apk signature expoit, создание резервной копии через Android Debug Bridge; apktool + jdgui (декомпиляция исходного кода для получения алгоритма кодирования) |
Таблица 3
Сравнительная характеристика защищенности мессенджера Telegram
|
Доступность сообщений |
Сообщения хранятся в закодированном виде в cache4.db (в том числе и сообщения Secret-чатов) |
|
Доступность контактной информации |
Контакты хранятся в открытом виде в cache4.db |
|
Доступность ключевой информации |
Информация о различных ключах отсутствует |
|
Вторичная информация |
Критичной для исследования информации найдено не было |
|
Инструменты и методы для обхода механизмов защиты |
Apk signature expoit, создание резервной копии через Android Debug Bridge; apktool + jdgui (декомпиляция исходного кода для получения алгоритмов кодирования сообщений) |
Таблица 4
Сравнительная характеристика защищенности мессенджера WeChat
|
Доступность сообщений |
Сообщения хранятся в зашифрованной базе данных EnMicroMsg.db (в открытом виде в MM.db для iOS) |
|
Доступность контактной информации |
Контакты хранятся в зашифрованной базе данных EnMicroMsg.db (в открытом виде в MM.db для iOS) |
|
Доступность ключевой информации |
В конфигурационных файлах содержатся составные части ключа шифрования баз данных |
|
Вторичная информация |
Критичной для исследования информации найдено не было |
|
Инструменты и методы для обхода механизмов защиты |
Apk signature expoit, создание резервной копии через Android Debug Bridge; apktool + jdgui (декомпиляция исходного кода для получения алгоритма шифрования базы данных); sqlcipher (получение расшифрованной базы данных) |
Таблица 5
Сравнительная характеристика защищенности мессенджера Signal
Список литературы Аспекты анализа защищенности и уязвимостей мобильных приложений
- Anglano, C. Forensic Analysis of WhatsApp Messenger on Android Smartphones / C. Anglano // ResearchGate: [информационно-справочный портал]. - Electronic data. - Mode of access: https://www.researchgate.net/publication/262641460 (date of access: 10.02.2018). - Title from screen.
- Current TL Schema // Telegram: [информационно-справочный сайт]. - Electronic data. - Mode of access: https://core.telegram.org/schema (date of access: 11.03.2018). - Title from screen.
- Dar us, F. M. How to decrypt WeChat EnMicroMsg.db database? / F. M. Darus // Forensic Focus. - Electronic data. - Mode of access: https://articles.forensicfocus.com/2014/10/01/decrypt-wechat- enmicromsgdb-database/ (date of access: 21.03.2018). - Title from screen.