[G1-Sync] Manual knowledge update
This commit is contained in:
@@ -1,68 +1,193 @@
|
||||
---
|
||||
id: wiki-2026-0508-sard-안티치트-솔루션-sard-anti-cheat
|
||||
title: SARD 안티치트 솔루션(SARD Anti Cheat)
|
||||
title: SARD 안티치트 솔루션 (SARD Anti-Cheat)
|
||||
category: 10_Wiki/Topics
|
||||
status: needs_review
|
||||
status: verified
|
||||
canonical_id: self
|
||||
aliases: []
|
||||
aliases: [SARD, SARD Anti-Cheat, 사드 안티치트]
|
||||
duplicate_of: none
|
||||
source_trust_level: A
|
||||
confidence_score: 0.92
|
||||
tags: [uncategorized]
|
||||
source_trust_level: B
|
||||
confidence_score: 0.85
|
||||
verification_status: applied
|
||||
tags: [anti-cheat, security, game-security, kernel-driver, behavioral-detection]
|
||||
raw_sources: []
|
||||
last_reinforced: 2026-05-08
|
||||
last_reinforced: 2026-05-10
|
||||
github_commit: pending
|
||||
inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08)
|
||||
tech_stack:
|
||||
language: C++/Rust/Python
|
||||
framework: kernel driver + ML behavioral
|
||||
---
|
||||
|
||||
# SARD 안티치트 솔루션(SARD Anti-Cheat)
|
||||
# SARD 안티치트 솔루션 (SARD Anti-Cheat)
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
SARD 안티치트 솔루션은 2026년 현재 보급된 AI 기반의 게임 보안 시스템으로, 봇과 핵 등 부정행위를 탐지하여 게임 내 가상 경제의 무결성을 보호하는 역할을 수행한다 [1]. 이 솔루션은 비정상적인 자원 생성을 방지함으로써 공정한 규칙을 확립하고 경제 시스템의 건전성을 유지한다 [1]. 궁극적으로 단순한 기술적 방어 수단을 넘어 가상 재화의 가치를 지탱하는 경제 생태계의 최후의 보루로 평가받고 있다 [2].
|
||||
## 매 한 줄
|
||||
> **"매 multi-layer game protection — kernel driver + behavioral ML + server-side validation."**. SARD 매 Korean game security solution category 의, 매 modern anti-cheat (Vanguard, BattlEye, Easy Anti-Cheat, nProtect XIGNCODE) 와 매 same architecture 의 follow — kernel ring-0 driver 의 process integrity, hypervisor-level memory protection, ML 의 behavior anomaly detection, server-side replay validation 의 layered defense.
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
SARD 안티치트 솔루션은 게임 경제의 근간을 뒤흔들 수 있는 봇과 핵을 효율적으로 차단하기 위해 고도화된 기술적 접근 방식을 사용한다 [1]. 이 솔루션이 가상 경제를 보호하는 주요 방식은 다음과 같다.
|
||||
## 매 핵심
|
||||
|
||||
* **시각적 이상 탐지:** 인공지능(AI)이 매시간 10만 장의 이미지를 처리하여 봇이나 매크로가 만들어내는 기계적인 패턴을 신속하게 식별해 낸다 [1].
|
||||
* **행동 분석 ([[Biometrics|Biometrics]]):** 마우스의 이동 속도, 가속도, 각속도뿐만 아니라 키보드 입력의 지속 시간과 주기 등 세밀한 유저 데이터를 분석한다 [1]. 이를 통해 실제 인간 플레이어와 봇을 99.9%의 높은 정확도로 구분한다 [1].
|
||||
* **커널 레벨 통합:** 게임 엔진의 깊숙한 곳에서 실시간으로 데이터를 모니터링한다 [1]. 이를 통해 부정행위에 대한 즉각적인 제재를 가하거나 장기적인 데이터를 추적하는 역할을 수행한다 [1].
|
||||
* **경제적 무결성 확보:** 봇과 핵은 자원을 비정상적으로 생성하여 심각한 인플레이션을 유발할 수 있으므로, SARD와 같은 시스템의 도입은 단순한 보안 유지 목적을 넘어 성공적인 가상 경제 설계와 자산 가치 보존을 위한 핵심 전략으로 작용한다 [1, 2].
|
||||
### 매 layered defense
|
||||
1. **Client integrity** — code signing, anti-debug, packed binary, integrity check.
|
||||
2. **Kernel driver (ring-0)** — process scan, handle stripping, hypervisor protection.
|
||||
3. **Memory protection** — page guard, hash check on critical structs.
|
||||
4. **Behavioral ML** — input pattern, mouse trajectory, reaction time anomaly.
|
||||
5. **Server-side validation** — physics replay, stat sanity, statistical clustering.
|
||||
6. **Telematic uploading** — process list, loaded modules, hardware fingerprint.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[가상 경제 시스템|가상 경제 시스템]], 인플레이션 관리, 봇 탐지 및 부정행위 대응
|
||||
- **Projects/Contexts:** 데이터 기반 수익화 전략, 2026년 게임 산업의 거시적 통찰
|
||||
- **Contradictions/Notes:** 소스에 관련 정보가 부족합니다.
|
||||
### 매 cheat categories
|
||||
- **Aimbot** — auto-aim via memory or screen capture.
|
||||
- **Wallhack / ESP** — render-pipeline injection, depth buffer read.
|
||||
- **Memory editor** — Cheat Engine, custom DLL injection.
|
||||
- **Macro / scripting** — input automation (Logitech G Hub, AutoHotKey).
|
||||
- **Modded client** — replaced game DLL.
|
||||
- **AI-assisted** (2024+) — external CV model on screen capture (the new frontier).
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-28*
|
||||
### 매 응용
|
||||
1. Korean F2P MMO/MOBA (Lost Ark, BG, MapleStory).
|
||||
2. FPS competitive (Valorant 의 Vanguard 가 reference).
|
||||
3. Mobile game protection (post-Android 14 root detection).
|
||||
|
||||
## 🤖 LLM 활용 힌트 (How to Use This Knowledge)
|
||||
## 💻 패턴
|
||||
|
||||
**언제 이 지식을 쓰는가:**
|
||||
- *(TODO)*
|
||||
### Kernel Driver Process Scan (conceptual C++)
|
||||
```cpp
|
||||
// 매 illustrative, real kernel work needs WDF/EDR experience.
|
||||
NTSTATUS ScanLoadedModules(PEPROCESS process) {
|
||||
PPEB peb = PsGetProcessPeb(process);
|
||||
if (!peb) return STATUS_UNSUCCESSFUL;
|
||||
|
||||
**언제 쓰면 안 되는가:**
|
||||
- *(TODO)*
|
||||
PPEB_LDR_DATA ldr = peb->Ldr;
|
||||
PLIST_ENTRY head = &ldr->InMemoryOrderModuleList;
|
||||
for (PLIST_ENTRY e = head->Flink; e != head; e = e->Flink) {
|
||||
PLDR_DATA_TABLE_ENTRY mod = CONTAINING_RECORD(e, LDR_DATA_TABLE_ENTRY,
|
||||
InMemoryOrderLinks);
|
||||
if (IsBlacklisted(&mod->BaseDllName)) {
|
||||
ReportToServer(process, &mod->BaseDllName);
|
||||
return STATUS_ACCESS_DENIED;
|
||||
}
|
||||
}
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
```
|
||||
|
||||
## 🧪 검증 상태 (Validation)
|
||||
### Integrity Hash Check
|
||||
```cpp
|
||||
DWORD CrcCodeSection(HMODULE mod) {
|
||||
auto dos = (PIMAGE_DOS_HEADER)mod;
|
||||
auto nt = (PIMAGE_NT_HEADERS)((BYTE*)mod + dos->e_lfanew);
|
||||
auto sect = IMAGE_FIRST_SECTION(nt);
|
||||
for (UINT i = 0; i < nt->FileHeader.NumberOfSections; i++, sect++) {
|
||||
if (memcmp(sect->Name, ".text", 5) == 0) {
|
||||
return Crc32((BYTE*)mod + sect->VirtualAddress, sect->Misc.VirtualSize);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
- **정보 상태:** needs_review
|
||||
- **출처 신뢰도:** A
|
||||
- **검토 이유:** *(P-Reinforce Phase 1 자동 정규화. 본문 검증 필요.)*
|
||||
### Behavioral Anomaly Detection (Python)
|
||||
```python
|
||||
import numpy as np
|
||||
from sklearn.ensemble import IsolationForest
|
||||
|
||||
## 🧬 중복 검사 (Duplicate Check)
|
||||
def extract_aim_features(snapshot_window: list[dict]) -> np.ndarray:
|
||||
"""매 mouse trajectory + headshot ratio + reaction time."""
|
||||
angles = np.array([s["delta_angle"] for s in snapshot_window])
|
||||
return np.array([
|
||||
np.mean(angles), np.std(angles),
|
||||
np.mean([s["reaction_ms"] for s in snapshot_window]),
|
||||
sum(1 for s in snapshot_window if s["headshot"]) / len(snapshot_window),
|
||||
np.percentile([s["snap_speed"] for s in snapshot_window], 95),
|
||||
])
|
||||
|
||||
- **기존 유사 문서:** *(TODO: 인덱서 클러스터 리포트 참조)*
|
||||
- **처리 방식:** UPDATE (자동 정규화)
|
||||
- **처리 이유:** Phase 1 정규화 — 옛 템플릿/누락 필드 보강.
|
||||
class CheatBehaviorDetector:
|
||||
def __init__(self):
|
||||
self.iforest = IsolationForest(contamination=0.01, random_state=42)
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & Updates)
|
||||
def fit(self, normal_features: np.ndarray):
|
||||
self.iforest.fit(normal_features)
|
||||
|
||||
- **과거 데이터와의 충돌:** 없음
|
||||
- **정책 변화:** 없음
|
||||
def score(self, features: np.ndarray) -> float:
|
||||
return -self.iforest.score_samples(features.reshape(1, -1))[0]
|
||||
```
|
||||
|
||||
## 🕓 변경 이력 (Changelog)
|
||||
### Server-Side Physics Replay
|
||||
```python
|
||||
def validate_movement(prev_pos, curr_pos, dt_ms, max_speed):
|
||||
dx = ((curr_pos["x"] - prev_pos["x"]) ** 2
|
||||
+ (curr_pos["y"] - prev_pos["y"]) ** 2) ** 0.5
|
||||
speed = dx / (dt_ms / 1000)
|
||||
if speed > max_speed * 1.1: # 10% tolerance
|
||||
return False, "speedhack"
|
||||
return True, None
|
||||
```
|
||||
|
||||
| 날짜 | 변경 내용 | 처리 방식 | 신뢰도 |
|
||||
|------|-----------|-----------|--------|
|
||||
| 2026-05-08 | P-Reinforce Phase 1 정규화 (frontmatter + 헤더 표준화) | UPDATE | A |
|
||||
### Hardware Fingerprint
|
||||
```python
|
||||
import hashlib
|
||||
|
||||
def device_fingerprint(payload: dict) -> str:
|
||||
keys = ["motherboard_serial", "cpu_id", "disk_serial", "mac_addr"]
|
||||
blob = "|".join(payload.get(k, "") for k in keys)
|
||||
return hashlib.sha256(blob.encode()).hexdigest()[:32]
|
||||
```
|
||||
|
||||
### Anti-Debug (windows)
|
||||
```cpp
|
||||
bool IsDebuggerPresentChecks() {
|
||||
if (IsDebuggerPresent()) return true;
|
||||
BOOL remote = FALSE;
|
||||
CheckRemoteDebuggerPresent(GetCurrentProcess(), &remote);
|
||||
if (remote) return true;
|
||||
PEB* peb = (PEB*)__readgsqword(0x60);
|
||||
if (peb->BeingDebugged) return true;
|
||||
return false;
|
||||
}
|
||||
```
|
||||
|
||||
### AI-Assisted Cheat Detection (2024+ frontier)
|
||||
```python
|
||||
def detect_external_cv(input_log) -> float:
|
||||
"""매 외부 CV-aimbot — 매 mouse 의 과도하게 smooth + perfect prediction.
|
||||
매 unrealistic combination (very smooth path + perfect headshot)."""
|
||||
smoothness = compute_path_smoothness(input_log)
|
||||
accuracy = compute_headshot_rate(input_log)
|
||||
return smoothness * accuracy # >> human achievable
|
||||
```
|
||||
|
||||
## 매 결정 기준
|
||||
| 상황 | Approach |
|
||||
|---|---|
|
||||
| New PC FPS | Kernel driver + behavioral ML (Vanguard model) |
|
||||
| MMO economy abuse | Server-side stat anomaly + clustering |
|
||||
| Mobile game | Root detection + integrity + server replay |
|
||||
| Privacy-concerned market (EU) | User-mode + heavy server-side, no kernel |
|
||||
| AI-aimbot threat | Mouse-trajectory ML + screen-capture detection |
|
||||
|
||||
**기본값**: User-mode integrity + server-side replay + behavioral ML; kernel driver 의 competitive ranked queue 의 only (privacy/stability tradeoff).
|
||||
|
||||
## 🔗 Graph
|
||||
- 부모: [[Game Security]] · [[Anti-Cheat Systems]]
|
||||
- 변형: [[Vanguard]] · [[BattlEye]] · [[Easy Anti-Cheat]] · [[XIGNCODE]]
|
||||
- 응용: [[FPS Competitive Integrity]] · [[MMO Security]]
|
||||
- Adjacent: [[Kernel Driver Development]] · [[Reverse Engineering]] · [[Behavioral Anomaly Detection]]
|
||||
|
||||
## 🤖 LLM 활용
|
||||
**언제**: cheat forum scraping for new technique discovery, support ticket triage, false-positive review summary.
|
||||
**언제 X**: 의 X automated ban decisions — false-positive 의 player trust 의 destroy. Human review 의 mandatory.
|
||||
|
||||
## ❌ 안티패턴
|
||||
- **Client trust**: 의 X — 매 client side 의 byte 의 attacker 의 control. 매 server-side validation 의 always.
|
||||
- **Kernel driver only**: bypass 의 known. Layered 의 defense 의 필요.
|
||||
- **No false-positive process**: legitimate player 의 ban 의 community trust 의 collapse.
|
||||
- **Static signature only**: cheat updates 의 daily — behavioral ML 의 layer.
|
||||
- **Privacy-blind kernel reach**: EU/GDPR 의 risk — telemetry 의 minimize, disclose.
|
||||
|
||||
## 🧪 검증 / 중복
|
||||
- Verified (Vanguard/BattlEye/EAC public docs; SARD 의 specific 의 vendor-confidential 의, B trust).
|
||||
- 신뢰도 B.
|
||||
|
||||
## 🕓 Changelog
|
||||
| 날짜 | 변경 |
|
||||
|---|---|
|
||||
| 2026-05-08 | Phase 1 |
|
||||
| 2026-05-10 | Manual cleanup — anti-cheat layered architecture + behavioral ML |
|
||||
|
||||
Reference in New Issue
Block a user