MANTENIMIENTO DE SOFTWARE
INFORMESE DE LO QUE PUEDE OCURRIR EN SU PC
ERRORES DE SOFTWARE
Un error de software, comúnmente conocido como bug (bicho), es un error o fallo en un programa de computador o sistema de software que desencadena un resultado indeseado. Los programas que ayudan a la detección y eliminación de errores de programación de software son denominados depuradores o debuggers.
Origen del termino "Bug"
En 1947, los creadores de Mark III informaron del primer caso de error en un ordenador causado por un bug. El Mark II, ordenador sucesor de ASCC Mark II, construido en 1944, sufrió un fallo en un relé electromagnético. Cuando se investigó ese relé, se encontró una polilla (bug) que provocó que el relé quedase abierto. Grace Murray Hopper, licenciada en física y destacada matemática que trabajó como programadora en el Mark II, pegó el insecto con cinta adhesiva en la bitácora.3
TIPOS DE ERRORES
Defectos de diseño de programas
Diseños con colores inapropiados para las personas que padecen daltonismo
- Diseños que usan textos con tipografías de difícil lectura por su tamaño o diseño
- Diseños que fuerzan el uso del ratón o mouse sin dejar alternativas de teclado para personas con disfunciones motrices
- Diseños con implicaciones culturales, por ejemplo usando partes del cuerpo que en una determinada cultura sean objeto de vergüenza o burla o símbolos con características de identidad cultural o religiosa
- Estimar que el equipo donde se instalará tiene determinadas características (como la resolución de la pantalla, la velocidad del procesador, la cantidad de memoria o conectividad a internet) propias de un equipo de gama alta, en vez de diseñar el software para su ejecución en equipos normales
Errores de programación comunes
· Division por cero
· Ciclo Infinito
· Problemas Aritmeticos como desbordamientos (overflow) o subdesbordamientos (underflow).
· Exceder el tamaño del array
· Utilizar una variable no inicializada
· Acceder a memoria no permitida (violación de acceso)
·Perdida de memoria (memory leak)
· Desbordamiento o subdesbordamiento de la pila (estructura de datos)
· Desbordamiento de Buffer (buffer overflow)
· Bloqueo Mutuo (deadlock)
· Indizado inadecuado de tablas en bases de datos.
Defectos de instalación o programación
· Eliminación o sustitución de bibliotecas comunes a más de un programa o del sistema (DLL Hell).
· Reiniciar arbitrariamente la sesión de un usuario para que la instalación tenga efecto.
· Suponer que el usuario tiene una conexión permanente a internet.
· Utilizar como fuente enlaces Simbolicos a ficheros que pueden cambiar de ubicación.
Códigos de errores de lenguajes de programación
AGUJEROS DE SEGURIDAD
Un agujero de seguridad es una vulnerabilidad de un sistema de información que permite mediante su explotación violar la seguridad del sistema.
¿QUE PUEDE HACERME A MI?
- Daña Datos
- Aprovecha Vulnerabilidades con fines Destructivos
¿Que son las Vulnerabilidades en un Sistema de Informcion?
ETAPAS DE AGUJEROS DE SEGURIDAD
- Nacimiento.- Introducción de una serie de defectos por parte del proveedor. Se convierte en una vulnerabilidad. Si rompe la Seguridad de un sistema.
- Descubrimiento.- Conocimiento de la existencia de esa vulnerabilidad.
- Comunicación de la vulnerabilidad.- La vulnerabilidad es difundida por el descubridor
- Corrección.- Ocurre cuando el vendedor del producto analiza la vulnerabilidad, localiza cual es el problema, y lanza una versión al público.
- Publicitación.- Es cuando el conocimiento de la vulnerabilidad se extiende a una audiencia importante dándole publicidad.
- Automatización de explotación.- Es cuando a partir de la vulnerabilidad se crea una herramienta o script (exploit) que permite detectar esta vulnerabilidad.
- Muerte.- Ocurre cuando el número de sistemas vulnerables al exploit es insignificante.
TIPOS DE ATAQUES
Pasivos: Se introducen al sistema sin causar daño permanente.
ATAQUE "DEL DIA CERO"
Muchas veces, por desgracia, pueden pasar meses o años antes de que el fallo se corrija.
VIRUS DE LA POLICIA
Formato del Virus
Ademas, la policía nunca solicita el pago de multas de esta forma.
¿COMO EVITAR TENER AGUJEROS DE SEGURIDAD?
- Mantener Navegadores y pluggins actualizados.
- Usar el detector de vulnerabilidades. El mejor es Secunia PSI,
- Utilización de Parches informáticos que modifican partes de código problemático de una aplicación, la mejoran o la actualizan. Sin embargo, no siempre arreglan los problemas de seguridad detectados