Post on 25-Jun-2015
Fiabilidad del Software
No hay duda que la fiabilidad de un programa decomputadora es un elemento importante de sucalidad general.
Si un programa falla frecuentemente en sufuncionamiento, no importa si el resto de losfactores de calidad son aceptables.
La fiabilidad del software, a diferencia de otrosfactores de calidad, puede ser medida oestimada mediante datos históricos o dedesarrollo.
La fiabilidad del software se define en términosestadísticos como la probabilidad de operaciónlibre de fallos de un programa de computadoraes un entorno determinado y durante un tiempoespecífico
Siempre que se habla de fiabilidad, surge unapregunta fundamental
¿ qué se entiende por el término fallo ?
El fallo es cualquier falla de concordancia con losrequisitos del software.
Incluso en esta definición existen grados.Los fallos pueden ser simplemente desconcertantes o ser catastróficos.Puede que un fallo sea corregido en segundos mientras que otro lleve semanas o incluso meses
Para complicar más las cosas, la corrección de un fallo puede llevar a la introducción de otros errores que, finalmente, lleven a más fallos.
En el hardware, son más probables los fallosdebidos al desgaste físico que los fallos relativosal diseño. Desgraciadamente para el software loque ocurre es lo contrario. De hecho todos losfallos del software, se producen por problemasde diseño o de implementación; el desajuste noentra en este panorama.
Modelos de fiabilidad del software
Para modelizar la fiabilidad del software, sedeben considerar primero los principalesfactores que le afecten :
• Introducción de fallos• Eliminación de fallos
• Entorno
Los modelos de fiabilidad del software entran en dos grandes
categorías :
1. Modelos que predicen la fiabilidad como unafunción cronológica del tiempo.
2. Modelos que predicen la fiabilidad como una función del tiempo de procesamiento transcurrido.
Se han propuesto modelos estocásticos mucho más
sofisticados para la fiabilidad del software:
• Validez predictiva
• Capacidad
• Calidad de suposiciones
• Aplicabilidad
• Simplicidad
• Seguridad del software
Como parte de la seguridad del software, sepuede dirigir un proceso de análisis ymodelización. Inicialmente, se identifican losriesgos y se clasifican por su importancia y sugrado de riesgo.
Cuando se han identificado estos riesgos delsistema, se utilizan técnicas de análisis paraasignar su gravedad y su probabilidad deocurrencia.
Para que se efectivo, se tiene que analizar elsoftware en el contexto del sistema completo.
Cuando se han identificado y analizado losriesgos, se pueden especificar requisitos delsoftware relacionados con la seguridad. Laespeficación puede contener una lista desucesos no deseables y la respuestas del sistemadeseadas a dichos sucesos.
Seguridad del Software“LA SEGURIDAD INFORMATICA ES UN CAMINO,
NO UN DESTINO”
• Objetivo: mantener los sistemas generando resultados.
• Si los sistemas no se encuentran funcionando entonces su costo se convierte en perdidas financieras (en el menos grave de los casos).
• El resultado generado por un sistema es la INFORMACION QUE ALMACENA O PRODUCE.
Las computadoras y las redes son el principalcampo de batalla.
La seguridad informática NO es un problema
exclusivamente de las computadoras.
Se debe de proteger aquello que tenga un valorpara alguien.
¿por qué?• Por $$$, el dueño de los sistemas tiene dinero
INVERTIDO en algo que le trae un beneficio o ventaja.
• El Cracking a otros sistemas desde cualquier punto de vista es ilegal. Estamos defendiéndonos ante el crimen. (aunque no haya leyes)
• Por CALIDAD, hay que acostumbrarnos a hacer las cosas bien, aunque cueste más esfuerzo.
ROLES ROLES INVOLUCRADOS INVOLUCRADOS EN SEGURIDADEN SEGURIDAD
Usuarios comunes• Los usuarios se acostumbran a usar la
tecnología sin saber como funciona o de los riesgos que pueden correr.
• Son las principales víctimas.• También son el punto de entrada de muchos
de los problemas crónicos.• “El eslabón más débil” en la cadena de
seguridad.• Social Engineering Specialist: Because There is no Security Patch for Humans
Creando Software• El software moderno es muy complejo y tiene
una alta probabilidad de contener vulnerabilidades de seguridad.
• Un mal proceso de desarrollo genera software de mala calidad. “Prefieren que salga mal a que salga tarde”.
• Usualmente no se enseña a incorporar requisitos ni protocolos de seguridad en los productos de SW.