Mach-O
¿Qué es Mach-O?
Mach-OMach-O es el formato nativo de ejecutables, objetos y bibliotecas compartidas que macOS, iOS, watchOS y tvOS usan para los binarios compilados con las herramientas de Apple.
Mach-O (Mach Object) es el formato binario utilizado por los sistemas operativos de Apple, incluidos macOS, iOS, watchOS y tvOS. Un fichero Mach-O contiene una cabecera, una lista de load commands que describen los segmentos, informacion del enlazador dinamico, tablas de simbolos y bloques de firma de codigo. Los binarios universales o fat agrupan secciones para varias arquitecturas como x86_64 y arm64. Desde el punto de vista de seguridad Mach-O lleva los requisitos de code signing que aplican AMFI y Gatekeeper, entitlements del hardened runtime y metadatos de notarizacion; los analistas de malware revisan los load commands, el LC_CODE_SIGNATURE embebido y el comportamiento de dyld para detectar inyecciones, dylib hijacking y manipulaciones.
● Ejemplos
- 01
Analizar un bundle .app malicioso con otool -l y codesign --display para detectar un LC_CODE_SIGNATURE manipulado.
- 02
Un atacante que usa DYLD_INSERT_LIBRARIES sobre un Mach-O sin firmar para cargar una dylib maliciosa.
● Preguntas frecuentes
¿Qué es Mach-O?
Mach-O es el formato nativo de ejecutables, objetos y bibliotecas compartidas que macOS, iOS, watchOS y tvOS usan para los binarios compilados con las herramientas de Apple. Pertenece a la categoría de Seguridad de aplicaciones en ciberseguridad.
¿Qué significa Mach-O?
Mach-O es el formato nativo de ejecutables, objetos y bibliotecas compartidas que macOS, iOS, watchOS y tvOS usan para los binarios compilados con las herramientas de Apple.
¿Cómo defenderse de Mach-O?
Las defensas contra Mach-O combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para Mach-O?
Nombres alternativos comunes: Mach Object, Binario Mach-O.