Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
santa — macOS용 바이너리 인증 및 모니터링 시스템 | Kitploit
도구/GitHubGitHub/google/santa
Defensive ToolsIncident ResponseArchived
GitHubgoogle/santa

santa

macOS용 바이너리 인증 및 모니터링 시스템

저장소 보기웹사이트
4.5k28741년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Santa

[!NOTE] 2025년부터 Santa는 더 이상 Google에서 유지 관리되지 않습니다. 기존 사용자는 능동적으로 유지 관리되는 Santa의 포크(예: https://github.com/northpolesec/santa)로 마이그레이션하는 것이 좋습니다.


license CI latest release latest release date downloads

Santa 아이콘

Santa는 macOS용 바이너리 및 파일 접근 권한 부여 시스템입니다. 실행을 모니터링하는 시스템 확장, 로컬 데이터베이스 내용을 기반으로 실행 결정을 내리는 데몬, 차단 결정 시 사용자에게 알리는 GUI 에이전트, 그리고 시스템을 관리하고 데이터베이스를 서버와 동기화하는 명령줄 유틸리티로 구성되어 있습니다.

Santa는 실행 파일이 '나쁜(naughty)' 또는 '착한(nice)'인지 추적하기 때문에 Santa라는 이름이 붙었습니다.

문서

Santa 문서는 Docs 디렉터리에 저장되어 있으며 https://santa.dev에서 게시됩니다.

문서에는 배포 옵션, Santa의 각 부분 작동 방식에 대한 세부 정보 및 Santa 자체 개발 지침이 포함되어 있습니다.

도움말

질문이 있거나 시작하는 데 도움이 필요하면 santa-dev 그룹이 좋은 장소입니다.

버그가 있다고 생각되면 이슈를 자유롭게 보고해 주시면 가능한 한 빨리 응답하겠습니다.

취약점을 발견했다고 생각되면 공개 보고를 위해 보안 정책을 읽어주세요.

기능

  • 여러 모드: 기본 MONITOR 모드에서는 차단된 것으로 표시된 바이너리를 제외한 모든 바이너리가 실행되도록 허용되며, 이벤트 데이터베이스에 기록됩니다. LOCKDOWN 모드에서는 목록에 있는 바이너리만 실행이 허용됩니다.

  • 이벤트 로깅: 시스템 확장이 로드되면 모든 바이너리 실행이 기록됩니다. 두 모드 중 하나에서 알 수 없거나 거부된 바이너리는 데이터베이스에 저장되어 나중에 집계할 수 있습니다.

  • 인증서 기반 규칙 (재정의 수준 포함): 바이너리의 해시(또는 '지문')에 의존하는 대신, 실행 파일은 서명 인증서로 허용/차단할 수 있습니다. 따라서 특정 게시자가 서명한 모든 바이너리를 버전 업데이트 전체에서 허용/차단할 수 있습니다. 바이너리는 서명이 올바르게 검증된 경우에만 인증서로 허용될 수 있지만, 바이너리 지문에 대한 규칙은 인증서에 대한 결정을 재정의합니다. 즉, 인증서를 허용 목록에 추가하면서 해당 인증서로 서명된 바이너리를 차단하거나 그 반대도 가능합니다.

  • 경로 기반 규칙 (NSRegularExpression/ICU 사용): 이는 Managed Client(구성 프로필의 전신, 동일한 구현 메커니즘 사용)에서 찾을 수 있는 애플리케이션 실행 제한(mcxalr 바이너리 사용)과 유사한 기능을 제공합니다. 이 구현은 정규식을 통해 구성할 수 있고 LaunchServices에 의존하지 않는다는 추가 이점이 있습니다. 위키에 자세히 설명된 대로, 규칙 평가 시 이 규칙은 가장 낮은 우선순위를 가집니다.

  • 안전장치 인증서 규칙: launchd(PID 1)를 서명하는 데 사용된 인증서, 즉 macOS에서 사용되는 모든 구성 요소를 차단하는 거부 규칙을 설정할 수 없습니다. 따라서 모든 OS 업데이트(일부 경우 전체 새 버전)의 바이너리가 자동으로 허용됩니다. 이는 Apple의 App Store 바이너리(일반적인 앱의 경우 자주 변경되는 다양한 인증서 사용)에는 영향을 미치지 않습니다. 마찬가지로 Santa 자체도 차단할 수 없으며, Santa는 다른 Google 앱과는 별개의 인증서를 사용합니다.

  • 사용자 영역 구성 요소 상호 검증: 사용자 영역 구성 요소(데몬, GUI 에이전트, 명령줄 유틸리티)는 XPC를 사용하여 서로 통신하며, 통신이 수락되기 전에 서명 인증서가 동일한지 확인합니다.

  • 캐싱: 허용된 바이너리가 캐시되어 요청 처리에 필요한 처리는 바이너리가 아직 캐시되지 않은 경우에만 수행됩니다.

의도와 기대

단일 시스템이나 프로세스로 모든 공격을 막거나 100% 보안을 제공할 수는 없습니다. Santa는 사용자가 자신을 보호하도록 돕기 위한 의도로 작성되었습니다. 사람들은 종종 멀웨어를 다운로드하고 신뢰하여 자격 증명을 제공하거나, 알 수 없는 소프트웨어가 시스템에 대한 더 많은 데이터를 유출하도록 허용합니다. 중앙에서 관리되는 구성 요소로서 Santa는 대규모 머신 플릿 간의 멀웨어 확산을 막는 데 도움을 줄 수 있습니다. 독립적으로 Santa는 컴퓨터에서 실행 중인 항목을 분석하는 데 도움을 줄 수 있습니다.

Santa는 심층 방어 전략의 일부이며, 적절하다고 생각되는 다른 방법으로 호스트를 계속 보호해야 합니다.

보안 및 성능 관련 기능

알려진 문제

  • Santa는 실행(execve 및 변형)만 차단하며, dlopen으로 로드된 동적 라이브러리, 디스크에서 교체된 라이브러리, 또는 DYLD_INSERT_LIBRARIES를 사용하여 로드된 라이브러리는 보호하지 않습니다.

  • 스크립트: Santa는 현재 바이너리가 아닌 실행은 무시하도록 작성되어 있습니다. 이는 관리 비용과 이점을 비교한 후 가치가 없다고 판단했기 때문입니다. 또한 많은 애플리케이션이 임시 생성 스크립트를 사용하는데, 이를 허용 목록에 추가할 수 없고 그렇지 않으면 문제가 발생할 수 있습니다. 다른 사람들에게 유용하다면 이 기능을 재검토(또는 최소한 옵션으로 만들 것)할 의향이 있습니다.

동기화 서버

  • santactl 명령줄 클라이언트에는 관리 서버와 동기화하는 플래그가 포함되어 있으며, 이 서버는 시스템에서 발생한 이벤트를 업로드하고 새 규칙을 다운로드합니다. 동기화할 수 있는 몇 가지 오픈 소스 서버가 있습니다:

    • Moroz - 간단한 구성 파일에서 하드코딩된 규칙을 제공하는 간단한 golang 서버입니다.
    • Rudolph - AWS 기반 서버리스 동기화 서비스로, 주로 API GW, DynamoDB 및 Lambda 구성 요소로 구축되어 운영 부담을 줄입니다. Rudolph는 빠르고 사용하기 쉬우며 비용 효율적으로 설계되었습니다.
    • Zentral - 여러 소스에서 데이터를 가져오고 여러 서비스에 구성을 배포하는 중앙 집중식 서비스입니다.
    • Zercurity - Santa + Osquery를 활용하여 대규모 플릿에서 애플리케이션을 관리하고 모니터링하는 도커화된 서비스입니다.
  • 또는 santactl은 (동기화 서버 없이) 로컬에서 규칙을 구성할 수 있습니다.

스크린샷

Santa와 같은 도구는 스크린샷에 적합하지 않으므로 대신 비디오를 준비했습니다.

Santa 차단 비디오

기여

이 프로젝트에 대한 패치를 매우 환영합니다. CONTRIBUTING 문서를 참조하세요.

면책 조항

이 제품은 공식 Google 제품이 아닙니다.

도구 다운로드