¿Qué mecanismos mantienen los procesos (y aplicaciones) de la red en un espacio aislado?

0

Esta pregunta proviene de mi otra pregunta , disculpen si es demasiado similar Ahora me gustaría saber qué mecanismo se usa para los procesos de la red de espacio aislado y (si es relevante) los programas individuales, en todo caso.

Obviamente, si la máquina local está en funcionamiento y alguien tiene instalado un programa de compartir pantalla o un keylogger, todas las apuestas están desactivadas. También ahora que el procesador se encuentra en un espacio aislado en anillos de protección, y la información de la red está separada en alguna capa de la pila de protocolos, probablemente en algún lugar de las capas IP / TCP / Sesión / Aplicación junto con sus números de puerto únicos utilizados para la identificación. (Una aclaración adicional sobre mis dos puntos vagos anteriores sobre anillos y capas con relación a mi pregunta sería informativa).

Escenario: está realizando operaciones bancarias en su navegador web con el Puerto 80 saliente y puertos entrantes aleatorios poco comunes. Abro un programa local legítimo de Java que accede a la información en Internet en un puerto diferente. ¿Qué tipo de interferencia puede ser posible? (Si el lenguaje importa, es decir, algo que no sea Java, por favor explique).

Como en mi otra pregunta, no estoy hablando de software malicous activo. Más bien, lo que es posible que el programa Java o el navegador web detecten entre sí en un entorno normal. Obviamente, cualquiera de los programas consideraría malicioso obtener y enviar información sobre el proceso de la red sin el permiso del usuario ... pero, ¿a qué distancia puede llegar cada proceso?

Analogía para preguntar: los concentradores originales funcionaron transmitiendo información sobre todos los puertos a todos los clientes, lo que planteaba una preocupación importante en la LAN. Todo lo que tenía que hacer un adaptador NIC para escuchar era no descartar los marcos no destinados para sí mismos. Sin embargo, esto se consideró un funcionamiento normal. ¿Hay alguna razón por la que no deba ejecutar la banca y otros programas externos de Java simultáneamente? Si la máquina está completamente equipada, obviamente esto no hace ninguna diferencia. Pero estoy preguntando ... bueno, espero que ya lo sepan.

CLARIFICACIÓN: Mi pregunta generalmente trata con programas que están creando sockets y demás. Obviamente, todos estos programas comparten una base común, la CPU y la memoria, pero los programas que no abren puertos o están bloqueados por el firewall del software de manera predeterminada, no me preocupan tanto. ¿O deberían?

    
pregunta user58446 04.12.2014 - 16:44
fuente

3 respuestas

1

De lo que estás hablando se trata de algunas capas diferentes del modelo OSI:

En la capa 7 (Aplicación), su aplicación web comienza a comunicarse con el host del banco (como ejemplo). Inicia una solicitud de comunicaciones que es manejada por la Capa 5 (Sesión) que crea y mantiene el canal de comunicaciones entre las aplicaciones. El resultado se denomina socket en términos comunes. Todos los datos transportados son manejados por la capa 4 (Transporte), que a su vez está dirigida por la Capa 3 (Red) que guía la trama Ethernet / Paquete IP a su destino, todo lo cual fluye a través de la capa 2 (DataLink) que es responsable de Manejando la modificación de las tramas para el transporte a la Capa 1 (física) del cable o comunicación inalámbrica.

La capa 6 (presentación) convierte o modifica los datos que se envían, de modo que las aplicaciones que utilizan los datos puedan entenderlos en ambos extremos.

Cada aplicación en ejecución, que requiere comunicaciones de red, pasa por ese tipo de proceso, y la información de cada socket se entrega a la aplicación que la abrió. En cuanto a la mayoría de los programas no maliciosos, (probablemente) no obtienen ni ven la información que le enviamos en otros sockets. Por lo tanto, para responder a su pregunta, generalmente no hay razón para no ejecutar varias aplicaciones simultáneamente. Las aplicaciones basadas en Java todavía usan sus propios sockets, y el sistema operativo controla qué información va a dónde.

Sin embargo, dado que TODA su información pasa por una sección común de capa 2 y capa 1 (NIC / Cable / Radio), es posible crear aplicaciones que puedan capturar y registrar TODA EL TRÁFICO DE RED localmente en su máquina. (De hecho, existen muchos, por ejemplo, Wireshark) Dado que ese es el caso, es muy posible que algunas aplicaciones vean o realicen acciones basadas en los datos capturados. Hay algunos otros ataques que pueden usarse para secuestrar la sesión (socket) y obtener la información a ese nivel también.

¿Qué se puede hacer para asegurarlo? El cifrado de los datos en diferentes capas puede evitar la captura de datos legibles o utilizables por parte de programas que podrían querer "echar un vistazo" a su información. Pero ese es un monstruo muy diferente y viene con sus propios bits de diversión.

Soy relativamente nuevo en todo lo relacionado con las redes, pero entender el modelo OSI y cómo conceptualiza las redes es un LARGO LARGO LARGO camino para entenderlo.

    
respondido por el Desthro 04.12.2014 - 17:27
fuente
1

De hecho, existen soluciones para evitar que los procesos accedan al tráfico de otros procesos, aunque tienen sus límites y, por lo general, están restringidos a una red local. Pero para al menos algunos entornos de seguridad, eso es suficiente.

La palabra clave aquí sería "Netlabel". Esas son etiquetas adjuntas a paquetes IP, que contienen información de seguridad sobre el contenido transferido.

No estoy actualizado sobre ese tema, pero parece que SElinux proporciona algún tipo de funcionalidad de etiquetado. Ya que solo puedo publicar dos enlaces con mi representante, pida a google "nb networking selinux". El primer hit proporciona información sobre ese tema con respecto a SElinux.

Además, hay soluciones comerciales que a menudo utilizan CIPSO para el etiquetado. Un breve resumen de CIPSO está disponible aquí , y here es el borrador. CIPSO es bastante antiguo cuando mira el borrador, pero se usa hoy con exactamente ese propósito: para asegurar el contenido que fluye a través de las redes, asegurándose de que los sujetos no autorizados no puedan capturar los datos.

    
respondido por el Daniel 05.12.2014 - 01:30
fuente
0

Los sistemas de un solo uso son el único método contra ataques de dominio cruzado. Paradójicamente, la ley de Moore ha hecho esto imposible.

Existen técnicas de mitigación en cada una de las capas OSI, pero fundamentalmente solo funcionan en una banda estrecha. Una vez que tenga en cuenta el aspecto político / estructural de las cosas, encontrará que la única forma de salvaguardar cualquier cosa es producir una forma de transferencia extremadamente estructurada. Y contar con procesos de mitigación para detener las interrupciones.

    
respondido por el LaamShlock 05.12.2014 - 00:36
fuente

Lea otras preguntas en las etiquetas