En seguridad informática , un canal encubierto es un tipo de ataque que crea una capacidad para transferir objetos de información entre procesos que no deberían tener permiso para comunicarse según la política de seguridad informática . El término, creado en 1973 por Butler Lampson , se define como canales "no destinados a la transferencia de información en absoluto, como el efecto del programa de servicio en la carga del sistema ", para distinguirlo de los canales legítimos que están sujetos a controles de acceso por parte de COMPUSEC . [1]
Un canal encubierto se llama así porque está oculto a los mecanismos de control de acceso de los sistemas operativos seguros, ya que no utiliza los mecanismos legítimos de transferencia de datos del sistema informático (normalmente, lectura y escritura) y, por lo tanto, no puede ser detectado ni controlado por los mecanismos de seguridad que subyacen a los sistemas operativos seguros. Los canales encubiertos son extremadamente difíciles de instalar en sistemas reales y, a menudo, se pueden detectar mediante la supervisión del rendimiento del sistema. Además, sufren de una baja relación señal-ruido y bajas velocidades de datos (normalmente, del orden de unos pocos bits por segundo). También se pueden eliminar manualmente con un alto grado de seguridad de los sistemas seguros mediante estrategias de análisis de canales encubiertos bien establecidas.
Los canales encubiertos son distintos de las explotaciones de canales legítimos, que suelen confundirse con ellas, y que atacan sistemas pseudoseguros de baja seguridad mediante esquemas como la esteganografía o incluso esquemas menos sofisticados para disfrazar objetos prohibidos dentro de objetos de información legítimos. El uso indebido de canales legítimos mediante la esteganografía no es específicamente una forma de canal encubierto. [ cita requerida ]
Los canales encubiertos pueden atravesar sistemas operativos seguros y requieren medidas especiales para controlarlos. El análisis de canales encubiertos es la única forma comprobada de controlarlos. [ cita requerida ] Por el contrario, los sistemas operativos seguros pueden prevenir fácilmente el uso indebido de canales legítimos, por lo que es importante distinguir ambos. El análisis de canales legítimos en busca de objetos ocultos se presenta a menudo de forma errónea como la única contramedida exitosa para el uso indebido de canales legítimos. Debido a que esto equivale al análisis de grandes cantidades de software, ya en 1972 se demostró que no era práctico. [2] Sin estar informados de esto, algunos se engañan y creen que un análisis "gestionará el riesgo" de estos canales legítimos.
Los Criterios de Evaluación de Seguridad Informática de Confianza (TCSEC) eran un conjunto de criterios, ahora obsoletos, que habían sido establecidos por el Centro Nacional de Seguridad Informática , una agencia administrada por la Agencia de Seguridad Nacional de los Estados Unidos .
La definición de Lampson de un canal encubierto fue parafraseada en el TCSEC [3] específicamente para referirse a las formas de transferir información desde un compartimento de clasificación superior a uno de clasificación inferior. En un entorno de procesamiento compartido, es difícil aislar completamente un proceso de los efectos que otro proceso puede tener sobre el entorno operativo. Un canal encubierto es creado por un proceso emisor que modula alguna condición (como espacio libre, disponibilidad de algún servicio, tiempo de espera para ejecutar) que puede ser detectada por un proceso receptor.
El TCSEC define dos tipos de canales encubiertos:
El TCSEC, también conocido como el Libro Naranja , [4] requiere que el análisis de los canales de almacenamiento encubiertos se clasifique como un sistema B2 y el análisis de los canales de sincronización encubiertos es un requisito para la clase B3.
Girling [5] fue el primero en explorar el uso de los retrasos entre paquetes transmitidos a través de redes informáticas para la comunicación encubierta. Este trabajo motivó muchos otros trabajos para establecer o detectar una comunicación encubierta y analizar las limitaciones fundamentales de tales escenarios.
Cosas ordinarias, como la existencia de un archivo o el tiempo empleado para un cálculo, han sido el medio a través del cual se comunica un canal encubierto. Los canales encubiertos no son fáciles de encontrar porque estos medios son muy numerosos y se utilizan con frecuencia.
Dos técnicas relativamente antiguas siguen siendo las estándar para localizar posibles canales ocultos: una funciona analizando los recursos de un sistema y la otra funciona a nivel de código fuente.
La posibilidad de canales encubiertos no se puede eliminar, [2] aunque se puede reducir significativamente mediante un diseño y análisis cuidadosos.
La detección de un canal encubierto puede resultar más difícil si se utilizan características del medio de comunicación del canal legítimo que nunca son controladas ni examinadas por los usuarios legítimos. Por ejemplo, un programa puede abrir y cerrar un archivo siguiendo un patrón específico y cronometrado que puede ser detectado por otro programa, y el patrón puede interpretarse como una cadena de bits que forma un canal encubierto. Dado que es poco probable que los usuarios legítimos comprueben los patrones de operaciones de apertura y cierre de archivos, este tipo de canal encubierto puede permanecer sin ser detectado durante largos períodos.
Un caso similar es el de los port knocking . En las comunicaciones habituales, el momento de las solicitudes es irrelevante y no se controla. El port knocking lo hace importante.
Handel y Sandford presentaron una investigación en la que estudian los canales encubiertos dentro del diseño general de protocolos de comunicación en red. [6] Utilizan el modelo OSI como base para su desarrollo en el que caracterizan elementos del sistema que tienen potencial para ser utilizados para ocultar datos. El enfoque adoptado tiene ventajas sobre estos porque se consideran estándares opuestos a entornos o arquitecturas de red específicos.
Su estudio no pretende presentar esquemas esteganográficos infalibles, sino que establece principios básicos para ocultar datos en cada una de las siete capas OSI . Además de sugerir el uso de los campos reservados de los encabezados de protocolos (que son fácilmente detectables) en las capas superiores de la red, también proponen la posibilidad de canales de temporización que impliquen manipulación CSMA/CD en la capa física.
Su trabajo identifica méritos de canales encubiertos como:
Su análisis de canal encubierto no considera cuestiones como la interoperabilidad de estas técnicas de ocultamiento de datos con otros nodos de la red, la estimación de la capacidad del canal encubierto y el efecto del ocultamiento de datos en la red en términos de complejidad y compatibilidad. Además, la generalidad de las técnicas no puede justificarse plenamente en la práctica, ya que el modelo OSI no existe per se en los sistemas funcionales.
Girling analiza por primera vez los canales encubiertos en un entorno de red. Su trabajo se centra en las redes de área local (LAN) en las que se identifican tres canales encubiertos obvios (dos canales de almacenamiento y un canal de temporización). Esto demuestra los ejemplos reales de posibilidades de ancho de banda para canales encubiertos simples en las LAN. Para un entorno de LAN específico, el autor introdujo la noción de un espía que monitorea las actividades de un transmisor específico en la LAN. Las partes que se comunican de forma encubierta son el transmisor y el espía. La información encubierta según Girling se puede comunicar a través de cualquiera de las siguientes formas obvias:
El escenario transmite información encubierta a través de una estrategia de "cuándo se envía", por lo que se denomina canal encubierto de sincronización. El tiempo para transmitir un bloque de datos se calcula como función del tiempo de procesamiento del software, la velocidad de la red, los tamaños de los bloques de la red y la sobrecarga del protocolo. Suponiendo que se transmiten bloques de varios tamaños en la LAN, la sobrecarga del software se calcula en promedio y se utiliza una nueva evaluación del tiempo para estimar el ancho de banda (capacidad) de los canales encubiertos. El trabajo allana el camino para futuras investigaciones.
Centrándose en los encabezados IP y TCP del conjunto de protocolos TCP/IP, un artículo publicado por Craig Rowland idea técnicas adecuadas de codificación y decodificación utilizando el campo de identificación IP, el número de secuencia inicial TCP y los campos de número de secuencia de reconocimiento. [7] Estas técnicas se implementan en una sencilla utilidad escrita para sistemas Linux que ejecutan kernels de la versión 2.0.
Rowland ofrece una prueba de concepto, así como técnicas prácticas de codificación y decodificación para la explotación de canales encubiertos utilizando el conjunto de protocolos TCP/IP. Estas técnicas se analizan teniendo en cuenta mecanismos de seguridad como la traducción de direcciones de red mediante cortafuegos.
Sin embargo, la indetectabilidad de estas técnicas de comunicación encubierta es cuestionable. Por ejemplo, en un caso en el que se manipula el campo de número de secuencia del encabezado TCP, se adopta el esquema de codificación de tal manera que cada vez que se comunica encubiertamente el mismo alfabeto, se codifica con el mismo número de secuencia.
Además, los usos del campo de número de secuencia así como del campo de reconocimiento no pueden hacerse específicos para la codificación ASCII del alfabeto del idioma inglés como se propone, ya que ambos campos tienen en cuenta la recepción de bytes de datos pertenecientes a paquetes de red específicos.
Después de Rowland, varios autores académicos publicaron más trabajos sobre canales encubiertos en el conjunto de protocolos TCP/IP, incluida una gran cantidad de contramedidas que van desde enfoques estadísticos hasta aprendizaje automático. [8] [9] [10] [11] La investigación sobre canales encubiertos de red se superpone con el dominio de la esteganografía de red, que surgió más tarde.
{{cite book}}
: Mantenimiento de CS1: otros ( enlace )