Jorge Alberto Mussuto Sr.

Jorge Alberto Mussuto Sr.
Somewhere in Massachusetts ®

Friday, September 10, 2010

Introducción a RFID

Introducción a RFID: "

La tecnología RFID (Radio Frequency Identification) permite identificar de manera unívoca automáticamente un objeto gracias a una onda emisora incorporada en el mismo, que transmite por radiofrecuencia los datos identificativos del objeto. Actualmente estamos acostumbrados a encontrar esta tecnología en forma de etiquetas adhesivas, de forma que un objeto con una de estas etiquetas puede ser localizado a una distancia que va desde unos pocos centímetros hasta varios kilómetros, dependiendo de la fiabilidad de varias características de estas etiquetas, como pueden ser la frecuencia de la emisión, la antena o el tipo de chip que se use. En la etiqueta se graban los datos identificativos del objeto al que ésta está pegada, y dicha etiqueta genera una señal de radio que un lector físico se encargaría de recibir, transformar en datos y transmitir dicha información a la aplicación informática especifica (middleware).


La tecnología RFID va dirigida principalmente al sector logístico y al sector de la defensa y seguridad, pero sus beneficios son aplicables a otros ámbitos ya que dispone de múltiples ventajas. Entre otras, podemos citar que permite el almacenamiento de un gran volumen de datos mediante un mecanismo de diminutas dimensiones, automatiza los procesos para mantener la trazabilidad y permite incluir una mayor información a la etiqueta reduciendo así los errores humanos, evita su visibilidad en caso de intento de robo y permite mayor facilidad de retirada de un determinado producto del mercado en caso de que se manifieste un peligro para la seguridad.


Actualmente podemos encontrar dicha tecnología en tiendas de artículos, para identificar los productos y sus precios o como medida de seguridad, en transportes públicos para el control de acceso o de equipajes, en identificación de mascotas implantando un chip subcutáneo, en pago automático de peajes, en bibliotecas, eventos deportivos tipo maratones para identificar corredores, en el ámbito sanitario para control de medicamentos, identificación de muestras, etc.


Basándonos en lo anterior podemos hablar de cuatro componentes básicos en ésta tecnología:



  • Las etiquetas: también conocidas como tags o transpondedores (transmisor+responder). Están compuestas por una antena que se encarga de transmitir la información, un transductor radio que convierte la información que transmite la antena y un microchip capaz de almacenar el numero de identificación y otros datos. Dichas etiquetas tienen un coste de apenas unos céntimos de euro y sus dimensiones son de hasta 0.4 mm². Según la fuente de energía que usen podemos encontrar:

    • Etiquetas pasivas: no necesitan fuente de alimentación interna, son circuitos resonantes. Alcanzan distancias entre unos pocos milímetros y 7 metros. Son de un tamaño menor que el habitual. Se suelen insertar en pegatinas y son las mas baratas del mercado.

    • Etiquetas activas: poseen una batería interna, por lo que su cobertura (cientos de metros) y capacidad de almacenamiento es mayor. Se puede usar en zonas de agua, o con mucha presencia de metales y siguen siendo válidas. Son más fiables y seguras, por lo tanto más caras y de mayor tamaño.

    • Etiquetas semi-pasivas: mezcla de las dos anteriores.


    Según la frecuencia a la que trabajen, las etiquetas se pueden clasificar en baja (125kHz – 134kHz), alta (13,553 MHz – 13,567 MHz ), ultra alta (400 MHz – 1000 MHz ) y microondas (2,45 GHz – 5,4 GHz ). Dicha frecuencia está ligada a diferentes características, como la capacidad de trasmisión de datos, velocidad, radio de cobertura, coste…


  • Lector de RFID: recibe la información emitida por las etiquetas y la transfiere al middleware. Está formado por una antena, un transceptor y un decodificador. Si la etiqueta permite escritura también incorporaría un módulo programador.

  • Middleware: software instalado en un servidor y que hace de intermediario entre el lector y las aplicaciones. Filtra los datos que recibe, para que a las aplicaciones sólo les llegue la información útil.

  • Programadores RFID: dispositivos que realizan la escritura sobre la etiqueta. Codifican la información en un microchip ubicado dentro de la etiqueta RFID.


Además de las aplicaciones citadas anteriormente, se están estudiando otras nuevas aplicaciones de esta tecnología:



  • Pagos electrónicos con móviles a través de la tecnología NFC (Near Field Communication), que permite que un teléfono móvil recupere los datos de una etiqueta RFID. Esto, combinado con medios de pago electrónicos para móviles (Mobipay, Paybox, etc.), permite comprar productos con tal solo acercar el teléfono al punto de información del producto de donde RFID extrae los datos.

  • Pasaportes electrónicos que almacenan la información del titular, fotografía, huella dactilar, etc.

  • Activación de vehículos y maquinaria. La etiqueta actúa en este caso como control de verificación personal.


Como hemos podido observar, la tecnología RFID plantea múltiples e interesantes nuevas oportunidades de mejorar la eficiencia de los sistemas de uso diario además de añadir comodidad, pero dichas mejoras plantean nuevos riesgos, algunos de los cuales veremos en la siguiente entrada de la serie.


(Más información en la Guía sobre seguridad y privacidad de la tecnología RFID que ha publicado INTECO)

Introducción a RFID (II)

Introducción a RFID (II): "

Como pudimos observar en la primera parte de esta introducción publicada hace un par de días, la tecnología RFID plantea nuevas oportunidades de mejorar la eficiencia de los sistemas de uso diario además de añadir comodidad. Pero dichas mejoras conllevan nuevos riesgos para la seguridad por ataques o caídas del servicio, riesgos para la privacidad como acceso ilegitimo a información sensible, y otros riesgos derivados de la exposición a las radiaciones. Dichos riesgos se comentarán un poco mas en profundidad a continuación. Todos los participantes de esta tecnología tienen la responsabilidad de prevenir estos riesgos, desde los responsables de desplegar la tecnología hasta los organismos o los propios usuarios.


Los riesgos para la seguridad son los derivados de acciones que pueden deteriorar, interrumpir o sacar provecho de forma maliciosa del servicio. Podemos citar diversos ataques:



  • La forma mas sencilla de ataque a un sistema RFID es evitar la comunicación entre lector y etiqueta, lo que se consigue introduciendo la etiqueta en una “jaula de Faraday” (en este blog se explicó el efecto Faraday en este post) creando un campo electromagnético que interfiera con el que ha creado el lector. Este ataque puede ser considerando, en otro entorno completamente diferente, como un sistema de protección. Por ejemplo, existen fundas especiales para el pasaporte electrónico que crean una “jaula de Faraday” evitando lecturas no autorizadas de su información.

  • Otro tipo de ataque sería la suplantación, que consiste en enviar información falsa que parece ser válida. De esta manera se podrían obtener productos caros con etiquetas suplantadas de productos mas económicos.

  • Un tercer ataque detectado es la inserción de comandos ejecutables en la memoria de datos de la etiqueta, que podrían inhabilitar lectores y otros elementos permitiendo algún tipo de fraude o una DoS.

  • Por otro lado, si saturamos el sistema enviándole de forma masiva mas datos de los que es capaz de procesar, o somos capaces de anular la comunicación de radiofrecuencia emitiendo ruido potente estaríamos frente a un ataque de denegación de servicio.


Aparte de éstos, también se pueden dar ataques como inyectar código SQL hacia el soporte físico que lee la tarjeta, ataques por inyección de malware o ataques Man in the Middle capaz de vulnerar la confianza mutua en los procesos de comunicación y reemplazar una de las entidades. También se pueden inutilizar las etiquetas sometiéndolas a un fuerte campo electromagnético si disponemos por ejemplo de una antena altamente direccional. Todos estos ataques pueden ser parcial o totalmente mitigados aumentando la capacidad de memoria y procesamiento de las etiquetas, permitiendo de esta manera implementar mecanismos avanzados de seguridad y cifrado.


Para evitar estos riesgos, se recomienda usar etiquetas de sólo lectura o no escribir los datos directamente en ellas, incluir únicamente un código en la etiqueta y el resto de información en una BBDD con mas seguridad, e incluir métodos de autenticación previos al borrado o desactivación de las etiquetas, y para realizar la comunicación entre lector y etiqueta.


Hablemos ahora de los riesgos para la privacidad de los usuarios. En éstos, se usan ataques con técnicas similares a las anteriormente mencionadas pero en los que se accede a la información personal. Este tipo de ataques van desde accesos no permitidos a las etiquetas con datos personales, hasta el rastreo de las acciones o gustos de las personas: accesos a recintos, hábitos, transportes…etc.


Las medidas para evitar los riesgos para la privacidad son una tarea primordial para las organizaciones, y requieren de una adecuada planificación del sistema de información. Al respecto, la Comisión Europea ha aprobado una Recomendación sobre Privacidad en Comunicaciones RFID denominada “On the implementation of privacy and data protection principles in applications supported by radio-frequency identification SEC (2009) 3200 final“, en la que se establecen recomendaciones y buenas practicas para implementar comunicaciones RFID.


Decir también que la Ley orgánica 15/1999 de 13 de diciembre de Protección de Datos de Carácter Personal (LOPD) es directamente aplicable a la tecnología RFID y con ello cada uno de los principios, derechos y obligaciones que regula. Por tanto los desarrolladores de este tipo de productos tiene que tener en cuenta entre otras cosas que:



  • Debe realizarse un juicio previo sobre si realmente es necesario usar tecnología RFID, definir las funcionalidades claramente y adoptarse revisiones en relación con la cancelación posterior de los datos personales recopilados cuando no sean necesarios.

  • Los usuarios deberán ser informados de la existencia del tratamiento que se le da a sus datos personales.

  • Debe garantizarse la seguridad de todos los recursos relacionados con los tratamientos de datos personales vinculados a la tecnología RFID (hardware, software, organizativos…). La implantación de este tipo de tecnologías en territorio español debe respetar las normas del Real decreto 1720/2007.


Por último y no menos importante, deberá tenerse en cuenta el futuro desarrollo de la Directiva 2009/136/CE7 que indica la necesidad de velar por la protección de los derechos fundamentales, y en particular del derecho fundamental a la protección de datos, cuando las etiquetas RFID estén conectadas a redes públicas de comunicaciones electrónicas o usen servicios de comunicaciones electrónicas como infraestructura básica. En este caso, deberán aplicarse las disposiciones pertinentes de la Directiva 2002/58/CE (Directiva sobre la privacidad y las comunicaciones electrónicas), incluidas las relativas a seguridad, datos de tráfico y de localización, y a la confidencialidad.


Cómo recomendaciones finales para los usuarios, para evitar este acceso indeseado a la información existen diversos sistemas:



  • Utilización de etiquetas watchdog. Estas etiquetas informan de intentos de lectura y escritura que se hagan en su área de actuación.

  • Aislamiento. Evitando la lectura de las etiquetas salvo en los momentos que se desee. Para ello, sólo hay que introducir la etiqueta en una funda de material metálico o plástico, que haga la función de “jaula de Faraday” comentada anteriormente.

  • Firewall RFID. Estos dispositivos crean una zona segura alrededor del usuario mediante la emisión de ondas que anulan la efectividad de RFID. Se denominan también inhibidores de radio- frecuencia. Esta solución es aplicable a entornos de máxima seguridad, no compatible con situaciones en las que ciertas lecturas deben ser permitidas y otras no.

  • La inutilización de las etiquetas una vez se haya realizado la transacción, destruyéndola físicamente, o mediante el comando KILL.


Con esto, finaliza la breve y básica introducción a RFID; si quieren indagar más en el tema, pueden seguir con la Guía sobre seguridad y privacidad de la tecnología RFID que ha publicado INTECO, y con los múltiples recursos que ofrece la red sobre esta tecnología tan interesante como potencialmente peligrosa.

Seguridad en Cloud computing

Seguridad en Cloud computing: "

He decidido poner el término Cloud computing en el titulo del post para tener mas visitas, ya que es un termino de moda, pero si me disculpan la pequeña “trampa”, en su lugar voy a hablar de la seguridad en Infraestructuras compartidas, que es un tema tanto o más interesante en seguridad.


Cuando hablamos de Infraestructuras compartidas nos referimos a la serie de infraestructuras TI que en cualquier organización son compartidas por diversos proyectos. Por ejemplo es habitual que se comparta la infraestructura de red, el almacenamiento en una cabina de discos, o los mismos servidores físicos mediante virtualización; si es un proveedor de servicios el que ofrece la infraestructura, estos elementos estarán compartidos además entre diversos clientes que en si mismo son organizaciones diferentes (vamos, el servicio de hosting de toda la vida).


Así pues, vamos a comentar diversas vulnerabilidades que con las medidas adecuadas están contempladas y en teoría resueltas, pero que son en todo caso posibles vulnerabilidades que pueden aparecer cuando se comparten infraestructuras.


Infraestructura de red compartida: No es difícil imaginar un escenario donde tenemos varios servidores conectados a la misma infraestructura de red, donde, si todo se configura bien no deberían haber problemas, pero si se configura mal, pueden pasar entre otras las siguientes cosas: (1)



  • Sniffing: Un equipo puede ver el trafico del equipo de al lado; esto puede pasar si están conectados al mismo switch y no se han tomado las necesarias precauciones (arp posisoning).

  • DOS: Al estar un equipo próximo a otro, puede atacarlo con un gran ancho de banda o un gran numero de conexiones.

  • Interceptar/sustituir: Es posible que un equipo pueda suplantar a otro (p.e. cambiando la IP) para interceptar el trafico o suplantar respuestas.

  • Atacar: Es posible que al compartir una misma infraestructura de red, desde dentro de la misma red (por ejemplo dentro de la misma DMZ) los equipos puedan atacar a los otros, teniendo mas visibilidad de servicios que desde el exterior están cerrados. Una descripción de cómo hacer esto pueden encontrarla aquí.


¿Están las infraestructuras de red compartidas convenientemente independizadas en los servicios de hosting y de Cloud?


Infraestructura de disco compartida: En cualquier infraestructura TI, es habitual que se disponga de una cabina de disco (SAN/NAS) a la que se conectan todos los servidores (desde servidores internos, hasta servidores de la DMZ)(2)



  • Acceso a datos (no autorizados): Técnicamente es posible que un servidor se conecte al disco de otro servidor si comparte cabina, con lo que podría leer o incluso alterar los datos. Las cabinas de disco normalmente limitan qué servidor puede conectar a qué parte de disco, basándose en la direccion “MAC” (se llama WWN) de la tarjeta. ¿Podría un hacker cambiar esa dirección? ¿Tenemos hard-zoning para evitar este ataque? Aun no he visto ninguna instalación en que se configure hard-zoning ya que es bastante mas incómodo. Si piensa que es muy raro que todos los servidores tengan acceso a los mismos discos, piense en todos sus servidores host de virtualizacion que pueden acceder a todos los discos del cluster.

  • DOS/Carga: ¿Qué pasa si un servidor monopoliza todos los recursos?

  • Acceso a datos borrados: ¿Qué pasa si montamos una unidad de disco en el servidor de un cliente y luego la conectamos a otro servidor de otro cliente? ¿Si leemos el disco vemos los datos del otro cliente? Muchos me diréis que es una posibilidad muy extraña ya que las cabinas de discos limpian las LUNs antes de asignarlas, pero esto “se le paso” a Amazon Ec2.


¿Están las infraestructuras de almacenamiento convenientemente independizadas en los servicios de hosting y de Cloud? (3)



  • Virtualización: Cualquier entorno TI de hoy en día dispone de servidores virtualizados, ya que es una de la manera mas efectivas de compartir recursos, garantizar la disponibilidad, ahorrar energía y muchas otras cosas. Numerosos sistemas Cloud (IAAS) están basados fundamentalmente en sistemas virtualizados, con APIs de autoprovisionamiento. Veamos algunos de los ataques que se pueden realizar en este tipo de entornos.

    • Ataques de guest a host: Ya han aparecido vulnerabilidades mediante las cuales un guest ha podido ejecutar código en el espacio del host, y por lo tanto desde un servidor virtual es posible atacar a otras maquinas virtuales. Véase este enlace para más detalles.

    • Consolas remotas compartidas (el “control panel” del cloud): Si tenemos un sistema de virtualización compartido, al cual accedemos desde una consola de gestión remota a través de Internet, ¿qué pasa si esta consola de gestión tiene alguna vulnerabilidad y alguien coge el control? Pueden haber muchos posibles problemas, desde vulnerabilidades de la aplicación de gestión remota (XSS para robo de sesión sería un ataque viable) a posibles pérdidas de credenciales. La autenticación de estos sistemas por ahora es simple y sin dispositivos robustos. Otro vector de ataque pueden ser las APIs de gestión de ofrecidas por los servicios de cloud, ya que mediante estas APIs se pueden crear o destruir servidores; ¿seguro que no hay vulnerabilidades mediante las cuales se puedan crear o destruir servidores de otro cliente?

    • Carga/DOS/QOS: ¿Qué pasa si un cliente monopoliza todos los recursos?

    • Vulnerabilidades del host (desde fuera, o desde los guests): El host es otro sistema que puede ser atacado, bien desde donde sea accesible (consola de gestión p.e.) o bien desde los propios guest que debido a alguna vulnerabilidad son capaces de coger control de host. Dicho de otra forma, aunque uno pueda tener su servidor web y sus aplicativos securizados, quizá el host que los alberga no lo está.



  • Servidores web/servidores de aplicaciones compartidos: Es habitual compartir el mismo servidor de aplicaciones entre diversos proyectos, pero hay que contemplar los problemas que nos podemos encontrar:(4)

    • Tienen acceso al mismo almacenamiento.

    • Son el mismo usuario de maquina/BBDD/memoria.

    • QOS: Puede un usuario degradar el rendimiento de todos los usuarios.


    Un ejemplo de estos servicios en la nube son: Windows azure o Google Application Engine.



¿Están las infraestructuras de virtualización convenientemente independizadas en los servicios de hosting y de Cloud?


Hosting/Aplicaciones SAAS compartidas: Dentro de lo que está tan de moda del cloud, también se incluyen de alguna manera las aplicaciones compartidas modelo cloud (SAAS). En el fondo, éste es el modelo mas antiguo de hosting, en el que las aplicaciones originales eran servidores web, servidores de correo compartidos entre diversos clientes. Hoy en día se ofrecen aplicaciones mas elaboradas que ofrecen más valor a las organizaciones. Veamos qué problemas nos podemos encontrar en estos modelos.


Imagínese que comparte aplicación entre “perfiles” o clientes. Es posible que dos usuarios de la misma aplicación, por algún error de diseño de ésta, tengan acceso a lectura o modificación de otro usuario. Por ejemplo, recordarán que hace poco sucedió que un usuario de facebook podía ver cualquier conversación del chat de otro. Así pues, si usamos de manera compartida una “aplicación” SAAS, nos podemos encontrar con posibles problemas si no ésta no está bien implementada. ¿Podría pasar que en nuestro CRM en SAAS por un error de programación pudiéramos ver los clientes de otra empresa también albergada en este SAAS? Facebook tuvo una vulnerabilidad con la que podías ver los chats de otros usuarios.


¿Están las aplicaciones convenientemente independizadas en los servicios de hosting y de Cloud? (5)


Mira por dónde, sin quererlo, he acabado hablando de Cloud Computing, nada nuevo respecto a lo que ya conocemos en cuanto a infraestructuras compartidas, pero sin duda una novedad en cuanto a que está todo junto, con las ventajas que esto aporta, pero con el añadido que hay que considerarlo todo conjuntamente.


Por repasar los tipos de Cloud existentes:



  • IAAS, Infraestructure as a service: básicamente podríamos decir que tenemos una macroplataforma virtualizada bajo demanda (1)(2)(3).

  • PAAS, Platform as a Service: tenemos una especie de servidor de aplicaciones distribuido y autoescalable (4).

  • SAAS, Software as a Service: tenemos una aplicación general la cual nos da servicio (5).


En este post hemos revisado algunas vulnerabilidades desde un punto de vista técnico que aparecen si compartimos infraestructuras. Desde el punto de vista de control sobre los servicios externalizados y concentrados en datacenters de megacorporaciones también hay mucho que hablar, y por otro lado los proveedores de sistemas virtuales están redefiniendo sus productos haciendo que cada vez se parezcan mas a una nube “privada” en cuanto a que se dispone de unas infraestructuras compartidas autogestionadas. Todas la posibles vulnerabilidades mencionadas sólo son posibles puntos de fallo por donde aparecerán vulnerabilidades, que aunque en principio ya están contempladas y cubiertas, debemos contar que irán apareciendo nuevas vulnerabilidades causadas por compartir infraestructura. Si dicha infraestructura es sólo compartida entre proyectos internos de la organización los riesgos son unos, pero si la infraestructura es compartida con no sabemos quién, y disponible en Internet los riesgos son mayores. Esto es lo que hay que saber valorar.


A pesar de ello, los servicios en Cloud son la evolución lógica de hosting (infraestructuras compartidas de toda la vida). Todo lo que tuviera sentido en ese entorno ahora lo puede tener en la nube; en todo caso los proyectos que necesitan una grandísima escalabilidad normalmente están asociados a accesos desde Internet, en cuyo caso la nube tiene todo el sentido del mundo, ya que nos permite acceder a proveedores con grandes capacidades de almacenamiento, ancho de banda y servidores. Es más, me atrevería a apostar que los proveedores serios de Cloud sí tienen en mente que todos los recursos compartidos deben estar independizados, y probablemente sean más conscientes de estos riesgos que los provedores de hosting más tradicionales, con aproximaciones más “ligeras” al Cloud.


Dicho esto, pasen un buen fin de semana, y ¡¡nos vemos en la nube!!

You should check out Seesmic Web (http://seesmic.com/web) because

Blog Archive

Quilts

Where am I?