Definiciones de seguridad front-end, ataques y mejores prácticas de seguridad front-end


La interfaz de una aplicación web es la primera parte que ve sin importar dónde mire. No sólo es lo primero que ven los usuarios habituales y los clientes potenciales, sino que también es lo primero que ven los atacantes. En otras palabras, es la puerta principal a la superficie de ataque.

Las demandas de seguridad inicial han aumentado significativamente durante la última década. Aunque los ataques contra el front-end de las aplicaciones web se han vuelto más sofisticados hoy en día, en el pasado la mayoría de los ataques eran simples y fáciles de detectar. Hoy en día, los ataques son cada vez más sigilosos, más difíciles de detectar y, a menudo, retrasados.

Adoptar técnicas proactivas, como abordar la seguridad desde el principio, mitigarla ocultándola y fomentar una cultura de ciberseguridad saludable dentro de su organización, puede reducir la superficie de ataque en el front-end de sus aplicaciones web.

Los 10 principales riesgos de seguridad front-end y las mejores prácticas para prevenirlos

Echemos un vistazo a algunos problemas comunes de seguridad del front-end. Veamos también cómo combatir y prevenir diferentes tipos de actores de amenazas utilizando las mejores prácticas de la industria.

1. Prevención de ataques de secuencias de comandos entre sitios (XSS)

Los ataques XSS son una de las formas de ataque más grandes y peligrosas. Se crea para inyectar código en una aplicación web y realizar acciones maliciosas cuando un usuario final accede a ella.

Los ataques XSS ocurren debido a una limpieza insuficiente de las entradas y salidas de las aplicaciones web, lo que puede conducir a una variedad de ataques.

ataque de clickjacking

Los ataques de clickjacking son uno de los tipos más importantes de ataques XSS porque simplemente reemplazan partes legítimas de una página web con elementos de apariencia similar pero peligrosos. Por ejemplo, un botón de pago se puede reemplazar con un botón que redirige al usuario a una página bancaria falsa, o un botón de descarga legítimo se puede reemplazar con un botón que conduce a la descarga de malware.

Robo de ubicación

En un ataque XSS, un atacante inyecta una biblioteca de JavaScript y la ejecuta en el lado del cliente para registrar la dirección IP, la ubicación y otra información personal de un usuario. Los atacantes pueden utilizar esto para dirigirse a los usuarios finales con estafas personalizadas y phishing.

minería de criptomonedas

Los ataques XSS también pueden inyectar código para realizar minería de criptomonedas en los dispositivos de los usuarios finales. Puede que ya parezca que un dispositivo se está ralentizando, pero con cientos o miles de usuarios accediendo a su aplicación web todos los días, los scripts de minería de criptomonedas que se ejecutan en su aplicación web pueden ser lentos. Esto significa que puede causar no solo lentitud sino también problemas de calentamiento. en los dispositivos de los usuarios antes de que se den cuenta. Este impacto en las aplicaciones web puede generar una experiencia negativa para los usuarios.

La protección contra ataques XSS se puede lograr desinfectando adecuadamente la entrada a su aplicación web y filtrando adecuadamente la entrada. Por ejemplo, restringir los números de teléfonos móviles a números únicamente o no permitir caracteres especiales en los nombres puede ser muy eficaz para prevenir la mayoría de los ataques de inyección en aplicaciones web.

2. Ataque DoS (denegación de servicio)

Los ataques DoS y DDoS contra aplicaciones web son comunes. Estos ataques también son difíciles de combatir porque aprovechan enjambres de sistemas comprometidos para enviar solicitudes a aplicaciones web.

Los ataques DoS que se originan en un único o pequeño número de sistemas a menudo pueden contrarrestarse simplemente bloqueando la dirección IP del sistema final.

Los ataques DDoS, por el contrario, son más difíciles de bloquear. Esto se debe a que un determinado ataque DDoS puede originarse en cientos o miles de sistemas al mismo tiempo. Esto significa enviar miles o millones de solicitudes a su aplicación web simultáneamente, lo que sobrecarga el sistema y ralentiza significativamente su aplicación web.

Introducir limitaciones de velocidad en sus aplicaciones web puede ayudar a prevenir este tipo de ataques. Considere servicios como CloudFlare o Imperva o soluciones basadas en hardware. Estos servicios le permiten filtrar los ataques antes de que alcancen los objetivos previstos.

3. Prevención de la falsificación de solicitudes entre sitios (CSRF)

Un ataque CSRF tiene como objetivo engañar a un usuario para que envíe un formulario y realice una acción diferente a la que el usuario desea realizar.

Por ejemplo, un usuario inicia sesión en una aplicación bancaria y simultáneamente navega por Internet. Luego, el usuario encuentra el botón “Descargar” y hace clic en él. En lugar de descargar nada, ese fatídico clic transfiere fondos de la cuenta bancaria del usuario al atacante.

Los ataques CSRF se pueden prevenir utilizando valores de token similares a md5sum o sha256sum de caracteres aleatorios. Este valor de token se genera en cada carga de página y se pasa al formulario a través de un encabezado HTTP cuando se envía el formulario.

Si falta el valor del token del encabezado o los tokens no coinciden, no se realiza ninguna acción y el usuario permanece seguro.

4. Uso de la política de seguridad de contenido (CSP)

El uso de políticas de seguridad de contenido es una forma eficaz de prevenir ataques XSS. Requiere un indicador HTTP que le indique al navegador en qué fuentes confiar y que se incruste como un iFrame dentro de su aplicación web.

Cualquier fuente o URL que no figure en el indicador de la Política de seguridad de contenido se descartará y no se incluirá ni se representará en el iFrame de la aplicación web.

Habilitar CSP en los encabezados HTTP es una forma valiosa de prevenir significativamente los ataques XSS. También proporciona una sólida protección contra ataques XSS comunes cuando se combina con X-Frame-Options.

5. Utilice marcos modernos

Las interfaces de aplicaciones web a menudo se crean utilizando marcos comúnmente disponibles. Estos marcos forman el núcleo del front-end de las aplicaciones web (los ciberdelincuentes ya lo saben). Las vulnerabilidades de seguridad dentro de este marco pueden comprometer toda la aplicación web.

Mejore la seguridad de sus aplicaciones web utilizando los marcos más recientes y actualizados con frecuencia. Estos marcos suelen incluir controladores de autenticación integrados y otras características de seguridad que ayudan a estandarizar las prácticas de seguridad necesarias para las aplicaciones web.

6. Auditar bibliotecas de terceros en uso

Las bibliotecas de terceros se utilizan en todas partes. Las bibliotecas de terceros reducen el tiempo de codificación y facilitan la implementación de nuevas funciones en sus aplicaciones web, pero las vulnerabilidades en estas bibliotecas de terceros también pueden afectar la seguridad general de sus aplicaciones web.

Por ejemplo, muchas aplicaciones web dependen de bibliotecas de terceros para gestionar la facturación y las compras de los clientes. Las vulnerabilidades en estas bibliotecas de facturación pueden generar múltiples problemas de seguridad en las aplicaciones web, incluida la filtración de información del usuario y la redirección de los usuarios a dominios de phishing para recuperar los detalles de la tarjeta.

Para aplicaciones web grandes, las bibliotecas de terceros suelen ser difíciles de rastrear y escanear manualmente, pero los escáneres de vulnerabilidades en línea pueden simplificar este proceso, automatizarlo e identificar vulnerabilidades. Podrá recibir alertas inmediatamente cuando se encuentre algo.

7. Integre la seguridad desde el principio

El desarrollo de una aplicación web suele llevar meses en lugar de años. Los desarrolladores van y vienen, los presupuestos cambian, las ideas cambian y la dirección de los proyectos cambia.

Durante todos estos cambios, garantizar la seguridad de su proyecto es el aspecto más importante a considerar para evitar el cibercrimen. Adoptar un enfoque que priorice la seguridad en sus proyectos desde el principio garantiza que sus proyectos permanezcan seguros sin importar los cambios que ocurran.

8. Evite los iFrames siempre que sea posible

iFrame le permite incluir y cargar otras páginas y marcos en vistas existentes, lo que facilita el proceso de desarrollo, pero iFrame se utiliza a menudo sin las X-Frame-Options adecuadas. Desafortunadamente, esto puede provocar ataques de clickjacking y comprometer la integridad de sus aplicaciones web.

Los ataques basados ​​en iFrame se utilizan para reproducir vídeos, abrir formularios maliciosos (que parecen legítimos), engañar a los usuarios para que descarguen contenido malicioso y alterar la experiencia general de una aplicación web.

9. Política de restricción de funciones disponibles

De forma predeterminada, una aplicación web puede acceder o solicitar cualquier función en el dispositivo de un usuario final. Si bien esta puede ser una característica útil durante la etapa de desarrollo, dejarla habilitada permite a los atacantes explotar su aplicación web y usar estas banderas/políticas de características sin restricciones para crear ataques legítimos por parte de la propia aplicación web, lo que puede requerir que usted habilite ciertas características por su parte. dispositivo del usuario que parecen estar disponibles en su dispositivo.

Usar el encabezado HTTP Feature-Policy es una excelente manera de evitar que dichas solicitudes se originen en su aplicación web.

Por ejemplo, configurar la siguiente Política de funciones alertará a los navegadores web de los usuarios finales para que no habiliten estas funciones, incluso si la aplicación web las solicita.

“Política de funciones”: Cámara ‘Ninguna’; Micrófono ‘Ninguna’;

10. Verificar que las bibliotecas obtenidas de CDN se sometan a comprobaciones de coherencia de los subrecursos

También es importante verificar si las bibliotecas cargadas a través de una CDN de terceros no se modifican de fábrica.

Muchas aplicaciones web cargan bibliotecas de CDN de terceros para acelerar la carga de páginas y mejorar el rendimiento general, pero a veces estas bibliotecas se ven comprometidas a través de ataques MITM o la CDN misma se ve comprometida. Al hacerlo, se puede cargar código malicioso en su aplicación web, lo que resulta en. una mala experiencia de usuario.

Por ejemplo:

[email protected]/dist/css/bootstrap.min.css” rel=”Stylesheet” Integrity=”sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl” Cross-origin=”Anónimo”>

El código anterior carga la popular biblioteca CSS Bootstrap, pero incluye parámetros de integridad, incluida una suma de verificación, que se puede verificar en el navegador. Esto garantiza que incluso si la CDN se ve comprometida y los archivos CSS se modifican, las sumas de verificación de integridad no coincidirán y los archivos no se mostrarán en el navegador del usuario.

Esto ayuda a proteger la reputación y la seguridad de su aplicación web y también garantiza la seguridad de sus usuarios, incluso a costa de reducir la calidad de representación de la página.

La seguridad frontal solo cubre parte de la superficie

Fortalecer su lista de verificación de seguridad de front-end no detiene sus esfuerzos de seguridad. Eso es sólo el comienzo. La superficie de ataque es un área mucho más grande que necesita ser analizada y protegida adecuadamente.

Soluciones como Attack Surface Intelligence de Recorded Future le permiten analizar otros aspectos de la seguridad backend, que incluyen:

conclusión

Proteger el front-end de las aplicaciones web se está convirtiendo en un factor cada vez más importante a considerar. Las aplicaciones enfrentan múltiples amenazas todos los días y, con todo, desde bots automatizados hasta ataques dirigidos, mantener segura la interfaz de sus aplicaciones es más importante que nunca.

Reforzar el front-end de una aplicación web sigue siendo un desafío, pero incorporar la seguridad desde el principio incluye marcos web modernos, políticas de seguridad de contenido, auditorías frecuentes, escaneo de bibliotecas de terceros en uso y análisis de superficies de ataque. tiene muchas más posibilidades de mantener segura la interfaz de su aplicación web.

Para proteger aún más su creciente superficie de ataque, explore el módulo Recorded Future Attack Surface Intelligence y programe una demostración hoy.



Fuente: https://www.recordedfuture.com/threat-intelligence-101/vulnerability-management-threat-hunting/front-end-security