{"id":245,"date":"2006-02-06T12:55:31","date_gmt":"2006-02-06T12:55:31","guid":{"rendered":"http:\/\/hcastillo.wordpress.com\/2006\/02\/06\/microsoft-windows-y-el-control-de-acceso-al-desnudo"},"modified":"2015-04-19T08:06:09","modified_gmt":"2015-04-19T07:06:09","slug":"microsoft-windows-y-el-control-de-acceso-al-desnudo","status":"publish","type":"post","link":"https:\/\/heccasan.webs.upv.es\/?p=245","title":{"rendered":"Microsoft Windows y el control de acceso, al desnudo"},"content":{"rendered":"<h1>Microsoft Windows y el control de acceso, al desnudo<\/h1>\n<div>\n<p>Sudhakar Govindavajhala y Andrew W. Appel de la Universidad de<br \/>\nPrincetown (Nueva York), han publicado un interesante estudio sobre<br \/>\npermisos y control de acceso en sistemas Microsoft Windows. En el<br \/>\nestudio se desmitifica el funcionamiento del sistema operativo Windows a<br \/>\nla hora de controlar el acceso a sus recursos y se explica c\u00f3mo algunos<br \/>\ncomportamientos han provocado vulnerabilidades no s\u00f3lo en el sistema<br \/>\noperativo, sino en conocidos programas comerciales.<\/p>\n<p>Estos investigadores han usado la programaci\u00f3n l\u00f3gica para implementar<br \/>\nlo que han llamado MulVAL (Multihost, Multistage, Vulnerability<br \/>\nAnalysis) una herramienta que han utilizado para analizar profundamente<br \/>\nel control de acceso de los sistemas Windows XP. Mediante la informaci\u00f3n<br \/>\nrecopilada desde distintas fuentes del sistema (el registro, sistema de<br \/>\nficheros&#8230;) el modelo implementado elabora una especie de \u00abmapa\u00bb por el<br \/>\nque se revelan varias posibles f\u00f3rmulas y distintas v\u00edas de ataque,<br \/>\ntodas destinadas a elevar los privilegios de un usuario local en el<br \/>\nsistema. Con esta herramienta, entre otras, se han encontrado hasta 20<br \/>\nformas distintas de escalar privilegios desde cuentas del grupo<br \/>\n\u00abusuarios avanzados\u00bb a administradores. Aunque los usuarios avanzados<br \/>\nposeen bastantes privilegios sobre la m\u00e1quina, no llegan a los totales<br \/>\npoderes del administrador.<\/p>\n<p>En el estudio se habla tambi\u00e9n de forma clara y sencilla sobre los<br \/>\npotenciales peligros de la implementaci\u00f3n incorrecta de las listas de<br \/>\ncontrol de acceso a los objetos Windows y se plantean f\u00f3rmulas por las<br \/>\nque se puede llevar a un usuario del sistema a poder ejecutar cualquier<br \/>\ntipo de c\u00f3digo con los permisos del administrador o de cuentas<br \/>\nreservadas del sistema con altos privilegios.<\/p>\n<p>Si Unix tiene un modelo simple de control de acceso basado en tres<br \/>\nprivilegios (adem\u00e1s del bit UID) que se dan a distintos objetos del<br \/>\nsistema (ficheros, directorios&#8230;), el sistema de Windows es mucho m\u00e1s<br \/>\ncomplejo. Se arrastra una lista de control de acceso de hasta 30<br \/>\npermisos diferentes para operaciones sobre unos 15 tipos distintos de<br \/>\nobjetos, todo ello con la posibilidad de negar o permitir expl\u00edcitamente<br \/>\nel privilegio. Esto permite afinar en extremo los permisos, pero tambi\u00e9n<br \/>\npuede suponer un verdadero galimat\u00edas para un administrador o para un<br \/>\nprogramador que quiera desarrollar una herramienta que interact\u00fae con<br \/>\nlos objetos del sistema, pues deben documentarse profusamente y<br \/>\ncomprender la compleja estructura de permisos.<\/p>\n<p>Aunque los permisos en Windows est\u00e1n bien documentados y detallados,<br \/>\nresulta muy com\u00fan observar c\u00f3mo los creadores de software profesionales<br \/>\na menudo no eval\u00faan correctamente el impacto que puede llegar a tener la<br \/>\ninstalaci\u00f3n de su programa en un sistema sin haber afinado correctamente<br \/>\nlos permisos que han elegido para sus aplicaciones. La consecuencia es<br \/>\nque mucho software comercial puede llevar a la elevaci\u00f3n de privilegios<br \/>\npor parte de usuarios en sistemas compartidos, y de hecho ya se han dado<br \/>\ncasos concretos.<\/p>\n<p>Hace poco, a principios de febrero de 2006, se han identificado errores<br \/>\nde permisos en ficheros y directorios en varios productos Adobe tales<br \/>\ncomo Adobe Photoshop CS2, Illustrator CS2, y Adobe Help Center. El grupo<br \/>\n\u00abTodos\u00bb ten\u00eda permiso de escritura en 170 archivos (ejecutables y<br \/>\nlibrer\u00edas) de productos Adobe. Un atacante podr\u00eda sustituirlos por<br \/>\nc\u00f3digo malicioso en local y esperar a que el administrador los ejecutara<br \/>\npara poder arrancar ese c\u00f3digo con mayores privilegios. La configuraci\u00f3n<br \/>\nest\u00e1ndar de AOL, entre otros, tambi\u00e9n permit\u00eda a un usuario invitado<br \/>\nejecutar c\u00f3digo con los permisos de cualquier otro usuario (incluso los<br \/>\nde \u00abLocal System\u00bb), simplemente manipulando claves de registro. Los<br \/>\npermisos de las ramas de registro, seg\u00fan apunta el estudio, pueden<br \/>\nsuponer tambi\u00e9n habitualmente un problema de seguridad.<\/p>\n<p>La herramienta que desarrollaron estos investigadores ha ayudado a<br \/>\ndescubrir muchos problemas de permisos tanto en software comercial como<br \/>\nen componentes del sistema. El caso de los servicios es especialmente<br \/>\nsignificativo. Al existir tantas formas y combinaciones posibles de<br \/>\npermisos, los desarrolladores optan por distintas v\u00edas (por no existir<br \/>\nuna convenci\u00f3n \u00fanica) para implementar la funcionalidad de un servicio<br \/>\npropio que correr\u00e1 en sistemas Windows. Cada servicio tiene un<br \/>\ndescriptor de seguridad que especifica a qu\u00e9 usuarios se les permite<br \/>\nconfigurar o arrancar o parar un servicio. Algunos fabricantes no<br \/>\naplican correctamente el modelo de control de acceso de Windows en sus<br \/>\nservicios y por ejemplo, otorgan indiscriminadamente el permiso \u00abSERVICE<br \/>\nCHANGE CONFIG\u00bb que permite modificar el ejecutable ligado al servicio.<br \/>\nMicrosoft recomienda que este permiso sea s\u00f3lo dado a los<br \/>\nadministradores, pero en su documentaci\u00f3n no avisa expl\u00edcitamente de que<br \/>\neste permiso tambi\u00e9n permite no s\u00f3lo modificar el ejecutable sino<br \/>\nespecificar qui\u00e9n lo har\u00e1, de forma que si, a trav\u00e9s de cualquier<br \/>\nprograma instalado se posee este privilegio, se puede ejecutar<br \/>\npotencialmente cualquier fichero bajo cualquier cuenta del sistema.<\/p>\n<p>Por ejemplo, el grupo \u00abTodos\u00bb ten\u00eda este permiso de configuraci\u00f3n<br \/>\nactivado en el servicio \u00abMacromedia Licensing Service\u00bb que instalaban<br \/>\nvarios productos de Macromedia. Afortunadamente este problema fue<br \/>\nsolucionado en junio de 2005. Existen otros agujeros menos graves en<br \/>\nservicios de fabricantes ajenos a Microsoft, pero en el estudio no se<br \/>\ndan detalles a la espera de que puedan ser solventados.<\/p>\n<p>No s\u00f3lo a trav\u00e9s de servicios de terceros es posible elevar privilegios.<br \/>\nPor ejemplo, seg\u00fan el estudio, varios servicios de Windows XP, tales<br \/>\ncomo \u00abServicio de descubrimientos SSDP\u00bb y \u00abHost de dispositivo Plug and<br \/>\nPlay universal\u00bb ten\u00edan hasta hace poco ese privilegio (\u00abSERVICE CHANGE<br \/>\nCONFIG\u00bb) activado por defecto para el grupo \u00abUsuarios Autenticados\u00bb.<br \/>\nCualquier usuario con cuenta en el sistema pertenece a ese grupo, por lo<br \/>\nque potencialmente cualquier usuario pod\u00eda modificar el ejecutable que<br \/>\narrancaba estos servicios y la cuenta bajo la que iba a ejecutarse. Se<br \/>\npermit\u00eda as\u00ed, indirectamente, la instalaci\u00f3n de un troyano o software<br \/>\nda\u00f1ino modificando la configuraci\u00f3n del servicio y esperando a que fuese<br \/>\nreiniciado. Esto fue solucionado por Microsoft en agosto de 2004, aunque<br \/>\nel peligro estaba presente desde casi dos a\u00f1os antes. Otros servicios<br \/>\ndel sistema se descubrieron vulnerables y tambi\u00e9n fueron parcheados<br \/>\nposteriormente.<\/p>\n<p>El problema se basa en que las aplicaciones que instalamos necesitan<br \/>\nnormalmente muchos menos privilegios de los que realmente poseen para<br \/>\nacceder a los datos con los que operan. Encontrar el conjunto de<br \/>\npermisos estrictamente necesarios para que funcione una aplicaci\u00f3n bajo<br \/>\ncondiciones lo m\u00e1s as\u00e9pticas posibles de seguridad, es objeto de otro<br \/>\nestudio liderado en 2005 por Shuo Chen, y titulado \u00abA black-box tracing<br \/>\ntechnique to identify causes of least-privilege incompatibilities\u00bb. En<br \/>\n\u00e9l se explica una t\u00e9cnica para encontrar en los programas los m&amp;iacu<br \/>\nte;nimos<br \/>\nprivilegios posibles y necesarios que le son necesarios para funcionar.<\/p>\n<p>En definitiva, con la herramienta desarrollada por Sudhakar<br \/>\nGovindavajhala y Andrew W. Appel, se permite facilitar la tarea del<br \/>\nestudio de los controles de acceso a sistemas Windows, algo, como se ha<br \/>\nvisto, delicado. Como la herramienta puede considerarse potencialmente<br \/>\npeligrosa, no se ha hecho p\u00fablica, aunque s\u00ed se recomienda a los<br \/>\nadministradores usar herramientas an\u00e1logas de estudio y modificaci\u00f3n de<br \/>\npermisos, tales como SubInACL de Microsoft, y estudiar con ellas<br \/>\ncuidadosamente los permisos de los ficheros y objetos del sistema.<\/p>\n<p>Tanto en entornos dom\u00e9sticos como corporativos, gran parte de los<br \/>\nproblemas de seguridad de Windows vienen por el hecho de usar el sistema<br \/>\nen modo administrador. Entender los permisos y controles de acceso es<br \/>\nfundamental para limitar el impacto de los fallos de seguridad del<br \/>\nsoftware, pero parece ser que Microsoft, en este sentido, no termina de<br \/>\nentenderse con los usuarios ni con los programadores de aplicaciones. No<br \/>\nhay raz\u00f3n para pensar que los desarrolladores de Adobe, Macromedia o AOL<br \/>\nhan sido los \u00fanicos que han cometido errores y es seguro que otros<br \/>\nfallar\u00e1n en los mismos t\u00e9rminos. Estudios como los expuestos demuestran<br \/>\nque un cambio de rumbo y una mayor concienciaci\u00f3n por ambas partes en<br \/>\neste sentido har\u00eda de Windows un sistema operativo m\u00e1s seguro.<br \/>\nMicrosoft Windows y el control de acceso, al desnudo<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sudhakar Govindavajhala y Andrew W. Appel de la Universidad de<br \/>\nPrincetown (Nueva York), han publicado un interesante estudio sobre<br \/>\npermisos y control de acceso en sistemas Microsoft&#8230;<\/p>\n","protected":false},"author":2,"featured_media":2633,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-245","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-curiosidades"],"_links":{"self":[{"href":"https:\/\/heccasan.webs.upv.es\/index.php?rest_route=\/wp\/v2\/posts\/245","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/heccasan.webs.upv.es\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/heccasan.webs.upv.es\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/heccasan.webs.upv.es\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/heccasan.webs.upv.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=245"}],"version-history":[{"count":2,"href":"https:\/\/heccasan.webs.upv.es\/index.php?rest_route=\/wp\/v2\/posts\/245\/revisions"}],"predecessor-version":[{"id":2630,"href":"https:\/\/heccasan.webs.upv.es\/index.php?rest_route=\/wp\/v2\/posts\/245\/revisions\/2630"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/heccasan.webs.upv.es\/index.php?rest_route=\/wp\/v2\/media\/2633"}],"wp:attachment":[{"href":"https:\/\/heccasan.webs.upv.es\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=245"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/heccasan.webs.upv.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=245"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/heccasan.webs.upv.es\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}