Что такое rapportd и зачем ему входящие сетевые подключения?


44

Я только что обновился до последней версии MacOS 10.13.2 и после перезапуска моя машина попросила меня разрешить входящие сетевые подключения для "rapportd".

После блокировки и проверки конфигурации брандмауэра я вижу, что это исполняемый файл, /usr/libexec/rapportdсозданный на моей машине 1 декабря.

Это на следующий день после того, как я установил обновление безопасности 2017-001 (во второй раз; автообновление, похоже, не замечало, что я обновил его вручную), и я не устанавливал и не обновлял какое-либо другое программное обеспечение в последнее время / в то время , Google Chrome обновляется всякий раз, когда ему это нравится, так что это может быть связано с обновлением Chrome (не знаю, когда оно обновлялось в последний раз).

Интернет предполагает, что это связано с какой-то программой защиты банковской деятельности, но она, кажется, здесь не подходит, и из расплывчатой ​​проверки текстового редактора двоичного файла я вижу, что он ссылается /System/Library/PrivateFrameworks/Rapport.framework/Versions/A/Rapport(структура, созданная на моем компьютере в июле и обновленная в октябре), что заставляет меня думать, что это, вероятно, будет новый сторонний демон ОС.


Что делает rapportd?


1
Он имеет справочную страницу, но он не очень полезен: «Краткое описание: Daemon обеспечивает поддержку инфраструктуры подключения Rapport».
sengi

1
1. Подсказки из других источников предлагают сделать подключение к локальным устройствам Apple (и пробуждение Mac из спящего режима). 2. Существует также RapportUIAgent в System / Library / CoreServices. 3. Есть 2 агента запуска. 4. rapportd существует в 10.13.0, но не активен. 5. Существует /System/Library/Sandbox/profiles/com.apple.rapportd.sb 6. Текст в rapportd.sb и в исполняемый файл rapportd включает трансляцию, wifi, bluetooth, сопряжение и homekit.
Гилби

Я думаю, что это было ваше другое устройство Apple, пытались подключиться к вашему MBP.
Видение Чанг

Не знаю много о таких вещах, но заметил, что входящая попытка подключения происходит с моего iPhone (это IP-адрес, к которому подключен мой iPhone).
Gui

Ответы:


19

РЕДАКТИРОВАТЬ: похоже, страница справочника была обновлена ​​и теперь гласит:

Daemon that enables Phone Call Handoff and other communication features between Apple devices.


У меня просто был такой же опыт. Страница руководства утверждает, что это:

Daemon providing support for the Rapport connectivity framework.

Проверка подписи кода codesign -dv --verbose=4 /usr/libexec/rapportdпоказывает, что он подписан Apple и, поскольку он связан с PrivateFramework (который Apple не позволяет другим) и в защищенном SIP-расположении (если вы не отключили SIP), это выглядит как законная Apple програмное обеспечение. Страница man подразумевает, что она связана с коммуникацией, хотя я еще не нашел какой-либо реальной документации по ней.

(Спасибо Джону Китсу за подсказку с подписью кода.)


То, что Apple разрешила это, не делает его «законным». Apple собирает и делится информацией о своих пользователях с органами государственной безопасности с октября 2012 года . У меня нет iPhone, и я не хочу, чтобы дыра в безопасности открывалась для других устройств Apple.
Foliovision

2
«он связан с PrivateFramework (который Apple не позволяет другим)»: Apple это не волнует, если только вы не планируете распространять их через App Store. Фактически, одно приложение, над которым я работаю, ссылается на частный фреймворк, и Apple позволяет нам подписывать его просто отлично.
saagarjha

15

В дополнение к тому, что уже было опубликовано, / usr / libexec / rapportd - это код, подписанный Apple и связанный с PrivateFramework (который Apple не разрешает другим и, следовательно, не подписывает для других), а также в SIP-защищенном место расположения. Если вы не отключите SIP, это просто часть операционной системы Apple.

Вы можете проверить это в командной строке:

codesign -vvvv -R="anchor apple" /usr/libexec/rapportd

Это должно сообщить что-то вроде:

/usr/libexec/rapportd: valid on disk
/usr/libexec/rapportd: satisfies its Designated Requirement
/usr/libexec/rapportd: explicit requirement satisfied

Чтобы показать, с какими библиотеками связаны:

otool -L /usr/libexec/rapportd

Который покажет что-то вроде:

/usr/libexec/rapportd:
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1450.14.0)
    /System/Library/PrivateFrameworks/CoreUtils.framework/Versions/A/CoreUtils (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/PrivateFrameworks/Rapport.framework/Versions/A/Rapport (compatibility version 0.0.0, current version 0.0.0)
    /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1450.14.0)
    /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.0.0)

1
«что Apple не позволяет другим и, следовательно, не подписывает для других»: попробуйте сами; вы увидите, что он работает просто отлично:echo 'int main() {}' | clang -F/System/Library/Frameworks -framework MobileDevice -x c - -o test; codesign -s "Your certificate" test
saagarjha

PrivateFrameworks и кодируется Apple, а не Frameworks и кодируется локально самостоятельно.
Джон Китс

4
Извини, я имел ввиду echo 'int main() {}' | clang -F/System/Library/PrivateFrameworks -framework MobileDevice -x c - -o test; codesign -s "Your certificate" test. Довольно неудачная опечатка, учитывая то, что мы обсуждаем. Кроме того, я подписал это своим сертификатом Mac Developer, а не специальным сертификатом.
saagarjha

12

Я считаю, что он используется для iTunes Home Sharing и приложения Remote для управления iTunes.

Я узнал об этом, потому что Little Snitch блокировал его, и я не мог понять, почему не работает удаленный материал iTunes, потому что я случайно закрыл диалог :)

Как только я позволил это, мой телефон мог видеть iTunes на моем ноутбуке, а также обнаружить iTunes Home Sharing.


Я никогда не синхронизировал устройство iOS на этом компьютере, но я использую общий rapportdдоступ к iTunes и запускаю с TCP *: 65530 (LISTEN), открытым как на ipv4, так и на ipv6, я думал, что порт 65530 был довольно нахальным высоким номером порта, всего шесть ниже максимально возможного, но, к счастью, это звучит как законное программное обеспечение, надеюсь,
Томахи

6

По своему собственному опыту я могу сказать, что этот сервис необходим по крайней мере для переадресации (ретрансляции) текстовых сообщений.

Например, его блокировка с помощью брандмауэра накладывает большой жирный запрет на элемент «Пересылка текстовых сообщений» в настройках iPhone. На самом деле это даже не будет показано там

введите описание изображения здесь


Интересный. Я заблокировал rapportd на своем компьютере, но iMessages и пересылка текстовых сообщений все еще работают нормально для меня. Возможно ли, что у вас есть другой заблокированный сервис?
Дейв

Как вы заблокировали? Вы пытались перезагрузиться после того, как сделали это?
Пойдж

Выбрав «отклонить», когда он спросил, как отмечено в моем первоначальном вопросе (и он все еще указан как заблокированный в настройках брандмауэра). И да, я перезагружался много раз с тех пор.
Дэйв

Вы можете проверить это с помощью анализатора трафика и / или netstat/lsof
poige

6

Введите man rapportdв терминале. Это вывод:

NAME
     rapportd -- Rapport Daemon.

SYNOPSIS
     Daemon that enables Phone Call Handoff and other communication features between Apple devices.

     Use '/usr/libexec/rapportd -V' to get the version.

LOCATION
     /usr/libexec/rapportd

0

(редактировать: я исправил свое предыдущее смешение UID и PID - извинения всем !!!)

Я проверил, какие файлы открыты в этом процессе, и это тоже мало помогает. Однако, по крайней мере, теперь я знаю, какой порт он пытается прослушивать (49161), и я могу надеяться найти, для чего этот порт «зарезервирован» (это высокий порт, поэтому он не зарезервирован как таковой, да, я знаю).

[username]mbp:~ root# ps -ef |grep -i [r]apport
  501   306     1   0 10:52AM ??         0:00.11 /usr/libexec/rapportd
[username]mbp:~ root# lsof -p 306
COMMAND  PID  USER   FD   TYPE             DEVICE   SIZE/OFF       NODE NAME
rapportd 306 [username]  cwd    DIR                1,4        992          2 /
rapportd 306 [username]  txt    REG                1,4      44768 8591706461 /usr/libexec/rapportd
rapportd 306 [username]  txt    REG                1,4     837248 8591705719 /usr/lib/dyld
rapportd 306 [username]  txt    REG                1,4 1155805184 8591716537 /private/var/db/dyld/dyld_shared_cache_x86_64h
rapportd 306 [username]    0r   CHR                3,2        0t0        308 /dev/null
rapportd 306 [username]    1u   CHR                3,2        0t0        308 /dev/null
rapportd 306 [username]    2u   CHR                3,2        0t0        308 /dev/null
rapportd 306 [username]    3u  IPv4 0x571b821607c38e93        0t0        TCP *:49161 (LISTEN)
rapportd 306 [username]    4u  IPv6 0x571b82160763854b        0t0        TCP *:49161 (LISTEN)
rapportd 306 [username]    5u  unix 0x571b821607941573        0t0            ->0x571b821607941c7b
rapportd 306 [username]    6u  unix 0x571b82160794069b        0t0            ->0x571b82160794050b

1
Пожалуйста, уточните, что для вас значит бэкдор?
Bmike

501 это UID, а не PID! Вам нужно lsof -p 306для этого процесса
Дейв

извините за путаницу UID / PID - я исправил это сейчас.
cepal67

-3

Вы недавно согласились установить программное обеспечение для защиты связи с вашим банком? https://en.wikipedia.org/wiki/Trusteer#Trusteer_Rapport


1
Это программное обеспечение заставляет меня съеживаться. Кажется, что он очень тяжелый, с множеством уязвимостей и фактически делает безопасность людей намного хуже. Однако я думаю, что это программное обеспечение Apple, а не ссылка, которую вы упомянули - просто названия совпадают.
bmike
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.