macOS TCC 권한 시스템 허점 악용: CVE-2025-31250 취약점 심층 분석 및 커뮤니티 반응

🤖 AI 추천

macOS의 보안 메커니즘, 특히 TCC 권한 시스템의 작동 방식과 잠재적 취약점에 관심 있는 소프트웨어 개발자, 보안 연구원, 시스템 관리자 및 macOS 사용자에게 매우 유용한 정보입니다. 특히 프라이버시와 보안에 민감한 사용자에게 권장됩니다.

🔖 주요 키워드

macOS TCC 권한 시스템 허점 악용: CVE-2025-31250 취약점 심층 분석 및 커뮤니티 반응

핵심 기술

macOS의 Transparency, Consent, Control (TCC) 권한 관리 시스템의 'TCCAccessRequestIndirect' 함수에 존재하는 논리적 버그를 통해, 악성 앱이 사용자에게 오인 표시된 권한 요청 팝업을 띄워 실제로는 다른 앱에 권한을 부여하는 스푸핑 공격이 가능함을 분석합니다. 이 취약점(CVE-2025-31250)은 Apple Events를 악용한 것으로, macOS의 권한 요청 신뢰성을 심각하게 훼손합니다.

기술적 세부사항

  • 취약점 개요: macOS의 TCC 시스템에서 tccd 데몬은 Apple Events를 통해 권한 요청을 관리합니다. TCCAccessRequestIndirect 함수 내 논리적 오류로 인해, 권한 요청 팝업에 표시되는 앱(spoofedBundle)과 실제로 권한이 부여되는 앱(actualBundle)을 다르게 지정할 수 있었습니다.
  • CVE-2025-31250: 이 취약점은 악성 앱이 신뢰할 수 있는 앱의 이름으로 권한 요청 팝업을 위장하여 사용자의 동의를 유도할 수 있게 합니다.
  • Apple Events 활용: macOS 앱 간의 프로세스 통신 방식인 Apple Events를 통해, TCC 데이터베이스(TCC.db)의 indirect_object 컬럼을 조작하여 비정상적인 권한 부여가 가능했습니다.
  • 공격 시나리오:
    • 악성 앱은 사용자에게 신뢰할 만한 앱이 권한을 요청하는 것처럼 속여 실제로는 악성 앱에 마이크, 카메라 등의 접근 권한을 부여합니다.
    • 실행 중인 앱이나 현재 전면에 있는 앱을 감지하여 맥락에 맞는 시점에 팝업을 띄우는 사회공학적 기법과 결합 시 성공률을 높일 수 있습니다.
    • 과거 HOME 환경 변수를 조작하는 방식도 존재했으나, 패치 이후에도 특정 조건 하에 우회 가능성이 제기되었습니다.
  • 패치 현황: macOS Sequoia 15.5에서 패치되었으나, Ventura 13.7.6 및 Sonoma 14.7.6에서는 초기 보고 시점에 미패치 상태였습니다. 패치 내용은 tccd가 외부에서 임의로 지정된 indirect_object 메시지를 무시하도록 변경되었습니다.
  • 사용자 불편: Apple Events 관련 권한 동의 내역은 GUI에서 직접 확인 및 취소가 어렵고, tccutil CLI 도구만 사용 가능하여 사용자 경험에 불편함을 야기합니다.

개발 임팩트

  • macOS의 핵심 보안 메커니즘인 TCC 시스템의 신뢰성에 대한 근본적인 의문을 제기합니다.
  • 권한 요청 팝업에 대한 사용자의 맹신을 경계하고, 보안 시스템의 '보여지는 것' 뿐만 아니라 '실질적인 유지'의 중요성을 강조합니다.
  • 향후 유사한 권한 시스템의 허점이 발견될 가능성이 있어, 개발자는 이러한 메커니즘의 취약점을 인지하고 안전한 애플리케이션 개발에 유의해야 합니다.

커뮤니티 반응

  • 많은 사용자가 macOS의 갑작스러운 관리자 비밀번호 요구 팝업에 대한 불편함과 UX 문제를 지적했습니다. 특히 팝업의 출처, 필요성, 설정 변경 방법 등에 대한 명확성 부족을 비판했습니다.
  • Passkey 팝업과 일반적인 JavaScript 팝업의 구분 불가, 모달 창 디자인의 비효율성, 기술적 지식이 없는 사용자(가족)의 혼란 등을 문제로 삼았습니다.
  • Slack, VSCode, NordVPN 등 여러 애플리케이션에서 발생하는 '헬퍼 툴 설치' 또는 업데이트 관련 팝업에 대한 불만이 제기되었고, 이로 인한 사용자 경험 저하 및 보안 의문이 공유되었습니다.
  • Apple의 패치 속도(약 1년)에 대한 불만과 더불어, 보안과 확장성 사이의 절충점 및 개발자들의 TCC 시스템 이해도에 대한 의문도 제기되었습니다.

📚 관련 자료