Crash informático

Se produce un crash informático cuando un programa de computadora, como una aplicación de software o un sistema operativo, deja de funcionar correctamente y deja de responder o termina su ejecución. A menudo el programa responsable del crash puede quedar bloqueado hasta que un servicio de informes de fallos informa del incidente y proporciona los detalles. Si el programa es una parte crítica del sistema operativo, todo el sistema puede bloquearse, lo que a menudo resulta en un “kernel panic” o en un “error fatal del sistema”.

Crash informatico

Qué es un crash informático

El término crash informático (o bloqueo informático) se usa para denominar el hecho de que un programa informático o un sistema operativo, dejen de funcionar de la manera correcta. Este fallo puede ser total o parcial. En ocasiones el programa se “congela” y deja de responder a cualquier acción del usuario o de su entorno, es entonces cuando se habla de crash.

La mayoría de los fallos son el resultado de ejecutar instrucciones de máquina no válidas, tales como utilizar direcciones de memoria incorrectas, desbordamientos de búfer, sobrescribir una parte del código de programa afectado debido a un error anterior, tener acceso a direcciones de memoria no válidas, utilizar un código de operaciones no válido o desencadenar una excepción no controlada. El error de software original que inició esta cadena de eventos suele ser considerado como la causa del bloqueo, que se descubre a través del proceso de depuración. El error original puede estar muy lejos del código que realmente sufrió el bloqueo.

Los crash informáticos pueden tener severas implicaciones de seguridad, ya que muchos errores de software que causan bloqueos también son explotables para la ejecución arbitraria de código y otros tipos de escalada de privilegios. Por ejemplo, un desbordamiento de memoria intermedia puede sobrescribir la dirección de retorno de una subrutina con un valor no válido, lo que causará un error de segmentación. Sin embargo, si un exploit sobrescribe la dirección de retorno con un valor válido, se ejecutará el código en esa dirección. Por ello, un crash informático puede ser producto de una explotación de una vulnerabilidad de forma malintencionada, logrando corromper la integridad del sistema.

Un crash de aplicación ocurre cuando un determinado programa pretende realizar una operación prohibida por el sistema operativo, tras lo cual la aplicación se bloquea, el sistema operativo activa una excepción en la aplicación y muestra un cuadro de diálogo con la opción de ejecutar un depurador si está disponible. Algunas aplicaciones intentan recuperarse del error y continuar la ejecución en lugar de salir. Los errores típicos que resultan en bloqueos de aplicación incluyen:

  • La aplicación intenta escribir o leer en una ubicación que no le está permitida.
  • Intenta acceder a hardware para el cual no tiene permisos de acceso.
  • Usa argumentos inválidos para acceder al sistema.
  • Intenta acceder a recursos sobre los cuales no se le han otorgado privilegios (error de bus).
  • Intenta ejecutar instrucciones de máquina con argumentos erróneos, como división por cero, etc.

Si la aplicación que falla es un software que se ejecuta en un servidor web, el sitio web puede bloquearse, haciéndolo inaccesible por completo o puede mostrar únicamente un mensaje de error en lugar del contenido normal.

Un crash de sistema operativo, también conocido como fallo de sistema (en inglés “fatal system error” o “system crash”), se produce cuando un sistema operativo se detiene porque que alcanza una condición en la que ya no puede funcionar con seguridad.

Generalmente un fallo de sistema ocurre cuando se produce una excepción de hardware que no se puede manejar. Los bloqueos del sistema operativo también pueden ocurrir cuando la lógica interna de comprobación de la integridad del sistema operativo detecta que el sistema operativo ha perdido su autoconsistencia interna. Los sistemas operativos multitarea modernos, como Windows, Linux y Mac OS, suelen permanecer en ejecución cuando una aplicación se bloquea. Las causas más comunes de un crash de sistema operativo son las siguientes:

  • Se presenta una excepción de hardware, que el sistema operativo no puede manejar de manera correcta, esto hace que el sistema o el hardware queden inestables.
  • El sistema operativo detecta errores en sí mismo y se apaga, para reducir el riesgo de aumentar los daños.

Algunos mensajes o pantallas de error que aparecen en un sistema informático después de algunos casos de crash informático son los siguientes:

  • Pantalla azul de la muerte (BSOD, Blue Screen of Death): Es así como se le conoce a un pantallazo mostrado por el sistema Windows, cuando se encuentra en medio de un error muy grave (Fatal system error, Error fatal del sistema).
  • Pantalla negra de la muerte (BLSOD, Black Screen of Death): Este es un pantallazo típico en varios sistemas, que aparece como medida de seguridad para evitar daños mayores, cuando se produce un error crítico del sistema.
  • Pantalla roja de la muerte (RSOD, Red Screen of Death): Es como se le conoce a un mensaje de error que aparece en algunas versiones de Windows Vista y 8.
  • Sad Mac: Es como se le conoce a un icono que aparece en versiones antiguas de ordenadores Macintosh, cuando se detectan fallos que impiden la carga del sistema.
  • Kernel panic (pánico en el núcleo): Es un mensaje de error que aparece en Mac OS, Linux y otros sistemas tipo Unix, cuando el sistema sufre un fallo interno del cual no se puede recuperar.
  • Linux kernel oops: Es un mensaje sobre registro de errores graves, propio del sistema Linux, que generalmente aparece ante fallos en el núcleo.