Los desarrolladores web escriben código inseguro por defecto

"Si quieres, puedo encriptar las contraseñas".



Algunos desarrolladores que han recibido instrucciones explícitas de usar criptografía han usado el cifrado de contraseña Base64

Cuando aparece información sobre otra fuga de datos en los medios, siempre resulta sorprendente por qué la compañía mantuvo las contraseñas de los usuarios en texto claro, no protegió la API o cometió algún otro error básico. ¿Es posible tal violación de las reglas de seguridad en nuestro tiempo?

Un nuevo estudio de la Universidad de Bonn (Alemania) muestra que los desarrolladores independientes se adhieren por defecto a prácticas extremadamente inseguras, a menos que el cliente requiera más.

Los investigadores han invitado a 260 desarrolladores de Java en Freelancer.com a desarrollar un sistema de registro para una red social imaginaria, que los clientes supuestamente comenzaron a hacer. De estos, solo 43 aceptaron un orden que incluía el uso de las tecnologías Java, JSF, Hibernate y PostgreSQL.

La mitad de los desarrolladores recibieron 100 euros por el trabajo y la otra mitad 200 euros. La mitad de cada uno de los dos grupos recibió instrucciones de usar un almacén de contraseñas seguro, mientras que el otro no.

Aunque la muestra es claramente pequeña, la diferencia es tan significativa que sugiere algunas tendencias generales. Estos son algunos de los resultados del estudio:

  • Entre los que no recibieron instrucciones, 15 de 18 mantuvieron contraseñas en texto claro
  • Tres de las personas que recibieron instrucciones de usar la tienda segura también almacenaron sus contraseñas en texto claro.
  • Los programadores que cifraron contraseñas utilizaron métodos inseguros: 31 programadores utilizaron métodos como Base64, MD5, SHA-1, etc. para el cifrado.
  • Solo 12 freelancers han utilizado métodos seguros como bcrypt y PBKDF2.

8 personas usaron Base64 para el cifrado
10 - MD5
1 - SHA-1
3 - 3DES
3 - AES
5 - SHA-256
1 - HMAC / SHA1
5 - PBKDF2
7 - Cripta

La tabla a continuación (aumenta por clic) muestra los resultados completos de cada participante: cuántos días necesitó para completar la tarea, cuánto tiempo dedicó a implementar la seguridad y qué algoritmo de cifrado aplicó. En la mitad superior de la tabla, los que recibieron instrucciones directas para cifrar la información. Los participantes audaces son aquellos que primero enviaron una solución insegura, pero luego recibieron instrucciones adicionales para implementar un almacén de contraseñas seguro.



La gran mayoría de los programadores no pudieron implementar métodos de seguridad básicos, y 17 de 43 códigos copiados de sitios web aleatorios.

Solo 15 desarrolladores usaron salt, una cadena de datos que se pasa a la función hash junto con la contraseña, lo que complica enormemente la fuerza bruta.


La tabla (en la que se puede hacer clic) muestra los datos demográficos de los participantes del estudio. Como puede ver, estos son principalmente hombres, la edad promedio es de 30 años, de 11 países (en dos casos, el país no está indicado)

Los grupos con salarios bajos y salarios altos trabajaron aproximadamente al mismo nivel de calidad.

En general, el estudio es bastante deprimente. Se puede suponer que la conciencia básica de seguridad entre los trabajadores independientes es increíblemente baja. De los 18 participantes que recibieron instrucciones especiales para usar la criptografía, tres decidieron usar Base64 y afirmaron, por ejemplo: "[I] cifró todo para que la contraseña no sea visible" y "Es muy difícil descifrarla".

¿Quizás este comportamiento es específico solo para los trabajadores independientes, y los miembros del personal sin ninguna instrucción inmediatamente tratan de tomar una decisión segura? El estudio no proporciona una respuesta a esta pregunta.





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


All Articles