Cos'è Rapportd e perché vuole connessioni di rete in entrata?


44

Ho appena aggiornato l'ultimo MacOS 10.13.2 e dopo il riavvio, la mia macchina mi ha chiesto di consentire le connessioni di rete in entrata per "rapportd".

Dopo averlo bloccato e verificato la configurazione del firewall, vedo che si tratta di un eseguibile /usr/libexec/rapportdcreato sul mio computer il 1 ° dicembre.

È il giorno successivo all'installazione dell'aggiornamento della protezione 2017-001 (per la seconda volta; l'aggiornamento automatico non sembra aver notato che l'avevo aggiornato manualmente) e non ho installato o aggiornato alcun altro software di recente / in quel periodo . Google Chrome si aggiorna ogni volta che ne ha voglia, quindi potrebbe essere correlato a un aggiornamento di Chrome (non ho idea dell'ultimo aggiornamento).

Internet suggerisce che ciò è correlato ad alcuni programmi di protezione bancaria, ma che non sembra adattarsi qui, e da una vaga ispezione del binario di modifica del testo posso vedere che fa riferimento /System/Library/PrivateFrameworks/Rapport.framework/Versions/A/Rapport(un framework creato sulla mia macchina a luglio e aggiornato nel mese di ottobre) che mi fa pensare che questo sia probabilmente un nuovo demone del sistema operativo di 1a parte.


Cosa fa Rapportd?


1
Ha una manpage, ma non è molto utile: "Sinossi: Daemon fornisce supporto per il framework di connettività Rapport".
sengi,

1
1. Suggerimenti da altre parti suggeriscono di collegarsi ai dispositivi Apple locali (e di riattivare il Mac dalla modalità di sospensione). 2. Esiste anche un RapportUIAgent in System / Library / CoreServices. 3. Ci sono 2 agenti di lancio. 4. rapportd esiste in 10.13.0 ma non attivo. 5. Esiste /System/Library/Sandbox/profiles/com.apple.rapportd.sb 6. Il testo in rapportd.sb e nell'eseguibile rapportd include airplay, wifi, bluetooth, pairing e homekit.
Gilby,

Penso che sia stato l'altro tuo dispositivo Apple a provare a connettersi al tuo mbp.
Visione Chang

Non so molto di questo genere di cose, ma ho notato che il tentativo in entrata di connessione proviene dal mio iPhone (è l'indirizzo IP al quale il mio iPhone è collegato).
Gui,

Risposte:


19

EDIT: Sembra che la pagina man sia stata aggiornata e ora reciti:

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


Ho appena avuto la stessa esperienza. La pagina man afferma che è un:

Daemon providing support for the Rapport connectivity framework.

Controllare la firma del codice con codesign -dv --verbose=4 /usr/libexec/rapportdmostra che è firmato da Apple e, poiché è collegato a un PrivateFramework (che Apple non consente ad altri) e in una posizione protetta da SIP (a meno che non sia stato disattivato SIP), questo sembra essere Apple legittimo Software. La pagina man implica che è legata alla comunicazione, anche se non ho ancora trovato alcuna documentazione reale su di essa.

(Grazie a John Keates per il suggerimento sulla firma del codice.)


Solo perché Apple lo ha autorizzato, non lo rende "legittimo". Apple ha raccolto e condiviso informazioni sui propri utenti con organi di sicurezza statali dall'ottobre 2012 . Non ho un iPhone e non voglio aprire una falla di sicurezza da condividere con altri dispositivi Apple.
Foliovision,

2
"È collegato a un PrivateFramework (che Apple non consente ad altri)": A Apple non interessa questo, a meno che tu non abbia intenzione di distribuirlo attraverso l'App Store. In effetti, una delle app su cui lavoro si collega a un framework privato e Apple ci ha lasciato firmare bene.
Saagarjha,

15

Oltre a ciò che è già stato pubblicato, / usr / libexec / rapportd è un codice firmato da Apple e collegato a un PrivateFramework (che Apple non consente ad altri e quindi non firma per altri), e in un SIP protetto Posizione. A meno che non disattivi SIP, questo è semplicemente parte del sistema operativo, messo lì da Apple.

Puoi verificarlo dalla riga di comando:

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

Questo dovrebbe riportare qualcosa del tipo:

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

Per mostrare a quali librerie sono collegate:

otool -L /usr/libexec/rapportd

Che mostrerà qualcosa di simile:

/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
"che Apple non consente agli altri e quindi non firma per gli altri": provalo tu stesso; vedrai che funziona perfettamente:echo 'int main() {}' | clang -F/System/Library/Frameworks -framework MobileDevice -x c - -o test; codesign -s "Your certificate" test
saagarjha,

PrivateFrameworks, e con codice di Apple, non Frameworks e con codice locale da soli.
John Keates,

4
Scusa, volevo dire echo 'int main() {}' | clang -F/System/Library/PrivateFrameworks -framework MobileDevice -x c - -o test; codesign -s "Your certificate" test. Un refuso piuttosto sfortunato dato quello di cui stiamo discutendo. Inoltre, ho firmato questo con il mio certificato per sviluppatori Mac, non uno ad hoc.
Saagarjha,

12

Credo che sia usato per iTunes Home Sharing e l'app Remote per controllare iTunes.

L'ho scoperto perché Little Snitch lo stava bloccando e non riuscivo a capire perché le cose remote di iTunes non funzionavano perché ho chiuso accidentalmente la finestra di dialogo :)

Una volta che l'ho permesso, il mio telefono ha potuto vedere iTunes sul mio laptop e scoprire la condivisione della casa di iTunes.


Non ho mai sincronizzato un dispositivo iOS su questa macchina ma uso iTunes home sharing e ho in rapportdesecuzione con TCP *: 65530 (ASCOLTA) aperto sia su ipv4 che su ipv6, pensavo che la porta 65530 fosse un numero di porta alto piuttosto sfacciato solo sei sotto il più alto possibile ma per fortuna suona come software legittimo speriamo
Tomachi il

6

Dal mio dolore ^ W esperienza posso dire che questo servizio è necessario almeno per far funzionare l'inoltro di messaggi di testo (inoltro).

Il blocco con Firewall, ad esempio, pone un grande divieto in grassetto sull'elemento "Inoltro di messaggi di testo" nelle impostazioni di iPhone. In realtà non sarà nemmeno mostrato affatto lì

inserisci qui la descrizione dell'immagine


Interessante. Ho bloccato Rapportd sulla mia macchina, ma sia iMessage che l'inoltro dei messaggi di testo funzionano ancora bene per me. È possibile che tu abbia anche un altro servizio bloccato?
Dave,

Come hai bloccato? Hai provato a riavviare dopo averlo fatto?
poige,

Scegliendo "nega" quando richiesto, come indicato nella mia domanda originale (ed è ancora elencato come bloccato nelle impostazioni del firewall). E sì, da allora ho riavviato molte volte.
Dave,

Puoi controllare con certezza lo sniffer del traffico e / o netstat/lsof
poige il

6

Digitare man rapportdTerminal. Questo è l'output:

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

(modifica: ho corretto il mio precedente mix up di UID e PID - mi scuso con tutti !!!)

Ho controllato quali file ha aperto questo processo e neanche questo aiuta molto. Tuttavia, almeno ora so su quale porta sta cercando di ascoltare (49161) e spero di cercare per cosa questa porta è "riservata" (è una porta alta, quindi non è davvero riservata come tale, sì lo so).

[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
Per favore, spiega cosa significa una backdoor per te qui?
bmike

501 è l'UID, non il PID! È necessario lsof -p 306per questo processo
Dave

mi dispiace per la confusione UID / PID - l'ho corretto ora.
cepal67,

-3

Hai recentemente accettato di installare software per proteggere le comunicazioni con la tua banca? https://en.wikipedia.org/wiki/Trusteer#Trusteer_Rapport


1
Quel software mi fa rabbrividire. Sembra essere super pesante e avere tonnellate di vulnerabilità e di fatto peggiora la sicurezza delle persone. Penso che questo sia il software Apple e non il link che hai citato, solo che i nomi sono gli stessi.
bmike
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.