Что такое trustd на самом деле
trustd, это демон оценки доверия сертификатов, встроенный в macOS. Это системный процесс, поставляемый и подписанный Apple, его задача, решать, следует ли доверять цифровым сертификатам, предоставляемым серверами, к которым подключается ваш Mac.
Каждый раз, когда что-то на вашем Mac устанавливает HTTPS или TLS соединение, сервер предоставляет цепочку сертификатов: свой собственный сертификат, обычно один или несколько промежуточных, и, в конце концов, корневой сертификат, которому предполагается доверять вашей системе. Кто-то должен проверить эту цепочку. Это и есть trustd. Он оценивает, действителен ли сертификат, подписан ли он корректно, не истёк ли срок его действия, не был ли он отозван и заканчивается ли цепочка на корневом сертификате, которому ваш Mac действительно доверяет.
Эта работа не выполняется для каждого приложения отдельно. Вместо того чтобы каждый браузер, почтовый клиент, обновлятор или Electron-приложение реализовывали собственную логику проверки сертификатов и делали это неправильно, macOS централизует оценку доверия в одном системном сервисе. Поэтому trustd выглядит занятым: он работает от имени практически всех процессов, использующих сеть, одновременно. Загрузка страницы в Safari, проверка почты, синхронизация файла и фоновое обновление, все это может запускать проверки доверия за одну секунду.
Обычно вы увидите его как процесс trustd, работающий на системном уровне, иногда вместе с экземпляром для конкретного пользователя. Оба варианта нормальны. Это не что-то, что вы устанавливали, и не что-то, что можно существенно удалить.
Почему он так часто обращается к серверам Apple
Именно это и тревожит людей, поэтому стоит объяснить всё прямо. Проверку того, действительно ли сертификат подписан корректно, можно выполнить офлайн, только с помощью математики. Но проверить, действителен ли сертификат сейчас, нельзя.
Сертификаты отзывают. У сервера крадут приватный ключ, центр сертификации выпускает сертификат по ошибке, компания теряет контроль над доменом. Во всех этих случаях сертификат по-прежнему криптографически корректен и всё ещё находится в пределах своих заявленных сроков действия, но ему больше не следует доверять. Единственный способ, которым ваш Mac может это узнать, это обратиться к данным, опубликованным в другом месте, а значит, выполнить сетевой запрос.
Поэтому trustd обращается к инфраструктуре Apple за информацией об отзыве сертификатов и их действительности, в общем семействе проверок статуса в стиле OCSP, а также использует собственные сервисы проверки Apple и данные, связанные с прозрачностью сертификатов, чтобы обнаруживать сертификаты, которые были выданы, но не должны были быть выданы. Когда вы видите, что trustd снова и снова подключается к доменам Apple, это и есть эти соединения. Это проверка безопасности, а не отчёт о вас.
Apple также кэширует эти данные, поэтому картина получается всплесками, а не идеально пропорционально вашему просмотру. Ожидайте несколько соединений после перезагрузки, после долгого простоя или когда вы открываете сайты, которые давно не посещали, и сравнительно немного между этими моментами. Та же базовая система доверия и проверки также поддерживает другие проверки macOS для подписанного и нотариализованного ПО, хотя детали того, как эти части взаимодействуют, Apple уже должна документировать.
Является ли trustd вредоносным ПО и как проверить это самостоятельно
Нет. trustd, это системный демон Apple первого уровня и задокументированная часть безопасности macOS. На исправном Mac его не может не быть.
Но полагаться на слова статьи, это именно та логика, на которую рассчитывает вредоносное ПО, так что разумно проверить всё на своём компьютере. Есть две вещи, которые стоит подтвердить, и для этого не нужны специальные инструменты.
Первая, расположение. Системные демоны Apple находятся внутри защищённых системных путей, исполняемый файл trustd лежит в системной области usr/libexec, которая на современных версиях macOS находится на защищённом системном томе только для чтения, куда вредоносное ПО не может записывать. В Activity Monitor выберите процесс и откройте инспектор, чтобы увидеть указанный путь. Если trustd запускается из вашей домашней папки, папки загрузок или незнакомого пакета приложений, это настоящий тревожный сигнал. Если он запускается с системного тома, это настоящий trustd.
Вторая, подпись. macOS может показать, кто подписал запущенный бинарный файл, а системные демоны Apple подписаны Apple с системными полномочиями. Правильный путь плюс подпись Apple означают, что перед вами операционная система. Полезно также внимательно читать имя процесса, а не просто мельком на него смотреть, потому что самозванцы обычно выбирают имена, похожие, но не совпадающие.
И ещё одно успокоение: высокая загрузка CPU или постоянная сетевая активность trustd не говорят о компрометации. Это означает, что проверяется множество TLS-соединений, а на обычном Mac именно так и бывает.
Стоит ли блокировать trustd? Нет, и вот что при этом ломается
Технически вы можете заблокировать trustd с помощью брандмауэра. Делать этого не стоит. Из всех фоновых процессов macOS, которые люди норовят заглушить, это один из немногих случаев, когда блокировка делает Mac менее безопасным, а не более приватным.
Проверка сертификатов, это базовый элемент безопасности. Именно она не даёт вашему Mac молча принять отозванный сертификат или цепочку, которая никуда надёжно не ведёт. Ослабьте её, и вы ослабите гарантию, что зашифрованное соединение, которое вы считаете соединением с сервером, и правда установлено с этим сервером.
Практические последствия появляются быстро: HTTPS-соединения, которые не устанавливаются вовсе, соединения, которые зависают, пока система ждёт запрос на проверку, который так и не придёт, размытые ошибки сертификатов в не связанных между собой приложениях, потоки входа, которые перестают работать. Поскольку trustd находится под почти всем, симптомы редко указывают на причину напрямую. В итоге Mac кажется сломанным в разных местах, а не просто показывает очевидное предупреждение.
Честная оговорка о приватности такая: проверка отзыва и действительности по своей природе сообщает сервису, который её выполняет, что какой-то сертификат был проверен в определённый момент времени. Это реальное свойство такого механизма, а не скрытое. Apple публиковала информацию о том, как она обрабатывает этот трафик, и именно эта документация, а не догадки, должна служить источником деталей. Стоит также помнить, что проверки, связанные с сертификатами и нотариализацией, в macOS несколько лет назад привлекли широкое внимание, когда сбой сервиса Apple заметно замедлял запуск приложений, после чего Apple изменила некоторые аспекты работы этих проверок. Смысл не в том, что механизм подозрителен, а в том, что он настолько важен, что все замечают, когда он начинает сбоить.
Так что следите за trustd, если хотите понять, что происходит на вашем компьютере. Не блокируйте его.
Настоящая проблема: трафик безопасности выглядит как трафик отслеживания
Тревога, которую вызывает trustd, очень мало связана с trustd. Дело в том, что необработанный журнал соединений почти нечитаем. Процесс, который вы не запускали, связывается с доменом, который вы не узнаёте, с частотой, которую вы не можете объяснить, и это описание одинаково хорошо подходит для проверки сертификатов, отчётов о сбоях, проверок обновлений и SDK аналитики.
Поэтому люди либо игнорируют всё подряд, из-за чего настоящее отслеживание остаётся незамеченным, либо блокируют по инстинкту, и именно так на машинах появляются загадочные сбои HTTPS. У обеих ситуаций одна и та же причина, не хватает контекста, какой процесс говорит, куда именно и является ли эта цель известной инфраструктурой или известным трекером.
Именно этот контекст и даёт NetMute. Он показывает трафик в реальном времени для каждого приложения и процесса, так что соединение можно отнести к trustd, а не к анонимному источнику. Журналирование на уровне доменов фиксирует, с какими доменами контактировал процесс, когда и сколько данных было передано, превращая "что-то связывается с Apple" в проверяемую запись. Tracker Shield ведет категоризированный список из более чем 1 100 известных доменов трекеров, так что настоящее отслеживание можно отличить от обычного системного трафика, а не затерять в нём. А когда вы находите что-то, что не должно связываться, встроенный брандмауэр для приложений предлагает блокировку одним щелчком и временные правила с автоматическим истечением, чтобы вы могли проверить, не сломает ли блокировка что-то, прежде чем применять её окончательно.
Здесь рабочий процесс короткий. Посмотрите на trustd, убедитесь, что он обращается к инфраструктуре проверки Apple, подтвердите, что его нет ни в одном списке трекеров, и оставьте его в покое. Затем переведите тот же вид на приложение, по поводу которого у вас и был вопрос, потому что это редко оказывается системный демон.