В предыдущей части тестирования на проникновение приложения Андроид - часть 8 мы рассматривали атаку через контент – провайдера, когда приложения хотят делиться с другими приложениями.
Атака через Android Pasteboard:
Aндроид предоставляет фреймворк буфера обмена для копирования и вставки различных типов данных. Данные могут представлять собой текст, изображения, данные двоичного потока или другие сложные типы данных.
Простые текстовые данные хранятся непосредственно в буфере обмена, в то время как сложные данные хранятся в качестве ссылки, которую приложение для вставки разрешает с контент-провайдером.
Копирование и вставка может осуществляться как внутри приложения, так и между приложениями, которые реализуют структуру.
Чтобы использовать буфер обмена, вам необходимо создать экземпляр объекта ClipboardManager, вызвав метод getSystemService ()
«Сервисный буфер обмена», где сервисные коды 1, 2 и 3, означают getClipboardText, setClipboardText и hasClipboardText соответственно.
Сервисный буфер обмена 2 s16 thisisinsertedtext
Рассмотрите банковское приложение, где мы копируем номер счета из приложения.
Мы можем наблюдать весь процесс и мы можем грепнуть процесс, который мы хотим, используя имя apk.
Код:
ps | grep ‘insecure’
Мы можем получить номер учетной записи, который был скопирован с использованием следующей команды.
Код:
su (PID) u0_a80 service call clipboard 2 s16 (.apk name) com.android.insecurebank
Мы можем видеть ввод, который был скопирован в приложении. Когда дело доходит до кредитной карты, дебетовой карты, PIN-кода, CVV и номера счета, это будет очень важно.
Смягчение:
Чтобы полностью избежать использования буфера обмена, KeePass предлагает то, что он называет Auto-Type: он будет напрямую заполнять целевые поля, моделируя соответствующие нажатия клавиш. Преимущество состоит в том, что никакие данные никогда не будут проходить через буфер обмена.
При использовании буфера обмена для копирования/вставки паролей KeePass может быть настроен на автоматическую очистку буфера обмена через короткий промежуток времени.
При копировании пароля KeePass отображает в нижней части своего главного окна уменьшающуюся полосу выполнения, которая дает пользователю визуальную обратную связь по прошествии таймаута и как только истечет время ожидания (например, 15 или 30 секунд), и если буфер обмена по-прежнему содержит данные KeePass, то KeePass удаляет содержимое буфера обмена (пользователь не должен использовать хотя бы один из этих менеджеров истории буферов обмена, чтобы это было действительно эффективно).
Атака через кеш клавиатуры Aндроид:
Aндроид содержит пользовательский словарь, в котором слова, введенные пользователем, могут быть сохранены для будущей автокоррекции. Этот пользовательский словарь доступен для любого приложения без специальных разрешений.
В следующем примере мы добавляем имя пользователя в словарь, выбирая текст.
Вы можете получить эту информацию в базе данных user_dict
Вы можете найти пользователя в user_dict.db в /data/data/com.android.providers.userdictionary/databases
открывая базу данных sqlite3 user_dict.db
select * from words; Этот SQL-запрос предоставляет вам всю информацию или слова, которые добавляются в ‘added to dictionary’
Смягчение:
Отключите функцию автоматической коррекции для любой конфиденциальной информации, а не только для полей пароля. Поскольку клавиатура кэширует конфиденциальную информацию, она может быть восстановлена
Для повышения безопасности рассмотрите возможность внедрения пользовательской клавиатуры (и, возможно, ввода PIN-кода), которая может отключить кеширование и обеспечить дополнительную защиту от вредоносных программ.
Источник:
Ссылка скрыта от гостей