Mach-O
Mach-O とは何ですか?
Mach-OMach-O は macOS・iOS・watchOS・tvOS が使用する実行ファイル、オブジェクト、共有ライブラリのネイティブ形式で、Apple のツールチェインが生成する。
Mach-O(Mach Object)は、macOS・iOS・watchOS・tvOS など Apple の OS が用いるバイナリ形式です。Mach-O ファイルはヘッダー、セグメントを記述する load command、ダイナミックリンカー情報、シンボルテーブル、コード署名ブロブを含みます。Universal(fat)バイナリは x86_64 や arm64 など複数アーキテクチャ向けスライスをひとつにまとめます。セキュリティ観点では、AMFI や Gatekeeper による署名要件、Hardened Runtime のエンタイトルメント、Notarization メタデータを担う形式です。マルウェア解析者は load command、組み込みの LC_CODE_SIGNATURE、dyld の挙動を調べ、インジェクション・dylib hijacking・改ざんを検出します。
● 例
- 01
otool -l と codesign --display で悪意のある .app バンドルを調べ、改ざんされた LC_CODE_SIGNATURE を検出する。
- 02
未署名の Mach-O に対して DYLD_INSERT_LIBRARIES を使い、悪意のある dylib をロードする攻撃。
● よくある質問
Mach-O とは何ですか?
Mach-O は macOS・iOS・watchOS・tvOS が使用する実行ファイル、オブジェクト、共有ライブラリのネイティブ形式で、Apple のツールチェインが生成する。 サイバーセキュリティの アプリケーションセキュリティ カテゴリに属します。
Mach-O とはどういう意味ですか?
Mach-O は macOS・iOS・watchOS・tvOS が使用する実行ファイル、オブジェクト、共有ライブラリのネイティブ形式で、Apple のツールチェインが生成する。
Mach-O からどのように防御しますか?
Mach-O に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
Mach-O の別名は何ですか?
一般的な別名: Mach Object, Mach-O バイナリ。