Todos los sitios web de Internet son en cierto modo vulnerables a los ataques de seguridad. Las amenazas van desde los errores humanos hasta los sofisticados ataques de los ciberdelincuentes coordinados.
Según el Informe de Investigaciones de Violaciones de Datos de Verizon, la principal motivación de los ciberatacantes es financiera. Tanto si dirige un proyecto de comercio electrónico como un simple sitio web para una pequeña empresa, el riesgo de un posible ataque está ahí.
Es más importante que nunca saber a qué se enfrenta. Cada ataque malicioso a su sitio web tiene sus especificidades, y con una gama de diferentes tipos de ataques dando vueltas, podría parecer imposible defenderse contra todos ellos. Aun así, puede hacer mucho para asegurar su sitio web contra estos ataques y mitigar el riesgo de que los hackers malintencionados ataquen su sitio web.
Veamos con más detalle 10 de los ciberataques más frecuentes que ocurren en Internet y cómo puede proteger su sitio web contra ellos.
- Los 10 ataques más comunes a la seguridad de los sitios web
- Cross-Site Scripting (XSS)
- Ataques de inyección
- Fuzzing (o Fuzz Testing)
- Ataque de día cero
- Path (or Directory) Traversal
- Distributed Denial-of-Service (DDoS)
- Ataque de hombre en el medio
- Ataque de fuerza bruta
- Usar código desconocido o de terceros
- Phishing
- En conclusión
Los 10 ataques más comunes a la seguridad de los sitios web
Cross-Site Scripting (XSS)
Un estudio reciente de Precise Security descubrió que el ataque XSS es el ciberataque más común y constituye aproximadamente el 40% de todos los ataques. Aunque es el más frecuente, la mayoría de estos ataques no son muy sofisticados y son ejecutados por ciberdelincuentes aficionados que utilizan scripts que otros han creado.
El cross-site scripting se dirige a los usuarios de un sitio en lugar de a la propia aplicación web. El hacker malicioso inserta un fragmento de código en un sitio web vulnerable, que luego es ejecutado por el visitante del sitio web. El código puede comprometer las cuentas de los usuarios, activar caballos de Troya o modificar el contenido del sitio web para engañar al usuario para que facilite información privada.
Puede proteger su sitio web contra los ataques XSS configurando un cortafuegos de aplicaciones web (WAF). El WAF actúa como un filtro que identifica y bloquea cualquier petición maliciosa a su sitio web. Por lo general, las empresas de alojamiento web ya disponen de WAF cuando se adquiere su servicio, pero también puede configurarlo usted mismo.
Ataques de inyección
El Proyecto de Seguridad de Aplicaciones Web Abiertas (OWASP) en su última investigación Top Ten nombró los fallos de inyección como el factor de mayor riesgo para los sitios web. El método de inyección SQL es la práctica más popular utilizada por los ciberdelincuentes en esta categoría.
Los métodos de ataque de inyección se dirigen directamente al sitio web y a la base de datos del servidor. Cuando se ejecutan, el atacante inserta un trozo de código que revela datos ocultos y entradas del usuario, permite la modificación de datos y, en general, compromete la aplicación.
La protección de su sitio web contra los ataques basados en inyecciones se reduce principalmente a lo bien que haya construido su código base. Por ejemplo, la forma número uno de mitigar el riesgo de inyección SQL es utilizar siempre sentencias parametrizadas cuando estén disponibles, entre otros métodos. Además, puede considerar el uso de un flujo de trabajo de autenticación de terceros para externalizar la protección de su base de datos.
Fuzzing (o Fuzz Testing)
Los desarrolladores utilizan el fuzz testing para encontrar errores de codificación y lagunas de seguridad en el software, los sistemas operativos o las redes. Sin embargo, los atacantes pueden utilizar la misma técnica para encontrar vulnerabilidades en su sitio o servidor.
Funciona introduciendo inicialmente una gran cantidad de datos aleatorios (fuzz) en una aplicación para hacerla fallar. El siguiente paso es utilizar una herramienta de software fuzzer para identificar los puntos débiles. Si hay alguna brecha en la seguridad del objetivo, el atacante puede seguir explotándola.
La mejor manera de combatir un ataque de fuzzing es mantener su seguridad y otras aplicaciones actualizadas. Esto es especialmente cierto para cualquier parche de seguridad que salga con una actualización que los perpetradores puedan explotar si aún no has hecho la actualización.
Ataque de día cero
Un ataque de día cero es una extensión de un ataque de fuzzing, pero no requiere identificar puntos débiles per se. El caso más reciente de este tipo de ataque fue identificado por el estudio de Google, donde identificaron potenciales exploits de día cero en el software de Windows y Chrome.
Hay dos escenarios de cómo los hackers maliciosos pueden beneficiarse del ataque de día cero. El primer caso es que si los atacantes pueden obtener información sobre una próxima actualización de seguridad, pueden aprender dónde están las lagunas antes de que la actualización se ponga en marcha. En el segundo escenario, los ciberdelincuentes obtienen la información del parche y se dirigen a los usuarios que aún no han actualizado sus sistemas. En ambos casos, su seguridad se ve comprometida, y el daño posterior depende de las habilidades de los perpetradores.
La forma más fácil de protegerse a sí mismo y a su sitio web contra los ataques de día cero es actualizar su software inmediatamente después de que los editores impulsen una nueva versión.
Path (or Directory) Traversal
Un ataque path traversal no es tan común como los métodos de hacking anteriores, pero sigue siendo una amenaza considerable para cualquier aplicación web.
Los ataques path traversal tienen como objetivo la carpeta raíz de la web para acceder a archivos o directorios no autorizados fuera de la carpeta objetivo. El atacante intenta inyectar patrones de movimiento dentro del directorio del servidor para ascender en la jerarquía. Un path traversal exitoso puede comprometer el acceso al sitio, los archivos de configuración, las bases de datos y otros sitios web y archivos en el mismo servidor físico.
Proteger su sitio contra un ataque de path traversal se reduce a su sanitización de entrada. Esto significa mantener las entradas del usuario seguras e irrecuperables desde su servidor. La sugerencia más directa aquí es construir su código base para que cualquier información de un usuario no pase a las APIs del sistema de archivos. Sin embargo, si eso no es posible, hay otras soluciones técnicas.
Distributed Denial-of-Service (DDoS)
El ataque DDoS por sí solo no permite al hacker malintencionado violar la seguridad, pero dejará el sitio fuera de línea temporal o permanentemente. La encuesta de riesgos de seguridad informática de Kaspersky Lab en 2017 concluyó que un solo ataque DDoS cuesta a las pequeñas empresas 123 mil dólares y a las grandes 2,3 millones de dólares de media.
El ataque DDoS tiene como objetivo abrumar el servidor web del objetivo con peticiones, haciendo que el sitio no esté disponible para otros visitantes. Una red de bots suele crear un gran número de peticiones, que se distribuyen entre los ordenadores previamente infectados. Además, los ataques DDoS se utilizan a menudo junto con otros métodos; el objetivo del primero es distraer a los sistemas de seguridad mientras se explota una vulnerabilidad.
La protección de su sitio contra un ataque DDoS suele tener varias facetas. En primer lugar, hay que mitigar los picos de tráfico utilizando una red de distribución de contenidos (CDN), un equilibrador de carga y recursos escalables. En segundo lugar, también es necesario desplegar un cortafuegos de aplicaciones web en caso de que el ataque DDoS esté ocultando otro método de ciberataque, como una inyección o XSS.
Ataque de hombre en el medio
Los ataques de hombre en el medio son comunes entre los sitios que no han cifrado sus datos mientras viajan desde el usuario a los servidores. Como usuario, puede identificar un riesgo potencial examinando si la URL del sitio web comienza con un HTTPS, donde la «S» implica que los datos están siendo encriptados.
Los atacantes utilizan el tipo de ataque man-in-the-middle para recopilar información (a menudo sensible). El agresor intercepta los datos mientras se transfieren entre dos partes. Si los datos no están encriptados, el atacante puede leer fácilmente los datos personales, de inicio de sesión u otros detalles sensibles que viajan entre dos lugares de Internet.
Una forma sencilla de mitigar el ataque del hombre en el medio es instalar un certificado de capa de sockets seguros (SSL) en su sitio. Este certificado encripta toda la información que viaja entre las partes para que el atacante no pueda entenderla fácilmente. Normalmente, la mayoría de los proveedores de alojamiento modernos ya incluyen un certificado SSL con su paquete de alojamiento.
Ataque de fuerza bruta
Un ataque de fuerza bruta es un método muy directo para acceder a la información de acceso de una aplicación web. También es uno de los más fáciles de mitigar, especialmente desde el lado del usuario.
El asaltante intenta adivinar la combinación de nombre de usuario y contraseña para acceder a la cuenta del usuario. Por supuesto, incluso con varios ordenadores, esto puede llevar años a no ser que la contraseña sea muy simple y obvia.
La mejor manera de proteger la información de acceso es creando una contraseña fuerte o utilizando la autenticación de dos factores (2FA). Como propietario de un sitio, puede exigir a sus usuarios que configuren ambas cosas para mitigar el riesgo de que un ciberdelincuente adivine la contraseña.
Usar código desconocido o de terceros
Aunque no se trata de un ataque directo a su sitio, utilizar código no verificado creado por una tercera persona puede provocar una grave brecha de seguridad.
El creador original de un fragmento de código o de una aplicación ha ocultado una cadena maliciosa dentro del código o ha dejado una puerta trasera sin saberlo. A continuación, incorpora el código «infectado» a su sitio, y entonces se ejecuta o se explota la puerta trasera. Los efectos pueden ir desde una simple transferencia de datos hasta la obtención de acceso administrativo a su sitio.
Para evitar riesgos en torno a una posible brecha, haga siempre que sus desarrolladores investiguen y auditen la validez del código. Además, asegúrate de que los plugins que utilizas (especialmente los de WordPress) están actualizados y reciben regularmente parches de seguridad: la investigación muestra que más de 17.000 plugins de WordPress (o alrededor del 47% de los plugins de WordPress en el momento del estudio) no habían sido actualizados en dos años.
Phishing
El phishing es otro método de ataque que no está directamente dirigido a los sitios web, pero tampoco podíamos dejarlo fuera de la lista, ya que todavía puede comprometer la integridad de tu sistema. La razón es que el phishing es, según el Informe de Delitos en Internet del FBI, el ciberdelito de ingeniería social más común.
La herramienta estándar utilizada en los intentos de phishing es el correo electrónico. Los asaltantes suelen enmascararse como alguien que no son e intentan que sus víctimas compartan información sensible o realicen una transferencia bancaria. Este tipo de ataques puede ser extravagante, como la estafa 419 (que forma parte de la categoría de fraude por adelantado), o más sofisticado, con direcciones de correo electrónico falsas, sitios web aparentemente auténticos y un lenguaje persuasivo. Este último es más conocido como Spear phishing.
La forma más eficaz de mitigar el riesgo de una estafa de phishing es formando a su personal y a usted mismo para que puedan identificar estos intentos. Compruebe siempre si la dirección de correo electrónico del remitente es legítima, el mensaje no es extraño y la solicitud no es extraña. Y, si es demasiado bueno para ser verdad, probablemente lo sea.
En conclusión
Los ataques a su sitio web pueden adoptar muchas formas, y los atacantes que están detrás pueden ser aficionados o profesionales coordinados.
La clave es no saltarse las características de seguridad al crear o ejecutar su sitio porque puede tener consecuencias nefastas.
Si bien no es posible eliminar por completo el riesgo de un ataque a un sitio web, al menos puede mitigar la posibilidad y la gravedad del resultado.
Sobre el autor: Gert Svaiko es un redactor profesional que trabaja con empresas de ciberseguridad en Estados Unidos y la UE. Puede ponerse en contacto con él en LinkedIn.
Nota del editor: Las opiniones expresadas en este artículo de autor invitado son únicamente las del colaborador, y no reflejan necesariamente las de Tripwire, Inc.