Pro 일주일 무료: 코드 NETMUTE
NetMute

Two ways to get NetMute

Same app either way. Pick whichever fits how you buy.

Mac App Store

The simple route

  • Updates install themselves
  • No licence key to keep
  • Apple handles payment and refunds
Open the App Store

Direct download

Version 2.3.7 · 11 MB

  • Invoice with VAT ID, ready for expenses
  • 5- and 10-seat licences for teams
  • Unlocked with a licence key
Download the .dmg

The direct build is signed with a Developer ID and notarised by Apple. It updates itself too, and the licence key can be moved to another Mac at any time.

XProtect, Gatekeeper 및 macOS 보안: 하는 일과 놓치는 것

macOS는 안전하다는 평판이 있고, Apple의 기본 보안 기능은 그 평가에 큰 몫을 합니다. XProtect, Gatekeeper, Notarization은 수백만 명의 Mac 사용자를 매일 조용히 보호하는 3단계 방어선입니다. 하지만 대부분의 사용자는 이 시스템이 실제로 무엇을 하는지, 내부에서 어떻게 작동하는지, 그리고 중요한 점으로 무엇을 막지 못하는지는 잘 모릅니다. 이 가이드는 자신의 보안 상태를 이해하고 싶은 Mac 사용자를 위한 기술 설명서입니다. 각 보호 계층을 하나씩 풀어 보고, 서로 어떻게 맞물려 작동하는지 설명하며, 모든 것이 설계대로 잘 작동하더라도 남는 구체적인 빈틈을 짚어 봅니다.

12분 읽기업데이트

XProtect란 무엇인가?

XProtect는 Apple이 macOS에 기본으로 넣어 둔 안티멀웨어 기술로, 2009년 Snow Leopard부터 포함되어 왔습니다. 이는 시그니처 기반 탐지 시스템으로 작동합니다. 즉, 알려진 멀웨어 시그니처 데이터베이스를 유지하고, 파일이 열리거나 실행되거나 수정될 때 이 데이터베이스와 대조합니다.

macOS Ventura 이후의 XProtect 시스템에는 두 가지 주요 구성 요소가 있습니다. 첫 번째는 XProtect 자체로, 인터넷에서 내려받았거나 다른 quarantine-aware 앱을 통해 받은 파일을 열 때 시그니처 기반 검사를 수행합니다. macOS가 다운로드한 파일에 quarantine 플래그를 적용하면, 그 파일을 열 때 XProtect 검사가 실행됩니다. 파일이 알려진 멀웨어 시그니처와 일치하면 macOS가 차단하고 경고를 표시합니다.

두 번째 구성 요소는 XProtect Remediator로, 예전의 Malware Removal Tool을 대체했습니다. XProtect Remediator는 파일을 열 때만이 아니라 주기적으로 백그라운드 검사를 실행하며, 이미 시스템에 설치된 멀웨어도 탐지하고 제거할 수 있습니다. 이는 최초 실행 시점에만 위협을 막을 수 있었던 초기 XProtect보다 크게 개선된 부분입니다. Remediator 검사는 조용히 실행되며 사용자 개입이 필요하지 않습니다.

Apple은 일반 macOS 시스템 업데이트와는 별개인 백그라운드 프로세스를 통해 XProtect 시그니처를 갱신합니다. 이 시그니처 업데이트는 Software Update 메커니즘으로 전달되며, 사용자가 주요 macOS 버전에 대한 자동 업데이트를 꺼 두었더라도 자동으로 설치됩니다. 즉, 사용자가 아무것도 하지 않아도 XProtect의 멀웨어 정의는 최신 상태를 유지합니다.

XProtect의 한계는 시그니처 기반 탐지의 본질적인 한계이기도 합니다. 이미 알고 있는 것만 잡아낼 수 있습니다. 새로운 멀웨어가 아직 분석되지 않았고 Apple의 시그니처 데이터베이스에 추가되지 않았다면, XProtect는 그것을 탐지하지 못합니다. 새로운 멀웨어가 현실에 등장한 시점과 Apple이 업데이트된 시그니처를 배포하는 시점 사이에는 항상 공백이 생깁니다. XProtect는 행위 분석이나 휴리스틱 탐지도 하지 않습니다. 의심스러운 행동 패턴을 표시하는 것이 아니라, 알려진 악성 코드 시그니처만 봅니다.

Gatekeeper란 무엇인가?

Gatekeeper는 앱을 열 때 macOS의 첫 번째 방어선입니다. 맬웨어 탐지보다 신뢰 확인에 초점을 맞춥니다. XProtect가 파일이 이미 악성으로 알려져 있는지를 묻는다면, Gatekeeper는 다른 질문을 합니다. 이 소프트웨어는 Apple이 확인한 출처에서 온 것인가요?

앱을 다운로드해 열면 Gatekeeper는 두 가지를 확인합니다. 먼저, 유효한 Apple Developer ID 인증서로 코드 서명되었는지 검증합니다. 코드 서명은 앱을 등록된 개발자와 암호학적으로 연결해, 개발자가 빌드한 이후 소프트웨어가 변조되지 않았음을 보장합니다. 서명이 없거나 유효하지 않으면 Gatekeeper가 앱을 차단하고 사용자에게 경고합니다.

둘째, Mac App Store 밖에서 배포되는 앱의 경우, Gatekeeper는 Apple의 공증을 받았는지 확인합니다. 공증은 다음 섹션에서 자세히 다루겠지만, 핵심은 Apple의 자동 시스템이 앱을 검사해 알려진 맬웨어나 악성 구성 요소가 없다고 확인했다는 뜻입니다.

Gatekeeper의 mac 보안 설정은 시스템 설정의 개인 정보 보호 및 보안에서 구성할 수 있습니다. 기본 설정은 App Store와 확인된 개발자의 앱을 허용합니다. 이제는 어디서나 앱을 허용하는 옵션이 보이지 않으며, 특정 앱에 대해 Gatekeeper를 우회하려면 사용자가 해당 앱을 Control 클릭한 뒤 열기를 선택하거나, 터미널 명령으로 Gatekeeper를 완전히 비활성화해야 합니다. Apple은 이를 강력히 권장하지 않습니다.

격리(quarantine) 시스템은 Gatekeeper와 함께 작동합니다. 격리 정보를 인식하는 앱(Safari, Chrome, Mail, Messages, 그리고 대부분의 인기 앱)을 통해 파일을 다운로드하면 macOS는 해당 파일에 com.apple.quarantine이라는 확장 속성을 붙입니다. 이 속성이 파일을 열려고 할 때 Gatekeeper의 검사를 트리거합니다. 일부 명령줄 다운로드 도구나 직접 파일 복사처럼 격리 정보를 처리하지 않는 경로로 들어온 파일은 이 속성을 받지 못할 수 있으며, 따라서 Gatekeeper 검사가 실행되지 않을 수도 있습니다. 이는 숙련된 사용자와 공격자 모두가 알고 있는 알려진 예외 상황입니다.

인증이 전체 그림을 완성하는 방법

공증은 Apple 보안 3요소 중 가장 최근에 추가된 구성 요소로, macOS Mojave에서 도입되었으며 macOS Catalina 이후 Mac App Store 밖에서 배포되는 모든 소프트웨어에 필요합니다. 이는 소프트웨어를 만든 사람을 확인하는 코드 서명과, 알려진 맬웨어를 검사하는 XProtect 사이의 간극을 메웁니다.

공증 절차는 이렇습니다. 개발자는 앱을 배포하기 전에 Apple의 공증 서비스에 업로드합니다. Apple의 자동 시스템이 앱에서 알려진 맬웨어를 검사하고, 문제가 될 수 있는 코드 서명 이슈를 확인하며, 허용된 API를 사용하는지와 알려진 악성 구성 요소가 없는지를 검증합니다. 소프트웨어가 이 검사를 통과하면 Apple은 공증 티켓을 발급하고, 이를 앱에 스테이플하거나 온라인에서 사용할 수 있게 합니다. 이 과정은 보통 몇 분밖에 걸리지 않습니다.

사용자가 공증된 앱을 열면 Gatekeeper는 앱에 붙은 스테이플 티켓이나 Apple 서버를 온라인으로 확인해 공증 티켓을 검증합니다. 이를 통해 Apple의 시스템이 제출 시점에 소프트웨어를 검토했고 문제가 없다고 판단했음을 확인할 수 있습니다. 사용자는 신원 불명의 개발자에 대한 무서운 경고 대신, 일반적인 확인 대화 상자를 보게 됩니다.

공증은 완전한 보안 검토가 아닙니다. Apple 문서도 이 점을 분명히 밝힙니다. 이것은 자동 검사이지, 사람이 코드를 직접 검토하는 과정이 아닙니다. 알려진 맬웨어 시그니처를 확인하고, 코드 서명 체인을 검증하며, 앱이 hardened runtime을 사용하는지도 확인합니다. hardened runtime은 코드 주입이나 동적 라이브러리 하이재킹처럼 잠재적으로 위험한 일부 기능을 제한합니다. 하지만 실행 중인 앱의 동작을 분석하거나, 어떤 데이터를 수집하는지 살피거나, 어떤 네트워크 연결을 만드는지 평가하지는 않습니다.

이 차이는 중요합니다. 공증은 사용자가 안심하게 만들 수 있지만, 그 안심이 오해를 부를 수 있기 때문입니다. 공증된 앱은 Apple의 자동 검사를 통과했지만, 여전히 사용자가 꺼릴 만한 행동을 할 수 있습니다. 공격적인 데이터 수집, 지속적인 추적, 광고 네트워크 연결, 또는 자세한 사용 데이터를 제3자 서버로 보내는 텔레메트리 등이 그 예입니다. 공증은 알려진 맬웨어가 없음을 확인할 뿐, 개인정보를 존중하는 동작을 보장하지는 않습니다. 이는 개인정보를 중시하는 사용자에게 macOS 보안 모델의 가장 중요한 공백 중 하나입니다.

macOS 보안이 커버하지 않는 영역

XProtect, Gatekeeper, 그리고 Notarization이 무엇을 하지 않는지 이해하는 일도, 무엇을 하는지 이해하는 것만큼 중요합니다. 이런 빈틈은 버그나 실수가 아닙니다. 각 도구의 범위가 원래 그렇게 정해져 있기 때문입니다. 하지만 기본적인 악성코드 차단을 넘어 프라이버시와 보안을 중요하게 생각하는 사용자에게는, 이 빈틈이 꽤 큽니다.

macOS 보안 기능은 나가는 네트워크 연결을 전혀 감시하지 않습니다. XProtect는 앱이 어떤 서버에 연결하는지 확인하지 않습니다. Gatekeeper는 앱이 광고 네트워크로 데이터를 보내는지 평가하지 않습니다. Notarization은 앱이 어떤 텔레메트리를 수집하는지 검토하지 않습니다. 한 번 앱이 Mac에서 실행되면, 인터넷상의 어떤 서버로든 나가는 연결을 만들 수 있고, Apple의 기본 macOS 보안 기능은 이런 동작을 표시하거나 차단하지 않습니다.

트래커와 분석 차단은 macOS 보안 모델의 일부가 아닙니다. 검증된 개발자의 Notarization 완료 및 코드 서명된 앱에도 Facebook SDK 추적, Google Analytics, Mixpanel, Amplitude, 또는 그 밖의 어떤 분석 및 광고 프레임워크도 들어갈 수 있습니다. 이런 연결은 악성코드가 아닙니다. 소프트웨어에 의도적으로 포함된 기능입니다. macOS에는 이를 감지하거나 보고하거나 차단하는 메커니즘이 없습니다.

정상적인 소프트웨어가 프라이버시를 침해하는 동작은 이런 보호 기능의 범위를 완전히 벗어납니다. 앱이 클립보드 내용을 읽거나, 부여된 샌드박스 권한 안에서 파일 시스템 활동을 모니터링하거나, 사용 패턴을 세밀하게 프로파일링하더라도, 부여된 권한 안에서 동작하는 한 macOS 보안 정책을 위반하는 것이 아닙니다. macOS의 권한 시스템은 카메라, 마이크, 연락처 같은 특정 자원에 대한 접근을 제어하지만, 나가는 데이터 전송은 제어하거나 감시하지 않습니다.

새로운 제로데이 악성코드는 시그니처가 업데이트되기 전까지 잠깐의 여유를 가집니다. XProtect Remediator가 대응 속도를 개선하긴 했지만, 완전히 새로 등장한 위협이 아직 탐지되지 않는 기간은 항상 존재합니다. 사용자가 Gatekeeper를 우회하도록 속이는 사회공학 공격은 놀랄 만큼 흔한 수법인데, 사용자가 보호 기능을 직접 무시한 순간 코드 서명과 Notarization의 전체 체인이 무력화됩니다.

이런 빈틈은 이론이 아닙니다. 이미 설치했고 신뢰하는 앱들을 통해, 모든 Mac 사용자가 매일 영향을 받습니다.

빈틈 메우기: 나가는 트래픽 제어

macOS 보안 기능에서 가장 큰 빈틈은 나가는 트래픽을 감시하고 제어하는 기능이 없다는 점입니다. Apple은 실행 전에 소프트웨어가 정당한지 확인하는 도구와, 알려진 악성코드를 탐지하는 도구를 제공합니다. 하지만 실행된 뒤, 정당하고 Notarization까지 완료되어 Gatekeeper를 통과한 앱들이 네트워크 연결로 무엇을 하는지는 볼 수도, 제어할 수도 있는 방법을 주지 않습니다.

바로 여기에 앱 수준 방화벽이 필요합니다. 기본 macOS 방화벽은 주로 들어오는 연결을 제어하고 필터링 기능도 비교적 단순하지만, 나가는 트래픽 방화벽은 Mac의 모든 앱이 인터넷으로 만들려는 모든 연결을 감시합니다.

NetMute는 이 빈틈을 위해 만들어졌습니다. Mac의 앱이 서버에 연결하려 할 때, 정당한 콘텐츠 서버든, 분석 엔드포인트든, 광고 네트워크든, 알 수 없는 추적 도메인이든 NetMute는 연결을 가로채고 지금 무슨 일이 일어나는지 정확히 보여줍니다. 앱 이름, 대상 서버, 연결 빈도를 확인할 수 있습니다. 그런 다음 한 번의 클릭으로 어떤 연결이든 허용하거나 차단할 수 있습니다.

이렇게 하면 XProtect, Gatekeeper, Notarization이 원래 제공하도록 설계되지 않았던 보호 계층이 생깁니다. 소프트웨어가 악성인지 묻는 대신, NetMute는 더 구체적이고 실용적인 질문을 하게 해 줍니다. 이 특정 앱이 내가 괜찮다고 생각하는 서버에 연결하고 있는가? 코드 서명과 Notarization까지 완료된 텍스트 편집기가 몰래 키 입력 분석을 서드파티 서버로 보내더라도, Apple 기준으로는 악성코드가 아니지만, 대부분의 사용자는 그 사실을 알았다면 차단하고 싶어 할 동작입니다.

나가는 트래픽 제어의 가치는 처음 써 보는 순간 바로 드러납니다. 대부분의 사용자는 앱이 백그라운드에서 이렇게 많은 연결을 만들고, 그중 얼마나 많은 연결이 앱의 핵심 기능이 아니라 추적, 광고, 데이터 수집과 관련된 도메인으로 향하는지 보고 놀랍니다.

NetMute는 netmute.com에서 무료로 다운로드할 수 있고, Premium은 앱 내 구입 한 번으로 이용할 수 있습니다. 구독도 없고, 계정도 필요 없습니다. macOS 기본 보안 기능과 함께 작동하며, 그들이 남겨 둔 정확한 빈틈을 메웁니다. 앱이 바깥으로 무엇을 보내는지 보여 주고, 직접 제어할 수 있게 해 줍니다.

macOS는 들어오는 것을 보호하지만, NetMute는 나가는 것을 보호합니다.

XProtect와 Gatekeeper는 악성코드를 막아 줍니다. NetMute는 그 밖의 모든 것을 막아 줍니다. 나가는 모든 연결을 보여 주고, 무엇을 통과시킬지 직접 정하게 해 줍니다.

NetMute 다운로드