Lista de personajes visualmente similares, para detectar falsificaciones y ataques de ingeniería social

17

Estoy intentando detectar ataques de homógrafos y otros ataques en los que un atacante utiliza un nombre de dominio falso que parece visualmente similar a un nombre de dominio confiable (por ejemplo, bankofthevvest.com en lugar de bankofthewest.com).

¿Hay un diccionario o base de datos de caracteres visualmente similares que sea adecuado para el uso programático?

Por ejemplo, si busco "l", me gustaría recuperar una lista que indique que "l" es visualmente similar a "1" e "i" (al menos en algunas fuentes). Si busco "w", podría decirme que es visualmente similar a "vv" (en algunas fuentes). Si busco "d", podría decirme que es visualmente similar a "cl" (en algunas fuentes). Al menos por ahora, mi enfoque está en la similitud visual entre los caracteres ASCII. Está bien ignorar a Unicode. (Sin embargo, es una ventaja adicional si hay una lista que también conoce qué caracteres de Unicode son visualmente similares a cada carácter ASCII).

Si tal cosa ya existe, me gustaría evitar volver a inventar la rueda. ¿Ya existe tal lista?

Esto es lo que he encontrado hasta ahora:

pregunta D.W. 25.06.2016 - 21:51
fuente

2 respuestas

8

Intente buscar bajo el término "Homoglyph" en lugar de "homograph".

Por ejemplo, esto podría ser lo que querías:

enlace

Contiene código y diccionarios.

    
respondido por el J Kimball 27.06.2016 - 16:08
fuente
8

Hay diferentes enfoques para los ataques de homógrafos. El éxito depende de la fuente utilizada. Por ejemplo, en algunas fuentes, la letra minúscula l se parece mucho a la letra mayúscula I. Y en otras, no lo hacen.

Similitudes

Usa caracteres similares. Sustituyen al personaje real.

  • b ⇔ 6
  • c ⇔ (
  • g ⇔ q, 9
  • C ⇔ (
  • G ⇔ 6
  • L ⇔ l, I, 1, |
  • O ⇔ 0
  • S ⇔ 5
  • V ⇔ U
  • Z ⇔ 2

Caracteres de alteración de sonido

Algunos idiomas, como el alemán, tienen caracteres especiales (por ejemplo, diéresis). En algunas circunstancias, pueden parecer un personaje sin ellos:

  • a ⇔ ä, à, á
  • e ⇔ ë, è, é
  • i ⇔ ï, ì, í
  • o ⇔ ö, ò, ó
  • u ⇔ ü, ù, ú

Multi-letra

En algunas fuentes, el enfoque de varias letras es muy exitoso.

  • a ⇔ ci
  • d ⇔ cl
  • g ⇔ cj
  • m ⇔ rn
  • A ⇔ fi
  • W ⇔ VV

Construcciones

Construye un solo carácter a partir de múltiples caracteres. Muy popular es vv en lugar de w.

  • A ⇔ / \
  • B ⇔ | 3
  • D ⇔ |)
  • G ⇔ (¬
  • H ⇔ | - |
  • K ⇔ | & lt ;, | {
  • L ⇔ | _
  • M ⇔ | v |
  • N ⇔ | \ |
  • V ⇔ \ /

Inyecciones

La inyección implica insertar caracteres sin sentido en una cadena, especialmente dentro de un dominio / url.

enlace enlace

Los espacios en blanco a menudo se pasan por alto en este caso. El espacio en blanco de ancho cero (& # 8203;) es una buena herramienta en algunas circunstancias.

    
respondido por el Marc Ruef 27.06.2016 - 15:44
fuente

Lea otras preguntas en las etiquetas