Autor en Google+
Saltar al contenido

Artículos, tutoriales, trucos, curiosidades, reflexiones y links sobre programación web ASP.NET Core, MVC, Blazor, SignalR, Entity Framework, C#, Azure, Javascript... y lo que venga ;)

15 años online

el blog de José M. Aguilar

Inicio El autor Contactar

Artículos, tutoriales, trucos, curiosidades, reflexiones y links sobre programación web
ASP.NET Core, MVC, Blazor, SignalR, Entity Framework, C#, Azure, Javascript...

¡Microsoft MVP!
jueves, 25 de enero de 2007
Cualquier spammer medio espabilado será consciente de que la inclusión de texto dentro de las imágenes es detectable por un sistema OCR con relativa facilidad. Cuando las herramientas antispam (por ejemplo SpamAssassin, de Apache) comenzaron a integrar reconocimiento óptico de caracteres, de nuevo el lado oscuro se vió obligado a pensar una solución al problema... y no tardó en dar con varias vías de escape.


Una de ellas consiste en añadir ruido a la imagen. El ser humano, a diferencia de los sistemas OCR, es perfectamente capaz de distinguir texto en el interior de un elemento gráfico aunque éste se encuentre rodeado de todo tipo de "adornos", como se muestra en la siguiente captura.

En el ejemplo, se puede observar cómo el texto que contiene el mensaje publicitario se ha incluido sobre un fondo no uniforme ni en sus formas ni en los colores utilizados. Incluso a ojo a veces es complicado leer determinados fragmentos... difícil tarea la del sistema de reconocimiento óptico, ¿eh?

Además, si lo que se pretende es llamar la atención del lector, no se puede negar que el resultado es de lo más llamativo.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

domingo, 14 de enero de 2007
Sí, sin duda incluir fotografías o imágenes en los mensajes de correo publicitario supone un importante impacto visual, y puede ayudar a vender los productos o servicios ofertados.

Sin embargo, cuando, además de las imágenes, se incluye texto en el mensaje, las probabilidades de que una herramienta de filtrado de spam lo detecte como spam son enormes, por lo que entonces simplemente estaremos haciendo los mensajes más pesados y la efectividad seguirá siendo nula... ¿Cuál podría ser la solución al problema?

Efectivamente, prescindir de los elementos textuales en los correos publicitarios, o usarlos simplemente como elementos de despiste, e incluir todos los mensajes dentro de las imágenes enviadas a las víctimas. Un ejemplo se muestra en la imagen adjunta, tomada de un correo no deseado que he recibido recientemente.


En el mensaje se incluía esta imagen, acompañada de un texto enorme que con toda seguridad dejaría fuera de juego a un sistema de detección de spam basado en simples estadísticas de aparición de textos:

had a guess of what was coming. I saw I must speak soon before my strange after the wind rose, for at first it was dead calm to see the tempted to lend him a round sum, and see the last of him for good; but like a peal of bells, her face gay as a May morning; and I own, He told you to. she cried. It is no sense denying it, you said He heard the business out with a great deal of eagerness; and when it constancy upon my studies; and made out to endure the time till Alan never have been so troublesome as make the offer. But when he as good door. I made my disposition, and paid and dismissed the men so that yours from the first day, if you would have had a gift of me. she of a prospect, where there stood out over a brae the two sails of a with her head down, looking constantly on the sand, and made so tender forth. My mind misgives me, it will be some ill to Alan. Open it, know you have had more since you were here in Leyden, though you where was no man to be seen, nor any house of man, except just Bazins By your leave, Miss Drummond, said I, I must speak to your father by what a mercy had befallen me; and sitting over against her, with her out of Scotland and prompted by the same affair, which was the death of side, there is no objection to the marriage, but I have good reason to faithfully expended on my daughter, who is well, and desires to be I bid you beware. I will stand no more baiting, he broke out. I am unfit to come into a young maids life, and perhaps ding down her She shook her head at me with that same smile I could have struck her The which we did until the girl returned, and I must suppose would have no more let a wife be forced upon myself, than what I would let a The door was opened so quickly, even before I had the word out, that I streams of water running down, I would scarce think shame to weep hillock. Scarce any road came by there; but a number of footways position, where she had been entrapped into a moments weakness, and Alan smacked his lips. An unco lonely bit, said he, and I thought by For it was of course in my own rooms that I found them, when I came to Silvermills. But cheer up, my dear. yere bonnier than what he said. before ever I saw her; God knows I can be happy enough again when I alone in it; for, James More returning suddenly, the girl was changed Well, said I, this that I have got to say is very difficult, and I

La solución a esta nueva técnica ha sido la integración de OCRs y sistemas de análisis de imágenes en las herramientas de filtrado, que son capaces de acceder al contenido de los recursos gráficos y determinar si los textos incluidos en ellos son mensajes publicitarios o no.

No es tarea fácil: si envío a un familiar una foto mía junto a un cartel de coca-cola, ¿es spam?

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

domingo, 7 de enero de 2007
Hoy voy a comentaros un truco que utilizaban los spammers hace varios años, y que, por suerte, ya está algo desfasado gracias a las medidas de seguridad impuestas por las aplicaciones de correo, si bien todavía puede tener su utilidad gracias a los Webmails o herramientas cliente basadas en Web.

La técnica en cuestión consistía en el envío de mensajes HTML en los que eran incluidas referencias a imágenes externas. Si conocéis algo este lenguaje de marcas, sabréis que para hacer referencia a una imagen en un contenido hipertexto basta con utilizar el tag IMG como se muestra a continuación:

<img src="DirecciónDeLaImagen" alt="Contenido textual alternativo" >

El texto "DirecciónDeLaImagen" es la URL del recurso gráfico en cuestión, por ejemplo, http://www.google.com/images/logo_sm.gif. De esta forma, cuando un browser encuentra una marca de este tipo, acude a la dirección especificada, descarga el archivo (imagen, en este caso) y lo muestra al usuario integrado en el contenido de la página.

El caso es que una URL puede contener algo más que la dirección de un recurso, puede ir acompañada de parámetros. Por ejemplo, es perfectamente válido, y lo habréis visto más de una vez el uso de cadenas más complejas, de tipo http://www.loquesea.com/imagen?usuario=jmaguilar. Esto provoca que, cuando el navegador va a la dirección indicada a obtener el archivo, transmite al servidor el parámetro indicado (en el ejemplo, le transmitiría un parámetro llamado 'usuario' con un valor igual a 'jmaguilar'). El servidor en el que se aloja, a la vista de ese parámetro, puede actuar como considere oportuno.

Aplicado al siniestro mundo del spammer, esto ofrece unas posibilidades realmente interesantes. Pongamos que envío un mensaje a una víctima, incluyendo una imagen en cuyo origen (src) añado un parámetro que permite al servidor determinar el usuario que está solicitando la misma. Cada vez que este incauto individuo abra este mensaje, recibiré en mi servidor una petición de la imagen que, gracias al parámetro, sé de quién proviene, permitiéndome por ejemplo:
  • primero y principal: asegurar que la dirección de email a la que envié el mensaje es correcta, y pasarla a mi carpeta de "destinatarios seguros". Puedo seguir enviando, pues, mensajes a esta persona con la seguridad de que lo va a recibir. De hecho, supongo que este es el motivo de que los que usamos la misma cuenta desde hace años, recibamos tal cantidad de spam. Seguro que en su día hemos confirmado, sin saberlo, nuestra existencia, y estamos en las "listas selectas".
  • contar el número de veces que la persona abre el mensaje. ¿Podría esto servirme para determinar que realmente mi víctima está algo más interesado de lo normal en mi producto?
  • modificar la imagen al vuelo, variando detalles del mensaje. Por ejemplo, si es la primera vez que el usuario accede, utilizar un mensaje publicitario; si accede de nuevo, ofrecerle una oferta más jugosa; si vuelve a acceder, emplear técnicas más agresivas de venta.

Afortunadamente, desde hace tiempo los clientes de correo basados en aplicaciones de escritorio no permiten, sin consentimiento del usuario, la descarga de imágenes externas, lo que evita la petición del fichero al servidor. Hay otros tipos de cliente, como los webmails que, en cambio, siguen descargando del origen cualquier recurso externo.

En cualquier caso, la técnica es interesante y demuestra, una vez más, la habilidad de los expertos del lado oscuro para aprovechar las posibilidades (o agujeros) existentes en cada momento en beneficio propio.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

martes, 19 de diciembre de 2006
La proliferación de herramientas de procesado e interpretación de textos en los mensajes de correo hizo pensar a los spammers que quizás no estaban usando el medio adecuado. Ciertamente, ¿para qué utilizar palabras cuando pueden utilizar imágenes, que ya sabemos que valen mil veces más, a la vez que evitamos (al menos temporalmente) los sistemas de detección de spam basados en análisis de contenidos textuales?

Esto, unido a la posibilidad de incluir mensajes publicitarios mucho más espectaculares que llamaran la atención a potenciales clientes de los servicios o productos ofertados, hizo que pronto comenzaran a proliferar los mensajes con imágenes, que enviaban o bien incrustadas en el contenido del mensaje (cortesía del estándar MIME) o bien a través de un mensaje HTML en el que se introducía una imagen externa (con el tag IMG).

En cualquier caso, hace tiempo que las imágenes forman parte del fenómeno spam. Próximos posts irán dedicados a analizar distintas técnicas aplicadas para hacer más efectivos y menos detectables por herramientas automáticas los mensajes no deseados.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

domingo, 3 de diciembre de 2006

Vía Coding Horror he encontrado un interesante ejemplo de lo que ocurre cuando "se permite a los desarrolladores diseñar el interfaz de usuario de una aplicación".

Cuadro de diálogo

Obviamente, el ejemplo está tomado de un extremo; de la misma forma, hay desarrolladores que son capaces de crear auténticas maravillas funcionales sobre interfaces exquisitos.

En fin, el que esté libre de pecado que tire la primera piedra. ;-)

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

sábado, 2 de diciembre de 2006
La siguiente técnica para 'colar' spam a las herramientas de filtrado tiene su gracia. Consiste en dibujar, utilizando para ello caracteres estándar, lo que se desea transmitir. El dibujo puede, por supuesto, contener mensajes de texto, imágenes o lo que sea; fundamentalmente dependerá de la habilidad de los creadores (o de la aplicación utilizada para generarlos, todo sea dicho).

Un ejemplo:


           .ed$$$$$eec.
.e$$$$$$$$$$$$$$$$$$eeeee$$$$$c
d$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$c
.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$b.
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $b
d$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$F
.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$**$ ^$$$$
4 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*" 4$$F
4 '$$$$$$$$$$$$$$$$$$$$$$$$$$$" 4$$
4 $$$$$$$$$$$$$$$$$$$$$$$$$$$ .$$%
d $$$$$ $$$$$*$$$$$$c ..e$$"
- 4$$$$ ^$$$$ *$$$$$F ^"""
4$$$$ 4$$$$ z$$$$$"
4$$$$ 4$$$$ ^$$$P
^$$$$b '$$$$e "F


El inocente elefantito podría ser el logotipo del producto que nos itentan vender, y un mensaje con este contenido pasaría absolutamente desapercibido para los sistemas automáticos de detección de spam.

Ahí va otro, este de creación propia, con un mensaje más directo:


## ## ## ###### ###### ##### ######
## ## ## # # # # # # #
## ## ## ###### # ## ##### ######
### ## # # ###### # # # #


Este último ejemplo se aproxima bastante a la realidad de este tipo de mensajes; lo habitual es que se envíen textos cortos, mensajes directos con publicidad explícita, dibujados a base de incluir cientos de caracteres. Se puede ver un ejemplo en la siguiente captura de pantalla.

¿Y cómo se combate esto? Probablemente, el mejor Captura de pantalla con varios mensajes spam ASCII artmétodo sea, de nuevo, el análisis estadístico de la información contenida en el mensaje, teniendo en cuenta tanto los caracteres que aparecen como los espacios. Sin embargo, no parece muy sencillo determinar unas reglas que indiquen, sin riesgo a equivocación, que se trata de un mensaje de correo basura, por lo que sería un buen candidato a ser detectado por sistemas de aprendizaje automático y reconocimiento de patrones.

Quizás la suerte que tengamos los sufridos usuarios sea que los mensajes a transmitir por esta vía deben ser bastante cortos ("Viagra $2,5" o similares) por limitaciones lógicas de espacio, lo cual, sin duda, repercutirá en una utilización muy baja por parte de los spammers, que seguro prefieren la espectacularidad de otros medios.


Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons