MANTENIMIENTO DE SOFTWARE

INFORMESE DE LO QUE PUEDE OCURRIR EN SU PC

ERRORES DE SOFTWARE

A continuación Describiré breve-mente el tema dado:


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

La mayor parte de los lenguajes de programación presentan al menos dos tipos de errores que permiten a los programadores manejar las fallas de los programas de una manera eficiente y que no resulte agresiva con el usuario final. Dichos errores son de compilación y errores en tiempo de ejecució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?

La palabra vulnerabilidad hace referencia a una debilidad en un sistema permitiendo a un atacante violar la confidencialidad, integridad, disponibilidad, control de acceso y consistencia del sistema o de sus datos y aplicaciones.

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

Activos: "Fuerzan" las entradas del Sistema.

Pasivos: Se introducen al sistema sin causar daño permanente.

ATAQUE "DEL DIA CERO"

Se produce el mismo día en que se descubre una vulnerabilidad en el software.

Muchas veces, por desgracia, pueden pasar meses o años antes de que el fallo se corrija.

VIRUS DE LA POLICIA

Ejemplo perfecto de Ransomware: Cuando se activa, impide usar el ordenador hasta que no se a llevado a cabo una acción determinada, como efectuar un pago en efectivo.

Formato del Virus

Un atento examen del Texto (Pobremente Redactado) y de las direcciones usadas demuestra que se trata de una falsificación.

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