Ich habe gerade auf das neueste MacOS 10.13.2 aktualisiert und nach dem Neustart meines Rechners wurde ich aufgefordert, eingehende Netzwerkverbindungen für "rapportd" zuzulassen.
Nachdem ich diese blockiert und in der Firewall-Konfiguration überprüft habe, kann ich sehen, dass es sich um eine ausführbare Datei in /usr/libexec/rapportd
handelt, die am 1. Dezember auf meinem Rechner erstellt wurde.
Das ist ein Tag, nachdem ich das Sicherheitsupdate 2017-001 installiert hatte (zum zweiten Mal; das automatische Update schien nicht zu bemerken, dass ich es manuell aktualisiert hatte), und ich habe in letzter Zeit / um diese Zeit herum keine andere Software installiert oder aktualisiert. Google Chrome aktualisiert, wann immer es will, so könnte dies mit einem Chrome-Update zusammenhängen (keine Ahnung, wann es zuletzt aktualisiert).
Das Internet legt nahe, dass dies mit einem Bankenschutzprogramm zusammenhängt, aber das scheint hier nicht zu passen, und aus einer vagen Text-Edit-Inspektion der Binärdatei kann ich sehen, dass sie auf /System/Library/PrivateFrameworks/Rapport.framework/Versions/A/Rapport
verweist (ein Framework, das auf meinem Rechner im Juli erstellt und im Oktober aktualisiert wurde), was mich glauben lässt, dass es sich wahrscheinlich um einen neuen 1st-Party OS Daemon handelt.
Was macht rapportd?
EDIT: Es sieht so aus, als ob die Manpage aktualisiert wurde und nun lautet:
`Daemon, der die Weitergabe von Telefonanrufen und andere Kommunikationsfunktionen zwischen Apple-Geräten ermöglicht.
Ich habe gerade die gleiche Erfahrung gemacht. Die Manpage besagt, dass es sich um ein:
"Daemon, der Unterstützung für das Rapport-Konnektivitäts-Framework bietet".
Die Überprüfung der Codesignatur mit codesign -dv --verbose=4 /usr/libexec/rapportd
zeigt, dass es von Apple signiert ist und, da es gegen ein PrivateFramework gelinkt ist (was Apple für andere nicht erlaubt) und an einem SIP-geschützten Ort liegt (es sei denn, Sie haben SIP ausgeschaltet), scheint es sich um legitime Apple-Software zu handeln. Die Manpage deutet an, daß es mit der Kommunikation zu tun hat, obwohl ich noch keine wirkliche Dokumentation dazu gefunden habe.
(Dank an John Keates für den Hinweis auf die Code-Signatur).
Zusätzlich zu dem, was bereits gepostet wurde, ist /usr/libexec/rapportd von Apple signierter Code, der mit einem PrivateFramework verknüpft ist (das Apple nicht für andere zulässt und daher auch nicht für andere signiert) und sich an einem SIP-geschützten Ort befindet. Solange Sie SIP nicht deaktivieren, ist dies einfach ein Teil des Betriebssystems, der von Apple zur Verfügung gestellt wird.
Sie können dies über die Kommandozeile überprüfen:
codesign -vvvv -R="anchor apple" /usr/libexec/rapportd
Dies sollte in etwa Folgendes melden:
/usr/libexec/rapportd: valid on disk
/usr/libexec/rapportd: satisfies its Designated Requirement
/usr/libexec/rapportd: explicit requirement satisfied
Um zu zeigen, mit welchen Bibliotheken gelinkt wird:
otool -L /usr/libexec/rapportd
Das zeigt dann etwas wie:
/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)
(edit: Ich habe meine vorherige Verwechslung von UID und PID korrigiert - ich bitte um Entschuldigung!!!)
Ich habe überprüft, welche Dateien dieser Prozess geöffnet hat, und das hilft auch nicht viel. Aber zumindest weiß ich jetzt, auf welchem Port er versucht zu lauschen (49161) und ich kann hoffentlich herausfinden, wofür dieser Port "reserviert" ist (es ist ein hoher Port, also ist er nicht wirklich als solcher reserviert, ja ich weiß).
[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