Урок 3 з 4 · 8 хв
Як macOS перевіряє програми, які ви відкриваєте
Підписання коду, Gatekeeper, нотаріальне засвідчення та XProtect: чотири перевірки, які виконуються до та після відкриття програми.
Щоразу, коли ви відкриваєте програму вперше, macOS виконує коротку серію перевірок, перш ніж дозволити їй запуститися. Здебільшого ви ніколи їх не бачите; ви помічаєте лише коли хтось із них щось зупиняє. Цей урок розповідає про те, що насправді відбувається, використовуючи власний опис кожного кроку від Apple.
Підписання коду: доказ того, хто його створив
У документації безпеки Apple пояснюється, що в macOS «підписання коду виконується розробником за допомогою сертифіката ідентифікатора розробника (виданого Apple). Перевірка цього підпису доводить користувачеві, що програмне забезпечення розробника не було змінено з того часу, як розробник створив і підписав його». Підпис не означає, що програма безпечна; у ньому сказано, що програма – це саме той файл, який створив розробник, незмінений з тих пір.
Нотаріальне засвідчення: власний чек Apple
Нотаріальне посвідчення є окремим, додатковим кроком. Apple пояснює, що це «може виконати будь-хто в ланцюжку розповсюдження програмного забезпечення та доводить, що Apple надала копію коду для перевірки [на наявність шкідливого вмісту], і жодного [відомого шкідливого програмного забезпечення] не виявлено. Результатом нотаріального засвідчення є квиток, який зберігається на серверах Apple і може бути за бажанням прикріплений до програми». Починаючи з macOS Catalina, ця перевірка за замовчуванням застосовується майже до всього, що ви відкриваєте, незалежно від того, яким способом воно надходило на ваш Mac.
Gatekeeper: перевірка, яка запускається, коли ви відкриваєте програму
Gatekeeper — це те, що фактично застосовує ці результати в момент, коли ви двічі клацаєте щось. Apple описує його як розроблений, щоб «допомогти гарантувати, що лише надійне програмне забезпечення працює на Mac користувача». Коли користувач завантажує та відкриває програму, плагін або пакет інсталятора за межами App Store, Gatekeeper перевіряє, що програмне забезпечення походить від ідентифікованого розробника, нотаріально засвідчене компанією Apple як вільне від [відомого шкідливого вмісту] та не було змінено. Gatekeeper також запитує схвалення користувача перед першим відкриттям завантаженого програмного забезпечення, щоб переконатися, що користувач не був обманом запущений виконуваний код, який, на його думку, є просто файлом даних». Це сповіщення, яке ви бачите, коли вперше відкриваєте щось, завантажене з Інтернету.
- Ви завантажуєте програму не з App Store і двічі клацаєте її.
- Gatekeeper перевіряє підпис розробника та шукає для нього нотаріальний квиток Apple.
- Якщо перевірку пройдено, macOS все одно попросить вас підтвердити, що ви хочете відкрити її вперше.
- Якщо Apple відкликала програму або нічого не перевіряється, macOS відмовляється відкривати її та повідомляє вам, чому.
XProtect: спостереження після запуску програми
Останній шар працює постфактум. Посібник Apple описує XProtect як «вбудовану антивірусну технологію macOS для виявлення на основі сигнатур і видалення [відомого шкідливого програмного забезпечення]», яка «перевіряє відомий [шкідливий] вміст кожного разу, коли: програма запускається вперше, програма змінюється [або] сигнатури XProtect оновлюються», при цьому Apple автоматично оновлює ці сигнатури, незалежно від повних оновлень системи. Якщо Apple виявляє відому загрозу, Apple пояснює, що «блокує її та переміщує в кошик». Потім він попереджає користувача у Finder.
Головне
- Підписання коду доводить, що файл програми не змінився з моменту створення та підписання розробником; це само по собі не означає, що програма безпечна.
- Нотаріальне засвідчення — це перевірка компанією Apple копії коду програми, перш ніж вона зможе запускатися за замовчуванням у поточній macOS.
- Gatekeeper застосовує обидві перевірки, коли ви відкриваєте програму, і запитує ваше схвалення в перший раз.
- XProtect продовжує перевірку після запуску програми, використовуючи підписи, які Apple оновлює автоматично та незалежно від повних оновлень системи.
- macOS дозволяє скасовувати ці перевірки для певної програми в налаштуваннях, але це знімає реальний захист, тому перевірку слід проводити рідко та навмисно.
Перевірте себе
1. Що насправді підтверджує дійсний кодовий підпис?
- Що програма вільна від усіх можливих проблем
- Що файл програми не змінився з моменту його підписання розробником — Правильно.
- Про те, що додаток перевірив співробітник Apple
- Що програма не може отримати доступ до Інтернету
Підписання коду підтверджує цілісність і особу розробника, а не те, що програма в іншому випадку безпечна чи добре працює.
2. Що означає нотаріальне засвідчення на думку Apple?
- Apple написала додаток
- Apple перевірила копію коду програми та не виявила відомих загроз — Правильно.
- Додаток було придбано в App Store
- Додаток перекладено кількома мовами
Нотаріальне засвідчення доводить, що Apple отримала код для перевірки, і в ньому не було знайдено нічого шкідливого.
3. Коли Gatekeeper запитує ваш дозвіл на відкриття програми?
- Кожен раз, коли ви відкриваєте будь-яку програму
- Лише під час першого відкриття завантаженого програмного забезпечення — Правильно.
- Тільки для додатків з App Store
- Ніколи, працює безшумно
Gatekeeper запитує схвалення, коли ви вперше відкриваєте завантажене програмне забезпечення, тому вас не обманом змусять запустити щось несподіване.
4. Як XProtect оновлює свої сигнатури виявлення?
- Лише під час інсталяції основного оновлення macOS
- Автоматично, незалежно від повних оновлень системи — Правильно.
- Лише під час сканування вручну
- Він ніколи не оновлюється після встановлення
Apple оновлює сигнатури XProtect автоматично й окремо від повних оновлень системи, часто щодня.
Застосуйте на практиці з FireAI
Застосуйте цей урок на своєму Mac.
- Відповідь на перший запит про з’єднання, і що означає кожен термін дії — Зрозумійте точно, що ви схвалюєте, коли FireAI питає вперше.
- Знайдіть застосунки з відомими вразливостями — Закрийте відомі прогалини раніше, ніж ними хтось скористається: оновіть той один застосунок, якому це потрібно.
- Дізнайтеся, який застосунок вмикає вашу камеру чи мікрофон, і куди йде його трафік — Знайте, який застосунок може бачити чи чути вас, а не лише те, що хтось може.
Джерела
- Apple Platform Security: App code signing process in macOS
- Apple Platform Security: Gatekeeper and runtime protection in macOS
- Apple Platform Security: Protecting against malicious software in macOS
- Apple Support: Safely open apps on your Mac
Застосуйте це на своєму Mac
Усі функції безкоштовно на 17 днів, без банківської картки.