¿Qué es una biblioteca de enlaces dinámicos?
Una biblioteca de enlaces dinámicos es un sistema utilizado por Microsoft para permitir que varias aplicaciones accedan a la misma sección de código en Windows® al mismo tiempo. Esta es una de las claves para la multitarea que funciona de manera efectiva. En 2010, los investigadores de seguridad descubrieron que los hackers podrían explotar el laguna en la forma en que funcionaba el sistema de biblioteca de enlaces dinámicos. Esto condujo a un dilema sobre cómo solucionarlo sin afectar la usabilidad de las aplicaciones.
Para comprender la forma en que funciona una biblioteca dinámica de enlaces, es importante comprender la diferencia entre Windows® y las aplicaciones de software. Windows® es un sistema operativo que existe en gran medida para coordinar la forma en que las aplicaciones individuales, también conocidas como programas, acceden a las capacidades de procesamiento de la computadora. Windows® en sí es, en última instancia, un conjunto de códigos de computadora que actúa de manera efectiva como el libro de reglas o guía de cómo las aplicaciones interactúan entre sí y con el hardware.
La biblioteca de enlaces dinámicos es el sistema por el cual las aplicacionesLos iones pueden acceder y ejecutar secciones individuales del código Windows®. Un ejemplo sería la sección de Windows® responsable de imprimir documentos. La mayoría de las aplicaciones deben acceder a esta función en algún momento, pero si cada aplicación cargó el código relevante en la memoria de la computadora tan pronto como la aplicación comenzó a ejecutarse, sería un uso ineficiente de los recursos y podría causar conflictos.
Para resolver esto, el código Windows® para una función particular, en este caso, la impresión, se almacena como un pequeño programa conocido como biblioteca de enlaces dinámico o archivo DLL. Si un usuario ejecuta una aplicación como un procesador de textos, este archivo no se abre automáticamente. En cambio, el procesador de palabras solo abre y activa el archivo cuando se necesita, en este caso, cuando el usuario desea imprimir un documento.
Históricamente, muchos desarrolladores de aplicaciones simplemente escribieron un código que decía cómo el nombre del releSe llamó a la biblioteca de enlaces dinámicos Vant, en lugar de especificar exactamente dónde debería ubicarse en la computadora. Para evitar esto, Windows® tiene un sistema establecido para localizar archivos DLL faltantes buscando en una lista establecida de ubicaciones en un orden definido. Si bien esto teóricamente podría explotarse si un archivo malicioso disfrazado de un archivo DLL se colocara en el lugar correcto y, por lo tanto, se encontró y se abrió antes del archivo legítimo, esto no se consideraba un riesgo de seguridad importante ya que los piratas informáticos necesitarían acceso físico a una máquina para poner el archivo malicioso en su lugar.
En 2010, se descubrió que los piratas informáticos en teoría podrían obtener dichos archivos a través de una conexión remota: es decir, a través de Internet. Esto significaba que docenas de aplicaciones de Windows® eran vulnerables a los ataques que usan este método. La comunidad de seguridad se dividió en cuanto a si era mejor que las aplicaciones individuales se reescribieran para especificar la ubicación del archivo DLL legítimo, que se basaba en que cada desarrollador tomara medidas, oPara que Microsoft cambie la forma en que Windows® trata con dichos archivos, lo que podría hacer que las aplicaciones dejen de funcionar correctamente.