ニュース

macOSにコード署名チェックをバイパスできる脆弱性

非署名コードがLittleSnitchで署名済みとして扱われている様子

 米Oktaの研究チームは12日(現地時間)、Appleの「macOS」に、コード署名チェックをバイパスできる脆弱性が存在することを報告した。

 コード署名は、公開鍵を利用して、コンパイル済みのコードにデジタル署名を行なったり、コードの改竄がないか確認するといったセキュリティを確保する手法で、macOSでは、コード署名の仕組みを利用して、信頼できるコードだけがメモリ上で実行されるよう制限している。

 発見された脆弱性は、Appleのコード署名APIが、Fat/Universalファイル(バイナリ形式)の署名のチェックを行なうさい、OSのネイティブCPUアーキテクチャ(x86_64)の署名チェックを優先するため、バイナリの最初の「Mach-O」ファイルが正しく署名された、悪意のあるコードをi386でコンパイルすることで、“Appleによる署名済みのコード”として、コード署名チェックをバイパスできるという。

 同社によれば、脆弱性は2007年にリリースされた「OS X Leopard」以降のOS X、macOSに影響し、同様に影響を受けるコード署名関連のアプリやサービスは以下のとおり。

 すでに下記のベンダーおよびAppleに問題が報告されているため、随時修正パッチが提供されるとみられる。

  • VirusTotal - CVE-2018-10408
  • Google - Santa, molcodesignchecker - CVE-2018-10405
  • Facebook - OSQuery - CVE-2018-6336
  • Objective Development - LittleSnitch - CVE-2018-10470
  • F-Secure - xFence (LittleFlockerも該当) CVE-2018-10403
  • Objective-See - WhatsYourSign, ProcInfo, KnockKnock, LuLu, TaskExplorer (およびその他) - CVE-2018-10404
  • Yelp - OSXCollector - CVE-2018-10406
  • Carbon Black - Cb Response - CVE-2018-10407