Buenas. Llevo dándole muchas vueltas al tema del baneo y a como lo han hecho, y con la información que he leido y lo que he buscado he intentado hacer un esquemita de lo que se refiere a la validación y al baneo para intentar aclararnos un poco.
La validación se hace mediante un protocolo que se llama Kerberos, probablemente la implementación V5 que es la más moderna utilizada por Microsoft.
Al encender la consola sucede una secuencia que muestra la imagen:
1- Se enciende la consola y se inicia sesión local con el gamertag.
2- Al pedir conexión con Xbox Live (una vez que se dispone de una configuración IP válida, bien sea por configuración manual o por DHCP) se realiza una petición DNS a 2 servidores Live esenciales en el proceso de validación.
3- Con la IP del primer servidor se inicia lo que se llama el Kerberos Handshake. La validación consta de 2 tareas principales:
A- Valida los datos de usuario y contraseña asociados al Gamertag contra los servidores de Passport por el proceso estandar de validación, en el que no profundizaremos porque no influye para nada en el baneo. Una vez finalizado este proceso, y en función de las credenciales proporcionadas, Live determina si tenemos acceso Silver, Gold o simplemente no tenemos acceso.
B- Valida los datos de identificación de la consola (a día de hoy desconocidos, pero dudo mucho que sea solo el número de serie. A todo el conjunto de datos proporcionados lo llamaris ID de la consola) obteniendo un ID de la consola.
En el paso 3, tanto la validación de Gamertag como la de ID de la consola se producen encriptados y firmados en muchos casos con clave simétrica y sin enviar en ningún caso contraseñas, si no algoritmos de comprobación de validez de las mismas (cualquiera un poquito puesto en encriptación sabrá de lo que hablo, que MS no ha inventado nada, y no es objetivo de este post profundizar en ese campo) por lo que esas teorías de interceptar un paquete y modificarlo al vuelo son inutiles. En todo caso habría que reencriptar todo el paquete... bueno, sigo, que me enrollo cual persiana.
4-Siguiendo con la validación de la consola, el servidor tiene el ID de la consola que compara con una lista. Por optimización del servicio, dudo mucho que haya una lista con todos los IDs de todas las 360 del mundo mundial, ya que lo más inteligente sería tener una lista solo con las baneadas.
5- Si el ID de la consola no está en la lista, se comprueba que sea válido (este paso puede que se realice antes de comprobar el listado de baneados) con una operación aritmética y se le da paso para que pueda acceder al resto de los servicios.
Si el ID está en la lista se niega el acceso y se devuelve el codigo de error que todos hemos visto para que al ejecutar el test muestre el mensajito del baneo harto conocido por todos, y fin del proceso.
6- Si la validación ha sido positiva ya se puede poner la consola en contacto con el segundo servidor Kerberos, con un identificador de acceso generado tanto con datos de la validación de usuario como de consola (en Windows se llama Access token) que es el que dice si somos Gold o Silver y a que servicios tenemos acceso cada vez que queremos conectar a un servidor de cualquier juego o servicio de Live
El proceso de validación y el uso de Kerberos haría más cosas, pero creo que tampoco vienen a cuento para el tema del baneo, que solo marca si se hace inicio de sesión o no.
Conclusiones:
En este apartado podemos meter conclusiones obtenidas. Por lo pronto, yo pongo las mías.
-Si existen blacklist, o una lista donde figuran los ID de las consolas baneadas. Esta lista la incluyen los administradores de Live como condición de inicio de sesión.
-Esta lista se ha generado bastante tiempo antes. Hay mucha gente que se ha tirado algun mes sin conectar (
http://www.elotrolado.net/showthread.php?s=&threadid=774629) y no está actualizada a la última version del dash y han caido. Probablemente estaban poblando las listas y el día 17, con la demo de Halo3 y la sobrecarga de Live hayan decidido ponerla en marcha.
-Cualquier consola podría estar baneada, independiente de su firmware. Por hacer una conjetura con mis experiencias cercanas y lo leido, yo diría que han empezado a capturar datos de consolas a banear tras el último parón de 2 días que hicieron del live, ya que para esto necesitarían actualizar todos los servidores de Live.
-Para poder analizar los paquetes de datos del baneo, habría que saber en que momento se han empezado a capturar estos datos. Yo he comprobado paquetes de datos de antes, durante y despues del baneo y antes y despues de la última actualización y no he visto nada distinto, aun sin desencriptar el contenido. Con esto quiero decir que dudo que con la actualización de primavera hayan empezado a pedir los datos con los que se ha baneado, o al menos que esos datos no se piden durante el proceso de inicio de sesión, pero puede que se pidan al ejecutar un juego o cualquier otra cosa. Eso requiere mucho tiempo y experiencia para ponerse a comparar offset y procesos y yo no tengo ni lo uno ni lo otro.
Me he pegado tambien una quemada de pestañas para averiguar mas sobre la infraestructura de Xbox Live, y aunque existe mucha información, muy poca es información técnica valida para lo que estamos estudiando, pero por si a alguien le viene bien la resumo.
Case Studie de la infraestructura inicial de Xbox Live en Black Box Networks, que habla mas que nada de cableados, parcheos e infraestructura de cada uno de los cuatro sites (2 en USA, uno en Japón y uno en Londres) que había en los comienzos allá por el 2003-2003:
http://www.blackbox.co.uk/ukhome.asp?cs=dvh&id=3&tx=Case%20Studies&bc=casestudies/xbox
Explicación básica de teorías de redes para comprender el modelo de conectividad de Xbox Live, incluyendo el proceso de validación simplificado al máximo:
http://forums.xbox.com/748727/ShowPost.aspx
Nota de prensa de Level 3, que es la empresa que llevaba la red sobre la que furula el Live y la que da conexión a todos los servicios de infraestructura ajenos a Microsoft:
http://www.level3.com/newsroom/pressreleases/2002/20020722.html
A dia de hoy no he tenido constancia de que sigan con esta compañía ni de lo contrario. Sinceramente, dudo que hayan cambiado porque sería un jugoso acuerdo publicitario para que ninguna compañía suelte prenda, aunque puede que algún NDA los tenga pillados por el escroto.
Estoy buscando los links de las nuevas granjas que había montado MS en el 2006 en USA para albergar los usuarios nuevos, pero he cerrado muchos enlaces de los que no he tomado nota. Añadiré más cosas según las encuentre.
Espero que a alguno os sirva de algo.
Un saludo y gracias por vuestra atención.