Más de 180 mil websites afectados por ataque de SQL Injection

Si, otro ataque masivo por SQL Injection dando vueltas por el mundo… Ya ha afectado a más de 180 mil sitios en ASP .NET. El artículo de referencia tiene información bastante decente acerca del ataque. Sin embargo, no da muchas luces de cómo protegernos de un ataque por SQL Injection.

    «No hay manera sencilla de arreglar la vulnerabilidad en la base de datos atacada, excepto ‘endurecer’ la base de datos aplicando las actualizaciones y que los requerimientos de seguridad sean consistentes. Monitorear la base de datos buscando actividad inusual también es importante».

Actualizar (o parchar) SQL Server NO PREVENDRÁ un ataque por SQL Injection, para nada. SQL Server no es el vector de ataque para SQL Injection, la aplicación web lo es. Para cuando el ataque llegue a la base de datos SQL Server (o cualquier base de datos) será muy tarde.

En realidad es bastante fácil protegerse de un ataque por SQL Injection. Solo dejen de usar código SQL generado dinámicamente y usen consultas parametrizadas en su lugar. Eso es todo, ese es el GRAN secreto. Si, se entiende que escribir código .NET como consultas parametrizadas es más difícil que hacerlo solo usando concatenación, pero que ataquen el sitio y coloquen malware en los equipos de los clientes porque quisimos ahorrarnos un poco de tiempo… no sé si será buena excusa.

Como este articulo está basado en el Blog de Denny Cherry (con su autorización), y él tiene un libro llamado «Securing SQL Server». Es lógico que al menos promocione su libro. En el libro (que yo compré para mi Kindle), explica cómo usar consultas parametrizadas. No es tan difícil y hay varios ejemplos de cómo hacerlo. No se necesita usar procedimientos almacenados para usar consultas parametrizadas. Se puede hacer usando SQL dinámico, funciona básicamente igual.

En caso que aún no se convenzan… las consultas parametrizadas son la UNICA FORMA de estar 100% seguros de estar protegidos contra ataques por SQL Injection.

Saludos,

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *