TODO SOBRE LOS ATAQUES DE INYECCIÓN SQL: QUÉ SON Y CÓMO EVITARLOS
Hoy en día, las infraestructuras web se han convertido en la piedra angular sobre la giran la mayoría de empresas. Sus funcionalidades abarcan los cimientos de cualquier actividad empresarial ya que sirven tanto para alojar webs utilizadas como carta de presentación, como para ofrecer servicios e información a los usuarios y clientes.
Los ciberdelincuentes son conscientes de todas estas cualidades y del potencial que tienen todos los datos almacenados. En las infraestructuras webs se acumulan millones de datos que no son accesibles para todo el mundo, está información es la que despierta el interés de los ciberdelincuentes ya que puede ser vendida en el mercado negro o “dark web”, y también puede servir para extorsionar a la empresa, desprestigiar su reputación o ser analizada y utilizada para cualquier otro objetivo que permita acabar obteniendo un beneficio.
Debido a esto, la importancia de tener una infraestructura web segura y capaz de frenar ataques es muy importante, sobre todo si lo que se ofrecen con esa infraestructura son servicios o almacenamiento de información.
Uno de los ataques que van destinados a las infraestructuras web son los de inyección SQL, en inglés “SQL injection”. Mediante este tipo de ofensivas los ciberdelincuentes lo que pretenden es acceder a las bases de datos para extraer la información que contienen o en algunas ocasiones alterar y destruir la información que guardan en su interior.
Las siglas SQL, vienen del inglés y significan: Structured Query Language. Se trata de un lenguaje de programación diseñado para gestionar y administrar la información que se almacena en las bases de datos relacionales, que son las que almacenan y proporcionan acceso a puntos de datos relacionados entre sí a través de tablas.
Mediante dicho lenguaje se pueden generar bases de datos utilizadas por numerosos programas y plataformas web, pero también se pueden realizar consultas a las propias bases de datos para obtener la información que estas contienen. En el caso de las páginas web, este tipo de consultas se generan a través de los datos que se introducen en los distintos formularios como pueden ser los de registro, inicio de sesión o realizaciones de pagos.
Este tipo de ataques se lanzan comúnmente sobre formularios que se encuentran dentro de las páginas web, los cuales realizan consultas a la base de datos con el fin de obtener los resultados. Si este tipo de formularios no están configurados de manera correcta y no validan las consultas debidamente, podrían facilitar y permitir que se inyectasen comandos SQL en la base de datos.
Para evitar este tipo de ataques, desde el Instituto Nacionales de Ciberseguridad (INCIBE) proponen distintos mecanismos:
· Escapar los comandos. Se trata de evitar que el formulario sea capaz de procesar ciertos caracteres o códigos específicos de la sintaxis propia del lenguaje SQL. Lo que se hace es aplicar un filtro sobre los campos del formulario que impide que los caracteres o palabras no permitidos sean capaces de llegar a la base de datos en forma de consulta.
· Verificar los datos. Con este mecanismo se pretende verificar que los datos e información que solicitan los usuarios van acorde con lo esperado. Si un usuario solicita, por ejemplo, una dirección de correo, la verificación debe constatar que el tipo de dato que se le va a facilitar es el que se espera por una dirección de correo y no otro tipo de dato, como podrían ser el número de teléfono o la contraseña.
· Evitar la exposición. Muchas veces el problema reside en dejar accesibles a Internet bases de datos internas. Este tipo de errores puede facilitar a los ciberdelincuentes tener acceso a información confidencial y crítica de la empresa. Por ello, lo mejor es mantener estas bases de datos aisladas en la red interna de la empresa.
· Uso de herramientas de análisis. Actualmente, existen herramientas automatizadas de análisis gracias las cuales se puede comprobar la seguridad de los formularios que se realizan en la página web, de esta manera encontrar posibles fallos de seguridad es mucho más fácil.
·