「macOSは安全」はもう通じない 深部の脅威を暴くApple「ESF」活用術:既存ログでは不十分?
勢いを増すmacOSへの攻撃に対し、既存ログのみでそれらを検出するのは困難だ。システム監視機能「Endpoint Security」を活用し、システム深部のイベントを可視化して脅威ハンティングを実施する方法を解説する。
「『macOS』は『Windows』に比べて安全だ」という認識は、広く浸透していた。しかし、その安全神話はもはや過去のものとなっている。近年、macOSを取り巻く攻撃状況は激化しており、国家主導の攻撃だけではなく、「Nim」「Rust」「Zig」などのプログラミング言語で書かれた新たなマルウェアがmacOSを狙うようになっている。
インシデント調査において、従来はmacOS標準のシステム診断ツール「sysdiagnose」や、ログ一元管理システム「Apple Unified Log」などが利用されてきた。しかし、これらの手法だけでは、マルウェアによるファイルの作成や削除、プロセスの実行といったシステム深部の動作を詳細に追跡することが難しい場合がある。
こうした課題を解決する手段として、Appleが提供する、セキュリティ用API「Endpoint Security」(「Endpoint Security Framework」<ESF>とも)がある。ESFを利用することで、これまで見えづらかったOSの低レベルな挙動を可視化し、効率的な脅威ハンティングが可能になる。
ESFは強力な仕組みである半面、イベントデータはストリーム配信されるのみで、デフォルトではログとして保存されないという制約がある。このデータを収集し、実際の調査に活用するためにはどのような手順を踏めばよいのか。
「eslogger」で暴く脅威の実態
本稿では、セキュリティ教育機関SANS Instituteが主催するデジタルフォレンジックイベント「SANS DFIR Summit 2025」におけるセッション「MacOS Endpoint Security Framework: Not Another MacOS Log Source」の内容を基に、ESFの実践的な活用法を解説する。登壇したのは、サイバーセキュリティ企業ProofpointのStaff Software Engineerであるジェイコブ・ラトニス氏と、脅威インテリジェンス企業GreyNoise IntelligenceのEngineerであるジュリア・パルチ氏だ。
ESFは2019年に公開された、OSの内部機能に直接アクセスできる「C」言語用のAPIだ。プロセスの実行、ファイルのオープンや作成、削除といった多様なシステムイベントを可視化できるようにする。
ESFから得られるイベントの中で特に重要なのが、プロセスのライフサイクルに関わる情報だ。例えばプロセスの作成を示す「exec」イベントには、実行可能ファイルのパスや、Appleの署名があるかどうかを示すOS標準バイナリ(Platform Binary)などのメタデータが含まれる。
分析で注意すべき点として、macOS特有のプロセス管理機能がある。macOSは、親プロセスが子プロセスよりも先に終了した場合、子プロセスが孤立しないようにOSが別のプロセスに親を付け替える「リペアレント」を実施する。この構造を正確に判別するため、ESFのデータにはそのアクションを引き起こした大本のプロセスIDを示す「Responsible PID」が含まれており、これを用いることで正確なプロセスの親子関係(実行チェーン)を再現できる。
エンドユーザーのプライバシー権限を管理するセキュリティ機構「TCC」(Transparency, Consent, and Control)データベースの監視機能もESFに組み込まれている。TCCは、アプリケーションがカメラやアクセシビリティー機能といったシステム権限・保護データにアクセスする際のルールを管理するデータベースだ。かつては脅威アクターがTCCデータベースを改ざんして権限を奪取する手法が存在した。現在ではOS保護機能「SIP」(System Integrity Protection)によって直接の変更は防がれているものの、ESFを通じてTCCデータベースの変更履歴を監視することで、不正な権限操作を検出する一助となる。
ESFから出力されるイベントストリームを記録し、分析可能な形にするためには、macOSに組み込まれているコマンドラインツール「eslogger」を活用する。esloggerを使用すると、指定したイベントタイプを「JSON Lines」(JSONL)形式で標準出力したり、ログ一元管理システムに転送したりすることが可能だ。
プロセスのライフサイクルに関わるイベントのみを監視したい場合は、esloggerの実行時に「exec」「fork」「exit」といったイベントタイプを指定し、その出力を任意のファイルに保存するよう設定する。出力されたログは、「Python」プログラムやJSON処理ツール「jq」などでパースすることで、調査担当者が解読しやすい形式に変換できる。パースされたログを分析することで、例えばユーザーのダウンロードフォルダに置かれた「Chrome Update」と名乗る偽装バイナリが、暗号資産ウォレットのファイルにアクセスしようとしているといった事象を発見できる。ただし、全てのファイルオープンイベントを監視するなど、フィルタリングせずに収集すると膨大なノイズが発生するため、監視対象のディレクトリやイベントを適切に絞り込むことが不可欠だ。
macOSを標的とした攻撃が高度化する中、システムで何が起きているかを正確に把握する能力は、これまで以上に重要になっている。ESFは主にEDR(Endpoint Detection and Response)製品がテレメトリー(指標)を収集するための手段として利用されているが、企業のインシデントレスポンス担当者自身がその仕組みを理解し、ESFのデータを活用することは、既存のセキュリティ対策を擦り抜けた脅威を捕捉する強力な武器となる。
本稿は、SANS Instituteが2025年8月15日に公開した動画「MacOS Endpoint Security Framework」を基に作成しました。
Copyright © ITmedia, Inc. All Rights Reserved.
本記事は制作段階でChatGPT等の生成系AIサービスを利用していますが、文責は編集部に帰属します。