Mach-O
O que é Mach-O?
Mach-OMach-O e o formato nativo de executaveis, objetos e bibliotecas partilhadas usado por macOS, iOS, watchOS e tvOS para binarios produzidos pela toolchain da Apple.
Mach-O (Mach Object) e o formato binario utilizado pelos sistemas Apple, incluindo macOS, iOS, watchOS e tvOS. Um ficheiro Mach-O contem um cabecalho, uma lista de load commands que descrevem segmentos, informacao do linker dinamico, tabelas de simbolos e blocos de assinatura de codigo. Binarios universais (fat) agrupam fatias para varias arquiteturas como x86_64 e arm64. Em termos de seguranca, o Mach-O transporta requisitos de code signing aplicados pelo AMFI e Gatekeeper, entitlements de hardened runtime e metadados de notarizacao; analistas de malware examinam load commands, o LC_CODE_SIGNATURE embutido e o comportamento do dyld para detetar injecao, dylib hijacking e adulteracoes.
● Exemplos
- 01
Inspecionar um bundle .app malicioso com otool -l e codesign --display para detetar um LC_CODE_SIGNATURE adulterado.
- 02
Um atacante a usar DYLD_INSERT_LIBRARIES sobre um Mach-O nao assinado para carregar uma dylib maliciosa.
● Perguntas frequentes
O que é Mach-O?
Mach-O e o formato nativo de executaveis, objetos e bibliotecas partilhadas usado por macOS, iOS, watchOS e tvOS para binarios produzidos pela toolchain da Apple. Pertence à categoria Segurança de aplicações da cibersegurança.
O que significa Mach-O?
Mach-O e o formato nativo de executaveis, objetos e bibliotecas partilhadas usado por macOS, iOS, watchOS e tvOS para binarios produzidos pela toolchain da Apple.
Como funciona Mach-O?
Mach-O (Mach Object) e o formato binario utilizado pelos sistemas Apple, incluindo macOS, iOS, watchOS e tvOS. Um ficheiro Mach-O contem um cabecalho, uma lista de load commands que descrevem segmentos, informacao do linker dinamico, tabelas de simbolos e blocos de assinatura de codigo. Binarios universais (fat) agrupam fatias para varias arquiteturas como x86_64 e arm64. Em termos de seguranca, o Mach-O transporta requisitos de code signing aplicados pelo AMFI e Gatekeeper, entitlements de hardened runtime e metadados de notarizacao; analistas de malware examinam load commands, o LC_CODE_SIGNATURE embutido e o comportamento do dyld para detetar injecao, dylib hijacking e adulteracoes.
Como se defender contra Mach-O?
As defesas contra Mach-O costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para Mach-O?
Nomes alternativos comuns: Mach Object, Binario Mach-O.
● Termos relacionados
- appsec№ 373
Formato binario ELF
Executable and Linkable Format, o contentor binario padrao para executaveis, ficheiros objeto e bibliotecas partilhadas em Linux, BSD e na maioria dos derivados de System V Unix.
- appsec№ 809
Formato executavel PE
Portable Executable, o formato binario do Windows usado por ficheiros .exe, .dll, .sys e .ocx, derivado do antigo formato de objetos COFF.
- attacks№ 331
Sequestro de DLL
Ataque que abusa da ordem de busca de DLL no Windows para fazer um programa legítimo carregar uma biblioteca controlada pelo atacante em vez da pretendida.
- forensics-ir№ 650
Análise de malware
Estudo estruturado de uma amostra maliciosa para compreender o seu funcionamento, origem, indicadores de comprometimento e impacto nos sistemas afetados.
- forensics-ir№ 926
Engenharia inversa
Processo de desmontar e analisar software compilado, firmware ou hardware para reconstruir o seu desenho, comportamento e funcionamento interno.