В предыдущей части
Ссылка скрыта от гостей
мы рассматривали тот вопрос, в котором уязвимости были классифицированы в TOP 10.Небезопасный вход - ADB Logcat:
Logcat - это инструмент командной строки, который сбрасывает журнал системных сообщений, включая трассировки стека, когда устройство выдает сообщение об ошибке и сообщения, которые вы написали из вашего приложения, используя класс Log.
Андроид Logcat позволяет вам:
- Просматривать, фильтровать и собирать все журналы приложений
- Просматривать, фильтровать и собирать все системные журналы, такие как события инструмента по сбору ненужных данных
Иногда при входе в приложение в журналах можно найти эти учетные данные.
Смягчение: adb logcat -c” (это очищает журнал.) Но убедитесь во время кодировки приложения, чтобы ваши личные данные не появлялись в журнале.
Небезопасное внешнее и внутреннее хранилище
Как мы уже знаем, все данные приложения в устройстве могут быть обнаружены в /data/data directory, а все приложения (apk files) в устройстве можно найти в /data/data directory.
Когда у вас есть rooted устройство, вы можете покопаться глубже, чтобы понять, какие файлы хранятся в этих каталогах.
Внутреннее хранилище
Внутреннее хранилище - это еще один способ хранения данных в приложениях Android. Разработчики могут хранить данные в приложениях Android локально различными способами.
Примеры
Общие предпочтения, файлы, кэш, базы данных SQLite, lib, файлы журналов, двоичные хранилища данных, хранилища файлов cookie и т.д.
Общие предпочтения (Shared preferences)
“Общие Предпочтения” позволяют разработчику сохранять и извлекать постоянные пары ключ-значение примитивных типов данных, таких как Booleans, float, ints, longs и strings.Общие предпочтения создаются в приложениях Android, используя класс Общие предпочтения (Shared preferences).
Базы данных Sq-lite
Базы данных Sq-lite представляют собой легкие файловые базы данных. Обычно они имеют расширение «.db» или «.sq-lite». Aндроид обеспечивает полную поддержку баз данных Sq-lite. Базы данных, которые мы создаем в приложении, будут доступны любому классу приложения. Другие приложения не могут получить к ним доступ.
Внешнее хранилище
SDCARD - еще одно важное место в Android, где мы можем хранить данные, связанные с нашими приложениями. Файлы, созданные на внешнем хранилище, доступны для чтения и записи на глобальном уровне. Поскольку внешнее хранилище может быть удалено пользователем, а также изменено любым приложением, вы не должны хранить конфиденциальную информацию с помощью внешнего хранилища.
Смягчение:
- Для локального хранилища API администрация приложений Aндроид может быть использована для принудительного шифрования в локальных файлах хранилища «установка шифрования хранилища»
- Убедитесь, что любые свойства общих предпочтений NOT_MODE_WORLD_READABLE, если это явно не требуется для обмена информацией между приложениями
Небезопасное общение
Отсутствие проверки сертификата: приложение Aндроид не может проверить идентичность сертификата. Большинство приложений игнорируют предупреждения и принимают любой самоподписанный сертификат. Некоторые приложения вместо этого передают трафик через HTTP-соединение.
Общение со слабым хэндшейком: приложение и сервер выполняют хэндшейк SSL/TLS, но используют небезопасный набор шифров, который уязвим для атак MITM. Таким образом, любой злоумышленник может легко расшифровать это соединение.
Утечка частной информации: В большинстве случаев происходит то, что приложения выполняют аутентификацию через защищенный канал, но все оставшиеся соединения проходят через незащищенный канал. Это не добавляет безопасности приложения, поскольку другие уязвимые данные, такие как cookie сеанса или пользовательские данные, могут быть перехвачены злоумышленником.
Смягчение:
- Используйте сертификаты, подписанные доверенным провайдером CA, и считайте сертификат, прикрепленный к приложениям, ориентированным на безопасность.
- Применяйте SSL/TLS для транспортировки каналов, которые будут использовать мобильное приложение для передачи конфиденциальной информации, токенов сеанса или других конфиденциальных данных в интерфейсный API или веб-службу.
- Устанавливайте только безопасное соединение после проверки подлинности сервера конечной точки с использованием доверенных сертификатов в ключевой цепи.
Источник:
Ссылка скрыта от гостей