Está en la página 1de 5

Instituto Tecnolgico Superior de Champotn

Concepto de seguridad en los productos de software Y el Resumen

Jos Abraham Col Narvez Martina Daz 6 semestre ISC

05/06/2013

Concepto de seguridad en los productos de software


La seguridad en software es un concepto que todo sistema debe incorporar, aunque hoy en da la Ingeniera de Software no es capaz de brindar un mecanismo adecuado para implementar adecuadamente dicha seguridad, el paradigma de Programacin Orientada a Aspectos (POA) pretende satisfacer problemas en el cdigo confuso y complejos. El concepto de la seguridad en los sistemas de software es un rea de investigacin que ha pasado a ser vital dentro de la Ingeniera de Software. Con el crecimiento del internet la posibilidad de ataques se ha incrementado notablemente as como tambin sus consecuencias negativas. Y es donde los desarrolladores no solo deben fijarse en los requerimientos sino tambin en los posibles ataques. Esto ha motivado cambios importantes en el proceso de diseo y desarrollo de software para incorporar a la seguridad dentro de los requerimientos crticos del sistema. Estos cambios son los primeros pasos en la concientizacin en la importancia de obtener un software seguro este cambio sera un proceso gradual que requiere tiempo y maduracin. Problemtica actual de la seguridad en el software Los puntos dbiles ms importantes de la Ingeniera de Software con respecto a la seguridad pueden ser clasificados en dos grandes categoras: Fallas para implementar software seguro. Fallas para implementar seguridad en el software

Fallas para implementar software seguro. Pero lamentablemente, la mayora de las herramientas que tiene disponible un desarrollador de software sufren de fallas propias de seguridad. Los lenguajes de programacin ms usados en la actualidad, C y C++, presentan graves problemas de seguridad. Esto se debe a que al utilizar muchos de sus servicios provistos por sus libreras estndar se introducen fallas de seguridad que pasarn inadvertidas al programador debido a que ste las considera libre de errores. Las razones por las cuales estas fallas internas permanecen en la actualidad son varias: mal entendimiento de los protocolos de seguridad, una visin ingenua respecto a lo que un sistema debiera considerar como seguro, aproximaciones no serias a la seguridad como corregir luego o no se van a dar cuenta, o directamente desconocimiento, ya que lamentablemente estas fallas no son conocidas universalmente, y existen pocas fuentes de informacin para escribir cdigo seguro. La seguridad es un tema complejo y requiere un entendimiento completo sobre lo que puede ir mal y qu es lo que puede ser explotado por un posible atacante. Un programador promedio no cuenta con la experiencia suficiente como para poder

determinar los requerimientos de seguridad que necesite su aplicacin. Esto resulta en la subestimacin de pequeos detalles que luego pueden llegar a introducir grandes fallas de seguridad. Fallas para implementar seguridad en el software. El desarrollador de software que quiera incorporar seguridad a su sistema se enfrentar con la difcil realidad de las tcnicas de programacin tradicionales, y tambin, con una Ingeniera de Software que recin est aprendiendo sobre la seguridad. La seguridad slo es tenida en cuenta una vez que los requerimientos funcionales son obtenidos. Esto conduce a que la seguridad sea considerada como un concepto afterthougth, y que se incorpore tardamente al sistema. Esto lleva a una implementacin pobre, ineficiente, e inadecuada de la seguridad. Tambin, la mayora de las metodologas de diseo y herramientas dedicadas a la seguridad trabajan de esta forma, como herramientas afterthougth. Por lo tanto, es mandatorio que los conceptos de seguridad formen parte integral en todo el ciclo de vida de desarrollo de software. Es imposible implementar la seguridad de una manera adecuada: 1. Se deben detectar los ataques, que no es una tarea menor. 2. Una vez identificado el ataque, se deben tomar las acciones necesarias como para que este tipo de ataque no vuelva a ocurrir. Esto implica revisar todo el cdigo del sistema y ubicar el(los) lugar (lugares) donde se deban introducir las modificaciones. Como sabemos, esta tarea no es para nada sencilla. 3. Volver a revisar el cdigo y analizar la posible existencia de efectos colaterales introducidos por las modificaciones del paso 2. Objetivos para un software seguro En pos de conseguir un software seguro, se debe dejar claro qu se entiende por seguridad, para as luego poder establecer requisitos mnimos que debe satisfacer un sistema que pretenda ser considerado seguro. La seguridad de un sistema de software es un concepto multi-dimensional. Las mltiples dimensiones de la seguridad son: Independencia de la seguridad: la seguridad debe construirse y utilizarse de manera independiente de la aplicacin. Independencia de la aplicacin: la aplicacin no debe depender del sistema de seguridad usado, debe ser desarrollada y mantenida en forma separada. Uniformidad: la seguridad debe aplicarse de manera correcta y consistente a travs de toda la aplicacin y del proceso que desarrolla la misma.

Modularidad: mantener la seguridad separada. Entre otras ventajas, esto nos brindar mayor flexibilidad y menor costo de mantenimiento. Ambiente seguro: se debe partir de un entorno confiable. Es decir, las herramientas de desarrollo y lenguajes de programacin no deben contener agujeros de seguridad. Seguridad desde el comienzo: la seguridad debe ser considerada como un requerimiento desde el inicio del diseo. Programacin Orientada a Aspectos.

Usando el paradigma de POA nos permitir encapsular las polticas de seguridad de forma separada e independiente del resto del sistema, ventajas que esto implica: Mayor reusabilidad Mejoras sustentables respecto al mantenimiento, modificaciones etc. Mayor grado de especializacin. Menor complejidad del sistema.

Impacto de la POA en la seguridad La POA nos permite encapsular y abstraer el concepto de seguridad. Con esto se logra: Bajo costo de mantenimiento: al tener todo el cdigo relativo a la seguridad en una nica unidad se simplifica la introduccin de cambios. Mayor flexibilidad: al estar la seguridad implementada de forma independiente, es mucho ms sencillo realizar cambios en las polticas de seguridad Mayor especializacin: los desarrolladores pueden implementar la funcionalidad bsica, mientras que un experto en seguridad puede especificar las propiedades de seguridad. Independencia de tres niveles: o a seguridad es independiente de la funcionalidad bsica o la seguridad es independiente de los implementadores o la seguridad es independiente del momento en que se la genera. Tambin, se debe reconocer que existen ciertos puntos dbiles. Por un lado, la POA es un paradigma que recin est naciendo, y por lo tanto continuamente surgen nuevos problemas. Los lenguajes orientados a aspectos no son todava herramientas maduras ni libres de errores. Los investigadores afirman que el estado actual de la POA es similar al estado en que se encontraba la POO hace 20 aos. Adems, tampoco tiene la POA un respaldo terico importante que lo sustente, sino que padece un estado de informalidad acentuado.

Resumen de Concepto de seguridad en los productos de software


La seguridad de los productos de un software es un proceso en curso. Un programador no puede garantizar que el sistema que est creando es vulnerable a todo tipo de a ataques, ya que es no posible saber si algn tipo de ataque surgir en el futuro. Aunque hoy en el presente no hay un descubrimiento seguro que garantiza la seguridad de un sistema eso no significa que no puede existir, en la investigacin mencionada anteriormente se habla sobre un paradigma de programacin conocido como Programacin Orientada a Aspectos (POA) que nos permitir encapsular las polticas de seguridad de forma separada e independiente, que surge como un beneficio a la solucin de los problemas de seguridad de productos de software. Una pregunta importante es que si un producto es ms seguro que otro, y es donde comparando se podra decir que un producto puede proporcionar seguridad por si mismo. La mejor actuacin posible de un determinado producto es proporcionar herramientas para que el programador intente proteger las aplicaciones programadas con dicho producto. Uno de los problemas mayores es que la programacin de aplicaciones seguras es el hecho de que la seguridad no se planifica en el inicio, si no que se implementa cuando el cdigo de un proyecto est finalizando. Y como resultado tenemos que la aplicacin no es segura ya que se dedic poco tiempo a considerar los aspectos que conforman una aplicacin segura Una de las causas de los ataque es el crecimiento de Internet, y otras aplicaciones sobre redes, como el comercio electrnico, correo electrnico, etc., Y es donde los desarrolladores no solo deben fijarse en los requerimientos sino tambin en los posibles ataques. Esto ha motivado cambios importantes en el proceso de diseo y desarrollo de software para incorporar a la seguridad dentro de los requerimientos crticos del sistema. Para obtener un software seguro sera un proceso gradual que requiere tiempo y maduracin y experiencia en el manejo bien de los lenguajes de programacin en el que se est desarrollando la aplicacin Los puntos dbiles ms importantes con respecto a la seguridad pueden ser clasificados en dos grandes categoras: Fallas para implementar software seguro. Fallas para implementar seguridad en el software

También podría gustarte