Stockage sécurisé des informations d'identification en python

L'attaque

Un possible modèle de menace, dans le contexte du stockage des identifiants, est un attaquant qui a la capacité de :

  • inspecter tout (utilisateur) processus mémoire
  • lire locales (utilisateur) fichiers

Autant que je sache, le consensus sur ce type d'attaque est qu'il est impossible de prévenir (puisque les informations d'identification doivent être stockées dans la mémoire pour le programme pour les utiliser), mais il ya un couple de techniques de l'atténuer:

  • de minimiser la quantité de temps les données sensibles sont stockées dans la mémoire
  • remplacer la mémoire dès que les données n'est plus nécessaire
  • coder les données en mémoire, continuer d'avancer, et d'autres la sécurité par l'obscurité des mesures

Python en particulier

La première technique est assez facile à mettre en œuvre, éventuellement par le biais d'un porte-clés (espérons-le noyau de l'espace de stockage)

Le second n'est pas réalisable sans l'écriture d'un module C, au meilleur de ma connaissance (mais je serais ravi d'être démenti ici, ou de disposer d'une liste de modules existants)

Le troisième est délicate.

En particulier, python étant un langage très puissant, l'introspection et la réflexion des capacités, il est difficile d'empêcher l'accès aux informations d'identification de quelqu'un qui peut exécuter du code python dans l'interpréteur de processus.

Il semble y avoir un consensus pour dire que il n'y a aucun moyen de faire appliquer les attributs privés et que les tentatives de il sera, au mieux, embêter les autres programmeurs qui sont à l'aide de votre code.

La question

En prenant tout cela en considération, comment fait-on stocker de manière sécurisée les informations d'authentification à l'aide de python? Quelles sont les meilleures pratiques? Quelque chose peut être fait à propos de la langue "tout public" de la philosophie? Je sais "nous sommes tous des adultes consentants ici"mais devrions-nous être forcés de choisir entre le partage de nos mots de passe avec un attaquant et d'utiliser une autre langue?

source d'informationauteur goncalopp | 2013-01-31