Les développeurs Web écrivent du code non sécurisé par défaut

"Si vous voulez, je peux crypter les mots de passe."



Certains développeurs qui ont été explicitement invités à utiliser la cryptographie ont utilisé le cryptage de mot de passe Base64

Lorsque des informations sur une autre fuite de données apparaissent dans les médias, la raison pour laquelle l'entreprise a conservé les mots de passe des utilisateurs en texte clair, n'a pas protégé l'API ou a commis une autre erreur de base est toujours déconcertante. Une telle violation des règles de sécurité est-elle possible à notre époque?

Une nouvelle étude de l'Université de Bonn (Allemagne) montre que les développeurs indépendants adhèrent par défaut à des pratiques extrêmement dangereuses, sauf si le client en demande plus.

Les chercheurs ont invité 260 développeurs Java sur Freelancer.com à développer un système d'enregistrement pour un réseau social imaginaire, ce que les clients auraient commencé à faire. Parmi ceux-ci, seulement 43 ont accepté une commande incluant l'utilisation des technologies Java, JSF, Hibernate et PostgreSQL.

La moitié des développeurs ont reçu 100 euros pour les travaux et la moitié - 200 euros. La moitié de chacun des deux groupes a été invitée à utiliser un magasin de mots de passe sécurisé, tandis que l'autre ne l'a pas fait.

Bien que l'échantillon soit clairement petit, la différence est si importante qu'elle suggère certaines tendances générales. Voici quelques résultats de l'étude:

  • Parmi ceux qui n'ont pas reçu d'instructions, 15 sur 18 ont gardé leurs mots de passe en texte clair
  • Trois des personnes qui ont été invitées à utiliser la boutique sécurisée ont également stocké leurs mots de passe en texte clair.
  • Les programmeurs qui ont chiffré les mots de passe ont utilisé des méthodes dangereuses: 31 programmeurs ont utilisé des méthodes telles que Base64, MD5, SHA-1, etc. pour le chiffrement.
  • Seuls 12 pigistes ont utilisé des méthodes sécurisées telles que bcrypt et PBKDF2.

8 personnes ont utilisé Base64 pour le chiffrement
10 - MD5
1 - SHA-1
3 - 3DES
3 - AES
5 - SHA-256
1 - HMAC / SHA1
5 - PBKDF2
7 - Bcrypt

Le tableau ci-dessous (augmente en cliquant) montre les résultats complets pour chaque participant: combien de jours il a fallu pour terminer la tâche, combien de temps il a consacré à la mise en œuvre de la sécurité et quel algorithme de chiffrement il a appliqué. Dans la moitié supérieure du tableau, ceux qui ont reçu des instructions directes pour crypter les informations. Les participants audacieux sont ceux qui ont d'abord envoyé une solution dangereuse, mais qui ont ensuite reçu des instructions supplémentaires pour implémenter un magasin de mots de passe sécurisé.



La grande majorité des programmeurs n'ont pas pu mettre en œuvre les méthodes de sécurité de base et 17 des 43 codes copiés à partir de sites Web aléatoires.

Seuls 15 développeurs ont utilisé salt - une chaîne de données qui est transmise à la fonction de hachage avec le mot de passe, ce qui complique considérablement la force brute.


Le tableau (cliquable) montre les données démographiques des participants à l'étude. Comme vous pouvez le voir, ce sont principalement des hommes, l'âge moyen est de 30 ans, de 11 pays (dans deux cas, le pays n'est pas indiqué)

Les groupes à bas salaires et à hauts salaires ont travaillé à peu près au même niveau de qualité.

En général, l'étude est plutôt déprimante. On peut supposer que la sensibilisation à la sécurité de base parmi les pigistes est incroyablement faible. Sur les 18 participants qui ont reçu des instructions spéciales pour utiliser la cryptographie, trois ont décidé d'utiliser Base64 et ont affirmé, par exemple: "[J'ai] tout crypté pour que le mot de passe ne soit pas visible" et "Il est très difficile de le décrypter".

Peut-être que ce comportement est spécifique uniquement aux pigistes, et les membres du personnel sans instructions essaient immédiatement de prendre une décision sûre? L'étude ne fournit pas de réponse à cette question.





Source: https://habr.com/ru/post/fr449452/


All Articles