Muchas personas asocian el anonimato en Internet a Tor, aunque es una cuestión más profunda que no solo abarca la privacidad a la hora de navegar. En esta entrada comprenderemos algunos conceptos clave para tener en cuenta a la hora del análisis de malware, porque cuando se habla de anonimato, se debe comprender el rol de servidores proxies y algunos protocolos que se utilizan para las comunicaciones en estos casos.

Estos conceptos deben tenerse en cuenta ya que cuando se intenta establecer una conexión anónima, son los elementos mínimos que se utilizarán.

Qué es un proxy y qué tipos existen

Un proxy no es más que un equipo designado a trabajar como intermediario en las comunicaciones. Dependiendo de qué tipo se esté utilizando, se puede identificar la información que envía el usuario y esto podría ser registrado en algún equipo intermedio.

Pueden ser usados con diversos fines: administración de ancho de banda, aplicación de restricciones en una red (por ejemplo descarga de aplicaciones o sitios web), o el bloqueo de la navegación a determinados sitios, entre otros.

Básicamente, se sitúa entre el o los equipos clientes y el de destino; los tipos que se ven frecuentemente son:

  • Proxy transparente: no modifica las peticiones o respuestas, mas allá de solicitar autenticación e identificación, es decir, los campos no deberían modificarse. Cuando el cliente utiliza un proxy transparente todas las solicitudes al servidor destino provienen de la dirección IP del servidor.Sin embargo, añade una línea en el header (o encabezado), indicando la dirección IP original desde donde proviene la consulta (en pocas palabras la IP del usuario).
  • Proxy altamente anónimo: pensado para velar por la privacidad completa del usuario, ya que no revela su dirección IP ni cualquier otro tipo de información. Este es el tipo más buscado debido al alto nivel de anonimato que ofrece.
  •  Proxy anónimo: no revela la dirección IP del usuario en el servidor desde donde se están haciendo las consultas. Si bien puede contener el encabezado X-Forward-For donde se muestra una IP, puede ser la del proxy pero no la del cliente.

Teniendo claras las diferencias entre estos tipos de proxies, se debe definir qué tipo de actividad se va a llevar a cabo, para saber cuál es el que mejor se adapta a la necesidad de la investigación.

Protocolos utilizados en el proceso de anonimato

Los protocolos son sistemas de reglas que permiten la comunicación entre entidades (cliente - servicio) para transmitir información. Los más frecuentemente vistos resultan ser HTTP, SOCKS4 y SOCKS5.

A continuación veremos una descripción de cada uno de ellos:

  • HTTP: los proxy de tipo HTTP (llamados así por filtrar conexiones en este protocolo) fueron diseñados para recibir las peticiones y redirigirlas al recurso solicitado. Generalmente son utilizados para conexiones no cifradas aunque poseen soporte para SSL y FTP.
  • SOCKS4: este protocolo fue diseñado para manejar el tráfico entre el cliente y el servidor por medio de un intermediario (servidor proxy). SOCKS4 solo soporta comunicaciones TCP y no cuenta con métodos de autenticación. La extensión que le siguió a esta, denominada SOCKS4A, se diferencia por incorporar soporte para resolución de nombres mediante DNS.
  • SOCKS5: esta es la evolución y última versión del anterior, que incorpora soporte para comunicaciones TCP y UDP, pero también incluye soporte para la autenticación desde el cliente hasta el servidor proxy.

¿Cómo ayuda el anonimato en las investigaciones?

Es importante que sepas el tipo de información que envías cuando la conexión e interacción es directa con un equipo.

Suponiendo que se realiza una auditoría de seguridad con las autoridades pertinentes, para desmantelar una red de cibercriminales, muchas veces se requiere la ejecución de procesos que interactúan con el o los equipos atacantes. De esta forma, con el anonimato, el investigador disfrazaría su identidad (dirección IP) constantemente sin exponer su identidad real.

En caso de que fuera descubierta por el ciberdelincuente, este podría llegar a saber si se están intentando hacer conexiones desde una red perteneciente a algún tipo de autoridad, debido a los registros e información pública inclusive en las entidades registrantes.

Esto también se vuelve útil en el caso de que el investigador cuente con una herramienta encargada de descargar automáticamente muestras de códigos maliciosos desde algún sitio. Si le interesa no dejar ningún tipo de registros en ningún lado (ya sea por confidencialidad, motivos personales o lo que la situación requiera), contar con herramientas de estas características le serán de mucha utilidad como investigador.

Pensemos por ejemplo si se investiga una botnet: al identificar la dirección donde es alojado el panel del botmaster, si se intenta llegar al mismo para comprobar que está activo, podría haber dos escenarios:

  • En la interacción directa, el atacante podría recibir un alerta en sus registros y sospechar que alguien –que no es un bot- se está intentando conectar al servidor. Al notar esta actividad proveniente desde una determinada dirección IP, podría llegar a bloquearla y de esa forma denegar el acceso a su panel, obteniendo una respuesta negativa el intentar acceder y no poder proseguir la investigación.
  • En caso de poseer anonimato, podría darse una situación muy similar con la ventaja de poder cambiar la identidad en la red (dirección IP del investigador) y es por esto todo lo anterior explicado. En este caso se debe tener en cuenta contar con un proxy altamente anónimo para no dejar rastro de ningún tipo. Suponiendo que el atacante bloquee la dirección IP (anónima), en realidad estaría bloqueando la dirección proveniente del servidor proxy, más allá que se estaría preservando la identidad digital previniendo algún tipo de ataque como respuesta.

De todas formas no está de más tener presentes las diferencias entre HTTP, SOCKS4 y SOCKS5. En muchos casos de investigaciones como auditorías de seguridad y análisis de malware, es mejor no dejar nada librado al azar. Por esto es necesario tener en cuenta qué tipo de actividad se va a llevar a cabo, qué tipo de anonimato se requiere y qué tipo conexión se va a realizar (aunque para mayor seguridad se recomienda usar SOCKS5).

Conclusión

Detrás del concepto de anonimato hay varias cuestiones a tener presentes según requiera la situación. Si bien Tor es una red libre para navegar basada en la privacidad, existen otras herramientas como privoxy o proxychains entre otras, que también ayudan a mantener la privacidad en el uso de herramientas.

En el día a día de la investigación debe evaluarse constantemente qué tipo de actividad se necesita llevar a cabo, si requiere anonimato o no. Si lo requiere debe analizarse en qué nivel y, por supuesto, cuanto mayor seguridad en la conexión mejores serán las condiciones.

Como investigadores, es fundamental comprender cómo funcionan las cosas y no atarse a una determinada herramienta. Esto permitirá desarrollar herramientas personalizadas propias, y facilitará el análisis de malware.