¿Cómo verificar la calidad del manejo de contraseñas en un producto de código abierto?

0

Acabo de crear una cuenta en Magento Commerce , que es una solución de tienda en línea.

Durante la creación de la cuenta, ingresé una contraseña. Personalmente, prefiero las contraseñas más largas y generadas que no contienen caracteres especiales, ya que los caracteres especiales se ubican en diferentes lugares, dependiendo de la configuración regional del teclado y los caracteres especiales no funcionan bien en varias conexiones de escritorio remoto.

Como no tenía permiso para usar una contraseña de 24 caracteres como esta, leí sobre los requisitos de contraseña:

Las políticas son bastante fuertes:

  • 1 letra mayúscula
  • 1 número
  • 1 carácter especial
  • longitud mínima de 8 caracteres
  • pero luego me pregunté por qué hay una longitud máxima de 16 caracteres

Básicamente, conozco Longitud y complejidad de la contraseña , por lo que mi pregunta es no si sus requisitos resultan en una calidad de contraseña más alta que la mía.

La pregunta es: dado que considero que estoy usando el producto y tengo la sensación de que la comprensión de la seguridad de las contraseñas por parte de los desarrolladores del producto podría ser (parcialmente) errónea, ¿cuáles son las primeras cosas que debo verificar?

No estoy buscando una respuesta específica de Magento. Me gustaría saber sobre el enfoque general para tal verificación, por ejemplo. para cualquier producto de código abierto.

    
pregunta Thomas Weller 13.10.2015 - 00:04
fuente

1 respuesta

3

Si bien los requisitos de contraseña pueden ayudarlo un poco a comprender cómo ese sistema en particular puede manejarlos, es solo la punta del iceberg. Es cierto: tener una longitud máxima para una contraseña levanta algunas señales de que algo no es bueno. Sin embargo, puede haber otras razones detrás de eso (como mala documentación).

Incluso si tiene las políticas perfectas, nada asegurará que no estén usando algoritmos débiles o malas prácticas que pueden llevar a problemas de seguridad graves. La única forma (IMO) es verificar el código usted mismo. En caso de que no entienda su código, es mejor atenerse a los proyectos más activos (y con más colaboradores). También es una buena idea revisar los informes de vulnerabilidades sobre el proyecto, saber quién está detrás de su desarrollo, preguntar en sus foros o listas de correo y, lo que es más importante, qué tan nuevo es el código: algunos proyectos de sistemas operativos se basan en códigos muy antiguos (que podría ser vulnerable a nuevas técnicas de ataque o usar algoritmos desaprobados), o en el otro lado, los proyectos muy nuevos podrían presentar algunos riesgos ya que no se han probado lo suficiente.

En resumen, estaría más preocupado por las políticas de seguridad generales que por la forma en que se almacenan las contraseñas.

ACTUALIZACIÓN (sobre Magento)

Revisé sus códigos y encontré, por ejemplo, de sus interfaces de cifrado .

Las contraseñas parecen estar almacenadas usando "sha256" con un retroceso en "md5" (si esa configuración está activada). En ese caso, la longitud máxima de 16 caracteres puede estar relacionada con la GUI u otras razones (tal vez para permitir configuraciones y extensiones personalizadas).

El proyecto Magento parece estar bien codificado y tiene una comunidad fuerte. que me hacen asumir que su seguridad está por encima de la media . Su implementación de hashing de contraseñas actual no es la mejor, pero tampoco es la peor, vea los comentarios a continuación, así que no confíe en el 100%. No existe un sistema perfecto y todos los proyectos del sistema operativo son vulnerables (ya que los atacantes pueden ver su código), pero como usted sabrá, los proyectos de código cerrado no están exentos de vulnerabilidades.

Le recomendaría que les preguntara directamente por qué la limitación de 16 caracteres. Estoy seguro de que pueden darte una explicación más detallada.

    
respondido por el lepe 13.10.2015 - 02:52
fuente

Lea otras preguntas en las etiquetas