Protegerse de vulnerabilidades desconocidas en Linux

En artículos anteriores he comentado que la aplicación diligente de parches de seguridad es uno de los mecanismos disponibles para protegerse de vulnerabilidades conocidas (con lo que se hubiera evitado el desastre del gusano de SQL Server, ejemplo del que me serví para ilustrar dichos artículos), pero ¿cómo puede uno evitar, o al menos reducir la probabilidad, de que un atacante aproveche una vulnerabilidad desconocida?

En el caso de Linux, una de las soluciones más populares y recomendadas de entre las actualmente existentes es la de la aplicación al núcleo de diversos parches de implantación de sistemas de seguridad, como la protección frente a desbordamientos de buffers y pila, el confinamiento de procesos críticos en «cárceles», los sistemas de detección de intrusiones o las políticas de control de acceso a recursos. Sin embargo, no todas las distribuciones Linux están aún convencidas de la necesidad de implementar alguna de estas soluciones en sus productos. Entre las principales razones esgrimidas para justificar este escepticismo se encuentra el respeto o miedo que genera incluir nuevo código directamente en el núcleo.

Aún así, existen diversas iniciativas que pretenden cumplir con el objetivo de ofrecer un núcleo realmente seguro, como SELinux, desarrollada con el apoyo de la Agencia de Seguridad Nacional (NSA) de Estados Unidos, o AppArmor, mantenida por Novell. Proyectos como éste confirman la existencia de una tendencia en la comunidad Linux hacia productos construidos en base a la seguridad como parámetro principal. Esperemos que esta tendencia se extienda y popularice para evitarnos en el futuro sorpresas desagradables.