Uno de los aspectos más delicados de la seguridad de la información es el Desarrollo del Software. Y por qué os preguntaréis algunos. Pues es bien sencillo, podemos tener el sistema operativo más blindado, la red más segura, el mejor antivirus, antispyware, antirootkit, los mejores IDS, el mejor honeypot , en definitiva hemos podido ejecutar el mejor Plan Director de Seguridad de la Información para nuestra infraestructura y pensar que estamos completamente a salvo de que no se escape ni un solo bit de información que no ha sido solicitado, esto incluye control sobre los dispositivos USB.
Como decía, somos felices y pensamos en nuestra gran fortaleza como indestructible. Pero resulta que, por poner un ejemplo, la gran mayoría de las instalaciones utilizan Internet Explorer sobre un sistema operativo llamado Windows XP o Vista, por no nombrar versiones muy antiguas que podrían causar daños mayores. Tanto este software, como cualquier otro software que sea utilizado en nuestros sistemas por no focalizar el post en uno solo, ha sido desarrollado por un equipo de personas y, por culpa de una casuística no contemplada, se produce un mal comportamiento en el resto del Sistema Operativo, y desde ese momento la máquina puede quedar a merced de quien sepa explotarla.
Cuando esto sucede, nuestra felicidad se termino y nuestra fortaleza se vio derrumbada por la rendija más pequeña. Nos podemos fijar en la última actualización de Microsoft sobre Internet Explorer, MS-027, dónde las 5 vulnerabilidades detectadas, que mientras no se actualice, abrirán una puerta al atacante permitiéndole hacer lo que le de la gana en nuestra máquina, y desde aquí acceso total a toda nuestra información.
Insistir que no pretendo criticar a Microsoft, es solo un ejemplo de lo que ocurre en el mundo del desarrollo. Los plazos, los costes, los recursos, la falta de definición… son factores que hacen mermar la calidad de la fabricación de un software y que hacen que tengamos que sufrir actualizaciones, que son necesarias realizar.
Pero el problema se acentúa más cuando decidimos realizar el desarrollo desde nuestra empresa, liderando el proyecto por los técnicos que hemos contratado y sacando a concurso el proyecto entre varias empresas de desarrollo. Se ha de vigilar la seguridad, establecer un periodo de garantía al desarrollo entregado y establecer un segundo periodo de actualización frente a errores de seguridad, al tiempo que exigimos a nuestros proveedores que cumplan con un desarrollo seguro contemplado en los LSA que les obligue al cumplimiento del mismo. Esto no nos evitará incidentes de seguridad ya que siempre puede existir algún factor que haga que nuestro sistema se vea vulnerado, pero si que los mitigará y reducirá las perdidas que un agujero de puede ocasionarnos.