sábado, 27 de octubre de 2012

Metadatos. Una fuente de información desconocida

Introducción 

Gracias al uso descuidado de Microsoft Word, hoy ya es posible conocer algunos entresijos de la Autoridad Provisional de la Coalición que (des)gobernó Iraq tras la invasión del país por tropas estadounidenses y de sus aliados.
Al parecer, los funcionarios de dicho organismo no conocían los metadatos que Word incluye en los documentos y sus peligrosos "efectos colaterales", lo que ha permitido acceder a información que refleja la incompetencia de las fuerzas de ocupación.

Podemos ver en este enlace mas detalle:  http://www.computerbytesman.com/privacy/blair.htm



Pero... ¿Que son los metadatos?.

Según la wikipedia los metadatos son datos que guardan información sobre otros datos. En el caso aplicado a los documentos son datos que almacenan información sobre el propio documento: datos del creador, fecha del creación, historial de modificaciones, etc.

La existencia de metadatos no tiene que ser un problema si el usuario normal los puede controlar y verificar de forma transparente.

Pero cuando la creación y manejo de los metadatos es opaca para los usuarios los metadatos se pueden convertir en un problema.

Como conocer y modificar los metadatos.

Es contradictorio que tomemos todas la precauciones del mundo al escribir un documento para no dar más información que la estrictamente necesaria  y por otro lado estamos mandando información sin ser consciente de ello.

La NSA tiene publicado un documento al respecto, donde explica en detelle como trabajar con ellos

Por su parte, Microsoft permite descargar un plugin que se supone elimina los metadatos. Pero el tema sigue opaco para nosotros.

La máxima transparencia debe venir de los formatos Abiertos. Aunque existe la creencia general de que para eliminar todos los metadatos basta en principio con importar un doc en OpenOffice y convertirlo a odt o la simple conversión de formato Word a pdf.

Y no es así los documentos en formato abierto tambien tienes sus propios metadatos pero, en este caso sí están documentados y existe herramientas tambien fiables que nos permiten verlos, modificarlos y eliminarlos. 

Manos a la obra. Como eliminar los metadatos de un documento Office. 

Un método bastante fiable es pasar el documento a un formato abierto como puede ser OpenOffice. Necesitamos tener esta suite ofimática en nuestro equipo. No voy en este post a contar las bondades de Open Office pero aconsejo tenerla instalada independientemente de que tengamos también la suite de Microsoft.

También sera necesario instalar un programa que elimine los metadatos del documentoOpen Office, ya con la garantía de que no hay nada oculto. Uso para eso el programa: OOMetaExtractor de Informática64  y lo podréis encontrar en su página de herramientas

Ya tenemos lo necesario en nuestro equipo.

Primero empezamos por la conversión que es tan simple como abrir el documento con Open Office y volverlo a guardar en formato open: odt.

Arrancamos OOMetaExtractor:





Y abrimos el documento Open Office que hemos creado.





Solo nos queda limpiar los metadatos: Metadata -> Clean




Volvemos a abrir el documento para verificar:

Podemos ver el documento limpio de metadatos.

No olvidemos de mandar el documento que hemos creado, no el original Word.






viernes, 12 de octubre de 2012

TOR: Navegación privada y anónima

Las comunicaciones en internet no son privadas al 100%, y lo sabemos todos. O deberíamos de saberlo. Nuestros datos viajan a través un número indeterminado de nodos hasta llegar a su destino Incluso el protocolo https deja al descubierto nuestras direcciones IP.

 Tenemos tres frentes que proteger si queremos navegar de forma anónima.


  • Privacidad de los datos.
  • Ocultación de nuestra IP al servidor
  • Ocultación de la ruta de datos entre el servidor  y nosotros.


El primer punto está bien solucionado con el protocolo https y la arquitectura de seguridad que lo soporta: certificados, claves asímetricas, etc., etc. Pero el cifrado sólo se realiza sobre la parte de datos y deja en claro las direcciones IP, tanto de origen como de destino.
La ocultación de nuestra IP al servidor está solucionada con más sombras que luces usando proxys anónimos. Primero he de decir que desaconsejo usar estos proxys si estamos transmitiendo en claro. Estamos depositando toda nuestra información en un servicio que puede leer todo lo que pasa e incluso manipular ciertos datos. Y no hay que olvidar que no sabemos quien puede estar detrás de estos proxys. Incluso con conexiones cifradas nuestras direcciones de origen y destino van en claro.
Aún así todavía nuestra comunicación va dejando un rastro en la red que sólo podemos romper usando un proxy que además nos garantize el anonimato. Por supuesto tenemos los mismo riesgos que he mencionado antes.

Entonces la pregunta triple pregunta es:
¿como cifrar nuestros datos cuando no están cifrados,  ocultar nuestra dirección IP y no dejar traza en los nodos intermedios?
La  respuesta es simple: usando TOR (The Onion Route).

¿Que es TOR?
TOR es una red de aquipos que permite la creación de túneles virtuales a través de los cuales viajan nuestros datos cifrados 

Los datos salen cifrados de nuestro equipo, saltan de router a router añadiendo en cada salto su propio cifrado que se suman unos sobre otros como las capas de una cebolla (de ahí su nombre)


Se compone de los siguientes tipos de nodos: 

Nodos OR ( del inglés Onion Router): Funcionan como encaminadores
Nodos OP (del inglés Onion Proxy):  Su función es obtener información del servicio de directorio, establecer circuitos aleatorios a través de la red y manejar conexiones de aplicaciones del usuario. 
Normalmente se ejecuta en local para garantizarnos que la conexión ya sale cifrada y anónima desde nuestrequipo
El esquema simplificado es el siguiente: se establece un circuito entre varios nodos por el que viajan nuestros datos y se informa a cada OR del establecimiento de un circuito. Cada OR solo sabe quien le sigue y quien le precede. No hay información completa del circuito. 
Se establece claves de cifrado entre cada elemento del circuito y una vez está todo preparado los datos viajan por la red. 
Periódicamente los circuitos se renuevan para eliminara posibilidad de rastreo.


Límites a TOR
TOR no resuelve todos los problemas relacionados con nuestra privacidad y anonimato. TOR no impide que el sitio web al que nos conectamos obtenga cierta información sobre nosotros que es capaz de extraer del navegador: Tipo de navegador, Sistema Operativo y las versiones en las que están. Quizá no sea una información importante ni revelada nada especial  pero debemos ser conscientes de ese límite. También si excesivamente paranoicos hay que decir que es posible mediante otras técnica ocultar esa información pero sale del ámbito de este post.
A excepción de Firefox (y su botón para "torificar") las demas aplicaciones (Internet Explorer, Chrome, IRC, FTP's, etc) no comunican a través de TOR de forma automática. Es necesario realizar alguna acción para indicarles que deben hacer.
Debemos buscar dentro de los parámetros de conexión un apartado dedicado al proxy e indicar que queremos que trabaje con proxy SOCKS en el puerto 9050.
Finalmente recordar que aunque el dato viaja con el cifrado propio de la red TOR a la salida de la misma el dato queda descifrado y solo se mantiene la comunicación privada si estamos con protocolo https en origen.
El proyecto TOR nos recomienda, además, cambiar ciertos hábitos si vamos a usar TOR


Instalar TOR. 
Hemos de ir sitio web del Proyecto TOR y descargar el Tor Bundle completo que contiene: el cliente TOR, Vidalia el interfaz gráfico y un firefox con el plugin de TORr instalado.
Solo tenemos que ejecutarlo, instalarlo y activarlo siguiendo las instrucciones y acaberemos viendo el Mozilla Firefox:




Mozilla FireFox "torizado"
Podemos observar en el mensaje inferior que nos dice que nuestra Dirección IP "parece ser" la 173.... que se corresponde con uno de los puntos de salida dela red TOR
A través de panel de control Vidalia podemos cambiar esa dirección (use a new identity)





 Y el parte superior derecha podemos ver el botón de TOR 



et voilá! ya podemos navegar anónimamente y de forma privada (casi al 100%) por la red. 


Cuando usar TOR.
Afortunadamente vivimos en una sociedad en la que no es necesario, por el momento, ocultar nuestra IP cuando queremos opinar algo por la red por lo que salvo casos paranoicos (o delictivos) no se le ve demasiada utilidad a ello.
Pero la aparición de hot-spot wifis que han salido como setas en otoño y a los que nos conectamos en cuanto tenemos oportunidad constituyen un problema muy serio para nuestra privacidad. Las redes abiertas de los medios de transportes, cafeterías, etcétera. Incluso aquellas redes en las que temporalmente nos dan una contraseña no deben inspirarnos tampoco demasiada confianza.
Para esta situación TOR es la solución ideal porque hace que nuestro datos viajen cifrados por la poco fiable wifi anónima que nos hemos encontrado en cualquier sitio. 
Mi opinión es que tengamos instalado TOR en nuestros equipos y a la más mínima sospecha o duda apretemos el botón TOR de nuestro Firefox y naveguemos tranquilos (o al menos muy tranquilos)



martes, 2 de octubre de 2012

Ataques DoS: De la fuerza bruta a la sutileza


Se llama ataque de Denegación de Servicio (Denial of Service, o por sus iniciales en inglés DoS) aquel tipo de ataque por el cual el atacante intenta interrumpir el servicio. Aunque puede haber muchas formas de hacerlo, la más común de ellas bombardeando al servicio con un anormal número de peticiones.

El ataque DoS se aprovecha de ciertas debilidades de la arquitectura TCP/IP.  La  primera de ellas es la inexistencia de un mecanismo de autentificación de la dirección IP que permite falsificar las direcciones de origen lo que hace muy difícil tanto bloquearlas por cortafuegos como rastrearlas hasta su origen.

Un poco de historia.
Hay que remontarse a la segunda mitad de los años 90 para tener noticias de los primeros ataques de Denegación de Servicio (en adelante los llamaré DoS). Estos primeros ataque eran de un único origen y con la dirección sin modificar lo que hacía relativamente sencillo identificarlos y bloquearlos.
Los ataques DoS con un único origen tenían además el inconveniente para el atacante de que era necesario un gran ancho de banda para que el servicio de interrumpiera sobre todo en los grandes sistemas.
La falsificación de las direcciones IP (IP spoofing) y la  posibilidad de coordinar el ataque desde diversos sitios (Distributed DoS, o DDos) volvió a inclinar la balance del lado de  los agresores.

Cortesia de http://www.sott.netPara complicar más la cosa a los defensores a principios de este milenio entra en escena un nuevo blanco para estos ataques: los DNS. Ya no se atacaba un servidor más o menos importante, si no que se atacaba al propio corazón de internet.




Se han ido desarrollando diversas técnicas para luchar contra estos ataques aunque, como en otras ramas de la seguridad no existe proceso finalizado si no estados de seguridad.



 ¿Quien está detrás de los ataques?.

Hoy en día realizar de ataque de DoS simple no tiene ninguna posibilidad de prosperar pues la batalla del ancho de banda está definitivamente ganada del lado de los defensores. No se puede decir lo mismo de los ataques Distribuidos.
Los ataques distribuidos necesitan detrás una importante infraestructura que quedan fueran del alcance del hacker solitario y por tanto son realizados por grupos organizados.
Hay tres tipos de grupos principales:

Cibercrimen.  Extorsión a empresas exigiendo dinero a cambio de no interrumpir sus servicios. Juegos online, pornografía suelen ser los principales objetivos de estos ataque (nada diferente de los gansters de los años 30, solo que han cambiado la thompson por el ordenador).
Ciber Guerra. Son acciones prepetradas por grupos militares o terrorista sustituyendo las armas físicas por armas cibernéticas. Tienes fines políticos, sabotaje industrial.

  
Hacktivismo. Puede considerar esta actividad como una desobidiencia civil dentro de la red. Sus fines generalmente son políticos o sociales y aunque generalmente parece que hay cierta alineación entre causas "justas" y este tipo de activismo no necesariamente es así
Hay una frontera que separa claramente el hacktivismo de los otros tipos: la voluntariedad. Los sistemas que actuan en un ataque DDoS hacktivista lo hacen de forma voluntaria (aunque puedan usar las técnicas de IP Spoofing) mientras que las otras organizaciones se suelen valer de equipos zoombies que has sido previamente infectados.  Independientemente de lo justa que sea la causa no debería considerarse hacktivismo a los ataques DDoS en los que esten envueltos sistemas con desconocimiento de sus propietarios.


Tipos de ataque

Inundación de Ping. Se trata del ataque más simple y que puede verse como una contienda pura de ancho de banda. Así pues necesita para tener éxito disponer de un elevado número de equipos implicados en este ataque. Como su propio nombre indica, se traca de enviar gran cantidad de tramas ICMP como para colapsar el ancho de línea del recepto.

Inundación de SYN. Para entender este ataque es necesario saber como funciona el Three Way Hand-Shake (protocolo de establecimiento de una conexión TCP).
Cuando un servidor recibe una petición de conexión (SYN), responde con un paquete de acuse de recibo de esta petición (SYN+ACK). En este momento se establece lo que se llama half-session. Este estado queda así hasta que el cliente le devuelve otro acuse de recibo.
Si el cliente no responde o la dirección es falta el servidor quederá un tiempo con la media sesión abierta. Una media sesión requiere unos recursos internos del sistema. Todo consiste en mandar los suficientes paquetes SYN para agotar todos los recursos del servidor en medias sesiones abiertas.
Aunque este ataque necesita menos ancho de banda que el de inundación de Ping tiene pocas posibilidades de prosperar si no se usa IP spoofing pues los modernos servidores rechazan automática peticiones de conexión que vienen de un mismo origen mientras tengan medias sesiones abiertas con ese origen.

Three Way Handshake



Inundación de peticiones de aplicación. Es el mismo principio de la inundación de SYN pero en el nivel 7 de la capa OSI. Se trata de impedir que pueda completarse la petición mediante de envío incompleto de una. Al no poder darse por completada los recursos no son liberados y el sistema acaba colapsado.

Dentro de cada tipo de ataque se pueden usar  bien paquetes corrientes o confeccionar paquetes especiales que aprovechen debilidades específicas de los sistemas atacados (no todos los sistemas se comportan igual ante paquetes extraño):
Ping de la muerte: Consiste en mandar un paquete mayor que el máximo soportado.
Paquetes con la dirección de origen que sea la misma que la del servidor lo que hace que el mismo servidor se bloquee.

Defensa

La defensa, pues tan clásicas como si estuviéramos en una guerra tradicional

Aumento de potencia: sistemas escalables, balanceadores de carga (tener mas artillería que el enemigo)
Cortafuegos: tanto de red como de aplicación (usar búnkeres más robusto).
Monitores:  Analizar de tráfico para detectar anormalidades. (Sistemas de inteligencia).

Resumiendo: mas potentes, mas resistentes y más listos. (Nada nuevo bajo sol).

Cookie incrustada en SYN.
Hago especial mención de esta técnica por lo elegante y sofisticada que es.  Aunque solo vale para los ataques de Inundación de SYN. Consiste en lo siguiente. cuando se recibe una trama SYN el sistema toda la información de la media sesión en el contador de la respuesta (SYN+ACK) y libera los recursos que fuera necesario.
Si se trata de una SYN atacante no habrá respuesta pero tampoco quedaran recursos hipotecados en el servidor. Si, por el contrario es una petición legítima el servidor solo tiene que restar uno al contador de secuencia y con los datos del contador de secuencia y con esos datos acaba de construir la sesión. El cliente es ajeno a todo esto y no es necesario tomar ninguna accion especial en el lado cliente.



Coockie SYN


Conclusión

Los ataques DDoS forman un frente abierto todavía y que ha evolucionado desde los ataques de fuerza bruta a nivel de red hasta los modernos ataques en el nivel de aplicación mediante el envío de sofisticados paquetes.
La aparición de modernos toolkits que permiten cada vez organizar ataques de DDoS con menos recursos (y conocimientos) está causando que cada vez aumenten los ataque de este tipo.
Y frente a este lado oscuro tenemos los cada vez más potentes sistemas, balanceadores, sofisticados firewall todos ellos con la delicada tarea no solo de impedir estos ataques si no de permitir que las peticiones legítimas puedan llegar a su destino.
Un frente más de batalla.