WindowsHelper이(가) 귀하의 PC와 휴대전화를 보호하는 방법, 당사가 사용하는 암호화 방식, 명시적으로 방어하지 않는 항목. 최종 업데이트 날짜: 2026-04-25.
이메일 support@windowshelper.app 주제와 함께 [security]. 공개된 GitHub 문제를 열지 마십시오. 공개되기 전에 수정 사항을 제공할 수 있는 창구를 제공하십시오.
페어링 코드는 공유 비밀 다른 모든 암호화 작업은 다음에서 파생됩니다. 전체 수명주기:
[ Phone GENERATES random 8-char code ] ↓ [ Phone WRITES code + sessionId to Firestore in pc_connections doc ] ↓ [ Phone DISPLAYS code to user on screen ] ↓ [ User READS code, types it into companion's input field ] ↓ [ Companion QUERIES Firestore for waiting session matching the code ] ↓ [ Both sides DERIVE crypto keys from SHA-256(code, sessionId) ] ↓ [ Code STAYS in memory on both sides; never written to Firestore by either ] ↓ [ Disconnect / re-pair WIPES the code from both sides ]
pairingCode; 일단 페어링되면 코드는 메모리에만 유지됩니다.유선을 통해 전송되는 모든 명령은 인증 암호화 모드인 AES-256-GCM으로 암호화됩니다.
SHA-256("WH_SECURE_{code}_{sessionId}_CMD_KEY").Random.secure() 전화로 또는 RandomNumberGenerator 동반자에.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 sees AESGCM:... blobs, not commands. |
| Firestore에 쓸 수 있지만 코드를 모르는 공격자 | 완화됨 | HMAC 확인이 실패합니다. 동반자는 거부를 기록하고 실행을 거부합니다. |
| 페어링 코드를 크랙/피싱한 공격자 | 잔여 | 마치 자신이 사용자인 것처럼 명령을 내릴 수 있습니다. 해결 방법: 트레이 메뉴에서 코드를 순환합니다. |
| 기록된 명령 재생 | 잔여 | sentAtMillis is HMAC-bound; companion doesn't yet enforce a freshness window. Future fix adds a TTL. |
| LAN 모드 인증되지 않은 공격자 | 완화됨 | WebSocket 쌍 핸드셰이크는 코드의 유효성을 검사합니다. HMAC + AES는 모든 후속 명령을 게이트합니다. |
| 도난당한 페어링 키로 손상된 휴대폰 | 잔여 | "사용자 자신"과 구별할 수 없습니다. 완화: 속도 제한(10cmd/min) + 파괴 명령 확인에는 PC 측 클릭이 필요합니다. |
| 전화 앱에서 명령을 잘못 입력했습니다. | 완화됨 | 전화측 허용 목록은 인식되지 않는 접두사를 차단합니다. 존재하지 않는 서비스를 대상으로 하는 동반자측 비행 전 차단 명령. |
| 실수로 파괴적인 명령이 실행됨 | 완화됨 | Companion-side modal requires user click to approve Remove-Item, Format-Volume, reg delete, shutdown /r, etc. |
| 정지/런어웨이 PowerShell 프로세스 | 완화됨 | 5분 제한 시간 초과로 인해 전체 프로세스 트리가 종료됩니다. |
| Companion 다운로드와 실행 사이의 .exe 변조 | 완화됨 | SHA-256 published in companion-version.json; users can verify. Authenticode signing landing soon. |
| Companion 충돌로 인해 민감한 상태가 유출됨 | 완화됨 | 비정상 종료 보고서 + Firestore 오류 쓰기 저장 삭제 %USERPROFILE% / %MACHINE% / %USER%. |
| 도난당한 기기, 영구 레지스트리 페어링 키 | 잔여 | 디스크 + 로그인 액세스 권한이 있는 공격자는 지속된 코드를 읽을 수 있습니다. 향후 수정에서는 이를 Windows DPAPI로 래핑합니다. |
WindowsHelper이(가) 명시적으로 수행하는 작업 아니 방어하다:
[security].