sábado, 10 de noviembre de 2012

LPS (Lightweight Portable Security)


En mi carrera por buscar distribuciones portátiles para llevar en una unidad USB, más allá de KNOPPIX 7.0.3, que es la que utilizo, me encuentro con esta extraña y desconocida distribución (por lo menos por mí).

LPS es una pequeña distribución Linux diseñada para usos seguros y booteable desde unidades ópticas (CDDVD) o pendrives USB en cualquier ordenador (PCMAC).

Recordemos que la Agencia Nacional de Seguridad y el Servicio central de Seguridad utilizan el SELinux (SecurityEnhanced Linux), pueden dirigirse a su web:
http://www.nsa.gov/research/selinux/code/downloadstable.shtml, pero la LPS de la USAF (United States Air Force) se encuentra más enfocado a la seguridad en el trabajo de campo, fuera de sus oficinas, ya que se ejecuta desde medios de sólolectura sin instalaciones ni escrituras en local.



Por lo que pude observar, se encuentra en dos versiones: una privada permitiendo el acceso remoto a la red privada de una organización y la versión pública, la primera de este tipo distribuida por la administración estadounidense.

Tiene una interfaz muy sencilla basada en el gestor de ventanas IceWM (muy al estilo Windows) e incluye un pequeño grupo de aplicaciones como por ejemplo:

Firefox to 10.0.5 ESR
Firefox Extension: HTTPS Everywhere 2.0.5
Firefox Extension: NoScript 2.4.6
Thunderbird 10.0.5 ESR (Deluxe only)
Flash 11.2.202.236
Encryption Wizard application 3.3.4
OpenSSL 0.9.8x
Java 1.6u33
OpenOffice
... y otras.

Dentro de la versión pública encontramos dos: LPSPublic y LPSPublic Deluxe, ambas descargables y en su última versión 1.3.5. La diferencia radica en la cantidad de aplicaciones, la que he probado es la Deluxe ¡¡ya que su peso es irrisorio!!: 382mb; lo único que se podría decir como malo, es que se encuentra solamente en inglés.

Ambas versiones las pueden descargar del siguiente link junto a un completo manual:
http://www.spi.dod.mil/lipose.htm. LPS se actualiza de forma regular (al menos trimestralmente parche y versiones de mantenimiento), también se recomienda actualizar a la última versión para tener la protección más reciente.

Por lo que he observado el nivel de encriptación y utilidades para esto es destacable, dando seguridad en la utilización en redes públicas, pudiendo trabajar con información sensible sin tener que preocuparnos de robos o dejar rastros, también cada vez que se reinicia vuelve a cero toda la distro, una especie de auto reset, no dejando así rastros de su uso ni información delicada. Otra característica interesante es el soporte para conexiones a escritorios remotos, dándonos un amplio espectro de trabajo. Los requerimientos son sencillos: un sistema con procesador x86 ya sea PC o Intel basado en MAC, como ven es un hardware mínimo que se puede encontrar en cualquier lugar hoy en día, hasta en un locutorio.

En conclusión es una distro excelente para llevar en esos pendrives de 1 o 2gb que tenemos olvidados por su poca capacidad, dándonos una segura posibilidad de trabajo en máquinas ajenas a las nuestras, o simplemente alardear un poco con nuestros conocidos sobre el GNU/Linux “espía” que estamos utilizando.

Juan Manuel Dansa "Amonal"
amonal88@gmail.com
twitter: @Amonal_
g+: Amonal Novell




TOR Invisibilidad en la red


Imaginemos por un momento que nuestra realidad cambia radicalmente. Imaginemos que vivimos en un entorno donde nuestra ideología es perseguida, localizada y reprimida.

Tenemos mucho para decirle al mundo sobre nuestra situación, pero sabemos perfectamente que no podemos hacerlo abiertamente a través de Internet porque nuestra dirección IP es localizable, y por eso nuestra vida corre peligro de extinguirse sólo por ejercer un derecho tan inherente al ser humano como lo es el de expresarnos libremente.

En el mundo hay entidades que se dedican a la vigilancia de los contenidos de nuestros mails, o del tráfico que se origina desde una máquina utilizando técnicas y herramientas de análisis de tráfico. Esta información luego es vendida al mejor postor para saber de qué hemos hablado, cuáles son nuestros intereses, tendencias políticas, sexuales, religiosas, etc., y luego proceder en consecuencia en forma comercial, en el mejor de los casos, represiva o delincuencial, en el peor.

En una situación así, el que un mail, un pedido de una página en Internet, o un chat sean localizables o no, es lo que marca la diferencia entre que vivamos un día más o no. Para ese tipo de realidades es que existe un producto que apunta a convertirnos en anónimos. Para eso es que existe Tor y su red de colaboradores.

Generalidades


Los paquetes traficados en internet poseen, en líneas generales, dos partes bien diferenciadas: su cabecera

(header) y su porción de datos (data payload). Como se imaginarán, la sección de datos contendrá las porciones necesarias para rearmar la información que intercambiamos, y la cabecera los elementos necesarios para saber desde y hacia dónde se enviaron dichos datos.

Por lo tanto, con estos elementos, y aún cuando utilicemos protocolos encriptados, nuestro tráfico puede ser analizado (y de hecho, lo es... sólo veamos cómo “casualmente” cuando ingresamos a algunas páginas nos aparecen publicidades que tienen que ver con nuestros intereses, o con las páginas que hemos visitado hace segundos) y luego utilizados los resultados de dicho análisis. En muchos casos se utilizan herramientas estadísticas avanzadas para analizar el tráfico en varios puntos del mundo, y entonces saber quién está hablando bien o mal de alguien más. Veamos un detalle de una cabecera.

Una red encebollada

Originalmente el laboratorio de investigaciones navales del gobierno de EEUU consideró que era necesario diseñar una serie de protocolos que permitan ocultar sus comunicaciones. Así nació el programa “Onion Routing”. Su idea central fue focalizar los esfuerzos en conexiones de baja latencia que resistan escuchas ilegales, análisis de tráfico, y otro tipo de ataques tanto por parte de entidades externas como internas. Sí, se busca que tampoco los sistemas que alimentan el “Onion Routing Protocol” puedan ver el contenido que por ellos se trafica.

La tercera generación de este proyecto es lo que conforma la red Tor. Y hablamos de una red porque la forma en que funciona es generando túneles virtuales entre máquinas que conforman esta malla, de forma tal de impedir que el seguimiento de un punto único puedan entregar una ubicación de quien ha originado el tráfico.

Así, cuando se genera tráfico hacia un determinado sitio, se conforma un circuito aleatorio entre máquinas de forma tal que se incremente de a un salto, y permitiendo a cada máquina sólo tener información sobre el salto anterior, y sobre a qué otra se le debe entregar la información recibida. Entonces, ninguna máquina tiene conocimiento sobre el camino completo a seguir para rastrear una conexión.

La máquina cliente, cada vez que genera una conexión, negocia nuevos certificados de encripción con cada uno de los saltos (máquinas que funcionan como “relays”). Una vez que el circuito se ha establecido, ningún atacante podrá obtener la información necesaria para reconstruirlo desde su lugar de origen, impidiendo por lo tanto asociar un determinado contenido con quien lo ha solicitado.

Los tiempos de vida de los circuitos generados en la red Tor logran, aparte, que dichos caminos se renueven de una forma configurable (no conviene, a menos que se sospeche que la seguridad está comprometida, utilizar tiempos de renovación de menos de diez o quince minutos, ya que de ser así se generaría un procesamiento extra que impactaría a la comunicación en sí misma), por lo que las acciones que se desarrollen en una comunicación no pueden tampoco interrelacionarse para considerar que fueron generadas por un mismo punto de origen, aún cuando ese punto no se conozca.

Claro está, no tendríamos nuestra solución completa si no contáramos también con la posibilidad de publicar servicios en forma anónima, usando sólo la red Tor como portal. Tor permite tener servicios tales como servidores de mensajería instantánea o de páginas, sólo por citar algunos, en forma completamente anónima.



De esta forma usuarios de la red Tor pueden ofrecer servicios ocultos que estarán disponibles a otros usuarios de esta red sin permitirles saber dónde se han originado, o dónde están localizados.

Para ofrecer servicios ocultos, éstos primero deben ser conocidos, lógicamente, para la red Tor. La red utiliza el concepto de puntos de introducción de servicios para que los clientes puedan conectarse a ellos, pero antes, y en forma análoga a lo visto para el caso de conexión de un cliente, se arma un circuito de túneles encriptados aleatorios sobre los cuales se montará el camino para acceder a un determinado servidor. De igual forma, cada cierto tiempo este circuito es reconfigurado, haciendo más complicado llegar al servidor para cualquier atacante.



Por otro lado, el servidor obtiene un descriptor de servicio oculto que contiene su clave pública, y un resumen de los puntos de introducción necesarios para ser localizado. Este descriptor de servicio es firmado con su clave privada, de forma tal de permitir al cliente, también, estar más seguro de saber que el servidor al que se está conectando es realmente el que se espera, y no el de un atacante.



Entonces el cliente se conecta porque sabe su “dirección onion”, que en general es del estilo “dirección.onion”. Envía su mensaje de introducción a uno de los ya mencionados puntos de introducción, los que envían al cliente al servicio que se está solicitando.

Los que recuerdan la vieja película “Ojos bien cerrados”, recordarán una escena donde un portero guiaba a los clientes hacia el interior del salón de reuniones, y que cada tanto, y ante la sospecha de tener un intruso, se solicitaba una palabra clave.

Pues bien, nada más cercano que esa película para tener una figura de cómo funciona básicamente la red Tor. Pero es más segura, claro está. Menos divertida, pero más segura.



En este momento, el servicio oculto desencripta el mensaje de introducción del cliente, y termina de armar el circuito hacia dicho cliente. Entonces la comunicación ha quedado completamente establecida, y ya se podrán traficar paquetes de datos en forma anónima.



Proyectos al verdeo

Dentro de los proyectos incluidos en el programa Tor podemos encontrar los siguientes:

Navegador Tor (TBB por Tor Browser Bundle): Navegador parcialmente basado en Mozilla Firefox ESR 10.0.6, al momento de escribir este artículo, pero con las extensiones necesarias para habilitar las capacidades de la red Tor. Hay versiones para Windoze, GNU/Linux y MacOS/X. Se debe descargar desde el sitio de Tor (http://www.torproject.org). Como el archivo que descargaremos es un .tar.gz, debemos ejecutarlo bien desde una terminal, bien desde un lanzador desde nuestro entorno gráfico. Para el caso de GNU/linux 32 bits:

$ wget
https://www.torproject.org/dist/torbrowser/linux/tor-browser-gnu-linux-i686-2.2.38-1-dev-en-
US.tar.gz
$ tar zxvf tor-browser-gnu-linux-i686-2.2.38-1-dev-en-US.tar.gz
$ cd tor-browser_en-US
$ ./start-tor-browser

Lo primero que veremos es la ventana del panel de control de Vidalia:


Luego, se desplegará ante nosotros nuestro bien conocido navegador. En particular, probé ingresar al sitio http://www.iplocation.net dos veces con una diferencia de más de diez minutos entre cada una. A pesar de estar viviendo, como todos saben, en Transilvania, en el castillo de un afamado conde, la primera vez la dirección IP apareció localizada en Alemania, con datos tan precisos como la latitud y longitud:



...y la segunda vez en Holanda. Es interesante que el ISP registrado se llame “ZwiebelFreunde”, considerando que eso en alemán significa “amigo de la cebolla”:



Notemos en la parte superior del navegador un botón con forma de cebolla verde, que nos permitirá habilitar y deshabilitar la navegación por medio de la red Tor. Si detuviéramos Tor desde el panel de control de Vidalia, veríamos que nuestro navegador nos entrega un mensaje de error por no contar con un proxy disponible. Así es como funciona Tor, como si fuera un proxy.

Torbutton: El botón en cuestión ya viene integrado dentro del navegador, y nos permitirá, como vimos más arriba, habilitar y deshabilitar contenido en el navegador. No se recomienda bajar el botón sólo, y usar el conjunto del navegador Tor, ya que como Firefox entrega nuevas versiones continuamente, será complicado mantener el botón actualizado para cada versión de navegador.

Vidalia: Tal como lo vimos también antes, Vidalia será un panel de control que nos permitirá manejar el comportamiento de Tor. Si ya bajamos el navegador, cuando lo intentemos iniciar veremos esta aplicación desplegada. No será sino hasta que esté conectada a la red de Tor que nos abra el navegador:


Desde este panel podremos, entre otras cosas, ver cómo se arma nuestra red Tor:




Arm (por “Anonymitizing Relay Monitor”): Es una herramienta de línea de comandos similar a Vidalia.

Orbot: Haciendo uso de la librería Orlib, Orbot es una aplicación para usuarios de celulares Android que les permitirá el uso de las redes Tor desde su teléfono celular. 

Tails: Tal como cualquier otra distribución de GNU/Linux basada en LiveUSB, Tails es una versión de Debian GNU/Linux con las herramientas de Tor preinstaladas. Sólo debemos bajarla, grabarla en una memoria flash, y bootear nuestra máquina con ella. No importa si estamos en nuestras casas o en un cybercafé, podremos hacer uso de las bondades de la red Tor en cualquier sitio, aparte eliminando cualquier indicio de todo tráfico de red de la memoria al momento de apagar nuestra máquina.

Onionoo: Es un protocolo basado en tecnologías Web utilizado para que otras aplicaciones sepan si la red Tor está disponible. De esta forma podremos extender el conjunto de aplicaciones disponibles agregándoles los elementos necesarios para usar Onionoo.

Portal de Métricas: Este portal nos entregará detalles del ancho de banda disponible para usar en la red Tor (no olvidemos que si nuestra conexión de Internet es majestuosa, es decir, usted vive en un país distinto del mío, pero los relays no disponen de ese ancho de banda, nos veremos limitados al mayor ancho de banda disponible).

Nube Tor: Si estamos utilizando la red Tor, algún servicio de Amazon, y nuestro corazón está caritativo, nada mejor que donar algo de ancho de banda para que nuestros amigos puedan disponer de ella y entonces, usar Tor mucho más rápido. No es tan difícil, hoy por mí, mañana por ti.

Obfsproxy: Es un proxy para transportar información. Recorta el tráfico, haciendo aún más difícil saber dónde fuera originado.

Shadow: Si desconfiamos del funcionamiento de Tor, éste es el punto de llegada obligatorio. Shadow es un conjunto de paquetes que nos permitirá experimentar con una red Tor real, pero propia. Nos permitirá modelar la red que necesitemos, y en base a eso utilizar Tor. Si consideramos que muchas personas están desarrollando aplicaciones que hacen uso de Tor, un buen laboratorio puede ser éste.


Tor2web: Si bien la idea central es que los servicios de los sitios ocultos de Tor sólo sean vistos por los clientes, también ocultos, de Tor, puede ocurrir que estemos en algún lugar donde no contemos con el navegador Tor, o Vidalia. En este caso, podremos utilizar un reemplazo de la extensión .onion por la .tor2web.org para el mismo servicio. Si por ejemplo tenemos un sitio denominado http://yvgbgcdfrfaxstillc.onion, podremos verlo usando http://yvgbgcdfrfaxstillc.tor2web.org sin perder privacidad.

Conclusión

Es lamentable que el ser humano deba recurrir a este tipo de soluciones por no poder contar con la cordura y tolerancia de ideas necesarias para permitir que alguien que piensa diferente pueda expresarse sin ser perseguido. Mientras que esta situación exista, también existirán personas que realicen actividades en pos de alivianar la pesada carga que esto significa para los perseguidos.

La comunidad de código abierto no es ajena a esto, y por eso este tipo de soluciones continúan y continuarán estando disponibles para quien las necesite.

Hernán “HeCSa” Saltiel
AOSUG leader
CaFeLUG Member
Boca happy fan
Club Amigos de Pumper Nic
hsaltiel@gmail.com
http://www.aosug.com.ar