Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
BlockGuard — BlockGuard는 프로세스 수준에서 파일 액세스를 가로채고 제어하는 Windows 데이터 손실 방지(DLP) 에이전트입니다. 실행 파일 경로, 암호화 해시, Authenticode 서명 및 무결성 수준으로 식별된 승인된 프로세스만 보호된 파일을 읽을 수 있도록 보장합니다. | Kitploit
도구/GitHubGitHub/m2l33k/blockguard
Authentication & AuthorizationDefensive ToolsEncryption/Decryption ToolsConfiguration AuditingData ExfiltrationIncident ResponseLog Analysis
GitHubm2l33k/blockguard

BlockGuard

BlockGuard는 프로세스 수준에서 파일 액세스를 가로채고 제어하는 Windows 데이터 손실 방지(DLP) 에이전트입니다. 실행 파일 경로, 암호화 해시, Authenticode 서명 및 무결성 수준으로 식별된 승인된 프로세스만 보호된 파일을 읽을 수 있도록 보장합니다.

저장소 보기
136개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

BlockGuard — Trusty

.NET 9 Windows License DLP

🛡️ BlockGuard — 프로세스 기반 파일 접근 보안 에이전트

BlockGuard는 Windows 데이터 손실 방지(DLP) 에이전트로, 프로세스 수준에서 파일 접근을 가로채고 제어합니다. 실행 파일 경로, 암호화 해시, Authenticode 서명, 무결성 수준(integrity level) 으로 식별되는 인가된 프로세스만이 보호된 파일을 읽을 수 있도록 보장합니다. 다른 모든 프로세스는 NTFS ACL을 통해 OS 커널 수준에서 기본적으로 거부됩니다.


📑 목차

  • 기능
  • 아키텍처
  • UI 관리 인터페이스
  • 사전 요구 사항
  • 빠른 시작
  • 구성
  • 에이전트 실행
  • 작동 확인
  • 프로젝트 구조
  • 작동 원리
  • 문제 해결
  • 보안 고려 사항
  • 기여

✨ 기능

기능설명
기본 거부 ACL보호된 파일은 에이전트 시작 시 잠깁니다 — SYSTEM 및 관리자만 접근 권한을 유지합니다
실시간 ETW 모니터링Windows용 이벤트 추적(ETW)을 통해 커널 수준 파일 I/O 이벤트 캡처
6계층 프로세스 검증실행 파일 경로, SHA-256 해시, Authenticode 서명, 소유자 SID, 무결성 수준, 부모 프로세스 체인
DPAPI 파일 암호화Windows 데이터 보호 API(DPAPI)를 사용하여 저장 시 보호된 파일 암호화
임시 접근 자동 해지인가된 프로세스는 자동 만료되는 시간 제한 ACL 권한을 받습니다
변조 탐지주기적인 무결성 검사로 ACL 변경을 감지하고 자동 복구
구조화된 감사 로깅모든 접근 시도의 JSON 감사 기록 (SIEM 준비 완료)
Windows 서비스NT AUTHORITY\SYSTEM 계정으로 백그라운드 Windows 서비스로 실행

🏗️ 아키텍처```

┌─────────────────────────────────────────────────────────────────┐ │ BlockGuard.Agent (Windows Service) │ │ Orchestrates all layers │ ├───────────────────┬─────────────────────┬───────────────────────┤ │ Layer 1 │ Layer 2 │ Layer 3 │ │ MONITORING │ POLICY & IDENTITY │ PROTECTION │ │ │ │ │ │ • ETW Kernel │ • Process Identity │ • DPAPI Encryption │ │ File Trace │ Validator (6 │ • Structured Audit │ │ • ACL Enforcer │ checks) │ Logger (JSON) │ │ (deny-by- │ • Policy Evaluator │ │ │ default) │ (AND-logic │ │ │ │ rules) │ │ │ │ • Identity Cache │ │ │ │ (LRU + TTL) │ │ └───────────────────┴─────────────────────┴───────────────────────┘

---

## 🖥️ UI 관리 인터페이스

BlockGuard는 **WPF 데스크톱 애플리케이션**을 포함하여 보호된 파일과 폴더를 시각적 인터페이스로 관리할 수 있도록 합니다. `appsettings.json`을 수동으로 편집할 필요가 없습니다.

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/12349/51a9b7894117382666d869cee59860a33698f666133bd23c6b6cd48b225d942c.png" alt="BlockGuard UI" width="640" />
</p>

### 기능

- **대시보드** — 보호 상태 개요 (총 파일, 폴더, 암호화 상태)
- **보호된 파일** — 파일 브라우저 대화상자를 통해 AI 접근을 차단할 파일 및 폴더 추가/제거
- **활동 로그** — 모든 구성 변경 사항의 실시간 로그
- **설정** — 구성 파일 경로 및 에이전트 정보 보기
- **에이전트 상태** — BlockGuard 에이전트 서비스 실행 여부를 보여주는 실시간 표시기

### UI 실행 방법```powershell
# From the project root
dotnet run --project src/BlockGuard.UI

참고: UI는 Agent 프로젝트의 appsettings.json 파일을 읽고 씁니다. 변경 사항을 저장한 후 BlockGuard Agent 서비스를 다시 시작해야 적용됩니다.


📋 사전 요구 사항

BlockGuard를 실행하기 전에 Windows 머신에 다음이 설치되어 있는지 확인하세요:

요구 사항최소 버전확인 명령어
Windows OSWindows 10 / Server 2019winver
.NET SDK9.0dotnet --version
관리자 권한필수터미널을 관리자 권한으로 실행

.NET 9 SDK 설치 (설치되지 않은 경우)```powershell

Download from https://dotnet.microsoft.com/download/dotnet/9.0

Or use winget:

winget install Microsoft.DotNet.SDK.9

---

## 🚀 빠른 시작

### 1. 리포지토리 클론```powershell
git clone [email protected]:m2l33k/BlockGuard.git
cd BlockGuard

2. 의존성 복원```powershell

dotnet restore BlockGuard.sln

### 3. 솔루션 빌드```powershell
dotnet build BlockGuard.sln --configuration Release

다음과 같이 표시됩니다:``` Build succeeded. 0 Warning(s) 0 Error(s)

### 4. 보호된 경로 및 규칙 구성

`src/BlockGuard.Agent/appsettings.json`을 편집하여 **보호할 파일** 및 **권한 있는 프로세스**를 정의하세요:```json
{
  "BlockGuard": {
    "ProtectedPaths": [
      "C:\\Secrets\\ai-model-keys",
      "C:\\Secrets\\api-credentials.json"
    ],
    "AuthorizedProcesses": [
      {
        "RuleName": "AI-Model-Inference-Engine",
        "ExecutablePath": "C:\\Program Files\\MyAI\\inference.exe",
        "MinimumIntegrityLevel": "Medium",
        "RequireSignature": false
      }
    ]
  }
}

5. 실행 (개발 모드)```powershell

Run as Administrator (required for ETW + ACL operations)

dotnet run --project src/BlockGuard.Agent

---

## ⚙️ 구성

모든 구성은 `src/BlockGuard.Agent/appsettings.json` 파일의 `"BlockGuard"` 섹션에 위치합니다.

### 보호 대상 경로

보호할 파일 또는 디렉터리의 배열입니다. 디렉터리는 모든 파일을 재귀적으로 보호합니다.```json
"ProtectedPaths": [
  "C:\\Secrets\\ai-model-keys",
  "C:\\Secrets\\api-credentials.json",
  "D:\\Confidential\\reports"
]

승인된 프로세스 규칙

각 규칙은 프로세스가 액세스 권한을 부여받기 위해 일치해야 하는 기준을 정의합니다. 모든 null이 아닌 필드가 일치해야 합니다 (AND 논리):

FieldTypeDescription
RuleNamestring이 규칙의 사람이 읽을 수 있는 이름 (감사 로그에 사용됨)
ExecutablePathstring?승인된 실행 파일의 전체 경로 (대소문자 구분 안 함)
ExpectedFileHashstring?실행 파일의 SHA-256 해시 (변조 탐지)
ExpectedSignerSubjectstring?Authenticode 인증서 주체 (예: "CN=Contoso")
MinimumIntegrityLevelstring최소 Windows 무결성 수준: Untrusted, Low, Medium, High, System
RequireSignaturebooltrue인 경우, 실행 파일에 유효한 Authenticode 서명이 있어야 함

예제: AI 모델 프로세스를 위한 경로 기반 규칙```json { "RuleName": "AI-Model-Inference-Engine", "ExecutablePath": "C:\Program Files\MyAI\inference.exe", "ExpectedFileHash": null, "ExpectedSignerSubject": null, "MinimumIntegrityLevel": "Medium", "RequireSignature": false }

**예: 서명 기반 규칙 (모든 서명된 관리 도구용)**```json
{
  "RuleName": "Signed-Management-Tool",
  "ExecutablePath": null,
  "ExpectedFileHash": null,
  "ExpectedSignerSubject": "CN=Contoso Security",
  "MinimumIntegrityLevel": "High",
  "RequireSignature": true
}

예시: 해시 고정 규칙 (최대 변조 방지를 위한)```json { "RuleName": "Pinned-Data-Processor", "ExecutablePath": "C:\Tools\processor.exe", "ExpectedFileHash": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890", "ExpectedSignerSubject": null, "MinimumIntegrityLevel": "Medium", "RequireSignature": false }

### 기타 옵션

| Option | Default | Description |
|---|---|---|
| `IdentityCacheTtlSeconds` | `30` | 검증된 프로세스 ID가 캐시에 유지되는 시간(초) |
| `HandleTimeoutSeconds` | `60` | 임시 ACL 허용의 최대 지속 시간(초) |
| `AuditLogPath` | `C:\ProgramData\BlockGuard\Logs\audit.json` | JSON 감사 로그 파일의 경로 |
| `EnableDpapiEncryption` | `true` | DPAPI를 사용하여 저장된 보호 파일 암호화 |
| `DpapiScope` | `LocalMachine` | DPAPI 범위: `LocalMachine` 또는 `CurrentUser` |

---

## 🏃 에이전트 실행

### 옵션 A: 개발 모드 (콘솔)
도구 다운로드