NOTÍCIAS

[ANONYMOUS][grids]

Programadores tornarão o caminho mais fácil para invasores dizem pesquisadores


Os desenvolvedores freelancers precisam ser explicitamente orientados a escrever códigos que armazenem senhas de maneira segura e protegida, revelou um estudo recente.
Em um experimento que envolveu 43 programadores contratados por meio da plataforma Freelancer.com, os acadêmicos da Universidade de Bonn descobriram que os desenvolvedores tendem a tomar o caminho mais fácil e a escrever códigos que armazenam senhas de usuários de maneira insegura.
Para o estudo, os acadêmicos alemães pediram a um grupo de 260 programadores de Java para escrever um sistema de registro de usuários para uma rede social falsa.
Dos 260 desenvolvedores, apenas 43 assumiram o trabalho, que envolvia o uso de tecnologias como Java, JSF, Hibernate e PostgreSQL para criar o componente de registro do usuário.
Dos 43, os acadêmicos pagaram metade do grupo com 100 euros, e a outra metade com 200 euros, para determinar se um salário mais alto fazia diferença na implementação dos recursos de segurança de senha.
Além disso, dividiram o grupo de desenvolvedores uma segunda vez, levando metade dos desenvolvedores a armazenar senhas de forma segura e deixando a outra metade para armazenar senhas em seu método preferido - por isso, formar quatro quartos dos desenvolvedores pagou € 100 e foi solicitado a usar um método de armazenamento de senhas seguras (P100), os desenvolvedores pagaram € 200 e foram solicitados a usar um método de armazenamento de senhas seguras (P200), devedores pagaram € 100, mas não solicitaram segurança de senha (N100) e pagaram € 200, mas não solicitado segurança de senha (N200).

Demografia de Freelancers
Imagem: Naiakshina et al.

Pesquisadores disseram que os desenvolvedores levaram três dias para enviar seu trabalho, e que eles tiveram que pedir a 18 dos 43 para reenviarem seu código para incluir um sistema de segurança de senha quando eles enviaram um projeto que armazenava senhas em texto puro.

Dos 18 que tiveram que reenviar seu código, 15 desenvolvedores fizeram parte do grupo que nunca foi informado de que o sistema de registro do usuário precisava armazenar a senha com segurança, mostrando que os desenvolvedores não pensam inerentemente em segurança ao escrever código.

Resultados não solicitados
Imagem: Naiakshina et al.

Os outros três eram da metade que foi instruída a usar um método seguro para armazenar senhas, mas que armazenavam senhas em texto simples de qualquer maneira.

Resultados solicitados
Imagem: Naiakshina et al.

Os resultados mostram que o nível de compreensão do que significa "senhas seguras" difere muito na comunidade de desenvolvimento da web.
Dos sistemas de armazenamento de senhas seguras que os desenvolvedores escolheram implementar para este estudo, apenas os dois últimos, SHA-256 e Bcrypt, são considerados seguros.
8 - Base64 
10 - MD5 
1 - SHA-1 
3 - 3DES 
3 - AES 
5 - PBKDF2 
1 - HMAC / SHA1 
5 - SHA-256 
7 - BCRypt
O primeiro, o Base64, nem sequer é um algoritmo de criptografia, mas uma função de codificação, algo que os desenvolvedores participantes não pareciam saber. Da mesma forma para o MD5, que é uma função de hashing.
"Muitos participantes usaram hashing e criptografia como sinônimos", disse a equipe de acadêmicos em seu trabalho de pesquisa.
"Dos 18 participantes que receberam o pedido de segurança adicional, 3 decidiram usar o Base64 e argumentaram, por exemplo: 'Eu o cifrei para que a senha não seja visível' e 'é muito difícil descriptografar'", disse o pesquisador. - salientando que alguns participantes do estudo não sabiam a diferença básica entre um algoritmo de criptografia e uma função que apenas mistura os personagens.
Além disso, apenas 15 dos 43 desenvolvedores optaram por implementar a salga , um processo pelo qual a senha criptografada armazenada no banco de dados de um aplicativo fica mais difícil de ser quebrada com a adição de um fator de dados aleatórios.
O estudo também descobriu que 17 dos 43 desenvolvedores copiaram seu código de sites da internet, sugerindo que os freelancers não tinham as habilidades necessárias para desenvolver um sistema seguro do zero, e optaram por usar códigos que podem estar desatualizados ou até mesmo repletos de bugs. .
Pagar taxas mais altas aos desenvolvedores não ajudou muito, disseram os pesquisadores.
No entanto, a equipe de pesquisa descobriu que dar instruções específicas aos programadores para implementar um sistema seguro de armazenamento de senhas produzia melhores resultados do que não dizer nada e esperar que os desenvolvedores pensassem em segurança sozinhos.
No entanto, sem instruções precisas, os desenvolvedores escolhem o que "acreditavam" ser um sistema de armazenamento seguro de senhas, mas na realidade não o foi, sugerindo que a supervisão de um profissional é necessária ao projetar qualquer tipo de sistema de segurança.


When I was a dev manager, I used something very similar as a exercise as part of the hiring process. At least 90% stored the password as plain text. Their numbers are better than I would have guessed.

See Adam Caudill's other Tweets

Os resultados do estudo mostram claramente que o conhecimento de cada desenvolvedor freelance sobre as melhores práticas de segurança cibernética varia muito de pessoa para pessoa. Isso pode ser um treinamento desatualizado ou nenhum treinamento - no entanto, novamente fazer um caso contra o uso de desenvolvedores sem experiência em segurança cibernética para esses trabalhos.
Ataques contra algoritmos de criptografia foram divulgados à esquerda e à direita nas últimas duas décadas, e algo que um desenvolvedor pode ter aprendido em um manual escolar desatualizado pode não ser objeto de escrutínio hoje. Um bom ponto de partida para melhores práticas de senha é essa folha de dicas do OWASP .
Mais detalhes sobre este estudo da Universidade de Bonn estão disponíveis no artigo de pesquisa intitulado " Se você quiser, posso armazenar a senha criptografada". Um estudo de campo com armazenamento de senha com desenvolvedores independentes . "
Este estudo é uma continuação de dois estudos semelhantes - de 2017 e 2018 - que usaram os alunos como sujeitos, em vez de desenvolvedores independentes.
Nos estudos anteriores, os estudantes disseram que teriam implementado o armazenamento seguro de senhas se estivessem criando código para uma empresa. "O estudo de 2019 mostrou que os desenvolvedores atuais não são melhores que os estudantes não supervisionados.