lunes, 13 de junio de 2016

Vestidos y con la casa arreglada. SPAM en comentarios (1)

Hay una práctica, quizá legal pero con toda seguridad ilegítima, que es utilizada por la gente del Black Hat SEO, y quizá también otros que no se atreven a llegar tan lejos como ellos. Se trata del SPAM en comentarios de blogs, foros, wikis y cualquier otro sistema que permita la creación de contenidos por sus usuarios.

Una de las formas de aprender sobre el tema, de saber qué tendencias van surgiendo, qué productos tienen más tirón en cada momento y cosas como esas es... crear blogs y foros y dejar que la gente te añada sus cosillas. Pero si no tienes tiempo de crear tu red de honeyblogs... puedes aprovechar los datos de otros. Quizá puedas empezar buscando en Google. Si lo haces, te sugiero que pongas el año u otro dato que te permita seleccionar cosas recientes:


En este caso aparecieron bastantes resultados. Y en todos los casos que comprobé se trataba de logs almacenados en servidores que alojaban páginas en, creo,  japonés. Por suerte, el contenido de estos ficheros habla un lenguaje internacional:

En este caso, se trata de un texto con una serie de columnas, separadas por la cadena "<>", relativos a comentarios que, a todas luces, constituyen ejemplos de libro de SPAM. 

Si queremos ir un poco más allá, podemos pasarlo a una hoja de cálculo y mirar qué aparece en él. En la imagen anterior puede comprobarse que, para empezar, tenemos la fecha y hora del acceso y el texto del comentario. Pero hay más


Cosas como dominios que están siendo promocionados y direcciones y nombres de equipo desde los que se trató de publicar el comentario.

Por echar un rato, me quedé con unos cuantas entradas del log (las más recientes) y  me dispuse a jugar con ellas.

(continuará)

jueves, 9 de junio de 2016

¿Quieres aprender magia de la buena?

Esto de la investigación en fuentes abiertas da para mucho. Y, además, variado.

Quizá seas, como yo, una de esas personas a las que, sin entender demasiado, le gusta la magia. En ese caso, habrás echado un vistazo a todos esos videos de Youtube que en pocos minutos te destripan un truco sencillote pero, en ocasiones, efectivo. Y puede que lo hayas pasado bomba leyendo a Juan Tamariz, Arturo de Ascanio o Penn Jillette, por citar algún autor que se me viene a la cabeza.

Si crees que te ha llegado el momento de dar el salto y pasar  a cosas verdaderamente grandes, si quieres saber cuál es el secreto oculto tras las últimas novedades en materia de ilusionismo y aprender cómo funcionan los artilugios y dispositivos más avanzados que los magos ponen sobre el escenario... estás de suerte.

¿Sabes dónde puede encontrarse ese tipo de información?

Hace poco encontré un artículo que seguro que te interesa. Su nombre es "LOS TRUCOS DE MAGIA Y LAS PATENTES". Y ya sabes dónde irás si haces clic en el enlace.

Cortito, pero muy recomendable. OSINT en estado puro.

La idea, como ya habrás imaginado, es que con frecuencia los "trucos" se patentan. En parte para dejar claro eso de "yo lo vi primero" y en parte para evitar que alguien que te vea hacerlo y que sepa de la materia te lo pueda copiar. La cosa es que la Clasificación Internacional de Patentes tiene un código, el "A63J 21/00", cuyo nombre es "Aparatos de magia; Accesorios para prestidigitadores".

¿Te pica la curiosidad? Pues venga, que ya no te entretengo más.

lunes, 6 de junio de 2016

La fiabilidad de algún procedimiento de disociación

No hace mucho, en un debate sobre OSINT mencioné un dato que había leído por ahí. Lo malo era que no recordaba dónde y, como quien haya leído algo escrito por mí seguramente sabrá, me gusta citar mis fuentes.

Así que, tarde o temprano, tenía que corregir los efectos de mi olvido.

El asunto está relacionado con lo que en la LOPD se denomina "procedimiento de disociación" y que se define en su artículo 3, letra f, como "todo tratamiento de datos personales de modo que la información que se obtenga no pueda asociarse a persona identificada o identificable".

Pongamos un ejemplo. Supóngase que se tiene una tabla con datos de una serie de personas. Y sean las columnas de esta tabla las siguientes:
  • DNI.
  • Nombre y apellidos.
  • Calle y número.
  • Código postal.
  • Ingresos brutos anuales.
  • Los antecedentes penales que pudiera tener.
  • Los problemas de salud que pudiera tener.
  • Fecha de nacimiento
  • Sexo. (Quiero decir: si es hombre o mujer)
Publicar esta información, con los datos sensibles que contiene, o darla a conocer a terceros sin el debido consentimiento, constituiría una grave vulneración de la normativa sobre Protección de Datos de Carácter Personal. Pero la cosa cambiaría si antes se la somete a un procedimiento de disociación. Supongamos que quitamos las tres primeras columnas y nos quedamos con:
  • Código postal.
  • Ingresos brutos anuales.
  • Los antecedentes penales que pudiera tener.
  • Los problemas de salud que pudiera tener.
  • Fecha de nacimiento
  • Sexo. (Quiero decir: si es hombre o mujer)
Ahora las personas a las que pertenecen los datos dejarían de ser identificables y, por consiguiente, ya no habría tanto problema en proporcionar a alguien esta información. ¿Verdad?

Pues... lo siento, pero no. La tabla aún contiene un conjunto de datos que es capaz de identificar de forma única a cerca del 90% de la población: la combinación de código postal, fecha de nacimiento y sexo.

Ya encontré el paper donde lo leí por primera vez. Y no es nada nuevo. Data del año 2.000, su autor es Latanya Sweeney  y se denomina "Simple Demographics Often Identify People Uniquely". Quien quiera leerlo, lo tiene disponible en este enlace.

La idea es la siguiente: Supón que dispones de la tabla con los datos pretendidamente disociados. Vas por un barrio, te cruzas con alguno de sus vecinos o alguna de sus vecinas y le preguntas su fecha de nacimiento. Cuando te la diga, le puedes responder algo del tipo: "¡Ah! Y tus ingresos anuales son de X euros y no tienes antecedentes penales, pero sí hay algo de una lesión muscular".

Y lo puedes saber porque conoces el código postal del barrio en el que estás, si la persona es hombre o mujer (normalmente se sabe) y el día en que vino a este mundo.

Para hacernos una idea de hasta qué punto la combinación de estos valores son únicos en una población, podemos usar este programa escrito en Ruby:
# Calcula cúantas repeticiones de datos habrá en promedio
# en un grupo de un número determinado de sujetos
# y un número de posibles valores
def repetidos(numero_de_valores, numero_de_sujetos)
 con_datos_repetidos = 0.0
 con_datos_unicos = 0.0

 (1..numero_de_sujetos).each do |n|
  probabilidad_de_repeticion =  (n - 1) / numero_de_valores.to_f;

  # Si se repite valor, hay que distinguir si el valor ya estaba repetido o no
  # Si no estaba repetido y se repite ahora dato, son dos los que repiten
  # Si ya estaba repetido, los que lo tenían ya han sido contados  
  probabilidad_de_repeticion += probabilidad_de_repeticion * 
     con_datos_unicos /  (n - 1) if n>1
  
  # Calcular cuántos sujetos tienen valores repetidos o únicos
  con_datos_repetidos += probabilidad_de_repeticion
  con_datos_unicos = n - con_datos_repetidos
 end

 print "No Repetidos: #{con_datos_unicos.to_i} (#{con_datos_unicos})\n"
 print "Porcentaje: #{100 * con_datos_unicos / numero_de_sujetos} %\n\n" 
 
 print "Repetidos: #{con_datos_repetidos.to_i} (#{con_datos_repetidos})\n"
 print "Porcentaje: #{100 * con_datos_repetidos / numero_de_sujetos} %\n\n" 
end

Con objeto de simplificar el código, el cáculo de la probabilidad de repetición es bastante conservador. En realidad, la probabilidad de repetición podría ser menor si ya se hubieran encontrado datos repetidos. Ahora, sabiendo que en España, según Wikipedia, hay 11.752 códigos postales, 46.770.000 habitantes y una esperanza de vida de más de 82 años, se podría obtener una idea de cuan única es la combinación de código postal, sexo y fecha de nacimiento con una llamada a la función anterior como

repetidos((82*365.25).to_i * 2 * 11_752, 46_770_000)

Que arrojaría los siguientes resultados
No Repetidos: 43730297 (43730297.615365796)
Porcentaje: 93.50074324431428 %

Repetidos: 3039702 (3039702.384634202)
Porcentaje: 6.499256755685701 %

O sea: los datos son únicos en un 93,5% de los casos. Claro que hemos simplificado mucho. La distribución de edades, por ejemplo, no es homogénea y eso alteraría el resultado. OK. Podemos rebajar un poco el porcentaje y aceptar lo que dicen por ahí: un 87%.

NOTA: Para quienes prefieran las simulaciones, también hice un subprograma con ese enfoque. Ahí va...

# Simula el comporatmiento de una población
def simula(anos, codigos_postales, numero_de_sujetos)
 # Sitios donde almacenar conteos de sujetos con unos determinados datos 
 buzones = Hash.new(0)

 # Días a contemplar
 dias = (anos * 365.25).to_i
 
 # Ir simulando personas
 (1..numero_de_sujetos).each do
  dia = rand(dias)
  sexo = rand(2)
  codigo_postal = rand(codigos_postales)
  
  # Generar la clave a partir de los datos aleatorios
  clave = dia + sexo*dias + codigo_postal*dias*2
  buzones[clave] += 1
 end
 
 # Generar estadística de tamaño de grupo
 conteo = Hash.new(0)
  buzones.each_value do |v|
  conteo[v] += 1
 end
 
 # Mostrar resultados
 conteo.each do |tamano, cuenta|
  print "Grupos de coincidentes de #{tamano} sujetos: #{cuenta}\n"
 end
 
 # Probabilidad de ser identificable
 print "\nProbabilidad de ser identificable: " +
    "#{100.0*conteo[1] / numero_de_sujetos} %"
 print "\nProbabilidad de no ser identificable: " + 
    "#{100.0*(numero_de_sujetos - conteo[1]) / numero_de_sujetos} %"
end

Y la salida que produciría para un par de ejecuciones sería
simula(82, 11_752, 46_770_000)
Grupos de coincidentes de 2 sujetos: 1455587
Grupos de coincidentes de 1 sujetos: 43759933
Grupos de coincidentes de 3 sujetos: 32231
Grupos de coincidentes de 4 sujetos: 540
Grupos de coincidentes de 5 sujetos: 8

Probabilidad de ser identificable: 93.56410733376096 %
Probabilidad de no ser identificable: 6.4358926662390425 %




simula(82, 11_752, 46_770_000)
Grupos de coincidentes de 1 sujetos: 43764169
Grupos de coincidentes de 2 sujetos: 1453453
Grupos de coincidentes de 3 sujetos: 32296
Grupos de coincidentes de 4 sujetos: 503
Grupos de coincidentes de 5 sujetos: 5
Probabilidad de ser identificable: 93.5731644216378 %
Probabilidad de no ser identificable: 6.426835578362198 %

Los datos no se diferencian demasiado de los de antes. Buena señal.

Hat Black Hat SEO

Por lo general, cuando hablo de Black Hat SEO pongo ejemplos de venta de fármacos. La razón no es que éste sea el único ámbito en el que se utilizan dichas técnicas, que no lo es, sino las implicaciones añadidas que pueden tener sobre la salud de las personas, como comentaba en "Elegir donde comprar" 1 y 2.

Para muestra un botón. Buscaba yo páginas gubernamentales afectadas por estos problemas. Algo de la que ya hablé en su día y que el gran Chema recogió en "La Nasa va a ser cerrada por la Ley Sinde: Bajo un ataque de BlackSEO". Y encontré este resultado:


El título del enlace me llamó la atención. Pero no me detuve demasiado tiempo en ello.

Comprobé que si se le pide al navegador que visite esta página,  la respuesta es que ya no existe. Quizá ya la eliminaron los administradores del sitio. Quizá sea un caso de cloaking forzado. Pero en todo caso se puede usar la URL de la cache de Google, junto con la opción "view-source" de navegadores como Firefox o Chrome, para analizar el contenido sin correr más riesgos de la cuenta.

Al hacerlo, encontré un script cargdo desde una dirección rara y también comprobé su contenido:


En definitiva, si he llegado hasta esa página siguiendo un enlace de Google, Bing, Yahoo! o AOL, seré redirigido a otro sitio. Que es...


¡Una tienda de sombreros y gorras!

Eso explicaba lo del título del resultado de Google. "Beanie" es una palabra que se usan en Norteamérica para denominar los gorros de lana.

Y, de paso, demuestra que estos del Black Hat Seo no entienden de temas ni productos, con tal de que haya clientes.

viernes, 3 de junio de 2016

Elegir dónde comprar (2)

Si a pesar de lo que comentaba en el anterior post hay quien sigue pensando en compar en una farmacia online sin comprobar su legalidad...al menos que sepa a lo que se expone.

En el mejor de los casos, puede que se dé con una tienda ilegal pero honrada que le sirva los fármacos que fueron pedidos y pagados. Pero una cosa es que lleguen, otra en qué condiciones lo hagan y otra más por qué medios. Así, puede que se trate de medicinas caducadas o a punto de caducar o que hayan sido transportadas y almacenadas sin cumplir las condiciones necesarias para su adecuada conservación. En definitiva, pueden estar en mal estado, sobre todo si se tiene en cuenta que con frecuencia provienen de países asiáticos, recorriendo una larga distancia hasta llegar a su destino.

En otras ocasiones lo que llega es una falsificación, muchas veces de lo más burdo, que no ofrece las debidas garantías. O copias realizadas por empresas que no tienen un buen control de calidad.

NOTA: La anterior imagen, así como todas las demás que presentan un aspecto similar han sido obtenidas del sitio 800notes.com, un foro en el que sus usuarios comentan sus experiencias con números de teléfonos y, entre otras cosas, denuncian sus malas experiencias con aquellos que son usados para realizar SPAM o cometer fraudes. Sí: SPAM telefónico. También pueden hacer eso.

Las opciones pueden ser de lo más variado. Como en este testimonio en el que se cuenta como unos medicamentos comprados en uno de estos negocios llevaban entre ellos trozos de plástico y de pintura:


O este otro en el que se usaba pladur o yeso como relleno en las píldoras

En algunos casos, la mercancía no llegará. Y si se intenta llamar al teléfono de contacto que aparece en la página tampoco se conseguirá mucho:


En otros, además, tratarán de usar los datos bancarios proporcionados para realizar cargos fraudulentos.


Y, por si fuera poco, algunos de estos sitios pueden también dedicarse a la recolección de información relativa a sus clientes. Datos valiosos que incluirán desde la información bancaria hasta la relativa a la salud. Datos, en definitiva, que pueden vender a buen precio.

Para acabar, un ejemplo que puede ilustrar cómo trabajan algunas de estas "tiendas". La fuente es PharmacyReviewer.com, un sitio con foros y evaluaciones de farmacias online. El siguiente ejemplo corresponde a la que, cuando escribo esto, aparece en tercera posición entre los proveedores mejor valorados:


Debo señalar que el que use este sitio para este ejemplo no quiere decir que crea que la información que proporciona sea válida al 100%. Ni siquiera al 50%. Pero sí queda una medida de lo que hay en este mercado extraño. Una farmacia de las bien valoradas que tuvo que cambiar de dominio porque el anterior había sido confiscado. Pues eso es lo que significa "seizure of their domain": que se lo confiscaron. Como en esta imagen:

Otra, la que ocupa el quinto lugar, fue objeto de la confiscación sucesiva de dos dominios antes de llegar al que actualmente usan.

Y es que, una vez que se ponen, no van a parar.

jueves, 2 de junio de 2016

Elegir dónde comprar (1)

Tras haber dedicado una serie de  posts a las  técnicas de Black Hat SEO usadas por una serie de tiendas online de fármacos, creo que debo detenerme un poco en el tema de la legalidad y/o legitimidad de este tipo de negocios.

Por si llegas aquí sin haber leído la serie a la que hago alusión, ahí dejo los enlaces:

Multimarcas del Black Hat SEO 1

Para empezar, hay una serie de criterios a considerar. Entre ellos figuran:
  1. Si la farmacia cumple con todos los requisitos legales para dedicarse a la venta online de medicamentos.
  2. Si el sitio web de la farmacia cumple con los requisitos de seguridad y calidad exigibles.
  3. Si la farmacia vende fármacos sin cumplir con los requisitos legales establecidos (por ejemplo, la necesidad de presentar una receta médica cuando en los casos que establece la normativa).
  4. Si la farmacia usa técnicas de Black Hat SEO.
  5. Si la farmacia utiliza otras técnicas de publicidad agresiva.
  6. Si la farmacia estafa a sus clientes.
  7. Si la farmacia realiza actividades ilegales, ilegítimas o poco leales.
Hay tiendas en las que las respuestas a todos estos criterios es satisfactoria. En estos casos nos encontramos con un negocio legal al que no hay nada que objetar. Muchos de ellos, sabiendo que se encuentran inmersos en un mercado en que es difícil distinguir los lobos de las ovejas, obtienen certificaciones de su naturaleza y comportamiento adecuado y hacen gala de ellos en sus páginas web.



Pero, claro, a las tiendas ilegítimas les cuesta poco incluir una imagen como ésta en sus páginas. Y muchas lo hacen. Entonces... ¿cómo detectar los fraudes? Para empezar, cuando están colocado de forma legítima, estos sellos suelen ser hiperenlaces a las páginas de los organismos o asociaciones certificantes en los que se documenta su inscripción.

Y, en caso de duda, cada organismo suele contar con una página donde realizar consultas:



Un ejemplo típico de acreditación es CIPA (Canadian International Pharmacy Association) cuya página web es https://www.cipa.com/. En Europa, existe un sello, al que se denomina "logotipo común europeo" que se define en el Reglamento de Ejecución (UE) No 699/2014. Su aspecto es:


Cada cual opinará según su experiencia, pero yo me fío más de este tipo de sellos cuando dependen de entes gubernamentales o supragubernamentales. En España, la organización que tiene licencia para gestionar este logotipo es la Agencia Española de Medicamentos y Productos Sanitarios. Puede leerse más al respecto aquí y en esta otra página se puede consultar si una farmacia dispone o no de la mencionada acreditación.

Ni que decir tiene que los medicamentos son cosas muy serias y que siempre hay que comprarlos en sitios legales de confianza. En el próximo post se mencionarán algunas cosas a las que se expone quien haga lo contrario.

martes, 31 de mayo de 2016

Incapaces de proteger nuestras redes

Repasando las noticias que me había dejado atrás en estos últimos días he dado con una entrevista a John Lyon, publicada bajo el título "En 2020 ya no podremos proteger nuestras redes frente a los ataques".

Lo que dice quizá no sea nada nuevo, pero sí está bien contado: que vivimos en un mundo interconectado en el que, especialmente con eso de la Internet de las cosas, nuestra superficie de exposición ante todo tipo de amenazas es cada vez mayor. Que las defensas van siempre por detrás de los ataques. Que todos somos potenciales objetivos. Que los gobiernos deberían hacer campañas de concienciación, igual que lo hacen con el tabaco o los cinturones de seguridad...

Y, que si la cosa no cambia, de aquí a cuatro años proteger nuestras redes va a ser misión imposible.

Pero cambiar cuesta. Y no sólo trabajo. En la entrevista se señala que las organizaciones deberían gastar en seguridad el 15% de su presupuesto en tecnología. Desde luego, esto me inclina a ser pesimista.

Pesimista porque muchas organizaciones, casi todas, quieren resultados cuando se gastan el dinero y la seguridad no es un producto que puedas comprar. Es algo que debes perseguir siempre, sin llegar nunca a alcanzarlo. Un proceso, que diría Bruce Schneier

Pesimista porque creo que el título es demasiado positivo. No hace falta esperar cuatro años. Si uno mira las noticias se encuentra con que entidades de las que se espera un alto nivel de seguridad, como bancos u hospitales, aparecen en los titulares por haber sido víctimas de los ciberdelincuentes. La gente cree estar segura mientras las botnets controlan un elevado número de ordenadores. El router que nos conecta a Internet posiblemente tenga graves vulnerabilidades...

Pesimista porque nuestras redes, poco a poco, están dejando de ser nuestras y escapando de nuestro control a medida que el cloud computing entra en nuestras vidas y en nuestros negocios. Ya nos están vendiendo la "LAN como un servicio" y es cuestión de tiempo que vayamos cayendo.

Y pesimista porque me parece que el titular se queda corto. Muy corto. Tanto que puede ocultar el verdadero alcance del problema, que va mucho más allá de las redes. Las redes son sólo un instrumento. Lo que realmente no vamos a poder proteger, casi no estamos en condiciones de proteger ya hoy, es la información con la que trabajamos, nuestros propios datos, nuestra vida privada, nuestros derechos, nuestra seguridad, los negocios de nuestras empresas, los intereses públicos...

En todo caso, lo que no quiero ser es derrotista. Que demasiadas veces he oído eso de "si van a por nosotros nos van a coger de todos modos" como argumento para no proteger como es debido las cosas. 

Pesimistas o no, hay que ponerse a trabajar ya para arreglarlo.