Seguridad (consideraciones, desbordamiento del buffer), ligado estático y dinámico de bibliotecas


Sistemas Operativos 



Trabajo

Seguridad (consideraciones,  desbordamiento del buffer), ligado estático y dinámico de bibliotecas

 

 


Presentado por

Josselin Restrepo Giraldo

Mariana Paniagua Ruiz 

 

 

Profesor 

German Jurado Cano




2021



Tema 06: Seguridad


La seguridad informática es una disciplina que se encarga de proteger la integridad y la privacidad de la información almacenada en un sistema informático.La seguridad informática es una disciplina que se encarga de proteger la integridad y la privacidad de la información almacenada en un sistema informático.seguridad es la cualidad de seguro, y seguro es algo libre y exento de todo peligro, daño o riesgo. Entonces se puede decir que la seguridad informática es un sistema informático exento de peligro. Sin embargo se debe tener en cuenta que la seguridad no es un producto sino un proceso, por lo tanto se puede definir a la seguridad informática como: un conjunto de métodos y herramientas destinados a proteger la información y por ende los sistemas informáticos ante cualquier amenaza, un proceso en el cual participan además personas

La seguridad de un sistema operativo se basa principalmente en tres aspectos de diseño: 

  • Controlar la confidencialidad de los datos.

  • Controlar el acceso a los datos y recursos

  • Evitar la pérdida de datos .



  •  desbordamiento de Buffer

Una de las vulnerabilidades de seguridad más comunes y antiguas en el software son las vulnerabilidades de desbordamiento del buffer. Ya que un n desbordamiento del buffer es una situación en la que un programa en ejecución intenta escribir datos fuera del buffer de memoria que no está destinado a almacenar estos datos. Cuando esto sucede, estamos hablando de un desbordamiento del buffer.}


Un buffer de memoria es un área en la memoria de la computadora (RAM) destinada a almacenar datos temporalmente. Este tipo de buffers se puede encontrar en todos los programas y se utilizan para almacenar datos para entrada, salida y procesamiento.


Cuando se produce un desbordamiento del buffer de memoria y los datos se escriben fuera del buffer, el programa en ejecución puede volverse inestable, bloquearse o devolver información corrupta


  •  ligado estático 


El ligado estático consiste en tomar el código de una biblioteca e integrarlo al código del programa para generar el archivo ejecutable. Esto implica que cada programa tiene su propia copia del código de la biblioteca, lo cual puede causar un desperdicio de memoria y disco si existen muchos programas que usan la misma versión

Cuando se utilizan subrutinas en un programa, el código ejecutable de cada una de ellas debe encontrarse en memoria al tiempo de ejecución. Para esto, antes de cargar un programa, debe ligarse su código objeto con los códigos objeto (guardados en uno o más archivos) de cada una de las subrutinas invocadas por él, obteniendo así un programa ejecutable que contiene tanto el código del módulo invocador como el código de los módulos invocados.

En este punto, es posible guardar el resultado del proceso de liga en un archivo que podrá ser utilizado por un cargador, o el mismo programa ligador puede también realizar la tarea de carga. Esto último evita el tener que guardar el código ejecutable en un archivo, con lo que se ahorra espacio en disco. Este ahorro de espacio en disco se paga con el tiempo gastado al tener que ligar todos los módulos cada vez que se necesite ejecutar el programa. 


  •  dinámico de bibliotecas.


en el ligado dinámico el código de las bibliotecas no se copia dentro de la imagen ejecutable del programa, pero requiere establecer algún mecanismo para informar que el programa necesita un código externo. Esto se puede implementar de diferentes formas. Por ejemplo, se puede incluir un fragmento de código dentro del programa que usa la biblioteca denominado stub, el cual en tiempo de ejecución solicita que se cargue la biblioteca requerida. Otra estrategia que se puede utilizar consiste en incluir algunas indicaciones que le permiten al sistema operativo, en el momento de crear el proceso, ubicar las bibliotecas que este requerirá para su ejecución. En cualquier caso, el ligado dinámico busca que las bibliotecas sólo sean cargadas cuando sean requeridas.


El ligado dinámico puede traer consigo una serie de problemas, entre los cuales se destacan el manejo de versiones de las bibliotecas y potenciales vulnerabilidades. El primer problema es conocido, en ambientes Windows, como el infierno de las DLL. Este infierno se puede acusar de muchas formas. Por ejemplo, si al instalar un nuevo programa, se instala también una versión incompatible de una biblioteca que es usada por otros programas. Esto causa que los demás programas no se puedan ejecutar


En conclusión de estos dos se dice : El ligado estático es realizado por el editor de ligado, uniendo en un sólo módulo cargable al programa compilado (módulo objeto) con las bibliotecas (otros objetos); el ligado dinámico es realizado parcialmente en tiempo de carga (para las bibliotecas del sistema) y parcialmente en tiempo de ejecución (para las bibliotecas de carga dinámica).


Comentarios

Entradas populares de este blog

Preparación de disco duro para instalar un sistema operativo

Tema de Investigación: Componentes del Sistemas Operativo