Mach-O
Что такое Mach-O?
Mach-OMach-O — это родной формат исполняемых файлов, объектных модулей и разделяемых библиотек macOS, iOS, watchOS и tvOS для бинарников, собранных в инструментарии Apple.
Mach-O (Mach Object) — двоичный формат, используемый операционными системами Apple: macOS, iOS, watchOS и tvOS. Файл Mach-O содержит заголовок, список load command, описывающих сегменты, информацию для динамического компоновщика, таблицы символов и блоки кодовой подписи. Универсальные (fat) бинарники объединяют срезы для нескольких архитектур, например x86_64 и arm64. С точки зрения безопасности Mach-O несёт требования к подписи кода, обеспечиваемые AMFI и Gatekeeper, разрешения Hardened Runtime и метаданные нотаризации; аналитики вредоносного ПО изучают load command, встроенный LC_CODE_SIGNATURE и поведение dyld, чтобы выявить инъекции, dylib hijacking и подделку.
● Примеры
- 01
Анализ вредоносного .app с помощью otool -l и codesign --display для обнаружения подделанного LC_CODE_SIGNATURE.
- 02
Злоумышленник использует DYLD_INSERT_LIBRARIES над неподписанным Mach-O, чтобы подгрузить вредоносный dylib.
● Частые вопросы
Что такое Mach-O?
Mach-O — это родной формат исполняемых файлов, объектных модулей и разделяемых библиотек macOS, iOS, watchOS и tvOS для бинарников, собранных в инструментарии Apple. Относится к категории Безопасность приложений в кибербезопасности.
Что означает Mach-O?
Mach-O — это родной формат исполняемых файлов, объектных модулей и разделяемых библиотек macOS, iOS, watchOS и tvOS для бинарников, собранных в инструментарии Apple.
Как работает Mach-O?
Mach-O (Mach Object) — двоичный формат, используемый операционными системами Apple: macOS, iOS, watchOS и tvOS. Файл Mach-O содержит заголовок, список load command, описывающих сегменты, информацию для динамического компоновщика, таблицы символов и блоки кодовой подписи. Универсальные (fat) бинарники объединяют срезы для нескольких архитектур, например x86_64 и arm64. С точки зрения безопасности Mach-O несёт требования к подписи кода, обеспечиваемые AMFI и Gatekeeper, разрешения Hardened Runtime и метаданные нотаризации; аналитики вредоносного ПО изучают load command, встроенный LC_CODE_SIGNATURE и поведение dyld, чтобы выявить инъекции, dylib hijacking и подделку.
Как защититься от Mach-O?
Защита от Mach-O обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Mach-O?
Распространённые альтернативные названия: Mach Object, Mach-O бинарник.
● Связанные термины
- appsec№ 373
Формат ELF
Executable and Linkable Format — стандартный бинарный контейнер для исполняемых файлов, объектных модулей и разделяемых библиотек в Linux, BSD и большинстве систем семейства System V Unix.
- appsec№ 809
Формат PE
Portable Executable — формат двоичных файлов Windows для .exe, .dll, .sys и .ocx, происходящий от более старого формата объектных файлов COFF.
- attacks№ 331
Перехват DLL
Атака, использующая порядок поиска DLL в Windows, чтобы легитимная программа загрузила подконтрольную злоумышленнику библиотеку вместо нужной.
- forensics-ir№ 650
Анализ вредоносного ПО
Структурированное исследование вредоносного образца для понимания его функциональности, происхождения, индикаторов компрометации и воздействия на затронутые системы.
- forensics-ir№ 926
Обратная разработка
Процесс дизассемблирования и анализа скомпилированного ПО, прошивок или аппаратного обеспечения с целью восстановления их устройства, поведения и внутренней работы.