GateKeeper дозволяє мені встановлювати що завгодно, ніяких перевірок не робиться


9

Я можу завантажувати програми з користувальницьких веб-сайтів і запускати їх, навіть якщо мої налаштування воротаря є в "AppStore Only". Це моя заява - вона навіть не підписана.

Що може бути причиною цього? Я можу відтворити таку поведінку на всіх своїх 3 комп'ютерах.


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 App. Якщо користувач адміністратора явно запускає, а потім схвалює запуск невідповідного програмного забезпечення, у вас є проблеми з освітою чи політикою , на відміну від виявлення деякої вади в Gatekeeper.

Докладно я узагальнив (і в основному скопіював) відповідні розділи довідки Apple на білому переліку будь-якого додатка, щоб Gatekeeper дозволив йому безперешкодно та безперебійно працювати:

Як відкрити додаток від невстановленого розробника та звільнити його від Gatekeeper

Якщо ви впевнені, що додаток, завантажене з Інтернету, є останньою версією та є з джерела, якому ви довіряєте, ви можете відкрити додаток від невстановленого розробника, виконавши ці кроки.

Важливо: Деякі екрановані програми Apple від розробників, які перебувають у процесі отримання підписів ідентифікатора розробника, представлять параметр "Відкрити", коли їх двічі клацніть.

Примітка. У більшості випадків вам доведеться виконати ці дії лише один раз для всіх облікових записів користувачів на Mac:

  • У Finder натисніть на клавішу Control або клацніть правою кнопкою миші піктограму програми.
  • Виберіть "Відкрити" у верхній частині контекстного меню, яке з'явиться.
  • У діалоговому вікні натисніть кнопку Відкрити. Якщо буде запропоновано, введіть ім’я та пароль адміністратора.

Примітка. Якщо є програма, яка містить декілька діалогових вікон Gatekeeper, ви можете тимчасово скористатися опцією "Завжди" "Гейткера". Переконайтесь, що відновіть параметр Gatekeeper, який був там раніше, щоб повернути функцію Gatekeeper.

Ви можете легко контролювати, хто може переглядати програми білого списку, не роздаючи імена та паролі адміністраторів користувачам, які не знають про цю функціональність, а також ви можете керувати воротарем із терміналу чи менеджера профілів та іншого програмного забезпечення з керованими налаштуваннями, наприклад Casper від JAMF. Ви також можете перевірити свої машини на предмет білого списку програмного забезпечення, щоб періодично скидати список дозволених додатків та визначати, хто виконує цю функцію, якщо ви хочете змінити політику та звичку.


чи є налаштування, яке скидає цей одноразовий діалог? це за програму? як ідентифікуються додатки? ім'я? шлях? якщо я вирішив один раз відкрити "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 

Якщо цей атрибут карантину додається в додаток, буде перевірена політика воротаря; якщо ні, то не буде. Цікавим питанням є те, чому він потрапив на карантин на інших комп'ютерах, і якщо ви використовуєте цю команду для перевірки програми в різних точках під час їх розповсюдження, ви можете зрозуміти, коли атрибут приєднується (і, отже, чому він додається).

РЕДАКТУВАННЯ: У цьому розділі "Клікніть тут, щоб отримати докладнішу інформацію" статті KB KB Apple # HT5290 :

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


Gatekeeper відрізняється від карантину, хоча разом вони допомагають захистити від випадкового запуску нового програмного забезпечення, яке не підписане та / або не в Mac App Store. Детальну інформацію див. У моїй відповіді.
bmike

1
@bmike: Власне, воротар - це розширення карантинної системи; якщо ви завантажите додаток, то запустіть xattr -d com.apple.quarantineйого, ви можете відкрити його, навіть якщо це порушує політику воротаря.
Гордон Девіссон

Ви вже можете відкрити будь-який додаток, який порушує політику воротаря. Ви просто отримуєте (можливо, діалогове вікно адміністратора та), а потім шанс вивести білий список із програм політики. Ви хочете сказати, що користувач, який не адміністратор може видати одну команду, обійде чек, якщо у вас є лише магазин додатків Mac або підписані лише програми?
bmike

1
@bmike: Так, я лише перевірив завантаження, декарантінацію та запуск програми без підпису з облікового запису, який не є адміністратором, і він спрацював нормально, незважаючи на те, що Gatekeeper був встановлений лише в режимі Mac App Store. Але я б не вважав це суттєвою дією в безпеці, оскільки, якщо зловмисник може змусити користувача запустити таку команду, він може переказати їх на що завгодно, і користувач все одно приречений (а оскільки він не адміністратор, все, що вони можуть пошкодити - це їх власний рахунок).
Гордон Девіссон

1
Це. Карантин не такий, як Gatekeeper, але Gatekeeper покладається на метадані з карантину, які додаються до завантажених файлів як розширені метадані атрибута. Якби я міг нагородити нагороду, я би нагородив це тут.
Даниїл

4

Якщо ви ввімкнули цей прихований параметр, він також відключає функцію Gatekeeper:

defaults write com.apple.LaunchServices LSQuarantine -bool false

Або OS X дозволяє відкривати всі програми незалежно від налаштувань у System Preferences.


На жаль, я цілком пропустив це і розмістив те саме, що й окрему відповідь. Видалення зараз…
TJ Luoma

2

Шлюз забороняє запускати додатки подвійним клацанням миші, але ви завжди можете їх замінити, вибравши Відкрити у контекстному меню.

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

Якщо ви запускаєте їх за допомогою команди «Відкрити» з меню, це призначена поведінка. Зауважте, що після запуску програми з меню її можна назавжди включити за допомогою подвійного клацання мишкою, незалежно від ваших налаштувань Gatekeeper.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.