Esteganografía TCP o cómo ocultar la transmisión de datos en Internet

Esteganografía TCP o cómo ocultar la transmisión de datos en Internet

Investigadores polacos han propuesto un nuevo método de esteganografía en red basado en las características del protocolo de transporte TCP, ampliamente utilizado. Los autores del trabajo creen que su esquema, por ejemplo, podría aplicarse para enviar mensajes ocultos en países totalitarios que imponen una estricta censura de internet. Vamos a intentar entender en qué consiste realmente la innovación y cuán útil es.

En primer lugar, hay que definir qué es la esteganografía. Pues bien, la esteganografía es la ciencia de la transmisión oculta de mensajes. Es decir, utilizando sus métodos, las partes intentan ocultar el hecho mismo de la transmisión. Esta es la diferencia entre esta ciencia y la criptografía, que intenta hacer que el contenido del mensaje no sea accesible para su lectura. Cabe destacar que la comunidad profesional de criptógrafos tiene una actitud bastante despectiva hacia la esteganografía debido a la cercanía de su ideología con el principio de "Seguridad a través de la oscuridad". Este principio, por ejemplo, es utilizado por la empresa Skype Inc., cuyo código fuente de la popular aplicación de llamadas está cerrado y nadie sabe exactamente cómo se realiza el cifrado de datos. Recientemente, por cierto, esto fue objeto de quejas en la NSA, sobre lo cual el renombrado especialista Bruce Schneier escribió lo mencionó en su blog.

Volviendo a la esteganografía, respondamos a la pregunta de para qué se necesita, si ya existe la criptografía. De hecho, se puede cifrar un mensaje utilizando algún algoritmo moderno y, con un clave suficientemente larga, nadie podrá leer ese mensaje a menos que usted lo desee. Sin embargo, a veces es más útil ocultar el propio hecho de que se está transmitiendo algo en secreto. Por ejemplo, si las autoridades pertinentes interceptaron su mensaje cifrado, pueden no ser capaces de descifrarlo, pero si realmente lo desean, existen métodos no informáticos para influir y obtener información. Suena distópico, pero, seamos sinceros, eso es posible en principio. Por lo tanto, sería mejor asegurarse de que aquellos a quienes no les corresponde no sepan en absoluto que se llevó a cabo una transmisión. Investigadores polacos han propuesto un método precisamente para esto. Además, lo que sugieren es hacerlo mediante un protocolo que cada usuario de Internet utiliza mil veces al día.

Aquí nos encontramos de cerca con el Protocolo de Control de Transmisión (TCP). Explicar todos sus detalles, por supuesto, no tiene sentido: sería largo y aburrido; quienes lo necesitan ya lo saben. En resumen, se puede decir que TCP es un protocolo de nivel de transporte (es decir, funciona "sobre" IP y "debajo" de los protocolos de nivel de aplicación, como HTTP, FTP o SMTP), que garantiza la entrega confiable de datos del remitente al destinatario. La entrega confiable significa que, si algún paquete se pierde o llega modificado, TCP se encargará de reenviar ese paquete. Cabe destacar que por modificaciones en el paquete nos referimos a errores de transmisión que ocurren a nivel físico, y no a distorsiones intencionales de los datos. Por ejemplo, mientras el paquete viajaba a través de cables de cobre, algunos bits cambiaron su valor a su opuesto o se perdieron entre el ruido (por cierto, para Ethernet, el valor de la Tasa de Error de Bit se suele aceptar en torno a 10-8). La pérdida de paquetes en la red también es un fenómeno relativamente frecuente en Internet. Puede ocurrir, por ejemplo, debido a la congestión de los enrutadores, que lleva a un desbordamiento de búferes y, como consecuencia, al descarte de todos los paquetes recién llegados. Normalmente, la proporción de paquetes perdidos es de alrededor del 0.1%, y con un valor de un par de por cientos, TCP deja de funcionar correctamente — los usuarios experimentarán terribles ralentizaciones.

Así, vemos que el reenvío (retransmisión) de paquetes es un fenómeno frecuente y, en general, necesario para TCP. Entonces, ¿por qué no utilizarlo para necesidades de esteganografía, dado que TCP, como se ha mencionado anteriormente, se utiliza en todas partes (según diversas estimaciones, hoy en día la participación de TCP en Internet alcanza entre 80 y 95%)? La esencia del método propuesto consiste en enviar en el mensaje transferido no lo que había en el paquete original, sino los datos que intentamos ocultar. Al mismo tiempo, descubrir tal sustitución no es tan fácil. De hecho, se necesita saber dónde mirar: el número de conexiones TCP simultáneas que pasan a través del proveedor es simplemente enorme. Si se conoce el nivel aproximado de retransmisión en la red, se puede ajustar el mecanismo de transmisión esteganográfica de tal manera que su conexión no se distinga de las demás.

Por supuesto, este método no está exento de desventajas. Por ejemplo, desde un punto de vista práctico, su implementación no será tan sencilla, ya que requerirá cambios en la pila de red de los sistemas operativos, aunque no es increíblemente complicado. Además, con suficientes recursos, aún se pueden detectar paquetes "ocultos", ya que implica examinar y analizar cada paquete en la red. Sin embargo, esto es prácticamente imposible, por lo que generalmente se buscan paquetes y conexiones que se destaquen, y el método propuesto hace que su conexión no sea nada excepcional. Además, nadie impide que cifre datos confidenciales por precaución. Así, la conexión en sí puede permanecer sin cifrar para generar menos sospechas.

Los autores del trabajo (por cierto, a quien le interese, aquí ella) en el nivel de simulaciones demostraron que el método propuesto funciona como se esperaba. Es posible que en el futuro alguien se ocupe de implementar su idea en la práctica. Y entonces, esperamos, habrá un poco menos de censura en internet.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster