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 funciona Mach-O?
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.
¿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.
● Términos relacionados
- appsec№ 373
Formato binario ELF
Executable and Linkable Format, el contenedor binario estandar para ejecutables, objetos y bibliotecas compartidas en Linux, BSD y la mayoria de derivados de System V Unix.
- appsec№ 809
Formato ejecutable PE
Portable Executable, el formato binario de Windows usado por archivos .exe, .dll, .sys y .ocx, derivado del antiguo formato de objetos COFF.
- attacks№ 331
Secuestro de DLL
Ataque que abusa del orden de búsqueda de DLL en Windows para que un programa legítimo cargue una biblioteca controlada por el atacante en lugar de la legítima.
- forensics-ir№ 650
Análisis de malware
Estudio estructurado de una muestra maliciosa para comprender su funcionamiento, origen, indicadores de compromiso e impacto sobre los sistemas afectados.
- forensics-ir№ 926
Ingeniería inversa
Proceso de desensamblar y analizar software compilado, firmware o hardware para recuperar su diseño, comportamiento y funcionamiento interno.