OK, las redes punto a punto, ya sea la red TOR, Bitcoin o incluso las redes de intercambio de archivos, generan identidades para cada nodo. En la parte de las redes basadas en el anonimato, utilizan identidades seudónimas.
El ataque comienza creando una gran cantidad de identidades. Cuanto más barato es el esfuerzo para crear más, más fácil es crear números más grandes, lo que socava el sistema de reputación de esa red de igual a igual. La parte crítica es el grado en que el sistema de reputación acepta entradas de nodos que no tienen una cadena de confianza que los vincule a nodos conocidos y confiables y si ese sistema trata a todos los nodos de manera idéntica, más fácil será socavar toda la reputación. sistema y esencialmente posee ese sistema de reputación.
De hecho, lo usé como ejemplo en un informe sobre cómo se podría romper TOR. Poseer más nodos de salida, poseer más del tráfico. Ofrezca un buen rendimiento en sus nodos, mejor que muchos otros nodos o la mayoría, tenga todos los puntos finales y el análisis de tráfico puede romper el anonimato y, finalmente, uno puede adquirir texto en claro o al menos suficiente tráfico cifrado para comenzar los ataques cifrados del tráfico SSL / TLS.
También noté cómo I2P era más resistente a tales ataques, ya que el sistema de reputación era más robusto, pero enumeré un puñado de vulnerabilidades en la implementación en el momento en que podría violarse. Por desgracia, ese informe no está disponible para el público.
Para evitar un ataque de Sybil, uno tiene que utilizar una validación más robusta de los nodos, ignorando o incluso rechazando activamente los nodos hostiles enmascarados.
Se podría utilizar la validación basada en la identidad, pero eso sacrifica el anonimato, que no es deseado en Bitcoin y muchas otras redes P2P. Algunos protocolos de intercambio de archivos P2P también utilizan sistemas de prueba de trabajo, que requieren que un nodo realice una cierta cantidad de trabajo antes de que el nodo sea totalmente confiable. Como eso requiere un costo de procesamiento de la CPU, socava la posibilidad de abofetear a varios clientes o incluso hosts basados en VM, al aumentar los costos de procesamiento, lo que reduce la cantidad de nodos de ataque disponibles para el atacante.
Un ejemplo es que tengo un servidor de procesador Xeon dual-core de tamaño completo en una habitación libre. Su propósito principal es como servidor de cine en casa. Pero también coloco sistemas operativos invitados para varios experimentos. Si llenara completamente la RAM en el servidor, podría alojar una instancia mínima del sistema operativo, agregar un host y replicar eso 1000 veces y cada uno entraría en una red P2P. Si hace eso miles de veces con servidores adicionales, lo cual es trivial para el script, tiene algunos millones de hosts que posee. Refleje su tráfico en un puerto de red de 10 gigas de repuesto, que registra el tráfico, con un servidor dedicado que procesa y analiza el tráfico, y recibe texto claro en tiempo real muy cercano.
Pero, diluya las instancias haciéndolas funcionar, esos miles por servidor deben reducirse, por razones de rendimiento, a unos pocos cientos o incluso cien. Eso diluye el esfuerzo de todo el ensamblaje, hasta niveles de instancia casi únicos.
Y sí, tengo un servidor de tamaño empresarial de tamaño completo en la habitación libre. Tendría dos, salvo que el aire acondicionado en la capacidad de la habitación estaría abrumado y tendría problemas de sobrecalentamiento. Eso socavaría el núcleo de nuestros sistemas de entretenimiento doméstico en toda la casa. Eso significaría que tendríamos que volver a los más de 3000 DVD, ordenarlos, extraer el título que queríamos, en lugar de simplemente ver la copia copiada (el uso legítimo es legal en los EE. UU.) Servido por el servidor, del conjunto RAID 10 integrado en él.