nivel de principiante: captura de solicitud / respuesta HTTP

0

Buenas tardes expertos,

Tengo una pregunta básica acerca de la seguridad, pero no saber que es un problema para mí.
Digamos que hay una aplicación (no creo que sea relevante, pero es una aplicación Java) que envía solicitudes al servidor (Java también) y el servidor devuelve el comando en la respuesta que debe ejecutarse. También digamos que no estamos en Internet, sino en la intranet de una empresa que es más segura.
¿Alguien / algo puede secuestrar la solicitud del cliente y devolver una maliciosa? ¿Cómo puede ser prevenido? ¿Resolvería HTTPS el problema?

¿Qué sugeriría hacer para evitar que un tercero escuche la comunicación?

Gracias, V.

    
pregunta Viktor 04.11.2016 - 13:44
fuente

2 respuestas

1

El cifrado (https) es la mejor manera de prevenir un ataque de "hombre en el medio" que estás describiendo. Es posible el cifrado MITM, pero es bastante difícil de lograr, incluso para los veteranos experimentados.

Suponiendo que la comunicación actual es en texto plano (no encriptado), entonces sí, las personas pueden usar un ataque MITM para que el cliente piense que es el servidor y el servidor para que piense que es el cliente. Eso les permitiría ver el tráfico desde ambos lados, por lo tanto, el hombre en el medio. El método aún más fácil sería simplemente "rastrear" el tráfico, lo que significa que el tráfico no está dirigido hacia el atacante desde ninguna de las computadoras, sino que simplemente toman una copia del tráfico cuando pasa a través de la red. La detección no es tan fácil de detectar como MITM, pero si el atacante intenta falsificar la IP del cliente que estaba detectando para enviar tráfico malicioso, normalmente es mucho más fácil de detectar.

La respuesta simple para la prevención es que el cifrado detiene el 99.9% de estos problemas. La respuesta larga es complicada y suena muy similar a una teoría de la conspiración, solo sé que ningún método de prevención es perfecto. La eliminación de la fruta que cuelga a la altura de la mayoría de los atacantes, hay demasiadas cosas fáciles de hackear para gastar tiempo en un objetivo ... a menos que haya suficiente motivación.

    
respondido por el GingerBeard 04.11.2016 - 14:13
fuente
1

En su ejemplo, un intruso (E) necesitará tener acceso a las comunicaciones entre la aplicación (A) y el servidor (B). Esto se puede hacer comprometiendo los enrutadores en su red, o haciéndose pasar por un enrutador WiFi legítimo. No es fácil, pero no imposible en la mayoría de las redes.

Tenga en cuenta que si E lograba comprometer su equipo, también podría comprometer el servidor y manipular la aplicación. En resumen, en este punto, tiene mayores problemas de seguridad que proteger la comunicación entre A y B, y debería concentrar sus recursos en garantizar la integridad de su red.

Pero digamos que E logra entrar en la red y quiere mantenerse al margen al no tocar A o B. E solo quiere escuchar las comunicaciones entre A y B. A y B pueden comunicarse de forma segura: certificado uno del otro (A tiene el certificado de B y confía en que es legítimo), o tener el certificado de la autoridad de certificación de su compañía para verificar los certificados de A y B (A obtiene el certificado de B sobre un canal no confiable pero A verifica que es legítimo utilizando la confianza de A en la autoridad de certificación). Estos certificados se pueden usar para asegurar las comunicaciones utilizando TLS (HTTPS).

En este modelo de amenaza, sin asegurar las comunicaciones entre A y B, E podría observar las comunicaciones. Si E quiere ir un paso más allá, también podría moderar los datos que transitan entre A y B, dependiendo del acceso de E a la red.

TL; DR: La defensa en profundidad es algo bueno (TM). Sin embargo, debe tener cuidado de evaluar sus amenazas con el fin de concentrar sus recursos en proteger las vulnerabilidades con el mayor retorno de la inversión para el atacante. Como cada empresa es diferente de otra, debe solicitar una auditoría de su empresa para saber si es una buena idea gastar recursos para asegurar la comunicación entre A y B.

    
respondido por el A. Hersean 04.11.2016 - 14:20
fuente

Lea otras preguntas en las etiquetas