Académique Documents
Professionnel Documents
Culture Documents
INGENIERIA DE SOFTWARE
4 UNIDAD
SEGRIDAD DE SOFTWARE
PROFESOR(A):
LETICIA TREJO GARCIA
Seguridad de Software
Actividad enfocada en la identificacin y evolucin de los peligros potenciales
que puedan afectar al software y al sistema en e que se ejecuta.
La seguridad del software es una actividad de aseguramiento de la calidad del
software que se enfoca en la identificacin y evaluacin de los peligros
potenciales que pueden afectar negativamente al software y provocar una falla
de todo el sistema .
Si los peligros se pueden identificar temprano en el proceso de software, las
caractersticas de diseo de software se pueden especificar de modo que
eliminaran o controlaran los peligros potenciales.
La seguridad en proyectos software ha sido un factor clave desde el inicio de la
ingeniera del software.
Se trata de un aspecto del proyecto que tiene que tenerse en cuenta y
planificarse desde la fase de diseo, y que afectar a lo largo de todo el ciclo
de vida del proyecto.
Seguridad en el diseo
Muchas de las vulnerabilidades encontradas en aplicaciones tuvieron su causa
en errores de diseo.
Reduccin de Superficie de ataque
Criterio del menor privilegio
Fallar de manera segura
Criterio de defensa en profundidad
Diseo seguro de mensajes de error
Diseo seguro de autenticacin
Separacin de privilegios
Interaccin amigable con Firewalls e IDS's.
Administracin segura informacin Sensible
Diseo de Auditora y Logging
Anlisis de riesgo
Seguridad en la codificacin
La falta de controles adecuados en la codificacin, muchas veces deriva en
vulnerabilidades que pueden comprometer a la aplicacin o a los datos de la
misma
Los tipos de vulnerabilidades ms habituales son:
- Authentication Bypass
- Information Disclosure
- Escalamiento de privilegios
- SQL Injections
- Denegacin de servicio
- Directory Traversal
Seguridad en la implementacin
Si no se implementa la aplicacin de forma segura, se pueden echar por tierra
los esfuerzos de las etapas anteriores.
Hardening de software de base
- Servicios innecesarios
- Usuarios y contraseas default
- Configuracin de intrpretes
Proceso de implementacin
- Separacin de ambientes
Administracin de implementacin y mantenimiento
- Releases y Patches
- Firma de cdigo
Concepto de riesgos
Las vulnerabilidades son la piedra angular de la seguridad, puesto que
suponen el origen del que derivan numerosos fallos de seguridad. Una
vulnerabilidad en un programa informtico o software es simplemente un error,
5. Vector
A la forma que tiene el atacante de aprovechar la vulnerabilidad se le conoce
como vector de ataque. Un vector de ataque comn es el envo de
informacin especialmente manipulada a un puerto concreto del sistema. Otra
forma de conseguir aprovechar una vulnerabilidad es creando un fichero
manipulado que ser procesado por ese programa.
El anlisis de riesgos consistir, de forma muy resumida, en las
siguientes actividades:
Recopilacin de los recursos que deben ser protegidos.
Clasificacin de los actores del proyecto.
Recopilacin de requisitos legales y de negocio.
Construir una tabla en la que, para cada riesgo, se estime el costo que tiene
por incidente, y a partir de una estimacin nos permitiera decidir sobre la
estrategia que hay que implantar.
Recomendaciones para mitigar los riesgos asociados a cualquier
proyecto
Asignar el mnimo privilegio posible a cada actor en el sistema.
Simplicidad. La seguridad por ofuscacin no da buenos resultados.
Diseo abierto. Siempre tendremos alternativas para mejorar o asegurar ms
el sistema.
Seguridad por defecto. El sistema debe ser el mximo de seguro por defecto,
si tiene que ser posible relajar las restricciones.
Fallada segura. Si el sistema falla o puede fallar, evitar que lo haga
quedndose en una modalidad insegura.
Minimizar el uso de recursos compartidos.
Trabajar a favor de la usabilidad del proyecto redunda en un mejor uso de l y
en menores probabilidades de fallos de seguridad por un mal uso del mismo.
- Encriptacin
- Funciones de compendio de mensajes
- Firmas digitales
- Certificados digitales
Encriptacin
Se refiere al proceso de transformar datos o texto para ser ilegible. A
continuacin se detalla el proceso de utilizacin
- La computadora emisora encripta el texto
-
Firmas digitales
-