Está en la página 1de 7

Confiabilidad y seguridad

Conforme los sistemas de cmputo se insertan profundamente en las vidas


empresariales y personales, se incrementan los problemas que derivan de las
fallas del sistema y del software. Una falla del software del servidor en una
empresa de comercio electrnico podra conducir a dicha compaa hacia una
gran prdida de ingresos y, posiblemente, tambin de clientes. Un error de
software en un sistema de control embebido en un automvil provocara costosas
devoluciones de ese modelo por reparacin y, en los peores casos, sera un factor
que contribuya a los accidentes. La infeccin de la compaa de las PC con
malware requiere costosas operaciones de limpieza para solventar el problema y
quiz d como resultado la prdida o el dao de informacin sensible.
Puesto que los sistemas intensivos de software son tan importantes para los
gobiernos, las compaas y los individuos, es esencial que este tipo de software
sea digno de confianza. El software debe estar disponible cuando se requiera y
ejecutarse correctamente y sin efectos colaterales indeseables, como la
circulacin de informacin no autorizada. El trmino confiabilidad fue propuesto
por Laprie (1995) para cubrir los atributos relacionados con sistemas de
disponibilidad, fiabilidad, proteccin y seguridad.
La confiabilidad de los sistemas es ahora usualmente ms importante que su
funcionalidad detallada por las siguientes razones:
1. Las fallas del sistema afectan a un gran nmero de individuos. Muchos
sistemas incluyen funcionalidad que se usa rara vez. Si esta funcionalidad
se retirara del sistema, tan solo un nmero menor de usuarios resultaran
afectados. Las fallas del sistema, que afectan la disponibilidad de un
sistema, gravitaran potencialmente a todos los usuarios del sistema. La
falla significara que es imposible continuar con la normalidad del negocio.
2. Los usuarios rechazan a menudo los sistemas que son poco fiables,
carecen de protecciones o son inseguros. Si los usuarios descubren que un
sistema es poco fiable o inseguro, lo rechazaran. Ms aun, ellos tambin
pueden negarse a adquirir o usar otros productos de la compaa que
desarrollo el sistema que no es fiable, porque consideraran que dichos
productos tienen la misma probabilidad de no ser fiables o seguros.
3. Los costos por las fallas del sistema suelen ser enormes. Para ciertas
aplicaciones, como un sistema de control de reactor o un sistema de
navegacin de aeronaves, el costo por la falla del sistema es una orden de
magnitud mayor que el costo del sistema de control.

4. Los sistemas no confiables pueden causar perdida de informacin. Los


datos son muy costosos de recolectar y mantener; por lo general, valen
mucho ms que el sistema de cmputo donde se procesan. El costo por
recuperar datos perdidos o contaminados generalmente es muy alto.
El software es siempre un sistema ms amplio. Se ejecuta en un entorno
operacional que incluye el hardware donde se produce el software, en los usuarios
de dicho software y los procesos de la organizacin o empresa en que se utiliza el
software. Por lo tanto, al disear un sistema confiable se debe considerar:
1. Falla del hardware. El hardware del sistema puede fallar por errores en su
diseo, componentes que se averan por errores de fabricacin o porque
los componentes llegaron al final de su vida operativa.
2. Falla en el desarrollo del software. El software del sistema puede fallar
debido a errores en su especificacin, diseo o implementacin.
3. Falla de operacin. Los usuarios fallan al usar o ejecutar el sistema
correctamente. Conforme el hardware y el software se vuelven ms
confiables, las fallas en la operacin son ahora, quiz, la principal causa
individual de fallas del sistema.
Dichas fallas pueden estar interrelacionadas. Un componente de hardware que
falla significara que los operadores del sistema tengan que lidiar con una situacin
inesperada y una carga de trabajo adicional, que los pone bajo estrs; as, las
personas cometen errores con frecuencia. Esto lleva a provocar que falle el
software, lo que genera ms trabajo para los operadores, incluso ms estrs, entre
otras contrariedades.
Como resultado, es importante sobre todo que los diseadores de sistemas
confiables con software intensivo adquieran una perspectiva holstica de los
sistemas, en vez de enfocarse en un solo aspecto del sistema, como su software o
hardware. Si estos ltimos, adems de los procesos operacionales se disean por
separado, sin considerar las debilidades potenciales de otras partes del sistema,
entonces es muy probable que ocurran errores en las interfaces entre las
diferentes partes del sistema.

Propiedades de confiabilidad
Todos estamos familiarizados con el problema de la falla de los sistemas de
cmputo. Por razones que no son evidentes, en ocasiones las computadoras
fallan o se descomponen en alguna forma. Los programas que operan en estas
computadoras quiz no operen como se espera y, en ocasiones, contaminan los

datos que administra el sistema. Uno aprende a vivir con tales fallas, aunque
pocos confan por completo en las computadoras que usan normalmente.
La confiabilidad de un sistema de cmputo es una prioridad del sistema que refleja
su fiabilidad. Aqu, esta ltima significa en esencia el grado de confianza que un
usuario tiene que el sistema ejecutara como se espera, y que el sistema no
fallara en su uso normal. No es significativo expresar numricamente la
confiabilidad. En vez de ello, se usan trminos relativos como no confiables, muy
confiables y ultraconfiables, para reflejar los grados de confianza que uno espera
de un sistema.

Dimensiones de la confiabilidad

1. Disponibilidad: de manera informal, la disponibilidad de un sistema es la


probabilidad de que en un momento dado este funcionara, ejecutara y
ofrecer servicios tiles a los usuarios.
2. Fiabilidad: de manera informa, la fiabilidad de un sistema es la
probabilidad, durante un tiempo determinado, de que el sistema brindara
correctamente servicios como espera el usuario.
3. Proteccin: de modo no convencional, la proteccin de un sistema es un
juicio de cuan probable es que el sistema causara daos a las personas o
su ambiente.

4. Seguridad: informalmente, la seguridad de un sistema es un juicio de cuan


probable es que el sistema pueda resistir intrusiones accidentales o
deliberadas.

Adems de estas cuatro propiedades bsicas de confiabilidad, tambin se pueden


considerar las siguientes:
1. Reparabilidad: el sistema debe repararse rpidamente.
2. Mantenibilidad: es el software que econmicamente se adapta para
nuevos requerimientos, evita que los cambios nuevos provoquen algn
error.
3. Supervivencia: habilidad de un sistema para continuar entregando servicio
en tanto est bajo ataque y mientras que, potencialmente, parte del sistema
se deshabilita.
4. Tolerancia para el error: refleja la medida en que el sistema se dise de
modo que se eviten y toleren los errores de entrada de usuario.
Si un sistema se infecta con un virus, entonces no se estara seguro de su
fiabilidad o su proteccin, dado que el virus podra cambiar su comportamiento.
Por lo tanto, para desarrollar software confiable, es necesario garantizar que:
1. Se evite la entrada de errores accidentales en el sistema durante la
especificacin y el desarrollo del software.
2. Se diseen procesos de verificacin y validacin que sean afectivos en el
descubrimiento de errores residuales que afecten la confiabilidad del
sistema.
3. Se desarrollen mecanismos de proteccin contra ataques externos que
comprometan la disponibilidad o la seguridad del sistema.
4. Se consideren correctamente el sistema utilizado y el software de apoyo
para su entorno operacional.
Adems, conviene suponer que el software por lo general no es perfecto y que
pueden ocurrirle fallas. Por consiguiente, el software debe incluir mecanismos de
recuperacin que hagan posible la restauracin del servicio normal del sistema tan
rpido como sea posible.
La necesidad para tolerar fallas significa que los sistemas confiables deben incluir
un cdigo redundante que los ayude a monitorizarse a s mismos, detectar
estados errneos y recuperarse de las fallas en el desarrollo antes que ocurran
fallas en la operacin. Ello afecta el rendimiento de los sistemas, pues se requiere
verificacin adicional cada vez que se ejecuta el sistema. Por consiguiente, los

diseadores comnmente deben negociar entre rendimiento y confiabilidad. Tal


vez se necesite dejar las comprobaciones del sistema porque estas lo ralentizan.
Sin embargo, aqu la consecuencia del riesgo es que ocurran algunas fallas en la
operacin a causa de que no se detect el error.
Debido a costos del diseo, implementacin y validacin adicionales, se
incrementa la confiabilidad de un sistema al aumentar significativamente los
costos de desarrollo. En particular, los costos de validacin son altos para
sistemas que deben ser ultraconfiables, como los sistemas de control crticos para
la proteccin. Adems de validar que el sistema cumpla con sus requerimientos, el
proceso de validacin debera ser probado por un regulador externo para que el
sistema sea seguro.

Terminologa de fiabilidad
Termino
Error o equivocacin del humano

Descripcin
Comportamiento humano que resulta
en la introduccin de fallas de
desarrollo en un sistema.
Falla en el desarrollo del sistema
La falla en el desarrollo es la inclusin
del cdigo.
Error del sistema
Ejecucin de cdigo defectuoso.
Cada del sistema
Un evento que ocurre en algn punto
del tiempo, cuando el sistema no
entrega un servicio como espera su
usuario.
La distincin entre fallas en el desarrollo, errores y cadas, ayuda a identificar tres
enfoques complementarios usados para mejorar la fiabilidad de un sistema:
1. Prevencin de fallas de desarrollo: se usan tcnicas de desarrollo que
minimizan la posibilidad de los errores humanos y/o captan las
equivocaciones antes de que resulten en fallas de desarrollo del sistema.
2. Deteccin y eliminacin de fallas en el desarrollo: el uso de tcnicas de
verificacin y validacin que incrementan las oportunidades de que se
detecten y eliminen las fallas en el desarrollo antes que se use el sistema.
3. Tolerancia a fallas en el desarrollo: se refiere a las tcnicas que aseguran
que las fallas en el desarrollo de un sistema no deriven en errores del
sistema o que los errores del sistema no deriven en cadas del sistema.

Terminologa de seguridad
Trmino
Accidente (o contratiempo)
Peligro
Dao
Severidad del peligro

Probabilidad del peligro


Riesgo

Definicin
Evento no planeado o secuencia de
eventos que derivan un dao.
Condicin con el potencial para causar
o contribuir a un accidente.
Una medida de la perdida que resulta
de un contratiempo.
Una valoracin del peor dao posible
que resultara de un peligro en
particular.
La probabilidad de que ocurran eventos
que causen peligro.
Esta es una medida de probabilidad de
que el sistema causara un accidente.

La clave para garantizar la seguridad consiste en cerciorarse de que no ocurrirn


accidentes o de que sern mnimas las consecuencias de un accidente. Esto se
logra mediante tres formas complementarias:
1. Evitar el peligro: el sistema est diseado de modo que se eviten los
riesgos.
2. Detectar y eliminar el peligro: el sistema se disea de modo que los
peligros se detecten y eliminen antes de que ocasionen un accidente.
3. Limitar el dao: el sistema puede incluir caractersticas de proteccin que
minimicen el dao que resulte de un accidente.
Seguridad
Es un atributo del sistema que refleja la habilidad de este para protegerse as
mismo de ataques externos, que podran ser accidentales o deliberados. Estos
ataques externos son posibles puesto que la mayora de las computadoras de
propsito general ahora estn en red y, en consecuencia, son accesibles a
personas externas. Ejemplos de ataques pueden ser la instalacin de virus y
caballos de Troya, el uso sin autorizacin de servicios del sistema o la
modificacin no aprobada de un sistema o de sus datos. Si realmente se requiere
un sistema seguro, es mejor no conectarlo a internet. Siendo as, sus problemas
de seguridad estarn limitados a garantizar que usuarios autorizados no abusen
del sistema.

Terminologa de seguridad
Trmino
Activo

Exposicin

Vulnerabilidad

Ataque

Amenaza
Control

Definicin
Algo de valor que debe protegerse.
Sera el sistema de software en si o los
datos usados por dicho sistema.
Posible prdida o dao a un sistema de
cmputo. Esto sera la prdida o el
dao a los datos, o bien, una prdida
de tiempo o esfuerzo si es necesaria la
recuperacin despus de una violacin
a la seguridad.
Una debilidad en un sistema basado en
computadora que puede aprovecharse
para causar prdida o dao.
Aprovechamiento de una vulnerabilidad
del sistema. Por lo general es de afuera
del sistema y es un intento deliberado
por causar cierto dao.
Circunstancias que tienen potencial
para causar perdida o dao.
Medida de proteccin que reduce la
vulnerabilidad de un sistema.

Bibliografa
Sommerville, I. (2005). Ingeniera del Software. Madrid: PEARSON EDUCACIN.
S.A. 9na edicin

También podría gustarte