Нотаризація — перевірка, під час якої виробник платформи сканує підписану програму на шкідливий код і видає квиток, що дозволяє запуск без попереджень.
Як працює нотаризація
Найвідоміший приклад — нотаризація Apple, обов’язкова для програм, що поширюються поза Mac App Store, починаючи з macOS Catalina (2019):
- розробник підписує застосунок сертифікатом Apple Developer ID;
- застосунок завантажують у нотаріальний сервіс Apple, який автоматично перевіряє його на шкідливий вміст і помилки підпису;
- після успішної перевірки Apple видає квиток нотаризації, який розробник «прикріплює» до застосунку;
- під час запуску Gatekeeper перевіряє підпис і квиток; ненотаризовані застосунки блокуються або потребують явного дозволу.
Нотаризація — не ручна перевірка, як в App Store, а автоматичне сканування плюс запис про те, хто опублікував програму. Microsoft застосовує схожий підхід до драйверів Windows (attestation signing), а термін також вживають для підтвердження того, що документ чи файл існував у певний момент.
Чим нотаризація важлива для безпеки
Нотаризація ускладнює поширення анонімного шкідливого ПЗ й дає Apple змогу швидко відкликати квитки та сертифікати в разі зловживань. Але це не гарантія безпеки: у 2020 році рекламне ПЗ Shlayer помилково пройшло нотаризацію, а зловмисники регулярно крадуть або купують сертифікати розробників. Тому багато стилерів для macOS вмовляють користувача обійти Gatekeeper — наприклад, відкрити файл через контекстне меню чи вставити команду в Термінал.
Рекомендації
- Встановлюйте програми для Mac лише з App Store або з офіційного сайту розробника.
- Не обходьте попередження Gatekeeper і не запускайте в Терміналі команди із сайтів та чатів.
- Розробникам — захищати ключі підпису, нотаризувати кожен реліз і вмикати hardened runtime.