T1548.006: Манипуляции с TCC
Злоумышленники могут использовать службу или базу данных TCC (Transparency, Consent, & Control) для запуска вредоносных приложений с повышенными привилегиями. TCC — это механизм управления конфиденциальностью и безопасностью в macOS, который определяет, имеет ли запущенный процесс разрешение на доступ к данным или службам, защищенным TCC, например полный доступ к диску или общий доступ к экрану, камере или микрофону.
Когда приложение запрашивает доступ к службе или данным, защищенным TCC, демон TCC (tccd
) ищет перечень предоставленных разрешений в базе данных TCC, сохраненной в файле /Library/Application Support/com.apple.TCC/TCC.db
(и соответствующем файле в ~/). Если разрешений нет, пользователю предлагается их предоставить. Предоставленные приложению разрешения сохраняются в базе данных и при повторных обращениях к службе или данным не запрашиваются, пока не будут сброшены. Например, после получения разрешения на доступ к веб-камере пользователя браузер не будет явным образом запрашивать такое разрешение снова.
Злоумышленники могут манипулировать базой данных TCC или иным образом использовать службу TCC для выполнения вредоносного кода. Для этого могут применяться разные техники, в том числе использование системных приложений с высоким уровнем привилегий для выполнения полезных нагрузок или манипулирование базой данных для предоставления вредоносному приложению разрешений TCC.
Например, злоумышленники могут использовать приложение Finder, которое по умолчанию имеет полный доступ к диску, для выполнения вредоносного сценария AppleScript без ведома пользователя. Известны случаи, когда злоумышленники манипулировали ОС с отключенной технологией защиты целостности системы (SIP), чтобы загрузить подконтрольную им базу данных TCC, используя переменные окружения и утилиту launchctl.
Злоумышленники также могут внедрять код в целевые приложения с нужными им разрешениями TCC (см., например, технику Внедрение кода в процессы).
Способы обнаружения
ID | DS0017 | Источник и компонент данных | Команда: Выполнение команд | Описание | Отслеживайте выполнение команд с аргументами, которые позволяют эксплуатировать или модифицировать механизмы TCC, отвечающие за контроль доступа к повышенным привилегиям. В macOS вызов |
---|
ID | DS0022 | Источник и компонент данных | Файл: Изменение файла | Описание | Отслеживайте изменения в файлах, связанных с настройками TCC, включая |
---|
ID | DS0009 | Источник и компонент данных | Процесс: Создание процесса | Описание | Отслеживайте запуск новых процессов, которые могут обходить механизмы TCC, предназначенные для контроля повышенных привилегий. В macOS вызов |
---|
Меры противодействия
ID | M1026 | Название | Управление привилегированными учетными записями | Описание | Удалите ненужных пользователей из группы локальных администраторов в системах. |
---|
ID | M1047 | Название | Аудит | Описание | Регулярно проверяйте приложения с помощью Автоматизации в разделе Системные настройки безопасности и конфиденциальности. Чтобы сбросить разрешения, пользователь может воспользоваться командой |
---|
ID | M1051 | Название | Обновление ПО | Описание | Регулярно обновляйте программное обеспечение. По возможности проследите, чтобы в системах была установлена macOS Sierra или более поздняя версия macOS и включен SIP. |
---|
ID | M1022 | Название | Ограничение разрешений для файлов и каталогов | Описание | При использовании MDM проследите, чтобы предоставляемые разрешения соответствовали требованиям бинарного файла. Полный доступ к диску должны иметь только те бинарные файлы, которым он необходим, в соответствии с политикой. |
---|