2010-05-21 7 views
10

Por lo que he leído en here, el hecho de que captchas no son 100% seguras. ¿Qué se puede usar en lugar de captcha? Como programador, ¿qué piensas? cómo resolver este problema?¿qué se puede usar en su lugar si captcha es inseguro?

Edit: gracias por todas las respuestas.

+0

Ver mi respuesta en esta pregunta: http://stackoverflow.com/questions/2387496/how-to-prevent-robots-from-automatically-filling-up-a-form/2387686#2387686 – Pindatjuh

+0

Su "inseguro" , inseguro no es una palabra. – rook

Respuesta

7

Este es un problema sin resolver, y se irá resolviendo con el paso del tiempo. Cuanto mejores sean las herramientas de OCR, menor será la brecha entre humanos y computadoras, y será más difícil distinguirlas. Eventualmente, las computadoras serán indistinguibles de los humanos, y luego el juego estará listo.

Si su servidor quiere asegurarse de que un humano está en el otro extremo de una tubería TCP, no existe una prueba de turing que no sea derrotada (y probablemente nunca la tenga) . CAPTCHA está condenado, solo es cuestión de qué tan pronto.

Por supuesto, eso no significa que todo ha terminado en lo que respecta a la autenticación humana. Simplemente significa que las pruebas de turing automatizadas, por más convenientes que sean, no serán una forma efectiva de lograr esto por mucho más tiempo.

+0

+1 Apuesto a que el siguiente obstáculo son los escáneres faciales o retinianos. La mayoría de las computadoras tienen cámaras web para hacer esto ya. El lado del software tal vez un poco atrás. – Anurag

+0

"Eventualmente, las computadoras serán indistinguibles de los humanos", yeaa ... No lo creo. Serán más difíciles de distinguir para una computadora, tal vez. – hasen

+0

@hasen j, creo que te estás perdiendo el punto. No estamos hablando de un cyborg acercándose a un cajero de banco. Estamos hablando de un agente desconocido en el otro extremo de una tubería TCP que simplemente tiene que responder con el conjunto correcto de bits para convencer a otra máquina de que se trata de un ser humano que envía esos bits. No digo que este sea un problema fácil, pero se ha logrado un progreso significativo, y la tecnología CAPTCHA ya está empezando a ceder bajo la presión. –

6
  • Captcha que implica la reflexión humana (como el cálculo, la pregunta realmente simple, y similares).
  • Session tokens
  • entrada oculta generada al azar que debe ser nula, en el lado del servidor generar un identificador aleatorio, mantenerlo en una sesión por un tiempo. Si la entrada está llena y no es nula, entonces podría haber sido llenada por un robot, ¿tus usuarios llenarán una entrada oculta?

Creo que realmente depende de lo que está tratando de controlar sobre el uso de captcha.

+0

@Boris Guéry gracias, ¿a qué te refieres con entradas ocultas generadas aleatoriamente que requieren ser nulas? – berkay

+0

He editado mi awser. –

+0

Los scripts suelen llenar cada campo de entrada con algunos datos, aunque cuando esta técnica de prevención comienza a ganar tracción, esos scripts automatizados simplemente ignorarán los campos de entradas ocultas, mientras rellenan el resto del formulario. – Anurag

0

Captcha se utilizan para determinar que un ser humano real está haciendo la solicitud, no una máquina. Los sistemas Captcha y captcha se actualizarán, al igual que la tecnología para romperlos.

Entonces, ¿cómo pruebas que estás hablando con un ser humano y no con una computadora? Por ejemplo, podría requerir que los usuarios participen en una sesión de chat y mantengan una conversación pequeña. No hay IA hoy en día que pase la prueba de turing.

Así que la respuesta es que ningún sistema es perfecto. No trates de resolver este problema, pero trata de encontrar una manera de reducir el impacto de esto.

5

una explicación más detallada de una sugerencia hecha por Boris:

entrada oculta generado de forma aleatoria que requiere ser nula

La idea es que el formulario contiene varias entradas invisibles, su tipo probablemente no debería se establece en oculto, pero deben ser invisibles para un ser humano (por ejemplo, configurar el ancho o la altura a 0). El contenido inicial de estos campos debe estar vacío. Si un humano llena el formulario, el campo estará vacío, porque el humano no puede ver el campo para ingresar nada en él, pero si un bot rellena el formulario, el campo (posiblemente) no estará vacío, porque los bots generalmente simplemente ingrese ciegamente algo en cada campo.

Por lo tanto, puede distinguir entre un bot y un humano en función de si el contenido de este campo está vacío.

+0

gracias haciéndome claro. – berkay

+0

nunca pensé en eso, ¡muy listo! – vitorbal

0

A largo plazo, el gobierno podría ejecutar servidores abiertos como pasaportes digitales para sus ciudadanos. Sería una forma limpia de identificar a los seres humanos y evitar el embriaguez.

+3

¿Soy la única persona que espera que esto nunca suceda? – Earlz

+0

Aunque estoy de acuerdo, no veo cómo esto resuelve el problema de los bots. – rook

0

Por el momento en mi sitio web opté por preguntas simples. Algunas preguntas que he usado en el pasado:

  • ¿Cuál es dos para el poder de uno?
  • ¿Qué es 2 + 2? (este ha sido pirateado, así que no lo use)
  • ¿Cuál es el nombre del dominio de este sitio web?
  • ¿Cuál es la suma de dos y dos?

Algunos otros podrían ser agradables

  • tipo de 'cosas' a este cuadro como spam
  • Lo que hace 1337 parece? (usando solo letras)
  • ¿el año actual es?
+0

¿Por qué alguien usaría esta prueba de Turing sobre reCapthca? – rook

+0

@The R el objetivo de esta pregunta es alternativas a Captchas – Earlz

+0

Entiendo eso, pero lo que está describiendo es una capthca. o una "Prueba de Turing completamente automatizada" – rook

1

Aunque captchas se pueden romper, Capthca de sólo aumentan la seguridadreCapthca es muy de buen OCR entrenada como Tesseract va a tener un éxito muy limitado en romperlo. Sin embargo, hay conjuntos que usan Human Computation para descomponerlos por centavos. Pero esto hace que los ataques contra su sistema sean más caros, y eso es lo mejor que puede esperar. La criptografía se puede romper con la fuerza bruta. Todos los hash de contraseñas son frágiles, pero aún así los usamos porque dificultan el ataque.

La mayoría de las "soluciones" en este hilo son "Security Though Obscurity" y debe tener cuidado con estas soluciones rápidas para un problema muy complejo.

+0

Rook, gracias me gustan todas las respuestas de la etiqueta de seguridad – berkay

+0

@Berkay gracias, eso es un gran complemento. No es fácil estar en la cima (http://stackoverflow.com/questions/tagged?tagnames=security&sort=stats&pagesize=50). – rook

0

Lo mejor que puedo pensar es usar algo no convencional, como un campo oculto especial que debería ser nulo (u otro valor específico) con el que los robots se meterán.

Si algún fabricante de robots ajusta su robot para su sitio, tendrá que cambiar rápidamente el captcha a algo diferente. Será (con suerte) tomar un buen tiempo antes de que otro fabricante de robots ajuste su robot para su sitio.

Básicamente, es una seguridad a través de la oscuridad que tiene que cambiar constantemente para permanecer oscura.

Esto no funcionará muy bien si alguien apunta específicamente a su sitio.

0

Es sólo una idea, ID utilizado que en mi aplicación y funciona bien

puede crear una cookie en el movimiento del ratón con javascript o jQuery y bajo control del lado del servidor, si existe galleta, porque sólo los seres humanos tienen ratón, galletas solo puede ser creado por ellos la cookie puede ser una marca de tiempo o un token que se puede validar

0

Obtiene las coordenadas del mouse, determina si las coordenadas han cambiado, puede determinar si se trata de un robot.

A continuación, cifre los datos de coordenadas.

Cuestiones relacionadas