Ciberseguridad: SQLi, XSS y CSRF, las principales vulnerabilidades que pueden afectar a tu ecommerce
Un eCommerce por definición, es una tienda online que vende sus servicios o productos por medio de Internet, esto además de atraer clientes legítimos puede captar la atención de ciberdelincuentes. Estos últimos, cuentan con multitud de herramientas con las que poder comprometer la seguridad de la tienda en su propio beneficio, para ello generalmente suelen explotar vulnerabilidades presentes en la tienda a causa de no instalar actualizaciones, configuraciones por defecto, etc.
Vulnerabilidad SQLi
La vulnerabilidad más destacada por su relativa facilidad de explotación y las graves consecuencias que puede tener para la tienda y toda la información que gestiona es la inyección SQL, también conocida como SQLi.
La mayoría de portales generalmente cuentan con una base de datos donde se guarda una gran cantidad de información que abarca multitud de elementos de la tienda como por ejemplo los usuarios y contraseñas, datos de productos o servicios a la venta e incluso información personal y bancaria de los clientes. Para extraer esa información de la base de datos, el CMS que gestiona la tienda realiza diversas consultas a través del código con el que se ha programado la web. Dichas consultas, en caso de no encontrarse debidamente formadas o no controlar los caracteres de entrada en los formularios del portal, podrían ser explotadas por los ciberdelincuentes.
Pongamos por ejemplo la página de inicio de sesión donde los clientes de la tienda introducen su usuario y contraseña para acceder a su área personal. El CMS realizará una consulta contra la base de datos preguntando si las credenciales introducidas son correctas. Si la consulta es afirmativa, es decir tanto el usuario como la contraseña coinciden, el cliente podrá acceder a su área personal, en caso negativo denegará el acceso. Si esta consulta contra la base de datos no estuviera correctamente programada, un ciberdelincuente podría alterarla para mostrar otro tipo de información presente en la base de datos, como por ejemplo un listado con todos los usuarios existente y sus respectivas contraseñas. Pero además de mostrar información los ciberdelincuentes podrían añadir, eliminar o modificar la información. Siguiendo con el ejemplo de los usuarios, un ciberdelincuente podría crear una consulta para añadir un nuevo usuario con permisos de administrador al eCommerce, con los consiguientes riesgos para la seguridad que esto traería.
Cross-site Scripting «XSS»
La siguiente vulnerabilidad que trataremos es la denominada ejecución de comandos en sitios cruzados o Cross-site Scripting «XSS». Las vulnerabilidades XSS pueden ser de dos tipos, reflejada o persistente.
- En el primer caso los ciberdelincuentes no consiguen modificar el código del portal web aunque su explotación puede tener graves consecuencias para los usuarios, como por ejemplo el robo de sesión.
- El segundo tipo la vulnerabilidad se hace persistente, es decir, consigue modificar el código de la web, normalmente en la base de datos, para realizar cualquier acción maliciosa como robar datos bancarios o mostrar publicidad no autorizada. Al igual que sucede con los ataques SQLi este tipo de vulnerabilidad se origina cuando un ciberdelincuente consigue añadir código malicioso en alguna parte de la tienda, siendo las principales vías de entrada los formularios que permiten a los usuarios introducir datos de entrada.
Vulnerabilidad CSRF o Cross-site request forgery
Por último pero no por ello menos peligrosa para la seguridad de la tienda está la vulnerabilidad CSRF, del inglés Cross-site request forgery. Para entender esta vulnerabilidad supongamos que un usuario tiene abierto en su navegador una página web vulnerable a este ataque y otra web legítima como por ejemplo su cuenta de correo, dicha web vulnerable a CSRF por medio de un código malicioso previamente introducido, podría llevar a cabo una acción en la otra página legítima sin que el usuario sea consciente de ello. En este tipo de ataque los ciberdelincuentes suplantan la identidad de la víctima pudiendo llevar a cabo multitud de acciones maliciosas como por ejemplo alterar configuraciones en cuentas de correo o realizar movimientos bancarios no autorizados.
Para las vulnerabilidades descritas, y otras muchas que no han sido tratadas en este artículo, la principal vía para proteger el portal de eCommerce es contar con una correcta política de actualizaciones, la utilización de APIs de seguridad para validar los datos de entrada, etc.
Destacar que cuando una tienda electrónica cuenta con todos sus componentes actualizados a la última versión liberada por el desarrollador, la probabilidad de sufrir uno de estos ataques se reduce considerablemente. Esto es debido a que los fabricantes además de mejorar las funcionalidades del CMS encargado de gestionar la tienda, buscan vulnerabilidades y las corrigen mediante las respectivas actualizaciones de seguridad. En consecuencia, un eCommerce que cuente con todos sus componentes actualizados a la última versión probablemente estará menos expuesto a este tipo de problemas.
Ya sea por medio de ataques SQLi, XSS o CSRF, los ciberdelincuentes cuentan con muchas tácticas, técnicas y procedimientos con las que dañar la seguridad de la tienda, pero con las medidas adecuadas, la caja de herramientas de los ciberdelincuentes se recudirá considerablemente.