Після відкриття App Store для macOS, Apple ввела такий процес як ноторизація додатків. Цей процес був запроваджений Apple як частина загального плану підвищення безпеки macOS. Ноторизація стала однією з відповідей на зростаючі загрози безпеці Mac, зокрема через підвищення популярності пристроїв Apple в світі. В цій статті обговоримо як це працює зараз.

Коли Apple запровадила нотаріальне засвідчення шість років тому, вона попередила нас, що з часом воно стане обов’язковим для розробників, і запевнила, що ми все одно зможемо запускати власні програми, які не мають ноторизації. MacOS Sequoia – це перша версія macOS, яка очікує, що програми, встановлені з-за меж App Store, повинні бути нотаріально засвідчені, але дозволяє запускати програми, які не мають нотаріального засвідчення. Зараз пояснимо , як це досягається, і що вам слід зробити, щоб працювати в рамках цих нових правил.

 

Правила Sequoia

 

Під час першого запуску програми на комп’ютері Mac, якщо її було поміщено в карантин з атрибутом «розширений карантин», Gatekeeper перевірить, чи була вона нотаріально завірена. Якщо це так, то запуск буде продовжено з подальшими перевірками, наприклад перевірками XProtect. Якщо нотаріально не завірено, то macOS попередить вас про це і зупинить його запуск.

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

Потім вас знову попередять і порадять «не відкривати, якщо ви не впевнені, що це з надійного джерела».

Натиснувши «Відкрити в будь-якому випадку», ви перейдете до третього діалогового вікна, де вам потрібно буде пройти автентифікацію, щоб запустити програму.

 

 

Навіщо всі ці діалоги?

 

Старий обхід Finder для Gatekeeper був простим: використовуйте контекстне меню, щоб відкрити програму, і там було лише одне діалогове вікно, через яке потрібно пройти. Це настільки просто, що стало широко використовуватися шкідливими програмами.

 

 

Це корисні інструкції, які надає одна з найпоширеніших шкідливих програм, Atomic Stealer, коли ви монтуєте її образ диска. Від такого запрошення важко відмовитися, якщо ви не знаєте, які неприємності воно принесе. Детальний опис нової системи обходу стане справжнім випробуванням для тих, хто має намір надіслати нам свої шкідливі програми.

 

Як запускати власні програми

 

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

 

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

 

Як перенести програми між комп’ютерами Mac

 

Одна з неприємностей AirDrop полягає в тому, що все, що передається таким зручним способом, також набуває атрибуту розширеного карантину, тому при нотаріальному завіренні програми спочатку проходять повну перевірку Gatekeeper. Це зроблено не лише для того, щоб дратувати, але й для того, щоб врахувати той факт, що програми AirDrop можуть надходити з ненадійних джерел.

 

Якщо замість AirDrop ви використовуєте локальний файлообмінник, атрибут «розширений карантин» не додається, і ваш незавірений додаток не буде проходити повну перевірку під час першого запуску, тому вам не доведеться проходити через три діалогові вікна, перш ніж він буде запущений.

 

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

 

Хитрощі, яких слід уникати

 

Звісно, ви можете вилучити атрибут розширеного карантину перед першим запуском програми. Це потенційно небезпечний обхідний шлях, оскільки він оминає перевірку першого запуску, яка може виявити шкідливе програмне забезпечення. Для тих з нас, хто часто передає власні програми для тестування за допомогою AirDrop, легко скинути їх до папки, заархівувати її, а потім на комп’ютері одержувача зняти карантинний xattr перед розархівуванням архіву.  Якщо ви вирішите зробити це, ви повинні бути абсолютно впевнені в походженні програми, яку ви передаєте.

 

Для тих, хто має тестові системи, яким часто доводиться запускати ненотаріально завірені програми, ще одним потенційним рішенням може бути вимкнення Gatekeeper на них. Можливо, очікуючи, що це буде зроблено, Apple змінила спосіб, у який це можна зробити, зробивши процедуру двоетапною: спочатку ви дозволяєте відключити перевірки, а потім у налаштуваннях «Конфіденційність і безпека» контролюєте, як це буде реалізовано. Apple заохочує тих, кому потрібно це зробити, використовувати встановлені профілі або керувати цим за допомогою корисного навантаження MDM. Брендон Далтон (Brandon Dalton) детально описав ці зміни у своєму звіті.

 

Чи потрібне нотаріальне засвідчення?

 

З точки зору ризику, запуск на вашому комп’ютері Mac лише коду, підписаного Apple (весь код macOS, всі додатки App Store) або нотаріально завіреного Apple, є чи не найбезпечнішою політикою (після запуску лише тих додатків, що постачаються з macOS). У перші роки нотаріального засвідчення кілька шкідливих додатків змогли отримати нотаріальне засвідчення на короткий час, але з часу останнього випадку минуло вже чимало часу. Стратегія найвищого ризику – повністю ігнорувати нотаріальне засвідчення, оскільки воно дозволяє всім шкідливим програмам працювати безперешкодно.

 

Існує багато дезінформації щодо того, як працює чи не працює нотаріальне засвідчення. Це ключова частина переходу Apple від ланцюжка довіри до підписів коду до оцінки виконуваного коду за допомогою CDHash-хешів. Кожен нотаріально завірений додаток асоціюється з CDHхешами, які можуть перевірити цілісність його коду і можуть бути порівняні з тими, що були отримані під час процесу нотаріального завірення. Це дозволяє Apple розділити код на один з трьох класів:

 

  • відомий хороший, отриманий при нотаріальному посвідченні,
  • відомий поганий, виявлений у шкідливому коді в природних умовах,
  • невідомий, знайдений у коді, який не був нотаріально завірений, або знайдений у відомому шкідливому програмному забезпеченні.

 

Якщо весь код, який виконується на вашому комп’ютері Mac, належить до першої категорії або підписаний компанією Apple, то він має найнижчий ризик. Вам слід прагнути до того, щоб жоден код з третьої категорії не міг виявитися шкідливим.

Оригінал статті можна переглянути на eclecticlight