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.