Los puntos débiles de sistemas de autenticación para combatir a los hackers
Este artículo revisa algunas fallas en el acceso a la red y los sistemas de seguridad de autenticación para combatir los ataques de hackers.
Ah, la vieja pantalla de acceso (login). ¿Existe algún sistema seguro que esté completo sin una? Tanto si hablamos de la pantalla de registro de una Web o de un prompt de login en Unix, la mayoría de los sistemas de seguridad se basan en la validez de un único ID y una sola clave para determinar la identidad del usuario. Como éste es el único requisito de acceso, es conveniente examinar con lupa las prácticas de seguridad de su sistema de autenticación con el fin de descubrir cualquier vulnerabilidad y comprobar su resistencia ante posibles hackers.
Es muy común que los intrusos traten de utilizar la “fuerza bruta” para invadir el sistema y busquen identificadores y claves de usuario de uso frecuente. Una buena práctica es evitar identificadores de usuario que empleen términos como “admin”, “test”, “user” y cualquier otro nombre de usuario otorgado que provenga de serie.
En cuanto a las claves, es mejor evitar el propio ID del usuario y “password” o “clave”, “pass” “cont” y cualquier otra contraseña que venga de serie. Algunos sistemas hacen que sea fácil para los usuarios descubrir un ID válido porque despliegan un mensaje cuando falla el registro. Mensajes como “Invalid user ID” o “Nombre de usuario inválido” comunican a los hackers que pueden seguir intentando adivinar el ID correcto. Si el atacante acaba dando con un nombre de usuario válido, puede aparecer otro mensaje revelador: “Clave inválida”. Idealmente, el mensaje del sistema debería ser genérico, como “Invalid user ID or password” o “Nombre de usuario o contraseña inválida,” independientemente de la razón que impida el acceso. De lo contrario, el hacker podría enumerar un ID válido y tratar de adivinar la clave buscando una que sea débil, lo que nos trae al siguiente punto.
Las contraseñas débiles presentan una vulnerabilidad importante para los sistemas de autenticación. Siempre que sea posible, aplique reglas de contraseña en todos los sistemas de su red, especialmente en los que se encuentran en la frontera del sistema. Las reglas de contraseñas y cuentas deberían requerir, al menos, una combinación de letras y números además de especificar una largura mínima, el historial de la clave, bloqueos de cuenta y expiración de claves. Si es posible, establezca reglas que impidan crear una contraseña igual a la del nombre de usuario o que dejen usar el nombre o el apellido, ya que esto es muy fácil de adivinar. El objetivo es forzar a los usuarios a crear contraseñas robustas.
Para reforzar de verdad el mecanismo de autenticación, se debería implementar un sistema de dos o tres factores. La autenticación multifactor significa que hay que usar dos tipos de credenciales distintas para que se produzca la autenticación.
Existen tres categorías de factores de autenticación: posesión, conocimiento y cualidades personales. Cada factor del mecanismo de autenticación debería pertenecer a una categoría distinta. Dicho de otro modo, el nombre de usuario y la clave constituyen una clase de autenticación, ya que ambos elementos representan algo que usted sabe. Serían válidas combinaciones que incluyeran PIN y token de seguridad; huella dactilar y clave; y escáner de retina y prueba de voz.
Al mejorar los mecanismos de autenticación, lo que estamos haciendo es poner más trabas a la entrada de los hackers en sus sistemas. Con excepción de los sistemas de autenticación con múltiples factores, la implementación de estas recomendaciones cuesta poco o nada.
Acerca del autor. Vernon Habersetzer es presidente de la compañía i.e.security, especializada en consultoría y seminarios sobre seguridad. Habersetzer tiene siete años de experiencia en las trincheras de la seguridad, en entornos relacionados con la sanidad y el consumo.