WindowsHelper이(가) 귀하의 PC와 휴대전화를 보호하는 방법, 당사가 사용하는 암호화 방식, 명시적으로 방어하지 않는 항목. 최종 업데이트 날짜: 2026-04-25.
이메일 support@windowshelper.app 주제와 함께 [security]. 공개된 GitHub 문제를 열지 마십시오. 공개되기 전에 수정 사항을 제공할 수 있는 창구를 제공하십시오.
페어링 코드는 다른 모든 암호화 작업이 파생되는 공유 비밀입니다. 전체 수명 주기:
[ 휴대폰이 8자리 임의 코드를 생성 ] ↓ [ 휴대폰이 코드와 sessionId를 Firestore의 pc_connections 문서에 기록 ] ↓ [ 휴대폰이 화면에 코드를 표시 ] ↓ [ 사용자가 코드를 읽고 Companion 입력란에 입력 ] ↓ [ Companion이 코드와 일치하는 대기 중 세션을 Firestore에서 조회 ] ↓ [ 양쪽이 SHA-256(코드, sessionId)에서 암호 키를 파생 ] ↓ [ 코드는 양쪽 메모리에만 남고, 어느 쪽도 Firestore에 기록하지 않음 ] ↓ [ 연결 해제 / 재페어링 시 양쪽에서 코드를 삭제 ]
유선을 통해 전송되는 모든 명령은 인증 암호화 모드인 AES-256-GCM으로 암호화됩니다.
SHA-256("WH_SECURE_{code}_{sessionId}_CMD_KEY").Random.secure() 전화로 또는 RandomNumberGenerator Companion 쪽.AESGCM:<nonce_b64>:<ciphertext_b64>:<tag_b64>모든 명령에는 HMAC 서명도 포함되어 있으므로 페어링 코드를 모르는 전화기는 Firestore에 쓸 수 있더라도 명령을 삽입할 수 없습니다.
SHA-256("WH_SECURE_{code}_{sessionId}_HMAC_KEY"). 암호화 키와 분리하세요.HMAC-SHA256(hmacKey, commandId | ciphertext | sentAtMillis). 파이프는 구분 기호가 아닌 리터럴 파이프 문자입니다. 즉, 세 개의 연결된 문자열입니다.| 위협 | 상태 | 메모 |
|---|---|---|
| 로컬 네트워크의 도청자 | 완화됨 | AES-GCM 암호문은 MITM 관찰자에게 불투명합니다. |
| Firestore 서버의 도청자 | 완화됨 | Google에는 명령이 아니라 AESGCM:... 덩어리만 보입니다. |
| Firestore에 쓸 수 있지만 코드를 모르는 공격자 | 완화됨 | HMAC 검증이 실패합니다. Companion은 거부를 기록하고 실행하지 않습니다. |
| 페어링 코드를 크랙/피싱한 공격자 | 잔여 | 마치 자신이 사용자인 것처럼 명령을 내릴 수 있습니다. 해결 방법: 트레이 메뉴에서 코드를 순환합니다. |
| 기록된 명령 재생 | 잔여 | sentAtMillis는 HMAC에 묶여 있습니다. Companion은 아직 유효 시간 창을 적용하지 않으며, 향후 수정에서 유효 기간이 추가됩니다. |
| LAN 모드 인증되지 않은 공격자 | 완화됨 | WebSocket 쌍 핸드셰이크는 코드의 유효성을 검사합니다. HMAC + AES는 모든 후속 명령을 게이트합니다. |
| 도난당한 페어링 키로 손상된 휴대폰 | 잔여 | "사용자 자신"과 구별할 수 없습니다. 완화: 속도 제한(10cmd/min) + 파괴 명령 확인에는 PC 측 클릭이 필요합니다. |
| 전화 앱에서 명령을 잘못 입력했습니다. | 완화됨 | 휴대폰 쪽 허용 목록이 알 수 없는 접두사를 차단하고, Companion 쪽 사전 점검이 존재하지 않는 서비스를 대상으로 하는 명령을 차단합니다. |
| 실수로 파괴적인 명령이 실행됨 | 완화됨 | Companion 쪽 창에서 Remove-Item, Format-Volume, reg delete, shutdown /r 등을 승인하려면 사용자가 직접 클릭해야 합니다. |
| 정지/런어웨이 PowerShell 프로세스 | 완화됨 | 모든 명령에는 시간 제한이 있습니다 — 기본 5분, 오래 걸리는 수정은 45분, 하드 상한은 60분 — 그리고 프로세스 트리 전체가 종료됩니다. |
| Companion 다운로드와 실행 사이의 .exe 변조 | 완화됨 | SHA-256은 companion-version.json에 공개되며 사용자가 직접 확인할 수 있습니다. Authenticode 서명은 출시 전에 할 예정입니다. |
| Companion 충돌로 인해 민감한 상태가 유출됨 | 완화됨 | 비정상 종료 보고서 + Firestore 오류 쓰기 저장 삭제 %USERPROFILE% / %MACHINE% / %USER%. |
| 도난당한 기기, 영구 레지스트리 페어링 키 | 완화됨 | 지속 페어링 코드는 Windows DPAPI(계정별)로 암호화되므로 복사된 디스크나 다른 Windows 계정에서 읽을 수 없습니다. |
WindowsHelper가 명시적으로 방어하지 않는 것:
[security].