Was ist rapportd und warum möchte es eingehende Netzwerkverbindungen?

Ich habe gerade auf das neueste MacOS 10.13.2 aktualisiert und nach dem Neustart hat mich mein Computer aufgefordert, eingehende Netzwerkverbindungen für "rapportd" zuzulassen.

Nachdem ich es blockiert und die Firewall-Konfiguration überprüft habe, kann ich sehen, dass dies eine ausführbare Datei ist, /usr/libexec/rapportddie am 1. Dezember auf meinem Computer erstellt wurde.

Das ist einen Tag, nachdem ich das Sicherheitsupdate 2017-001 installiert habe (zum zweiten Mal; Autoupdate schien nicht zu bemerken, dass ich es manuell aktualisiert hatte), und ich habe in letzter Zeit / ungefähr zu dieser Zeit keine andere Software installiert oder aktualisiert . Google Chrome wird aktualisiert, wann immer es sich anfühlt, also könnte dies mit einem Chrome-Update zusammenhängen (keine Ahnung, wann es zuletzt aktualisiert wurde).

Das Internet schlägt vor, dass dies mit einem Bankenschutzprogramm zusammenhängt, aber das scheint hier nicht zu passen, und aus einer vagen Textbearbeitungsprüfung der Binärdatei kann ich sehen, dass sie verweist /System/Library/PrivateFrameworks/Rapport.framework/Versions/A/Rapport(ein Framework, das im Juli auf meinem Computer erstellt und aktualisiert wurde im Oktober), was mich vermuten lässt, dass es sich wahrscheinlich um einen neuen 1st-Party OS-Daemon handelt.


Was macht rapportd?

Es hat eine Manpage, die aber nicht sehr hilfreich ist: „Synopsis: Daemon Providing Support for the Rapport Connectivity Framework.“
1. Hinweise von anderer Stelle deuten darauf hin, dass lokale Apple-Geräte eine Verbindung herstellen (und den Mac aus dem Ruhezustand aufwecken). 2. Es gibt auch einen RapportUIAgent in System/Library/CoreServices. 3. Es gibt 2 Startagenten. 4. rapportd ist in 10.13.0 vorhanden, aber nicht aktiv. 5. Es gibt /System/Library/Sandbox/profiles/com.apple.rapportd.sb 6. Text in rapportd.sb und in der ausführbaren rapportd-Datei beinhaltet Airplay, WLAN, Bluetooth, Kopplung und Homekit.
Ich denke, es war Ihr anderes Apple-Gerät, das versucht hat, sich mit Ihrem mbp zu verbinden.
Ich weiß nicht viel über diese Art von Sachen, habe aber bemerkt, dass der eingehende Verbindungsversuch von meinem iPhone kommt (es ist die IP-Adresse, mit der mein iPhone verbunden ist).
Ich bin hierher gekommen, weil Rapportd für den Bonjour-Service wirbt. Die Ausgabe von „dns-sd -B _services._dns-sd._udp“ ist „_tcp.local. _companion-link“, was als Diensttyp „Compagnion link“ in iNet Network Scanner falsch geschrieben ist. Rechtschreibfehler in unbekannten Bonjour-Diensten lösen meinen Malware-Detektor aus. Auch bei ausgeschaltetem Handoff bleibt dieser Dienst aktiv. Ich denke, Apple muss in der Lage sein, Telefone/Tablets/Laptops um jeden Preis verbunden zu halten. Nach Rücksprache mit Codesign schätze ich, dass Rapportd die erste Partei ist. Warum aber so obskur.
Mein Rapportd wurde geöffnet: /usr/libexec/rapportd, /private/var/db/timezone/tz/2019c.1.0/icutz/icutz44l.dat, /System/Library/PrivateFrameworks/CorePhoneNumbers.framework/Versions/A/Resources/CorePhoneNumbers .ruleset, /usr/share/icu/icudt64l.dat, /usr/lib/dyld, Unter anderem

Antworten (7)

BEARBEITEN: Es sieht so aus, als ob die Manpage aktualisiert wurde und jetzt lautet:

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


Ich hatte gerade die gleiche Erfahrung. Die Manpage gibt an, dass es sich um Folgendes handelt:

Daemon providing support for the Rapport connectivity framework.

Die Überprüfung der Code-Signatur mit codesign -dv --verbose=4 /usr/libexec/rapportdzeigt, dass sie von Apple signiert ist und sich an einem SIP-geschützten Ort befindet (es sei denn, Sie haben SIP deaktiviert), dies scheint legitime Apple-Software zu sein. Die Manpage impliziert, dass es sich um Kommunikation handelt, obwohl ich noch keine wirkliche Dokumentation darüber gefunden habe.

(Dank an John Keates für den Code-Signatur-Tipp.)

Nur weil Apple es autorisiert hat, ist es nicht "legitim". Apple sammelt und teilt seit Oktober 2012 Informationen über seine Benutzer mit staatlichen Sicherheitsorganen . Ich habe kein iPhone und möchte nicht, dass eine Sicherheitslücke geöffnet wird, um sie mit anderen Apple-Geräten zu teilen.
„es ist mit einem PrivateFramework verknüpft (was Apple anderen nicht erlaubt)“: Apple kümmert sich nicht darum, es sei denn, Sie planen, es über den App Store zu vertreiben. Tatsächlich verlinkt eine der Apps, an denen ich arbeite, auf ein privates Framework, und Apple lässt uns problemlos signieren.
Guter Punkt Saagarjha. Ich habe diesen Punkt entfernt.
wird auch von der neuen Universal Control -Funktion verwendet.

Zusätzlich zu dem, was bereits gepostet wurde, ist /usr/libexec/rapportd von Apple codesigniert und mit einem PrivateFramework verknüpft (das Apple für andere nicht zulässt und daher nicht für andere signiert) und in einem SIP-geschützten Lage. Sofern Sie SIP nicht deaktivieren, ist dies einfach ein Teil des Betriebssystems, das von Apple bereitgestellt wird.

Sie können dies in der Befehlszeile überprüfen:

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

Dies sollte etwa Folgendes melden:

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

So zeigen Sie an, welche Bibliotheken verknüpft sind:

otool -L /usr/libexec/rapportd

Was so etwas wie zeigen wird:

/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)
"was Apple für andere nicht zulässt und daher nicht für andere signiert": Probieren Sie es selbst aus; Sie werden sehen, dass es gut funktioniert:echo 'int main() {}' | clang -F/System/Library/Frameworks -framework MobileDevice -x c - -o test; codesign -s "Your certificate" test
PrivateFrameworks und von Apple mitgestaltet, keine Frameworks und lokal von Ihnen selbst mitgestaltet.
Entschuldigung, ich meinte echo 'int main() {}' | clang -F/System/Library/PrivateFrameworks -framework MobileDevice -x c - -o test; codesign -s "Your certificate" test. Ein ziemlich unglücklicher Tippfehler angesichts dessen, was wir diskutieren. Außerdem habe ich dies mit meinem Mac-Entwicklerzertifikat signiert, nicht mit einem Ad-hoc-Zertifikat.
@JohnKeates Sehr nützlich, danke. @saagarjha Kannst du bitte mehr Informationen geben? Ich bin verwirrt, meinst du, dass dies PrivateFrameworknicht der Fall ist Private?
Ein „privates Framework“ ist für die Verwendung durch Apple gedacht, nicht für Entwickler von Drittanbietern. Nichtsdestotrotz gibt es nichts Technisches, das Sie davon abhält, dagegen zu verlinken und das Ergebnis zu signieren.

Ich glaube, es wird für iTunes Home Sharing und die Remote-App zur Steuerung von iTunes verwendet.

Ich habe das herausgefunden, weil Little Snitch es blockiert hat und ich konnte nicht herausfinden, warum die iTunes-Remote-Sachen nicht funktionierten, weil ich versehentlich den Dialog geschlossen habe :)

Sobald ich es zugelassen hatte, konnte mein Telefon iTunes auf meinem Laptop sehen und die iTunes-Home-Freigabe entdecken.

Ich habe noch nie ein iOS-Gerät auf diesem Computer synchronisiert, aber ich verwende iTunes Home Sharing und habe rapportdes mit TCP *: 65530 (LISTEN) ausgeführt, das sowohl auf IPv4 als auch auf IPv6 geöffnet ist. Ich dachte, Port 65530 sei eine ziemlich frech hohe Portnummer, nur sechs unter dem höchstmöglichen Wert, aber zum Glück klingt es hoffentlich nach legitimer Software
Wenn Sie sich ein zweites System ansehen, lauscht es auf einem anderen Port. Es erhält den vom Betriebssystem zur Laufzeit angegebenen Port und registriert ihn dann bei Bonjour/mDNS.

Aus eigener pain^W-Erfahrung kann ich sagen, dass dieser Dienst zumindest für die SMS-Weiterleitung (Relaying) benötigt wird.

Wenn es beispielsweise mit der Firewall blockiert wird, wird das Element „SMS-Weiterleitung“ in den iPhone-Einstellungen massiv verboten. Tatsächlich wird es dort überhaupt nicht angezeigt

Geben Sie hier die Bildbeschreibung ein

Interessant. Ich habe rapportd auf meinem Computer blockiert, aber sowohl iMessages als auch die Weiterleitung von Textnachrichten funktionieren bei mir immer noch einwandfrei. Ist es möglich, dass Sie auch einen anderen Dienst blockiert haben?
Wie hast du blockiert? Hast du danach einen Neustart versucht?
Indem Sie bei der Frage „Ablehnen“ auswählen, wie in meiner ursprünglichen Frage erwähnt (und es wird in den Firewall-Einstellungen immer noch als blockiert aufgeführt). Und ja, ich habe seitdem viele Male neu gestartet.
Sie können sicher mit Traffic Sniffer und/oder netstat/lsof

Terminal man rapportdeingeben. Dies ist die Ausgabe:

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

(Bearbeiten: Ich habe meine vorherige Verwechslung von UID und PID korrigiert - Entschuldigung an alle !!!)

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 es zu lauschen versucht (49161) und ich kann hoffentlich suchen, 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
Bitte erläutern Sie hier, was eine Hintertür für Sie bedeutet.
501 ist die UID, nicht die PID! Sie müssen lsof -p 306für diesen Vorgang
Entschuldigung für die UID/PID-Verwirrung - ich habe es jetzt korrigiert.

Haben Sie kürzlich zugestimmt, Software zum Schutz der Kommunikation mit Ihrer Bank zu installieren? https://en.wikipedia.org/wiki/Trusteer#Trusteer_Rapport

Diese Software lässt mich zusammenzucken. Es scheint super schwer zu sein und hat Tonnen von Schwachstellen und macht die Sicherheit der Menschen tatsächlich viel schlechter. Ich denke jedoch, dass dies Apple-Software ist und nicht der von Ihnen erwähnte Link - nur dass die Namen gleich sind.
/usr/libexec/rapportdScheint von Apple geliefert worden zu sein.