Vous êtes sur la page 1sur 22

ndice

Seguridad en Ingeniera de Software........................................................................3


Seguridad en ingeniera de software.........................................................................4
4.1 Seguridad de software.........................................................................................5
Tipos de software de seguridad.............................................................................7
4.1 Seguridad de software.........................................................................................8
Problemtica actual de la seguridad en el software..............................................8
Fallas para implementar software seguro..............................................................8
Fallas para implementar seguridad en el software................................................9
Objetivos para un software seguro........................................................................9
4.2 Seguridad en el ciclo de desarrollo de software................................................11
Seguridad en la Toma de requisitos:....................................................................11
Seguridad en el Diseo:.......................................................................................12
Seguridad en la Codificacin:..............................................................................12
Seguridad en las Pruebas:...................................................................................13
Seguridad en el Despliegue:................................................................................13
4.3 Confiabilidad del software..................................................................................14
4.4 Ingeniera de seguridad.....................................................................................21
Principios..............................................................................................................22
Diseo del edificio................................................................................................22
Capacitacin.........................................................................................................22
Empleo.................................................................................................................22
Bibliografa...............................................................................................................22

Seguridad en Ingeniera de Software


La seguridad de un sistema de software es un concepto multi-dimensional. Las
mltiples dimensiones de la seguridad
Son:

Autenticacin: el proceso de verificar la identidad de una entidad.

Control de acceso: el proceso de regular las clases de acceso que una


entidad tiene sobre los recursos.

Auditoria: un registro cronolgico de los eventos relevantes a la seguridad


de un sistema. Este registro puede luego examinarse para reconstruir un
escenario en particular.

Confidencialidad: la propiedad de que cierta informacin no est disponible


a ciertas entidades.

Integridad: la propiedad de que la informacin no sea modificada en el


trayecto fuente-destino.

Disponibilidad: la propiedad de que el sistema sea accesible a las entidades


autorizadas.

No repudio: la propiedad que ubica la confianza respecto al


desenvolvimiento de una entidad en una comunicacin.

La seguridad puede tener diferentes significados en distintos escenarios. En


general, cuando se habla de seguridad implica referirse a ms de una de las
dimensiones mencionadas anteriormente.

Por ejemplo:


Seguridad en correo electrnico: involucra confidencialidad, no repudio e
integridad.

Seguridad en compras online: implica autentificacin,


confidencialidad, integridad y no repudio.

Bajo este punto de vista, se define un ataque a la seguridad como un intento de


afectar en forma negativa una o ms de las dimensiones del concepto de
seguridad. Una vez definido el concepto de seguridad, se pueden establecer
objetivos bsicos para un software seguro:

Independencia de la seguridad: la seguridad debe construirse y utilizarse de


manera independiente de la aplicacin.

Independencia de la aplicacin: la aplicacin no debe depender del sistema


de seguridad usado, debe ser desarrollada y mantenida en forma separada.

Uniformidad: la seguridad debe aplicarse de manera correcta y consistente


a travs de toda la aplicacin y del proceso que desarrolla la misma.

Modularidad: mantener la seguridad separada. Entre otras ventajas, esto


nos brindar mayor flexibilidad y menor costo de mantenimiento.

Ambiente seguro: se debe partir de un entorno confiable. Es decir, las


herramientas de desarrollo y lenguajes de programacin no deben contener
agujeros de seguridad.

Seguridad desde el comienzo: la seguridad debe ser considerada como un


requerimiento desde el inicio del diseo

Seguridad en ingeniera de software


La seguridad de software aplica los principios de la seguridad de informaci
n al desarrollo de software. Information security (La seguridad de informacin)
se refiere a la seguridad de informacin comnmente

como la proteccin de sistemas de informacin contra el acceso desautoriza


do o la modificacin de informacin, si est en una fase de almacenamiento,
procesamiento o trnsito.

Tambin la protege contra la


negacin de servicios a usuarios desautorizados y la provisin de servicio a
usuarios desautorizados, incluyendo las medidas necesarias para detectar,
documentar, y contrariar tales amenazas.

Muchas preguntas con respecto a la seguridad, son relacionadas al ciclo vital de


software. En particular, la seguridad del cdigo y el proceso de software; deben
de ser considerados durante la fase del diseo y desarrollo.
Adems, la seguridad debe de ser preservada durante la operacin y el
mantenimiento para asegurar la integridad de una parte (pedazo) de software.

Una gran cantidad de seguridad usada en los Sistemas de Redes de hoy, n


os pueden engaar en la
creencia que nuestros trabajos como diseadores de sistema de seguridad y
a han sido realizados. Sin embargo, las cadenas y computadoras
son increblemente inseguras. La falta de seguridad se origina en
dos problemas fundamentales: Los sistemas que son tericamente seguros p
ueden ser inseguros en la
prctica, Adems los sistemas son cada vez ms complejos. La complejidad
proporciona ms oportunidades para los ataques. Es mucho ms fcil probar que
un sistema es inseguro que demostrar que
uno es seguro probar la inseguridad, simplemente una toma ventaja de ciert
as vulnerabilidades del sistema.

4.1 Seguridad de software

El concepto de la seguridad en los sistemas de software es un rea de


investigacin que ha pasado a ser vital dentro de la Ingeniera de Software. Con el

crecimiento de Internet, y otras aplicaciones sobre redes, como el comercio


electrnico, correo electrnico, etc., la posibilidad de ataques se ha incrementado
notablemente, como tambin lo han hecho las consecuencias negativas de estos
ataques.

En la actualidad prcticamente todo sistema debe incorporar cuestiones de


seguridad para defenderse de ataques maliciosos. El desarrollador ya no slo
debe concentrarse nicamente en los usuarios y sus requerimientos, sino tambin
en los posibles atacantes.

Esto ha motivado cambios importantes en el proceso de diseo y desarrollo de


software para incorporar a la seguridad dentro de los requerimientos crticos del
sistema.

Estos cambios son los primeros pasos en la concientizacin de los ingenieros de


software acerca de la importancia de obtener un software seguro. Como todo gran
cambio, no se logra de un da para otro, sino que es un proceso gradual que
requiere tiempo y maduracin. Todava la Ingeniera de Software no ha dado una
respuesta eficaz, coherente y aplicable que satisfaga plenamente a la comunidad
informtica, sino que las aproximaciones actuales estn plagadas de fallas y
debilidades fruto de que todava es un proceso que se encuentra en su infancia.

Siempre que utilicemos un sistema informtico, sin importar cul sea la razn, es
importante que tengamos como prioridad la instalacin de un software de
seguridad, teniendo en cuenta la cantidad de riesgos que corremos con un
sistema informtico sin proteccin.

Justamente por la importancia acerca de lo que es un software de seguridad para


cualquier usuario, la mayora de los sistemas operativos con los que podemos
trabajar suelen traer incorporado en ellos un software de seguridad bsico, pero es
importante que sepamos ante todo qu es un software de seguridad y la diferencia
entre ste software y uno que es especialmente desarrollado para prevenir
problemas en el funcionamiento del sistema, es que el mismo, simplemente nos
advierte cuando estamos frente a algn riesgo.

Tipos de software de seguridad


Sin duda, el tipo de software de seguridad ms conocido son los programas
antivirus, que se encargan de detectar y eliminar virus informticos. Un buen
programa antivirus dispone de un archivo de firmas de virus que se actualiza
automticamente y detecta virus nuevos. Este tipo de actualizacin se realiza
peridicamente, varias veces al da.

El software de seguridad suele venderse en las denominadas suites. Son


paquetes compuestos de:

Programa antivirus

Cortafuegos

Filtro antispam

Software para filtrar contenidos

Software contra publicidad no deseada

Control de sitios web

Actualmente, la seguridad es un concepto que todo sistema debe incorporar. La


Ingeniera del Software todava no es capaz de brindar un mecanismo
para implementar adecuadamente la seguridad: los lenguajes tienen primitivas
inseguras, el cdigo relativo a la seguridad es siempre un cdigo confuso y
complejo debido a tcnicas de abstraccin insuficientes, etc.

4.1 Seguridad de software


El concepto de la seguridad en los sistemas de software es un rea de
investigacin que ha pasado a ser vital dentro de la Ingeniera de Software. Con el
crecimiento de Internet, y otras aplicaciones sobre redes, como el comercio
electrnico, correo electrnico, etc., la posibilidad de ataques se ha incrementado
notablemente, como tambin lo han hecho las consecuencias negativas de estos
ataques.

En la actualidad prcticamente todo sistema debe incorporar cuestiones de


seguridad para defenderse de ataques maliciosos. El desarrollador ya no slo
debe concentrarse nicamente en los usuarios y sus requerimientos, sino tambin
en los posibles atacantes. Esto ha motivado cambios importantes en el proceso de
diseo y desarrollo de software para incorporar a la seguridad dentro de los
requerimientos crticos del sistema.

Problemtica actual de la seguridad en el software


Los puntos dbiles ms importantes de la Ingeniera de Software con respecto a la
seguridad pueden ser clasificados en dos grandes categoras:
Fallas para implementar software seguro.
Fallas para implementar seguridad en el software.

Fallas para implementar software seguro


Lamentablemente, la mayora de las herramientas que tiene disponible un
desarrollador de software sufren de fallas propias de seguridad. Una de las

debilidades ms trascendentes al momento de implementar software seguro


surge del estado de los lenguajes de programacin desde el punto de vista de la
seguridad. Son escasos los lenguajes que proveen primitivas seguras que
ayuden al programador a escribir un mejor cdigo.
Dos de los lenguajes de programacin ms usados en la actualidad, C y C++,
presentan graves problemas de seguridad. Esto se debe a que al utilizar muchos
de sus servicios provistos por sus libreras estndar se introducen fallas de
seguridad que pasarn inadvertidas al programador debido a que ste las
considera libre de errores.

Las razones por las cuales estas fallas internas permanecen en la actualidad son
varias: mal entendimiento de los protocolos de seguridad, una visin ingenua
respecto a lo que un sistema debiera considerar como seguro, aproximaciones no
serias a la seguridad como corregir luego o no se van a dar cuenta, o
directamente desconocimiento, ya que lamentablemente estas fallas no son
conocidas universalmente, y existen pocas fuentes de informacin para escribir
cdigo seguro.

Fallas para implementar seguridad en el software


En la actualidad, el desarrollador de software que quiera incorporar seguridad a su
sistema se enfrentar con la difcil realidad de las tcnicas de programacin
tradicionales, y tambin, con una Ingeniera de Software que recin est
aprendiendo sobre la seguridad. Tpicamente la seguridad es considerada como
un requerimiento no funcional. Luego, debido a los problemas de planificacin y
presupuesto, la seguridad slo es tenida en cuenta una vez que los requerimientos
funcionales son obtenidos.

Objetivos para un software seguro


En pos de conseguir un software seguro, se debe dejar claro qu se entiende por
seguridad, para as luego poder establecer requisitos mnimos que debe satisfacer
un sistema que pretenda ser considerado seguro. Como definicin del concepto de
seguridad en software, se adoptar en este trabajo la definicin que propone
Doshi Shreyas

Software es un concepto multi-dimensional. Las mltiples dimensiones de la


seguridad son:
Autenticacin: el proceso de verificar la identidad de una entidad.
Control de acceso: el proceso de regular las clases de acceso que una entidad
tiene sobre los recursos.
Auditoria: un registro cronolgico de los eventos relevantes a la seguridad de un
sistema. Este registro puede luego examinarse para reconstruir un escenario en
particular.
Confidencialidad: la propiedad de que cierta informacin no est disponible a
ciertas entidades.
Integridad: la propiedad de que la informacin no sea modificada en el trayecto
fuente-destino.
Disponibilidad: la propiedad de que el sistema sea accesible a las entidades
autorizadas.
No repudio: la propiedad que ubica la confianza respecto al desenvolvimiento de
una entidad en una comunicacin.
La seguridad puede tener diferentes significados en distintos escenarios. En
general, cuando se habla de seguridad implica referirse a ms de una de las
dimensiones mencionadas anteriormente. Por ejemplo:
Seguridad en correo electrnico: involucra confidencialidad, no repudio e
integridad.
Seguridad en compras online: implica autentificacin, confidencialidad, integridad y
no repudio.

Una vez definido el concepto de seguridad, se pueden establecer objetivos


bsicos para un software seguro:

Independencia de la seguridad: la seguridad debe construirse y utilizarse de


manera independiente de la aplicacin.
Independencia de la aplicacin: la aplicacin no debe depender del sistema de
seguridad usado, debe ser desarrollada y mantenida en forma separada.

Uniformidad: la seguridad debe aplicarse de manera correcta y consistente a


travs de toda la aplicacin y del proceso que desarrolla la misma.
Modularidad: mantener la seguridad separada. Entre otras ventajas, esto nos
brindar mayor flexibilidad y menor costo de mantenimiento.
Ambiente seguro: se debe partir de un entorno confiable. Es decir, las
herramientas de desarrollo y lenguajes de programacin no deben contener
agujeros de seguridad.
Seguridad desde el comienzo: la seguridad debe ser considerada como un
requerimiento desde el inicio del diseo.

4.2 Seguridad en el ciclo de desarrollo de software


La Seguridad en el desarrollo del ciclo de software incorpora ciertas tareas bsicas
que permiten desarrollar software de calidad desde el propio inicio del proyecto,
contemplando los servicios de seguridad como confidencialidad, integridad y
disponibilidad. Se recomienda seguir los distintos estndares existentes como
la ISO 27034 o la NISTIR 7628. Ya que son una buena base para iniciar cualquier
proyecto que quiera contemplar la seguridad dentro de su desarrollo.
Aunque es un tema del que se puede abrir una serie entera de post explicando
cada uno de los conceptos, hoy vamos a dar una breve visin sobre cada una de
las nuevas actividades que se incluyen dentro de las fases del ciclo de vida del
desarrollo de software. Estas fases van a ser: Toma de requisitos, Diseo,
Codificacin, Pruebas y Despliegue:

Seguridad en la Toma de requisitos:


Requisitos de seguridad
En esta fase se deben aadir a todos los requisitos del proyecto los propios
requisitos de seguridad que surjan, como pueden ser la gestin de password y
autenticacin, la gestin de roles, los requisitos de conocimientos del equipo, el
sistema de logs.
Todo ello no es parte directa del diseo funcional de la aplicacin, pero son
necesarios para evitar incidentes futuros.
Evaluacin de Riesgos

Se deben contemplar riesgos en esta fase como la cesin de datos a terceros, la


poltica de confidencialidad, los planes de recuperacin ante desastres o la
seguridad de los datos de los usuarios.

Seguridad en el Diseo:
Resolver los requerimientos de seguridad
Una vez identificados los requerimientos, durante esta fase, se debern disear
las medidas de actuacin para los requisitos de seguridad detectados
anteriormente. Por ejemplo se deber resolver casos como el de la poltica de
contraseas: se tendr que determinar si se prefieren contraseas largas y con
pocos cambios o si por el contrario se prefieren cortas y de una menor duracin.
Revisin del diseo y la arquitectura
Antes de implementar el diseo, se deben tener en cuenta los posibles gaps de
seguridad que puedan existir en la arquitectura o en el propio diseo, ya que si se
detectan en una fase posterior, el coste de solucionar estos problemas ser mucho
ms elevado.
En esta fase, el diseo debe tener una segunda revisin vista desde el prisma de
la seguridad en el que se traten temas como el cifrado de las comunicaciones, el
cifrado de los datos o el uso del cloud en caso de ser contemplado. Por ejemplo,
una aplicacin de clculo de nminas, puede subir toda la informacin de los
usuarios directamente a la nube, o puede subir nicamente el clculo de las
operaciones, dejando los datos privados y confidenciales en nuestro servidor local.
En esta fase se debe revisar todo este tipo de circunstancias y buscar la solucin
que mejor se adecue a nuestro caso.
Modelado de amenazas
Es la representacin estructurada de toda la informacin que afecta a la seguridad
de una aplicacin, buscando capturar, organizar y analizar esta informacin para
tomar decisiones informadas sobre los riesgos de seguridad en las aplicaciones.

Seguridad en la Codificacin:
Buenas prcticas
Todos los desarrolladores, en menor o mayor medida, suelen seguir unos patrones
propios al realizar cdigo. Lo que se busca en este punto es que el equipo de
desarrolladores siga una serie de medidas comunes, como
pueden ser el manual de cdigo de buenas prcticas del CERT o de OWASP o las
guas de safe code.

En este punto, se debe tener en cuenta que hay funciones de cdigo que se
consideran inseguras, en el siguiente enlace, podis ver alguna de las funciones
vaneadas por Microsoft y aunque ms antiguas, en un post publicado por Unixes.
Herramientas de revisin de cdigo
La revisin de cdigo es una tarea fundamental dentro del S-SDLC ya que nos
ayuda a detectar posibles fallos en el cdigo elaborado. Existen un montn de
herramientas con las que trabajar. Desde nuestra experiencia conocemos Fortify,
pero se puede encontrar un catlogo de herramientas que se adapten a sus
proyectos y lenguajes.

Seguridad en las Pruebas:


Evaluacin de vulnerabilidades
Ayuda a identificar rpidamente y a tomar medidas contra los puntos ms
vulnerables de nuestro software, detectando las vulnerabilidades crticas que
deben investigarse inmediatamente y los elementos informativos que presentan un
riesgo menor.
Existen proyectos como el de openVAS para realizar de manera automatizada
estas pruebas.
Fuzzing
Se conoce como Fuzzing a la tcnica de prueba de software que genera y enva
datos secuenciales o aleatorios a una aplicacin, con el objeto de detectar
defectos o vulnerabilidades existentes. Con esta tcnica se consigue ver las
excepciones que devuelven nuestro equipo y posibles problemas no
contemplados. Por ejemplo con esta tcnica se detectan algunos stackoverflow o
la reaccin de nuestro programa al recibir campos incorrectos como por ejemplo
un float en vez de un integer.
Existen proyectos que realizan este tipo de test, como el de JBroFuzz que aunque
actualmente est inactivo, se encuentra disponible para descargar.

Seguridad en el Despliegue:
Revisin de la configuracin del servidor
Antes de subir la aplicacin a produccin, hay que revisar que la configuracin sea
correcta a nivel de seguridad, evitando errores comunes como devolver ms
informacin de la debida en caso de error. Con esto queremos decir, que en
algunas ocasiones, debido a una mala configuracin de nuestra red, el atacante

puede conseguir informacin adicional que le ayude a preparar su ataque contra


nuestra aplicacin.
Revisin de la configuracin de la red
Antes de subir la aplicacin a produccin, hay que comprobar que la red que
vamos a utilizar sea segura. Por ejemplo, si vamos a colocar nuestra aplicacin en
una DMZ, hay que configurarla de manera correcta, si vamos a usar un servidor
en la nube, hay que configurar los patrones de conexin, para que no pueda
acceder cualquier persona que tenga acceso a la red.
Con todas estas acciones y realizando tareas de mejora continua, los fallos de
seguridad de las aplicaciones deberan verse reducidos antes de estar en un
entorno productivo.

4.3 Confiabilidad del software


Las organizaciones que desarrollan productos basados en software requieren de
prcticas efectivas que permitan mejorar la calidad del producto. La Ingeniera de
la Confiabilidad de Software es una prctica cuantitativa que puede ser
implementada en organizaciones de cualquier tamao bajo distintos modelos de
desarrollo.

Las organizaciones desarrolladoras de productos basados en software destinan


grandes cantidades de recursos para mejorar la calidad de sus productos. Una
parte de dichos recursos se utiliza para la adopcin de mejores prcticas. Sin
embargo, la dificultad de la adopcin de dichas prcticas no slo reside en el costo
y el tiempo requerido para institucionalizarlas, sino en cmo medir su impacto en
la calidad del software, as como demostrar el retorno de dicha inversin. El grupo
de Confiabilidad de Software y Sistemas (SoSYR) del Centro de Investigacin en
Matemticas A.C., lleva a cabo investigacin sobre prcticas industriales de bajo
costo, con un alto impacto en la calidad de los productos de software y que sean
aplicables a organizaciones de distintos tamaos.

En este artculo se introduce a la Ingeniera de la Confiabilidad de Software (ICS).


La ICS es una prctica de bajo costo, independiente del modelo de desarrollo y de
la plataforma tecnolgica que permite caracterizar y controlar de manera
cuantitativa la calidad del producto.

La calidad, las fallas y la confiabilidad de Software


La calidad es un atributo percibido por los usuarios o clientes de cualquier
producto o servicio. En el caso de productos basados en software, la percepcin
de la calidad est en funcin de las fallas que el cliente percibe del mismo durante
su operacin.

La confiabilidad es un atributo que mide el grado en que un producto opera sin


fallas bajo condiciones establecidas por un periodo de tiempo determinado. La
confiabilidad es un atributo cuantitativo que ha sido ampliamente analizado,
estudiado y usado en otras industrias para caracterizar la calidad de los productos
o servicios. En su concepcin ms general, la confiabilidad es un atributo que
mide el grado en que un producto opera sin fallas bajo condiciones establecidas
por un periodo de tiempo determinado.

Una falla es la manifestacin percibida por el cliente de que algo no funciona


correctamente e impacta su percepcin de la calidad. Un defecto es el problema
en el producto de software que genera una falla.

Qu es la Ingeniera de Confiabilidad de Software?


La ICS es una prctica que permite planear y guiar el proceso de la prueba del
software de manera cuantitativa. La ICS no es algo nuevo. Se origina en los aos
70 con los trabajos de J. D. Musa, A. Iannino, y K. Okumoto. Su efectividad ha
hecho que muchas empresas incorporen esta prctica en sus proyectos, tales
como AT&T, Alcatel, HP, IBM, Lockheed-Martin, Microsoft, Motorola, entre otras. El
impacto de dicha prctica se ha visto en la aprobacin de un estndar de la AIAA
(en 1993) as como sus correspondientes versiones en los estndares de IEEE.
Cabe mencionar que se han documento ms de 60 artculos reportando los
resultados de la aplicacin de la ICS en distintos proyectos.

Dos elementos caracterizan la ICS: (1) el uso esperado relativo de las


funcionalidades del sistema y (2) los requerimientos de calidad definidos por el
cliente, que incluyen la confiabilidad, la fecha de liberacin y costo del ciclo de vida
del proyecto.

El primer elemento (1) se centra en caracterizar de manera cuantitativa el uso


esperado del sistema mediante la definicin del llamado perfil de operacin del
sistema. Esta caracterizacin cuantitativa permite optimizar el uso de los recursos
en las funciones que tengan un mayor impacto y mayor uso esperado dentro
del sistema.

El perfil de operacin de un sistema es la caracterizacin cuantitativa del uso que


se espera de las funcionalidades principales del sistema. Por lo general se usan
probabilidades para cuantificar dicho uso esperado.

El segundo elemento (2) se refiere al enfoque al cliente mediante el


establecimiento de objetivos cuantitativos asociados a la calidad del producto
(representados con base a las fallas del producto). La satisfaccin de dichos
objetivos permite establecer un balance entre los costos del producto, as como la
satisfaccin de las necesidades del cliente.

Por qu usar la ICS?


La ICS es independiente de la tecnologa y de la plataforma de desarrollo. No
requiere ningn cambio en arquitectura, diseo, o cdigo, sino que puede sugerir
los cambios que seran tiles. Tambin, la ICS est altamente orientada al cliente y
est altamente correlacionada con los niveles 4 y 5 del Modelo Integrado de
Madurez de las Capacidades (CMM-I) del Instituto de Ingeniera de Software. Su
alta orientacin al cliente se debe a la naturaleza de la informacin requerida en el
proceso de la ICS, lo que implica tener un contacto frecuente y cercano con los
clientes. Esta interaccin mejora la satisfaccin del cliente y reduce riesgos de
manera similar a lo propuesto en los mtodos giles de desarrollo.

La alta correlacin con los niveles de madurez 4 y 5 de CMM-I se debe a que


dicha prctica satisface varios objetivos relacionados con la medicin para la
optimizacin del proceso de desarrollo. La ICS es una buena opcin para alcanzar
dicho objetivo. Comparado con las ventajas, el costo de aplicar la ICS es bajo de
acuerdo a la experiencia de John D. Musa. Hay un costo de inversin de no ms
de 3 das equivalentes del personal por persona en una organizacin, que incluye
un entrenamiento de dos das para cada uno y la planeacin con un nmero
mucho ms pequeo. Los gastos reflejados en el proyecto varan tpicamente a
partir 0.1 a 3.0 por ciento de costo total del proyecto. Cabe mencionar que el
componente ms grande del costo es el asociado al desarrollo del perfil de
operacin.

El proceso de la ingeniera de confiabilidad de software


El proceso de la ICS puede verse como un conjunto de actividades adicionales y
complementarias a las ya realizadas dentro de cualquier proceso de desarrollo.
Seis actividades definen el marco de trabajo de la ICS que son mostradas en la
Figura y descritas a continuacin.

1. Definir el Producto. Puede verse como un complemento del Anlisis de


Requerimientos y Diseo Arquitectnico. En esta actividad se define quines son
los clientes, usuarios, proveedores y otros sistemas relacionados.

2. Desarrollar el Perfil de Operacin. Se define el conjunto completo de


operaciones (i.e., tareas o funcionalidades lgicas principales del sistema) con su
correspondiente probabilidad de ocurrencia o uso esperado. En esta etapa, la
administracin de los recursos toma un nivel cuantitativo basado en la importancia
de cada operacin del sistema. La Tabla 1 muestra un ejemplo parcial de un perfil
de operacin para un producto para la navegacin en el Web.

Proceso de la ICS

Tabla 1. Ejemplo de un Perfil de Operacin

3. Definir la Confiabilidad Adecuada. Se define lo que se considera como falla


para el producto en desarrollo as como los medios para identificarla. Esta
definicin es crtica para el proceso y debe ser constante durante todo el ciclo de
vida. La Tabla muestra un ejemplo de clases de severidades de fallas y ejemplos
de cada tipo de falla.

Tabla 2. Clases de Severidades de Fallas

En la segunda parte de esta actividad se definen las medidas de referencia con la


que se cuantificarn las intensidades de falla, tales como el nmero de fallas por
tiempo o nmero de fallas por unidad natural. Las unidades naturales representan
la cantidad de proceso o trabajo realizado por el sistema (e.g., transacciones,
pginas impresas, llamadas a funciones, accesos, etctera).

En la tercera parte de la actividad se fijan las Intensidades de Falla Objetivo (IFO)


para cada sistema asociado al producto. Las IFOs representan la calidad del
producto en desarrollo y son definidas por el cliente.

En la cuarta parte se seleccionan las mejores estrategias de apoyo a la


confiabilidad de software que ayuden a alcanzar los IFOs respectivos al menor
costo. Las estrategias de apoyo a la confiabilidad de software son aquellas
actividades y mecanismos dentro del proceso de desarrollo que reducen las
intensidades de falla y afectan positivamente los costos y el tiempo de desarrollo.
Ejemplos de dichas estrategias incluyen mecanismos de tolerancia a fallos,
inspecciones, revisiones, distintos tipos de pruebas, etc.

La ICS proporciona pautas y cierta informacin cuantitativa para la determinacin


de la mezcla de estrategias. Sin embargo, los proyectos pueden mejorarse usando
la informacin que es particular a su ambiente y al dominio propio del producto.

4. Preparar las Pruebas. Se definen los casos de prueba y los mtodos de prueba
a partir de la informacin de los perfiles operacionales y las estrategias de apoyo a
la confiabilidad de software. Esta actividad puede integrarse con el proceso de
pruebas del modelo de desarrollo que se tenga. Lo importante en esta etapa es la
decisin de qu cosas se van a probar y qu datos se usaran en los casos de
prueba.

5. Ejecutar las Pruebas. Se asignan los tiempos para las pruebas entre los
sistemas, los tipos de prueba (i.e., caractersticas, carga y regresin) as como su
ejecucin.

6. Guiar las Pruebas. Se procesa la informacin obtenida en la ejecucin de las


pruebas para varios propsitos. El primero es monitorear el crecimiento de la
confiabilidad del sistema (o la reduccin de las intensidades de falla) mientras se
van reparando los defectos encontrados que generaron las fallas. Otro propsito
es el de poder determinar si es necesario seguir probando; finalmente, el tercero
es el de dirigir la fase del liberacin del producto. La Figura muestra una grfica
tpica usada para monitorear la reduccin de las intensidades de falla.

Figura 2. Grfica para controlar las actividades de Prueba.

Algo muy importante dentro del proceso de ICS es la recoleccin de datos de


campo (i.e., informacin sobre el uso y las fallas encontradas en la operacin real
del sistema). El proceso de ICS no est completo cuando se libera el producto
dado que la informacin que usamos puede ser imprecisa. El recolectar dicha
informacin permitir evaluar con mayor detalle la satisfaccin del cliente y la
calidad del producto.

En esta breve descripcin del proceso de la ICS se han omitido detalles


relacionados con aspectos cuantitativos. Existen modelos estadsticos que
permiten determinar el momento para detener las actividades de prueba basados
en la informacin que se tiene de las fallas encontradas, objetivos de intensidades
de falla y del nmero de casos de prueba ejecutados.
Conclusin
La ICS representa una prctica que puede ser usada con resultados positivos. Las
micro industrias y pequeas industrias pueden incorporar dicha prctica dentro de
sus procesos no slo para mejorar la calidad de sus productos sino para sentar las
bases que permitan definir el marco de medicin de sus procesos en busca de
niveles 4 y 5 de Modelo Integrado de Madurez de las Capacidades.

4.4 Ingeniera de seguridad


La Ingeniera de la seguridad es una rama de la ingeniera, que usa todo tipo de
ciencias para desarrollar los procesos y diseos en cuanto a las caractersticas de
seguridad, controles y sistemas de seguridad. La principal motivacin de esta
ingeniera ha de ser el dar soporte de tal manera que impidan comportamientos
malintencionados.
El campo de esta ingeniera puede ser muy amplio, podra desarrollarse en
muchas tcnicas:
Equipos: Como el diseo de cerraduras, cmaras, sensores,...
Procesos: polticas de control, procedimientos de acceso,...
Informtico: control de passwords, criptografa,...
Uno de los pioneros en la Ingeniera de seguridad como un campo de estudio es
Ross Anderson.

La ingeniera de seguridad es el proceso de disear productos y estructuras ms


seguras. Tambin puede implicar mejorar la seguridad en sitios laborales,
instalaciones de fabricacin y productos como cambio de normas de seguridad.

Principios
Los principios de la ingeniera de seguridad son identificar los potenciales riesgos
de seguridad y mitigarlos. La mitigacin incluye reducir las probabilidades de que
sucedan accidentes o reducir la severidad de un accidente una vez que ocurre.
Este proceso se logra cambiando el diseo del producto para evitar que sucedan
fallas peligrosas. Tambin son agregadas medidas de seguridad para proteger a
las personas si sucede un peligro.

Diseo del edificio


La ingeniera de seguridad o proteccin contra incendios minimiza el riesgo de que
los edificios se prendan fuego o colapsen durante un incendio. La ingeniera de
seguridad contra incendios para edificios incluye la instalacin de sistemas que
combatan el fuego, proporcionando amplios medios de escape, deteccin de
incendios y mtodos de advertencia.

Capacitacin
La ingeniera de salud y seguridad es un ttulo ofrecido por programas de
ingeniera de fabricacin. La ingeniera de seguridad es un ttulo menor ofrecido en
programas de arquitectura, diseo de la construccin e ingeniera de minera a
nivel universitario. La capacitacin tambin est disponible a travs del Instituto
Nacional de Salud y Seguridad Ocupacional.

Empleo
De acuerdo con el "Occupational Outlook Handbook" (Manual de perspectiva
ocupacional), aproximadamente 7.000 ingenieros de seguridad de minera y
23.000 ingenieros de seguridad son empleados en Estados Unidos. Los ingenieros
de seguridad trabajan en empresas de arquitectura y compaas de diseo de
ingeniera. Los ingenieros tambin son empleados en sitios del trabajo de
construccin, minas e instalaciones de fabricacin.

Bibliografa
Wilhite, T. (enero de 2012). eHow en Espaol. Recuperado el 22 de noviembre de
2015, de http://www.ehowenespanol.com/definicion-ingenieria-seguridadhechos_543040/

http://magdalyithunid4.blogspot.mx/
http://ithjrp.blogspot.mx/
http://joseviteperezith.blogspot.mx/2013/06/seguridad-en-ingenieria-desoftware.html

Vous aimerez peut-être aussi