Microsoft Windows y el control de acceso, al desnudo


Sudhakar Govindavajhala y Andrew W. Appel de la Universidad de Princetown (Nueva York), han publicado un interesante estudio sobre permisos y control de acceso en sistemas Microsoft Windows. En el estudio se desmitifica el funcionamiento del sistema operativo Windows a la hora de controlar el acceso a sus recursos y se explica cómo algunos comportamientos han provocado vulnerabilidades no sólo en el sistema operativo, sino en conocidos programas comerciales





Estos investigadores han usado la programación lógica para implementar
lo que han llamado MulVAL (Multihost, Multistage, Vulnerability
Analysis) una herramienta que han utilizado para analizar profundamente
el control de acceso de los sistemas Windows XP. Mediante la información
recopilada desde distintas fuentes del sistema (el registro, sistema de
ficheros...) el modelo implementado elabora una especie de "mapa" por el
que se revelan varias posibles fórmulas y distintas vías de ataque,
todas destinadas a elevar los privilegios de un usuario local en el
sistema. Con esta herramienta, entre otras, se han encontrado hasta 20
formas distintas de escalar privilegios desde cuentas del grupo
"usuarios avanzados" a administradores. Aunque los usuarios avanzados
poseen bastantes privilegios sobre la máquina, no llegan a los totales
poderes del administrador.

En el estudio se habla también de forma clara y sencilla sobre los
potenciales peligros de la implementación incorrecta de las listas de
control de acceso a los objetos Windows y se plantean fórmulas por las
que se puede llevar a un usuario del sistema a poder ejecutar cualquier
tipo de código con los permisos del administrador o de cuentas
reservadas del sistema con altos privilegios.

Si Unix tiene un modelo simple de control de acceso basado en tres
privilegios (además del bit UID) que se dan a distintos objetos del
sistema (ficheros, directorios...), el sistema de Windows es mucho más
complejo. Se arrastra una lista de control de acceso de hasta 30
permisos diferentes para operaciones sobre unos 15 tipos distintos de
objetos, todo ello con la posibilidad de negar o permitir explícitamente
el privilegio. Esto permite afinar en extremo los permisos, pero también
puede suponer un verdadero galimatías para un administrador o para un
programador que quiera desarrollar una herramienta que interactúe con
los objetos del sistema, pues deben documentarse profusamente y
comprender la compleja estructura de permisos.

Aunque los permisos en Windows están bien documentados y detallados,
resulta muy común observar cómo los creadores de software profesionales
a menudo no evalúan correctamente el impacto que puede llegar a tener la
instalación de su programa en un sistema sin haber afinado correctamente
los permisos que han elegido para sus aplicaciones. La consecuencia es
que mucho software comercial puede llevar a la elevación de privilegios
por parte de usuarios en sistemas compartidos, y de hecho ya se han dado
casos concretos.

Hace poco, a principios de febrero de 2006, se han identificado errores
de permisos en ficheros y directorios en varios productos Adobe tales
como Adobe Photoshop CS2, Illustrator CS2, y Adobe Help Center. El grupo
"Todos" tenía permiso de escritura en 170 archivos (ejecutables y
librerías) de productos Adobe. Un atacante podría sustituirlos por
código malicioso en local y esperar a que el administrador los ejecutara
para poder arrancar ese código con mayores privilegios. La configuración
estándar de AOL, entre otros, también permitía a un usuario invitado
ejecutar código con los permisos de cualquier otro usuario (incluso los
de "Local System"), simplemente manipulando claves de registro. Los
permisos de las ramas de registro, según apunta el estudio, pueden
suponer también habitualmente un problema de seguridad.

La herramienta que desarrollaron estos investigadores ha ayudado a
descubrir muchos problemas de permisos tanto en software comercial como
en componentes del sistema. El caso de los servicios es especialmente
significativo. Al existir tantas formas y combinaciones posibles de
permisos, los desarrolladores optan por distintas vías (por no existir
una convención única) para implementar la funcionalidad de un servicio
propio que correrá en sistemas Windows. Cada servicio tiene un
descriptor de seguridad que especifica a qué usuarios se les permite
configurar o arrancar o parar un servicio. Algunos fabricantes no
aplican correctamente el modelo de control de acceso de Windows en sus
servicios y por ejemplo, otorgan indiscriminadamente el permiso "SERVICE
CHANGE CONFIG" que permite modificar el ejecutable ligado al servicio.
Microsoft recomienda que este permiso sea sólo dado a los
administradores, pero en su documentación no avisa explícitamente de que
este permiso también permite no sólo modificar el ejecutable sino
especificar quién lo hará, de forma que si, a través de cualquier
programa instalado se posee este privilegio, se puede ejecutar
potencialmente cualquier fichero bajo cualquier cuenta del sistema.

Por ejemplo, el grupo "Todos" tenía este permiso de configuración
activado en el servicio "Macromedia Licensing Service" que instalaban
varios productos de Macromedia. Afortunadamente este problema fue
solucionado en junio de 2005. Existen otros agujeros menos graves en
servicios de fabricantes ajenos a Microsoft, pero en el estudio no se
dan detalles a la espera de que puedan ser solventados.

No sólo a través de servicios de terceros es posible elevar privilegios.
Por ejemplo, según el estudio, varios servicios de Windows XP, tales
como "Servicio de descubrimientos SSDP" y "Host de dispositivo Plug and
Play universal" tenían hasta hace poco ese privilegio ("SERVICE CHANGE
CONFIG") activado por defecto para el grupo "Usuarios Autenticados".
Cualquier usuario con cuenta en el sistema pertenece a ese grupo, por lo
que potencialmente cualquier usuario podía modificar el ejecutable que
arrancaba estos servicios y la cuenta bajo la que iba a ejecutarse. Se
permitía así, indirectamente, la instalación de un troyano o software
dañino modificando la configuración del servicio y esperando a que fuese
reiniciado. Esto fue solucionado por Microsoft en agosto de 2004, aunque
el peligro estaba presente desde casi dos años antes. Otros servicios
del sistema se descubrieron vulnerables y también fueron parcheados
posteriormente.

El problema se basa en que las aplicaciones que instalamos necesitan
normalmente muchos menos privilegios de los que realmente poseen para
acceder a los datos con los que operan. Encontrar el conjunto de
permisos estrictamente necesarios para que funcione una aplicación bajo
condiciones lo más asépticas posibles de seguridad, es objeto de otro
estudio liderado en 2005 por Shuo Chen, y titulado "A black-box tracing
technique to identify causes of least-privilege incompatibilities". En
él se explica una técnica para encontrar en los programas los mínimos
privilegios posibles y necesarios que le son necesarios para funcionar.

En definitiva, con la herramienta desarrollada por Sudhakar
Govindavajhala y Andrew W. Appel, se permite facilitar la tarea del
estudio de los controles de acceso a sistemas Windows, algo, como se ha
visto, delicado. Como la herramienta puede considerarse potencialmente
peligrosa, no se ha hecho pública, aunque sí se recomienda a los
administradores usar herramientas análogas de estudio y modificación de
permisos, tales como SubInACL de Microsoft, y estudiar con ellas
cuidadosamente los permisos de los ficheros y objetos del sistema.

Tanto en entornos domésticos como corporativos, gran parte de los
problemas de seguridad de Windows vienen por el hecho de usar el sistema
en modo administrador. Entender los permisos y controles de acceso es
fundamental para limitar el impacto de los fallos de seguridad del
software, pero parece ser que Microsoft, en este sentido, no termina de
entenderse con los usuarios ni con los programadores de aplicaciones. No
hay razón para pensar que los desarrolladores de Adobe, Macromedia o AOL
han sido los únicos que han cometido errores y es seguro que otros
fallarán en los mismos términos. Estudios como los expuestos demuestran
que un cambio de rumbo y una mayor concienciación por ambas partes en
este sentido haría de Windows un sistema operativo más seguro.

Más información:

Microsoft Corporation. Service security and access rights.
http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/service_security_and_access_rights.asp

A black-box tracing technique to identify causes of least-privilege incompatibilities.
http://research.microsoft.com/~shuochen/papers/chen-ndss05.pdf

Windows Access Control Demystified
http://www.cs.princeton.edu/~sudhakar/papers/winval.pdf

Fuente:
Sergio de los Santos
hispasec.com



Otras noticias de interés:

Google muestra una página de alerta que informa sobre los riesgos potenciales
El buscador de internet Google inició un servicio que alerta a los usuarios cada vez que están a punto de acceder a un sitio web considerado potencialmente peligroso. ...
Microsoft: Usuarios deben pensárselo antes de usar geolocalización
El responsable de privacidad de la compañía de Redmond, Brendon Lynch, advierte a los usuarios de los peligros de compartir información sobre su ubicación de forma indiscriminada....
El 50% de los ISP temen la seguridad de IPv6
Casi la mitad de los proveedores de Internet (ISP) creen que podrían surgir nuevas amenazas con el despliegue de la nueva versión del Protocolo Internet (IPv6)....
Ejecución de código en Mozilla Firefox. No existe parche oficial disponible
Se ha publicado un exploit para Mozila Firefox 3.5 que permite la ejecución de código si un usuario visita una página web especialmente manipulada. No existe parche oficial disponible....
Dispositivos de #Apple no son inmunes frente al malware
El popular investigador en seguridad y criptografía, Bruce Schneier, ha declarado que a pesar de la rigida política de Apple en su tienda de aplicaciones, sus aparatos móviles no se libran de ser objeto de ataques....
Los .PDF en la lista de los spammer
Si en su cliente de correo tiene una carpeta donde almacena el spam, haga una búsqueda por archivos adjuntos con extensión .pdf, a buen seguro encontrará unos cuantos ejemplos. Es la penúltima moda para intentar evitar los filtros antispam,...
Nuevo Modo de Proteger Redes de Ordenadores Frente a Gusanos de Internet
Ness Shroff, académico de Redes y Comunicaciones en la Universidad del Estado de Ohio, y sus colegas, podrían haber encontrado una nueva manera de combatir la forma más peligrosa de virus de ordenador. El método detecta en minutos automáticament...
La policía sueca detiene al sospechoso de la creación del virus Ganda
La policía sueca ha detenido a un sospechoso acusado del desarrollo del gusano Ganda, un virus que utiliza como reclamo la guerra en Irak para propagarse y dañar a los equipos, según publica CNEt News.com... ...
Gusano se aprovecha de contraseñas nulas en SQL Server
Un gusano conocido como Voyager Alpha Force, se aprovecha de servidores Microsoft SQL Server instalados con contraseñas de administrador en blanco (sa), para la ejecución de un archivo ejecutable descargado de un sitio FTP en las Filipinas. ...
Nueva versión Opera, la 11.10 con Turbo
Opera Software ha anunciado el lanzamiento de la versión definitiva del navegador Opera 11.10 Barracuda, que gracias al nuevo Turbo promete aumentar la velocidad de navegación hasta en cuatro veces manteniendo la calidad de las imágenes. Opera Tur...

Brindanos
un o una


Redes Sociales

Publicidad


Gana Bitcoins desde tu casa

Categorías


Planeta Vaslibre

Blog Roll




Nube de tags

  • acceso
  • anonimato
  • anonimo
  • antivirus
  • apache
  • blog
  • bsd
  • bug
  • centos
  • chrome
  • cifrado
  • computer
  • control
  • debian
  • desnudo
  • exploits
  • fedora
  • fice
  • firefox
  • forense
  • freebsd
  • gentoo
  • github
  • gnome
  • gnu
  • gpl
  • gtk
  • hack
  • hacking
  • hosting
  • informatica
  • internet
  • isos
  • libre
  • licencias
  • linux
  • linuxmint
  • lxde
  • micros
  • mint
  • mit
  • mozilla
  • mysql
  • noticia
  • opensource
  • pgp
  • php
  • sabayon
  • seguridad
  • system
  • tecnologia
  • thunar
  • thunderbird
  • tor
  • troyanos
  • tware
  • ubuntu
  • underground
  • vaslibre
  • virus
  • viserproject
  • vivaldi
  • vulnerabilidades
  • web
  • website
  • windows
  • xanadu
  • xfce
  • xombra