ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Diseño De Software Seguro


Enviado por   •  30 de Abril de 2013  •  3.616 Palabras (15 Páginas)  •  336 Visitas

Página 1 de 15

Diseño de software seguro

Manuel Dávila Segura

El software es un elemento catalogado de seguridad nacional en los países que tienen un plan

De desarrollo orientado hacia la sociedad del conocimiento. La preocupación en esos países se basa en el hecho de que la Ingeniería de software no ha logrado que los desarrollos de software

Cumplan con la característica denominada “trusworthy”, es decir, dignos de confianza. Este artículo pretende recoger una serie de especificaciones que contribuyan a que se cumpla el desarrollo de software seguro.

No es la seguridad perimetral la que preocupa en esta investigación, es el

Software en sí. Pará ello se ha consultado la estrategia de desarrollo de software de los Estados Unidos para el 2015, se resumen los planteamientos de Gary McGraw, uno de los líderes en la propuesta de metodologías de software seguro, y se hace una propuesta para incluir en el ciclo de desarrollo las etapas necesarias para lograr estos desarrollos.

Finalmente, haciendo uso de los referentes de ACM e IEEE sobre los diseños curriculares para crear programas de Ingeniería de sistemas o afines, se proponen algunos puntos importantes para incluir en los nuevos programas la formación en este tipo de competencias.

Palabras clave: Software seguro, trustworthy, diseño curricular, Ingeniería de sistemas.

1. Introducción

En los países orientados a conformar sociedad del conocimiento y que tienen en el desarrollo de software un compromiso como industria, se le considera a éste un producto de seguridad nacional. Es el caso de los Estados Unidos que en el reporte de la segunda cumbre del Centro Nacional de Software así lo presenta, en un documento llamado “Software 2015: A national software strategy to ensure U.S. Security and competitiveness” [1] Consideran que su nación es altamente dependiente de las tecnologías de la información siendo el punto central el

Software, el cual se encuentra en todos los elementos de la vida cotidiana de las personas y las organizaciones. Determinan que su país es una nación bajo riesgo de consecuencias inaceptables por las fallas del software. Estas fallas pueden crear serios problemas en varios riesgos, enumerando específicamente la infraestructura nacional, la economía, la vida de las personas, la pérdida de confianza pública, de la identidad y liderazgo.

Si bien nuestros países no se comparan con la capacidad productiva de software Sistemas 75

Que tiene Estados Unidos, es de mucha utilidad conocer esos planes, pues de todas maneras las tecnologías informáticas tienen carácter global. Siendo innegable la importancia del software, así como su penetración en la vida cotidiana se ve la necesidad de revisar el estado de la Ingeniería de software, la cual en sus 50 años de existencia aún no ha podido resolver el riesgo de que un avión se caiga por culpa de un overflow en una variable.

Vale la pena anotar que el nivel de seguridad que se necesita en el diseño de los programas va más allá de la tradicional seguridad perimetral, para entrar en el campo del diseño de las aplicaciones.

Este estudio ha contemplado las premisas de la estrategia de los Estados Unidos como referencia para entrar en una discusión de índole más local.

2. Software digno de confianza o trustworthiness Se introduce el término trusworthiness o la cultura sobre las características que debe cumplir el software para ser “trustworthy” o sea, digno de confianza. Estas características se resumen en: seguridad, confianza, fiabilidad y supervivencia. El significado de cada una de estas características se detalla a continuación.

Seguridad: se refiere a la exposición de los programas a peligros no intencionados en sus especificaciones; es decir, que no se dan por mala Ingeniería de software o malas prácticas en la programación, sino por aspectos de índole externo. Cabe hablar aquí de código malicioso y malintencionado como son los virus, troyanos, puertas traseras, spam lo que no sólo crea problemas reales de disminución de confianza, sino que bajan la productividad porque el tiempo de control y revisiones de los daños es muy grande, pudiendo usarse en otras labores más productivas. Una persona que gaste una hora diaria en revisar estos problemas equivale a un mes laboral del año.

Confianza: la vida normal de las personas transcurre con el uso de elementos o artefactos que dependen del software y que su uso debe generar confianza para una tranquilidad de índole social.

El software inseguro puede llegar a hacer daño a las personas y a la propiedad en ambientes de uso cotidiano como la aviación, la medicina, la exploración espacial, la banca y en general el transporte. Obsérvese cómo en estas actividades está en peligro la vida de las personas, no sólo una funcionalidad con repercusiones económicas. Fiabilidad: en algunos casos el software participa de soluciones de gran escala que pueden afectar de manera masiva a la sociedad, como la defensa nacional, las telecomunicaciones, la energía, el espacio y los sistemas financieros. El hecho de utilizar satélites para las telecomunicaciones y el transporte de los datos nos puede afectar.

Supervivencia: ese término se definió como una característica que asegure que el software se debe mantener en continuo funcionamiento, aún en situaciones adversas y no sólo en ambientes benignos. El reciente drama del Japón con el terremoto y el tsunami dan que pensar en cuanto a lo que se puede catalogar una situación adversa, pues los centros de datos deben contemplar estas situaciones y el software mismo también.

Pasemos ahora a determinar una definición formal para la palabra “Trustworthi-76 Sistemas Ness”. Lo más cercano que he encontrado en español para traducir este término es “Digno de confianza”; es decir, que debe cumplir con todos los requerimientos, inclusive con los de seguridad, en cualquiera de los componentes de software, aplicación, sistema o red.

Un desarrollo de software digno de confianza, tiene atributos de “seguridad, garantía, confianza, fiabilidad, rendimiento, supervivencia, con un amplio espectro de adversidades y compromisos. Se requiere en el hardware, en el software, en las comunicaciones, en componentes de potencia, así como en los desarrolladores y los que hacen el mantenimiento”.

La inclusión del factor humano en estas taxonomías dan que pensar en cuanto a la formación integral de los profesionales en las universidades en donde los aspectos de tipo ético cobran aún más valor.

La estrategia contempla en primer lugar la necesidad de que a la fuerza de trabajo, es decir a los desarrolladores, se les eduque permanentemente y de les defina una estructura salarial adecuada y competitiva.

Le

...

Descargar como (para miembros actualizados) txt (23 Kb)
Leer 14 páginas más »
Disponible sólo en Clubensayos.com