{"id":13292,"date":"2024-07-22T15:36:27","date_gmt":"2024-07-22T15:36:27","guid":{"rendered":"https:\/\/enfoquenoticioso.com\/tecnologia\/asi-funciona-la-seguridad-de-windows-y-asi-se-la-salto-crowdstrike-para-provocar-el-caos\/"},"modified":"2024-07-22T15:36:27","modified_gmt":"2024-07-22T15:36:27","slug":"asi-funciona-la-seguridad-de-windows-y-asi-se-la-salto-crowdstrike-para-provocar-el-caos","status":"publish","type":"post","link":"https:\/\/enfoquenoticioso.com\/?p=13292","title":{"rendered":"as\u00ed funciona la seguridad de Windows y as\u00ed se la \u00absalt\u00f3\u00bb CrowdStrike para provocar el caos"},"content":{"rendered":"<div>\n<p>El <a href=\"https:\/\/www.xataka.com\/servicios\/algo-falla-austin-texas-senor-no-puede-salir-parking-aena-girona-crowdstrike-vulnerabilidad-global\" target=\"_blank\" rel=\"noopener\">caos provocado por CrowdStrike<\/a> nos da la oportunidad de meternos un poco en harina y explicar un poco m\u00e1s en detalle c\u00f3mo funciona Windows por dentro y por qu\u00e9 ese fallo provoc\u00f3 tal desastre a nivel mundial. Hablemos, para empezar, de anillos. Pero no de los de llevar en los dedos.<\/p>\n<p><!-- BREAK 1 --> <\/p>\n<p><strong>Anillos de seguridad<\/strong>. Como <a rel=\"noopener, noreferrer\" href=\"https:\/\/www.youtube.com\/watch?v=wAzEJxOo1ts\" target=\"_blank\">explica<\/a> el exingeniero de Microsoft Dave Plummer, el sistema operativo de Microsoft utiliza un sistema de \u00abanillos\u00bb (\u00abrings\u00bb) para bifurcar el c\u00f3digo que le llega en dos tipos distintos de c\u00f3digo.<\/p>\n<p><!-- BREAK 2 --><\/p>\n<div class=\"article-asset-video article-asset-normal\">\n<div class=\"asset-content\">\n<p>\n   <iframe loading=\"lazy\" title=\"CrowdStrike IT Outage Explained by a Windows Developer\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/wAzEJxOo1ts?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n  <\/p>\n<\/p><\/div>\n<\/div>\n<p><strong>Anillo 0<\/strong>.El primero es el modo kernel (anillo 0), que se reserva al propio sistema operativo y en el que el c\u00f3digo \u00abhabla\u00bb con el hardware y los dispositivos, gestiona la memoria o planifica los hilos de ejecuci\u00f3n. Este modo de ejecuci\u00f3n privilegiado permite acceso a toda la memoria, sin restricciones.<\/p>\n<p><!-- BREAK 3 --> <\/p>\n<p><strong>Anillo 3<\/strong>. El segundo es el modo usuario (anillo 3), utilizado para procesos y aplicaciones con privilegios normales (y limitados) de usuario del sistema. En este modo las aplicaciones solo ven las p\u00e1ginas de memoria que el kernel te deja ver. En realidad hay dos anillos m\u00e1s: el anillo 1 para controladores de dispositivos y el anillo dos para c\u00f3digo privilegiado, pero <a rel=\"noopener, noreferrer\" href=\"https:\/\/en.wikipedia.org\/wiki\/Protection_ring#Implementations\" target=\"_blank\">no se utilizan<\/a> en la pr\u00e1ctica.<\/p>\n<p><!-- BREAK 4 --><\/p>\n<p>Si un hilo de ejecuci\u00f3n de una aplicaci\u00f3n de usuario necesita acceso al modo privilegiado en cierto momento, crea una \u00abexcepci\u00f3n\u00bb para que el kernel, cuando lo considere, la eval\u00fae y en caso de validarla d\u00e9 ese acceso moment\u00e1neo y limitado a cierto recurso privilegiado (como la memoria).<\/p>\n<p><!-- BREAK 5 --><\/p>\n<div class=\"article-asset-image article-asset-normal article-asset-center\">\n<div class=\"asset-content\">\n<div class=\"caption-img \">\n                   <img class=\"centro_sinmarco\" height=\"1280\" width=\"1920\" loading=\"lazy\" decoding=\"async\" sizes=\"auto, 100vw\" fetchpriority=\"high\" srcset=\"https:\/\/i.blogs.es\/a38c34\/win-crash\/450_1000.jpeg 450w, https:\/\/i.blogs.es\/a38c34\/win-crash\/650_1200.jpeg 681w,https:\/\/i.blogs.es\/a38c34\/win-crash\/1024_2000.jpeg 1024w, https:\/\/i.blogs.es\/a38c34\/win-crash\/1366_2000.jpeg 1366w\" src=\"https:\/\/i.blogs.es\/a38c34\/win-crash\/450_1000.jpeg\" alt=\"Win Crash\"\/><br \/>\n   <img decoding=\"async\" alt=\"Win Crash\" class=\"centro_sinmarco\" src=\"https:\/\/i.blogs.es\/a38c34\/win-crash\/450_1000.jpeg\"\/><\/p>\n<p>        <span>Cuando una aplicaci\u00f3n cualquiera de Windows falla, aparece una ventana de este tipo que nos permite cerrar esa aplicaci\u00f3n sin que afecte al resto de procesos del sistema operativo.<\/span>\n   <\/div>\n<\/p><\/div>\n<\/div>\n<p><strong>Los cuelgues son leves en modo usuario, pero fatales en modo kernel<\/strong>. Como destaca este ingeniero, otra de las grandes diferencias entre estos dos modos de ejecuci\u00f3n de c\u00f3digo est\u00e1 en el alcance de los cuelgues que se pueden dar durante la ejecuci\u00f3n de esos procesos.<\/p>\n<p><!-- BREAK 6 --> <\/p>\n<p>Si el c\u00f3digo de una aplicaci\u00f3n en modo usuario falla, lo que se cuelga es esa aplicaci\u00f3n, sin m\u00e1s: es entonces cuando aparece la tradicional ventana en la que se nos da la opci\u00f3n de esperar a que responda o cerrar el programa directamente. Si lo que falla es el c\u00f3digo de un proceso privilegiado en modo kernel, lo que se cuelga es todo el sistema: es entonces cuando puede aparecer la c\u00e9lebre \u00ab<a href=\"https:\/\/www.xataka.com\/basics\/pantalla-azul-windows-que-que-te-aparece-como-solucionarlo\" target=\"_blank\" rel=\"noopener\">pantalla azul de la muerte<\/a>\u00bb o BSOD.<\/p>\n<p><!-- BREAK 7 --><\/p>\n<p><strong>Falcon corre en modo kernel<\/strong>. La soluci\u00f3n de ciberseguridad de CrowdStrike, el llamado \u00abFalcon sensor\u00bb, se ejecuta en modo kernel porque (te\u00f3ricamente) necesita acceso a los recursos del sistema para proteger todo tipo de ciberataques. Es algo as\u00ed como un \u00abantimalware\u00bb para servidores que analiza el comportamiento de las aplicaciones para intentar detectar posibles ataques antes de que provoquen da\u00f1os. Para tener acceso al kernel, CrowdStrike desarroll\u00f3 un controlador de dispositivo aunque no hay hardware como tal, pero eso le da acceso a los recursos necesarios para funcionar como debe y proteger esos servidores.<\/p>\n<p><!-- BREAK 8 --><\/p>\n<p><strong>Un controlador certificado<\/strong>. Para garantizar que este tipo de controladores funcionan como deben aun teniendo acceso privilegiado, Microsoft dispone de la certificaci\u00f3n WHQL (Windows Hardware Quality Labs) que garantiza que dichos componentes han sido validados tanto por el desarrollador como por Microsoft, que los prueba en distintas plataformas y configuraciones y que los \u00abfirma\u00bb digitalmente para conferirles esa certificaci\u00f3n.<\/p>\n<p><!-- BREAK 9 --><\/p>\n<p><strong>Actualizaciones conflictivas<\/strong>. Esa certificaci\u00f3n WHQL se mantiene si el driver no cambia, y aqu\u00ed est\u00e1 el problema para CrowdStrike, cuyo controlador debe cambiar constantemente para adaptarse a las nuevas amenazas. Eso har\u00eda que tuviese que ser reevaluado constantemente para mantener la certificaci\u00f3n \u2014que es lo que ocurre por ejemplo con los controladores de nuestras tarjetas gr\u00e1ficas\u2014, pero en lugar de eso, en CrowdStrike utilizaron \u00abficheros de definici\u00f3n\u00bb que se procesan por parte del controlador pero no se incluyen directamente en \u00e9l. Esos ficheros din\u00e1micos van actualiz\u00e1ndose e \u00abinformando\u00bb al sensor Falcon de (por ejemplo) nuevas amenazas para que las tenga en cuenta en sus procesos de detecci\u00f3n.<\/p>\n<p><!-- BREAK 10 --> <\/p>\n<p><strong>Definiciones que son programas<\/strong>. Uno esperar\u00eda que esas actualizaciones fueran algo as\u00ed como documentos de texto que informen de nuevas amenazas, pero en el caso de CrowdStrike, Plummer indica que esos ficheros de definici\u00f3n podr\u00edan ser tambi\u00e9n programas en toda regla con formato PE (Portable Executable) \u2014muy extendidos en el \u00e1mbito de la ciberseugiridad o la ingenier\u00eda inversa\u2014 que se ejecuta por parte del controlador. \u00abLo que tienes entonces es c\u00f3digo sin firmar de procedencia desconocida corriendo por completo en modo kernel\u00bb. Un sencillo fallo en esos programas (definiciones) podr\u00eda provocar un cuelgue del sistema por completo. Que es justo lo que ocurri\u00f3 en este caso.<\/p>\n<p><!-- BREAK 11 --><\/p>\n<div class=\"article-asset-image article-asset-normal article-asset-center\">\n<div class=\"asset-content\">\n                    <a rel=\"noopener, noreferrer\" href=\"https:\/\/x.com\/Perpetualmaniac\/status\/1814376668095754753\"><br \/>\n         <img class=\"centro_sinmarco\" height=\"1416\" width=\"1270\" loading=\"lazy\" decoding=\"async\" sizes=\"auto, 100vw\" fetchpriority=\"high\" srcset=\"https:\/\/i.blogs.es\/541d80\/captura-de-pantalla-2024-07-22-a-las-11.36.58\/450_1000.jpeg 450w, https:\/\/i.blogs.es\/541d80\/captura-de-pantalla-2024-07-22-a-las-11.36.58\/650_1200.jpeg 681w,https:\/\/i.blogs.es\/541d80\/captura-de-pantalla-2024-07-22-a-las-11.36.58\/1024_2000.jpeg 1024w, https:\/\/i.blogs.es\/541d80\/captura-de-pantalla-2024-07-22-a-las-11.36.58\/1366_2000.jpeg 1366w\" src=\"https:\/\/i.blogs.es\/541d80\/captura-de-pantalla-2024-07-22-a-las-11.36.58\/450_1000.jpeg\" alt=\"Captura De Pantalla 2024 07 22 A Las 11 36 58\"\/><br \/>\n    <img decoding=\"async\" alt=\"Captura De Pantalla 2024 07 22 A Las 11 36 58\" class=\"centro_sinmarco\" src=\"https:\/\/i.blogs.es\/541d80\/captura-de-pantalla-2024-07-22-a-las-11.36.58\/450_1000.jpeg\"\/><br \/>\n     <\/a><\/p><\/div>\n<\/div>\n<p><strong>\u00bfUn c\u00f3digo repleto de ceros?<\/strong> En CrowdStrike <a rel=\"noopener, noreferrer\" href=\"https:\/\/www.crowdstrike.com\/blog\/falcon-update-for-windows-hosts-technical-details\/\" target=\"_blank\">hablaban<\/a> de un \u00aberror l\u00f3gico\u00bb sin dar m\u00e1s detalles, pero an\u00e1lisis de diversos expertos en ciberseguridad arrojan teor\u00edas distintas sobre el problema. Unos hablan de que la actualizaci\u00f3n <a rel=\"noopener, noreferrer\" href=\"https:\/\/x.com\/tobycmurray\/status\/1814369666678268350\">era un fichero lleno de ceros<\/a> \u2014la teor\u00eda <a rel=\"noopener, noreferrer\" href=\"https:\/\/x.com\/tobycmurray\/status\/1814532444252742066\">se descart\u00f3<\/a> posteriormente\u2014, mientras que otros <a rel=\"noopener, noreferrer\" href=\"https:\/\/x.com\/Perpetualmaniac\/status\/1814376668095754753\">indican<\/a> que en realidad todo se debi\u00f3 a un puntero nulo en C++. Esta \u00faltima teor\u00eda, eso s\u00ed, <a rel=\"noopener, noreferrer\" href=\"https:\/\/twitter.com\/taviso\/status\/1814762302337654829\" target=\"_blank\">ha sido tambi\u00e9n criticada<\/a> por otros expertos como Tavis Ormandy, que trabaja como investigador de vulnerabilidades en Google.<\/p>\n<p><!-- BREAK 12 --><\/p>\n<p><strong>Un error aparentemente colosal de CrowdStrike<\/strong>. Todo ello apunta a una conclusi\u00f3n: en CrowdStrike no validaron correctamente esa actualizaci\u00f3n de su fichero de definici\u00f3n, que al ejecutarse en modo kernel provoc\u00f3 ese enorme fallo de seguridad.<\/p>\n<p><!-- BREAK 13 --><\/p>\n<p>Es algo realmente terrible teniendo en cuenta que sus soluciones de seguridad son utilizadas en servidores cr\u00edticos, y ahora queda por ver si este problema no acaba dando peligrosas ideas a los ciberdelincuentes para tratar de explotar este tipo de vulnerabilidad de la seguridad en sistemas Windows.<\/p>\n<p><!-- BREAK 14 --><\/p>\n<p>Imagen | <a rel=\"noopener, noreferrer\" href=\"https:\/\/www.youtube.com\/watch?v=wAzEJxOo1ts\" target=\"_blank\">Dave&#8217;s Garage<\/a><\/p>\n<p>En Xataka | <a href=\"https:\/\/www.xataka.com\/servicios\/hospitales-pequenas-empresas-como-crowdstrike-ha-llevado-paralisis-global-a-lugares-insospechados\" target=\"_blank\" rel=\"noopener\">Hasta hospitales y peque\u00f1as empresas: c\u00f3mo CrowdStrike ha llevado la par\u00e1lisis global a lugares insospechados<\/a><\/p>\n<\/p><\/div>\n<p><script async src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><br \/>\n<br \/><a href=\"https:\/\/www.xataka.com\/servicios\/modo-kernel-explicado-asi-funciona-seguridad-windows-asi-se-salto-crowdstrike-para-provocar-caos\" class=\" target=\" title=\"as\u00ed funciona la seguridad de Windows y as\u00ed se la \" CrowdStrike para provocar el target=\"_blank\" rel=\"noopener\">Ver fuente<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>El caos provocado por CrowdStrike nos da la oportunidad de meternos un poco en harina y explicar un poco m\u00e1s en detalle c\u00f3mo funciona Windows por dentro y por qu\u00e9 ese fallo provoc\u00f3 tal desastre a nivel mundial. Hablemos, para empezar, de anillos. Pero no de los de llevar en los dedos. Anillos de seguridad. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":13293,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-13292","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tecnologia"],"_links":{"self":[{"href":"https:\/\/enfoquenoticioso.com\/index.php?rest_route=\/wp\/v2\/posts\/13292","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/enfoquenoticioso.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/enfoquenoticioso.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/enfoquenoticioso.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/enfoquenoticioso.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=13292"}],"version-history":[{"count":0,"href":"https:\/\/enfoquenoticioso.com\/index.php?rest_route=\/wp\/v2\/posts\/13292\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/enfoquenoticioso.com\/index.php?rest_route=\/wp\/v2\/media\/13293"}],"wp:attachment":[{"href":"https:\/\/enfoquenoticioso.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13292"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/enfoquenoticioso.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13292"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/enfoquenoticioso.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13292"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}