28 ago 2014

Los 10 defectos mas significativos del diseño de seguridad de software

El IEEE Center for Secure Design publicó un informe [PDF] que se centra en la identificación de los defectos de diseño de software, basado en datos reales recogidos y analizados por expertos de empresas de tecnología líderes del mundo.
IEEE Computer Society, la principal asociación de profesionales de la informática, lanzó una iniciativa de seguridad cibernética con el objetivo de ampliar su participación en materia de ciberseguridad. Como parte de esa iniciativa, se formó el IEEE Center for Secure Design (CSD). La iniciativa reunió a un grupo de expertos de diversas de organizaciones para discutir fallos de diseño de seguridad de software.

El resultado fue una lista de los 10 defectos de diseño más importantes del software y las técnicas de diseño para evitarlos. Además se publican consejos prácticos pata fomentar el uso correcto de la criptografía aplicada a validar los datos.

El diseño seguro de aplicaciones ha sido el talón de Aquiles de la ingeniería de software durante décadas, sobre todo porque es difícil y requiere conocimientos profundos. "IEEE Center for Secure Design (CSD) jugará un papel clave en la reorientación del diseño de seguridad de software" dijo Neil Daswani el equipo de ingeniería de seguridad. "Al poner el foco en el diseño de seguridad y no sólo en los fallos de implementación del código, CSD hará un un gran servicio".

"Errores y defectos son dos tipos muy diferentes de problemas de seguridad", dijo Gary McGraw, CTO de Cigital. "Creemos que se ha hecho mucho más enfoque en errores comunes que en el diseño seguro y la forma de evitar defectos, que es preocupante ya que el 50% de las cuestiones de seguridad del software corresponden a deficiencias en el diseño".

La siguiente lista de recomendaciones nació para ayudar a los desarrolladores a evitar defectos de diseño en seguridad:
  • Ganar o dar confianza, pero nunca asumirla
  • Utilizar un mecanismo de autenticación que no pueda ser evitado o manipulado
  • Autorizar después de autenticar
  • Separar estrictamente instrucciones de datos y control y nunca procesar instrucciones recibidas de fuentes no confiables
  • Definir un enfoque que asegure que todos los datos sean validados expresamente
  • Usar correctamente la criptografía
  • Identificar los datos confidenciales y cómo deben ser manejados
  • Siempre considerar los usuarios
  • Entender cómo integrar componentes externos cambia la superficie de ataque
  • Ser flexible para considerar cambios futuros a los objetos y actores
Cristian de la Redacción de Segu-Info

Suscríbete a nuestro Boletín

3 comentarios:

  1. Ahí va mi recomendación: Diseñar software sin fallos de seguridad.

    ResponderBorrar
  2. Mi recomendación es que deben de enfocarse mas en los fallos y después en la calidad de el software

    ResponderBorrar
  3. muy buen trabajo +10 lince truesma 9mil

    ResponderBorrar

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!