¿Cuáles son las consecuencias si falsifico una dirección IP en el mensaje de anuncio de nodo?

De acuerdo con BOLT 07, el mensaje de cuenta del nodo se ve así:

  1. tipo: 257 ( node_announcement)
  2. datos:
    • [ 64: signature]
    • [ 2: flen]
    • [ flen: features]
    • [ 4: timestamp]
    • [ 33: node_id]
    • [ 3: rgb_color]
    • [ 32: alias]
    • [ 2: addrlen]
    • [ addrlen: addresses]

donde las direcciones son de la siguiente forma:

  • address descriptorSe definen los siguientes tipos:
    • 1: ipv4; datos = [4:ipv4_addr][2:port](longitud 6)
    • 2: ipv6; datos = [16:ipv6_addr][2:port](longitud 18)
    • 3: servicio de cebolla Tor v2; datos = [10:onion_addr][2:port](longitud 12)
      • direcciones de servicio de cebolla versión 2; Codifica un hash truncado de 80 bits SHA-1de una clave pública de 1024 bits RSApara el servicio de cebolla (también conocido como servicio oculto Tor).
    • 4: servicio de cebolla Tor v3; datos = [35:onion_addr][2:port](longitud 37)
      • versión 3 ( prop224 ) direcciones de servicio de cebolla; Codifica: [32:32_byte_ed25519_pubkey] || [2:checksum] || [1:version], donde checksum = sha3(".onion checksum" | pubkey || version)[:2].

teniendo esto en cuenta, podría anunciar que mi nodo tiene la dirección IP de otro nodo lightning existente o incluso alguna dirección IP arbitraria. Si bien está claro que nadie podría conectarse conmigo ya que no controlo la dirección IP, me pregunto cómo las implementaciones lidiarían con tal comportamiento.

Incluso si las implementaciones no tienen problemas con tal suplantación de identidad, un atacante probablemente podría usar esto para pescar y engañar a un usuario para que pague una factura, ya que proviene de un node_id que está conectado a una dirección IP de un servicio conocido donde la persona atacada podría incluso ser un cliente

¿Hay algo más que pueda salir mal con tal comportamiento de suplantación de identidad? ¿Quizás incluso habría beneficios de ello?

Respuestas (1)

No veo el ataque aquí. No puede afirmar que es un nodo diferente, porque no puede firmar por eso. Todo lo que puede hacer es dar una dirección IP falsa PARA SU PROPIO NODO. Lo que probablemente solo lleva a que las personas no puedan comunicarse contigo.

Supongo que el único caso interesante es cuando la IP que das ya se conoce como otro nodo. Tal vez la especificación debería explicar qué debe hacer una implementación en ese momento. Pero supongo que no hacer nada probablemente esté bien, ya que aún podría llegar al nodo conocido con su dirección IP (supongo que la búsqueda del nodo es por ID), y cada vez que intenta llegar al nodo de suplantación de identidad con la dirección falsa, simplemente ganó no responder