{"id":374,"date":"2017-08-31T23:16:03","date_gmt":"2017-08-31T22:16:03","guid":{"rendered":"http:\/\/klondike.es\/klog\/?p=374"},"modified":"2017-08-31T23:16:03","modified_gmt":"2017-08-31T22:16:03","slug":"lexnet-no-es-un-sistema-cerrado","status":"publish","type":"post","link":"https:\/\/klondike.es\/klog\/2017\/08\/31\/lexnet-no-es-un-sistema-cerrado\/","title":{"rendered":"LexNET no es un sistema cerrado"},"content":{"rendered":"<p>A estas alturas, seguramente hay\u00e1is le\u00eddo el <a href=\"https:\/\/twitter.com\/RafaCatalaPolo\/status\/903183605920403456\" target=\"_blank\" rel=\"nofollow\">tweet<\/a> del Excelent\u00edsimo Se\u00f1or Rafael Catal\u00e0 Polo. En caso de no haber podido hacerlo, os lo cito aqu\u00ed:<\/p>\n<blockquote><p>#LexNET es un sistema cerrado y seguro.Si se utiliza d forma legal y \u00e9tica es imposible acceder a informaci\u00f3n ajena al usuario @Congreso_Es<\/p><\/blockquote>\n<p>En este post vamos a hablar de LexNET y de por qu\u00e9 el Excelent\u00edsimo Se\u00f1or Rafael Catal\u00e0 Polo est\u00e1 equivocado al considerarlo un sistema cerrado.<br \/>\n<!--more--><\/p>\n<p><strong>Contexto<\/strong><br \/>\nEmpecemos por el contexto de todo esto, LexNET es un sistema destinado a mejorar las comunicaciones entre las distintas parte del sistema judicial, tanto los jueces, los secretarios, los letrados y fiscales e incluso las fuerzas de seguridad del estado. A grandes rasgos, es un sistema similar al correo electr\u00f3nico que permite enviar documentos legales entre las distintas partes implicadas en un caso.<br \/>\nA finales de Julio, se hizo p\u00fablica una vulnerabilidad que permit\u00eda el acceso a los documentos de otras personas en LexNET, poco despu\u00e9s aparecieron otras, incluyendo un servidor con copias de seguridad accesible desde Internet y la posibilidad de averiguar informaci\u00f3n personal de otros usuarios del sistema. Tambi\u00e9n se descubri\u00f3 que los metadatos de los manuales accesibles p\u00fablicamente en Internet tambi\u00e9n conten\u00edan informaci\u00f3n de los usuarios que los publicaron que podr\u00eda ser utilizada por un atacante.<br \/>\nA causa del primero de estos fallos LexNET sufri\u00f3 una parada de emergencia durante la que se arregl\u00f3 dicho problema.<br \/>\nHe estado bastante desconectado estos meses as\u00ed que seguramente me deje cosas aqu\u00ed, sent\u00edos libres de escribir un comentario completando esta informaci\u00f3n.<\/p>\n<p><strong>An\u00e1lisis del problema<\/strong><br \/>\nAunque el cierre de LexNET es lo que m\u00e1s revuelo caus\u00f3, realmente no es una metodolog\u00eda muy diferente de la que he visto seguir a otras empresas a las que se les ha reportado un fallo de seguridad cr\u00edtico, especialmente teniendo en cuenta que la vulnerabilidad era p\u00fablica y el riesgo de explotaci\u00f3n alto. Adem\u00e1s hay que tener en cuenta el cambio de responsabilidades, una vez la vulnerabilidad fue conocida por los administradores del sistema, estos podr\u00edan ser considerados responsables de cualquier da\u00f1o ocurrido posteriormente.<br \/>\nSin embargo, las vulnerabilidad que provoc\u00f3 el cierre de LexNET es muy bien conocida, hasta el punto de que el listado de vulnerabilidades comunes en sistemas web conocido como OWASP Top 10 la marca como la segunda en base a su puntuaci\u00f3n de riesgo y facilidad de detecci\u00f3n y explotaci\u00f3n y prevalencia.<br \/>\nSi bien es imposible descartar un fallo humano o la falta de experiencia del auditor, normalmente la presencia de semejantes vulnerabilidades suelen ser un s\u00edntoma claro de falta de controles de calidad y seguridad adecuados para garantizar el correcto funcionamiento del c\u00f3digo. Este tipo de problemas podr\u00eda haberse detectado f\u00e1cilmente con los tests adecuados y ser\u00eda extra\u00f1o que un pentester con experiencia no lo reportara. Sin embargo analizar la verdadera causa del problema queda fuera del \u00e1mbito de este blogpost.<\/p>\n<p><strong>LexNET no es un sistema cerrado<\/strong><br \/>\nLa afirmaci\u00f3n de que LexNET es un sistema cerrado tiene cierto m\u00e9rito pues el acceso normal al sistema se realiza mediante certificados de cliente en dispositivos hardware lo que limita la exposici\u00f3n p\u00fablica del sistema.<br \/>\nSin embargo, la \u00fanica forma de que un sistema se pueda considerar cerrado es si este est\u00e1 totalmente aislado de otros sistemas, cosa que no es del todo cierta en LexNET. Por un lado, sus sistemas son accesibles desde Internet por lo que cualquier vulnerabilidad en su infraestructura expuesta podr\u00eda ser explotada por un atacante. Adem\u00e1s, los sistemas con los que se accede a LexNET suelen estar conectados a Internet por lo que un sistema de uno de los usuarios troyanizado, es suficiente para que el atacante pueda tener acceso a todas las funciones de LexNET expuestas a dicho usuario mientras que este use el sistema.<\/p>\n<p><strong>LexNET posiblemente no sea un sistema seguro<\/strong><br \/>\nLas vulnerabilidades que se han expuesto demuestran que las metodolog\u00edas de desarrollo usadas en LexNET no son suficientes para minimizar las posibilidades de que errores cr\u00edticos acaben en los sistemas de producci\u00f3n. Aunque se han arreglado lagunas de las vulnerabilidades conocidas, ser\u00eda un fallo bastante serio asumir que esto resuelve los problemas de seguridad pues en realidad simplemente se ataca los s\u00edntomas y no las causas. Es decir, asumir que LexNET es seguro porque se han arreglado los fallos que se han hecho p\u00fablicos es como decir que un paciente de cancer est\u00e1 curado porque se le ha extirpado un tumor. Igual que el tumor puede haber provocado met\u00e1stasis que le permitan reproducirse, los problemas con los controles de calidad y seguridad de LexNet pueden hacer que aparezcan nuevas vulnerabilidades en futuras iteraciones o que haya vulnerabilidades no  conocidas que a\u00fan est\u00e9n sin parchear.<\/p>\n<p><strong>No se puede garantizar un uso legal y \u00e9tico de LexNET<\/strong><br \/>\nComo ya he comentado anteriormente es dif\u00edcil garantizar que todos los usuarios de LexNET van a comportarse de la forma esperado. Por un lado el riesgo de que un usuario malicioso abuse del sistema es un riesgo que siempre debe tenerse en cuenta al analizar los riesgos del mismo, igual que se debe tener en cuenta posibles fallos de hardware y de suministros o el de ataques externos. Por otro, aunque todos los usuarios del sistema se comportaran de la forma esperada, hay que tener en cuenta que un atacante a\u00fan puede utilizar las credenciales de dicho usuario sin su consentimiento para realizar sus ataques contra el sistema.<br \/>\nEs por esta raz\u00f3n por la que suele ser habitual que los sistemas de cierta importancia para los negocios suelan ser auditados regularmente y tener controles de calidad m\u00e1s estrictos para as\u00ed detectar los riesgos, sus probabilidades y da\u00f1os y poder resolverlos.<\/p>\n<p><strong>La soluci\u00f3n<\/strong><br \/>\nComo he ido comentando a lo largo de este art\u00edculo, la forma de minimizar las probabilidades de que este tipo de problemas ocurran de nuevo requiere tres pasos principales. Primero se deber\u00eda realizar un an\u00e1lisis de riesgos para detectar que posibles problemas pueden afectar al sistema y tener planes de acci\u00f3n preparados contra los mismos, especialmente para aquellos en los que la probabilidad multiplicado por el da\u00f1o causado sea alta. Segundo, se deber\u00edan de mejorar los controles de calidad del c\u00f3digo para minimizar las probabilidades de que fallos serios del sistema pasen inadvertidos. Finalmente se deber\u00eda hacer una auditor\u00eda del sistema para intentar detectar el mayor n\u00famero de vulnerabilidades posibles y as\u00ed poder arreglarlas antes de que sean explotadas. Dado que cambios en el c\u00f3digo pueden hacer que aparezcan nuevos problemas, suele ser habitual en bastantes empresas integrar dichas auditor\u00edas en la fase de pruebas de sus ciclos de desarrollo.<\/p>\n<p><strong>Cierre y despedida<\/strong><br \/>\nLa seguridad de sistemas como LexNET nos concierne a todos los ciudadanos pues son nuestros datos los que se manejan con los mismos y que se pueden filtrar. Normalmente, la empresa d\u00f3nde trabajo cobrar\u00eda unos cuantos miles de Euros por un informe como el que acabo de compartir con usted, Excelent\u00edsimo Se\u00f1or Rafael Catal\u00e0 Polo, sin embargo he decidido hacer este p\u00fablico de forma gratuita no con la intenci\u00f3n de atacarle sino con la esperanza de que tanto usted como muchos otros Espa\u00f1oles con responsabilidad sobre sistemas inform\u00e1ticos que nos afectan a todos o a muchos de los ciudadanos sean conscientes de que existen metodolog\u00edas que permiten minimizar los riesgos de seguridad aunque tienen un precio.<br \/>\nQuedo a su disposici\u00f3n si tiene cualquier consulta al respecto.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A estas alturas, seguramente hay\u00e1is le\u00eddo el tweet del Excelent\u00edsimo Se\u00f1or Rafael Catal\u00e0 Polo. En caso de no haber podido hacerlo, os lo cito aqu\u00ed: #LexNET es un sistema cerrado y seguro.Si se utiliza d forma legal y \u00e9tica es imposible acceder a informaci\u00f3n ajena al usuario @Congreso_Es En este post vamos a hablar de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[59],"class_list":["post-374","post","type-post","status-publish","format-standard","hentry","category-seguridad","tag-lexnet"],"_links":{"self":[{"href":"https:\/\/klondike.es\/klog\/wp-json\/wp\/v2\/posts\/374","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/klondike.es\/klog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/klondike.es\/klog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/klondike.es\/klog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/klondike.es\/klog\/wp-json\/wp\/v2\/comments?post=374"}],"version-history":[{"count":1,"href":"https:\/\/klondike.es\/klog\/wp-json\/wp\/v2\/posts\/374\/revisions"}],"predecessor-version":[{"id":375,"href":"https:\/\/klondike.es\/klog\/wp-json\/wp\/v2\/posts\/374\/revisions\/375"}],"wp:attachment":[{"href":"https:\/\/klondike.es\/klog\/wp-json\/wp\/v2\/media?parent=374"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/klondike.es\/klog\/wp-json\/wp\/v2\/categories?post=374"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/klondike.es\/klog\/wp-json\/wp\/v2\/tags?post=374"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}