En informática , el endurecimiento suele ser el proceso de asegurar un sistema reduciendo su superficie de vulnerabilidad , que es mayor cuando un sistema realiza más funciones; en principio, un sistema de función única es más seguro que uno polivalente. La reducción de las formas de ataque disponibles normalmente incluye cambiar las contraseñas predeterminadas, eliminar software innecesario, nombres de usuario o inicios de sesión innecesarios y deshabilitar o eliminar servicios innecesarios .
Existen varios métodos para fortalecer los sistemas Unix y Linux . Esto puede implicar, entre otras medidas, aplicar un parche al kernel como Exec Shield o PaX ; cerrar puertos de red abiertos ; y la instalación de sistemas de detección de intrusiones , cortafuegos y sistemas de prevención de intrusiones . También hay scripts y herramientas de refuerzo como Lynis , Bastille Linux, JASS para Solaris y Apache / PHP Hardener que pueden, por ejemplo, desactivar funciones innecesarias en archivos de configuración o realizar otras medidas de protección.
Endurecimiento binario
El endurecimiento binario es una técnica de seguridad en la que los archivos binarios se analizan y modifican para protegerlos contra vulnerabilidades comunes. El endurecimiento binario es independiente de los compiladores e involucra a toda la cadena de herramientas . Por ejemplo, una técnica de endurecimiento binario es detectar posibles desbordamientos de búfer y sustituir el código existente por un código más seguro. La ventaja de manipular binarios es que las vulnerabilidades en el código heredado se pueden corregir automáticamente sin necesidad de código fuente, que puede no estar disponible u ofuscado. En segundo lugar, se pueden aplicar las mismas técnicas a binarios de varios compiladores, algunos de los cuales pueden ser menos seguros que otros.
El endurecimiento binario a menudo implica la modificación no determinista del flujo de control y las direcciones de instrucciones para evitar que los atacantes reutilicen con éxito el código del programa para realizar exploits. Las técnicas de endurecimiento comunes son:
- Protección contra desbordamiento del búfer
- Protección de sobrescritura de pila
- Colocar ejecutables independientes y aleatorización del diseño del espacio de direcciones
- Agitación binaria (aleatorizar la dirección de los bloques básicos)
- Enmascaramiento de puntero (protección contra inyección de código )
- Aleatorización del flujo de control (para proteger contra la desviación del flujo de control)
Ver también
Referencias
enlaces externos
- Seguridad IT Tema - Endurecimiento de la Universidad de Colorado
- "Fortalecimiento de sus activos informáticos" (PDF) . en globalsecurity.org