Cómo funciona el malware en macOS y cómo asegurar tu Mac.

El malware es un software malicioso que no quieres encontrar, ya que puede dañar tu Mac o causar la pérdida de datos. Aquí te explicamos cómo protegerte contra él.

Con la seguridad siendo una preocupación cada vez mayor en la era conectada, los ataques maliciosos por parte de actores malintencionados siguen siendo un problema para muchas organizaciones y usuarios.

El software maligno (malware) puede ser instalado en tus dispositivos, lo que puede llevar a la pérdida de credenciales o datos, la corrupción de sistemas operativos o ransomware.

A medida que se multiplican los miles de millones de dispositivos digitales en todo el mundo y más comercio se traslada en línea, el malware se ha convertido en una amenaza cada vez mayor.

Modelos de seguridad del software

En los primeros días del software, antes de que Internet se hiciera mainstream, la mayoría de los sistemas eran abiertos y el software se podía instalar desde cualquier lugar. Normalmente era desde un CD-ROM o un disquete.

Con las tiendas de software en línea ahora siendo el estándar, esto es menos preocupante. Esto se debe a que las tiendas de aplicaciones verifican la mayoría del software antes de su lanzamiento para asegurar la seguridad.

No obstante, el software malicioso a veces puede pasar desapercibido.

Apple intentó resolver este problema con la introducción de tiendas curadas, como la App Store de iOS. Pero incluso allí, a veces se ha lanzado software malicioso.

Las tiendas curadas son más seguras y fiables, pero aún no son infalibles.

El Mac es ligeramente diferente, porque en sus primeros días también podía aceptar software de cualquier fuente. Aplicaciones clásicas como Virex y Norton Utilities ayudaron a “limpiar” los Macs de malware.

La Mac App Store de hoy cuenta con curaduría, validación de recibos de aplicaciones y notarización de aplicaciones. Pero el Mac aún permite la instalación de software desde cualquier lugar, si ciertos ajustes están desactivados.

Firmado de código, ID de desarrollador y Gatekeeper

Hace años, Apple introdujo una medida de seguridad adicional para el software de macOS: Gatekeeper. Junto con el ID de desarrollador, Gatekeeper por defecto garantiza que el software de Mac descargado sea seguro.

Con Gatekeeper, los desarrolladores de macOS se registran y reciben un ID de desarrollador de Apple, que luego se utiliza para firmar digitalmente el software de Mac que crean.

Si Gatekeeper está activado en macOS, se asegura de que las aplicaciones estén firmadas por los desarrolladores que las crean. También advierte en la primera ejecución de una aplicación de Mac para aplicaciones que no provienen de desarrolladores conocidos y registrados.

Los usuarios de Mac pueden elegir en Configuración del Sistema->Privacidad y Seguridad->Permitir aplicaciones de qué aplicaciones quieren permitir la instalación: solo aplicaciones de la App Store o de Desarrolladores Conocidos de la App Store.

Los Servicios de Firmado de Código y la notarización de aplicaciones aseguran que el software sea válido y no esté hackeado o malicioso cuando los usuarios lo descargan.

Configura la seguridad del software en Configuración del Sistema.

Protección de la Integridad del Sistema (SIP)

SIP restringe qué aplicaciones pueden ejecutarse y qué código puede ejecutarse en los Mac. Por defecto, solo las aplicaciones de la App Store o el software de desarrolladores de Apple registrados pueden ejecutarse.

También restringe que los archivos del sistema sean manipulados o modificados sin autorización.

Es posible desactivar SIP en la Terminal, pero no se recomienda. Hacerlo desactiva la seguridad de macOS y puede permitir que se ejecute código malicioso en los Mac.

La herramienta de línea de comandos csrutil se puede usar para inspeccionar y cambiar los parámetros de SIP.

LEAR  Las acciones para comprar los viernes, como Apple.

Para obtener el estado actual de SIP en tu Mac en la Terminal, escribe: csrutil status y presiona Enter.

La mayoría del software UNIX utiliza el concepto de privilegios y usuarios privilegiados. El usuario root, por ejemplo, tiene privilegios de seguridad ilimitados y puede realizar cambios en el software a voluntad.

Por razones de seguridad, el usuario root está desactivado por defecto en macOS. Otros usuarios pueden tener diversos niveles de privilegios, que permiten ciertas acciones, incluida la instalación o eliminación de software.

Los usuarios administradores tienen privilegios elevados, y se requiere una contraseña de administrador para muchas operaciones en macOS.

Al utilizar la escalada temporal de privilegios, los usuarios de macOS pueden recibir derechos adicionales por un corto período de tiempo.

El software bien diseñado debe estar factorizado de tal manera que el código crítico de seguridad se ejecute en un proceso separado llamado herramienta auxiliar. Las herramientas auxiliares aseguran que solo se pueda ejecutar una pequeña parte del código con privilegios elevados, restringiendo así qué partes del software pueden realizar tareas críticas que puedan poner en peligro la seguridad del sistema.

Una aplicación con una buena factorización colocará todo el código en riesgo en una herramienta auxiliar, luego, cuando se necesiten permisos, ejecutará la herramienta auxiliar después de que el usuario haya sido autorizado. Esto aumenta la seguridad y también significa que las aplicaciones comprometidas no pueden ejecutar todo el código con privilegios elevados, lo cual es un riesgo de seguridad.

La idea es ejecutar la herramienta auxiliar y elevar privilegios durante el menor tiempo posible, realizar operaciones privilegiadas y luego volver a bajar los privilegios a su nivel anterior cuando la herramienta auxiliar se cierre.

Los sockets y tuberías de dominio UNIX también se pueden usar para pasar información de forma segura entre procesos.

Demonios y marcos de seguridad

macOS es uno de los sistemas operativos más seguros del mundo, pero no es infalible.

La seguridad en macOS se gestiona con una combinación de procesos en segundo plano (demonios) y marcos de código de Apple cargados en las aplicaciones cuando se ejecutan. Estos incluyen:

launchd
secured (el servidor de seguridad)
Servicios XPC
Authorization Services.framework
Security.framework
System Configuration.framework
Service Management.framework
Endpoint Security.framework
Servicios Criptográficos
Servicios de Firmado de Código
Servicios de Llavero
Runtime Beneficiado

El enlace dinámico asegura que los marcos solo se carguen en memoria cuando se utilizan realmente sus APIs o interfaces.

Arquitectura de demonios y marcos de software seguros.

Los componentes de software mencionados proporcionan los siguientes servicios:

launchd (el Demonio de Lanzamiento) es un demonio de sistema que se ejecuta en segundo plano y gestiona el inicio y la terminación de aplicaciones y otros procesos en macOS.

secured (el Demonio de Seguridad) gestiona el acceso seguro, la elevación de privilegios, la ejecución de herramientas y ciertos IDs de usuario, y otros servicios de seguridad.

Servicios XPC gestiona la comunicación segura entre componentes de software, así como trabajar con launchd para ejecutar herramientas auxiliares de forma segura.

Authorization Services.framework gestiona la solicitud de contraseñas de administrador a los usuarios, almacena la escalada de privilegios y mantiene temporizadores que reducen los privilegios después de un tiempo determinado. Cuando tu Mac te solicita una contraseña de administrador para instalar software o cambiar un ajuste, envía un mensaje a secured para mostrar el cuadro de diálogo de contraseña de administrador para que el usuario pueda introducir un nombre y una contraseña.

Security.framework gestiona la identidad del usuario (autenticación) y otorga acceso a recursos, asegura los datos en disco y a través de conexiones de red, y verifica la validez del código antes de ejecutarlo.

LEAR  ¡Ups! Amazon filtra una imagen y especificaciones de un M4 Mac mini muy pequeño.

System Configuration.framework gestiona los ajustes del sistema y asegura que los ajustes restringidos solo puedan cambiarse si se ha proporcionado la autorización requerida.

Service Management.framework permite a las aplicaciones gestionar agentes de inicio, demonios de inicio y elementos de inicio de sesión.

Los Servicios Criptográficos proporcionan APIs de criptografía estándar, gestionan claves, certificados y contraseñas, y generan números aleatorios y hashes.

Los Servicios de Firmado de Código proporcionan servicios para firmar y verificar el software construido para asegurarse de que sea válido y no haya sido comprometido.

Los Servicios de Llavero gestionan claves del sistema, certificados e identidades.

El Runtime Beneficiado (junto con SIP) protege a macOS de la inyección de código, la manipulación de memoria y el secuestro de bibliotecas dinámicas. El entorno de desarrollo integrado Xcode de Apple incluye ajustes de Runtime Beneficiado, como permitir o no permitir el código Just-In-Time (JIT), el uso de memoria no firmada y las variables de entorno del enlazador dinámico (DYLD).

Cambiar las variables de entorno antes de ejecutar malware es una forma en que el código malicioso puede ser inyectado en las aplicaciones en ejecución.

Todos estos componentes funcionan juntos para asegurar que el software de macOS sea lo más seguro posible.

El concepto de seguridad de Zero Trust significa que todo acceso de software con privilegios se restringe a menos que un usuario privilegiado autorice explícitamente alguna acción segura. Zero Trust implica por defecto que el malware no puede ejecutarse sin una autorización específica.

Puedes ver qué demonios se están ejecutando actualmente en tu Mac en la utilidad Monitor de Actividad o utilizando el comando top en la Terminal. Para usar top, escribe:

Esto muestra todos los procesos en ejecución, incluidos los demonios, los IDs de proceso (PIDs), los tiempos de ejecución, el uso de la CPU, los puertos y más.

Cortesía @benzoix

Malware en Macs

El malware se puede definir como software malicioso que puede violar o infectar una computadora, red o dispositivo para deshabilitarlo, corromperlo o dañarlo, o para robar y transmitir datos no autorizados a través de una red.

La Ley de Fraude y Abuso Informático convierte en un delito federal en EE. UU. alterar, deshabilitar o acceder a una computadora o red sin autorización específica. También convierte en un delito transmitir o interceptar información robada a través de una red.

Los tipos de malware incluyen (pero no se limitan a) virus, caballos de Troya, aplicaciones o marcos maliciosos, controladores e incluso firmware. Los ataques de red también son posibles al inyectar malware en el código de red o escuchar las comunicaciones de la red.

El ransomware es un malware que roba secretos comerciales de la empresa o datos de clientes, y permite a los actores malintencionados exigir un pago a una organización para no usar o divulgar los datos robados.

Los virus son pequeños fragmentos de código que se pueden instalar y ejecutar de forma remota en la computadora local de un usuario y causar estragos en silencio.

Los virus pueden corromper o modificar el código de la aplicación, controladores, archivos, bases de datos o software del sistema para realizar alguna actividad maliciosa. Esto puede incluir borrar/dañar datos o modificar el software para realizar alguna acción maliciosa.

Los virus pueden ser silenciosos, indetectables y pequeños, y a menudo pasan desapercibidos hasta que es demasiado tarde. Debido a que los virus se pueden instalar en casi cualquier lugar, son difíciles de detener y aún más difíciles de eliminar una vez que infectan una computadora o dispositivo.

En el pasado, los virus incluso han infectado el firmware de dispositivos como unidades de almacenamiento o enrutadores de red, lo que los hace permanentemente dañados e inutilizables.

LEAR  Cómo el Partido Verde de Alemania Perdió su Brillo

Un caballo de Troya generalmente se considera una aplicación que, cuando se ejecuta, daña los datos almacenados u otro software instalado y causa que realice alguna actividad maliciosa. Un vector de ataque común de los caballos de Troya es reemplazar silenciosamente marcos de software o componentes del sistema con una versión impostora maliciosa, que las aplicaciones vinculadas luego ejecutan sin saberlo.

Los caballos de Troya hacen que las aplicaciones normales no sean conscientes de que, cuando se llaman APIs del marco hackeado, el impostor causará daño. Los caballos de Troya a menudo se presentan en forma de aplicaciones independientes o instaladores, o marcos y bibliotecas vinculadas.

Los controladores de dispositivos, asimismo, pueden instalarse para ejecutar código malicioso cuando se utiliza un dispositivo específico. Los controladores de malware de red son especialmente notorios, ya que pueden transmitir datos a voluntad a través de una red, que no se pueden recuperar o “deshacer” una vez enviados.

El firmware malicioso infecta o reemplaza el firmware existente dentro de dispositivos externos, lo que hace que causen estragos en el funcionamiento normal, o cuando se envían comandos estándar específicos a un dispositivo. El firmware malicioso del dispositivo de almacenamiento es probablemente el más común, ya que se puede instalar fácilmente a través de comandos flash en el dispositivo, y luego causar que los comandos estándar de E/S de disco provoquen pérdida o corrupción de datos.

Los ataques de red vienen en forma de código malicioso inyectado en páginas web o comandos de base de datos, generalmente agregando código adicional al final de comandos y datos estándar.

El malware de desbordamiento de búfer, por ejemplo, añade una pequeña cantidad de código malicioso al final de una URL, página web, script o paquete de red. Cuando se recibe y se ejecuta en la computadora del cliente, provoca daños.

Los ataques de desbordamiento de búfer son uno de los ataques basados en web más comunes. Son difíciles de detectar porque la mayoría del código de red y de las páginas web se ejecuta automáticamente y fuera de la mayoría de los modelos de seguridad del software.

La mayoría de los navegadores web ahora incluyen configuraciones para restringir qué tipos de software se pueden descargar y ejecutar automáticamente en sus ventanas.

Los applets de Java son conocidos por permitir descargas de malware.

Otros tipos de ataques de red incluyen impostores, hombre en el medio, robo de credenciales, phishing, suplantación de correo electrónico y Denegación de Servicio Distribuido (DDoS) en el que las computadoras remotas inundan los servidores con tanta información que dejan de funcionar.

Los ataques de ingeniería social son tácticas engañosas en las que los actores malintencionados convencen a las víctimas de que son legítimos con el fin de acceder a su información protegida, o hacer que realicen alguna acción que pueda perjudicarles. Los ingenieros sociales también pueden tratar de manipular a las víctimas para que realicen delitos sin saberlo, para que en caso de ser descubiertos puedan culpar a otra persona.

La ingeniería social en particular se utiliza en el vasto y en gran parte desconocido campo del espionaje industrial (espionaje).

Los ataques de red son algunos de los incidentes más comunes y simples.

Lo que puedes hacer

Debido al bien pensado modelo de seguridad de macOS y los privilegios UNIX, el Mac es un sistema muy seguro. Aun así, las brechas pueden y suceden.

Debido al usuario root desactivado y los privilegios limitados bajo los que se ejecuta la mayoría