Logo Studenta

Amenazas, riesgos y vulnerabilidades - OCHOA PRECIADO ENRIQUE DE JESUS

¡Estudia con miles de materiales!

Vista previa del material en texto

Facultad de Ingeniería Electromecánica 
 
Investigación 
Amenazas, riesgos y vulnerabilidades 
 
Desarrollo de Software Seguro 
 
Presenta 
Enrique de Jesús Ochoa Preciado 
 
Profesor 
Díaz García Fernando Tomás 
Manzanillo, Col., México, 21 de febrero de 2023 
 
 
Índice 
 
Tipos de riesgos en el desarrollo de software 3 
Vulnerabilidades al momento del desarrollo y despliegue del software 5 
Centros donde se pueden revisar las amenazas, riesgos y vulnerabilidades que 
existen 6 
Referencias 8 
1 
Amenazas en el desarrollo de software 
 
Existen varias amenazas que pueden afectar el desarrollo de software, algunas de 
las cuales son: 
 
• Vulnerabilidades de seguridad: El software puede ser vulnerable a ataques 
maliciosos que pueden comprometer la seguridad de los datos y la privacidad 
de los usuarios. Las vulnerabilidades de seguridad pueden ser explotadas 
por los atacantes para robar información o realizar otras actividades ilegales. 
• Falta de calidad: La falta de calidad en el software puede hacer que sea difícil 
de usar, inestable y propenso a errores. Esto puede llevar a una mala 
experiencia del usuario, reducción de la productividad y aumento de los 
costos de mantenimiento. 
• Problemas de compatibilidad: El software puede ser incompatible con ciertas 
plataformas, sistemas operativos o aplicaciones, lo que puede impedir su 
correcto funcionamiento o limitar su uso. 
• Problemas de rendimiento: El software puede ser lento, consumir muchos 
recursos del sistema o tener problemas de escalabilidad, lo que puede 
afectar su rendimiento y capacidad de respuesta. 
• Cambios en los requisitos: Los requisitos pueden cambiar a medida que se 
desarrolla el software, lo que puede retrasar el proyecto, aumentar los costos 
y afectar la calidad del software. 
• Falta de documentación: La falta de documentación adecuada puede 
dificultar la comprensión del software y su mantenimiento. La documentación 
también puede ser útil para la capacitación de nuevos usuarios y para la 
resolución de problemas. 
 
2 
• Problemas de gestión de proyectos: La mala gestión del proyecto puede 
afectar la planificación, el presupuesto, la calidad y la entrega del software. 
Esto puede llevar a retrasos, aumento de los costos y desmotivación del 
equipo de desarrollo. 
 
Además de las amenazas mencionadas anteriormente, hay otras que pueden surgir 
en el desarrollo de software, tales como: 
 
• Amenazas internas: Esto ocurre cuando los miembros del equipo de 
desarrollo, los empleados de la organización o los usuarios autorizados 
abusan de su acceso al software y los sistemas de la organización. Las 
amenazas internas pueden incluir la introducción de virus o malware en el 
software, la violación de la privacidad de los usuarios o el robo de propiedad 
intelectual. 
• Fallos en terceros: Los desarrolladores de software a menudo dependen de 
terceros para proporcionar bibliotecas, frameworks, plugins y otros 
componentes de software que se utilizan en su desarrollo. Si estos 
componentes contienen errores, vulnerabilidades de seguridad u otros 
problemas, pueden afectar negativamente la calidad del software 
desarrollado. 
• Problemas de cumplimiento normativo: Las regulaciones gubernamentales y 
las políticas internas de las organizaciones pueden imponer requisitos 
específicos de cumplimiento en el software, lo que puede ser difícil de cumplir 
o de mantener. 
• Problemas de diseño y arquitectura: Las decisiones de diseño y arquitectura 
incorrectas pueden tener un impacto negativo en la calidad, el rendimiento y 
la capacidad de mantenimiento del software. Además, una mala arquitectura 
puede hacer que sea difícil agregar nuevas características o integrar el 
software con otros sistemas. 
3 
• Problemas de escalabilidad: El software debe ser capaz de manejar un gran 
número de usuarios y una gran cantidad de datos sin sufrir problemas de 
rendimiento o de capacidad de respuesta. Los problemas de escalabilidad 
pueden ser difíciles de resolver y pueden requerir una revisión completa de 
la arquitectura y del código. 
 
Es importante tener en cuenta todas estas amenazas durante el desarrollo de 
software y tomar medidas para mitigar sus efectos. Esto puede incluir la 
implementación de controles de seguridad, la adopción de prácticas de diseño y 
arquitectura sólidas, la realización de pruebas de rendimiento y la supervisión 
continua del cumplimiento normativo. 
 
Tipos de riesgos en el desarrollo de software 
 
 Hay varios tipos de riesgos asociados con el desarrollo de software, algunos de los 
cuales incluyen: 
 
• Riesgos técnicos: Estos son riesgos relacionados con el diseño, 
implementación, prueba y mantenimiento del software. Pueden incluir 
problemas con la arquitectura, la escalabilidad, la seguridad, el rendimiento 
y la compatibilidad. 
• Riesgos de presupuesto y tiempo: Estos riesgos están relacionados con la 
gestión de proyectos y pueden incluir retrasos en la entrega del software, 
cambios en los requisitos del cliente y sobrecostos asociados con el 
desarrollo del software. 
• Riesgos de recursos humanos: Estos riesgos están relacionados con el 
equipo de desarrollo, incluyendo problemas de motivación, la falta de 
4 
habilidades y experiencia, la rotación de personal y la falta de comunicación 
y colaboración. 
• Riesgos comerciales: Estos riesgos están relacionados con el impacto del 
software en la organización o en el mercado en general. Pueden incluir la 
falta de demanda para el software, cambios en las regulaciones, la 
competencia y la obsolescencia. 
• Riesgos legales y de cumplimiento: Estos riesgos están relacionados con la 
responsabilidad legal y la posible violación de normas y regulaciones 
gubernamentales y de la industria. Esto puede incluir violaciones de 
privacidad, infracciones de propiedad intelectual, y el incumplimiento de las 
regulaciones de seguridad. 
 
Es importante tener en cuenta estos riesgos durante el proceso de desarrollo de 
software y tomar medidas para mitigarlos. Esto puede incluir la identificación y 
priorización de los riesgos, la implementación de controles de seguridad y gestión 
de riesgos, la adopción de prácticas de gestión de proyectos sólidas y la supervisión 
continua del cumplimiento normativo. 
 
 
 
 
 
 
 
5 
Vulnerabilidades al momento del desarrollo y 
despliegue del software 
 
Durante el proceso de desarrollo y despliegue de software, hay varias 
vulnerabilidades que pueden surgir, incluyendo: 
 
• Errores de programación: Los errores de programación son errores 
cometidos durante el proceso de codificación que pueden causar fallos de 
software y/o vulnerabilidades de seguridad. Los errores de programación 
pueden incluir vulnerabilidades de inyección de código, problemas de 
validación de entrada, errores de lógica y otros errores de programación. 
• Fallos en la configuración del software: Los fallos en la configuración del 
software pueden dejar expuestos servicios y sistemas a través de la 
configuración incorrecta de firewalls, servidores web, bases de datos, entre 
otros. 
• Vulnerabilidades de seguridad de terceros: Las bibliotecas de software de 
terceros y otros componentes utilizados en el desarrollo de software pueden 
tener vulnerabilidades de seguridad que pueden ser explotadas para atacar 
el software desarrollado. 
• Malas prácticas de seguridad: Las malas prácticas de seguridad durante el 
proceso de desarrollo, tales como el almacenamiento de credenciales de 
usuario en texto plano, la falta de cifrado de datos sensibles y la falta de 
autenticación y autorización adecuada, pueden dejar al software expuesto a 
riesgos de seguridad. 
• Problemas de cumplimiento normativo: Las regulaciones gubernamentales y 
las políticas internas de las organizaciones pueden imponer requisitos 
específicos de cumplimiento en el software, lo que puede ser difícil de cumpliro de mantener. 
6 
Para mitigar estas vulnerabilidades, se recomienda implementar buenas prácticas 
de seguridad en todo el proceso de desarrollo de software, incluyendo el uso de 
herramientas de análisis de código y pruebas de penetración para identificar y 
corregir vulnerabilidades, la implementación de controles de seguridad adecuados, 
la adopción de prácticas de diseño y arquitectura sólidas, la realización de pruebas 
de seguridad y la supervisión continua del cumplimiento normativo. 
 
 
Centros donde se pueden revisar las amenazas, riesgos 
y vulnerabilidades que existen 
 
Existen varios recursos en línea que ofrecen información actualizada y útil sobre las 
amenazas, riesgos y vulnerabilidades que existen en el desarrollo de software. 
Algunos de estos recursos incluyen: 
 
• OWASP (Open Web Application Security Project): OWASP es una 
organización sin fines de lucro que tiene como objetivo mejorar la seguridad 
del software. Ofrecen recursos y herramientas para identificar y mitigar 
vulnerabilidades de seguridad en aplicaciones web y móviles. 
• NIST (National Institute of Standards and Technology): NIST es una agencia 
gubernamental de EE. UU. que se dedica a desarrollar y promover 
estándares y buenas prácticas de seguridad de la información. Ofrecen guías 
y herramientas para la evaluación y gestión de riesgos de seguridad en el 
desarrollo de software. 
• SANS Institute: El SANS Institute es una organización de investigación y 
educación en seguridad de la información que ofrece una amplia gama de 
7 
recursos y cursos de capacitación en seguridad de la información, incluyendo 
el desarrollo seguro de software. 
• CERT/CC (Computer Emergency Response Team Coordination Center): 
CERT/CC es una organización de investigación y respuesta a incidentes de 
seguridad de la información que ofrece recursos y asesoramiento en 
seguridad de la información, incluyendo el desarrollo seguro de software. 
 
Además de estos recursos, hay muchas empresas y consultores que ofrecen 
servicios de evaluación de riesgos y seguridad en el desarrollo de software. Si se 
está preocupado por la seguridad de su software, es recomendable buscar 
asesoramiento de un experto en seguridad de la información o un consultor de 
seguridad. 
 
 
 
 
 
 
 
 
 
 
 
 
8 
Referencias 
 
- Sánchez-Bautista, G., & Ramírez-Chávez, L. (2022). Amenazas de seguridad 
a considerar en el desarrollo de software. XIKUA Boletín Científico de La 
Escuela Superior de Tlahuelilpan, 10(19), 31-37. 
- Karailievova, I. (2020, 17 noviembre). Las vulnerabilidades del software una 
gua para novatos. MA-NO Web Design and Development. https://www.ma-
no.org/es/seguridad/las-vulnerabilidades-del-software-una-guia-para-
novatos 
- Castellaro, M., Romaniz, S., Ramos, J. C., Feck, C., & Gaspoz, I. (2016). 
Aplicar el Modelo de Amenazas para incluir la Seguridad en el Modelado de 
Sistemas. In V Congreso Iberoamericano de Seguridad Informática-CIBSI 
(Vol. 16). 
- Mighetti, J. P. (2021). Mitigación de amenazas a requisitos en el desarrollo 
global de software usando LEL y escenarios. 
https://www.ma-no.org/es/seguridad/las-vulnerabilidades-del-software-una-guia-para-novatos
https://www.ma-no.org/es/seguridad/las-vulnerabilidades-del-software-una-guia-para-novatos
https://www.ma-no.org/es/seguridad/las-vulnerabilidades-del-software-una-guia-para-novatos

Otros materiales