{"id":3624,"date":"2009-02-04T00:13:08","date_gmt":"2009-02-03T23:13:08","guid":{"rendered":"http:\/\/www.sahw.com\/wp\/?p=3624"},"modified":"2009-02-04T00:13:08","modified_gmt":"2009-02-03T23:13:08","slug":"auditoria-del-codigo-puesto-en-produccion-el-caso-fannie-mae","status":"publish","type":"post","link":"https:\/\/www.sahw.com\/wp\/2009\/02\/04\/auditoria-del-codigo-puesto-en-produccion-el-caso-fannie-mae\/","title":{"rendered":"Auditor?a del c?digo puesto en producci?n. El caso Fannie Mae"},"content":{"rendered":"<p>Hola,<\/p>\n<p>Estos ?ltimos d?as se ha hablado mucho de un caso acontecido en la <em>Federal National Mortgage Association<\/em> (<a href=\"http:\/\/www.fanniemae.com\">Fannie Mae<\/a>), a la que parece que no terminan de surgirle problemas en todos los planos. Si no hab?a bastante con el quebranto que sufri? la entidad a ra?z del descalabro <em>subprime<\/em> y el <a href=\"http:\/\/www.expansion.com\/2009\/01\/07\/empresas\/inmobiliario\/1231368759.html\">oscuro panorama<\/a> que se le presenta a la entidad, Fannie vuelve a los titulares con un asunto vinculado a la seguridad l?gica.<\/p>\n<p>Los ?ltimos en hacerse eco son <a href=\"http:\/\/isc.sans.org\/diary.html?storyid=5788\">los chicos del ISC Sans<\/a>, que preguntan a los lectores sobre c?mo afrontar las auditor?as de su c?digo en producci?n. Para quien no haya visto datos sobre el caso Fannie Mae, comentaros que hace algunos d?as se detect? en una cadena leg?tima de c?digo en producci?n una fracci?n de c?digo malicioso que podr?a haber provocado el colapso absoluto de las operaciones de la entidad hipotecaria.<\/p>\n<p>El acusado, Rajendrasinh B. Makwana, hab?a sido despedido en octubre de 2008 por crear <em>scripts<\/em> no autorizados destinados a realizar cambios en la configuraci?n de los servicios de la entidad. Meses despu?s se ha desactivado una cadena maliciosa, oculta en una cadena leg?tima, y presuntamente introducida por el trabajador poco tiempo despu?s de ser despedido. Esta cadena, de haberse activado (estaba programada a modo de bomba l?gica) habr?a causado la desactivaci?n de todos los mecanismos de alerta y <em>logins<\/em> de 4,000 servidores, eliminado tambi?n la totalidad de claves <em>root<\/em>. Asimismo, el componente malicioso estaba pensado para destruir todos los datos de estos servidores, as? como parte de las copias de seguridad, para finalizar la traca apagando las m?quinas e impidiendo que pudieran ser levantadas en remoto. La estimaci?n es de una semana de par?lisis completa de operaciones, cantidad de tiempo suficiente para terminar de hundir a la maltrecha Fannie Mae.<\/p>\n<p>El tema es complejo, ya no s?lo por la volumetr?a, sino por la propia complejidad del c?digo en entornos de largo alcance. En un <em>mainframe<\/em> bancario, me da igual que sea un Unisys, un z\/OS o el sistema que se haya escogido, corren miles de programas y de JCLs, que est?n siendo sometidos continuamente a modificaciones por parte de grupos muy numerosos de personal de dise?o y desarrollo. De hecho, uno de los grandes retos tecnol?gicos que tiene una explotaci?n de este tipo es precisamente administrar que la planificaci?n de tareas, nuevas o modificadas, sea de calidad, completa y carente de errores, que podr?an ser catastr?ficos: cierres incorrectos de la sesi?n, contabilidad inconsistente, saldos en cuenta alterados, problemas de consolidaci?n, errores en medios de pago &#8230; la lista de problemas es larga, y el car?cter secuencial de la planificaci?n implica que un problema en una cadena espec?fica podr?a, en ausencia de medidas de detecci?n y correcci?n, hacer que fallen finalmente numerosos procesos interdependientes para el negocio. En un caso extremo, caso de fallar por completo la planificaci?n cr?tica, se corre el riesgo de que la entidad no pueda abrir sesi?n y por tanto, que no pueda operar, lo que se traduce en millones de euros de p?rdidas por cada hora de par?lisis.<\/p>\n<p>En un ambiente distribuido, los problemas son igualmente importantes. Los planificadores son distintos, pero la misi?n es la misma: ordenar la secuencia de operaciones <em>batch<\/em> para que cuando llegue la hora de abrir el tel?n y operar <em>online<\/em>, todo funcione perfectamente. La producci?n no admite errores en estas infraestructuras.<\/p>\n<p>En este tipo de entornos es imposible verificar l?nea a l?nea el c?digo puesto en producci?n, con lo que <strong>se delega en al menos cuatro grandes medidas<\/strong> para mitigar el riesgo de colocaci?n de c?digo no autorizado. La protecci?n de los fuentes (para impedir su manipulaci?n), la segregaci?n de funciones (impedir que los que dise?an sean los que puedan colocar en producci?n el c?digo), la existencia de autorizaciones (para establecer una cadena de responsabilidad) y el an?lisis automatizado de c?digo (para detectar patrones no permitidos)<\/p>\n<p>Quiz?s el gran problema que yo percibo es que muchas veces la inspecci?n de c?digo est? orientada a la localizaci?n de violaciones de las buenas pr?cticas para impedir impacto t?cnico en la producci?n, como por ejemplo, el uso de <em>merges<\/em> y otras operativas en base de datos que sometan a excesiva solicitaci?n a los sistemas, la presencia de cadenas no agrupadas, etc. Pero <strong>no siempre se orienta la inspecci?n de c?digo a la localizaci?n de patrones maliciosos en los programas y cadenas<\/strong>, con lo que encontrar riesgos como los que han llevado al borde de la par?lisis a Fannie Mae es algo plausible en muchas instalaciones.<\/p>\n<p>Dado que los productos de gesti?n de c?digo y planificaci?n m?s usuales permiten colocar reglas de detecci?n de patrones no permitidos, <strong>mi consejo es emplear estas herramientas para definir progresivamente reglas para localizar acciones potencialmente peligrosas desde el punto de vista de la seguridad<\/strong>. Especialmente teniendo en cuenta que, en ausencia de revisi?n, entre miles de l?neas de <em>cobol<\/em> o del lenguaje que empleen los programas y cadenas, puede exisitir c?digo incrustado que provoque acciones no deseadas, malintencionadas y teniendo en especial consideraci?n que los productos de planificaci?n suelen correr con privilegios muy elevados (frecuentemente, m?ximos), con lo que en caso de prosperar la introducci?n inadvertida de c?digo adulterado, las posibilidades de ejecutar acciones perniciosas son pr?cticamente infinitas.<\/p>\n<p>Afortunadamente para Fannie Mae, el c?digo malicioso ha sido detectado y retirado. Quiz?s este sea un buen ejemplo para ilustrar la necesidad de orientar las medidas de control en las explotaciones no s?lo al rendimiento y la optimizaci?n t?cnica, sino tambi?n a la seguridad.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hola, Estos ?ltimos d?as se ha hablado mucho de un caso acontecido en la Federal National Mortgage Association (Fannie Mae), a la que parece que no terminan de surgirle problemas en todos los planos. Si no hab?a bastante con el quebranto que sufri? la entidad a ra?z del descalabro subprime <a href=\"https:\/\/www.sahw.com\/wp\/2009\/02\/04\/auditoria-del-codigo-puesto-en-produccion-el-caso-fannie-mae\/\" class=\"btn btn-link continue-link\">Leer texto completo<\/a><\/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":[498,497,983],"class_list":["post-3624","post","type-post","status-publish","format-standard","hentry","category-seguridad","tag-banking-banca","tag-fannie-mae","tag-seguridad"],"_links":{"self":[{"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/posts\/3624","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/comments?post=3624"}],"version-history":[{"count":0,"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/posts\/3624\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/media?parent=3624"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/categories?post=3624"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/tags?post=3624"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}