macOS 권한 팝업 취약점 CVE-2025-31250 분석
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

macOS의 권한 팝업, 믿어도 될까?

카테고리

인프라/DevOps/보안

서브카테고리

보안

대상자

  • macOS 개발자, 시스템 관리자, 보안 연구자
  • 중급~고급 난이도: TCC 시스템, Apple Events 프로토콜, 취약점 분석 이해 필요

핵심 요약

  • CVE-2025-31250 취약점으로 인해 권한 요청 팝업을 조작해 사용자 동의 유도가 가능함
  • TCC 시스템의 TCCAccessRequestIndirect 함수 논리적 버그인증 대상 앱과 실제 권한 부여 대상 분리 가능
  • macOS Ventura 13.7.6, Sonoma 14.7.6 등 일부 버전은 패치 미적용으로 취약함

섹션별 세부 요약

1. **취약점 개요 및 영향**

  • CVE-2025-31250 취약점으로 악성 앱이 타 앱의 이름으로 권한 요청 팝업 표시 가능
  • 스푸핑 공격을 통해 사용자 동의가 악성 앱에 적용됨 (예: "Application A" 팝업으로 "Application C" 권한 부여)
  • Microphone, Camera 등 주요 TCC 서비스가 공격 대상
  • TCC.db의 indirect_object 컬럼을 통해 권한 관리 오류 발생

2. **TCC 시스템 및 Apple Events 프로토콜**

  • TCC (Transient Consent Controller): macOS 내장 권한 관리 시스템
  • Apple Events: 1993년부터 사용된 macOS 앱 간 프로세스 통신 프로토콜
  • XPC API를 통해 tccd 데몬과 통신하며, TCCAccessRequestIndirect 함수에서 버그 발생

3. **취약점 발생 원인 및 기술적 분석**

  • Apple Events 전송 시 사용자 동의 필수로 인해 TCC.db의 indirect_object 컬럼을 통해 권한 분리 가능
  • Swift 코드 예시: spoofedBundleactualBundle을 통해 팝업 표시 대상과 실제 권한 부여 대상 분리
  • TCC.db 경로에 따라 가짜 TCC.db 생성으로 권한 우회 가능

4. **패치 및 사후 대응**

  • 2025-05-12macOS Sequoia 15.5에서 패치 적용
  • Ventura 13.7.6, Sonoma 14.7.6 등 일부 버전 미패치 상태
  • tccutil CLI 도구로 권한 취소 가능, GUI에서 확인 불가
  • Endpoint Security 프레임워크로 TCC 데이터베이스 변경 감시 기능 추가

5. **사용자 경험 및 UI 문제점**

  • 권한 요청 팝업의 신뢰성 문제: 사용자가 동의한 앱과 실제 권한 부여 대상 불일치
  • 비밀번호 팝업의 UX 문제: 동의 이유, 거절 시 영향 설명 부재
  • 모달 창 디자인 문제: macOS의 모바일 UI 적용으로 사용자 혼란 유발
  • ~/Applications 폴더 사용: root 권한 없이 앱 설치 가능, 그러나 보안 취약점 가능성

결론

  • macOS 권한 팝업을 절대 맹신하지 말고, 정기적으로 시스템 업데이트TCC.db 상태 확인 필요
  • CVE-2025-31250 패치 적용Apple Events 보안 강화를 요청
  • UX 개선을 통해 권한 요청 대상 명확화, 보안 프레임워크 확장 필요
  • TCC 시스템의 신뢰성 문제 해결을 위한 OS 레벨 권한 관리 재설계 요구