O que é o rapportd e por que ele deseja conexões de rede de entrada?


44

Acabei de atualizar para o MacOS 10.13.2 mais recente e, após reiniciar, minha máquina me pediu para permitir conexões de rede de entrada para o "rapportd".

Depois de bloqueá-lo e verificar a configuração do firewall, posso ver que este é um executável /usr/libexec/rapportdque foi criado na minha máquina em 1º de dezembro.

Isso ocorre um dia após a instalação da atualização de segurança 2017-001 (pela segunda vez; a atualização automática não pareceu notar que eu a atualizei manualmente) e não instalei ou atualizei nenhum outro software recentemente / naquela época . O Google Chrome é atualizado sempre que lhe apetecer; portanto, isso pode estar relacionado a uma atualização do Chrome (não faz ideia quando foi atualizada pela última vez).

A Internet sugere que isso esteja relacionado a algum programa de proteção bancária, mas que parece não se encaixar aqui, e de uma vaga inspeção de edição de texto do binário, posso ver que ele faz referência /System/Library/PrivateFrameworks/Rapport.framework/Versions/A/Rapport(uma estrutura criada na minha máquina em julho e atualizada em outubro), o que me faz pensar que é provável que seja um novo daemon de SO de primeira parte.


O que o rapportd faz?


1
Ele tem uma página de manual, mas não é muito útil: "Sinopse: Daemon fornecendo suporte para a estrutura de conectividade do Rapport".
sengi

1
1. Dicas de outros lugares sugerem a conexão com dispositivos Apple locais (e acordando o Mac do modo de suspensão). 2. Há também um RapportUIAgent em System / Library / CoreServices. 3. Existem 2 agentes de inicialização. 4. rapportd existe na versão 10.13.0, mas não está ativo. 5. Existe /System/Library/Sandbox/profiles/com.apple.rapportd.sb 6. O texto no rapportd.sb e no executável do rapportd inclui airplay, wifi, bluetooth, emparelhamento e homekit.
Gilby

Eu acho que foi o seu outro dispositivo Apple tentou se conectar ao seu mbp.
Visão Chang

Não sei muito sobre esse tipo de coisa, mas notei que a tentativa de conectar vem do meu iPhone (é o endereço IP do meu iPhone).
Gui

Respostas:


19

EDIT: Parece que a página de manual foi atualizada e agora diz:

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


Eu apenas tive a mesma experiência. A página do manual afirma que é um:

Daemon providing support for the Rapport connectivity framework.

A verificação da assinatura do código codesign -dv --verbose=4 /usr/libexec/rapportdmostra que ela é assinada pela Apple e, como está vinculada a um PrivateFramework (que a Apple não permite a outros) e em um local protegido por SIP (a menos que você tenha desativado o SIP), isso parece ser legítimo. Programas. A página de manual implica que está relacionada à comunicação, embora ainda não tenha encontrado nenhuma documentação real.

(Obrigado a John Keates pela dica de assinatura de código.)


Só porque a Apple o autorizou, não o torna "legítimo". A Apple coleta e compartilha informações sobre seus usuários com órgãos de segurança do estado desde outubro de 2012 . Não tenho um iPhone e não quero abrir uma brecha de segurança para compartilhar com outros dispositivos Apple.
Foliovision

2
"está vinculado a um PrivateFramework (que a Apple não permite a outros)": a Apple não se importa com isso, a menos que você planeje distribuir pela App Store. De fato, um dos aplicativos em que trabalho vincula a uma estrutura privada e a Apple deixa-nos assinar bem.
precisa saber é o seguinte

15

Além do que já foi publicado, / usr / libexec / rapportd é um código assinado pela Apple e vinculado a um PrivateFramework (que a Apple não permite a outros e, portanto, não assina a outros) e em um servidor protegido por SIP. localização. A menos que você desligue o SIP, isso é simplesmente parte do sistema operacional, instalado pela Apple.

Você pode verificar isso na linha de comando:

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

Isso deve relatar algo como:

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

Para mostrar a que bibliotecas estão vinculadas:

otool -L /usr/libexec/rapportd

O 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 a Apple não permite aos outros e, portanto, não assina para os outros": tente você mesmo; você verá que funciona muito bem:echo 'int main() {}' | clang -F/System/Library/Frameworks -framework MobileDevice -x c - -o test; codesign -s "Your certificate" test
saagarjha

PrivateFrameworks e assinado em código pela Apple, não em Frameworks e assinado em código localmente.
John Keates

4
Desculpe, eu quis dizer echo 'int main() {}' | clang -F/System/Library/PrivateFrameworks -framework MobileDevice -x c - -o test; codesign -s "Your certificate" test. Um erro bastante infeliz, dado o que estamos discutindo. Além disso, assinei isso com meu certificado de desenvolvedor Mac, e não ad-hoc.
saagarjha

12

Acredito que seja usado para o Compartilhamento Familiar do iTunes e o aplicativo Remoto para controlar o iTunes.

Descobri isso porque o Little Snitch estava bloqueando e não conseguia entender por que o controle remoto do iTunes não estava funcionando porque fechei acidentalmente a caixa de diálogo :)

Depois que eu permitia, meu telefone podia ver o iTunes no meu laptop e descobrir o Compartilhamento Familiar do iTunes.


Nunca sincronizei um dispositivo iOS nesta máquina, mas uso o compartilhamento doméstico do iTunes e tenho rapportdo TCP *: 65530 (LISTEN) aberto tanto no ipv4 quanto no ipv6. abaixo do mais alto possível, mas felizmente parece software legítimo, espero
Tomachi 23/08

6

Por experiência própria, posso dizer que esse serviço é necessário pelo menos para que o encaminhamento de mensagens de texto (retransmissão) funcione.

Tê-lo bloqueado com o Firewall, por exemplo, coloca uma grande proibição em negrito no item "Encaminhamento de mensagem de texto" nas configurações do iPhone. Na verdade, nem será mostrado lá

insira a descrição da imagem aqui


Interessante. Eu bloqueei o rapportd na minha máquina, mas o iMessages e o encaminhamento de mensagens de texto ainda estão funcionando bem para mim. É possível que você também tenha outro serviço bloqueado?
22418 Dave Dave

Como você bloqueou? Você tentou reiniciar depois de fazer isso?
22618 poige

Ao escolher "negar" quando solicitado, conforme observado na minha pergunta original (e ainda está listado como bloqueado nas configurações do firewall). E sim, eu reiniciei muitas vezes desde então.
Dave

Você pode verificar com certeza com sniffer de tráfego e / ou netstat/lsof
poige

6

Digite man rapportdTerminal. Esta é a saída:

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

(edit: Corrigi minha mistura anterior de UID e PID - desculpas a todos !!!)

Eu verifiquei quais arquivos esse processo abriu, e isso também não ajuda muito. No entanto, pelo menos agora eu sei em que porta está tentando ouvir (49161) e posso procurar, com sorte, para que essa porta é "reservada" (é uma porta alta, portanto não é realmente reservada como tal, sim, eu sei).

[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 o que um backdoor significa para você aqui?
bmike

501 é o UID, não o PID! Você precisa lsof -p 306para este processo
Dave

desculpe pela confusão de UID / PID - eu a corrigi agora.
precisa

-3

Você recentemente concordou em instalar um software para proteger as comunicações com seu banco? https://en.wikipedia.org/wiki/Trusteer#Trusteer_Rapport


1
Esse software me faz estremecer. Parece ser super pesado e tem toneladas de vulnerabilidades e, de fato, torna a segurança das pessoas muito pior. No entanto, acho que este é um software da Apple e não o link que você mencionou - apenas que os nomes são os mesmos.
bmike
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.