Guía de seguridad en macOS (Parte 1)

Después de haber nombrado términos generales de ciberseguridad en la Guía de Seguridad para tu Secure Summer, vamos ahora a mostraros en los siguientes posts una guía general sobre toda la seguridad que concierne a macOS.
En esta guía profundizaremos en todas las areas implicadas en la securización del sistema operativo de nuestros Macs, desde la seguridad del sistema y redes, cifrado, autenticación y limitaciones de aplicaciones externas.
Estos artículos están divididos según las diversas areas antes mencionadas, dando una breve explicación sobre los elementos que conciernen a cada apartado.

Seguridad del sistema
El sistema de macOS está diseñado de forma que tanto el hardware como el software sean seguros en todos los componentes principales del Mac. Esta arquitectura es el pilar fundamental de la seguridad en macOS, y está diseñada de forma que nunca se interpone en el camino de la usabilidad del dispositivo.

Unix
El kernel de macOS está basado en la Berkley Software Distribution (BDS), y el Mach micro-kernel.
BDS aporta los servicios básicos de gestión archivos y red, el esquema identificación de usuarios y grupos y otras funcionalidades fundamentales.
Por otro lado Mach provee al sistema de gestión de memoria, controls de hilos, abstracción de hardware y comunicación entre procesos.
Las políticas de seguridad de BSD y los permisos de acceso de Mach constituyen la seguridad esencial en macOS y son elementos críticos para la seguridad local. 
Modelo de permisos del usuario
Un permiso es la habilidad de realizar una una operación específica, como acceder a determinada información o ejecutar código. El poder conceder o retirar los permisos del sistema es un aspecto fundamental de la seguridad de los Macs.
Los permisos se conceden a nivel de carpetas, subcarpetas, archivos, aplicaciones, funciones de administrador u otros servicios.
macOS controla permisos a muchos niveles, incluyendo los componentes del kernel de Mach y BSD. Para controlar los permisos de red, macOS hace uso de los protocolos de red.
Controles de acceso obligatorios
Los controles de acceso obligatorios permiten hacer funcionar algunas tecnologías importantes del sistema como el sandboxing, controles parentales, extensiones y el SIP. Estos controles son básicamente políticas que habilitan restricciones de seguridad creadas por el desarrollador y no pueden ser anuladas por el usuario.
Protección de Integridad de Sistema (SIP)
OS X 10.11 incluyó una protección a nivel de sistema que restringía componentes a un acceso de solo escritura en areas críticas del sistema, impidiendo que código malicioso pudiera modificar o ser ejecutado en esas zonas. macOs aplica esta política de seguridad a cada proceso ejecutado en el sistema, independientemente de si existe en un entorno de sandbox o es ejecutado con permisos de administrador.
Extensiones del Kernel
macOs provee mecanismos de extensión de kernel que permite la carga dinámica de código en el kernel sin necesidad de recompilar el código. Debido a esto, los KEXTs (Kernel Extensions) son una solución muy demandada para servicios que requieren acceso a interfaces del kernel internas, como los drivers de dispositivos hardware o aplicaciones VPN. Para mejorar la seguridad de esta función, desde macOS High Sierra se requiere el consentimiento explícito del usuario para cargar estas extensiones.

Contraseña de Firmware
El uso de una contraseña de firmware previene de numerosos vectores de ataques en el sistema como:
  • Arrancar desde un volumen no autorizado.
  • Alteración del proceso de arranque, como por ejemplo arrancar en modo de un solo usuario.
  • Accesos no autorizados a “macOS Recovery”.
  • “Direct memory accesss” (DMA) o acceos directo a memoria desde interfaces como thunderbolt.
  • Uso del “Target disk mode”, que requiere DMA.
Los últimos macbook pros y el nuevo iMac Pro, gracias al chip T2, tienen la capacidad de imposibilitar de resetear la contraseña del firmware, incluso si se consigue acceso físico al dispositivo.

Recuperación por Internet
Los Macs intentan arrancar desde la utilidad Recuperación de macOS a través de internet cuando no son capaces de iniciar el sistema desde el sistema de recuperación integrado.  
En este modo un usuario es capaz de reinstalar la última versión de macOS o la versión del sistema operativo que incluía el equipo en el momento de su compra.
Las actualizaciones de macOS se distribuyen a través del App Store y son ejecutadas a través del Instalador de macOS, que aprovecha las firmas del código para asegurarse de la integridad y autenticidad del instalador y sus paquetes antes de la instalación.
Figura 1: Herramienta de recuperación de macOS

Autenticación y firma digital
Para asegurar el almacenamiento de credenciales de usuarios e identidades digitales, macOS incluye Keychain y otras herramientas que soportan tecnologías de autenticación y firmado digital como smart cards y S/MIME.

Arquitectura del Keychain

Keychain es un repositorio que almacena de forma segura usuarios, contraseñas, identidades digitales, claves de cifrado y notas seguras. Cualquier usuario puede acceder a ella abriendo la aplicación “Keychain Access” en la carpeta de Aplicaciones. El uso del “key¡chain” elimina la necesidad de introducir las credenciales en todos los recursos cada vez que son requeridas.
Además de esto, macOS usa una serie de keychains a nivel de sistema que mantienen la autenticación de recursos del sistema como credenciales de red e identidades de infraestructuras de clave pública (PKI)

Framework de autenticación segura
La información almacenada en el “Keychain” está particionada y protegida con Listas de Control de Acceso (ACLs) para que credenciales almacenadas por terceros no puedan ser accedidas por aplicaciones con diferentes identidades a no ser que el usuario lo permita explícitamente.

Touch ID
Macs con sensores Touch ID son capaces de ser desbloqueados usando una huella. Touch ID no reemplaza la necesidad de una contraseña a pesar de ello, ya que esta será requerida siempre que el usuario reinicie, apague o cierre la sesión del dispositivo. Los usuarios también son capaces de desbloquear Notas con protección o distintas preferencias del sistema.

Desbloqueo automático con el Apple Watch
También será posible el desbloqueo de un Mac a través del Apple Watch gracias a Bluetooth Low Energy (BLE) y el peer-to-peer Wi-Fi, que permite determinar la proximidad del dispositivo para el desbloqueo.

Si os ha gustado esta primera parte, estad atentos a las siguientes donde explicaremos los demás elementos que participan en la seguridad de macOS.

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.