¿Qué se relaciona y por qué quiere conexiones de red entrantes?


44

Acabo de actualizar a la última MacOS 10.13.2 y después de reiniciar, mi máquina me pidió que permitiera conexiones de red entrantes para "rapportd".

Después de bloquearlo y comprobar la configuración del firewall, puedo ver que este es un ejecutable /usr/libexec/rapportdcreado en mi máquina el 1 de diciembre.

Eso fue un día después de que instalé la actualización de seguridad 2017-001 (por segunda vez; la actualización automática no parecía darse cuenta de que la había actualizado manualmente), y no he instalado o actualizado ningún otro software recientemente / en ese momento . Google Chrome se actualiza cuando lo desea, por lo que esto podría estar relacionado con una actualización de Chrome (no tengo idea de cuándo se actualizó por última vez).

Internet sugiere que esto está relacionado con algún programa de protección bancaria, pero eso no parece encajar aquí, y de una vaga inspección de edición de texto del binario puedo ver que hace referencia /System/Library/PrivateFrameworks/Rapport.framework/Versions/A/Rapport(un marco creado en mi máquina en julio y actualizado en octubre), lo que me hace pensar que es probable que sea un nuevo demonio de sistema operativo de primera parte.


¿Qué hace rapportd?


1
Tiene una página de manual, pero no es muy útil: "Sinopsis: Daemon brinda soporte para el marco de conectividad Rapport".
sengi

1
1. Las sugerencias de otros lugares sugieren que los dispositivos locales de Apple se conecten (y activen Mac desde el modo de suspensión) 2. También hay un RapportUIAgent en System / Library / CoreServices. 3. Hay 2 agentes de lanzamiento. 4. rapportd existe en 10.13.0 pero no está activo. 5. Hay /System/Library/Sandbox/profiles/com.apple.rapportd.sb 6. El texto en rapportd.sb y en el ejecutable de rapportd incluye airplay, wifi, bluetooth, emparejamiento y homekit.
Gilby

Creo que fue su otro dispositivo Apple el que intentó conectarse a su mbp.
Visión Chang

No sé mucho sobre este tipo de cosas, pero he notado que el intento entrante de conectar proviene de mi iPhone (es la dirección IP a la que está conectado mi iPhone).
Gui

Respuestas:


19

EDITAR: Parece que la página del manual se ha actualizado y ahora dice:

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


Acabo de tener la misma experiencia. La página del manual dice que es un:

Daemon providing support for the Rapport connectivity framework.

Al verificar la firma del código con codesign -dv --verbose=4 /usr/libexec/rapportdmuestra que está firmado por Apple y, dado que está vinculado a un PrivateFramework (que Apple no permite a otros) y en una ubicación protegida por SIP (a menos que desactives SIP), esto parece ser legítimo Apple software. La página del manual implica que está relacionada con la comunicación, aunque todavía no he encontrado ninguna documentación real al respecto.

(Gracias a John Keates por el consejo de firma de código).


Solo porque Apple lo autorizó, no lo hace "legítimo". Apple ha estado recopilando y compartiendo información sobre sus usuarios con los órganos de seguridad del estado desde octubre de 2012 . No tengo un iPhone y no quiero un agujero de seguridad abierto para compartir con otros dispositivos Apple.
Foliovision

2
"está vinculado a un PrivateFramework (que Apple no permite a otros)": a Apple no le importa esto, a menos que esté planeando distribuirlo a través de la App Store. De hecho, una de las aplicaciones en las que trabajo está vinculada a un marco privado y Apple nos permite firmarlo perfectamente.
saagarjha

15

Además de lo que ya se ha publicado, / usr / libexec / rapportd es un código firmado por Apple y vinculado a un PrivateFramework (que Apple no permite a otros y, por lo tanto, no firma a otros), y en un SIP protegido ubicación. A menos que apague SIP, esto es simplemente parte del sistema operativo, puesto por Apple.

Puede verificar esto en la línea de comandos:

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

Esto debería informar algo como:

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

Para mostrar a qué bibliotecas están vinculadas:

otool -L /usr/libexec/rapportd

Lo que mostrará algo como:

/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
"que Apple no permite para otros y, por lo tanto, no firma para otros": Pruébelo usted mismo; verá que funciona bien:echo 'int main() {}' | clang -F/System/Library/Frameworks -framework MobileDevice -x c - -o test; codesign -s "Your certificate" test
saagarjha

PrivateFrameworks y codificado por Apple, no Frameworks y codificado localmente por usted mismo.
John Keates

44
Lo siento, quise decir echo 'int main() {}' | clang -F/System/Library/PrivateFrameworks -framework MobileDevice -x c - -o test; codesign -s "Your certificate" test. Un error tipográfico bastante desafortunado dado lo que estamos discutiendo. Además, firmé esto con mi certificado de desarrollador de Mac, no uno ad-hoc.
saagarjha

12

Creo que se usa para iTunes Home Sharing y la aplicación Remote para controlar iTunes.

Descubrí esto porque Little Snitch lo estaba bloqueando y no pude entender por qué las cosas remotas de iTunes no funcionaban porque accidentalmente cerré el diálogo :)

Una vez que lo permití, mi teléfono podría ver iTunes en mi computadora portátil y descubrir iTunes Home Sharing.


Nunca he sincronizado un dispositivo iOS en esta máquina, pero sí uso iTunes para compartir en casa, y he rapportdejecutado con TCP *: 65530 (ESCUCHAR) abierto tanto en ipv4 como en ipv6, pensé que el puerto 65530 era un número de puerto alto bastante descarado solo seis por debajo del más alto posible pero afortunadamente suena como un software legítimo con suerte
Tomachi

6

Según mi propia experiencia, puedo decir que este servicio es necesario al menos para que funcione el reenvío (retransmisión) de mensajes de texto.

Tenerlo bloqueado con Firewall, por ejemplo, pone una gran prohibición al elemento "Reenvío de mensajes de texto" en la configuración del iPhone. De hecho, ni siquiera se mostrará allí

ingrese la descripción de la imagen aquí


Interesante. He bloqueado la comunicación en mi máquina, pero tanto iMessages como el reenvío de mensajes de texto todavía funcionan bien para mí. ¿Es posible que también tenga otro servicio bloqueado?
Dave

¿Cómo bloqueaste? ¿Intentaste reiniciar después de hacer eso?
poige

Al elegir "negar" cuando se le preguntó, como se señaló en mi pregunta original (y todavía aparece como bloqueado en la configuración del firewall). Y sí, he reiniciado muchas veces desde entonces.
Dave

Puede verificarlo con sniffer de tráfico y / o netstat/lsof
poige

6

Escriba man rapportden la Terminal. Esta es la salida:

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

(editar: ¡Corrigí mi mezcla anterior de UID y PID - disculpas a todos!)

Verifiqué qué archivos tiene abierto este proceso, y eso tampoco ayuda mucho. Sin embargo, al menos ahora sé en qué puerto está tratando de escuchar (49161) y puedo buscar con suerte para qué está "reservado" este puerto (es un puerto alto, por lo que no está realmente reservado como tal, sí, lo sé).

[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
Por favor, explique qué significa una puerta trasera para usted aquí.
bmike

¡501 es el UID, no el PID! Necesitas hacerlo lsof -p 306para este proceso
Dave

Perdón por la confusión de UID / PID. Lo he corregido ahora.
cepal67

-3

¿Recientemente acordó instalar un software para proteger las comunicaciones con su banco? https://en.wikipedia.org/wiki/Trusteer#Trusteer_Rapport


1
Ese software me da escalofríos. Parece ser muy pesado y tiene toneladas de vulnerabilidades y, de hecho, empeora la seguridad de las personas. Sin embargo, creo que este es el software de Apple y no el enlace que mencionaste, solo que los nombres son los mismos.
bmike
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.