ゼロデイ攻撃を専門に研究するグーグルの研究チーム「Project Zero」が、3月、アップルのmacOSのカーネルである「XNU」に脆弱性があることを発見したと明らかにした。すでに2018年11月に報告済みだが、指定された90日を過ぎてもアップルから修正バッチが配布されていないことから、情報を公開したという(1726 - XNU: copy-on-write behavior bypass via mount of user-owned filesystem image - project-zero - Monorail)。
脆弱性は、XNUに搭載されているコピー・オン・ライト(COW)の機能についてのもの。簡単にいうと、コンピューターのプログラミングにおいて、大きなデータを複製する必要が生じたとき、その都度すべてをコピーすると処理に時間がかかる。そこで、コピーを要求されたときには何もせず、コピーされた原本、あるいはコピーの書き変えが要求されたときに、はじめて新たな空き領域を探して割り当て、コピーを実行する方法がCOWだ。
今回の脆弱性を突いた場合、ディスク上のイメージが直接書き換えられても、仮想ディスクを管理するサブシステムに通知されず、COW処理がなされない可能性があるという。これにより、コピーが書き換えられたイメージに影響されたり、もとのデータとコピー先を二重に読み込んでしまったりするケースが想定される。
システム警告やエラーなどを表示させることなく、ディスク上のファイルを書き換えられる可能性があることになり、最悪、システムが乗っ取られるおそれもある。アップルはProject Zeroとともに問題の対処にあたっており、将来のmacOSのリリース時に脆弱性は修正されるとみられている。
多くの場合、コンピューターに関する新たな脆弱性は、「脆弱性が発見される→関係機関などに報告される→修正プログラムが作成される」という流れで、対策が完了する。しかし、解消する手段がない状態で脅威にさらされる「ゼロデイ」の脆弱性が存在する。修正プログラムが提供される日(1日目、One day)より前の日(0日目)に、その脆弱性を攻略する攻撃は「ゼロデイ攻撃」と呼ばれる。
ゼロデイ攻撃の場合、対応策が公表される前に攻撃されるため、パッチを適用するような防御方法を取れない。攻撃者だけが知っている「未知の脆弱性」、修正プログラムが適応される前の「未対応の脆弱性」を突いた攻撃に、われわれは対処できるだろうか。