rapportd คืออะไรและเพราะเหตุใดจึงต้องการการเชื่อมต่อเครือข่ายขาเข้า


44

ฉันเพิ่งอัปเดตเป็น MacOS 10.13.2 ล่าสุดและหลังจากรีสตาร์ทเครื่องของฉันขอให้ฉันอนุญาตการเชื่อมต่อเครือข่ายขาเข้าสำหรับ "rapportd"

หลังจากปิดกั้นและตรวจสอบในการกำหนดค่าไฟร์วอลล์ฉันจะเห็นว่านี่เป็นไฟล์ปฏิบัติการ/usr/libexec/rapportdที่สร้างขึ้นในเครื่องของฉันในวันที่ 1 ธันวาคม

นั่นเป็นวันหลังจากที่ฉันติดตั้งการอัปเดตความปลอดภัย 2017-001 (เป็นครั้งที่สองที่การอัปเดตอัตโนมัติดูเหมือนจะไม่สังเกตว่าฉันได้ทำการอัปเดตด้วยตนเอง) และฉันยังไม่ได้ติดตั้งหรืออัปเดตซอฟต์แวร์อื่น ๆ เมื่อเร็ว ๆ นี้ . การอัปเดตของ Google Chrome เมื่อใดก็ตามที่รู้สึกว่ามันน่าจะเกี่ยวข้องกับการอัปเดตของ Chrome (ไม่ทราบว่ามันอัปเดตครั้งล่าสุดเมื่อใด)

อินเทอร์เน็ตชี้ให้เห็นว่าสิ่งนี้เกี่ยวข้องกับโปรแกรมป้องกันการธนาคารบางอย่าง แต่ดูเหมือนจะไม่พอดีกับที่นี่และจากการตรวจสอบแก้ไขข้อความที่คลุมเครือของไบนารีฉันเห็นว่ามันอ้างอิง/System/Library/PrivateFrameworks/Rapport.framework/Versions/A/Rapport(กรอบงานที่สร้างขึ้นในเครื่องของฉันในเดือนกรกฎาคมและอัปเดตแล้ว ในเดือนตุลาคม) ซึ่งทำให้ฉันคิดว่านี่น่าจะเป็นดีมอนของบุคคลที่ 1 ระบบปฏิบัติการ


rapportd ทำอะไร?


1
มี manpage แต่ก็ไม่ค่อยมีประโยชน์: "เรื่องย่อ: Daemon ที่ให้การสนับสนุนเฟรมเวิร์กการเชื่อมต่อ Rapport"
sengi

1
1. คำแนะนำจากที่อื่นแนะนำให้ทำอย่างไรกับอุปกรณ์ Apple ท้องถิ่นที่เชื่อมต่อ (และปลุกให้ Mac หยุดทำงาน) 2. นอกจากนี้ยังมี RapportUIAgent ใน System / Library / CoreServices 3. มีตัวแทนเปิดตัว 2 ตัว 4. rapportd มีอยู่ใน 10.13.0 แต่ไม่มีการใช้งาน 5. มี /System/Library/Sandbox/profiles/com.apple.rapportd.sb 6. ข้อความใน rapportd.sb และใน rapportd ที่สามารถเรียกทำงานได้ ได้แก่ airplay, wifi, bluetooth, pairing และ homekit
Gilby

ฉันคิดว่ามันเป็นอุปกรณ์แอปเปิ้ลอื่นของคุณพยายามเชื่อมต่อกับ mbp ของคุณ
Vision Chang

ไม่รู้อะไรเกี่ยวกับสิ่งนี้มากนัก แต่สังเกตว่าความพยายามที่จะเข้ามามีส่วนร่วมนั้นมาจาก iPhone ของฉัน (เป็นที่อยู่ IP ที่ iPhone ของฉันเชื่อมต่ออยู่)
Gui

คำตอบ:


19

แก้ไข: ดูเหมือนว่าหน้าคนได้รับการปรับปรุงและตอนนี้อ่าน:

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


ฉันมีประสบการณ์แบบเดียวกัน man page ระบุว่าเป็น:

Daemon providing support for the Rapport connectivity framework.

การตรวจสอบรหัสลายเซ็นด้วยการcodesign -dv --verbose=4 /usr/libexec/rapportdแสดงนั้นถูกลงชื่อโดย Apple และเนื่องจากเป็นการเชื่อมโยงกับ PrivateFramework (ซึ่ง Apple ไม่อนุญาตให้ผู้อื่น) และในตำแหน่งที่มีการป้องกัน SIP (ยกเว้นว่าคุณปิด SIP) สิ่งนี้ดูเหมือนว่าเป็น Apple ซอฟต์แวร์. หน้าคนบอกเป็นนัยว่ามันเกี่ยวข้องกับการสื่อสารแม้ว่าฉันจะยังไม่พบเอกสารใด ๆ

(ขอบคุณ John Keates สำหรับคำแนะนำรหัสลายเซ็น)


เพียงเพราะ Apple อนุญาตมันไม่ได้ทำให้ "ถูกกฎหมาย" แอปเปิ้ลได้รับการรวบรวมและข้อมูลเกี่ยวกับผู้ใช้กับอวัยวะการรักษาความปลอดภัยของรัฐร่วมกันตั้งแต่ตุลาคม 2012 ฉันไม่มี iPhone และไม่ต้องการเปิดช่องโหว่เพื่อแบ่งปันกับอุปกรณ์ Apple อื่น ๆ
Foliovision

2
"มันเชื่อมโยงกับ PrivateFramework (ซึ่ง Apple ไม่อนุญาตสำหรับผู้อื่น)": Apple ไม่สนใจสิ่งนี้เว้นแต่ว่าคุณวางแผนที่จะแจกจ่ายผ่าน App Store อันที่จริงแล้วแอพหนึ่งตัวที่ฉันทำงานกับลิงก์ไปยังเฟรมเวิร์กส่วนบุคคลและ Apple ให้เราเซ็นชื่อได้
saagarjha

15

นอกจากสิ่งที่โพสต์ไปแล้ว / usr / libexec / rapportd เป็นรหัสที่ลงนามโดย Apple และเชื่อมโยงกับ PrivateFramework (ซึ่ง Apple ไม่อนุญาตให้ผู้อื่นและดังนั้นจึงไม่ได้ลงชื่อสำหรับผู้อื่น) และในการป้องกัน SIP ที่ตั้ง ถ้าคุณไม่ปิด SIP นี่เป็นเพียงส่วนหนึ่งของระบบปฏิบัติการที่ Apple ใส่ไว้

คุณสามารถตรวจสอบได้ที่ commandline:

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

สิ่งนี้ควรรายงานสิ่งที่ชอบ:

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

หากต้องการแสดงว่าไลบรารีใดเชื่อมโยงกับ:

otool -L /usr/libexec/rapportd

ซึ่งจะแสดงสิ่งที่ชอบ:

/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
"ซึ่ง Apple ไม่อนุญาตให้ผู้อื่นและดังนั้นจึงไม่ลงชื่อสำหรับผู้อื่น": ลองด้วยตัวคุณเอง; คุณจะเห็นว่ามันใช้งานได้ดี:echo 'int main() {}' | clang -F/System/Library/Frameworks -framework MobileDevice -x c - -o test; codesign -s "Your certificate" test
saagarjha

PrivateFrameworks และรหัสที่ลงนามโดย Apple ไม่ใช่กรอบงานและรหัสที่ลงนามโดยตัวคุณเอง
John Keates

4
echo 'int main() {}' | clang -F/System/Library/PrivateFrameworks -framework MobileDevice -x c - -o test; codesign -s "Your certificate" testขออภัยฉันหมายถึง พิมพ์ผิดที่ค่อนข้างโชคร้ายได้รับสิ่งที่เรากำลังพูดถึง นอกจากนี้ฉันเซ็นชื่อนี้ด้วยใบรับรองนักพัฒนา Mac ของฉันไม่ใช่โฆษณาเฉพาะกิจ
saagarjha

12

ฉันเชื่อว่ามันใช้สำหรับการแชร์ iTunes Home และ Remote เพื่อควบคุม iTunes

ฉันพบสิ่งนี้เพราะ Little Snitch ถูกปิดกั้นและฉันไม่สามารถหาสาเหตุที่สิ่งระยะไกลของ iTunes ไม่ทำงานเพราะฉันปิดกล่องโต้ตอบโดยไม่ตั้งใจ :)

เมื่อฉันอนุญาตโทรศัพท์ของฉันก็จะสามารถเห็น iTunes บนแล็ปท็อปของฉันและค้นพบการแชร์หน้าแรกของ iTunes


ฉันไม่เคยซิงค์อุปกรณ์ iOS บนเครื่องนี้ แต่ฉันใช้การแชร์ที่บ้านของ iTunes และrapportdทำงานกับ TCP *: 65530 (ฟัง) เปิดทั้ง ipv4 และ ipv6 ฉันคิดว่าพอร์ต 65530 นั้นเป็นพอร์ตพอร์ตที่ค่อนข้างสูงแค่หก ต่ำกว่าระดับสูงสุดเท่าที่จะเป็นไปได้ แต่โชคดีที่ดูเหมือนว่าซอฟต์แวร์ที่ถูกกฎหมายหวังว่า
Tomachi

6

จากความเจ็บปวดของฉันเอง ^ W ประสบการณ์ฉันสามารถบอกได้ว่าบริการนี้เป็นสิ่งจำเป็นอย่างน้อยสำหรับการส่งต่อข้อความ (รีเลย์) ในการทำงาน

การที่มันถูกบล็อกด้วยไฟร์วอลล์เช่นมีการสั่งห้ามรายการใหญ่ "การส่งต่อข้อความ" ในการตั้งค่าของ iPhone ในความเป็นจริงมันจะไม่แสดงแม้แต่ที่นั่น

ป้อนคำอธิบายรูปภาพที่นี่


น่าสนใจ ฉันบล็อก rapportd บนเครื่องของฉันแล้วทั้ง iMessages และการส่งต่อข้อความก็ยังใช้งานได้ดีสำหรับฉัน เป็นไปได้หรือไม่ที่คุณมีบริการอื่นที่ถูกบล็อก
เดฟ

คุณปิดกั้นได้อย่างไร คุณลองรีบูตเครื่องหลังจากทำเช่นนั้นหรือไม่?
poige

โดยเลือก“ ปฏิเสธ” เมื่อถูกถามตามที่ระบุไว้ในคำถามเดิมของฉัน (และยังคงแสดงว่าถูกบล็อกในการตั้งค่าไฟร์วอลล์) และใช่ฉันได้เริ่มระบบใหม่หลายครั้งตั้งแต่นั้นมา
เดฟ

คุณสามารถตรวจสอบด้วย Traffic Sniffer และ / หรือnetstat/lsof
poige

6

พิมพ์man rapportdใน Terminal นี่คือผลลัพธ์:

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

(แก้ไข: ฉันแก้ไข UID และ PID ก่อนหน้าของฉันแล้ว - ขอโทษทุกคน !!!)

ฉันตรวจสอบไฟล์ที่กระบวนการนี้เปิดขึ้นและนั่นก็ไม่ได้ช่วยอะไรมาก อย่างไรก็ตามอย่างน้อยฉันก็รู้ว่าตอนนี้พอร์ตใดที่พยายามฟัง (49161) และฉันสามารถค้นหาด้วยความหวังว่าพอร์ตนี้ "สงวนไว้" สำหรับ (เป็นพอร์ตสูงดังนั้นจึงไม่สงวนไว้จริง ๆ เช่นนั้นใช่ฉันรู้)

[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
โปรดอธิบายรายละเอียดเกี่ยวกับแบ็คดอร์ที่มีความหมายต่อคุณที่นี่?
bmike

501 คือ UID ไม่ใช่ PID! คุณต้องทำlsof -p 306ตามขั้นตอนนี้
เดฟ

ขออภัยสำหรับความสับสน UID / PID - ฉันได้แก้ไขแล้ว
cepal67

-3

คุณเพิ่งตกลงติดตั้งซอฟต์แวร์เพื่อป้องกันการสื่อสารกับธนาคารของคุณหรือไม่? https://en.wikipedia.org/wiki/Trusteer#Trusteer_Rapport


1
ซอฟแวร์นั่นทำให้ฉันประจบประแจง ดูเหมือนว่าจะหนักสุด ๆ และมีช่องโหว่มากมายและในความเป็นจริงแล้วการรักษาความปลอดภัยของคนยิ่งแย่ ฉันคิดว่านี่เป็นซอฟต์แวร์ของ Apple แต่ไม่ใช่ลิงก์ที่คุณพูดถึง - แค่ชื่อเหมือนกัน
bmike
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.