Los tiempos han cambiado, pero la seguridad del software NO

Cada día ejecutamos miles y miles de líneas de código sin darnos cuenta: cuando navegamos por la Web, realizamos una llamada con nuestro Smartphone o jugamos a la Xbox. Como usuarios asumimos que todo es seguro y nuestra información está protegida, sin embargo por desgracia no suele ser así.

Las empresas siguen con modelos tradicionales de seguridad enfocados a la red mediante antivirus, cortafuegos, IDS, SIEM, etc. Y aun así, cada semana vemos como grandes corporaciones son atacadas y comprometidas con éxito, algunos ejemplos son Google – 2009, RSA – 2011, LinkedIn – 2012  o Target – 2013. Esto se debe a que no estamos prestando la atención que se merece a la seguridad en el desarrollo de software.

A estas alturas todo el mundo ha oído hablar del fallo de seguridad HeartBleed que afecta a la librería criptográfica OpenSSL  utilizada por multitud de software y que es un magnífico ejemplo de la necesidad de cambio para crear software seguro. Lo realmente llamativo es que este fallo (trivial) se debe a una incorrecta validación de datos, que un solo programador escribiera este código y no fuera revisado / validado por el resto del equipo. Es más, esta vulnerabilidad ha existido en el código durante los últimos dos años (no está mal para ser una librería muy popular y de código abierto, que se supone es más seguro porque cualquier puede revisarlo).

Cualquier aplicación, ya sea un portal web, un procesador de textos o una app en el Smartphone, requiere seguir un marco de desarrollo seguro o podría ser víctima del próximo ataque, ¡es la hora de despertar!

Un marco de desarrollo seguro proporciona una metodología, procesos y herramientas necesarias para poder crear aplicaciones seguras. Las personas no nacen sabiendo y escriben código seguro por arte de magia; no obstante, con la apropiada formación y aplicación de un marco de desarrollo seguro la introducción de fallos de seguridad u otros bugs se reducen drásticamente. Por ejemplo, en el libro Code Complete se argumenta que las aplicaciones de Microsoft tienen entre 10 y 20 fallos de código por cada 1000 líneas de código (LOC) (Nota: el libro es de 2004, por lo que esta métrica puede estar obsoleta, es difícil encontrar estudios fiables ya que cada uno presenta resultados diferentes sobre la relación de bugs por líneas de código).

Durante mis años en Microsoft seguíamos el MS SDL, el marco de desarrollo seguro de Microsoft, que introduce procesos (controles) de seguridad en el ciclo de desarrollo de software (SDLC) con el fin de producir aplicaciones seguras. Nuestra misión era ayudar a los equipos de desarrollo de diferentes formas: primero formándoles en seguridad, segundo siendo su campeón de seguridad (algo así como su consejero y ayudándoles en todo lo posible) y, por último, validando la seguridad del producto antes de su publicación.

Aparte del MS SDL, existen otros marcos de desarrollo seguro como son el OpenSAMM, OWASP CLASP , Cigital 7 Touchpoints  o BSIMM. Realmente da igual el marco que empleemos siempre que sea de forma correcta y con un importante detalle: estos marcos son genéricos, sin embargo en la mayoría de casos requieren adaptarlos a las necesidades de nuestra empresa. Muchas organizaciones fallan porque intentan aplicar estos marcos de un día para otro y sin adaptarlos. Un marco de desarrollo seguro es vital para cualquier aplicación pero aplicado con cabeza.

La formación es fundamental y existen diferentes recursos que podemos aprovechar. Respecto a certificaciones, tenemos varias como la ISC2 CSSLP, SANS Secure Software Development o el EC-Council ECSP que son de pago, a diversas empresas como VULNEX que ofrecen desde cursos especializados en desarrollo seguro hasta formación online gratuita como SAFECode Training, OWASP Training  y Microsoft SDL Training.

En ningún momento debemos pensar que un marco de desarrollo seguro es un incremento en el coste de nuestros recursos (sí a corto-medio plazo) sino que es un ahorro: nuestro software ganará no solo en seguridad sino también en calidad, y eso lo podemos vender a nuestros clientes. Y si esto no es suficiente, piense en el precio que supone que su web sea comprometida y su información robada y, peor aún, ¡que salga en los medios! ¿Cuánto vale su imagen?

Es obvio que es indiferente si desarrollamos una aplicación web o móvil, si es software de uso interno exclusivamente o de un tercero desarrollada por/para nosotros: siempre se debe utilizar un marco de desarrollo seguro para poder crear software seguro.

Los marcos, procesos, herramientas y formación existen, ¡hagamos uso de ellos para ponérselo difícil a los atacantes! Es la hora de la seguridad en el desarrollo, indistintamente del tipo de software o del tamaño de nuestra organización.

AUTOR: Simon Roses, VULNEX

Posted on 28 abril, 2014 in Seguridad

Share the Story

About the Author

Back to Top

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies