UNIVERSIDAD SALESIANA DE BOLIVIA Sistemas de Información Gerencial CAPITULO 7 SEGURIDAD Y CONTROL DE LOS SISTEMAS DE INFORMACION 1. Vulnerabilidad y abuso del sistema Antes de la automatización por computadora, los dat os sobre individuos y organizaciones se conservaban y aseguraban como registros en papel, dispersos en unidades de negocios u organizaciones independientes. Los sistemas de información conc entran los datos en archivos de computadora a los que puede t ener acceso gran cantidad de personas y grupos ajenos a la organización. En consecuencia, los datos automatizados son más susceptibles a destrucción, fraude, error y mal uso. Cuando los sistemas de computación no corren o funcionan con se requiere, las empresas que dependen en gran medida de las computadoras experimentan una grave pérdida en s us funciones empresariales. Cuanto más tiempo fallan los sistemas de cómputo, más graves son las consecuencias para la empresa. Por qué son vulnerables los sistemas Cuando se guardan grandes cantidades de datos en formato electrónico s on vulnerables a muchos más tipos de amenazas que cuando están en formato manual. Las fallas pueden provenir de factores técnicos, organizacionales y del ent orno, combinados con decisiones administrativas deficientes. Los adelantos en las telecomunicaciones y el software de cómputo han magnificado estas vulnerabilidades. Los sistemas de información de diferentes lugares se pueden interconectar a través de las redes de telecomunicaciones. El potencial para acceso no autorizado, abuso o fraude no s limita a un lugar único sino que puede ocurrir en cualquier punto de acceso en la red. Adicionalmente, para establecer las redes de telecomunicaciones se requieren combinaciones más complejas y diversas de hardware, software, organiz acionales y de pers onal, lo cual genera nuevas áreas y oportunidades de penetración y manipulación. Las redes inalámbric as que usan tecnología basada en radio son incluso más vulnerables a la penet ración porque las bandas de radiofrecuencia son fáciles de rastrear. Las LANs que utilizan el estándar 802.11b (Wi – Fi) pueden ser fáciles de penetrar por externos mediante computadoras portátiles, tarjetas inalámbricas, antenas externas y software de piratería informática. Los hackers (pirat as informáticos) pueden usar estas herramient as para detectar redes Wi – Fi corporativas. Aunque el alcance de la redes Wi – Fi es de sólo algunas decenas de metros, puede extenderse alrededor de 400 metros usando antenas exteriores. Internet plantea problemas especiales porque se diseñó explícitamente para que las personas tuvieran fácil acceso a ella mediante diversos sistemas de cómput o. En la figura s e ilustran las vulnerabilidades de las redes de telecomunicaciones. Cap. 7 Seguridad y Control de los Sistemas de Información Lic. Shirley Solange Salazar Montoya Página 51 UNIVERSIDAD SALESIANA DE BOLIVIA Sistemas de Información Gerencial Figura. Vulnerabilidades de las redes de telecomunicaciones Hackers y virus de computadora El crecimiento explosivo del uso de Internet por las empresas y los individuos ha sido acompañado por informes crecientes de violaciones a la seguridad de Internet. La principal preocupación viene de los intrusos no deseados, o hackers, que usan la tecnología más reciente y sus habilidades para irrumpir en computadoras supuestament e seguras o para dañarlas. Un hacker es una persona que obtiene acceso no autorizado a una red de computación para obtener provecho, realizar actos delictivos o por placer personal. Hay muchas maneras en que las irrupciones del hacker pueden dañar a las empresas. Algunos int rusos malévolos han plantado bombas lógicas, caballos de Troya y ot ros tipos de soft ware que pueden esconder en un sistema o red hasta que se ejecutan en un momento especificado. En los ataques de denegación de servicios, los hackers inundan un servidor de red o de la web con muchos miles de mensajes o solicitudes de servicios falsos para saturar la red. Ésta recibe tantas solicitudes que no puede mantener el ritmo y es incapaz de atender las solicitudes legítimas. El costo de estos ataques para las empresas está subiendo a una velocidad alarmant e. La vent ana a las organizaciones describe el daño creado por el robo en línea de número de tarjetas de crédito. Los virus de computadora que propagan los hackers han causado graves daños a los sistemas. Son programas de software destructor que se extienden sin control de sistema en sistema, obstruyendo la memoria de la comp utadora o destruyendo programas o datos. Actualmente muchos virus se propagan a través de Internet, a partir de archivos de software descargado o de archivos adjuntos a transmisiones de correo electrónic o. Los virus también pueden invadir sistemas computarizados de información desde ot ras redes de computadora así como de disquetes “infectados” de una fuente externa o c omput adoras infectadas. La amenaza de daño masivo y pérdidas a partir de futuros virus de computadora permanece latente. Hoy en día, los virus se están extendiendo a los dispositivos de cómputo inalámbricos. Los virus de dispositivos móviles podrían plantear una grave amenaza para la computación empresarial porque hay demasiados dispositivos inalámbricos enlazados a los sistemas corporativos de información. Cap. 7 Seguridad y Control de los Sistemas de Información Lic. Shirley Solange Salazar Montoya Página 52 UNIVERSIDAD SALESIANA DE BOLIVIA Sistemas de Información Gerencial Preocupaciones de constructores y usuarios de sistemas La elevada vulnerabilidad de los datos automatizados ha creado preocupaciones especiales entre los constructores y los usuarios de sistemas de información. E ntre estas preocupaciones están los desastres, la seguridad, los errores administrativos y otros. Desastres El hardware, programas, archivos de dat os y otro equipo de computación pueden s er destruidos por incendios, fallas en el suministro de energía u otros desastres. Puede tomar muchos años y millones de dólares reconstruir archivos de datos y programas de computadoras destruidos y algunos tal vez no se puedan reemplazar. Seguridad La seguridad se refiere a las políticas, los procedimientos y las medidas técnicas que se emplean para prevenir acceso no autorizado, alteración, robo o daño físico a los sistemas de información. La seguridad puede foment arse con una serie de t écnicas y herramientas para salvaguardar hardware, software, redes de comunicaciones y datos de computadora. Errores Las computadoras también pueden funcionar como instrument os de error, que pueden desestabilizar o destruir gravemente los registros y operaciones de una organización. Un gran problema de software es la presencia de errores de programación ocultos o defectos en el código de los programas. La fuente principal de errores de programación es la complejidad del código de toma de decisiones. Incluso un programa relativamente pequeño de varios cientos de líneas contendrá decenas de decisiones que conducen a cientos o incluso miles de rutas diferentes. Por lo común, los programas important es dentro de la mayoría de las corporaciones son mucho más grandes y contienen decenas de miles o incluso millones de líneas de código, cada una c on muchas más opciones y rutas que las de los programas más pequeños. La meta de cero defectos perseguida por la calidad total no se puede lograr en programas muy grandes. Simplemente no es posible realizar pruebas exhaustivas. Eliminar los errores de programación del software es un ejercicio que ve en detrimento de las utilidades, porque eso tomaría proporcionalmente mucho más tiempo de pruebas para detectar y eliminar los errores de programación que permanecen ocultos. La pesadilla del mantenimiento Otra razón de que los sistemas sean inestables es que tradicionalmente el mantenimiento del software sido una pesadilla. El mantenimiento, el proceso de modificar un sistema que ya está en uso, es la fase más costosa del proces o de desarrollo de sistemas. En la mayoría de las organizaciones casi la mitad del tiempo del personal de sistemas de información se consume en el mantenimiento de sistemas existentes. Probl emas de la calidad de datos La fuente más común de fallas en los sistemas de información es la deficiente calidad de los datos. Datos inexactos, inoportunos o inconsistentes con otras fuentes de información pueden crear graves problemas funcionales y financieros para los negocios. Cuando los datos defectuosos pasan inadvertidos, pueden conducir a decisiones incorrectas, retiro de productos e incluso pérdidas financieras. Cap. 7 Seguridad y Control de los Sistemas de Información Lic. Shirley Solange Salazar Montoya Página 53 UNIVERSIDAD SALESIANA DE BOLIVIA Sistemas de Información Gerencial 2. Creación de un entorno de control Para minimizar errores, desastres, interrupciones de servicio, delitos informáticos y violaciones a la seguridad, se deben incorporar políticas y procedimientos es peciales en el diseño e implementación de sistemas de información. La combinación de medidas manuales y automatizadas que salvaguardan los sistemas de información y aseguran que se desempeñe según los estándares de administración se conoc e como controles. Los controles consisten en todos los métodos, políticas y procedimientos organizacionales que garantizan la seguridad de los activos de la organiz ación, la exactitud y confiabilidad de sus registros contables y el apego de sus operaciones a los estándares que defina la administración. Los controle s generales gobiernan el diseño, la seguridad y el uso de programas de computación y la seguridad de arc hivos de datos en general a lo largo de la infraestructura de tecnología de la información de la organización. Los controles generales se utilizan en todas las aplicaciones computarizadas y consisten en una combinación de hardware, software y procedimientos manuales que crean un entorno de control global. Los controle s de aplicaciones son controles espec íficos únicos para cada aplicación computarizada, como procedimiento de pedidos. Consta de cont roles aplicados desde el área funcional de negocios de un sistema particular y de procedimientos programados. Controles generales y seguridad de datos Los controles generales incluyen controles de software, c ontroles de hardware físico, controles de operaciones de cómputo, controles de seguridad de datos, controles sobre el proceso de implementación de sistemas y controles administrativos. Tipo de control Cont roles de software Descripción Monitorean el uso del software del sistema y previenen el acceso no autorizado a programas de software, software del sistema y programas de computadora. El software del sistema es un área de control importante porque desempeña funciones de control global para los programas que procesan directamente datos y archivos de datos. Cont roles hardware de Aseguran que el hardware de cómputo sea físicamente seguro y verifican el funcionamient o defectuoso del equipo. Los equipos de cómputo se deben proteger especialmente contra incendios y temperatura y humedad extremas. Las organiz aciones que dependen en gran medida de sus computadoras también deben tomar provisiones de res paldo o el funcionamient o continuo pa ra mantener el servicio constante. Cont roles operaciones cómputo de de Vigilan el trabajo del depart amento de computación para garantizar que los proc edimientos programados se apliquen de manera consistente y correcta al almacenamiento y procesamiento de datos. Incluyen controles sobre la instalación de los trabajos de procesamiento de cómputo y las operaciones de cómputo, y sobre el procedimiento de respaldo y recuperación para el procesamiento que termina de manera deficiente. Cont roles de seguridad de datos Aseguran que los archivos de datos de negocios en disco o cinta no sean objeto de acceso no autorizado, cambio o destrucción mientras están en uso o almacenados. Cap. 7 Seguridad y Control de los Sistemas de Información Lic. Shirley Solange Salazar Montoya Página 54 UNIVERSIDAD SALESIANA DE BOLIVIA Sistemas de Información Gerencial Cont roles de implementación Auditan el proceso de desarrollo de sistemas en varios puntos para garantizar que el proceso se c ontrole y administre adecuadamente. La auditoria del desarrollo de sistemas busca la presencia de revisiones formales por part e de los usuarios y la administración en las diversas etapas del desarrollo; el nivel de implicación del usuario en cada etapa de la implementación, y el uso de una metodología formal de costo/beneficio para establecer la factibilidad del sistema. La auditoria debe buscar el uso de controles y técnicas de garantía de calidad para el desarrollo, conversión y prueba de los programas y para la documentación completa y minuciosa del sistema, el usuario y las operaciones. Cont roles administrativos Estándares, reglas, procedimient os y disciplinas de c ontrol formalizados para garantizar que se ejecuten y apliquen adecuadamente los controles generales y de aplicación de las organización. Aunque la mayoría de estos controles generales los diseñan y mantienen especialistas de sistemas de información, los controles de seguridad de los datos y los controles administrativos requieren la participación y vigilancia de los usuarios finales y gerentes de negocios. Controles de aplicaciones Los controles de aplicaciones incluyen los procedimientos automatizados y manuales que garantizan que una aplicación complete y proces e con precisión solamente los dat os autorizados. Los controles de aplicaciones se pueden clasificar: Controles de entrada Verifican la exactitud e integridad de los datos cuando entran en el sistema. Hay controles de entrada espec íficos para autorización de entrada, conversión de dat os, edición de datos y manejo de errores. Controles de proce samiento Establecen que los datos estén completos y exactos durante la actualización. La ejecución de totales de control, la comparació n de computadoras y las verificaciones de ediciones programadas se usan con este propósito. Controles de salida Aseguran que los resultados del procesamiento de cómputo sean exactos, estén completos y se distribuyan adecuadament e. No t odos los cont roles de aplicaciones expuestos se usan en todos los sistemas de información. Algunos sistemas requieren más de estos cont roles que otros, dependiendo de la importancia de los datos y de la naturaleza de la aplicación. 3. Garantía de la seguridad de sistemas Las organizaciones pueden mejorar la calidad del sistema usando técnicas para garantizar la calidad del soft ware y mejorando la calidad de sus datos. Cap. 7 Seguridad y Control de los Sistemas de Información Lic. Shirley Solange Salazar Montoya Página 55 UNIVERSIDAD SALESIANA DE BOLIVIA Sistemas de Información Gerencial Metodologías y herramientas para garantizar la calidad del software Entre las soluciones para os problemas de calidad del software se incluy en el uso de una metodología adecuada de desarrollo de sistemas. La asignación adecuada de recursos durante el desarrollo de los sistemas, el uso de métricas y poner atención en las pruebas. Metodologías e structurada s Se han empleado varias herramientas y metodologías de desarrollo para ayudar a los constructores de sistemas a document ar, analizar, diseñar e implementar sistemas de información. Una metodología de desarrollo es un conjunt o de métodos, uno o más para cada actividad dentro de cada fase de un proyecto de desarrollo de sistemas. Análisi s e structurado El análisis estructurado s e usa mucho para definir estradas, procesos y salidas del sistema. Ofrec e un modelo gráfico lógico de flujo de información, partici onando un sistema en módulos que muestran niveles manejables de detalle. Especifica rigurosamente los proc esos o transformaciones que oc urren dent ro de cada módulo y las interfac es que existen ent re ellos. Su herramient a primaria es el diagrama de flujo de datos (DFD), una representación gráfica de los procesos de componentes de un sistema y las interfaces (flujo de datos ) entre ellos. Di seño estructurado El diseño estructurado comprende un conjunto de reglas y técnicas de diseño que promueven la claridad y sencillez del programa, reduciendo así el tiempo y el es fuerzo requeridos para c odificación, depuración y mant enimiento. El principio básico del diseño estructurado es que un sistema debe diseñarse en forma jerárquica y refinarse a niveles mayores de detalle. El diseño debe considerar primero la función principal de un programa o sistema, luego debe dividir esta función en subfunciones y descomponer cada subfunción hasta el nivel más bajo de detalle que se hay a alcanzado. Los módulos de nivel más bajo describen el proc esamiento real que ocurrirá. De esta manera se desarrollan toda la lógica de alto nivel y el modelo de diseño antes de que se escriba el código del programa detallado. Programación estructurada La programación estructurada extiende los pri ncipios que gobierna el diseño estructurado a la escritura de programas para hacer que los programas de soft ware sean fáciles de entender y modificar. Se basa en el principio de la modularización que se sigue del análisis y diseño jerárquico. Cada uno de l os cuadros de la gráfica de estructura repres enta un módulo componente que por lo común se relaciona directamente con un módulo de diseño de nivel inferior. Constituye una unidad lógica que desempeña una o varias funciones. Idealmente, los módulos deber s er independientes entre sí y deben tener sólo un punto de entrada y de salida. Deben compartir los datos con los menos módulos posibles. Cada módulo se debe conservar a un tamaño manejable. Un individuo debe ser capaz de leer y entender el código del programa del módulo y hacer fácilmente el seguimiento de sus funciones. Limitaciones de los métodos tradicionales Aunque los métodos tradicionales son valiosos, pueden ser inflexibles y consumidores de tiempo. Se requiere la terminación del análisis estructura do antes de que se pueda empezar el diseño la programación debe esperar los productos terminados del diseño. Un cambio en las especificaciones requiere que antes se modifiquen los documentos Cap. 7 Seguridad y Control de los Sistemas de Información Lic. Shirley Solange Salazar Montoya Página 56 UNIVERSIDAD SALESIANA DE BOLIVIA Sistemas de Información Gerencial del análisis y luego los documentos del diseño antes de que se puedan cambiar los programas para que reflejen el nuevo requerimiento. Las metodologías estructuradas están orientadas a la función, enfocándose en los procesos que transforman los datos. Herramientas y metodologías para el desarrollo orientado a objetos Se han des arrollado varias técnicas para el análisis y diseño de sistemas basados en objetos pero el lenguaje de modelado unificado (UML) se ha convertido en el estándar de la industria. El UML permite que los constructores del sistema represent en varias vistas de un sistema basado en objetos usando varios tipos de diagramas gráficos y el modelo subyacente integra estas vistas para fomentar la consistencia durante el análisis, plan e implementación. Ingeniería de software asi stida por computadora La ingeniería de software asistida por computadora (CASE) – a veces llamada ingeniería de soft ware asistida por computadora – es la automatización de metodologías paso a paso para el desarrollo de software y de sistemas para reducir la cantidad de trabajo repetitivo que el diseñador necesita saber. Su adopción puede dejar libre al diseñador para tareas más creativas de solución de problemas. Las herramientas CASE también facilitan la creación de document ación estructurada y la coordinación de los es fuerzos de desarrollo del equipo. Los miembros del equipo pueden compartir fácilmente su trabajo accediendo a los arc hivos de cada uno para revis ar o modificar lo que se ha hecho. Algunos estudios han encontrado que los sistemas desarrollados con CASE y las más nuevas tecnologías son más confiables y requieren mantenimiento con menor frecuencia. También se pueden lograr beneficios modestos de productividad si se usan adecuadament e las herramientas. Asignación de recursos durante el desarrollo de sistemas Con el paso del tiempo, los enfoques para la asignación de recursos durante el tiempo de sistemas han cambiado de manera significativa. La asignación de recursos determina la manera en que se asignan costos, tiempo y personal a las diversas fases del proyecto. Se debe dedicar más tiempo al análisis de especificaciones y sistemas, disminuyendo la proporción del tiempo de programación y reduciendo la necesidad de tanto tiempote mantenimiento. Documentar los requerimient os para que se puedan entender desde su origen a t ravés del desarrollo, especificación y uso continuo también puede reducir errores así como tiempo y costos. Métrica del software La métrica del software puede jugar un papel vital en el incremento de la calidad del sistema. La métrica del software es la evaluación objetiva del sistema en forma de medidas cuantificadas. El uso constante de la métrica permite al departamento de sistema de información y al usuario medir juntamente el desempeño del sistema e identificar los problemas conforme ocurren. Ejemplos de métrica del software incluyen la c antidad de transacciones que se pueden procesar en una unidad especificada de tiempo, tiempo de respuesta en línea, cantidad de cheques impresos por hora y el número de errores de programación conocidos por cada cien líneas de código. Para que la métrica funcione con éxito se debe diseñar cuidadosamente de manera formal y objetiva. Debe medir as pectos significativos del sistema. Además, la métrica Cap. 7 Seguridad y Control de los Sistemas de Información Lic. Shirley Solange Salazar Montoya Página 57 UNIVERSIDAD SALESIANA DE BOLIVIA Sistemas de Información Gerencial no tiene ningún valor a menos que se use de forma constante y que l os usuarios acepten de antemano las mediciones. Prueba En general, la prueba de soft ware con frecuencia se entiende mal. Muchos ven la prueba como una manera de demostrar la exactitud del trabajo que han efectuado. De hecho, se sabe que todo software de tamaño regular está ac ribillado de errores y que para descubrir estos errores se debe hacer la prueba. La prueba empieza en la fase de diseño. Como aún no existe codificación alguna, la prueba que normalmente se aplica es una versión superficial, la revi sión de una especificación o del documento de diseño hecha por un pequeño grupo de personas cuidadosamente seleccionadas con base en las habilidades necesarios para los objetivos particulares que s e han de probar. Una vez que se empiez a a codificar, las revisiones superficiales del código también se pueden usar para repasar el código del programa. Sin embargo, el código debe probarse al instalarlo y correrlo en la computadora. Cuando se descubren los errores, se encuent ra y se elimina la fuente a través de un proces o llamado depuración. Cap. 7 Seguridad y Control de los Sistemas de Información Lic. Shirley Solange Salazar Montoya Página 58