rapportd가 무엇인지
rapportd는 macOS의 정품 Apple 시스템 데몬이야. 악성코드도 아니고, 애드웨어도 아니며, 우연히 설치된 것도 아니지. 현재 macOS 버전에서 이 바이너리는 /usr/libexec/rapportd에 위치하며, Apple이 서명했고, 시스템이 자동으로 시작하는 거야, 너가 시작하는 게 아니야.
이 역할은 Continuity, 즉 Mac, iPhone, iPad, Apple Watch가 하나의 장치 세트처럼 작동하게 하는 기능군을 담당하는 거야. 보통 Handoff (이메일을 iPhone에서 시작해서 Mac에서 끝내기), Universal Clipboard (한 기기에서 복사하고 다른 기기에서 붙여넣기), 전화 및 SMS 릴레이, 즉석 핫스팟, Continuity Camera, Continuity Markup and Sketch, 그리고 Auto Unlock (Apple Watch와 함께) 등을 포함하지. 이 모든 경로가 전적으로 rapportd를 통해서만 이루어지는 건 아니지만, 모두 같은 근본 아이디어에 의존하고 있어: 너의 기기들이 서로 근처에 있고 깨어 있다는 것을 알아야 한다는 거지.
이게 rapportd가 처리하는 부분이야. 이 데몬은 같은 Apple 계정에 로그인된 근처 Apple 기기에 너의 Mac 존재를 알리고, 그들의 광고를 Bluetooth Low Energy와 peer-to-peer Wi-Fi (Apple Wireless Direct Link, 또는 AWDL)를 사용해서 듣고 있어. 이 연결들은 로컬에서 이루어지고, 너의 기기들 사이에서만 이루어지며, 다른 사람의 서버와는 연결되지 않아.
발견이 양방향으로 작동해야 하므로, rapportd는 단순히 접속하는 것뿐만 아니라, 접속될 때까지 기다리기도 해. 이 한 가지 세부 사항이 바로 이 데몬이 방화벽 대화상자에 훨씬 자주 나타나는 이유야.
왜 갑자기 그것이 보이기 시작하는지
가장 흔한 원인은 내장된 macOS 방화벽을 켜는 것입니다. macOS 방화벽은 수신 연결을 필터링하므로, 이를 활성화하면 시스템이 연결을 기다리는 모든 프로세스에 대해 묻기 시작합니다. rapportd는 거의 항상 먼저 손을 들며, 이는 사람들이 찾는 대화상자를 생성합니다: 애플리케이션 rapportd가 수신 네트워크 연결을 허용할지 여부를 묻는 것인가요?
이것이 나타났다고 해서 잘못된 것은 아닙니다. rapportd는 바로 전날과 똑같이 작업하고 있었습니다. 달라진 점은 방화벽이 이제 그것과 다른 기기들 사이에 서서, 이전에는 조용히 처리되던 결정을 내리도록 요청한다는 것입니다. 동일한 프롬프트는 macOS 업데이트 후에도 다시 나타날 수 있는데, 업데이트된 바이너리는 방화벽의 허용된 앱 목록에 있어 새 바이너리와 마찬가지이기 때문입니다.
두 번째로 사람들이 그것을 찾는 방법은 활동 모니터(Activity Monitor)입니다. rapportd는 사용자 계정 아래 프로세스 목록에 나타나며, 일반적으로 거의 CPU를 사용하지 않고 작은, 일정한 네트워크 활동을 보여줍니다. 네트워크 탭에서는 패킷 수가 천천히 증가하고 데이터 양이 메가바이트보다 킬로바이트 단위로 측정되는 것을 볼 수 있는데, 이는 탐지 트래픽이 설계상 작기 때문입니다.
세 번째 방법은 서드파티 네트워크 모니터 또는 아웃바운드 방화벽입니다. 이들은 rapportd가 자신의 네트워크에서 로컬 연결을 하는 것을 보여줄 수 있습니다. 다시 말해, 이는 장치 탐지 서비스의 기대 행동입니다.
rapportd는 맬웨어인가요, 그리고 스스로 확인하는 방법
그렇지 않습니다. rapportd는 애플의 자체 코드이며 표준 macOS 설치의 일부입니다. 이것을 확인하는 방법을 여전히 알아두는 것이 가치 있는 이유는, 악성 바이너리의 이름을 익숙한 시스템 프로세스 이름으로 짓는 것이 진짜이고 흔히 쓰이는 기법이기 때문에, 확인하는 습관은 답이 안심시켜줄 때도 좋은 습관이기 때문입니다.
첫 번째 검사는 위치입니다. 애플의 데몬은 /usr/libexec에 있으며, 이는 시스템 무결성 보호(System Integrity Protection)에 의해 보호되는 시스템 디렉터리입니다. 이는 일반 소프트웨어가 그곳에 덮어쓰기를 할 수 없음을 의미합니다. 활동 모니터(Activity Monitor)에서 프로세스를 더블 클릭하여 열 파일과 포트를 검사하면 어디서 실행되고 있는지 알 수 있습니다. 자신의 홈 폴더, 다운로드 폴더 또는 일부 애플리케이션의 개인 지원 폴더에서 rapportd라고 호출하는 프로세스는 애플의 데몬이 아니며 주의를 기울여야 합니다.
두 번째 검사는 코드 서명입니다. macOS는 codesign이라는 명령줄 도구를 제공하며, 이를 통해 /usr/libexec/rapportd 바이너리의 서명 정보를 표시할 수 있습니다. 진짜 애플 시스템 구성요소라면, 그 서명 권한은 애플의 서명 권한과 애플 루트 인증서 권한을 보여야 하며, 제3자 개발자 이름이나 임시 또는 누락된 서명은 아니어야 합니다. 터미널을 사용하지 않으려면, 올바른 경로와 활동 모니터에 표시되는 작은 유휴 프로세스의 조합이 이미 강력한 증거입니다.
세 번째 검사는 행동입니다. 진짜 rapportd는 조용합니다. 지속적으로 높은 CPU 사용량이나 무거운 데이터 전송은 드물고, 보통은 평범한 원인에 의한 것이며, 다음 섹션에서 설명하는 것처럼 악의적인 것은 아닙니다.
허용할지 차단할지 결정하세요.
정직한 절충안은 좁습니다. rapportd의 수신 연결을 차단하면, 기기 간의 연결에 의존하는 Continuity 기능을 잃게 되고, 그 외에는 아무것도 잃지 않습니다. Mac은 이전과 같이 부팅되고, 브라우징하며, iCloud를 동기화하고, 메일을 받고, 애플리케이션을 실행합니다. 차단하는 것에 보안상 위험이 없으며 안정성 문제도 없습니다.
그래서 결정은 단순히 그 기능들을 사용하는지 여부입니다. Handoff, Universal Clipboard, Instant Hotspot 또는 Apple Watch로 Mac 잠금 해제와 같은 기능이 작업 방식의 일부라면 허용하세요. 만약 이들 기능을 의식적으로 사용한 적이 없거나, 하나의 Apple 기기만 가지고 있다면, 차단하는 것이 눈에 띄는 손실을 초래하지 않습니다.
그러나 방화벽에서 차단하는 것보다 더 깔끔한 방법이 있습니다. 방화벽에서 차단하면 기능은 켜진 채로 유지되면서, 이들이 의존하는 메커니즘이 조용히 깨지기 때문에 나중에 혼란스러운 반작용 상태가 발생할 수 있습니다. 소스에서 기능을 끄는 것이 더 깔끔합니다: 최신 macOS 버전에서는 Handoff 토글이 시스템 환경설정의 일반 섹션, AirDrop 및 Handoff 아래에 있습니다. 이를 끄면 시스템은 rapportd에게 작업을 요청하는 것을 멈춥니다.
rapportd의 높은 CPU 사용량이나 비정상적으로 지속적인 네트워크 활동은 별개의 문제이며, 보통은 기기 검색 루프일 뿐입니다. 블루투스와 Wi-Fi를 껐다 켜거나, Mac을 재시작하거나, Apple 계정에서 로그아웃 후 다시 로그인하거나, Handoff를 비활성화하여 검색 주기를 완전히 멈추는 것으로 해결됩니다.
더 넓은 문제: 수십 개의 데몬, 거의 가시성 없음
rapportd가 우연히 지목되는 이유는 하나입니다: 듣기 때문에 내장 방화벽이 이에 대해 묻기 때문입니다. Mac의 다른 수십 개의 백그라운드 프로세스는 오직 아웃바운드 연결만 하며, 이는 macOS 방화벽이 필터링하지 않고 절대 묻지 않습니다. 이들은 rapportd보다 더 신뢰할 수 있는 것이 아니며, 단지 더 조용할 뿐입니다.
이것이 어색한 간극입니다. 일반적인 Mac은 인증서 검사, 푸시 알림, iCloud 동기화, Spotlight 제안, 소프트웨어 업데이트, 텔레메트리 등을 처리하는 시스템 데몬을 실행하며, 설치된 모든 서드파티 앱도 각각의 네트워크 행동을 가지고 있습니다. Activity Monitor는 프로세스가 어떤 데이터를 이동했는지 알려줄 수 있지만, 어떤 도메인에 언제 접속했는지, 각각에 얼마나 많은 데이터가 전송되었는지 알려주지 않으며, 이것이 바로 정상 여부를 판단하는 데 필요한 정보입니다.
이것이 NetMute가 구축된 계층입니다. 실시간으로 앱별, 프로세스별 트래픽을 보여주고, 도메인 수준의 로그를 기록하여, 특정 프로세스가 어떤 도메인에 언제 접속했는지, 얼마나 많은 데이터를 주고받았는지 확인할 수 있습니다. 문제가 있다고 판단되면, 한 번의 클릭으로 해당 앱을 차단할 수 있으며, 임시 규칙은 자동으로 만료되어 빠른 테스트가 영구적으로 망가진 앱으로 남지 않도록 합니다. 네트워크 프로필은 집 네트워크와 핫스팟 간에 규칙을 다르게 설정할 수 있으며, Tracker Shield는 1,100개 이상의 알려진 트래커 도메인을 차단합니다.
목표는 Apple의 데몬을 차단하는 것이 아닙니다. 대부분의 데몬, rapportd 포함, 그들이 주장하는 대로 정확히 수행하고 있습니다. 목표는 다음에 이 문제가 다시 제기될 때, 프로세스 이름을 찾지 않고도 답변할 수 있도록 하는 것입니다.