Реализованный в новой macOS High Sierra механизм безопасности Secure Kernel Extension Loading (SKEL) можно обойти и загрузить вредоносное расширение ядра.
SKEL предназначен для улучшения защиты загрузки расширений ядра. Когда ПО пытается загрузить расширение ядра на экране появляется соответствующее уведомление. Исключение составляют лишь ограниченное количество доверенных программ. То есть, SKEL блокирует действительные, но уязвимые к кибератакам расширения из специального списка OSKextExcludeList. По словам инженера Synack Патрика Уордла (Patrick Wardle), механизм SKEL можно обойти. Сам вектор атаки был представлен им на конференции DefCon в прошлом году. Тогда Уордл рассказал об эксплуатации уязвимости в драйвере ядра LittleSnitch – LittleSnitch.kext. Проблема позволяла повысить привилегии на Mac с установленным уязвимым LittleSnitch. «Уязвимость была исправлена, но баг не умер», – сообщил Уордл в своем блоге.
«Наша цель – загрузить программным способом подписанное расширение ядра, которое никогда раньше не загружалось и не устанавливалось на High Sierra. Расширение может быть вредоносным или, что более вероятно, с уязвимостью, позволяющей злоумышленнику получить неограниченный доступ к ядру. Конечно, обе атаки должны быть заблокированы SKEL, но, увы, это не так», – говорится в блоге.
В настоящее время Уордл не предоставил технических подробностей об уязвимости, однако демо атаки можно просмотреть у него в блоге. Little Snitch – межсетевой экран для macOS. Производится и поддерживается австрийской компанией Objective Development Software GmbH.