Técnicas de seguridad en el ciclo de vida del desarrollo de software
1. PASO 9 – ARTICULO CIENTIFICO
Presentado por:
MARIA ANGELICA REYES
CRISTIAM HUMBERTO GOMEZ
JHON FREDDY MALDONADO
JEAN CARLOS VEGA
Presentado a:
DIANA CARDONA ROMAN
Tutora
UNIVERSIDAD NACIONA ABIERTA Y A DISTANCIA – UNAD
INGENIERIA DE SISTEMAS
BUCARAMANGA
2019
2. TÉCNICAS DE SEGURIDAD EN EL CICLO DE VIDA DE
DESARROLLO DEL SOFTWARE
Resumen
La mayoría de los procesos en el desarrollo de software no incluyen técnicas de
seguridad o en muy pocos casos la tienen presente al final en la etapa de Testing,
lo cual genera costos elevados en la solución de las vulnerabilidades o ataques que
se presenten.
Dado lo anterior es necesario implementar técnicas que permitas un manejo de
buenas practicas desde el inicio hasta el final en el ciclo de desarrollo de softrware,
un ejemplo de esto sería la realización de pruebas de seguridad desde el comienzo
de todos los proyectos de desarrollo, es decir desde Análisis, Diseño, Codificación¡,
Testing y por último Deployment o implementación.
Palabras Clave: Software inseguro, vulnerabilidades, herramientas de seguridad,
seguridad de la información, aplicaciones web, garantía de calidad del software,
Prueba segura, Buenas prácticas.
Introducción
En vista del auge por el que hoy pasan muchas empresas de desarrollo de software
y la gran demanda que existe por parte de las organizaciones al exigir software de
calidad, las empresas desarrolladoras han visto en la necesidad de elaborar
productos que cumplan con los requisitos de calidad, disminuyendo en gran medida
falencias de seguridad.
Sin embargo, otras han optado por omitir ciertas prácticas que evitarían a futuro
costos innecesarios, como por ejemplo la realización de pruebas de seguridad
desde las fases tempranas en el ciclo de vida de desarrollo de software, estas
pruebas permiten la detección temprana de falencias o vulnerabilidades a las que
se pueda estar expuesto el software o la aplicación web, entre las que podemos
encontrar: mal uso de los usuarios, ataques cibernéticos, entre otros.
3. Marco teórico
Dentro de los conceptos básicos que tienen una relación con la ciberseguridad
tenemos los que se tienen que ver con vulnerabilidades a las que se enfrentan en
las aplicaciones web que alteran la integridad, disponibilidad y confidencialidad de
la información.
Seguridad de la información
Como su nombre lo indica, esta se concentra en proteger la integridad,
confidencialidad e integridad de los programas informáticos o aplicaciones web
durante los procesos de almacenamiento, procesamiento y transmisión de la
información (Whithman, 2011).
Según la definición dada por Jason (2014) indica que seguridad “En esencia,
significa que queremos proteger nuestros datos y nuestros sistemas de aquellos
que buscan hacer un mal uso”.
Por lo anterior es necesario que en todas las etapas o fases de desarrollo de
software se implemente la seguridad, con el uso y aplicación de herramientas que
mitiguen la exposición a amenazas o ataques.
la especialista en seguridad informática Silvia M. Diaz en su artículo titulado Pruebas
de seguridad en aplicaciones web como imperativo en la calidad de desarrollo del
software publicado en el 2013 menciona lo siguiente “Las aplicaciones web están
expuestas a un gran número de amenazas, tales como el mal uso por parte de los
usuarios, ataques de seguridad, mala calidad del software o falta de un proceso de
desarrollo estructurado”
Muchas empresas desarrolladoras han establecido modelos de buenas practicas
los cuales funcionan a manera de guias que les permiten llevar a cabos los procesos
de manera exitosa en términos de seguridad, entre esas empresas tenemos a
OWASP’s Software Assurance Maturity Model (OpenSAMM) (Chandra, 2008). Esta
misma empresa destaca lo siguiente “Las pruebas han demostrado ser un
ingrediente clave en cualquier organización que necesita confiar en el software que
produce o utiliza”
4. Controles de seguridad
Permite la implementación de una seguridad apropiada, incluso se han establecido
normativas para su uso como son
ISO/IEC 27002: el cual es una referencia para la selección de controles de
seguridad dirigidos a riesgos en lo referente a confidencialidad, integridad y
disponibilidad de la información; no representa una especificación formal como la
ISO/IEC 27001. En su edición del año 2013 (27002:2013) se especifican 14
dominios, 35 objetivos de control y 114 controles de seguridad (ISO/IEC, 2013).
Por lo tanto, se debe realizar una cuidadosa selección de esos controles, que se
ajusten a las necesidades de la organización, con estándares y regulaciones
internacionales, esto permitirá disminuir las amenazas a las que se exponen las
aplicaciones que son objetivo de ataque que buscan hacer un mal uso de la
información.
Entre los controles de seguridad tenemos:
Inventario de software autorizado y no autorizado
Aplicación de configuraciones seguras de software en los servidores
Limitación y control de puertos de red, protocolos y servicios
Uso controlado de privilegios administrativos
Administración de la configuración
Copias de seguridad de la información
Sincronización de hora.
Restricciones en la instalación de software
Protección contra la denegación de servicio
Defensa contra programas malignos
Seguridad en las aplicaciones
Valoración continua de vulnerabilidades y remediación
Monitorización continua de los controles de seguridad implementados
Automatización de seguridad
El anterior proceso debe ser observado y automatizado, en (Montesino, 2013)
muestras que los controles de seguridad pueden ser automatizados basado en
estándares de seguridad definidos.
5. La automatización en las pruebas de seguridad permite tratar de forma casi
inmediata las vulnerabilidades que puedan encontrarse, esto añadirá calidad al
producto que elaborarnos y minimizará los tiempos de corrección y costos
adicionales.
En concordancia con lo anterior y según la definición dada por IBM el protocolo
SCAP (Security Content Automation Protocol) “SCAP se compone de un conjunto
de normas que permiten la gestión automatizada, la medición, y la evaluación de la
política de cumplimiento de la vulnerabilidad, por ejemplo, el cumplimiento de la ley
FISMA.”
Discusión
Hemos comprobado que las pruebas de calidad de software son necesarias, pero
muy poco valoradas o tenidas en cuentas siendo estas de gran importancia ya que
generan un gran impacto no solo en las empresas desarrolladoras, sino, en las
organizaciones que adquieren los productos informáticos.
Este artículo analiza y muestra cuan importantes es implementar las pruebas de
seguridad en el ciclo de vida de desarrollo de software, lo anterior con el fin de que
estas ayuden a mejorar el rendimiento, efectividad y optimización de los programas
y aplicaciones web. Adicionalmente se desea que se dé una mayor importancia a
estas pruebas de seguridad y así conocer o detectar con anticipación fallas o
defectos, que ahorren tiempo y costos a futuro.
Con lo anterior, se pretende aumentar los niveles de calidad y optimizar tareas,
además se brinda una guía que ayude a todos los implicados en los procesos de
desarrollo. Realizar o llevar a cabo el desarrollo de un proyecto y no efectuar las
pruebas de seguridad o efectuarlas de forma inapropiada no es favorable, pues
dificultaría la comprobación de cuan funcional o útil es el software.
Mota, Carmo, Mcgregor, Santana y Romero, mencionan lo siguiente “en el
desarrollo de software, la prueba es un mecanismo importante tanto para identificar
defectos y asegurar que los productos bajo la conformidad con las 174 Artículos de
reflexión Ingeniería Solidaria / Volumen 12, Número 20 / octubre 2016
especificaciones. Esta es una práctica común en el desarrollo de un solo sistema”
6. [42]. Por lo anterior, se ratifica que las pruebas sirven como factor identificados de
defectos o errores, y garantizan calidad en el producto desarrollado.
Conclusiones
Las pruebas de seguridad son necesarias en todas las fases del ciclo de vida de
desarrollo de software, por lo tanto, para lograr esto es importante que se
implementen buenas prácticas, estándares y otros elementos que nos permitan
lograr este objetivo.
Al haber estudiado la situación que se tiene respecto a este tema, se llega a la
conclusión de que es imprescindible y necesario que las empresas desarrolladoras
primero que nada se concienticen de lo peligroso y costoso que puede salir el no
tener un mecanismo o esquema que les permita mejorar la parte de seguridad en
sus productos.
Adicionalmente que todos los que hacen parte del proyecto son responsables de
garantizar la aplicación de estas buenas prácticas.
7. Bibliografía
Alonso, M (sd). ¿Cómo escribir un artículo científico? [en línia]. La Habanana:
monografías.com. http://www.monografias.com/trabajos16/articulo-
cientifico/articulo-cientifico.shtml [Consulta: 06 de dic de 2019].
Chil, R. (2009). «Algunas claves para escribir correctamente un artículo científico”.
Revista chilena de pediatría 80 (1): 70-78.
Universidad de granada, como elaborar un artículo científico (en línea), recuperado
de https://www.ugr.es/~filosofia/recursos/innovacion/convo-2005/trabajo-
escrito/como-elaborar-un-articulo-cientifico.htm [Consulta: 06 de dic de 2019].
Diaz, Silvia M. (2014) Pruebas de seguridad en aplicaciones web como imperativo
en la calidad de desarrollo del software. Recuperado de:
https://www.unab.edu.co/sites/default/files/MemoriasGrabadas/papers/capitulo7_p
aper_13.pdf
Bermúdez, Cervantes, Hernandez, Navarro (2009) Importancia del área de
seguridad en informática (tesis de grado), Instituto politécnico nacional, recuperado
de https://tesis.ipn.mx/jspui/bitstream/123456789/5751/1/IF7.86.pdf
Mera, Julian (2016), Análisis del proceso de pruebas de calidad de software (articulo
científico), recuperado de file:///D:/BIBLIOTECA/Descargas/1482-Article%20Text-
3592-2-10-20170131.pdf
Hernandez, Adrian y Porven, Joesly, Procedimiento para la seguridad del proceso
de despliegue de aplicaciones web (articulo), recuperado de
http://scielo.sld.cu/scielo.php?pid=S2227-
8992016000200004&script=sci_arttext&tlng=en
Andress Jason (2014), The Basics of information security, Elsevier, recuperado de
http://index-
of.es/Hack/The.Basics.of.Information.Security_Understanding.the.Fundamentals.p
df