Seguridad en el almacenamiento de las claves

Un tema muy interesante, y complejo, el de la seguridad.

Recomiendo la lectura del artículo How I became a password cracker.

Conclusión:

  • Mejor no usar MD5, mejor otra cosa como SHA256 o SHA512 (tendrás que cambiar la longitud del campo password).
  • Mejor usar un salt con el password: es un prefijo que se añade a todos los passwords y luego se pasa por la función de hash.
  • Mejor usar la función de hash varias veces, por ejemplo: SHA512(SHA512(SHA512(contraseña)))

¿Qué son las vulnerabilidades del software?

La guía ¿Qué son las vulnerabilidades del software? es un pequeño documento de 11 páginas publicado por INTECO que explica con un lenguaje claro y con ejemplos qué son las vulnerabilidades del software.

La descripción del artículo dice:

Una vulnerabilidad del software es un fallo de seguridad en una aplicación a través de la cual, un atacante puede llegar a comprometer la seguridad de todo el sistema sobre el que se ejecuta esa aplicación.
En el siguiente artículo el Observatorio INTECO explica qué son las vulnerabilidades del software, por qué ocurren, de qué factores dependen y cómo gestionarlas.

Desde el punto de vista del usuario, cuando se descubre una vulnerabilidad del software, lo más importante es saber cómo protegerse. En este sentido, son fundamentales las actualizaciones y parches de seguridad publicadas generalmente por los creadores de los programas informáticos. Finalmente, el documento aborda la gestión de vulnerabilidades por parte de INTECO y su servicio gratuito, a disposición de los usuarios, de un repositorio con información sobre cada una de las vulnerabilidades informáticas públicamente conocidas.

Problema grave de seguridad en la web del Banco Santander en el Reino Unido

Muy interesante la explicación del grave error que hay en la web del Banco Santander en el Reino Unido: Is it OK to hold credit card numbers in cookies? Santander?

Esta página deja por los suelos al Banco Santander:

Santander es una broma cuando se trata de seguridad. Hartos de dos años de batallar con ellos para solucionar problemas que cualquier otro banco habría solucionado en cuestión de segundos, cosas como XSS en la página de inicio de sesión, etc. Ya ha llegado la hora de divulgar a los cuatro vientos algunos de estos temas con la esperanza de que cambien  su juego y empiecen  a tomar en serio la seguridad de sus clientes.

Demoledor, y la verdad es que es así, porque si es cierto lo que se cuenta en esta página web, el Banco Santander almacena información sensible en cookies, con el peligro que eso supone.

Fallo de seguridad grave en Internet Explorer

Ayer los medios de comunicación se hicieron eco de un grave problema de seguridad que presenta el navegador Microsoft Internet Explorer:

La noticia dice:

Microsoft ha advertido de un fallo descubierto en su navegador Explorer que hace que los ordenadores sean vulnerables a los ataques de hackers y aconseja descargar un software de seguridad para reducir el riesgo de infección, que se llama EMET.

El fallo afecta a cientos de millones de usuarios del navegador Explorer en sus versiones 7, 8 y 9, las más utilizadas por sus partidarios. Microsoft ha asegurado que los atacantes pueden explotar el fallo para infectar el PC de alguien que visita un sitio web malicioso y después tomar el control del ordenador de la víctima. El virus se extendería entre losordenadores con los sistemas operativos XP, Vista y Windows 7.

Microsoft ha publicado El Kit de herramientas de Experiencia de mitigación mejorada como solución temporal para este problema.

La contraseña más difícil del mundo

Cuando lo he visto pensaba que era una broma, pero no, es cierto, en Windows te puede aparecer este aviso: Mensaje de error: La contraseña debe tener al menos 18770 caracteres y no puede repetir ninguna de las 30689 contraseñas anteriores.

Si tienes que escribir contraseñas de al menos 18.770 caracteres, y además tienes que recordar las 30.689 contraseñas anteriores que puedes haber utilizado, la cosa está difícil, muy difícil.

Qué hacer en una aplicación web para que no sea segura

El artículo Lessons in website security anti-patterns by Tesco emplea el sitio web de Tesco, como ejemplo que lo que no se debe hacer en una aplicación web. Paso a paso, muestra y explica multitud de errores de seguridad que presenta este sitio web de esta gran empresa.

Al final ofrece los siguientes consejos:

  1. Password storage should always be done using a strong hashing algorithm. IT should be one designed for password storage and also use a cryptographically random salt. It also must be a slow hashing algorithm – read Our password hashing has no clothes if this is a foreign concept.
  2. Password retrieval should never happen. Indeed it can’t if you’ve implemented the previous step correctly. Always implement a secure password reset process. Read Everything you ever wanted to know about building a secure password reset feature for some tips on this.
  3. Never mix HTTP content into your HTTPS pages. If HTTPS is important to you – and it should be – either explicitly refer to the HTTPS protocol in your references or even easier, use protocol relative URLs. There’s plenty of info in OWASP Top 10 for .NET developers part 9: Insufficient Transport Layer Protection.
  4. Always send authentication cookies over HTTPS. These are almost as valuable as the password itself; it gives anyone who holds them the rights to perform any tasks the user who originally authenticated to the system can. See the link in the previous point for more information.
  5. There should never be restrictions on password entropy. Don’t exclude special characters, don’t chop the length at a short, arbitrary limit (if you have to, make it 100 chars or so) and definitely don’t implement a system which is case-insensitive. See Who’s who of bad password practices – banks, airlines and more for more common mistakes.
  6. Ensure basic security configurations are correct. Tracing is off, custom errors are on, a default redirect page exists, debug mode is off, etc. This is obviously for ASP.NET, but there are parallels in other web stacks. Check your .NET apps with ASafaWeb.

La opción “Do Not Track” cabrea a los anunciantes online

En el artículo Ad Men and Browser Geeks Collide Over Web Protocols nos cuentan que los anunciantes online se están cabreando un poco ante la nueva opción que incorporarán las próximas versiones de los navegadores: Do Not Track (DNT). Esta es una opción que permitirá a los usuarios informar a los sitios web que no quieren que su actividad sea rastreada.

Para que está opción funcione, los sitios web deben de soportarla. Por ejemplo, en la página web Twitter Supports “Do Not Track” nos explican que Twitter soporta esta opción y además nos explican como activarla en diferentes navegadores.

En la página Do Not Track Test Page se muestra una comparativa de soporte de esta característica en los navegadores más populares. Curiosamente parece que por ahora Google Chrome no lo soporta. Seguramente será porque buena parte del negocio de Google se sustenta en su modelo de anuncios online AdWords.

¿Será esto el inicio de una nueva revolución? Cuando Mozilla Firefox incorporó la opción de bloquear las ventanas emergentes por defecto (pop-ups), fue una auténtica revolución, los anunciantes atacaron ferozmente a Mozilla, pero al final el resto de navegadores acabaron copiándolo y hoy en día las ventanas emergentes prácticamente han desaparecido.

Por último, en la página Do Not Track podemos encontrar el borrador de la especificación, formas de configurar los servidores, extensiones para navegadores, etc.

WebVulScan

WebVulScan es una herramienta que permite verificar la seguridad de aplicaciones web. Según parece, hace todo esto, lo cual es una pasada:

Vulnerabilities tested:

  • Reflected Cross-Site Scripting
  • Stored Cross-Site Scripting
  • Standard SQL Injection
  • Broken Authentication using SQL Injection
  • Autocomplete Enabled on Password Fields
  • Potentially Insecure Direct Object References
  • Directory Listing Enabled
  • HTTP Banner Disclosure
  • SSL Certificate not Trusted
  • Unvalidated Redirects

Features:

  • Crawler: Crawls a website to identify and display all URLs belonging to the website.
  • Scanner: Crawls a website and scans all URLs found for vulnerabilities.
  • Scan History: Allows a user to view or download PDF reports of previous scans that they performed.
  • Register: Allows a user to register with the web application.
  • Login: Allows a user to login to the web application.
  • Options: Allows a user to select which vulnerabilities they wish to test for (all are enabled by default).
  • PDF Generation: Dynamically generates a detailed PDF report.
  • Report Delivery: The PDF report is emailed to the user as an attachment.