Was ist eine Meldung und warum werden eingehende Netzwerkverbindungen benötigt?

44

Ich habe gerade auf das neueste MacOS 10.13.2 aktualisiert und nach dem Neustart wurde ich von meinem Computer aufgefordert, eingehende Netzwerkverbindungen für "rapportd" zuzulassen.

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

Das ist ein Tag, nachdem ich das Sicherheitsupdate 2017-001 installiert habe (zum zweiten Mal; das automatische Update schien nicht zu bemerken, dass ich es manuell aktualisiert habe), und ich habe in letzter Zeit / um diese Zeit keine andere Software installiert oder aktualisiert . Google Chrome wird aktualisiert, wann immer es sich anfühlt. Dies kann also mit einem Chrome-Update zusammenhängen (keine Ahnung, wann es zuletzt aktualisiert wurde).

Das Internet geht davon aus, dass dies mit einem Bankschutzprogramm zusammenhängt, aber das scheint hier nicht zu passen, und anhand einer vagen Überprüfung der Binärdatei in Textform kann ich feststellen, dass es auf /System/Library/PrivateFrameworks/Rapport.framework/Versions/A/Rapportein Framework verweist, das bereits im Juli auf meinem Computer erstellt und aktualisiert wurde im Oktober), was mich zu der Annahme veranlasst, dass dies wahrscheinlich ein neuer Erstanbieter-OS-Daemon ist.


Was macht rapportd?

Dave
quelle
1
Es gibt eine Hilfeseite, die jedoch nicht sehr hilfreich ist: "Synopsis: Daemon, der Unterstützung für das Rapport-Konnektivitätsframework bietet."
sengi
1
1. Andernorts wird empfohlen, lokale Apple-Geräte anzuschließen (und den Mac aus dem Ruhezustand zu aktivieren). 2. Es gibt auch einen RapportUIAgent in System / Library / CoreServices. 3. Es gibt 2 Startagenten. 4. rapportd existiert in 10.13.0, ist aber nicht aktiv. 5. Es gibt /System/Library/Sandbox/profiles/com.apple.rapportd.sb 6. Der Text in rapportd.sb und in rapportd executable beinhaltet Airplay, WLAN, Bluetooth, Pairing und Homekit.
Gilby
Ich denke, es war dein anderes Apple-Gerät, das versucht hat, eine Verbindung zu deinem MBP herzustellen.
Vision Chang
Ich weiß nicht viel über diese Art von Dingen, habe aber bemerkt, dass der eingehende Verbindungsversuch von meinem iPhone kommt (es ist die IP-Adresse, mit der mein iPhone verbunden ist).
Gui

Antworten:

19

BEARBEITEN: Es sieht so aus, als ob die Manpage aktualisiert wurde und nun 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.

Wenn codesign -dv --verbose=4 /usr/libexec/rapportdSie die Codesignatur mit überprüfen, wird angezeigt, dass sie von Apple signiert ist, und da sie mit einem PrivateFramework (das Apple für andere nicht zulässt) und an einem durch SIP geschützten Ort verknüpft ist (es sei denn, Sie haben SIP deaktiviert), scheint dies legitim zu sein Software. Die Manpage impliziert, dass es sich um Kommunikation handelt, obwohl ich noch keine wirkliche Dokumentation dazu gefunden habe.

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

heiter
quelle
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 keine Sicherheitslücke für andere Apple-Geräte öffnen.
Foliovision
2
"Es ist mit einem PrivateFramework verknüpft (das Apple nicht für andere zulässt)": Apple kümmert sich nicht darum, es sei denn, Sie planen, es über den App Store zu verbreiten. Tatsächlich ist eine der Apps, an denen ich arbeite, ein Link zu einem privaten Framework, und Apple lässt uns das gut unterzeichnen.
Saagarjha
15

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

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

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

Dies sollte etwa Folgendes anzeigen:

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

So zeigen Sie, mit welchen Bibliotheken verknüpft sind:

otool -L /usr/libexec/rapportd

Welches zeigt so 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)
John Keates
quelle
1
"Welche Apple nicht für andere 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
Saagarjha
PrivateFrameworks und von Apple mit Code signiert, nicht Frameworks und lokal von Ihnen mit Code signiert.
John Keates
4
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 besprechen. Außerdem habe ich dieses Zertifikat mit meinem Mac-Entwicklerzertifikat signiert, kein Ad-hoc-Zertifikat.
Saagarjha
12

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 nicht herausfinden konnte, warum das iTunes Remote-Zeug nicht funktioniert hat, weil ich versehentlich den Dialog geschlossen habe :)

Sobald ich es zugelassen hatte, konnte mein Handy iTunes auf meinem Laptop sehen und iTunes Home Sharing entdecken.

Darius
quelle
Ich habe noch nie ein iOS-Gerät auf diesem Computer synchronisiert, aber ich verwende iTunes Home Sharing und habe rapportdTCP *: 65530 (LISTEN) sowohl auf ipv4 als auch auf ipv6 geöffnet. Ich dachte, Port 65530 sei eine ziemlich freche, hohe Portnummer, nur sechs unter dem höchstmöglichen, aber zum Glück klingt es hoffentlich nach legitimer Software
Tomachi
6

Aus eigener Erfahrung kann ich sagen, dass dieser Dienst zumindest für die Weiterleitung von Textnachrichten (Relaying) benötigt wird.

Wenn es beispielsweise mit der Firewall blockiert wird, wird die Option "SMS-Weiterleitung" in den iPhone-Einstellungen stark eingeschränkt. Tatsächlich wird es dort überhaupt nicht gezeigt

Bildbeschreibung hier eingeben

Poige
quelle
Interessant. Ich habe rapportd auf meinem Computer blockiert, aber sowohl iMessages als auch die Weiterleitung von Textnachrichten funktionieren für mich weiterhin einwandfrei. Ist es möglich, dass Sie einen anderen gesperrten Dienst haben?
Dave
Wie hast du geblockt? Haben Sie danach einen Neustart versucht?
Poige
Durch Auswahl von "Verweigern", wenn es gefragt wird, wie in meiner ursprünglichen Frage vermerkt (und es wird immer noch in den Firewall-Einstellungen als gesperrt aufgeführt). Und ja, ich habe seitdem viele Male neu gestartet.
Dave
Sie können dies sicher mit dem Verkehrsschnüffler und / oder netstat/lsof
Poige
6

Geben Sie das man rapportdTerminal ein. 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
Viktor
quelle
0

(edit: Ich habe meine vorherige Verwechslung von UID und PID korrigiert - entschuldige mich bei allen !!!)

Ich habe überprüft, welche Dateien dieser Prozess geöffnet hat, und das hilft auch nicht viel. Zumindest weiß ich jetzt, auf welchem ​​Port es versucht zu lauschen (49161) und ich kann hoffentlich suchen, wofür dieser Port "reserviert" ist (es ist ein hoher Port, also 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
cepal67
quelle
1
Bitte erläutern Sie, was eine Hintertür für Sie hier bedeutet.
bmike
501 ist die UID, nicht die PID! Sie müssen lsof -p 306für diesen Prozess
Dave
Entschuldigung für die UID / PID-Verwirrung - ich habe es jetzt korrigiert.
cepal67
-3

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

Bill Freese
quelle
1
Diese Software lässt mich zusammenzucken. Es scheint sehr schwer zu sein und jede Menge Sicherheitslücken zu haben, was die Sicherheit der Menschen erheblich verschlechtert. Ich denke, dies ist jedoch Apple-Software und nicht der von Ihnen erwähnte Link - nur, dass die Namen gleich sind.
bmike