domingo, 23 de mayo de 2010

NewSID, una herramienta de seguridad incuestionable durante 12 años, no servía para nada (y II)

Es casi seguro que todos los usuarios y empresas que han clonado Windows en alguna ocasión han usado NewSID, con la esperanza de eliminar problemas de seguridad potenciales que se supone podían surgir por existir máquinas con el mismo SID en una red. Eso decía todo el mundo y nadie lo cuestionaba. Pero... ¿era necesario? En realidad, "todo el mundo asumió que otra persona sabría exactamente cuál era el problema".

La pista

Windows Vista empezó a fallar en alguna ocasión tras usar NewSID. Russinovich comenzó a depurar el programa y replantearse su funcionamiento. ¿De verdad mantener el mismo SID en diferentes máquinas era un problema? Este hecho no era cuestionado por nadie, mucho menos por el autor del programa. Pero cuanto más lo pensaba, más convencido estaba de que se había usado una herramienta inútil cambiar el SID no ofrece ventajas ni de seguridad ni de ningún tipo) durante más de 12 años.

Mark pensó que la única forma de que efectivamente supusiera un problema, es que el SID realmente fuera referenciado por alguna máquina externa en alguna ocasión. Sólo así cabría la posibilidad de "usarlo ilegítimamente" de alguna forma en una red y que el hecho de compartir el SID fuera peligroso (permitiese a personas acceder a recursos que no le corresponden). Si el SID "viajara" hacia la otra máquina al compartir una unidad, por ejemplo, podría emplearse de forma insegura al comprobar los permisos.

La clave

Pero lo cierto es que Windows solo permite autenticarse en otro ordenador a través de un usuario válido para ese otro sistema (ya sea local o del dominio al que ambos pertenezcan). Una vez que se le ofrece ese usuario para autenticarse, la máquina remota toma el SID de su propia SAM, y si es el dominio, es el controlador el que lo toma de su base de datos. Ese Windows nunca hace referencia al SID de la máquina que quiere conectarse. Por tanto concluyó que el SID realmente no tiene un papel relevante a la hora de acceder a un sistema remoto y autenticarse sino que, lo que realmente cuenta, es un nombre de usuario y una contraseña. Aunque se comparta el SID, no se permitiría el acceso a nada.

De hecho, realmente era obvio. Desde siempre, existen SIDs "universales" como el del grupo "Todos", la cuenta SYSTEM... ¿Ha supuesto alguna vez esto un problema de seguridad en una red?

Sin embargo, se dan un par de excepciones en las que el SID sí que permitiría acceso a recursos ajenos: una de ellas es en el caso de discos duros externos formateados con NTFS. Dos máquinas con mismo SID podrían acceder a los archivos… pero la verdad es que existen otras maneras mucho más sencillas de acceder a un disco duro externo NTFS sin cifrar que la de "compartir" SIDs…

Mark lo habló con los desarrolladores de Microsoft y el equipo de seguridad y, tras discutirlo ampliamente, retiraron NewSID en noviembre de 2009. Mantienen Sysprep porque realiza otras acciones necesarias para los Windows a la hora de clonar sistemas.

¿Y ahora qué?

El propio Mark se sorprende de que el mito de la duplicación de SIDs no haya sido cuestionado hasta ahora. Como él mismo escribe "todo el mundo asumió que otra persona sabría exactamente cuál era el problema". Pero nadie lo sabía. De hecho, no había problema alguno. Mark programó, con la mejor de las intenciones y de una manera técnicamente brillante, una herramienta que solucionaba un problema que no existía. Ni siquiera para Microsoft estaba claro el asunto, y la herramienta no fue cuestionada en ningún momento. Tuvieron que pasar más de 12 años para descubrir que el esfuerzo realmente no hacía ningún bien (aunque afortunadamente, tampoco causaba ningún mal).

Resulta una historia realmente curiosa. Particularmente, hace que reflexionemos sobre una cuestión que nos parece relevante y, desgraciadamente, más común de lo que parece: ¿Qué otros mitos damos por sentado, pensando que "cualquier otro sabrá exactamente cuál es el problema"? ¿Con qué otros hábitos "incuestionables" convivimos?


Sergio de los Santos
ssantos@hispasec.com


Más información:

The Machine SID Duplication Myth
http://blogs.technet.com/markrussinovich/archive/2009/11/03/3291024.aspx

No hay comentarios:

Publicar un comentario en la entrada