Protocolos de red resistentes bizantinos feat. ODSBR

Como un proyecto dedicado a optimizar de forma segura la transmisión de datos en la capa de red, sorprendentemente, explorar el trabajo previo en el área es de gran interés para nosotros. Desafortunadamente, aunque hay abundante trabajo de la década de 2000 en el área de redes P2P y redes superpuestas de alto rendimiento (con una cantidad significativa de trabajo seminal proveniente del laboratorio de nuestro colega Prateesh en el MIT – Chord DHT y las redes de superposición resilientes están entre algunas) mucho menos investigación en el contexto de los entornos bizantinos.

Sospechamos que este es el caso debido a la naturaleza no incentivada de los sistemas P2P durante la era pre-blockchain. Si bien se habían incorporado ciertas medidas contra el adversario en sistemas como Bittorrent, nunca hubo un riesgo de mil millones de dólares hasta que aparecieron Bitcoin y Ethereum. Afortunadamente, un área particular que hemos identificado, Wanets (redes inalámbricas ad-hoc) y Manets (redes móviles ad-hoc), se parece mucho a las redes P2P incentivadas. Utilizadas para la comunicación inalámbrica en casos donde hay poca conectividad a Internet (campos de batalla, recuperación ante desastres) o requisitos de baja latencia (comunicación de vehículo a vehículo), las redes inalámbricas ad-hoc tienen escenarios de ataque similares a las cadenas de bloques sin permiso (imagine un ejército o avión espiar, manipular o retrasar las comunicaciones de su enemigo o un terrorista que causa accidentes de tráfico).

Por lo tanto, creemos que sería interesante para la comunidad aprender más sobre las soluciones existentes a los problemas que ralentizan la comunicación P2P o, lo que es peor, los vuelven inseguros. Esta serie sobre protocolos de red resistentes a los bizantinos presentará algunos documentos de alta calidad que consideramos relevantes. En esta publicación exploraremos "ODSBR: un protocolo de enrutamiento bizantino resistente a demanda seguro para redes inalámbricas ad hoc" de Baruch Awerbuch et al, que apareció en ACM TISSEC, una publicación bastante bien considerada (por encima de CSS, por ejemplo). Comenzaremos con una breve descripción general de ODSBR seguido del modelo de amenaza, la estrategia de enrutamiento y la técnica sugerida para detectar actores maliciosos. Concluimos examinando las garantías proporcionadas y las consideraciones de aplicar este método a los protocolos de blockchain.

ODSBR es un protocolo de enrutamiento bizantino resistente a demanda seguro para redes inalámbricas adhoc. Primero, desglosemos el nombre y comprendamos lo que significa.

“A pedido” implica que la ruta desde el origen hasta el destino no se calcula previamente, sino que se determina cuando es necesario. Esta propiedad garantiza que el algoritmo pueda funcionar en situaciones donde la topología de la red no es estable. Aunque el otro lado de la moneda es que se requieren más recursos y tiempo de descubrimiento para encontrar una ruta para cada solicitud.

"Resiliencia bizantina segura" significa que la técnica de enrutamiento es segura contra los actores bizantinos que pueden comportarse de manera arbitraria. Como resultado, a pesar de los actores maliciosos que intentan interrumpir la red mientras intentan no ser detectados, el protocolo proporciona un mecanismo para detectar dichos actores e incluso si no tiene éxito, proporciona límites garantizados sobre el daño máximo que pueden causar. red.

“Para redes de sensores inalámbricos”: las redes de sensores inalámbricos tienen características que son típicas de una capa de red descentralizada abierta: los enlaces entre pares muestran características impredecibles, los pares van y vienen como desean, lo que hace que la topología de la red sea dinámica, la propagación es de igual a igual. Peer como el rango de redes inalámbricas es limitado y los entornos tienen restricciones de energía, lo cual no es una suposición estricta para las redes descentralizadas, pero es bueno tenerlo, ya que se traduce en una reducción de la sobrecarga de comunicación (paquetes de control, ancho de banda, etc.).

ODSBR supone que la red no está abierta, sino que tiene un conjunto de nodos conocido pero ilimitado. Cada nodo está representado por una clave pública. Una de las principales suposiciones que podrían no traducirse fácilmente a todos los casos en el mundo distribuido es que se considera que el origen y el destino son confiables. También se supone que existe un camino no contencioso entre el origen y el destino. No se asume el número / fracción de nodos en la red que pueden realizar acciones bizantinas (¡un plus!) Que se definen como cualquier acción realizada por un nodo autenticado realizado en la capa de red que da como resultado la interrupción o degradación del servicio de enrutamiento. Los ataques Sybil no se consideran en este documento, pero son muy relevantes para los sistemas distribuidos abiertos. Una falla se define como cualquier interrupción que resulta en una pérdida o retraso significativo. Puede ser un ataque intencionado o una falla benigna.

El objetivo del protocolo es detectar el comportamiento bizantino, ya sea de forma aislada o colusoria, y evitar o limitar su efecto en el sistema general.

Hay 3 componentes diferentes para ODSBR.

Descubrimiento de rutas Detección de fallas bizantinas Control de peso de enlaces

Las rutas se descubren inundando la red con solicitudes que contienen el destino. Las solicitudes se reenvían y el descubrimiento de ruta real ocurre cuando el destino lo recibe y envía una respuesta. Una métrica llamada "pesos de enlace" que captura la fiabilidad y el comportamiento de confrontación se utiliza para encontrar la ruta más eficaz. Un nodo reenvía una respuesta solo si el peso acumulado alcanzado al agregar los pesos de enlace individuales es el menor entre los que recibió hasta ahora. Por lo tanto, se pueden encontrar múltiples rutas con diferentes pesos desde los cuales el emisor elige la ruta con el menor peso.

El mecanismo de detección de fallas solo detecta el enlace defectuoso, pero no puede atribuir la responsabilidad a ningún nodo a ambos lados del enlace.

La fuente inicia un temporizador después de enviar el paquete de datos. Si no se recibe un acuse de recibo válido dentro de un tiempo de espera, la fuente supone que se pierde el paquete. Se supone una falla cuando la tasa de pérdida para una ruta es mayor que la tasa de pérdida umbral definida por la fuente. Una vez que la fuente detecta que una ruta es defectuosa, se inicia un mecanismo de sondeo en esa ruta para detectar el enlace defectuoso.

El mecanismo de prueba utiliza la búsqueda binaria para detectar el enlace defectuoso. La fuente controla la búsqueda especificando en los paquetes de datos la lista de nodos intermedios que deben enviar un acuse de recibo. Estos nodos intermedios se llaman sondas. Las sondas dividen la ruta en múltiples intervalos entre los cuales se busca la falla y, si se encuentra, el intervalo se divide en dos al insertar otra sonda.

Las sondas se retiran cuando no es necesario, ya que son una sobrecarga para el protocolo. Cuando se detecta una falla en el intervalo, se inserta una sonda dividiendo el intervalo en 2 partes. Cada lado de la sonda inicia un contador proporcional a la cantidad de pérdida (debido al intervalo correspondiente) que activó la falla (por lo tanto, la sonda). El contador disminuye con cada confirmación recibida durante el sondeo. Cuando se agotan los 2 contadores en ambos lados de la sonda, la sonda se retira uniendo ambos intervalos y terminando así la sonda. Este procedimiento limita la tasa de pérdida que cualquier comportamiento malicioso puede infligir en la ruta.

El peso del enlace es la métrica utilizada para determinar la ruta más confiable. Una vez que el proceso de detección determina los enlaces maliciosos, los pesos de los enlaces se actualizan para reflejar las fallas.

El objetivo de la gestión del peso del enlace es asegurarse de que se penalicen las fallas y de que se puedan recuperar las fallas transitorias. El peso del enlace se duplica para cada falla, de modo que las fallas continuas y persistentes son severamente castigadas y las malas rutas son eventualmente abandonadas. Para asegurarse de que los nodos puedan recuperarse de fallas transitorias, el peso del enlace se restablece a un valor predeterminado después de un tiempo de espera proporcional al número de pérdidas al identificar el enlace defectuoso.

ODSBR proporciona un enfoque interesante para detectar enlaces maliciosos y, en caso de que el actor malicioso se comporte de manera inteligente para evitar ser detectado mientras todavía se porta mal, proporciona un límite en la tasa de pérdida que el mal comportamiento puede infligir.

La técnica de sondeo de búsqueda binaria para detectar enlaces maliciosos es un enfoque interesante, pero algunas de las suposiciones detrás del enfoque, como un receptor y remitente de confianza, es una suposición difícil de hacer en un contexto descentralizado. Esto evita que el enfoque se utilice en sí mismo para tomar decisiones globales. Por ejemplo, es difícil cortar a alguien creyendo en un remitente determinado. Un receptor malintencionado o defectuoso que no envía ACK haría sospechoso el nodo justo antes del receptor en la ruta.

Sin embargo, la técnica se puede utilizar para tomar decisiones a nivel local para mantener la reputación local de auto-uso. Posiblemente también podría usarse globalmente al corroborar datos de múltiples fuentes (aunque de manera infalible).

La resistencia Sybil se puede introducir a través del replanteo Del mismo modo, el supuesto de que los nodos se autentican no es malo debido a la existencia habitual de un período de vinculación en las redes de replanteo.

ODSBR envía solicitudes de sondeo superpuestas en los paquetes de datos a través de la misma ruta en la que se sabe que un usuario malintencionado está presente. Si bien puede parecer que el remitente solo puede usar una ruta alternativa en lugar de malgastar recursos en la búsqueda de un enlace defectuoso que podría no producir resultados, podría haber (y la mayoría será) al menos 1 nodo malicioso (y, por lo tanto, una ruta defectuosa) ) en rutas alternativas (si algo como 33 o 49% de toda la red es malicioso). ODSBR proporciona un mecanismo para limitar la tasa de pérdida en cualquier ruta, ya que cualquier enlace (y nodos asociados) que se detecten están en la lista negra (y, por lo tanto, pierden ingresos durante ese período de tiempo). Como corolario, en los casos en que las sanciones (en este caso, las listas negras) se imponen solo después de un cierto umbral, se incentiva a los nodos racionales a proporcionar estrictamente solo la cantidad umbral de servicios.

ODSBR proporciona una serie de técnicas e ideas interesantes que se pueden aplicar a las redes en entornos bizantinos. Siéntase libre de compartir sus puntos de vista en nuestro canal de discusión o foro de investigación. No olvides suscribirte a nuestro blog para recibir más contenido tan interesante.

Otros canales oficiales de redes sociales:

Gorjeo

Canal de anuncio de Telegram

Telegram Chat Group