macOS의 Privacy & Security 설정을 신뢰할 수 없는 이유

5 hours ago 2
  • macOS의 Privacy & Security 설정이 실제 접근 권한 상태를 반영하지 못하는 문제가 확인됨
  • Documents 폴더 접근이 차단된 상태에서도 Insent 앱이 여전히 파일을 읽을 수 있는 현상이 발생
  • 사용자가 폴더를 직접 선택하면 TCC 시스템이 이를 의도적 접근으로 간주해 제약을 해제
  • 설정 화면에는 차단된 것으로 표시되지만, 실제로는 샌드박스 제약이 해제되어 접근이 계속 허용됨
  • 접근 권한을 완전히 차단하려면 터미널 명령과 재시동이 필요하며, 이는 사용자의 제어권 상실로 이어질 위험이 있음

macOS Privacy & Security 설정의 신뢰성 문제

  • macOS Privacy & Security 설정이 실제 접근 권한 상태를 정확히 반영하지 못하는 사례가 확인됨
    • Insent이라는 간단한 앱을 이용해 Documents 폴더 접근 권한이 설정상 차단된 상태에서도 실제 접근이 가능한 현상 발생
    • 이 문제는 macOS 13.5 이상 버전에서도 동일하게 재현 가능
  • Insent 앱의 동작 방식

    • Open by consent 버튼은 사용자의 동의를 거쳐 Documents 폴더 내 임의의 텍스트 파일을 열어 표시
    • Open from folder 버튼은 사용자가 직접 폴더를 선택하면, 그 안의 파일을 열어 표시
    • 후자의 경우 사용자의 의도(intent) 가 접근 허용으로 간주되어 TCC(Transparency, Consent, and Control) 시스템이 별도의 동의 없이 접근을 허용
  • 실험 절차와 결과

    • Documents 접근을 허용한 뒤 Insent이 정상적으로 파일을 읽는 것을 확인
    • 이후 Privacy & Security 설정에서 Insent의 Documents 접근을 비활성화하면 접근이 차단됨
    • 그러나 Open from folder로 Documents를 선택하면 다시 접근이 가능해지고, 이후 Open by consent도 제한 없이 작동
    • 설정 화면에서는 여전히 접근이 차단된 것으로 표시되지만, 실제로는 Insent이 Documents 폴더에 계속 접근 가능
    • 접근을 완전히 차단하려면 tccutil reset All co.eclecticlight.Insent 명령을 실행하고 Mac을 재시동해야 함
  • 내부 동작 분석

    • Insent은 일반 공증(notarized) 앱이며, 샌드박스나 특수 권한을 사용하지 않음
    • System Integrity Protection(SIP) 이 활성화된 상태에서는 일부 작업이 샌드박스 처리됨
    • sandboxd가 파일 접근 요청을 가로채 TCC에 승인 요청을 보내며, 사용자가 동의하면 접근이 허용됨
    • 접근이 비활성화된 후에는 TCC가 접근을 거부하지만, 사용자가 Open/Save 패널을 통해 폴더를 선택하면 sandboxd가 더 이상 요청을 가로채지 않음
    • 이로 인해 TCC가 접근을 제어하지 못하고, 샌드박스 제약이 해제된 상태로 폴더 접근이 가능
  • 문제의 원인

    • 사용자의 의도에 따른 접근이 발생하면 해당 폴더에 대한 샌드박스 제약이 제거됨
    • 이 변경은 Privacy & Security 설정 UI에 반영되지 않음, 따라서 설정상 차단된 것처럼 보이지만 실제로는 접근이 허용된 상태 유지
    • 다른 보호 폴더(예: Desktop, Downloads)는 정상적으로 동작하며, 문제는 폴더별로 독립적으로 발생
  • 결론

    • Files & Folders 항목의 접근 제한 표시가 실제 적용 상태를 신뢰할 수 없음

      • 앱이 목록에 표시되지 않거나 차단된 것으로 보이더라도 실제로는 보호 폴더에 접근할 수 있는 경우 존재
      • 접근 권한이 한 번 부여되면 터미널 명령과 재시동 없이는 해제되지 않음, 이는 사용자가 접근 제어를 상실할 위험
  • 추가 논의 (댓글 요약)

    • 실험 후 Documents 폴더에 com.apple.macl 확장 속성이 추가되어 Insent의 접근을 허용하는 역할을 하는 것으로 추정
    • tccutil reset 명령은 데이터베이스의 macl 항목을 제거하지만, xattr(확장 속성) 은 남아 있어 접근이 유지될 수 있음
    • SIP가 활성화된 상태에서는 이 속성을 제거하기 어렵고, 복구 모드에서 xattr -d com.apple.macl path/to/Documents 명령으로만 삭제 가능
    • 이로 인해 사용자는 앱의 실제 접근 상태를 확인하거나 제어하기 어려운 상황에 놓임
Read Entire Article