vulnerability

Contenido vulnerability

 
Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT
Blog actualizado el 16/01/2025

Las vulnerabilidades de corrupción de memoria son fallos críticos en los programas que ocurren cuando el software manipula incorrectamente la memoria. Estos fallos pueden permitir que un programa escriba datos en ubicaciones de memoria no previstas o acceda a áreas de memoria que están fuera del alcance previsto. 

Un atacante que controla estos datos, podría desencadenar un comportamiento inesperado en el sistema, como hacer que el programa se bloquee o, en el peor de los casos, obtener control total sobre el sistema afectado. 

En parte, esto es así porque inicialmente los sistemas computacionales no fueron diseñados teniendo en cuenta la seguridad, por lo que las direcciones de memoria utilizadas por los programas y sistemas operativos eran estáticas y predecibles. Esto significaba que cada vez que un programa se ejecutaba, las ubicaciones de la memoria, como la pila, el heap y las bibliotecas compartidas, se situaban siempre en las mismas direcciones. 

Esta previsibilidad facilitaba a los atacantes la explotación de vulnerabilidades de memoria, como los desbordamientos de búfer y los ataques de retorno a libc, ya que podían anticipar exactamente dónde se encontrarían los datos o el código que deseaban manipular para ejecutar código malicioso. En este artículo veremos cómo la técnica de ASLR ayuda a combatir estas vulnerabilidades.

Blog actualizado el 26/12/2024

Hoy en día, uno de los procedimientos más críticos, pero menos conocidos, en materia de ciberseguridad industrial es el de desarrollo seguro. Este artículo recoge todas las buenas prácticas para la creación de aplicaciones y equipos específicos para entornos industriales de manera segura. Aspectos de seguridad que debe tener en cuenta tanto el trabajo realizado durante el diseño (confidencialidad de la empresa y clientes, seguridad de los trabajadores…), como la seguridad que el propio producto diseñado debe presentar durante todo su ciclo de vida (gestión de vulnerabilidades, control de acceso, gestión de inputs/outputs…).

El objetivo de este artículo es abordar las buenas prácticas de desarrollo seguro, desde la perspectiva de la ciberseguridad industrial. Aunque las buenas prácticas tradicionales pueden ser aplicables a estos entornos, los aspectos fundamentales de safety y disponibilidad generan diferentes enfoques, fundamentalmente en aspectos relativos a la gestión de memorias y recursos, ciclos de gestión de actualizaciones y parches, etc.