⌨️Keyboard press caching

Description

Dans certaines applications, il arrive que celle-ci ai besoin d'enregistrer les frappes clavier pour proposer un préremplissage de l'entrée utilisateur. Cette fonctionnalité peut par exemple être utile dans le cas d'applications de messagerie. Cependant, le cache du clavier peut divulguer et faire fuiter des informations sensibles. La vulnérabilité "Mise en cache des frappes clavier" survient lorsque cette mise en cache n'est pas faite de manière sécurisé.

Détection

Analyse statique

Via le fichier de base de données

On peut retrouver le fichier de cache clavier à l'emplacement:

/data/data/com.android.providers.userdictionary/databases/user_dict.db

Dans la balise <EditText>

Dans la définition de mise en page d'une activité, vous pouvez définir des TextViews qui ont des attributs XML. Si la L'attribut XML android:inputType reçoit la valeur textNoSuggestions, le cache du clavier ne s'affichera pas lorsque le champ de saisie est sélectionné. L'utilisateur devra tout saisir à la main. Autrement, la suggestion d'autocompletion restera activé et pourra être retrouvé dans le cache.

Exemple:

<EditText
    android:id="@+id/KeyBoardCache"
    android:inputType="textNoSuggestions" 
/>

Analyse dynamique

En analyse dynamique, il suffit simplement de tapper quelque chose dans un champs de l'application et regarder si des suggestions sont données.

Dernière mise à jour