GateKeeper позволяет мне устанавливать все что угодно, никаких проверок не делается

9

Я могу загружать приложения с пользовательских веб-сайтов и запускать их, даже если мои настройки привратника установлены на «AppStore Only». Это мое заявление - оно даже не подписано.

Что может быть причиной этого? Я могу воспроизвести это поведение на всех моих 3 маках.

JasonGenX
источник
2
Как вы загружаете и расширяете приложения?
Гордон Дэвиссон
через smb: // расположение файла на сервере. скопировать их на мой рабочий стол. На других машинах это вызывает срабатывание механизмов безопасности. На моих машинах, даже если у меня «AppStore Only», использующий один и тот же файл, допустим один и тот же способ, без ограничений для установки и запуска. Тайна.
JasonGenX
2
Что произойдет, если вы загрузите тот же файл через http?
Stuff

Ответы:

7

Это особенность состояния, при которой пользователь-администратор всегда может переопределить Gatekeeper и открыть приложение, щелкнув правой кнопкой мыши приложение в Finder.

Пользователь с правами администратора также может изменить настройки Gatekeeper или полностью отключить его, поэтому нет особого вреда (по крайней мере, на мой взгляд) в представлении одноразового диалогового окна белого списка, чтобы гарантировать, что пользователь с правами администратора допускает несовместимость (без подписи). или не Mac App Store) приложение для запуска.

Обучающий диалог Apple для Gatekeeper - от support.apple.com/kb/HT5290

Теперь, если вы нашли способ для пользователя, не являющегося администратором, обойти Gatekeeper, то я бы ожидал, что компания Apple предоставит уязвимость в системе безопасности, чтобы получить дыру в поиске дыры, как только они исправят любую ошибку реализации, позволяющую запускать приложения из политики.

Apple подробно описывает эту функцию, как явно занести в белый список приложение.

Gatekeeper - это не защита от вредоносных программ и не черный список. Это набор политик, которые позволяют сначала запускать правильно подписанные приложения и / или проверять квитанции магазина приложений Mac. Если пользователь с правами администратора запускает, а затем одобряет запуск несовместимого программного обеспечения, у вас есть проблема с образованием или политикой, а не обнаружение некоторого недостатка в Gatekeeper.

Подробно я суммировал (и в основном скопировал) соответствующие разделы справки Apple о внесении в белый список любого приложения, чтобы Gatekeeper позволял ему работать беспрепятственно и беспрепятственно:

Как открыть приложение от неизвестного разработчика и освободить его от Gatekeeper

Если вы уверены, что приложение, загруженное из Интернета, является последней версией и источником, которому вы доверяете, вы можете открыть приложение от неизвестного разработчика, выполнив следующие действия.

Важное замечание: Некоторые приложения Apple, проверенные разработчиками, которые находятся в процессе получения подписей ID разработчика, будут представлять опцию «Открыть» при двойном щелчке.

Примечание. В большинстве случаев вам нужно будет выполнить эти шаги только один раз для всех учетных записей пользователей Mac:

  • В Finder, удерживая клавишу Control, щелкните правой кнопкой мыши значок приложения.
  • Выберите Открыть в верхней части контекстного меню, которое появляется.
  • Нажмите Открыть в диалоговом окне. При появлении запроса введите имя администратора и пароль.

Примечание: если есть приложение, которое представляет несколько диалоговых окон гейткипера, вы можете временно использовать опцию «Всегда» гейткипера. Обязательно восстановите опцию Gatekeeper, которая была там прежде, чтобы вернуть функцию Gatekeeper.

Вы можете легко контролировать, кто может занести в белый список Приложения, не раздавая имена пользователей и пароли Администратора пользователям, которые не знают об этой функции, а также вы можете управлять привратником из терминала или менеджера профилей и другого программного обеспечения управляемых настроек, такого как Casper из JAMF. Вы также можете проверить свои машины на наличие программного обеспечения, которое занесено в белый список, чтобы периодически сбрасывать список разрешенных приложений и определять, кто выполняет эту функцию в случае, если вы хотите изменить политику и привычку.

bmike
источник
Есть ли настройка, которая сбрасывает этот одноразовый диалог? это за приложение? как определяются приложения? имя? дорожка? если я решил открыть «MyApp.app» один раз, все ли загрузки и установки «MyApp.app» будут успешными независимо от настроек GateKeeper?
JasonGenX
У каждого пользователя есть разные правила, которые хранятся в / var / db / SystemPolicy - так что вам было бы немного сложно стереть это и начать все сначала, но вы можете удалить определенные правила, spctlчтобы spctl --assess -v /Applications/Whatever.appпоказать вам, разрешено ли это или отклонено, и spctl --remove /Applications/Whatever.appсбросить «Диалог» и статус для конкретного приложения. Я использую инструмент для сбора всех приложений в системах, чтобы я мог проверять использование и исправлять вещи при необходимости с помощью короткого сценария.
bmike
Однако, согласно ответу Гордона, это также зависит от установленного бита карантина, поэтому, поскольку у GateKeeper нет записи в белом списке (или он удаляется), бит карантина должен быть сброшен или приложение удалено, чтобы обновить " «привратник» и открытое ограждение.
bmike
10

Загрузка файла через SMB не приведет к карантину, а поскольку приложение не помещено в карантин, политика привратника никогда не проверяется. Я не уверен, почему он помечен как карантин на других ваших компьютерах ...

Чтобы проверить на карантин в любой момент, используйте ls -ld@команду для поиска атрибута com.apple.quarantine:

$ ls -ld@ /Applications/TextWrangler.app
drwxrwxr-x@ 3 gordon  staff  102 Apr 30  2012 /Applications/TextWrangler.app
    com.apple.FinderInfo     32 
    com.apple.quarantine     57 

Если этот атрибут карантина присоединен к приложению, будет проверена политика привратника; если нет, то не будет. Интересный вопрос - почему он был помещен в карантин на других ваших компьютерах, и если вы используете эту команду для проверки приложения в различных точках по мере его распространения, вы можете выяснить, когда атрибут присоединяется (и, следовательно, почему он подключается).

РЕДАКТИРОВАТЬ: Есть примечание, относящееся к этому в разделе «Нажмите здесь для более подробной информации» статьи КБ Apple № HT5290 :

Важно: подпись ID разработчика применяется к приложениям, загруженным из Интернета. Приложения из других источников, таких как файловые серверы, внешние накопители или оптические диски, исключаются, если только приложения не были изначально загружены из Интернета.

Гордон Дэвиссон
источник
Gatekeeper отличается от карантина, хотя вместе они помогают защитить от случайного запуска нового программного обеспечения, которое не подписано и / или нет из Mac App Store. Смотрите мой ответ для деталей.
bmike
1
@bmike: На самом деле, привратник является расширением системы карантина; если вы загружаете приложение, а затем запускаете xattr -d com.apple.quarantineего, вы можете открыть его, даже если оно нарушает политику привратника.
Гордон Дэвиссон
Вы уже можете открыть любое приложение, которое нарушает политику привратника. Вы просто получаете (возможно, диалоговое окно администратора и), а затем шанс внести белый список из приложений политики. Вы говорите, что пользователь без прав администратора может выполнить одну команду, чтобы обойти проверку, если у вас есть только Mac App Store или только подписанные приложения?
bmike
1
@bmike: Да, я только что протестировал загрузку, удаление из карантина и запуск неподписанного приложения из учетной записи без прав администратора, и это работало нормально, несмотря на то, что Gatekeeper был установлен в режим только Mac App Store. Но я бы не стал считать это серьезной дырой в безопасности, поскольку, если злоумышленник может уговорить пользователя выполнить такую ​​команду, он может убедить его во всем, и пользователь все равно обречен (и, поскольку они не администраторы, все, что они могут повредить, это их собственный счет).
Гордон Дэвиссон
1
Эта. Карантин - это не то же самое, что Gatekeeper, но Gatekeeper использует метаданные из карантина, которые прикрепляются к загруженным файлам как расширенные атрибуты метаданных. Если бы я мог присудить награду, я бы присудил ее здесь.
Даниил
4

Если вы включили эту скрытую настройку, она также отключает Gatekeeper:

defaults write com.apple.LaunchServices LSQuarantine -bool false

Или OS X позволяет открывать все приложения независимо от настроек в Системных настройках.

LRI
источник
Ой, я полностью пропустил это и отправил то же самое как отдельный ответ. Удаление сейчас ...
TJ Luoma
2

Gatekeeper запрещает запуск приложений двойным щелчком, но вы всегда можете переопределить его, выбрав « Открыть» в контекстном меню.

Если вы можете запускать загруженные неподписанные приложения двойным щелчком, это проблема с Gatekeeper. Файлы сохранять свой статус карантина в качестве расширенного атрибута называется com.apple.quarantine . Если по каким-либо причинам этот атрибут очищен из загруженных вами файлов, Gatekeeper будет считать загруженные файлы ничем не отличающимися от любых других файлов на вашем компьютере. Так что я бы посоветовал, чтобы загрузка программы с последующим использованием xattr -l filenameв терминале была бы хорошим диагностическим инструментом, если у вас установлен Xcode.

Если вы запускаете их с помощью команды «Открыть» из меню, это заданное поведение. Обратите внимание, что как только вы запустили программу из меню, она всегда может быть запущена двойным щелчком независимо от настроек вашего гейткипера.

Даниэль
источник