
클립보드 서식과 실행 표면 검사를 사용하여 클릭픽스 공격을 중지하도록 설계된 경량 도구
Windows에서 ClickFix 클립보드 인젝션 공격을 실시간으로 탐지합니다.
ClipGuard는 클립보드 활동을 모니터링하고 의심스러운 붙여넣기 작업이 실행되기 전에 가로채며, 특히 가짜 확인 페이지가 사용자를 속여 악성 명령을 붙여넣게 하는 ClickFix 기법을 대상으로 합니다.
ClickFix 공격은 다음과 같이 작동합니다:
핵심 통찰: JavaScript가 navigator.clipboard.writeText()를 통해 클립보드에 쓸 때 클립보드에는 CF_UNICODETEXT만 포함됩니다. 반면, 사용자가 웹페이지에서 텍스트를 수동으로 선택하여 복사하면 브라우저는 CF_UNICODETEXT와 CF_HTML을 모두 클립보드에 넣습니다. ClipGuard는 이 형식 차이를 주요 탐지 신호 중 하나로 사용합니다.
ClipGuard는 시스템 트레이에서 실행되며 여러 탐지 메커니즘을 계층화합니다:
클립보드 출처 추적 — WM_CLIPBOARDUPDATE 메시지를 수신하고 모든 클립보드 변경에 대해 소스 프로세스, 클립보드 형식(CF_HTML 대 CF_UNICODETEXT), 내용 길이, 내용 미리보기를 기록합니다.
실행 표면 탐지 — 포그라운드 창이 명령 실행 표면(실행 대화상자(Win+R), cmd.exe, powershell.exe, pwsh.exe 또는 Windows Terminal)인지 식별합니다.
키보드 후크(Ctrl+V 가로채기) — 저수준 키보드 후크(WH_KEYBOARD_LL)가 Ctrl+V 키 입력을 가로챕니다. 브라우저에서 가져온 클립보드 내용으로 실행 표면에 붙여넣기가 시도되면 ClipGuard가 위협을 평가합니다.
형식 기반 판정 — 클립보드 내용이 브라우저에서 왔고 텍스트만 포함(CF_HTML 없음)하는 경우 의심스럽다고 플래그를 지정합니다. 이는 사용자가 직접 복사한 것이 아닌 JavaScript 클립보드 쓰기(HTML 표시기가 없음)일 가능성을 나타냅니다. 붙여넣기가 차단되고 사용자는 허용 또는 차단을 결정하기 전에 클립보드 내용이 포함된 경고를 보게 됩니다.
Clipboard updated by browser?
-- YES: User pastes (Ctrl+V) into execution surface?
-- YES: Clipboard has CF_UNICODETEXT only (no CF_HTML)?
-- YES: BLOCK — Suspected ClickFix (JS clipboard write)
-- NO: Strict Mode on?
-- YES: WARN — User copy, but going to exec surface
-- NO: ALLOW
Edge, Chrome, Firefox, Brave, Opera, Vivaldi, Chromium, Arc
사전 요구 사항:
소스에서 빌드:
git clone https://github.com/CertainlyP/ClipGuard.git
cd ClipGuard
dotnet build -c Release
또는 Releases 페이지에서 미리 컴파일된 바이너리를 다운로드하세요.
의심스러운 붙여넣기가 감지되면 ClipGuard는 클립보드 내용 미리보기, 소스 프로세스 및 PID, 클립보드 형식 분석, 붙여넣기를 차단하거나 허용하는 옵션이 포함된 경고를 표시합니다.
로그는 %APPDATA%\ClipGuard\shield.log에 기록됩니다.
이 도구는 ClickFix 공격 메커니즘에 대한 독창적인 연구를 기반으로 합니다:
MIT