web-dev-qa-db-fra.com

Pourquoi devriez-vous effacer votre carte de pâte lorsque vous quittez votre application?

J'ai numérisé une demande de mine IOS et la vulnérabilité au risque la plus élevée semble être que la carte de pâte n'est pas défrichée lorsque je termine la demande. Je ne veux pas que l'utilisateur perde des informations potentiellement utiles, elles ont été copiées à la suite de la trop-zéléeness, en particulier lorsque les données sont encore très sûres lorsque l'application n'a pas été terminée et que d'autres applications sont exécutées en tandem.

Dans une question similaire à mienne, mais pour la carte de pâte de Windows, il est suggéré que cela ne constituerait pas un problème de risque élevé, car le carton doit être le moindre de mes soucis lorsque les logiciels malveillants sont présents sur mon appareil. Quelle est la raison principale que je devrais faire cela et pourquoi est-il considéré comme un risque assez élevé?

L'application a accès à Internet et contient SPI.

7
Declan McKenna

Le presse-papiers en effet ne peut pas être considéré comme un endroit sûr , ceci pour plusieurs raisons:

  • Malware Accédant au contenu du presse-papiers : Dans votre question, vous vous êtes concentré sur des logiciels malveillants installés dans votre machine, mais il pourrait y avoir des logiciels malveillants transitoires (comme une bannière malveillante Adobe Flash sur un site Web que vous avez visitée par exemple ...) qui n'infectera pas votre ordinateur lorsqu'il ne sera pas exécuté, mais essayez simplement d'obtenir le contenu du presse-papiers à ce moment-là et de l'envoyer à leur domicile,

  • Manipulation incorrecte de l'utilisateur : une mauvaise manipulation pourrait vous amener à coller le mauvais contenu au mauvais endroit. Habituellement sans conséquences, avec des données sensibles, une telle manipulation erronée peut encore avoir de lourdes conséquences,

  • personnes autour de l'utilisateur : Lorsque l'ordinateur est laissé sans surveillance et déverrouillé ou si l'attention de l'utilisateur est temporairement distraite, il est très rapide pour quelqu'un d'autre d'appuyer sur un Ctrl-V ensuite Ctrl-Z Sur son clavier pour voir rapidement son contenu de presse-papiers sans l'utilisateur en notant.

Bien qu'il soit toujours préférable d'éviter une utilisation totalement des presse-papiers, lorsqu'il est nécessaire, l'atténuation de cette menace est de garantir que les données sensibles ne restent pas dans le presse-papiers pendant trop longtemps: Idéalement, il devrait simplement rester suffisamment de temps à utiliser et non plus long.

Dans votre question, vous suggérez d'effacer le presse-papiers lorsque l'application se déroule. L'efficacité de cela dépend fortement de la manière dont l'application est utilisée: s'il s'agit du type d'application qui est fermé uniquement à la fin de la journée, cette mesure semble simplement inefficace.

Un bon exemple et une source inspirante pour cette situation peut être le gestionnaire de mots de passe Keepass qui propose de gérer cela de deux manières, en fonction des préférences de l'utilisateur:

  • Pour éviter toute utilisation du presse-papiers complètement, Keeps propose ce qu'il appelle Type automatique : Il remplira directement les champs ciblés en simulant la touche appropriée. L'avantage est qu'aucune donnée ne passe jamais dans le presse-papiers, mais ce comportement est plus complexe à mettre en œuvre et peut ne pas être entièrement compatible ni portable (particulièrement vrai depuis que vous mentionnez une application mobile),

  • Lorsque vous utilisez le presse-papiers pour copier/coller des mots de passe, Keepass peut être configuré pour effacer automatiquement le presse-papiers après une courte quantité de temps. Lors de la copie d'un mot de passe, KeePass s'affiche au bas de sa fenêtre principale une barre de progression décroissante donnant à l'utilisateur un retour visuel sur la progression du délai d'attente, et une fois que le délai d'expiration expire (15 ou 30 secondes par exemple) et si le presse-papier Contient encore des données Keepass Ensuite, Keepass supprime le contenu du presse-papiers (l'utilisateur ne doit pas utiliser l'un de ces "gestionnaires d'historique des presse-papiers" pour que cela soit vraiment efficace).

5
WhiteWinterWolf

Je vais me concentrer sur l'aspect iOS ici - D'autres réponses mentionnent les choses non applicables sur iOS (par exemple, "type automatique: '). Je suis un développeur IOS et j'ai travaillé sur des applications "sécurisées".

Malheureusement, chaque "scanner de sécurité" que j'ai essayé pour le code IOS est au mieux ce que je vais faire référence à "très trompeur". Je soupçonne que la phrase que j'utilise normalement n'est pas assez familiale pour Stackexchange.

La "vulnérabilité" et leur atténuation suggérée sont "très trompeuses". Il nuit à la fois la convivialité et ne vous aide pas lorsqu'un iPad exécute l'application sur le multitâche "côte à côte", ni dans une autre situation.

Comme le dit Whitewinterwolf, vous devriez envisager de ne pas laisser des données hautement sensibles sur le presse-papier système en premier lieu si cela fonctionne pour votre cas d'utilisation. Dans iOS, vous pouvez implémenter un presse-papier interne à l'application, par sous-classement UITextField, UITextView (etc.) et fournir des remplacements pour UIResponderStandardEditActions qui n'utilisent pas le système [UIPasteboard generalPasteboard].

Si vous avez un cas d'utilisation convaincante pour permettre la transmission de données à d'autres applications, à partir de iOS 10, vous pouvez également définir UIPasteboardOptionExpirationDate et UIPasteboardOptionLocalOnly (comme iOS 10 partage maintenant le presse-papiers autour de tous les appareils connecté au même compte iCloud par défaut) pour essayer de limiter l'exposition.

2
JosephH