В подсистеме OS X, которая запрещает менять содержимое системных каталогов даже процессам с администраторскими правами, обнаружена ещё одна уязвимость. Немецкий специалист по компьютерной безопасности Штефан Эссер продемонстрировал, что защиту можно обойти при помощи серии команд, суммарная длина которых составляет всего 83 символа.

Речь идёт о подсистеме System Integrity Protection (SIP), которая появилась в OS X 10.11. Она ограничивает доступ к каталогам /System, /bin, /sbin и /usr, не позволяет подключать к некоторым приложениям отладчик и блокирует зарузку определённых расширений ядра.

Обойти запрет не могут даже процессы с администраторскими правами. Программы, для которых SIP делает исключение, можно пересчитать по пальцам. В их число, в частности, входит утилита fsck_cs, проверяющая и восстанавливающая группы логических дисков CoreStorage — технологии, при помощи которой OS X объединяет разделы на разных носителях в единый логический диск.

Неделю назад Педро Виллача, специалист из компании SentinelOne, обнародовал сведения об уязвимостях в SIP. Apple оперативно исправила ошибки в OS X 10.11.4, но уязвимость, на которую указывает Штефан Эссер, уцелела.

Команда, которую приводит Эссер, создаёт на одном из дисков символьную ссылку на файл Info.plist, относящийся к расширению AppleKextExcludeList.kext. В этом файле хранятся списки расширений ядра, которыми руководствуется SIP, когда решает, какие расширения загружать, а какие блокировать.

Затем она запускает на этом диске утилиту fsck_cs и перенаправляет выводимую ей информацию в созданную ссылку. Поскольку на эту утилиту ограничения SIP не распространяется, она перезаписывает содержимое Info.plist.

После этого команда touch обновляет время модификации всех расширений ядра и драйверов в каталоге /Library/Extensions/, и система перезагружается. Теперь чёрный список SIP уничтожен, и пользователь может подключить любое системное расширение.



1 комментарий

  1. itjunky

    06.04.2016 at 18:16

Оставить мнение