tl; dr Немає нічого незвичайного, або по суті небезпечного, з вашим ARDAgent виконуваним файлом або його правами. Запропонована вами виправлення дійсно зробить вашу систему трохи безпечнішою, але може завдати більше шкоди, ніж користі. Ймовірно, це не варто.
С chmod a-x
, виграш у безпеці був би дійсно малий; оновлення програмного забезпечення може просто скинути прапор, залишивши вас помилковим почуттям безпеки; ви обов'язково зламаєте ARD; Ви можете також забути повторно ввімкнути SIP або навіть припинити оновлення системи.
Що сталося
Давайте перше підсумуємо, що сталося з ARDAgent в минулому.
Ще в 2008 році бібліотеки OSA (частина Mac OS X) мали проблему ескалації привілеїв root ( CVE-2008-2830 ), що дозволить зловмисникам виконувати довільний AppleScript за допомогою привілейованого додатка.
Один із популярних способів демонстрації CVE-2008-2830 - використання програми ARDAgent як заплутався депутат виконувати довільний код AppleScript з підвищеними привілеями.
Цей експлуатат був можливий тому, що ARDAgent використовував бібліотеки OSA (містять в той час помилку) і оскільки він призначений для роботи з правами суперкористувача.
Попереджувальне повідомлення SUID на Disk Utility, швидше за все, викликане незначним контролем, введеним в OS X 10.5. Попередження SUID звикли турбувати Користувачі Mac ще в 2007 році ; перші звіти з'явилися в день 10.5 був випущений, і CVE-2008-2830 навіть не з'явився. Тому я не вважаю, що попередження пов'язане з помилкою, експлуататом або з наступним патчем Apple.
В даний час CVE-2008-2830 було зафіксовано майже десять років. З тих пір я не бачив звітів про будь-яку іншу вразливість, пов'язану з ARDAgent.
Ваша модель загрози
Відкинувши всю цю історію, давайте перейдемо до роз'яснення сценарію загрози, який ви, швидше за все, маєте на увазі; Ви можете редагувати своє запитання, якщо я помиляюся.
Заради моделювання загроз припустимо, що ARDAgent 3.9.2 (версія, яка постачається з El Capitan) має інший незв'язана вразливість, яка не є загальновідомою на сьогодні, але може бути виявлена і використана зловмисником.
У найгіршому випадку, ця уразливість буде проблемою віддаленого виконання коду (RCE); тоді зловмисник зможе скористатися помилкою через мережу, щоб отримати кодове виконання (через помилку) і привілеї суперкористувача (через біт setuid) за один раз. Це дещо реалістична загроза.
Якщо зловмисник вже має локальне виконання коду з нормальними привілеями, ескалація може бути досягнута тим самим засобом.
Ми не зацікавлені в тому, що зловмисник, який вже має привілеї суперкористувача; Такий зловмисник вже мав би повний контроль над всією системою, і нічого не отримав би, атакуючи ARDAgent.
Зменшення ризиків
Якщо ви працюєте chmod a-x
проти виконуваного файлу згідно з вашою пропозицією (що можливо тільки з SIP вимкнено), зловмисник втрачає: launchd
більше не буде керувати агентом, а також місцевий зловмисник. Ви успішно зменшили поверхню атаки - хоча і лише невеликою часткою.
Вплив виправлення
На macOS, є багато процесів з привілеями суперкористувача, будь то з або без setuid. Той факт, що в ARDAgent було десять років тому помилка, не робить її за своєю природою менш безпечною, ніж інші програми. У середньому інші процеси є такими ж ймовірними як ARDAgent мати невідкриту критичну вразливість.
Ти будеш втратити функції віддаленого робочого стола від Apple (якщо їх увімкнено). Ви також можете зіткнутися з випадковим Невдале оновлення MacOS оскільки прапори могли стати частиною попереднього підтвердження підпису (не на відміну від попередження SUID десять років тому, але на цей раз Apple може вибрати помилку). Швидше за все, ви забудете виправлення, щоб перевстановити.
Навіть якщо система оновлюється, вони можуть просто скинути біт виконання при доставці наступної версії ARDAgent, залишивши вас помилковим почуттям безпеки.
Існує також ризик забувши повторно включити SIP (що призведе до набагато більшого ризику, ніж ви тільки що пом'якшили). І, нарешті, існує невеликий ризик зробити невелику помилку chmod
наприклад, rwsrw-rw-
- що означає, що кожен користувач безкоштовно отримує привілеї root.
Альтернативи
Декілька пропозицій щодо більш безпечного зниження ризику:
Зменшіть поверхню атаки, відключивши послуги, які вам не потрібні. Хоча це може не завжди захищати від ескалаційних атак (зловмисник з локальним виконанням коду може просто запустити агента безпосередньо), це допоможе запобігти RCE.
Повторно ввімкніть SIP якщо вона вимкнена, та залиште його ввімкненим.
Шукати та видаляти несистемні файли, що належать кореню, мають біти setuid / setgid без поважної причини. Якщо вам абсолютно потрібно залишити біти включеними, переконайтеся, що файли ніколи не можуть бути груповими чи світлими.