Los codificadores conquistan la seguridad: Share & Learn Series - Protección insuficiente de la capa de transporte

Publicado el 27 de junio de 2019
por Jaap Karan Singh
ESTUDIO DE CASO

Los codificadores conquistan la seguridad: Share & Learn Series - Protección insuficiente de la capa de transporte

Publicado el 27 de junio de 2019
por Jaap Karan Singh
Ver recurso
Ver recurso

Incluso si se ha asegurado completamente un servidor de aplicaciones y los sistemas backend que utiliza, las comunicaciones podrían seguir siendo vulnerables al espionaje si no se cuenta con suficiente protección de la capa de transporte. En el mundo físico, la razón por la que las divisas se mueven utilizando vehículos blindados es para proporcionar protección mientras están en tránsito. En realidad, no importa lo segura que sea una tienda o un banco si el dinero que genera se carga en un carro de golf para atravesar la ciudad.

Lo mismo puede decirse de las capas de transporte en el ámbito cibernético. Aunque una aplicación sea segura, sigue existiendo una vulnerabilidad crítica si la información que entra en ella se envía sin protección. Y hay una segunda vulnerabilidad con algunas aplicaciones si además envían información a otros servidores o a una base de datos. Esa información puede quedar expuesta a personas internas que no tienen por qué husmear en esas transacciones.

Para proteger completamente a los usuarios y los datos es necesario proteger la capa de transporte. Solo así se puede asegurar por completo una transacción de extremo a extremo.

En este episodio, aprenderemos:

  • Cómo los piratas informáticos pueden aprovecharse de una protección insuficiente de la capa de transporte
  • Por qué es tan peligroso no proteger la capa de transporte
  • Qué se puede hacer para asegurar el transporte de todos los datos que entran y pasan por una aplicación o servidor.

¿Cómo aprovechan los atacantes la insuficiente protección de la capa de transporte?

Una protección insuficiente de la capa de transporte puede permitir ataques en dos puntos del flujo de datos. El punto más comúnmente explotado se encuentra entre el usuario y el servidor de aplicaciones. Si la información se envía en claro, o con un cifrado débil, los piratas informáticos podrán controlar, robar y posiblemente cambiar esa información. Esto podría permitir a los hackers robar la tarjeta de crédito de un usuario, sus credenciales de acceso o cualquier otra cosa enviada al servidor de aplicaciones. Incluso si el propio servidor es seguro, un hacker que supervise el canal inseguro entre éste y los usuarios podría obtener un acceso casi ilimitado a mucha información.

El segundo punto que suele quedar sin protección es la capa de transporte entre una aplicación y el resto de la red. Por ejemplo, un servidor de aplicaciones puede procesar pedidos de compras en línea y luego enviarlos a un sistema de cumplimiento, o los datos pueden ser simplemente descargados a una base de datos para su almacenamiento. Si esos canales internos están desprotegidos, los usuarios internos podrían ver esa información.

Aunque es agradable creer que todos los usuarios internos son buenas personas, el hecho es que las amenazas internas están aumentando en muchas industrias. Se ha sorprendido a usuarios internos aceptando sobornos a cambio de recoger información sensible para atacantes o competidores. Y tener acceso a algo como miles de tarjetas de crédito válidas puede ser simplemente demasiado tentador para que algunas personas lo ignoren.

En cuanto a las técnicas de ataque, no es muy difícil interceptar comunicaciones no protegidas. Incluso los hackers de bajo nivel saben cómo realizar ataques man-in-the-middle contra flujos de datos no cifrados. Si no lo saben, hay vídeos en línea que pueden entrenarlos en menos de media hora.

¿Por qué son tan peligrosas las vulnerabilidades de la protección de la capa de transporte?

Tener una protección insuficiente o inexistente en las capas de transporte es peligroso porque facilita enormemente a los hackers la obtención de información sensible. No tienen que entrar en el servidor de su aplicación o hackear su red. Basta con que preparen un ataque de hombre en el medio y lean todo lo que los usuarios envían a un servidor. Esto puede incluir nombres de usuario y contraseñas que pueden ser utilizados para burlar la seguridad en el futuro utilizando credenciales válidas. Dependiendo de la aplicación, esto también podría incluir información de tarjetas de crédito u otros datos personales de los usuarios.

Y es importante tener en cuenta que todo este fisgoneo tiene lugar fuera de su red. Si estás utilizando canales de transporte inseguros, no hay manera de saber si alguien está capturando esa información. Normalmente la primera señal es cuando muchos usuarios comienzan a reportar cuentas comprometidas o compras con tarjeta de crédito, y el factor común es que su aplicación " no es un buen lugar para estar. Los hackers también pueden modificar la información una vez que la tienen, cambiando la dirección de entrega, por ejemplo, o incluso insertando scripts maliciosos en la respuesta del servidor antes de pasarla a los usuarios.

En el backend, la falta de seguridad de la capa de transporte expone los datos a personas con información privilegiada. Probablemente es mucho menos probable que un interno esté fisgoneando la capa de transporte en comparación con los hackers del exterior que hacen lo mismo. Pero también es más peligroso si ocurre, porque la amenaza interna podrá ver no sólo los datos del usuario, sino también cualquier información propietaria añadida por el servidor de la aplicación antes de enviar esos paquetes.

Eliminación de las vulnerabilidades de la protección de la capa de transporte insuficiente

A pesar de lo peligrosa que puede ser una protección insuficiente de la capa de transporte, tampoco es increíblemente difícil asegurar adecuadamente todos sus canales de transporte. Comienza con la infraestructura del backend. Esta debe ser exclusivamente HTTPS, asegúrese de no mezclar HTTPS y HTTP en un sitio. Por último, mantenga un certificado SSL válido con un tamaño de clave mínimo de 2048 bits y obligue a todos los usuarios a interactuar utilizando navegadores seguros con HTTP Strict Transport Security (HSTS).

Una vez establecida la infraestructura, los desarrolladores deben utilizar un protocolo fuerte para proteger la capa de transporte. Lo ideal sería utilizar TLS 1.2, aunque TLS 1.1 y 1.0 también son aceptables si es absolutamente necesario. Una vez que esto esté en su lugar, los protocolos débiles como SSLv2 deben ser completamente desactivados y nunca apoyados.

También hay que tener cuidado de que los cifrados criptográficos sean lo suficientemente potentes en el backend. Lo ideal es que el tamaño mínimo de la clave de sesión sea de 128 bits. Al igual que con los protocolos, el soporte para algoritmos criptográficos débiles como DES y RC4-40 debería estar desactivado. Y por último, no consideres una aplicación realmente segura hasta que tanto el propio servidor como todas las rutas de datos que entran y salen de él estén suficientemente protegidos.

Más información sobre las vulnerabilidades de la protección de la capa de transporte insuficiente

Para más información, puedes echar un vistazo a la guía OWASP para proteger las capas de transporte. También puedes poner a prueba tus nuevos conocimientos defensivos con la demostración gratuita de la plataforma Secure Code Warrior , que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para saber más sobre cómo derrotar esta vulnerabilidad, y una galería de pícaros de otras amenazas, visite el blogSecure Code Warrior .

Ver recurso
Ver recurso

Autor

Jaap Karan Singh

¿Quieres más?

Sumérjase en nuestras últimas ideas sobre codificación segura en el blog.

Nuestra amplia biblioteca de recursos tiene como objetivo potenciar el enfoque humano de la mejora de la codificación segura.

Ver blog
¿Quieres más?

Obtenga las últimas investigaciones sobre la seguridad impulsada por los desarrolladores

Nuestra amplia biblioteca de recursos está repleta de recursos útiles, desde libros blancos hasta seminarios web, que le ayudarán a iniciarse en la codificación segura orientada a los desarrolladores. Explórela ahora.

Centro de recursos

Los codificadores conquistan la seguridad: Share & Learn Series - Protección insuficiente de la capa de transporte

Publicado el 27 de junio de 2019
Por Jaap Karan Singh

Incluso si se ha asegurado completamente un servidor de aplicaciones y los sistemas backend que utiliza, las comunicaciones podrían seguir siendo vulnerables al espionaje si no se cuenta con suficiente protección de la capa de transporte. En el mundo físico, la razón por la que las divisas se mueven utilizando vehículos blindados es para proporcionar protección mientras están en tránsito. En realidad, no importa lo segura que sea una tienda o un banco si el dinero que genera se carga en un carro de golf para atravesar la ciudad.

Lo mismo puede decirse de las capas de transporte en el ámbito cibernético. Aunque una aplicación sea segura, sigue existiendo una vulnerabilidad crítica si la información que entra en ella se envía sin protección. Y hay una segunda vulnerabilidad con algunas aplicaciones si además envían información a otros servidores o a una base de datos. Esa información puede quedar expuesta a personas internas que no tienen por qué husmear en esas transacciones.

Para proteger completamente a los usuarios y los datos es necesario proteger la capa de transporte. Solo así se puede asegurar por completo una transacción de extremo a extremo.

En este episodio, aprenderemos:

  • Cómo los piratas informáticos pueden aprovecharse de una protección insuficiente de la capa de transporte
  • Por qué es tan peligroso no proteger la capa de transporte
  • Qué se puede hacer para asegurar el transporte de todos los datos que entran y pasan por una aplicación o servidor.

¿Cómo aprovechan los atacantes la insuficiente protección de la capa de transporte?

Una protección insuficiente de la capa de transporte puede permitir ataques en dos puntos del flujo de datos. El punto más comúnmente explotado se encuentra entre el usuario y el servidor de aplicaciones. Si la información se envía en claro, o con un cifrado débil, los piratas informáticos podrán controlar, robar y posiblemente cambiar esa información. Esto podría permitir a los hackers robar la tarjeta de crédito de un usuario, sus credenciales de acceso o cualquier otra cosa enviada al servidor de aplicaciones. Incluso si el propio servidor es seguro, un hacker que supervise el canal inseguro entre éste y los usuarios podría obtener un acceso casi ilimitado a mucha información.

El segundo punto que suele quedar sin protección es la capa de transporte entre una aplicación y el resto de la red. Por ejemplo, un servidor de aplicaciones puede procesar pedidos de compras en línea y luego enviarlos a un sistema de cumplimiento, o los datos pueden ser simplemente descargados a una base de datos para su almacenamiento. Si esos canales internos están desprotegidos, los usuarios internos podrían ver esa información.

Aunque es agradable creer que todos los usuarios internos son buenas personas, el hecho es que las amenazas internas están aumentando en muchas industrias. Se ha sorprendido a usuarios internos aceptando sobornos a cambio de recoger información sensible para atacantes o competidores. Y tener acceso a algo como miles de tarjetas de crédito válidas puede ser simplemente demasiado tentador para que algunas personas lo ignoren.

En cuanto a las técnicas de ataque, no es muy difícil interceptar comunicaciones no protegidas. Incluso los hackers de bajo nivel saben cómo realizar ataques man-in-the-middle contra flujos de datos no cifrados. Si no lo saben, hay vídeos en línea que pueden entrenarlos en menos de media hora.

¿Por qué son tan peligrosas las vulnerabilidades de la protección de la capa de transporte?

Tener una protección insuficiente o inexistente en las capas de transporte es peligroso porque facilita enormemente a los hackers la obtención de información sensible. No tienen que entrar en el servidor de su aplicación o hackear su red. Basta con que preparen un ataque de hombre en el medio y lean todo lo que los usuarios envían a un servidor. Esto puede incluir nombres de usuario y contraseñas que pueden ser utilizados para burlar la seguridad en el futuro utilizando credenciales válidas. Dependiendo de la aplicación, esto también podría incluir información de tarjetas de crédito u otros datos personales de los usuarios.

Y es importante tener en cuenta que todo este fisgoneo tiene lugar fuera de su red. Si estás utilizando canales de transporte inseguros, no hay manera de saber si alguien está capturando esa información. Normalmente la primera señal es cuando muchos usuarios comienzan a reportar cuentas comprometidas o compras con tarjeta de crédito, y el factor común es que su aplicación " no es un buen lugar para estar. Los hackers también pueden modificar la información una vez que la tienen, cambiando la dirección de entrega, por ejemplo, o incluso insertando scripts maliciosos en la respuesta del servidor antes de pasarla a los usuarios.

En el backend, la falta de seguridad de la capa de transporte expone los datos a personas con información privilegiada. Probablemente es mucho menos probable que un interno esté fisgoneando la capa de transporte en comparación con los hackers del exterior que hacen lo mismo. Pero también es más peligroso si ocurre, porque la amenaza interna podrá ver no sólo los datos del usuario, sino también cualquier información propietaria añadida por el servidor de la aplicación antes de enviar esos paquetes.

Eliminación de las vulnerabilidades de la protección de la capa de transporte insuficiente

A pesar de lo peligrosa que puede ser una protección insuficiente de la capa de transporte, tampoco es increíblemente difícil asegurar adecuadamente todos sus canales de transporte. Comienza con la infraestructura del backend. Esta debe ser exclusivamente HTTPS, asegúrese de no mezclar HTTPS y HTTP en un sitio. Por último, mantenga un certificado SSL válido con un tamaño de clave mínimo de 2048 bits y obligue a todos los usuarios a interactuar utilizando navegadores seguros con HTTP Strict Transport Security (HSTS).

Una vez establecida la infraestructura, los desarrolladores deben utilizar un protocolo fuerte para proteger la capa de transporte. Lo ideal sería utilizar TLS 1.2, aunque TLS 1.1 y 1.0 también son aceptables si es absolutamente necesario. Una vez que esto esté en su lugar, los protocolos débiles como SSLv2 deben ser completamente desactivados y nunca apoyados.

También hay que tener cuidado de que los cifrados criptográficos sean lo suficientemente potentes en el backend. Lo ideal es que el tamaño mínimo de la clave de sesión sea de 128 bits. Al igual que con los protocolos, el soporte para algoritmos criptográficos débiles como DES y RC4-40 debería estar desactivado. Y por último, no consideres una aplicación realmente segura hasta que tanto el propio servidor como todas las rutas de datos que entran y salen de él estén suficientemente protegidos.

Más información sobre las vulnerabilidades de la protección de la capa de transporte insuficiente

Para más información, puedes echar un vistazo a la guía OWASP para proteger las capas de transporte. También puedes poner a prueba tus nuevos conocimientos defensivos con la demostración gratuita de la plataforma Secure Code Warrior , que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para saber más sobre cómo derrotar esta vulnerabilidad, y una galería de pícaros de otras amenazas, visite el blogSecure Code Warrior .

Nos gustaría contar con su permiso para enviarle información sobre nuestros productos y/o temas relacionados con la codificación segura. Siempre trataremos sus datos personales con el máximo cuidado y nunca los venderemos a otras empresas con fines de marketing.

Enviar
Para enviar el formulario, habilite las cookies "Analytics". Siéntase libre de desactivarlas de nuevo una vez que haya terminado.