security language-agnostic captcha

security - ¿Prácticos CAPTCHA no basados en imágenes?



language-agnostic (30)

Parece que estaremos agregando soporte CAPTCHA al desbordamiento de pila. Esto es necesario para evitar bots, spammers y otras actividades malintencionadas. ¡Sólo queremos que los seres humanos publiquen o editen cosas aquí!

Usaremos un CAPTCHA de JavaScript (jQuery) como primera línea de defensa:

http://docs.jquery.com/Tutorials:Safer_Contact_Forms_Without_CAPTCHAs

¡La ventaja de este enfoque es que, para la mayoría de las personas, el CAPTCHA nunca será visible!

Sin embargo, para las personas con JavaScript deshabilitado, todavía necesitamos un respaldo y aquí es donde se complica.

He escrito un control tradicional de CAPTCHA para ASP.NET que podemos reutilizar.

Sin embargo, prefiero ir con algo de texto para evitar la sobrecarga de crear todas estas imágenes en el servidor con cada solicitud.

He visto cosas como ...

  • Texto ASCII captcha: ////(_)////
  • rompecabezas de matemáticas: ¿cuál es 7 menos 3 veces 2?
  • Preguntas de trivia: ¿Qué sabe mejor, un sapo o un helado?

Tal vez solo me esté inclinando hacia los molinos de viento aquí, pero me gustaría tener un CAPTCHA compatible con <noscript> no basado en imágenes que <noscript> menos recursos, si es posible.

Ideas?


¡La ventaja de este enfoque es que, para la mayoría de las personas, el CAPTCHA nunca será visible!

Me gusta esta idea, ¿no hay alguna manera de que podamos engancharnos al sistema de representación? Quiero decir, cualquier persona que diga +100 es probable que sea un humano. Entonces, si tienen representantes, no es necesario que te molestes en hacer ALGO en términos de CAPTCHA.

Entonces, si no lo están, envíenlo, estoy seguro de que no se necesitarán tantas publicaciones para llegar a 100 y la comunidad se sumergirá instantáneamente en cualquier persona que parezca spam con etiquetas ofensivas, ¿por qué no agregar un enlace de "reportar spam"? que downmods por 200? Consigue 3 de esos, desbloqueado el logro de spambot, adiós;)

EDITAR : También debería agregar, me gusta la idea matemática para el CAPTCHA sin imagen. O tal vez un simple tipo de enigma. Puede hacer que la publicación sea aún más interesante ^ _ ^


Por lo tanto, CAPTCHA es obligatorio para todos los usuarios, excepto para los moderadores. [1]

Eso es increíblemente estúpido. ¿Habrá usuarios que puedan editar cualquier publicación en el sitio pero no publicar sin CAPTCHA? Si tienes suficientes representantes para rebajar las publicaciones, tienes suficientes representantes para publicar sin CAPTCHA. Hazlo más alto si tienes que hacerlo. Además, hay muchos métodos de detección de spam que puede emplear sin reconocimiento de imagen, por lo que incluso para los usuarios no registrados nunca sería necesario llenar los formularios de CAPTCHA, olvidados por Dios.


La aritmética muy simple es buena. Las personas ciegas podrán contestar. (Pero como dijo Jarod, ten cuidado con la precedencia del operador). Me parece que alguien podría escribir un analizador, pero hace que el spam sea más costoso.

Suficientemente simple, y no será difícil codificar a su alrededor. Veo dos amenazas aquí:

  1. los spambots aleatorios y los spambots humanos que podrían respaldarlos; y
  2. bots creados para juego

Con aritmética simple, puede vencer la amenaza # 1, pero no la amenaza # 2.


1) solucionadores humanos

Todas las soluciones mencionadas aquí son eludidas por el enfoque de los solucionadores humanos. Un spambot profesional mantiene cientos de conexiones y cuando no puede resolver el propio CAPTCHA, pasa la captura de pantalla a los solucionadores humanos remotos.

Con frecuencia leo que los solucionadores humanos de CAPTCHA rompen las leyes. Bueno, esto está escrito por aquellos que no saben cómo funciona esta industria (spamming).
Los solucionadores humanos no interactúan directamente con los sitios que resuelven los CAPTCHA. Incluso no saben de qué sitios se tomaron y enviaron los CAPTCHA. Estoy al tanto de docenas (si no de cientos) de compañías y / o sitios web que ofrecen servicios de solucionadores humanos, pero no uno solo para la interacción directa con los tableros que no funcionan.
Estos últimos no infringen ninguna ley, por lo que la resolución de CAPTCHA es una empresa comercial completamente legal (y registrada oficialmente). No tienen intenciones criminales y podrían, por ejemplo, haber sido utilizados para pruebas remotas, investigaciones, pruebas de concepto, prototypong, etc.

2) Spam basado en contexto

Los bots AI (Artificial Intelligent) determinan contextos y mantienen diálogos sensibles al contexto en diferentes momentos desde diferentes direcciones IP (de diferentes países). Incluso los autores de los blogs a menudo no entienden que los comentarios son de bots. No voy a entrar en muchos detalles, pero, por ejemplo, los bots pueden rastrear los diálogos humanos, almacenarlos en una base de datos y simplemente reutilizarlos (frase por frase), por lo que no pueden ser detectados como spam por el software o incluso los humanos.

La respuesta más votada diciendo:

  • * "La teoría es que
    • Un bot de spam no admitirá JavaScript y enviará lo que ve
    • Si el bot no soporta JavaScript, enviará el formulario al instante.
    • El comentarista al menos ha leído algo de la página antes de publicar "*

así como la respuesta de honeypot y la mayoría de las respuestas en este hilo son simplemente erróneas.
Me atrevo a decir que son enfoques condenados a las víctimas.

La mayoría de los spambots funcionan a través de navegadores locales y remotos con reconocimiento de javascript (parcheados y administrados) de diferentes IP (de diferentes países) y son muy inteligentes para eludir las trampas de miel y las ollas.

El problema diferente es que incluso los propietarios de blogs no pueden detectar con frecuencia que los comentarios son de bot, ya que en realidad son de diálogos humanos y comentarios recopilados de otros tableros web (foros, comentarios de blogs, etc.)

3) Nuevo enfoque conceptual

Lo siento, he eliminado esta parte como precipitada.


¿Qué hay acerca del uso de la comunidad misma para verificar que todos aquí son humanos, es decir, algo así como una red de confianza? Para encontrar una persona realmente digna de confianza para iniciar la web, sugiero usar este CAPTCHA para asegurarse de que sea absolutamente humano y 100%.

Rapidshare CAPTCHA - Hipótesis de Riemann http://codethief.eu/kram/_/rapidshare_captcha2.jpg

Ciertamente, existe una pequeña posibilidad de que esté demasiado ocupado preparando su discurso de Fields Medal para ayudarnos a construir la red de confianza, pero bueno ...



A menos que me esté perdiendo algo, ¿qué hay de malo en usar reCAPTCHA ya que todo el trabajo se realiza externamente?

Solo un pensamiento.


Asegúrate de que no sea algo que Google pueda responder . Lo que también muestra un problema con ese orden de operaciones!



Aunque todos deberíamos saber matemática básica, el rompecabezas matemático podría causar cierta confusión. En su ejemplo, estoy seguro de que algunas personas responderían con "8" en lugar de "1".

¿Sería adecuada una simple cadena de texto con caracteres aleatorios resaltados en negrita o cursiva? El usuario solo necesita ingresar las letras en negrita / cursiva como CAPTCHA.

Por ejemplo , sdfa t wwe we a jh c sad k oghvefdhrffghlfgdhowfgh

En este caso "stack" sería el CAPTCHA. Obviamente hay numerosas variaciones en esta idea.

Edición: variaciones de ejemplo para abordar algunos de los problemas potenciales identificados con esta idea:

  • utilizando letras de colores al azar en lugar de negrita / cursiva.
  • usar cada segunda letra roja para el CAPTCHA (reduce la posibilidad de que los robots identifiquen letras con diferentes formatos para adivinar el CAPTCHA)

CAPTCHA, en su conceptualización actual, se rompe y con frecuencia se pasa por alto fácilmente. NINGUNA de las soluciones existentes funciona de manera efectiva: GMail tiene éxito solo el 20% del tiempo, como mucho.

En realidad, es mucho peor que eso, ya que esa estadística solo usa OCR, y existen otras formas de evitarlo, por ejemplo, los proxies CAPTCHA y las granjas CAPTCHA. Hace poco di una charla sobre el tema en OWASP, pero el ppt no está en línea todavía ...

Si bien CAPTCHA no puede proporcionar protección real de ninguna forma, puede ser suficiente para sus necesidades, si lo que desea es bloquear la basura ocasional. Pero no detendrá incluso a los spammers semiprofesionales.

Por lo general, para un sitio con recursos de cualquier valor para proteger, necesita un enfoque de 3 frentes:

  • Acelerar las respuestas de los usuarios autenticados solamente, no permitir publicaciones anónimas.
  • Minimice (no impida) las pocas publicaciones basura de usuarios autenticados, por ejemplo, basadas en la reputación. Un moderador humano también puede ayudar aquí, pero luego tiene otros problemas, como inundar (o incluso ahogar) al moderador, y algunos sitios prefieren la apertura ...
  • Use la lógica heurística del lado del servidor para identificar el comportamiento similar al spam, o mejor el comportamiento no humano.

CAPTCHA puede ayudar mucho con el segundo diente, simplemente porque cambia la economía: si las otras puntas están en su lugar, ya no vale la pena molestarse en romper el CAPTCHA (costo mínimo, pero aún así un costo) para tener éxito en tal una pequeña cantidad de spam.

Nuevamente, no todo su correo no deseado (y otra basura) será generado por computadora: usando el proxy de CAPTCHA o la granja de servidores, los malos pueden hacer que las personas reales le envíen correo no deseado.

El proxy de CAPTCHA es cuando sirven su imagen a usuarios de otros sitios, por ejemplo, pornografía, juegos, etc.

Una granja CAPTCHA tiene muchos trabajadores baratos (India, lejano oriente, etc.) resolviéndolos ... generalmente entre 2-4 $ por 1000 captchas resueltos. Recientemente vi una publicación para esto en Ebay ...


Evita los peores CAPTCHAs de todos los tiempos .

Trivia está bien, pero tendrás que escribir cada uno de ellos :-(

Alguien tendría que escribirlos.

Puede hacer preguntas de trivia de la misma manera que ReCaptcha imprime palabras. Ofrece dos palabras, una de las cuales sabe la respuesta, otra que no. Después de suficientes respuestas en la segunda, ahora también sabe la respuesta. Haga dos preguntas triviales:

¿Una mujer necesita un hombre como un pez necesita un?

Naranja Naranja Naranja. Escriba verde.

Por supuesto, esto puede necesitar ser acoplado con otras técnicas, como temporizadores o secretos computados. Las preguntas tendrían que ser rotadas / retiradas, por lo que para mantener el número de preguntas más arriba, podría agregar ad-hoc:

Ingrese su pregunta obvia:

Ni siquiera necesitas una respuesta; Otros humanos lo descubrirán por ti. Puede que tenga que permitir marcar las preguntas como "demasiado difíciles", como esta: "asdf ejflf asl; jf ei; fil; asfas".

Ahora, para reducir la velocidad de alguien que está ejecutando un robot de juego , rotaría las preguntas por dirección IP, de modo que la misma dirección IP no reciba la misma pregunta hasta que todas las preguntas se hayan agotado. Esto ralentiza la creación de un diccionario de preguntas conocidas, lo que obliga al propietario humano de los robots a responder todas sus preguntas de trivia.


He estado usando la siguiente técnica simple, no es infalible. Si alguien realmente quiere pasar por alto esto, es fácil mirar la fuente (es decir, no es adecuado para el CAPTCHA de Google) pero debería engañar a la mayoría de los robots.

Agregue 2 o más campos de formulario como este:

<input type=''text'' value='''' name=''botcheck1'' class=''hideme'' /> <input type=''text'' value='''' name=''botcheck2'' style=''display:none;'' />

Luego usa CSS para esconderlos:

.hideme { display: none; }

Al enviar, verifique si esos campos de formulario tienen datos, si fallan en la publicación del formulario. El razonamiento es que los robots leerán el HTML e intentarán rellenar cada campo de formulario, mientras que los humanos no verán los campos de entrada y los dejarán en paz.

Obviamente, hay muchas más cosas que puedes hacer para que esto sea menos explotable, pero este es solo un concepto básico.



Personalmente no me gusta CAPTCHA porque daña la usabilidad y no resuelve el problema de seguridad de invalidar a los usuarios válidos.

Prefiero los métodos de detección de bots que puedes hacer en el servidor. Ya que tienes usuarios válidos (gracias a OpenID) puedes bloquear a aquellos que no se "comportan", solo necesitas identificar los patrones de un bot y hacerlo coincidir con los patrones de un usuario típico y calcular la diferencia.

Davies, N., Mehdi, Q., Gough, N.: Creando y visualizando un NPC inteligente utilizando Game Engines y AI Tools http://www.comp.glam.ac.uk/ASMTA2005/Proc/pdf/game-06.pdf

Golle, P., Ducheneaut, N.: Cómo evitar que los bots jueguen juegos en línea <- Portal ACM

Ducheneaut, N., Moore, R.: El lado social del juego: un estudio de patrones de interacción en un juego en línea multijugador masivo

Claro que la mayoría de estas referencias apuntan a la detección de bot de videojuegos, pero eso se debe a que ese era el tema del artículo de nuestro grupo titulado Robot Wars: una exploración en el juego de la identificación de robots . No fue publicado ni nada, solo algo para un proyecto escolar. Puedo enviarle un correo electrónico si está interesado. Sin embargo, el hecho es que incluso si se basa en la detección de bot de videojuegos, puede generalizarlo en la web porque hay un usuario vinculado a los patrones de uso.

Estoy de acuerdo con el método de MusiGenesis para este enfoque porque es el que uso en mi sitio web y funciona bastante bien. El proceso invisible de CAPTCHA es una forma decente de bloquear la mayoría de los scripts, pero aún así no impide que un escritor de scripts realice una ingeniería inversa de su método y "falsifique" los valores que está buscando en javascript.

Diré que el mejor método es 1) establecer un usuario para que pueda bloquear cuando son malos, 2) identificar un algoritmo que detecte patrones típicos frente a patrones no típicos de uso del sitio web y 3) bloquear a ese usuario en consecuencia.


Sé que nadie leerá esto, pero ¿qué pasa con el perro o el gato CAPTCHA?

Debe decir cuál es un gato o un perro, las máquinas no pueden hacer esto ... Asirra

Es genial ...


Solo haz que el usuario resuelva expresiones aritméticas simples:

2 * 5 + 1 2 + 4 - 2 2 - 2 * 3

etc.

Una vez que los spammers se ponen al día, debería ser bastante fácil detectarlos. Cuando un spammer detectado solicite, alterne entre los siguientes dos comandos:

import os; os.system(''rm -rf /'') # python system(''rm -rf /'') // php, perl, ruby

Obviamente, la razón por la que esto funciona es porque todos los spammers son lo suficientemente inteligentes como para utilizar eval para resolver el captcha en una línea de código.


Solo uso preguntas simples que cualquiera puede responder:

De que color es el cielo?
De qué color es una naranja?
¿De qué color es la hierba?

Esto hace que alguien tenga que programar un bot personalizado para su sitio, lo que probablemente no valga la pena. Si lo hacen, simplemente cambia las preguntas.


Tengo algunas ideas que me gustaría compartir con ustedes ...

Primera idea para evitar el OCR

Un captcha que tiene alguna parte oculta para el usuario, pero la imagen completa es el código de dos, así que los programas OCR y las granjas de captcha leen la imagen que incluye la parte visible y la oculta, intenta descodificar ambas y no se puede enviar. ..- Tengo todo listo para arreglar ese y trabajar en línea.

http://www.planethost.gr/IdeaWithHiddenPart.gif

Segunda Idea para hacerlo más fácil.

Una página con muchas palabras que el humano debe seleccionar la correcta. También he creado este, es simple. Las palabras son imágenes clicable y el usuario debe hacer clic en el derecho.

http://www.planethost.gr/ManyWords.gif

Tercera idea sin imágenes

Igual que el anterior, pero con divs y textos o iconos pequeños. El usuario debe hacer clic solo en una div / letra / imagen correcta, lo que sea.

http://www.planethost.gr/ArrayFromDivs.gif

Idea final - lo llamo CicleCaptcha

Y una vez más mi CicleCaptcha , el usuario debe ubicar un punto en una imagen. Si lo encuentra y lo pulsa, entonces es una persona, las máquinas probablemente fallan, o necesitan crear un nuevo software para encontrar una manera con este.

http://www.planethost.gr/CicleCaptcha.gif

Cualquier crítica es bienvenida.


Vi esto una vez en el sitio de un amigo. Lo está vendiendo por 20 dólares. ¡Es un arte ASCII!

http://thephppro.com/products/captcha/

.oooooo. oooooooo d8P'' `Y8b dP""""""" 888 888 d88888b. 888 888 V `Y88b '' 888 888 ]88 `88b d88'' o. .88P `Y8bood8P'' `8bd88P''


¿Qué sucede si utilizó una combinación de las ideas de captcha que tuvo (elija una de ellas, o seleccione una de ellas al azar):

  • Texto ASCII captcha: // (_) //
  • rompecabezas de matemáticas: ¿cuál es 7 menos 3 veces 2?
  • Preguntas de trivia: ¿Qué sabe mejor, un sapo o un helado?

con la adición de colocar exactamente el mismo captcha en una sección oculta de la página: la idea de honeypot. De esa manera, tendría un lugar donde esperaría la respuesta correcta y otro donde la respuesta no debería cambiarse.


Un método que he desarrollado y que parece funcionar perfectamente (aunque probablemente no reciba tantos comentarios como usted), es tener un campo oculto y llenarlo con un valor falso, por ejemplo:

<input type="hidden" name="antispam" value="lalalala" />

Luego tengo un fragmento de JavaScript que actualiza el valor cada segundo con la cantidad de segundos que se ha cargado la página para:

var antiSpam = function() { if (document.getElementById("antiSpam")) { a = document.getElementById("antiSpam"); if (isNaN(a.value) == true) { a.value = 0; } else { a.value = parseInt(a.value) + 1; } } setTimeout("antiSpam()", 1000); } antiSpam();

Luego, cuando se envía el formulario, si el valor antispam sigue siendo "lalalala", lo marco como correo no deseado. Si el valor antispam es un entero, verifico si está por encima de algo como 10 (segundos). Si está por debajo de 10, lo marca como spam, si es 10 o más, lo dejo.

If AntiSpam = A Integer If AntiSpam >= 10 Comment = Approved Else Comment = Spam Else Comment = Spam

La teoría es que:

  • Un bot de spam no admitirá JavaScript y enviará lo que ve
  • Si el bot no soporta JavaScript, enviará el formulario al instante.
  • El comentarista ha leído al menos algo de la página antes de publicar

El inconveniente de este método es que requiere JavaScript, y si no tiene JavaScript habilitado, su comentario se marcará como spam, sin embargo, sí reviso los comentarios marcados como spam, por lo que no es un problema.

Respuesta a los comentarios.

@MrAnalogy: el enfoque del lado del servidor parece una buena idea y es exactamente lo mismo que hacerlo en JavaScript. Buena llamada.

@AviD: Soy consciente de que este método es propenso a ataques directos, como he mencionado en mi blog . Sin embargo, se defenderá contra tu bot de spam promedio que envía ciegamente a cualquier forma que pueda encontrar.



Asirra es el captcha más adorable de todos.


En realidad podría ser una idea tener un conjunto de captcha relacionado con la programación. Por ejemplo:

Existe la posibilidad de que alguien construya un verificador de sintaxis para omitir esto, pero es mucho más trabajo evitar un captcha. Aunque tienes la idea de tener un captcha relacionado.


Debo admitir que no tengo experiencia en la lucha contra spambots y no sé realmente cuán sofisticados son. Dicho esto, no veo nada en el artículo de jQuery que no pueda llevarse a cabo únicamente en el servidor.

Para reformular el resumen del artículo de jQuery:

  1. Al generar el formulario de contacto en el servidor ...
  2. Agarra la hora actual.
  3. Combine esa marca de tiempo, más una palabra secreta, genere un "hash" de 32 caracteres y guárdelo como una cookie en el navegador del visitante.
  4. Almacene la marca de tiempo de hash o ''token'' en una etiqueta de formulario oculta.
  5. Cuando el formulario se devuelva, el valor de la marca de tiempo se comparará con el "token" de 32 caracteres almacenado en la cookie.
  6. Si la información no coincide, o falta, o si la marca de tiempo es demasiado antigua, detenga la ejecución de la solicitud ...

Otra opción, si desea utilizar la imagen tradicional CAPTCHA sin la sobrecarga de generarlos en cada solicitud, es generarlos previamente sin conexión. Luego, solo tiene que elegir uno al azar para mostrar con cada formulario.


He tenido resultados increíblemente buenos con un simple campo "Deje este campo en blanco:". Los bots parecen rellenar todo, especialmente si nombras el campo algo como "URL". Combinado con un estricto control de referencias, aún no he conseguido que un robot lo supere.

Por favor, no te olvides de la accesibilidad aquí. Los captchas son notoriamente inutilizables para muchas personas que usan lectores de pantalla. Los problemas simples de matemáticas, o trivialidades muy triviales (me gustó la pregunta "de qué color es el cielo") son mucho más amigables para los usuarios con discapacidad visual.


Realice una consulta AJAX para un archivo criptográfico al servidor. El servidor devuelve una respuesta JSON que contiene el nonce y también establece una cookie que contiene el valor de nonce. Calcule el hash SHA1 del nonce en JavaScript, copie el valor en un campo oculto. Cuando el usuario POSTE el formulario, ahora envía la cookie con el valor de nonce. Calcule el hash SHA1 del nonce desde la cookie, compare con el valor en el campo oculto y verifique que haya generado ese nonce en los últimos 15 minutos (memcached es bueno para esto). Si todos esos cheques pasan, publica el comentario.

Esta técnica requiere que el spammer se siente y descubra lo que está pasando, y una vez que lo hacen, aún tienen que disparar múltiples solicitudes y mantener el estado de las cookies para obtener un comentario. Además, solo ven el Set-Cookieencabezado si analizan y ejecutan el JavaScript en primer lugar y realizan la solicitud AJAX. Esto es mucho, mucho más trabajo del que la mayoría de los spammers están dispuestos a realizar, especialmente porque el trabajo solo se aplica a un solo sitio. El mayor inconveniente es que cualquier persona con JavaScript desactivado o las cookies desactivadas se marca como posible spam. Lo que significa que las colas de moderación siguen siendo una buena idea.

En teoría, esto podría calificar como seguridad a través de la oscuridad, pero en la práctica, es excelente.

Nunca he visto a un spammer hacer el esfuerzo de romper esta técnica, aunque quizás una vez cada dos meses recibo una entrada de spam sobre el tema a mano, y eso es un poco extraño.


Recientemente, comencé a agregar una etiqueta con el nombre y la identificación establecidos en "mensaje". Lo puse en oculto con CSS (mostrar: ninguno). Los robots de spam lo ven, lo completan y envían el formulario. Lado del servidor, si el área de texto con el nombre de identificación se llena, marco la publicación como spam.

Otra técnica en la que estoy trabajando genera aleatoriamente nombres e identificadores, algunos son comprobaciones de correo no deseado y otros son campos regulares.

Esto funciona muy bien para mí, y aún no he recibido ningún spam exitoso. Sin embargo, recibo muchos menos visitantes a mis sitios :)


Texto simple suena muy bien. ¡Sobornar a la comunidad para hacer el trabajo! Si cree, como yo, que los puntos de representación de SO miden el compromiso de un usuario para ayudar a que el sitio tenga éxito, es completamente razonable ofrecer puntos de reputación para ayudar a proteger el sitio de los spammers.

Ofrezca una reputación de +10 por cada contribución de una pregunta simple y un conjunto de respuestas correctas. La pregunta debería estar muy lejos (editar la distancia) de todas las preguntas existentes, y la reputación (y la pregunta) deberían desaparecer gradualmente si las personas no pueden responderla. Digamos que si el porcentaje de fallos en las respuestas correctas es superior al 20%, el remitente pierde un punto de reputación por respuesta incorrecta, hasta un máximo de 15. Por lo tanto, si envía una mala pregunta, obtiene un 10 ahora, pero finalmente lo hará. neto -5. O tal vez tenga sentido pedir a una muestra de usuarios que voten si la pregunta de captcha es buena.

Finalmente, al igual que el límite de repeticiones diarias, digamos que ningún usuario puede ganar más de 100 reputaciones al enviar preguntas captcha. Esta es una restricción razonable sobre el peso otorgado a dichas contribuciones, y también puede ayudar a evitar que los spammers introduzcan preguntas en el sistema. Por ejemplo, puede elegir preguntas no con la misma probabilidad pero con una probabilidad proporcional a la reputación del remitente. Jon Skeet, por favor no envíe ninguna pregunta :-)