¿Cómo funciona el ataque Sybil? ¿Cómo inicia el ataque?

Interesante pregunta. Es posible que no pueda darle una respuesta lo suficientemente exhaustiva, pero haré lo mejor que pueda.

El ataque apunta a las redes P2P. El principio principal es que una entidad está controlando múltiples nodos de red. Como el objeto es desconocido, la red no se dará cuenta de que sus nodos están secuestrados. Los nodos secuestrados se pueden usar para crear múltiples máquinas virtuales o direcciones IP. Después, pueden crear muchas cuentas con diferentes credenciales para falsificar sus ubicaciones. Es un intento muy elaborado de ocultar las identidades para cualquier propósito que pueda usarse.

El principal punto de ataque es a través de la identificación en la red. Ya sea falsificando las credenciales para acceder a uno de los nodos para comenzar intentos maliciosos o alguna forma de manipulación del sistema de reputación / jerarquía.

Dado que se utilizan diferentes redes P2P para diferentes propósitos, defenderse de ellas puede ser todo un desafío. Los sistemas centralizados suelen utilizar heurísticas completas o generaciones de identidad complicadas. Algo parecido a los servicios de Bitcoin requiere que cree la misma cantidad de blockchains para la potencia que se está utilizando.

Wiki y un par de otros artículos sobre este tema deberían darle una explicación más completa, aparte de eso. Estos son los puntos básicos del ataque de Sybil. Con suerte, esto responde a su pregunta.

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.