Introducción
El presente trabajo trata sobre la Vulnerabilidades de los Sistemas Operativos, lo cual
una vulnerabilidad es un elemento de un sistema informático que puede ser
aprovechado por un atacante para violar la seguridad, así mismo pueden causar daños
por sí mismos sin tratarse de un ataque intencionado.
Una vulnerabilidad es, por lo tanto, una imperfección en la construcción del software
que puede ser explotada de modo legítimo o ilícito para cambiar la normal conducta
del sistema, como, por ejemplo, sacar algunos privilegios en el sistema. Esta actividad
se conoce con el nombre de exploit.
Más adelante vamos a conocer las vulnerabilidades de tres Sistemas Operativos muy
conocidos.
Vulnerabilidad en los Sistemas Operativos
Una vulnerabilidad es una debilidad presente en un sistema informático el cual afecta
y/o compromete la Seguridad de este componente, lo que le permitiría a un atacante
explotar y violar la confidencialidad, integridad, disponibilidad y el control de acceso
así como la consistencia del sistema y de la información contenida y resguardada en el
mismo. Estas son producto de fallos producidos por el mal diseño de un software, sin
embargo, una vulnerabilidad también puede ser producto de las limitaciones propias
de la tecnología para la que fue diseñado.
Muchas de las vulnerabilidades encontradas son el resultado de fallas o “bugs” en el
diseño de un sistema.
Las vulnerabilidades de un sistema de software son motivo de problemas constantes,
ya que no existe mes en que no se haga público un problema de seguridad de este tipo.
En este sentido, existe una especie de puja por dar a conocer vulnerabilidades de un
sistema de un competidor, lo que agrava la situación de todos los usuarios, ya que al
quedar expuesto el problema de seguridad tan abiertamente, es aprovechado incluso
por hackers y ciberdelincuentes que todavía no lo conocían.
El sistema operativo es el entorno físico en el que se ejecuta la aplicación. Cualquier
vulnerabilidad en el sistema operativo puede comprometer la seguridad de la
aplicación. La protección del sistema operativo garantiza la estabilidad del entorno, el
control del acceso a los recursos y el control del acceso externo al entorno.
Las vulnerabilidades, dentro de un sistema operativo o una aplicación, pueden
originarse por:
Errores de Programa
Un error del código de programa puede permitir que un virus de
computadora acceda al dispositivo y se haga con el control.
Características Intencionadas
Maneras lícitas y documentadas que permiten que las aplicaciones accedan
al sistema.
Si se sabe que existen vulnerabilidades en un sistema operativo o una aplicación, ya
sean intencionales o no, el software queda expuesto al ataque de programas
maliciosos.
Microsoft Windows
Microsoft SQL Server
El gestor de base de datos de Microsoft ha sido, tradicionalmente, un producto con un
nivel de seguridad muy bajo.
Por un lado, existen un gran número de vulnerabilidades de seguridad, muchas de
ellas críticas, que pueden ser utilizadas para acceder y/o modificar a la información
almacenada en las bases de datos.
Servicios de Acceso Remoto
Todas las versiones de Windows incluyen mecanismos para permitir el acceso remoto
tanto a las unidades de disco y al registro así como para la ejecución remota de
código. Estos servicios han demostrado ser bastante frágiles y la existencia de
abundantes vulnerabilidades ha sido uno de los mecanismos que prefieren los gusanos
y virus para poder propagarse.
Autenticación
Es habitual encontrar equipos Windows con deficiencias en sus mecanismos de
autenticación. Esto incluye la existencia de cuentas sin contraseña (o con contraseñas
ampliamente conocidas o fácilmente deducibles). Por otra parte es frecuente que
diversos programas creen nuevas cuentas de usuario con un débil mecanismo de
autenticación.
Por otra parte, a pesar de que Windows transmite las contraseñas cifradas por la red,
dependiendo del algoritmo utilizado es relativamente simple aplicar ataques de fuerza
bruta para descifrarlos en un plazo de tiempo muy corto.
Existencia de Servidores Web y sus Servicios Asociados
Cuando se instala un servidor web en un equipo Windows, en su configuración por
defecto, se activan algunos servicios y/o configuraciones que son vulnerables a
diversos tipos de ataques, que van desde la denegación de servicio hasta el
compromiso total del sistema.
Si la máquina debe actuar como servidor web, es preciso verificar que la versión del
mismo está actualizada, se ha fortalecido la configuración y se han desactivado los
servicios innecesarios.
Programa de Correo
Diversas versiones de Windows incluyen de forma estándar el programa de correo
Outlook Express. Se trata de un producto que, si no se encuentra convenientemente
actualizado, puede fácilmente comprometer la seguridad del sistema.
Los principales problemas de seguridad asociados a Outlook Express son la
introducción de virus (sin que sea necesario ejecutar ningún programa) y el robo de
información sensible.
Sistemas de Mensajería Instantánea
Ésta ha pasado de ser un sistema de comunicación utilizado básicamente para
contactar con amigos y familiares a ser una herramienta de comunicación
habitualmente utilizada en las empresas, especialmente entre aquellas que disponen de
diversos centros de trabajo.
Los diversos programas de mensajería instantánea pueden ser víctimas de ataques
explotables de forma remota y que pueden ser utilizados para obtener el control de los
sistemas vulnerables.
CVE-2018-8409
Una vulnerabilidad de denegación de servicio en System.IO.Pipelines catalogada
como “importante”, que podría llegar a ser explotada de manera remota y sin
necesidad de autenticación, donde un atacante podría provocar una denegación de
servicio contra una aplicación que esté utilizando System.IO.Pipelines y enviarle
solicitudes especialmente confeccionadas.
CVE-2018-8457
Esta vulnerabilidad está relacionada a un fallo en la ejecución remota del código que
tiene lugar por la forma en que el motor de scripting maneja los objetos en la memoria
dentro de los navegadores de Microsoft. Este error podría ser explotado por un
atacante que logre atraer a la víctima para que visite un sitio malicioso a través de un
navegador de Microsoft.
CVE-2018-8475
Esta vulnerabilidad catalogada junto a la anterior como crítica y que ya cuenta con un
parche, permitiría la ejecución remota de código en Windows cuando el sistema
operativo no manipula de manera correcta archivos de imágenes diseñados
especialmente. Según explica la compañía, en caso de que un atacante logre explotar
la vulnerabilidad podría ejecutar código de manera arbitraría y para lograrlo debería
lograr que el usuario descargue el archivo de una imagen de este tipo.
Linux
Servicio de Transporte de Correo
Los equipos Linux que actúan como servidores de correo pueden ser vulnerables, caso
de utilizar una versión antigua, a todo tipo de ataques. Fruto de estos ataques se puede
conseguir el control completo del sistema vulnerable, la utilización del servidor de
correo como estación de distribución de correo basura o robo de información sensible.
Servidor Web
Prácticamente todos los sistemas Unix y Linux incluyen de forma nativa el servidor
Apache. Una configuración inadecuada del mismo así como la utilización de versiones
antiguas pueden provocar problemas de seguridad, con diversos niveles de efectos
sobre el nivel de seguridad.
Aplicaciones Obsoletas de Terceras Partes
Otro sector susceptible de explotación de vulnerabilidades de Linux suele estar
facilitado por los sistemas que funcionan en software obsoleto como Apache, PHP,
MySQL, OpenSSL y VNC.
Las aplicaciones obsoletas crean una brecha por la que se pueden colar malas
intenciones lo que conlleva a la explotación y acceso no autorizado de los sistemas.
Un usuario malicioso interno o un tercero que provenga del exterior pueden entrar sin
autorización, especialmente a través de canales de comunicación no protegidos, como
una red inalámbrica.
Autenticación
Es habitual encontrar equipos Linux con deficiencias en sus mecanismos de
autenticación. Esto incluye la existencia de cuentas sin contraseña o con contraseñas
ampliamente conocidas o fácilmente deducibles.
Mala Configuración de los Servicios de Red
Los servicios NFS y NIS son los métodos más frecuentemente utilizados para la
compartición de recursos e información entre los equipos Linux de una red. Una mala
configuración de los mismos puede ser utilizada para la realización de diversos tipos
de ataques, que van desde la ejecución de código en los sistemas vulnerables a la
realización de ataques de denegación de servicio.
Ausencia de Respaldo
Sencillamente, no se hacen copias de seguridad. Parte del problema reside en que, a
menudo, se menosprecia la importancia crítica que tienen ciertos sistemas basados en
Linux. Algunos administradores mantienen una simple copia de respaldo de archivos
de sus sistemas Linux, pero no de la instalación completa del OS. Con esto, si se
produce un desastre o una falla del disco, se ven forzados a enfrentar un largo proceso
de recuperación.
Software BIND
BIND es el software estándar para actuar como servidor de nombres de dominio, un
servicio esencial para el correcto funcionamiento de la red. Determinadas versiones
son vulnerables a ataques que pueden ser utilizados por un atacante remoto para
comprometer los sistemas vulnerables. Además una mala configuración de BIND
puede revelar información sensible sobre la configuración de la red.
Núcleo del Sistema Operativo
El núcleo del sistema operativo realiza las funciones básicas como la interacción con
el hardware, la gestión de la memoria, la comunicación entre procesos y la asignación
de tareas. La existencia de vulnerabilidades en el núcleo puede provocar problemas de
seguridad que afecten a todos los componentes del sistema. Es muy importante la
correcta configuración del núcleo, para evitar o reducir el alcance de las posibles
vulnerabilidades.
Carencia de Ejecución de las Contraseñas
Al igual que con los parches, los administradores tienden a relajarse cuando se trata de
ejecutar contraseñas robustas en Linux. No sé cuál puede ser la razón, porque los
mecanismos de ejecución vienen incorporados. Lo cierto es que los nombres de
usuario acaban siendo minados con facilidad y sus contraseñas violadas.
Mac Os
El Bug
Está catalogado como una vulnerabilidad del tipo LPE (escalada de privilegios
locales) y afecta específicamente a una extensión del kernel de macOS llamada
IOHIDFamily. El atacante puede obtener acceso root y ejecutar código en el equipo
que puede dejarlo vulnerable.
Robo de Contraseñas
Una vulnerabilidad dentro de macOS High Sierra de Apple, la cual nos
permite acceder a la configuración del sistema sin contraseña. Un fallo que incluso
nos permite crear otro usuario con privilegios de administrador que de igual forma no
necesita contraseña para acceder.
Crackeo de Sandbox
Podría permitir a una aplicación maliciosa tener acceso al contenedor seguro que
pertenece a otra aplicación y robar datos de él.
Secuestro de Esquema
Se refiere a las aplicaciones esquema URL que se utilizan para transmitir los datos a
otra aplicación. Esta vulnerabilidad permite a una aplicación maliciosa secuestrar un
esquema, lo que significa que los datos enviados a la aplicación de destino serían
recibidos en otro lugar. Esto podría facilitar el robo de tokens de acceso y otra
información.
Día Cero
El día cero se desencadena por abusar de la interfaz de usuario a través de una técnica
novedosa que genera “clics sintéticos” emulando el comportamiento del usuario. Esto
permite a los actores de amenaza para eludir automáticamente mensajes de alerta e
información engañando al sistema.
Conclusión
No tiene sentido afirmar categóricamente que tal o cual sistema es más o menos
seguro si no se tienen en cuenta todos los factores que pueden afectar a su seguridad.
Esto incluye no solo las vulnerabilidades descubiertas durante un periodo determinado
de tiempo, sino también el uso de aplicaciones que puedan ampliar su superficie de
ataque o la propia formación del usuario en seguridad, uno de los aspectos más
descuidados y que ocasiona buena parte de los problemas.
Usualmente los ciberdelincuentes atacan Windows ya que es uno de los sistemas
operativos más extendidos a nivel mundial pero esto no quiere decir que sistemas
como Linux o Mac Os no sean vulnerables.
A medida que han ido pasando los años, los sistemas operativos en particular y todo el
software en general se han visto afectados, en mayor o menor medida, por los ataques
perpetrados por códigos maliciosos de terceros que han intentado acceder a nuestros
datos.