Los sitios web y los servidores a menudo son pirateados cuando existe una vulnerabilidad en el código del lado del servidor. ¿La perforación de agujeros UDP o TCP pone ese riesgo en los usuarios de la aplicación cuando las conexiones se vuelven de igual a igual?
Tomemos, por ejemplo, la práctica claramente vulnerable de ejecutar una entrada no saneada. Obviamente, esta práctica no se haría por diseño, pero este tipo de cosas sucede con demasiada frecuencia por error. En una configuración tradicional, si user_a
interactúa con user_b
primero tendríamos que user_a
envíe información al servidor, el servidor procesará los datos y luego enviará algo a user_b
. Con la perforación de agujeros, conseguimos un intercambio entre los dos usuarios, por lo que user_a
envía datos a user_b
, y user_b
los procesa por sí mismo. Si hubiera una vulnerabilidad en la forma en que el servidor procesó la entrada (en este caso, ejecutándola sin desinfección), la vulnerabilidad podría estar presente en el lado del cliente, permitiendo que user_a
inyecte y ejecute directamente el código en user_b's
máquina.
Si se encontrara una vulnerabilidad grave en una aplicación de perforación (Skype y otros servicios de VoIP, algunos juegos en tiempo real multijugador, etc.), ¿hay algo que impida que un pirata informático malintencionado tenga acceso directo al sistema de cualquier usuario? interactúan con Si no es así, ¿son los programas peer to peer innecesariamente riesgosos? ¿Existe una manera general de mitigar este riesgo para las personas que crean estas aplicaciones? ¿Y qué pasa con las personas que usan estas aplicaciones? ¿Los programas como Skype dejan a los usuarios en un nivel de riesgo indebido (más de lo normal)?