Tecnología en la piratería

sábado, 25 de diciembre de 2010

Después de abandonar el blog por falta de tiempo, he decidido retomarlo de nuevo, pues ideas nunca me han faltado. .

También he revisado algunas entradas antiguas, con el propósito de hacerlas más amenas y mejor redactadas.



Este post trata sobre la piratería, centrándose en el marco tecnológico que hace posible la realización de actividades relacionadas con la distribución de contenido a través de internet, y aquí nos es indiferente para el punto de vista que vamos a tratar si dichas actividades son ilegales o no.

Cuando hablamos de la piratería ocurre que - y es algo de lo que normalmente se olvida hablar en los análisis realizados en la prensa y televisión - entre lo que se pretende conseguir y lo que finalmente se consigue, suele haber un buen trecho.

El objetivo de este artículo no es hablar sobre los derechos de autor, sino mostrar la tecnología que existe para acceder a la información en Internet y los métodos que existen para controlar el acceso o la disposición del contenido en Internet.

Lo que existe en la red de redes son máquinas que sirven contenido y clientes que solicitan dicho contenido. Desde el punto de vista del contenido éste puede encontrarse de una forma más o menos distribuida:
- Utilizando una arquitectura cliente-servidor donde cada cliente que quiera obtener el fichero lo hace comunicándose con el servidor o los servidores donde se alojan los archivos. Una dirección de Internet alberga el contenido que deseamos obtener, y podemos conocer dicha dirección por diferentes vías. Podemos utilizar buscadores de contenidos como Google o podemos utilizar un lugar en Internet conocido que creamos puede disponer de la ubicación de ese tipo de contenido contenido, como por ejemplo una página web con enlaces a películas, un nuevo grupo en facebook, un documento en Google Docs... Sitios que sepamos contengan índices de contenidos del tipo que buscamos.
- A través de las redes P2P, donde cada máquina conectada a la red tiene la capacidad de ser cliente o servidor, de tal manera que un mismo archivo puede adquirirse de las distintas máquinas que lo posean y posteriormente puede ser compartido con cualquier máquina que lo solicite. Basta con estar conectado a la red P2P donde es fácil implementar un mecanismo de búsqueda para encontrar y compartir el contenido.

Atendiendo al control que puede realizarse sobre el contenido en Internet:
- Por parte de las empresas que gestionan las redes de área extensa como son los operadores de Internet, pueden gestionar el acceso de sus clientes y pueden intentar gestionar la información que circula por sus redes.

Los mecanismos para evitar las barreras impuestas en la red se basan entonces en evitar que aquellos que ejercen el control sobre el contenido detecten el contenido ilegal en la red y en evitar que nadie salvo los extremos o ciertos intermediarios neutrales pueda tener constancia del tipo de información intercambiada, haciendo imposible la discriminación entre tipos de contenidos, algo que nos lleva de cabeza a la utilización de la criptografía.

Para evitar la detección del contenido ilegal, se cifra dicho contenido y se sube cifrado a la red, incluso para subirlo se suelen utilizar servicios de alojamiento como Rapidshare o Megaupload, después se comparte el enlace y la clave de cifrado por otra vía sólo con aquellos con los que deseamos compartir el contenido.

Atendiendo a aquellas barreras impuestas que ejercen el control no sobre el qué si no sobre el quién, es decir si existen barreras para intercambiar contenido con ciertas máquinas en Internet se suele hacer uso de las siguientes técnicas, a veces unidas con la criptografía:
- Uso de Proxys: Un Proxy es un intermediario que contiene un cliente-servidor para un determinado servicio. Imaginemos que un usuario que usa un proxy quiere solicitar una web a contenidoilegal.com, hará la petición de la web al servidor web del proxy, entonces una vez el servidor web del proxy recoge la petición, el cliente del proxy realiza esta misma petición a contenidoilegal.com, y la respuesta obtenida de contenidoilegal.com la sirve el servidor web del proxy al usuario.
De esta manera no importa si el usuario tiene acceso al servidor, sólo si tiene acceso al proxy y el proxy a su vez tiene acceso al servidor, situación que suele darse cuando las barreras impuestas en la red del usuario no están impuestas en la red en la que se encuentra el proxy.
- Uso de túneles: La técnica de tunneling consiste en encapsular y cifrar el protocolo de red en otro protocolo de red o el protocolo de transporte en otro, es decir, se esconde el camino real o el servicio al que va dirigido y solo en el extremo se interpreta y se gestiona.

Hoy en día existen muchas herramientas como la red Tor o las redes P2P con cifrado que utilizan diversas técnicas aquí habladas y comentadas en otros artículos (podemos incluso utilizar la red Tor para alojar servidores muy dificilmente localizables). Las matemáticas e incluso la esteganografía de la que no he hablado y hablaré en otro artículo ayudan a esconder algo e incluso a esconder que tenemos algo que algo esconder.

Estafando a las PTR

miércoles, 12 de mayo de 2010

Seguro que alguna vez has oído hablar de las PTR (paid to read). Son empresas que promocionan a terceros y te pagan si permites que te envíen e-mails publicitarios, o mejor dicho, te pagan por leerlos.




En otoño del año pasado un amigo me comentó que otro amigo suyo estaba registrado en una de estas empresas y había recibido sus primeros 30 euros en su buzón.

Fue entonces cuando se nos ocurrió no ya registrarnos en estas empresas, porque como dicen los padres "nadie da duros a pesetas", sino más bien estudiar si había alguna manera de engañar a estas empresas para conseguir dinero fácil.

Finalmente conseguimos montar un sistema por el cuál sin hacer nada más que tener el PC encendido podíamos ganar entre 30 y 40 euros mensuales, aunque he de decir que una vez montado el sistema y después de dejarlo funcionar un par de semanas lo cortamos todo, porque el propósito no era llegar a final de mes y cobrar el dinerillo (aunque no nos hubiese venido mal).

Lo primero que hicimos fue dirigirnos a la web de una de estas empresas, a la más conocida aquí en España, y registrarnos. Para registrarse te muestran un formulario típico donde te piden algunos datos personales.
Por el hecho de estar registrado obtienes un código promocional para referidos. Un referido es alguien alguien que llega recomendado por ti, es decir, que al registrarse mete en el formulario tu código promocional.
Esta empresa te paga por cada mail leído, y también por los mails leídos por tus referidos, y por los mails leídos por los referidos de tus referidos.

Lo siguiente fue dibujarnos un arbolito ficticio de jerarquías entre supuestos referidos para deducir un árbol donde nuestros referidos ganasen algunos como mucho un par de euros al mes pero nosotros tres ganásemos unos treinta euros al mes cada uno.
Nuestros referidos no iban a ser personas físicas, íbamos a construir un bot para leer mails publicitarios.

Creamos nuestros referidos simplemente dando de alta nuevas cuentas de correo en hotmail para darlas de alta después en la página web de la PTR. Todas las cuentas de hotmail creadas se configuraban para redirigir su bandeja de entrada a tres cuentas de correo determinadas de hotmail para que todos los correos de la PTR acabaran en una de estas tres cuentas. A su vez, utilizando una aplicación (hotmail no permite configurar la cuenta para redigirla a una cuenta que no sea de hotmail) sacábamos los correos de estas tres cuentas de hotmail para llevarlas a tres cuentas de gawab, ahora explicaré para qué.

Al final todos los correos de la PTR dirigidos a nosotros o a nuestros referidos acababan en alguna de las tres cuentas de gawab.
Al contrario que Hotmail Gawab no utiliza POP sobre SSL, por comodidad podíamos sacar los correos y almacenarlos en un fichero utilizando simplemente un script en telnet en vez de utilizar OpenSSL.

Los correos promocionales que envía la PTR contienen un enlace a una web que el usuario ha de visitar. Nuestra PTR escribía un enlace que podía ser reconocido facilmente por un programa porque iba precedido siempre de las mismas palabras (imaginad un "visita este enlace: http://...."). El enlace contenía un token único para que al visitarlo el servidor supiese a quien tenía que sumar el crédito. Simplemente hay que visitar la URL desde cualquier máquina.

Programamos en pascal (sí, estudiamos en la Universidad Politécnica) un parser para obtener y guardar el enlace a visitar. Lo restante consistía en construir los ejecutables batch que dirigiesen todas las partes.

Resumiendo, finalmente teníamos un sistema automatizado que :
1- Lanza la herramienta que lee los mails de las cuentas de hotmail y los envía a las cuentas de correo de gawab.
2- Saca el primer correo de la bandeja de entrada de una cuenta de gawab, guarda el mail en un archivo y borra el correo leído de la bandeja de entrada.
3- Lanza el parser encargado de analizar el archivo obtenido en el paso anterior y extraer el enlace a visitar, dicho enlace se guarda en un nuevo archivo.
4- Lanza un firefox portable con la url de dicho enlace (y cierra firefox a los 30 segundos que eran los contabilizados por la PTR para sumar el crédito por visitar la publicidad).
5- Cambia la Ip pública.

Finalmente este archivo batch se lanzaba con el programador de táreas cada dos o tres minutos. Cada uno de los tres amigos teníamos asignado una de las tres cuenta de Gawab, de tal manera que encendíamos el ordenador por la mañana, lo dejábamos encendido y por la tarde llegábamos y se habían contabilizado todos los mails.

Visitábamos también de forma automática de vez en cuando la web de la PTR logueándonos con las distintas cuentas del "árbol" ya que si por un periodo de varios meses no te pasas por la web te dan de baja la cuenta.

Una forma de destapar nuestro truco es fijándose en que nadie en "nuestro árbol" utilizaba cookies (lanzábamos el firefox con un perfil que tenía deshabilitadas las cookies), o fijarse en las cabeceras http y descubrir que en nuestro árbol todos responden a tres perfiles de máquinas distintas.
Pero una vez superado el sistema que intenta obligar al usuario a leer los mails, no creo que haya ninguna medida contra este tipo de cosas.
Las medidas de seguridad me imagino que están para atraer la atención de aquellas empresas que buscan promocionarse a través de alguna PTR.

Esta PTR tiene miles de usuarios, pero también estudiamos otras PTR, algunas eran vulnerables a nuestro sistema y otras no lo eran, debido a la existencia de captchas.

Este verano voy a andar muy ocupado, me he tomado un pequeño respiro para escribir los últimos artículos, pero estaré ausente unos cuantos meses.

Un saludo a todos y disfrutad del verano.

System Infected

martes, 11 de mayo de 2010

LLevaba un tiempo con el DNI caducado. Digo llevaba porque hace unos días acudí a mi cita con la comisaria para hacerme el nuevo.


Había en la sala de espera empotrado contra una pared un PC conectado a una impresora y que tenía enchufado un lector de DNI electrónico.

Un cartel vertical sobre la misma mesa junto a la impresora rezaba algo así:
"Pruebe aquí su DNI electrónico".
En letra más pequeña se podía leer lo siguiente: "Con el dni electrónico podrás realizar trámites y gestiones desde casa o la oficina ... vida laboral, declaración de la renta, transacciones bancarias, concursos y oposiciones...".
La idea al parecer es tener un punto en la misma comisaria donde probar todo lo que puedes hacer con tu nuevo DNI.

Bueno, pues el monitor de dicho PC mostraba el escritorio de un Windows XP cuyo fondo de pantalla era el siguiente:


Es el típico fondo de pantalla alterado por malware bastante conocido que primero te dice que tu sistema está infectado y que debes descargar software antivirus mientras que por otro lado afecta al comportamiento normal del navegador para que el usuario descargue más malware todavía pensando que lo que descarga es un antivirus.
No he podido sacar fotos porque una comisaria no es un lugar público ya que hay un control de acceso y no está permitido sacar fotos en el interior.

O sea que el ordenador que te invita a realizar gestiones y trámites con el DNI electrónico estaba infectado. Y hablamos de los trámites que permite realizar el nuevo DNI, en los cuales generalmente se manejan datos personales bastante sensibles que introducimos por teclado normalmente.
Y menos mal que el malware había colocado dicho fondo de pantalla, si no nadie allí se habría dado cuenta de nada, porque fue una chica la que avisó al personal y fue entonces cuando llamaron por teléfono, a los técnicos supongo.

Si fue infectado con dicho malware, no faltan razones para pensar que estuviese o pudiese haber estado infectado también por todo tipo de malware, como más spyware, troyanos, keyloggers, y un largo etc. Como para ponerse a realizar allí mismo transacciones importantes.

Me quede con la duda de si la cuenta en windows utilizada de cara al público era restringida o de administrador, en fin...

Van Eck Phreaking

jueves, 22 de abril de 2010

Hoy tenemos una entrada digna de los programas de Friker Jiménez:

PRIMER CASO:
Año 1987, Alexei se encuentra tranquilamente en su habitación de un pequeño chalet situado en el distrito de Queens, en Nueva York.

Se dispone a trabajar con su PC, porque tiene que terminar unos documentos muy importantes que tiene que entregar a la embajada de su país. Es un PC corriente, aislado, sin ningún tipo de comunicación con ninguna otra máquina, un ordenador que no se mueve nunca de la habitación más reservada de la casa.
Mientras Alexei está redactando sus documentos con su editor favorito, fuera, en el exterior del chalet, una furgoneta está apostada frente a la calle peatonal. En su interior se encuentran agentes de la NSA, sentados frente a un televisor que muestra exactamente lo mismo que muestra el monitor del PC de Alexei en tiempo real, y en blanco y negro.

SEGUNDO CASO:
Nos dirigimos al siguiente enlace http://www.erikyyy.de/tempest/ , nos descargamos el programa y seguimos las instrucciones del Léeme contenido. Una vez que echamos a andar el programa, cogemos la radio más cercana y sintonizamos una determinada frecuencia (que es parámetro del programa) de AM. Suena en la radio para Elisa, de Beethoven.


Estos dos casos se basan en el mismo principio, ¿Magia?.
No. Electromagnetismo.

Hace cuatro o cinco años, estando en segundo de carrera, escuché por primera vez hablar de TEMPEST, también conocido como van Eck phreaking por el autor del sistema que consagraba la técnica que permitía capturar y revelar los datos que transportan las ondas electromagnéticas producidas por un monitor CRT.

Para conocer como funciona el sistema es necesario conocer como funcionan los monitores CRT (el del tubo de rayos catódicos):
Un haz de electrones es acelerado y dirigido contra un punto de la capa fluorescente de una pantalla, para ello se utiliza un sistema formado por un cátodo situado en un extremo del tubo y un ánodo que envuelve la pantalla del monitor. Con unas bobinas generadoras de campos magnéticos se puede desviar el haz hacia cualquier punto en concreto de la pantalla.
El haz escanea toda la pantalla del monitor de arriba a abajo, y de izquierda a derecha con una determinada frecuencia.
He encontrado un vídeo en youtube que explica todo bastante bien (y así me ahorro explicar el tema de los colores), http://www.youtube.com/watch?v=PXTcne4n8OY .

Cuando la tensión eléctrica varía en un material conductor provoca una onda electromagnética proporcional a la diferencia de potencial. Y a su vez, las ondas electromagnéticas crean una diferencia de potencial en un conductor proporcional a la fuerza de la onda.

La intensidad de un haz determinado (rojo, verde o azul), es responsable de la presencia de dicho color en el píxel, pero es la intensidad total que conforman los haces la que define el brillo (la luminosidad) de un píxel.
La señal relativa a la intensidad de un color que le llega al monitor de la tarjeta de vídeo es del orden de 0V a 1V, sin embargo, dentro del monitor la señal se amplifica antes de proyectarse sobre la pantalla a tensiones muy altas. Como resultado se producen las fuertes ondas electromagnéticas, que nos dan el contraste entre un píxel y su contiguo (recordemos que la diferencia de potencial es la causante de la onda, y que el brillo de un píxel viene determinado por la intensidad total de los haces). De hecho, al formarse simultáneamente los colores, no podemos sacar la información relativa a cada color.

Imaginemos que tenemos un monitor con una resolución de 640x480, y una tasa de refresco de 70Hz. Los tres haces de luz deben volver simultáneamente cuando terminan una línea al inicio de la siguiente, esto sucede 480x70 veces cada segundo. También deben volver al inicio de la pantalla una vez la han recorrido, esto sucede 70 veces por segundo.
Por lo tanto, ya sabemos cuantos píxeles se escriben por segundo, o dicho de otro modo, sabemos que frecuencia hay que filtrar en la señal electromagnética para obtener la información que nos da la diferencia de brillo entre un píxel y su contiguo. Podemos construir con esta información una representación de la imagen original en blanco y negro.
Ya sólo queda construir y ajustar un circuito sabiendo algunos datos adicionales (lo que llega al monitor son los tres canales nombrados más otro de sincronización vertical y horizontal) que filtre la señal, la amplifique y nos permita ver una pantalla situados con una antena y un monitor a bastante distancia. Es cuestión de construirlo e ir ajustando los parámetros para resoluciones y tasas de refresco conocidas.

--------------------
Conozco muy poco sobre los sistemas que giran en torno a TEMPEST, pero sí que suele aparecer como una técnica más a tener en cuenta dentro del área de la seguridad física, de hecho el CNI certifica contra TEMPEST (https://www.ccn.cni.es/index.php?option=com_content&view=article&id=21&Itemid=25).
Se pueden proteger las emisiones de los monitores CRT apantallándolos debidamente.

Está en desuso porque ya casi no quedan monitores de este tipo. Yo he probado personalmente el programa nombrado al principio de la entrada con un monitor TFT de 23 pulgadas y he tenido que acercar bastante la radio a la pantalla, a unos 15 cm, y con la pantalla pequeña del portatil de 12 pulgadas no he logrado escuchar nada. En cambio con el monitor CRT te puedes alejar bastante, lo mejor es que lo probéis.
Tengo un diseño en papel del circuito eléctrico que lleva TEMPEST obtenido en Internet por si a alguien le interesa, yo me lo llegué a proponer para el TFC, pero al final cambié de idea. Hay bastante documentación y vídeos en Internet sobre el tema.
Existen también técnicas para capturar datos a través de otro tipo de emisiones, por ejemplo acústicas, que pueden ser útiles para conocer la longitud de una contraseña tecleada por ejemplo.
Se aceptan todo tipo de comentarios, sobretodo si son críticas constructivas, y sobretodo aclaraciones en la parte de física.

Cazador cazado

domingo, 18 de abril de 2010

Casi todos los días, si no son todos, se me cuelan en la bandeja de entrada algunos correos publicitando páginas web que nos cuentan fórmulas mágicas para adelgazar, o para hacer crecer...el cabello, o donde nos invitan a conocer chicas fáciles dispuestas a complacer nuestras más oscuras perversiones.


Suele ocurrir que el remitente de dicho correo basura pertenece a nuestra lista de contactos, por ello pasa nuestros filtros de spam.
No es que nuestros amigos lo envíen conscientemente, pero el malware instalado en sus máquinas sí lo hacen.

Esta misma tarde estaba revisando el correo cuando me he encontrado con el siguiente correo de una amiga:
"¡Fotos de su puerca en myspace privado!"
Enlace

Creo conocer bien a mi amiga, y cuando he cargado dicho enlace en el navegador he confirmado que sí, que era spam (que decepción ;d).
Como estaba sólo en casa y no tenía nada que hacer, investigué un poco el supuesto enlace, este enlace que me invita mi amiga a visitar, es el siguiente:
http://amigos2010.webcindario.com/

Una vez carga en el navegador, el contenido mostrado difiere poco del que muestra hotmail para acceder a nuestro correo, sin embargo, dejando aparte que la URL es http://amigos2010.webcindario.com, el diseño de la Scam no está muy conseguido, en la esquina inferior izquierda puede leerse 2007 Microsoft Corporation.



Webcindario es un hosting gratuito ofrecido por Miarroba, cualquiera puede registrarse y subir su propias páginas web.

Lógicamente lo primero que hize fue ver el código fuente de la página a ver dónde iban los datos que escribiésemos en el formulario, centrándome en lo siguiente:
form name="f1" method="post" target="_top" action="login.live.php" onSubmit="return WLSubmit(this)"> ........
Fijémonos en action=login.live.php , pués define a donde se envían los campos del formulario, en este caso a login.live.php, es decir a: http://amigos2010.webcindario.com/login.live.php

Suponemos logicamente que el fichero php contiene código PHP que guarda nuestro nombre y password en una base de datos a través de MySQL, o quizás ha optado por lo más cómodo y lo guardará directamente en un fichero txt.
Observación para no perderse: PHP es una tecnología orientada al servidor, lo que implica que cuando el cliente pide el fichero.php al servidor el código PHP contenido en este fichero se ejecuta en el servidor, no se envía al navegador del cliente (aunque se puede escribir mediante PHP contenido que deseemos enviar al navegador).

Lo único que sabemos del fichero php es que devuelve al navegador el siguiente código:
meta http-equiv='Refresh' content='1;url=http://www.hotmail.com'>Resumiendo, una vez que introducimos un nombre y contraseña en el formulario y pulsamos sobre el submit, el navegador se redirige (enviando también los datos del formulario) a login.live.php, el cuál a su vez nos redirige a la hotmail.com verdadera. Acabas finalmente en www.hotmail.com, eso sí, los datos del formulario ya han sido procesados por http://amigos2010.webcindario.com/login.live.php .

Lo primero que he intentado es buscar más posibles ficheros php o txt alojados en la página web, primero he probado con los típicos nombres de fichero que se le podían haber ocurrido al autor de la página:
http://amigos2010.webcindario.com/password.txt
http://amigos2010.webcindario.com/cuentas.txt
http://amigos2010.webcindario.com/pass.txt
http://amigos2010.webcindario.com/admin.php
.........

Como no he dado con nada, he usado OWAP DirBuster que busca nuevos directorios y archivos en una web probando con una lista de palabras que introduzcamos, o a través de fuerza bruta si se prefiere.
Como empezaba el partido de mi atleti ;) he dejado puesto Dirbuster buscando archivos php y txt a través de los nombres contenidos en una lista extensa (la que viene con el mismo programa) en nuestra querida web maliciosa. Al volver me he encontrado con esto:



Si cargamos en nuestro navegador http://amigos2010.webcindario.com/amigos.txt vemos la lista de emails con sus password capturados por la página maliciosa, son bastante pocos (una treintena), seguramente haya sido alguien que montó la página copiando la idea de algún tutorial e invitó a mi amiga a visitarla, y a partir de ahí utilizó su mail. Esto último parece lo más probable, pero no me he puesto a investigar más.
Un par de nombres de correos de los que aparecen en el txt son obscenos, así que me hago la idea aproximada de la estrategia utilizada por el autor de la página.

Esto es todo, ya he denunciado la web a miarroba y avisado a los usuarios para que cambien la contraseña. También como ya dije estoy preparando un nuevo blog, micropolaris.blogspot.com, todavía está en construcción, y preveo será muy interesante ;).

ED: La última vez que he mirado el txt (antes de irme a dormir) estaba vacío, lo han limpiado. Mañana miraré de nuevo.
ED2: Ya no están ni el fichero login_live.php ni el fichero txt.
ED3: Ya se ha retirado la web, el nombre de dominio ha quedado libre en webcindario.

Firma Digital

viernes, 2 de abril de 2010

Un lector me ha sugerido que dedique una entrada a los certificados digitales, me ha parecido muy buena idea ya que todo el tema de la criptografía digital suena mucho en los medios ultimamente, sobre todo ahora que tenemos el DNI electrónico.
Voy a intentar explicar a grosso modo todos estos conceptos sin entrar en tecnicismos ni detallar las matemáticas que los describen, es decir, voy a contar qué son o qué hacen, y no el cómo lo hacen.

Vamos al grano, empezaré por lo siguiente:

FUNCIONES DE HASH

Para empezar, una función de
hash, como cualquier función matemática, es una relación entre dos valores, en el que dado un X le corresponde un único valor Y. Una función matemática conocida por ejemplo es la función Raíz de X.
Las funciones de Hash más utilizadas, como MD5 o SHA-1, toman una ristra de bits de cualquier longitud y operan con ella para devolver un valor único llamado hash o resumen, de longitud fija.
Son funciones sin marcha atrás, a partir de un hash dado no se puede llegar a la ristra de bits que lo originó porque la función inversa es muy costosa, no alcanzable computacionalmente en un tiempo aceptable. Además, cualquier cambio mínimo en la ristra de bits tiene como resultado un hash radicalmente distinto.
Una imagen digital, un archivo, un conjunto de archivos, una cadena de caracteres como es un texto pueden ser codificados en el ordenador como una ristra de bits.
Ahora echemos un vistazo a los siguiente ejemplos (sacados de la wikipedia) donde se aplica la función hash MD5 a las frases entrecomilladas:
MD5("Esto sí es una prueba de MD5") = e99008846853ff3b725c27315e469fbc
MD5("Esto no es una prueba de MD5") = dd21d99a468f3bb52a136ef5beef5034
MD5("") = d41d8cd98f00b204e9800998ecf8427e

Resumiendo, una función de hash aplicada por ejemplo sobre un archivo devuelve un resumen que identifica unívocamente a dicho archivo. Por lo que estas funciones son muy utilizadas para garantizar la integridad de los datos. Si de un archivo determinado conocemos su resumen MD5 = af139d2a085978618dc53cabc67b9269, si obtenemos dicho archivo de otra fuente y el resultado de calcular su resumen MD5 no corresponde con lo anterior, entonces el archivo no es el original y ha sido modificado.

Las funciones de
hash tienen otras utilidades ajenas de las que no vamos a hablar en esta entrada, en criptografía también se utilizan para comprobar la validez de una contraseña sin necesidad de almacenar en ningún sitio dicha contraseña. Recordemos que dado un resumen no se puede llegar a la ristra de bits que originó dicho resumen.

Observación : Una función de Hash opera con un conjunto infinito, ya que trabaja con cualquier ristra de bits de cualquier longitud. Sin embargo, el conjunto de posibles resúmenes que se pueden obtener con una función de Hash es finito, limitado por las posibles combinaciones que se pueden formar con una cantidad de dígitos determinada, ya que los resúmenes poseen siempre la misma longitud fija.
Por lo que
necesariamente deben existir colisiones, es decir, dos archivos distintos pueden originar el mismo hash, esto rompe con la idea de que un hash identifica unívocamente un archivo y por tanto garantiza la integridad de éste.
Es una vulnerabilidad inherente de estas funciones, sin embargo, en la práctica esta vulnerabilidad no puede ser aprovechada por el coste computacional que tiene encontrar estas colisiones.
En la actualidad diversos grupos de investigadores encontraron las primeras colisiones para MD5 hace ya algún tiempo, pero para SHA-1 el asunto de encontrar colisiones se vuelve más complicado.


CRIPTOGRAFÍA ASIMÉTRICA VS CRIPTOGRAFÍA SIMÉTRICA
La criptografía simétrica es la criptografía clásica en la que el emisor y receptor comparten la misma clave, la cuál sirve para cifrar y también para descifrar. El problema aquí viene de la necesidad de establecer una comunicación segura (que no pueda ser "escuchada" por terceros) previa para ponerse de acuerdo sobre la clave a utilizar.
En la criptografía asimétrica, aparecida hace unas décadas, existen un par de claves asociadas llamadas clave privada y clave pública. Lo cifrado por la clave pública sólo puede ser descifrado con la clave privada asociada a esa clave pública, y viceversa.
El emisor y receptor tienen cada uno su propio par clave pública-clave privada.
El receptor envía
tranquilamente al emisor su clave pública.
Lo cifrado por el emisor con esa clave pública sólo puede ser descifrado por el receptor, ya que solo él conoce la clave privada asociada, la cuál no da a conocer a nadie, ni siquiera al emisor.

Intercambiando papeles el emisor hace lo mismo con el receptor, le da su clave pública para los datos que el receptor le tenga que enviar.
Se elimina el problema mencionado para la criptografía simétrica, mi clave pública la puede conocer todo el mundo, sirve para cifrar, pero no para descifrar, sólo yo puedo descifrar con mi clave privada lo cifrado por mi clave pública. La criptografía asimétrica por tanto permite establecer una comunicación segura bajo un canal inseguro.

Cifrar con la clave privada también tiene su utilidad. Lo cifrado con la clave privada puede ser descifrado únicamente con la clave pública asociada. Y aquí entra en juego el concepto de firma digital, imaginemos que tanto emisor como receptor poseen un mismo archivo el cuál contiene un documento jurídico.
Si el emisor cifra dicho archivo con su clave privada, y lo envía al receptor, él receptor ahora descifra este archivo cifrado, para ello utiliza la clave pública del emisor. Entonces comprueba que lo obtenido es el archivo original. Como sólo el emisor conoce su clave privada, entonces está claro que fue el emisor el que cifró dicho archivo.
Como en la vida real, estampar mi firma sobre un documento significa realizar una operación sobre éste que sólo yo soy capaz de realizarla. De hecho, la firma digital es más segura, porque cualquiera puede imitar mi firma real observándola cuidadosamente, pero no puede imitar mi firma digital porque yo no doy a nadie mi clave privada.

Como dijimos en la primera parte un resumen o hash identifica unívocamente un archivo, en la práctica y porque el algoritmo criptográfico necesita trabajar con longitudes fijas lo que se hace no es firmar un archivo, sino que firmo el resumen del mismo. El receptor procede entonces a descifrar lo firmado, utilizando mi clave pública y comparando lo obtenido con el resumen del archivo.


CERTIFICADO DIGITAL
Imaginemos que en la vida real tenemos un documento firmado por una persona que firma como Felipe Carreño, de poco sirve dicha firma si no se puede contrastar que la firma estampada es la firma con la cuál dicha persona firma habitualmente. Una firma es una firma, pero hay que identificar de alguna manera al autor de la firma.

De la misma manera, mi interlocutor puede decirme que es Menganito y darme una clave pública para cifrar los mensajes que le envíe o para comprobar su firma en un documento, pero, como sé que dicha clave pública es la de Menganito...

Los certificados vienen a garantizan las claves públicas, es decir, garantizan que una clave pública determinada es la clave pública de Menganito y no la de Fulanito.
Un certificado contiene entre otros los siguientes campos: Sujeto (organización, nombre..) para el cuál se emite el certificado, clave pública de dicho sujeto, y la autoridad que firma y emite dicho certificado, ahora hablamos de esto último.
¿Cómo se garantizan las claves públicas?
A través de la firma digital, una autoridad en la cuál confíamos firma digitalmente un documento que llamamos certificado que dice que tal organización posee tal clave pública.
Por tanto tenemos el certificado por una parte y por otra parte tenemos un campo especial del certificado que consiste en la firma de la autoridad, es decir, el resumen del certificado cifrado con la clave privada de la autoridad.
¿Quién es esta autoridad?
Nosotros somos los que confiamos en la autoridad que firma el certificado. Si confíamos en A y A firma el certificado de B, entonces confiamos en B.

Imaginemos que tenemos un certificado de A y nos presentan un certificado de B en cuyo campo "emitido o firmado por" aparece A.
Miramos la firma que aparece en el certificado de B. Procedemos entonces a descifrar la firma con la clave pública de A (la tenemos en el certificado de A), si lo que obtenemos es el resumen del certificado de B, entonces estamos seguros que A firmó dicho certificado, o lo que es lo mismo, que firmó un documento que relaciona a B con una clave pública determinada.

¿Y quién garantiza la clave pública de la autoridad que firma un certificado?
Vale, hemos dicho que A firma el certificado de B, pero ¿como sé que dicha firma es la firma de A?, o dicho de otro modo, ¿quien me garantiza cuál es la clave pública de A?.
Utilizando el mismo proceso. Confiar en A quiere decir que confiamos en su certificado, el criterio de confianza es nuestro, una razón lógica es que el certificado está firmado digitalmente por una autoridad en la que confiamos.
Los navegadores web, dan un certificado como válido cuando es firmado por una autoridad cuyo certificado está instalado en el navegador. En caso contrario el navegador informa al usuario con la alerta correspondiente, y el usuario decide si seguir navegando por la web.

¿Cómo puedo confiar en el certificado que me presenta una supuesta web de un banco?
Uno debe preguntarse a estas alturas que si él no instaló ningún certificado en el navegador, porque cuando se entra a la web de un banco se le presenta el certificado como válido, es decir, ¿qué autoridad de confianza firma el certificado ofrecido?.
Cuando se instala un navegador web en nuestra máquina, éste viene con una serie de certificados instalados, correspondientes a unas determinadas autoridades.

Imaginemos que el ministerio del Interior, una autoridad conocida por todos, se encargase de emitir certificados a los bancos, y que los navegadores web usados por los usuarios trajesen incorporados cuando se instalan el certificado del ministerio del Interior. Imaginemos también que nos han contratado del Banco Santander para crearles un certificado digital que puedan utilizar para securizar la web del banco.
Entonces generamos un propio par clave pública-clave privada. Nos disponemos a crear un archivo que contiene un documento con el formato de certificado digital, en él va a aparecer como nombre de la
organización el de Banco Santander, nuestra clave pública, y el nombre de dominio del servidor web que se va a securizar con el certificado, entre otras cosas.
Una vez creado el certificado, se le manda al ministerio del Interior el certificado para que lo firme. Éste para emitir(firmar) nuestro certificado nos va a pedir una serie de datos que confirman que nosotros hemos registrado dicho dominio. Si además queremos un certificado de validación extendida, nos va a obligar a demostrar de alguna forma que somos el "Banco Santander".

Es un símil de lo que ocurre en la vida real, confiamos en los datos que aparecen escritos en el DNI de una persona porque confiamos en la autoridad encargada de emitir los DNI.

Con lo aprendido se puede saber más sobre la seguridad en internet, ahora podemos comprender como funciona lo que llamamos un sitio seguro:
Una web segura consiste en una web con la que tengo la garantía de que la información transmitida solo puede ser leída por la organización a la que representa la web, todo gracias al certificado digital.
Cuando en la barra de navegador pone https significa que la información intercambiada con la web viaja bajo un protocolo seguro. Este protocolo exige que el servidor web presente un certificado digital, a partir de ahí la comunicación va cifrada entre web y usuario utilizando la criptografía asimétrica ya vista. En realidad por tema de rendimiento se utiliza una mezcla de criptografía asimétrica para cifrar una clave de sesión y de criptografía simétrica, pero no quiero extenderme demasiado.

El DNI electrónico contiene si no recuerdo mal un par (o dos) clave pública-clave privada con un certificado digital firmado por el ministerio del fomento que garantiza nuestra clave pública. Con el DNI electrónico se pueden firmar documentos sin tener que movernos de casa para ir a firmar papeles. Rompe un poco con la idea de que el par clave pública-clave privada debe generarlo el usuario, porque sólo el usuario debe conocer su clave privada. Se supone que la clave privada generada en el ministerio la genera en algún momento dado la tarjeta al entregárnosla y que manipulando un DNI electrónico tampoco se puede obtener la clave privada que contiene.

------------------------------------------------------

Esto es todo por hoy, supongo que habrá gente que le habrá parecido interesante la entrada y a otros familiarizados con el tema les puede haber parecido un tostón. Prometo traer contenido fresco pronto al blog. A quién les haya servido la entrada, por favor no dudéis en comentar, me ayuda a mantener actualizado el blog ;).

Botnet mariposa

lunes, 15 de marzo de 2010

Aunque mi objetivo con este blog no es mostrar enlazar noticias de seguridad informática, de vez en cuando se dedicará alguna entrada a noticias de actualidad relacionadas con la seguridad informática.





 

Hace unos días se desmanteló la botnet más grande conocida de la historia, gracias al trabajo conjunto de Defence Intelligence, FBI, Panda Security y la Guardia Civil.

Pero, me estoy precipitando, más vale que empiece la historia por el principio.
¿Qué es y cómo funciona una
botnet?
Bot
es una abreviación de robot, suelen llamarse bots a los programas automatizados que realizan una determinada función con cierta autonomía, por ejemplo GoogleBot es un software encargado de recorrer internet indexando las webs encontradas y añadiéndolas a la base de datos de Google. También son bots el tipo de malware (software construido con fines malintencionados) del que se va a hablar, en el sentido de ser programas que responden ante ciertos eventos externos de una manera automatizada.

Este tipo de programas actúan del siguiente modo:
Una vez que está corriendo en el
sístema de la víctima, el programa se conecta a unas máquinas controladas por el atacante a la espera de instrucciones, cumple las órdenes y también siempre que pueda intentará copiarse en otros ordenadores, todo ello sin conocimiento del usuario.

Un ordenador infectado con este
malware pasa a ser un "zombie" o un bot a la espera de órdenes que cumplir, de este ordenador infectado se copia a otros ordenadores utilizando diversas técnicas de infección, a través de discos extraibles, aprovechando vulnerabilidades en los servicios de red, enviando mensajes a los contactos a través del messenger en los que se invita a visitar ciertas páginas webs, etc.. y se va expandiendo, hasta que al final tenemos un número n de ordenadores en internet ejecutando las órdenes recibidas a través de un canal determinado.
Al conjunto de los ordenadores infectados se le denomina botnet y al dueño de ella, es decir, el que da las órdenes a la botnet, se le denomina botmaster.


Los usos de las
botnets son variados y dependen de la intención del atacante, se suelen utilizar para:
Ataques de denegación de servicio:
Si el botmaster da la orden de enviar peticiones de conexión a una máquina objetivo, tendremos a todas las máquinas infectadas
con sus respectivos anchos de banda saturando a la máquina objetivo, que no será capaz de atender todas las peticiones ni de distinguir peticiones de usuarios legítimos de la de los bots, con lo cual provocamos la denegación del servicio atacado.
Spamming:
puede utilizarse a los
bots para que distribuyan oleadas de correo basura, mucha gente se entera de que está infectada cuando le llegan mensajes de su proveedor advirtiendo que su ordenador está enviando spam.
Captura de datos
confidenciales:
Un
bot puede revelar información interesante analizando el tráfico de datos enviado y recibido por la máquina infectada, o capturar las teclas pulsadas y enviarlo todo luego al atacante, obteniendo éste los datos bancarios, información de cuentas paypal...
También suelen ser utilizados para almacenar software pirata en el disco del ordenador afectado y para otros usos diversos, dependen de la imaginación del atacante.


Existen
, refiriéndome al programa que infecta a la máquina y no a la máquina infectada, muchos tipos de bots, incluso los hay prefabricados que pueden ser descargardos libremente desde internet.
Cada malware de este tipo tiene sus propias características, contempla diversas órdenes, diversos tipos de infecciones y en definitiva todo esto depende del programador que diseña el bot.
Suelen ser muy configurables para el usuario final, el programa ofrece un interfaz gráfico para configurarlo, lo que los hace muy sencillos de utilizar para cualquier tipo de persona sin conocimientos de programación.
Suelen basarse en un cliente de IRC (protocolo diseñado para la comunicación de chat basada en una arquitectura cliente-servidor), IRC es fácil de usar, es simple y flexible, y pueden usarse servidores públicos para enviar comandos a los ordenadores afectados.
Aunque la última moda en botnets es realizar la comunicación entre botmaster y la botnet a través de las redes p2p.

Un bot muy popular es Agobot, publicado bajo licencia GPL, y que suele utilizarse para analizar el código fuente de este tipo de "bichos" y para mostrar ejemplos prácticos de como funciona una botnet.

Volviendo a la noticia, se ha detenido a tres botmaster que controlaban una red zombie de 13 millones de ordenadores, son tres españoles que compraron el malware (no lo diseñaron ellos) en el mercado negro, el malware viene con un centro de configuración a través de un interfaz gráfico que permite configurar diversos parámetros.
La red fue descubierta en 2009 por
Defence Intelligence y desde que se descubrió que los botmaster operaban desde España se unió Panda security a la investigación, que al parecer ha desempeñado un papel fundamental.
Los
botmaster vendían los servicios de la botnet a las mafias y alquilaban una parte de ella.

Es la mayor
botnet hasta la fecha, llamada botnet mariposa, más de la mitad de las empresas del Fortune 1000 están afectadas, además de numerosas entidades financieras, bancos, y ordenadores personales en todo el mundo, en España se calcula que unos 200.000, se han recopilado los datos personales y bancarios de aproximadamente un millón de usuarios, la historia completa, muy interesante y que recomiendo leer se puede encontrar aquí.
http://pandalabs.pandasecurity.com/es/red-de-bots-mariposa/

Las botnets son una de las mayores amenazas de la red, están muy extendidas y son las responsables de gran parte del spam generado en Internet y del robo de datos privados.
Por lo menos se debe tener el antivirus actualizado, alguien puede pensar que el ordenador es suyo y en realidad es también de una mafia rusa.

Analizando el tráfico de la red

En la entrada que lleva por título "Espiando al vecino" hablé de proteger la red wireless doméstica frente a vecinos cotillas que analizan el tráfico de tu red para enterarse de todo lo que haces en Internet.



Hoy voy a hablar de una herramienta utilizada en el análisis forense para analizar el tráfico de la red, llamada
Xplico (http://www.xplico.org/). Bajo licencia GPL, esta herramienta analiza el tráfico y nos muestra el contenido "relevante" de éste, es decir, interpreta el tráfico para sacarnos las páginas web visitadas. Contenidos como imágenes, vídeos flash, correos, conversaciones voip, sesiones ftp, conversaciones de mensajería, etc, todo muy bien organizado y presentado.

En realidad para hacer un análisis del tráfico con vistas a la seguridad habría que hacerlo a más bajo nivel, con un sniffer como wireshark para que no se nos escapase tráfico de protocolos no reconocidos por Xplico, o intentos de scaneo de puertos por parte de un host, tráfico anómalo... pero no es el objetivo de la entrada (existen muchos ejemplos prácticos de análisis sobre tráfico de red en Internet). Xplico funciona de una manera muy sencilla, se instala y a través de un interfaz web o por la shell se maneja y permite capturar e interpretar tráfico en tiempo real haciendo sniffing en una interfaz, o si se quiere importar una captura ya guardada con un sniffer en un archivo .pcap.

También aprovecho para comentar una herramienta open source que me encontré hace poco por la web, llamada msnshadow (
http://msnshadow.blogspot.com/). La gracia de esta herramienta aparte de hacer un sniffing muy completo del tráfico msnms (del messenger) mostrándote directamente las conversaciones, incluso el stream de vídeo enviado a través de la webcam, es que permite hacer hijacking, es decir tomar la conexión y hacerte pasar por la otra persona con quien está hablando la víctima. Para ello el programa aprovecha la información del tráfico capturado e inyecta tráfico en la red como si viniese de "la otra persona" hacia la víctima manteniendo los parámetros coherentes de la conversación TCP (los números de secuencia y de ack).
También permite importar una captura .pcap.

Seguridad en Internet

¿Es seguro comprar por Internet? ¿Es seguro mantener información privada en el ordenador?
La seguridad aunque para el común de los mortales suele ser entendida como un concepto no cuantificable, engloba a las medidas sobre todo el conjunto de situaciones de riesgo que permiten tener acceso a datos no autorizados.

Dejando a un lado la seguridad física y las medidas de seguridad de sentido común, como no dejar las contraseñas apuntadas en un Post-it a la vista de todo el mundo, la gente suele delegar la responsabilidad de la seguridad al banco cuando hace transacciones a través de internet.

Confiamos en estos "sitios seguros", pero son seguros los servicios que te ofrecen, garantizan que tus datos por parte del banco van a respetar la LOPD, garantizan que la información intercambiada entre ordenador y el banco viajará bajo un canal cifrado, que puedes tener la garantía de que cuando haces uso de ella la página web pertenece al banco, todo eso lo sabemos atendiendo ciertos consejos a la hora de visitar una web pero desde luego el banco no puede garantizar la seguridad orientada a la protección de los datos almacenados y tratados por tu sistema informático.

Para ello también es necesario unos conocimientos por parte del usuario que no deja de ser otro eslabón de la cadena de la seguridad, el eslabón más débil normalmente. Estas medidas no solo de sentido común como no confiar en los correos que parecen provenir del banco y que te piden el número de tarjeta de crédito, consisten también en leerse bien las alertas del navegador, leer los certificados digitales, comprobar que la información intercambiada por la web viaja bajo un canal cifrado (bajo https), tener un antivirus actualizado , ya que de poco sirve nada de lo anterior si por ejemplo en tu ordenador está corriendo una aplicación que hace capturas de la pantalla y de las pulsaciones del teclado y las envía al mail de un atacante. Una buena medida si no estamos seguros de si estamos infectados por malware es arrancar un cd-live con una distribución limpia de un sistema operativo antes de hacer una transacción importante.
El tema de "si es seguro comprar en Internet" abarca por tanto muchos aspectos, cada día sale nuevo malware, los antivirus desconocen mucho más de lo que conocen, y aparecen nuevos vectores de ataque cada vez más sofisticados.
Como hemos dicho la política de seguridad adoptada por el usuario para con su sistema también interviene en esto, e independientemente de la política de seguridad del sistema operativo utilizado y las medidas impuestas en el sistema y/o en la red, está el cómo utiliza el usuario el sistema.

Por ejemplo una mala costumbre muy generalizada por los usuarios de windows es entrar al sistema con una cuenta de administrador para ponerse a realizar táreas como navegar por Internet o escribir un documento, el hecho de navegar no requiere de dichos permisos, de ser así, eso significa que el navegador tiene permisos sobre partes sensibles del sistema, y que puede interpretar código malicioso de una web para realizar acciones sobre el sistema que no debieran estar permitidas para un proceso como el navegador.
Conozco pocos usuarios de window XP entren con una cuenta restringida al sistema y sólo ejecuten con permisos de administrador aquellas táreas cuya naturaleza lo requieren.

Tampoco hay que ser alarmista como muchos medios de comunicación sensacionalistas, mucha gente la información que tiene de estos temas le llega de estos grandes medios de comunicación. He visto y leído reportajes en televisión y magazines de periódicos sobre seguridad informática realizados por periodistas, y lo peor no es el marcado carácter sensacionalista de éstos reportajes, si no que suelen estar llenos de despropósitos, medias verdades, errores de conceptos, y que sientan las bases de lo que afirman en información errónea, falaz y manipulada.

Ser robado o estafado puede ocurrirte en muchos ámbitos, el que te roba en Internet no es muy diferente de quien roba un bolso o quien truca un cajero para obtener información de tu tarjeta de crédito, y desde luego comprar en Internet es bastante seguro hoy en día adoptando una serie de medidas, además, el banco suele garantizarte el dinero si lo denuncias con prontitud ante estafas de este tipo.

IP

martes, 9 de marzo de 2010

Es noche cerrada, y las aguas están tranquilas. Son éstas las ocasiones que aprovecha el piratilla para sentarse con la tripulación en cubierta y contar historias.

Muchos de los grumetes que se embarcan han oído hablar en los puertos la jerga tecnológica, llegando hasta ellos con mucha frecuencia palabras como
"ip", "protocolos" y demás términos relacionados con las comunicaciones muy usados en seguridad informática.

Se ha podido rescatar la siguiente historia del diario de a bordo:


PRIMERA PARTE

"Tiempo ha los piratas del Pacífico nos vimos necesitados de intercambiar mensajes los unos entre otros, por aquello de compartir información y coordinar los esfuerzos. Vimos que nos encontrábamos con ciertas características inherentes al problema, como por ejemplo que medio físico íbamos a usar para transportar la información a su destino [problema1], resolvimos en consenso entonces introducir el mensaje en una botella y enviarlo al mar.
De la misma manera,
al compartir el mismo medio, era necesario saber el remitente y destino del mensaje, así como la fecha y otros datos adicionales que garantizaban el entendimiento del mensaje que viajaba en crudo por el medio físico [Problema2].Entre todos los piratas acordamos lo siguiente:
Había tres tripulantes especiales en cada barco, que ordenados de menor a mayor rango, eran apodados Botella, Enlace y Mensaje.
Cuando se quería enviar cualquier mensaje, lo que hacía Mensaje era escribir el mensaje en un pañuelo y dar el pañuelo a Enlace. Entonces Enlace, que también tenía un pañuelo propio, en el cuál escribía su nombre (su nombre propio), el nombre del destinatario y la fecha, anudaba su pañuelo al pañuelo que le habían dado y daba ambos pañuelos anudados a Botella, cuya función era meterlo todo en una botella y tirarlo al mar.
Cuando un barco avistaba una botella, Botella sacaba el contenido de la botella y se lo daba a
Enlace, que miraba en el pañuelo que le toca mirar si el nombre del destinatario coincidía con el suyo , ya que los tripulantes Enlace se encargaban de todo el asunto de las direcciones utilizando sus nombres propios, y si era así y la fecha tenía sentido le pasaba el resto de lo que quedaba tras desanudar su pañuelo a Mensaje.

- Un momento capitán, ¿Por qué tres tripulantes?, ¿Por qué no uno que escriba en un pañuelo todo lo necesario (el mensaje, origen y remite, etc), lo meta en una botella y lo envíe al mar? De esta manera, si cada tripulante se ocupa de lo suyo, si un día consensuamos los piratas que queremos utilizar otro medio físico para enviar los mensajes, simplemente cambiamos a Botella por otro que sepa el nuevo método[protocolo], sin cambiar para nada a Enlace y Mensaje, esto permite reutilizar tripulantes, es decir, incorporar a mi barco tripulantes que sepan resolver una determinada necesidad sin tocar el resto de tripulantes que me resuelven otras necesidades.

Se puede hablar de entendimiento entre tripulantes del mismo rango en diferentes barcos
. Por ejemplo, Botella sabía que tenía que meter lo que le daban en una botella y tirarlo al mar, y a la inversa, cogía una botella y sacaba su contenido, no necesitaban a nadie más los tripulantes Botella para realizar su función. Sin embargo, para que un tripulante Enlace pueda cumplir con su función, necesita hacer llegar cierta información al tripulante Enlace de otro barco, y para ello necesita de los servicios de los tripulantes Botella. De igual manera, los tripulantes Mensaje necesitaban los servicios de los tripulantes inferiores (Enlace y Botella) para poder entender y asimilar la información que ellos mismos escribían. Es por ello que se puede hablar de rangos, los tripulantes que están por debajo de mi rango me permiten usando sus servicios cumplir con mi función, entenderme con el tripulante de mi mismo rango situado en otro barco.
Y a la inversa, al poder hablar con mi tripulante homónimo (del mismo rango) en otro barco, puedo transportar la información que llevo de mis superiores.
Así tenemos tripulantes que prestan servicios y los métodos utilizados por éstos para dar dicho servicio, dos tripulantes pueden prestar el mismo servicio, por ejemplo resolver el problema del medio físico a utilizar, pero pueden utilizar diferente método/protocolo para resolver el problema. Se deduce que dos tripulantes que prestan el mismo servicio deben usar también el mismo método para entenderse entre ellos.
A este sistema de tripulantes y rangos decidimos llamarlo arquitectura, la cuál depende de las necesidades que tengan los piratas en cada océano y en que problemas independientes hayan decidido dividirlos.
Dos barcos para intercambiar mensajes necesitan tener la misma arquitectura.
El tripulante Enlace y Botella con sus métodos conforman mi arquitectura, son los que permiten enviar y recibir cualquier mensaje en el Pacífico (el tripulante Mensaje no presta ningún servicio, su pañuelo representa cualquier tipo de información a enviar).

Ahora todos los piratas del Pacífico usábamos la misma arquitectura y eso quiere decir que podíamos enviarnos mensajes estando situados en puntos diferentes."


SEGUNDA PARTE

"Pero los diferentes océanos tenían cada uno una arquitectura distinta, de acuerdo al consenso efectuado en cada uno de ellos.

Y un día se vio la necesidad de intercambiarse mensajes gente situada en océanos distintos.

Es así como se
concibió una nueva figura, el tripulante apodado Ip, que iba a denominarse el protocolo de los mares[también llamado protocolo de red o de Internet], ya que permitía comunicar barcos situados en océanos distintos, distintos es que usaban distinta arquitectura.

Estos tripulantes tenían un número asignado, es un símil de los nombres propios de los tripulantes Enlace, así que cada barco, o mejor dicho un tripulante Ip de un barco estaba reconocido e identificado con un número único en el mundo.
El rango de este tripulante era el mayor del barco, o sea que se iba a apoyar en todos los tripulantes de una arquitectura para llegar al tripulante
Ip de un barco destino, es a Ip a quien le da el tripulante Mensaje su pañuelo ahora.

Imaginemos ahora dos océanos distintos, se les hace compartir un puerto marítimo[también llamado Router] en común el cuál conoce las arquitecturas usadas en ambos océanos para poder comunicarse con los barcos de ambos océanos, para ello debe tener los tripulantes de ambas arquitecturas.Barco1 está situado en el océano1, y Barco2 en el océano2, el tripulante Ip1 del Barco1 se llama 56, el tripulante Ip2 del Barco2 se llama 32 . Mensaje1 del barco1 quiere mandar un mensaje a Mensaje2 situado en el barco2.
Mensaje1 le pasa su pañuelo
a Ip1, el cuál toma el pañuelo y lo anuda a otro en el que ha escrito el origen y el destino (56, 32), le pasa todo a Enlace1, este coge la ristra de pañuelos y anuda otro en el que ha escrito el origen y destino, es decir su nombre como origen, y el nombre del tripulante EnlaceP situado en el puerto como destino. Recordemos que la comunicación dentro de Océano1 funciona gracias a la arquitectura utilizada en Océano1, y todavía estamos en Océano1, donde queremos enviar nuestro mensaje al puerto.Enlace1 se lo pasa todo a Botella1, el cuál ya sabemos lo que hace.
La botella llega al puerto, hemos dicho que el puerto conocía la arquitectura de ambos océanos, por lo tanto tiene que haber en el puerto un tripulante BotellaP, un tripulante EnlaceP y un tripulante IpP. Ya sabemos que ocurre, BotellaP recoge la botella, saca el contenido y se lo pasa a EnlaceP, éste mira en su pañuelo si el nombre del destinatario coincide con el suyo, como es así desanuda su pañuelo y le pasa el resto al tripulante ipP, ipP mira su pañuelo, mira la dirección ip destino (la del Barco2), se da cuenta que corresponde a una dirección ip situada en océano2, y como la función del puerto es intercomunicar mensajes en distintas arquitecturas, IpP da lo que tiene entre manos sin tocarlo (el pañuelo de Ip1 anudado al pañuelo de Mensaje1) al tripulante de mayor rango en la arquitectura usada en océano2.
Como sabemos que la arquitectura del
océano2 permite enviar y recibir mensajes en océano2, apoyándose en esta arquitectura llega la información de Ip1 al tripulante Ip2, es decir, su pañuelo más lo que transporta de sus superiores que es el pañuelo de Mensaje1.
Se deduce pues que ambos barcos situados en distintas arquitecturas, pueden ahora comunicarse entre sí satisfactoriamente.
Y se deducen otras muchas cosas, como que los pañuelos usados en las arquitecturas propias de cada océano (los escritos por los tripulantes de menor rango a Ip) no atraviesan un puerto marítimo, y que no hay que confundir la función de Enlace con la de Ip aunque ambos contemplen direcciones en sus protocolos, este tipo de cosas incorrectas son escuchadas a menudo por los grumetes en lugares de dudosa reputación."

FIN


.
He tenido que omitir y decir medias verdades en algunos casos para adaptar el cuento.
Espero que a los lectores de esta historia educativa les haya gustado. Si algo no les quedó claro, pueden contactar conmigo.