Está en la página 1de 6

Facultad de Telemática

Ingeniería en Software

Viernes 4 de Marzo de 2022

Alumno:
López Fletes Eduardo Daniel
Grupo: 6° G
Materia: Desarrollo de Software Seguro
Maestro: Ramírez Morfin José Nabor

Nombre del trabajo: Actividad 3.- Ensayo expositivo sobre “La seguridad enfocada al
software”.

Introducción
La seguridad del software se puede entender como la idea de diseñar software que pueda seguir
funcionando correctamente aún bajo ataques maliciosos. Es una disciplina que ha recibido un
renovado interés en los últimos años, dado que los enfoques de seguridad basados en redes reactivas
han demostrado ser ineficaces. Desafortunadamente, el software actual cuenta con muchas fallas de
diseño y errores de implementación, que resultan en un riesgo de seguridad inaceptable.

El desarrollo seguro es una necesidad en el diseño y desarrollo de software. Realizando un correcto


desarrollo de software podemos evitar fallos que impliquen grandes pérdidas de tiempo,
información y dinero para la empresa. En consecuencia, al crecimiento y evolución de los ataques
llevados a cabo por los ciberdelincuentes, se debe incorporar y tener en cuenta la seguridad durante
el diseño y posterior desarrollo de una aplicación informática.

La seguridad del software se trata de comprender los riesgos de seguridad inducidos por el software
y la manera de gestionarlos. Las buenas prácticas implican pensar en la seguridad en las primeras
etapas del ciclo de vida del software, conocer y comprender problemas comunes, incluyendo los
defectos y las trampas basados en el lenguaje, diseñar para la seguridad y someter todos los
artefactos de software a análisis y pruebas de riesgo objetivos y exhaustivos.

El software está en todos lados. Es útil para llevar a cabo diferentes tareas y solemos utilizarlo todos
los días. A medida que las empresas y la sociedad dependen cada vez más de él, es necesario
desarrollarlo con una mejor calidad. Ahora que está conectado en red de forma predeterminada, su
seguridad ya no es un lujo sino una necesidad.

Seguridad enfocada al software

Ya sabemos que la mayoría de los sistemas informáticos modernos son vulnerables ante los
problemas de seguridad del software, pero, ¿qué es lo que hace que la seguridad del software sea un
mayor problema en la actualidad? Existen tres tendencias que juntas crean la trinidad de los
problemas, y tienen una gran influencia en el crecimiento y la evolución del problema.

Una de ellas es la creciente conectividad de las computadoras a través de Internet, que ha


aumentado tanto la cantidad de vectores de ataque, como la facilidad con la que se puede realizar un
ataque. Creando un nuevo tipo de riesgo para el software. Hoy en día, cada vez más computadoras
se conectan a redes empresariales y a Internet. Además, las personas, las empresas y los gobiernos
dependen en mayor medida de la comunicación en red.

Desafortunadamente, como estos sistemas están conectados a Internet, se hacen vulnerables a


ataques basados en software de fuentes distantes. Un atacante no necesita acceso físico a un sistema
para explotar software, y hoy en día, los problemas de seguridad del software pueden ocasionar
problemas como el cierre de sistemas bancarios y aerolíneas.

Dado que el acceso a través de una red no requiere necesariamente de intervención humana, es fácil
generar ataques automatizados. La ubicuidad de las redes implica que haya más sistemas de
software para atacar, mayor número de ataques y mayores riesgos de malas prácticas de seguridad
de software que en el pasado.

El grado en que los sistemas informáticos se vuelven extensibles es otra de las tendencias que
afectan la seguridad del software. Un sistema extensible acepta actualizaciones o extensiones, a
veces denominadas como código móvil, para que la funcionalidad del sistema pueda evolucionar de
manera incremental.

Los sistemas operativos actuales admiten la extensibilidad a través de módulos y controles de


dispositivos cargables dinámicamente. Las aplicaciones actuales, como los procesadores de texto,
los clientes de correo electrónico, las hojas de cálculo y los navegadores web, admiten la
extensibilidad a través de secuencias de comandos, controles, componentes y applets.

Desde un punto de vista económico, los sistemas extensibles son atractivos porque proporcionan
interfaces flexibles que se pueden adaptar a través de nuevos componentes. En el mercado actual, es
fundamental que el software se implemente lo más rápido posible para ganar cuota de mercado.

No obstante, el mercado también exige que las aplicaciones proporcionen nuevas funciones con
cada versión. Una arquitectura extensible facilita la satisfacción de ambas demandas al permitir que
el código de la aplicación base se envíe antes, con extensiones de funciones posteriores según sea
necesario.

Desafortunadamente, las propias características de los sistemas extensibles hacen que sea
complicado evitar que las vulnerabilidades del software se introduzcan como extensiones no
deseadas. Los idiomas avanzados y las plataformas que incluyen Java de Sun Microsystems y .NET
Framework de Microsoft están haciendo que la extensibilidad sea un lugar común.
El crecimiento desenfrenado en el tamaño y complejidad de los sistemas de información modernos,
especialmente los sistemas de software, es una tercera tendencia que afecta a la seguridad del
software. Un sistema de escritorio que ejecuta Windows y las aplicaciones asociadas depende del
funcionamiento adecuado del kernel y de las aplicaciones para garantizar que las vulnerabilidades
no puedan comprometer el sistema.

Los sistemas operativos más utilizados actualmente están constituidos por millones de líneas de
código, y las aplicaciones de usuario final se están volviendo igual de complejas. Cuando los
sistemas se vuelven así de grandes, no se pueden evitar los errores.

El problema de la complejidad se ve exacerbado por el uso de lenguajes de programación no


seguros (por ejemplo, C y C++) que no brindan protección contra ataques simples. En teoría,
podríamos analizar y probar que un pequeño programa estaba libre de problemas, pero esta tarea es
imposible incluso para los sistemas de escritorio más simples de la actualidad, y mucho menos para
los sistemas utilizados por empresas o gobiernos.

La propensión de los sistemas de software a crecer mucho rápidamente es tan evidente en sistemas
de código abierto como lo es en sistemas populares como Windows. El problema es que, por
supuesto, más código da como resultado más defectos y esto a su vez, más riesgo de seguridad.

La seguridad del software, es decir, el proceso de diseño, creación y prueba de seguridad del
software, llega al corazón de la seguridad informática al identificar y eliminar problemas en el
propio software. De esta manera, la seguridad del software intenta crear un software que pueda
resistir los ataques de manera proactiva.

La seguridad del software es una actividad continua que requiere un cambio cultural.
Desafortunadamente, no existe una herramienta mágica o un proceso simple que resulte en un
software seguro. Esta seguridad requiere trabajo, y se basa naturalmente en gran medida en la
ingeniería de software, los lenguajes de programación y la ingeniería de seguridad.

Los tres pilares de la seguridad del software son la gestión de riesgos aplicada, las mejores prácticas
y el conocimiento. Aplicando estos tres pilares de manera gradual, evolutiva y en igual medida,
podemos producir un programa de seguridad de software razonable y rentable.
Para que la gestión de riesgos sea coherente, es útil establecer una distinción entre la aplicación del
análisis de riesgos a nivel arquitectónico (a veces llamado modelado de amenazas o análisis de
diseño de seguridad) y la noción de seguimiento y mitigación de riesgos como una actividad de
ciclo de vida completo.

El análisis de riesgos arquitectónicos es una buena práctica y es uno de los puntos de contacto
centrales. Sin embargo, los riesgos de seguridad surgen a lo largo del ciclo de vida de desarrollo de
software, por lo tanto, también es importante un enfoque general de la gestión de riesgos como
filosofía.
Sin embargo, una gestión de riesgos exitosa no es más que una herramienta de apoyo a la toma de
decisiones a nivel empresarial: una forma de recopilar los datos necesarios para tomar una buena
decisión, basada en el conocimiento de las vulnerabilidades, las amenazas, los impactos y las
probabilidades.

En el camino hacia la implementación de un cambio fundamental en la forma que construimos


software, primero debemos aceptar que la seguridad del software no es software de seguridad. Este
es un punto sutil a menudo perdido por los desarrolladores, que tienden a centrarse en la
funcionalidad.

Obviamente, existen funciones de seguridad en el mundo, y la mayoría del software moderno


incluye funciones de seguridad, pero agregar estas características a nuestro programa no presenta
una solución completa al problema de seguridad. La seguridad del software es un problema de todo
el sistema que tiene en cuenta tanto los mecanismos de seguridad (como control de acceso) y diseño
para la seguridad (como un diseño robusto que dificulte los ataques de software).

Dicho de otra manera, la seguridad es una propiedad emergente de un sistema de software. Es más
probable que surja un problema de seguridad debido a un problema en la parte estándar de un
sistema que en alguna característica de seguridad dada. Esta es una razón importante por la cual la
seguridad del software debe ser parte de un enfoque de ciclo de vida completo.

Conclusiones

Entendiendo el desarrollo seguro como el uso y ejecución de buenas prácticas en torno a la


protección de aplicaciones y software en todas las etapas de su ciclo de vida, desde el diseño,
desarrollo y producción hasta su posterior entrega, es una disciplina inherente y necesaria para
poder brindar productos y servicios confiables, además de minimizar costos gracias a la detección
temprana de fallas durante la construcción.

De la manera en que se mencionó, existen buenas prácticas que los desarrolladores están
empezando a adoptar en la búsqueda de implementar procesos de desarrollo que garanticen un
software con más seguridad. La seguridad del software es un campo de estudio muy amplio y que
debe empezar a cobrar mucha más relevancia.
Referencias
 JustCodeIt. (4 de Marzo de 2022). ¿Qué es el desarrollo seguro de aplicaciones? Obtenido
de justcodeit.io: https://justcodeit.io/que-es-el-desarrollo-seguro-de-aplicaciones/

 McGraw, G. (2006). Software Security - Building Security In. Addison-Wesley


Professional.

También podría gustarte