Co to jest rapportd i dlaczego chce przychodzących połączeń sieciowych?

44

Właśnie zaktualizowałem system MacOS do wersji 10.13.2 i po ponownym uruchomieniu mój komputer poprosił mnie o zezwolenie na przychodzące połączenia sieciowe dla programu „rapportd”.

Po jego zablokowaniu i sprawdzeniu w konfiguracji zapory widzę, że jest to plik wykonywalny, /usr/libexec/rapportdktóry został utworzony na moim komputerze 1 grudnia.

To jest dzień po tym, jak zainstalowałem aktualizację zabezpieczeń 2017-001 (po raz drugi; automatyczna aktualizacja nie zauważyła, że ​​ręcznie ją zaktualizowałem), a ostatnio / w tym czasie nie instalowałem ani nie aktualizowałem żadnego innego oprogramowania . Google Chrome aktualizuje się, kiedy tylko ma na to ochotę, więc może to być związane z aktualizacją Chrome (nie mam pojęcia, kiedy była ostatnio aktualizowana).

Internet sugeruje, że jest to związane z jakimś programem ochrony bankowości, ale wydaje się, że to tutaj nie pasuje, a po niejasnej kontroli pliku binarnego podczas edycji tekstu widzę, że odwołuje się /System/Library/PrivateFrameworks/Rapport.framework/Versions/A/Rapport(framework utworzony na mojej maszynie w lipcu i zaktualizowany w październiku), co sprawia, że ​​myślę, że to prawdopodobnie nowy demon systemu operacyjnego innych firm.


Co robi rapportd?

Dave
źródło
1
Ma stronę podręczną, ale nie jest zbyt pomocna: „Streszczenie: Daemon zapewnia obsługę ram łączności Rapport”.
sengi
1
1. Wskazówki z innych źródeł sugerują połączenie się z lokalnymi urządzeniami Apple (i wybudzaniem komputera Mac ze stanu uśpienia). 2. Istnieje również RapportUIAgent w System / Library / CoreServices. 3. Istnieją 2 agenty uruchamiania. 4. Rapportd istnieje w 10.13.0, ale nie jest aktywny. 5. Istnieje /System/Library/Sandbox/profiles/com.apple.rapportd.sb 6. Tekst w rapportd.sb oraz w rapportd wykonywalnym zawiera airplay, wifi, bluetooth, parowanie i homekit.
Gilby,
Myślę, że to twoje drugie urządzenie Apple próbowało połączyć się z Twoim MBP.
Vision Chang
Nie wiem wiele o tego typu rzeczach, ale zauważyłem, że nadchodząca próba nawiązania połączenia pochodzi z mojego iPhone'a (jest to adres IP, z którym iPhone jest podłączony).
Gui

Odpowiedzi:

19

EDYCJA: Wygląda na to, że strona podręcznika została zaktualizowana i teraz brzmi:

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


Po prostu miałem to samo doświadczenie. Strona podręcznika stwierdza, że ​​jest to:

Daemon providing support for the Rapport connectivity framework.

Sprawdzanie podpisu kodu za pomocą codesign -dv --verbose=4 /usr/libexec/rapportdprogramów pokazuje, że jest on podpisany przez Apple, a ponieważ jest on połączony z PrivateFramework (który Apple nie dopuszcza dla innych) oraz w lokalizacji chronionej SIP (chyba że wyłączyłeś SIP), wydaje się, że jest to uzasadnione Apple oprogramowanie. Strona podręcznika sugeruje, że jest związana z komunikacją, chociaż nie znalazłem jeszcze żadnej prawdziwej dokumentacji na jej temat.

(Podziękowania dla Johna Keatesa za wskazówkę dotyczącą podpisu kodu.)

spokojny
źródło
Tylko dlatego, że Apple to autoryzowało, nie czyni go „uzasadnionym”. Apple zbiera i udostępnia informacje o swoich użytkownikach organom bezpieczeństwa państwa od października 2012 r . Nie mam iPhone'a i nie chcę, aby dziura w zabezpieczeniach była dostępna dla innych urządzeń Apple.
Foliovision,
2
„jest powiązany z PrivateFramework (który Apple nie pozwala innym)”: Apple nie dba o to, chyba że planujesz dystrybuować za pośrednictwem App Store. W rzeczywistości jedna z aplikacji, nad którą pracuję, łączy się z prywatną platformą, a Apple pozwala nam to podpisać.
saagarjha
15

Oprócz tego, co już zostało opublikowane, / usr / libexec / rapportd jest kodem podpisanym przez Apple i połączonym z PrivateFramework (który Apple nie dopuszcza dla innych, a zatem nie podpisuje dla innych), i chroniony przez SIP Lokalizacja. O ile nie wyłączysz SIP, jest to po prostu część systemu operacyjnego, umieszczonego tam przez Apple.

Możesz to sprawdzić w wierszu polecenia:

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

Powinno to zgłosić coś takiego:

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

Aby pokazać, z którymi bibliotekami są powiązane:

otool -L /usr/libexec/rapportd

Który pokaże coś takiego:

/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
źródło
1
„które Apple nie dopuszcza dla innych, a zatem nie podpisuje dla innych”: spróbuj sam; przekonasz się, że działa dobrze:echo 'int main() {}' | clang -F/System/Library/Frameworks -framework MobileDevice -x c - -o test; codesign -s "Your certificate" test
saagarjha
PrivateFrameworks i podpisane przez Apple, a nie Frameworki i podpisane lokalnie przez ciebie.
John Keates,
4
Przepraszam, miałem na myśli echo 'int main() {}' | clang -F/System/Library/PrivateFrameworks -framework MobileDevice -x c - -o test; codesign -s "Your certificate" test. Dość niefortunna literówka, biorąc pod uwagę to, o czym rozmawiamy. Podpisałem to również przy użyciu certyfikatu programisty Mac, a nie ad hoc.
saagarjha
12

Wierzę, że jest używany do udostępniania domowego iTunes i aplikacji Remote do sterowania iTunes.

Dowiedziałem się tego, ponieważ Little Snitch go blokował i nie mogłem zrozumieć, dlaczego zdalne funkcje iTunes nie działają, ponieważ przypadkowo zamknąłem okno :)

Gdy pozwolę, mój telefon będzie mógł zobaczyć iTunes na moim laptopie, a także odkryć iTunes Home Sharing.

Dariusz
źródło
Nigdy nie synchronizowałem urządzenia z iOS na tym komputerze, ale korzystam z iTunes Home Sharing i rapportddziałam z TCP *: 65530 (LISTEN) otwartym zarówno na ipv4, jak i ipv6, myślałem, że port 65530 to dość bezczelny wysoki numer portu tylko sześć poniżej najwyższego możliwego, ale na szczęście brzmi jak legalne oprogramowanie
Tomachi,
6

Z własnego bólu ^ W mogę stwierdzić, że ta usługa jest potrzebna przynajmniej do przekazywania wiadomości tekstowych (przekazywania) do działania.

Na przykład zablokowanie go za pomocą Zapory sieciowej powoduje, że w ustawieniach iPhone'a jest duży odważny element „Przekazywanie wiadomości tekstowych”. W rzeczywistości nie będzie tam nawet pokazywany

wprowadź opis zdjęcia tutaj

poige
źródło
Ciekawy. Zablokowałem program rapportd na moim komputerze, ale iMessages i przekazywanie wiadomości tekstowych nadal działają dla mnie dobrze. Czy to możliwe, że masz także inną zablokowaną usługę?
Dave
Jak zablokowałeś? Czy próbowałeś ponownie uruchomić komputer po tym?
poige
Wybierając „zaprzeczaj”, gdy zostanie o to poproszony, jak zaznaczono w moim pierwotnym pytaniu (i nadal jest wymienione jako zablokowane w ustawieniach zapory). I tak, od tego czasu wielokrotnie się restartowałem.
Dave
Możesz to sprawdzić na pewno za pomocą netstatlsof
sniffera
6

Wpisz man rapportdw Terminalu. To jest wynik:

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
źródło
0

(edycja: Poprawiłem mój poprzedni mix UID i PID - przepraszam wszystkich !!!)

Sprawdziłem, jakie pliki ten proces otworzył, i to też niewiele pomaga. Jednak przynajmniej wiem teraz, na jakim porcie próbuje nasłuchiwać (49161) i mam nadzieję, że mogę wyszukać, dla czego ten port jest „zarezerwowany” (jest to port wysoki, więc nie jest tak naprawdę zarezerwowany jako taki, tak, wiem).

[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
źródło
1
Proszę wyjaśnić, co oznacza dla ciebie backdoor?
bmike
501 to UID, a nie PID! Musisz do lsof -p 306tego procesu
Dave
przepraszam za zamieszanie UID / PID - poprawiłem to teraz.
cepal67
-3

Czy niedawno zgodziłeś się zainstalować oprogramowanie w celu ochrony komunikacji z bankiem? https://en.wikipedia.org/wiki/Trusteer#Trusteer_Rapport

Bill Freese
źródło
1
To oprogramowanie wywołuje u mnie dreszcze. Wydaje się być bardzo ciężki i ma mnóstwo luk w zabezpieczeniach, a w rzeczywistości znacznie pogarsza bezpieczeństwo ludzi. Myślę jednak, że jest to oprogramowanie Apple, a nie łącze, o którym wspomniałeś - po prostu nazwy są takie same.
bmike