¿Qué es un error de seguridad?

Un error de seguridad en el software de la computadora es un defecto en su operación programada que puede permitir el acceso no deseado de un usuario a funciones, recursos o datos que de otro modo estarían protegidos por el programa. La causa de un error de seguridad puede incluir errores en la programación, una comprensión incorrecta de bibliotecas externas o supervisión al pasar de una versión de prueba de un programa a una versión de lanzamiento. Puede ser difícil diagnosticar y reparar un error de seguridad, ya que tiene el potencial de ser una combinación de varios aspectos del programa, algunos de los cuales podrían ser precompilados sin código fuente original disponible para que los programadores examinen.

Una de las principales causas de un error de seguridad puede ser la interacción entre dos partes diferentes del código informático que podría no haber sido escrito por la misma persona. Los problemas pueden surgir cuando una función o clase realiza acciones que son desconocidas o inesperadas, como modificar una variable que contenga parte del estado del programa o cambie las propiaslazos sin notificar elementos asociados. Esto puede llevar a otras partes del programa a operar con suposiciones, o para pasar por completo, creando un orificio de seguridad que podría explotarse. Las bibliotecas externas desarrolladas por las compañías de software comerciales a veces pueden causar un problema de seguridad, especialmente en casos como interfaces gráficas de usuario (GUI) y envoltorios de protocolo de red que contienen una gran cantidad de código de procesamiento oculto.

Otras razones por las cuales un error de seguridad puede existir incluyen errores de programación simples y problemas con la asignación de memoria que pueden sobrescribir segmentos de código o derramar información de la memoria a las áreas donde puede ser explotada. Las características no desarrolladas dentro de un programa también pueden causar un error de seguridad al permitir una condición dentro del programa que podría pasar la ejecución a una parte inacabada del código sin las verificaciones de seguridad adecuadas para la entrada y la salida. Cuanto más grande y mascomplejo un programa es, cuanto mayor sea la probabilidad de que exista un error de seguridad dentro del código.

Hay múltiples formas de tratar de evitar que un error de seguridad pase a las versiones de lanzamiento final del software. Una de las más importantes es las pruebas de usuario, en las que muchas personas intentan usar el programa para ver si funciona correctamente. El uso de perfiladores de software, programas que examinan y registran el uso de la memoria y otras estadísticas mientras se ejecuta el software, puede ayudar a atrapar algunos errores internos que podrían conducir a un problema de seguridad. A medida que los errores se capturan y reparan, la mayoría de las empresas lanzan actualizaciones o parches que eliminan los errores descubiertos en el software que ya está en distribución.

OTROS IDIOMAS