Rootless: как защищена OS X El Capitan

34

rootless-os-x

Что бы ни говорили недоброжелатели, а iOS остаётся одной из самых защищённых пользовательских систем в мире. С целью развязать себе руки энтузиасты выполняют специальную процедуру — jailbreak, которая позволяет модифицировать системные файлы. “Старшая сестра” iOS, компьютерная OS X, до недавнего времени оставалась относительно свободной в этом плане, но похоже, настало время всё поменять.

Безопасность Mac всегда находилась на высоком уровне. Тому способствовала, среди всего прочего, небольшая относительно Windows доля системы на мировом рынке, что злые языки заносят в недостатки, а довольные пользователи — в серьёзные преимущества. В версии 10.7.5 появился новый компонент Gatekeeper. Его задача заключается в защите компьютера от программ, полученных из сомнительных источников или не имеющих цифровой подписи Apple. Тем не менее с точки зрения различных модификаций система не особенно ограничивала пользователя (разумеется, в разумных пределах, кастомизация OS X всегда была несколько уже); существует множество утилит, которые позволяют настроить её по своему вкусу.

Зрим в корень

Однако “зловреды” для Mac имеются, и, несмотря на небольшое количество, оставлять их без внимания нельзя. С приходом El Capitan разработчики вводят понятие System Integrity Protection (для краткости назовём его SIP). О новой функции было упомянуто на конференции WWDC 2015 в июне этого года, и при помощи неё OS X защищает свои файлы от изменения или удаления. Таким образом, даже если на компьютер проникнет какое-либо вредоносное ПО, нарушить работу системы ему будет крайне сложно. Обратной стороной нововведения является потенциальная блокировка всяческих “твиков”, к которым привыкли многие пользователи, и Apple (пока что) разрешает отключение функции. Впрочем, при наличии подобных утилит не лишним будет проверить их документацию перед обновлением до El Capitan. Итак, как же работает SIP?

Наряду с обычными учётными записями, пользователи которых имеют ограниченный доступ, в *nix-подобных системах существует понятие “root”. Такая учётная запись позволяет делать с системой практически что угодно, и именно за это *nix и любят энтузиасты. OS X является преимущественно пользовательской системой, не рассчитанной на препарирование в “домашних условиях”, однако и в ней присутствует такая возможность. Например, диалоговые окна с предложением ввести пароль администратора для подтверждения того или иного действия появляются перед внесением изменений в системные файлы и папки, а также приложения и фоновые процессы. Как это ни парадоксально звучит, SIP призвана избавить OS X от этой особенности, сделав её “rootless”.

wwdc-sip

Фактически, root-доступ в OS X предоставляется любому пользователю с правами администратора. В процессе первоначальной настройки требуется создать администраторскую запись, чтобы иметь возможность регистрировать других пользователей, изменять установки безопасности и т. д. Такое положение дел делает систему потенциально уязвимой как для локального, так и удалённого взлома. Например, злоумышленник может запустить на самом компьютере программу, использующую root-доступ, а сетевой хакер — воспользоваться для этого какой-либо уязвимостью. Некоторые “зловреды” работают и более хитро: пользователю демонстрируется, что ПО безопасно, и он добровольно вводит свой пароль. Всё это может быть маловероятным для домашней машины, но серьёзным поводом для беспокойства в корпоративном секторе, на который в последнее время нацелилась Apple.

Без рук

Сам принцип работы SIP весьма прост — ни пользователи, ни приложения или процессы не смогут записывать или изменять файлы в каталогах /bin, /sbin и /usr, которые скрыты по умолчанию. При установке El Capitan просто удалит из этих папок всё стороннее содержимое, произведя своеобразную “очистку” системы. Единственные компоненты, у которых будет доступ к вышеуказанным директориям, — встроенный установщик OS X и служба обновления ПО. В связи с общими изменениями произошли и частные: по понятным причинам Дисковая утилита теперь не предлагает восстановление прав доступа к диску. Эта функция будет срабатывать автоматически при обновлении или установке программ, в других же случаях права попросту не будут затронуты. Кстати, некоторые специалисты полагают, что уже в предыдущих версиях OS X восстановление прав было сущей формальностью, хотя когда-то являлось важным инструментом отладки системы.

Несколькими папками полномочия SIP не ограничиваются; под её бдительный взор попадут стандартные компоненты OS X вроде Finder или Dock, а также всё, что запускается из защищённых папок. Например, клиент Dropbox добавлял специальный значок для синхронизированного содержимого (что некогда заинтересовало самого Стива Джобса), но в OS X Yosemite Apple решила проблему самостоятельно. Разумеется, никто не собирается отменять расширения ядра (*.kext), однако авторам потребуется оснащать их цифровой подписью и получать специальные сертификаты.

dropbox-marks-finder

В принципе, большинству пользователей вряд ли помешают изменения, а если пользоваться только программами из App Store (знаю, звучит наивно), то их можно и вовсе не заметить. А вот если вам позарез нужна глубокая настройка системы, вопросы могут возникнуть уже сейчас. Разработчики некоторых приложений уже обеспокоились нововведением — например, инструмент для создания резервных копий SuperDuper не работает с включённой System Integrity Protection. Такая же ситуация наблюдается с Default Folder и Total Finder/Spaces. Вероятно, список на этом не заканчивается.

mac-cmd-r

Опытному пользователю, кстати, не составит труда отключить SIP. Для этого требуется загрузить ОС в режиме восстановления, зажав клавиши [cmd] + [R] при включении компьютера, и в меню «Утилиты» выбрать пункт “Настройки безопасности”. В появившемся окне следует снять отметку с опции “Включить System Integrity Protection”, после чего загрузить систему в обычном режиме. К сожалению, разработчики сообщают, что некоторые функции их продуктов всё равно не будут работать (пока). Программисты также переживают, что опция исчезнет с выходом финальной версии ОС; впрочем, это маловероятно, ведь необходимость в полном доступе может возникнуть в любой момент.

Подводя итоги следует сказать, что Apple не стала просто копировать iOS и огораживать Mac со всех сторон. Вместо этого компания осторожно избавляется от наиболее проблемных моментов, по-прежнему не лишая пользователя свободы выбора ПО. Помнится, ещё во времена OS X Lion высказывались опасения по поводу Gatekeeper, тогда функция представлялась вестником конца свободной установки приложений. Однако прошло уже четыре года, а ограничивать юзеров Mac App Store так никто и не стал. SIP ещё больше дистанцирует OS X от Windows, в которой даже безвредные приложения нередко захламляют системные файлы. Надеемся, к моменту выпуска El Capitan нововведение будет логически завершённым, а разработчикам будут предоставлены инструменты для решения проблем. Ведь как ни крути, а цифровая безопасность в современном мире играет первую скрипку.

По материалам Macworld

Редакция AppleInsider.ru не несёт ответственности за возможные последствия отключения системных функций OS X, а также использование сторонних приложений.

34 комментария

  1. 0

    >> в *nix-подобных системах существует понятие “root”.
    А в других не существует? При чем тут OS X?

    • 0
      Алекс Морелло

      350z6233, В основе OS X лежит *nix-система — Darwin. А буква X указывает не только на римскую цифру десять, но и родство с Unix 😉

    • 0

      350z6233, Всё правильно. root существует и будет существовать везде. В том числе и в Windows. Да и OS X перейти в root несложно через терминал через sudo su. Затем можно через open -a /Applications/Приложение.app запустить любое приложение именно от root. Разница с админом лишь в том, что под админом запрашивается пароль на каждое действие с каждым файлом или программой, в папках, не принадлежащих текущему пользователю или при операции с файлами, не принадлежащих пользователю. Другое дело у меня под большим сомнением решение запретить изменять содержимое /usr. Например, много консольных утилит туда ставится. Не понимаю, как теперь поставить юниксовые утилиты консольные туда. Впрочем, конечно, в .bash_profile можно указать дополнительные пути в переменной $PATH.. выход есть. В остальном мне кажется эта мера с SIP рассчитанной на обычных пользователей и на корпоративных пользователей, где нужны дополнительные меры безопасности. То есть, просто избыточный инструмент для безопасности, как тот же Gatekeeper. Ибо если я захочу собственное не подписанное приложение запустить — что уж теперь мне руки завяжут? Или если я купил сетевую карточку свою с кекстом на основе открытого исходного кода драйвера, что теперь мне запретят этот .kext забубенить? У меня большие сомнения насчёт этой статьи. Пока капитана не ставил, но после вашей статьи, думаю необходимо протестировать новые фичи безопасности. Мне кажется, вы не совсем поняли принцип работы. Впрочем за целостностью системных файлов OS X должна следить. Целостность очень легко нарушить, если например раздать рекурсивно все права в папке /Applications. Тогда там 100% всегда что-то ломается в каких-то системных службах и поможет только бекап или переустановка системы. Ну или стоит запретить менять права на корневой каталог для группы everyone. Например, если запретить чтение этого каталога, то Mac просто будет с серым яблоком висеть и не запускаться.

      • 0

        Red32, Во-первых, в виндовс рута нет, а есть админ с не полными правами. Например, вы не можете удалить полностью все директории на системном диске (файлы которые используются) или вы не можете изменять некоторые системные файлы (сработает похожая система против изменения целостности системы).
        Во-вторых, rootless просто забирает права у админа на изменение системных файлов даже с паролем рута. Я столкнулся с этим когда хотел заменить кексты. А за целостностью он еще вроде не следит, потому что я спокойно смог изменить системные файлы из другой системы и после обновления капитан их не вернул обратно.

        • 0

          DerpyCrabs, В винде есть рут, просто он лежит глубоко. Кроме админов и обычных юзеров там есть и системные юзеры. В той же винде есть наследие от UNIX(причём напрямую на основе его исходного кода) и т.п. Насчёт кекстов не знаю. До йосемити ни разу не испытывал проблем с заменой кекстов(отправлено из приложения AppleInsider.ru)

      • 0

        Red32, Всё гораздо проще. На WWDC об этом весьма подробно рассказали.
        Apple вводит в ElCapitan новые правила для разработчиков. Приложениям выделены конкретные места для записи своих файлов. Всё остальное системное закрыто SIP.
        Именно поэтому на бета-версиях часть приложений не работает как надо. Проги привычно лезут в старые места, а доступа нет.
        Если требуются дополнительные подробности, на эппллайф Skvo всё очень доступно и подробно расписал. Ну либо первоисточник на инглиш с WWDC

  2. 0

    Браво !(отправлено из приложения AppleInsider.ru)

  3. 0

    У меня мак бук! И лучше не придумаешь !(отправлено из приложения AppleInsider.ru)

  4. 0

    А чего не написать сразу, что это копия часов? Хлам, одним словом.(отправлено из приложения AppleInsider.ru)

  5. 0

    Долой хлам и подделки!(отправлено из приложения AppleInsider.ru)

  6. 0

    Не в тему, но всё же. Кто нибудь сталкивался с фантомной закладкой Megafon Services в Safari на Ios? То исчезает то появляется… Вирус? Кто знает — отзовитесь! Весь инет перерыл, ничего не нашел 🙁

    • 0
      Алекс Морелло

      Burganov, Вы пробовали сбрасывать настройки Safari?

      Цитата с сайта Apple:

      “Чтобы удалить в ОС iOS 8 историю посещений и файлы cookie из браузера Safari, выберите «Настройки» > Safari > «Очистить историю и данные сайтов». В ОС iOS 7 или более ранних версий нажмите «Очистить историю» и «Удалить cookie и данные».
      Чтобы удалить все остальные сохраненные данные из Safari, выберите «Настройки» > Safari > «Дополнения» > «Данные сайтов» > «Удалить все данные».”

      После этого перезагрузите устройство. Если данная процедура не решит проблему, может потребоваться сброс настроек самого устройства.

      • 0

        Алекс, Да, делал, более того, восстанавливал ПО через Itunes и ничего не помогло. Отдельно следует отметить, что если отключиться от wi fi и пользоваться интернет симкой (yota), то вкладка вроде как перестает возрождаться. Кстати, по телефону тех. поддержки тоже ничего не знают, сами в шоке 🙂

    • 0

      Burganov, У МТС есть такая. Появляется когда денюжки за интернет тютю. Позволяет докупить сколькототам трафика(отправлено из приложения AppleInsider.ru)

  7. 0

    Дучше бы TCP-стек допилили до приемлемого уровня, чем рюшками занимались, а то эта Mac OS только для домохозяек и годится. Даже Windows и та даст 100 очков вперед этой Mac OS.(отправлено из приложения AppleInsider.ru)

    • 0

      plohish, Что не так с TCP стеком в OS X? Какие проблемы возникали с ним?(отправлено из приложения AppleInsider.ru)

      • 0

        Red32, Под большими нагрузками сами увидите. Думаете просто так Apple свернула серверное направление, это при том, что железо было отличное (Xserve, Mac Pro)?(отправлено из приложения AppleInsider.ru)

        • 0

          plohish, Никогда не было проблем с этим в локальной гигабитной сети, и не было проблем с 80 мегабитным интернетом при скачивании торрентов через ethernet. Мак про не прекратил выпуск. Tcp стек настраивается. Сдаётся ты просто яблофоб.(отправлено из приложения AppleInsider.ru)

          • 0

            Red32, Гуляйте дальше, гигабитная сеть и 80мб/с интернет: детский лепет. Вы хоть реально представляете нагрузку на серверах или хотя бы краем уха слышали?(отправлено из приложения AppleInsider.ru)

            • 0

              plohish, Очень чётко представляю. Утверждаете, что используете всегда сеть на всю полосу пропускания? Хотите сказать, что у вас полоса пропускания на мак сервере была выше гигабита? Юзаете оптику? Если да, то рефлектометр в помощь. И что это у вас за нагрузки такие на серверы? Выше гигабита нагрузки идут на сетевое оборудование(роутеры, коммутаторы) , а серваки как загружались на гигабит, так и загружаются и у мака лично я с этим проблем не вижу. Огласите, где и каким образом у вас нагрузка выше гигабита идёт, тогда будет о чём говорить, пока что Ваши слова неаргументированно звучат. Может это вы просто сидя в школе почитывали статьи о сетевом оборудовании, но не знаете на своём опыте, как реально обстоят дела на практике? С распределением нагрузки?(отправлено из приложения AppleInsider.ru)

  8. 0

    Сидите на Виндоуз если вы нищие с корытом . Уважающие себя купят мак!(отправлено из приложения AppleInsider.ru)

    • 0

      lamand, Уважающие себя, сейчас уже эти пишмашинки не купят, а будут покупать более производительные решения: Eurocom, Alienware, MSI…(отправлено из приложения AppleInsider.ru)

  9. 0

    Мак превращают из компьютера в плеер для приложений, как айфон какой-нибудь.

  10. 0

    Мне пофиг! Я «домохозяйка»..

    • 0

      iron-i, Отстой какой-то. Если я правильно понял, все программы типа gnuplot, компиляторы и прочее потрутся системой? Браво, Apple. Я любил OS X за то, что там можно как в *nix системах работать с оммандной строкой. Теперь и это хотят забрать. Я понимаю, что можно перенастраивать $PATH и прочее, но привычка есть привычка — я все устанавливаю в /usr/local, а TeX дистрибутивы нельзя в другое место установить вообще (по крайней мере, я не смог). В общем, сомнительная фича. Я думаю, будет какой-нибудь режим разработчика, котрый эту ерунды отключит

  11. 0

    1(отправлено из приложения AppleInsider.ru)

  12. 0

    Я ценю удобство и красоту ) остальное пофиг! Яблочко зажгись ! ))(отправлено из приложения AppleInsider.ru)

  13. 0

    Сам принцип работы SIP весьма прост — ни пользователи, ни приложения или процессы не смогут записывать или изменять файлы в каталогах /bin, /sbin и /usr, которые скрыты по умолчанию.
    Интересно, как будут работать программы типа brew, которые не пишут файлы в usr/local, а просто создают символьную ссылку в этой папке. Судя по всему, даже создание symbolic link нарушает целостность данных, тем самым попадая под взор системы sip.

  14. 0

    После отключения SIP Mac не включается. Пишет, что возникла ошибка и постоянно перезагружается. После включения SIP все заработало. С чем это может быть связано?

Авторизуйтесь Чтобы оставить комментарий