Що таке rapportd і чому він хоче вхідні мережеві з'єднання?


44

Щойно я оновив до останнього MacOS 10.13.2, і після перезавантаження, моя машина попросила дозволити вхідні мережеві з'єднання для "rapportd".

Заблокувавши його та перевіривши в конфігурації брандмауера, я можу побачити, що це виконуваний файл, /usr/libexec/rapportdякий було створено на моїй машині 1 грудня.

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

Інтернет припускає, що це пов’язано з якоюсь програмою захисту банківської справи, але це, здається, не підходить тут, і з неясного огляду редагування бінарних текстів я можу побачити, що вона посилається /System/Library/PrivateFrameworks/Rapport.framework/Versions/A/Rapport(рамка, створена на моїй машині ще в липні та оновлена у жовтні), що змушує мене думати, що це, ймовірно, буде новим демоном першої сторони ОС.


Що робить Раппортд?


1
Він має вкладку, але це не дуже корисно: "Конспект: Демон, що забезпечує підтримку системи зв'язку Rapport".
sengi

1
1. Підказки з інших місць пропонують зв’язатись із локальними пристроями Apple, що підключаються (і прокидають Mac від сну). 2. Також є система RapportUIAgent в системі / бібліотеці / 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.
Vision Chang

Не знаю багато про подібні речі, але помітили, що вхідна спроба з'єднатися відбувається з мого iPhone (це IP-адреса, до якої підключений iPhone).
Гай

Відповіді:


19

EDIT: Схоже, оновлена ​​сторінка оновлена ​​і тепер звучить:

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, а не спеціальним.
saagarjha

12

Я вважаю, що він використовується для iTunes Home Sharing та віддаленого додатку для управління iTunes.

Я дізнався це, тому що Little Snitch блокував його, і я не міг розібратися, чому віддалений матеріал iTunes не працює, тому що я випадково закрив діалог :)

Як тільки я дозволив, мій телефон міг бачити iTunes на своєму ноутбуці, а також виявляти iTunes Home Sharing.


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

6

З власного досвіду ^ З досвіду я можу сказати, що ця послуга потрібна принаймні для переадресації (передачі) текстових повідомлень для роботи.

Наприклад, блокуючи її брандмауером, наприклад, в налаштуваннях iPhone ставиться велика смілива заборона на пункт "Пересилання текстових повідомлень". Насправді це взагалі не буде показано

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


Цікаво. Я заблокував rapportd на своїй машині, але обидва iMessages та пересилання текстових повідомлень для мене все ще працюють добре. Чи можливо у вас є ще одна заблокована послуга?
Дейв

Як заблокували? Ви намагалися перезавантажити після цього?
poige

Вибравши "відхилити", коли він запитував, як зазначено в моєму первісному запитанні (і він все ще вказаний як заблокований в налаштуваннях брандмауера). І так, я відтоді перезавантажувався багато разів.
Дейв

Ви можете напевно перевірити трафік та / або 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
Розкажіть, будь ласка, про те, що означає для вас "backdoor"?
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.