← Volver a WindowsHelper

Modelo de Seguridade

Como WindowsHelper protexe o teu PC e o teu teléfono, que criptografía usamos e contra o que non defendemos explícitamente. Última actualización: 25-04-2026.

denunciando unha vulnerabilidade

Correo electrónico support@windowshelper.app con tema [security]. Non abras os problemas públicos de GitHub: dános unha xanela para enviar unha solución antes da divulgación.

Ciclo de vida do código de emparejamento

O código de emparellamento é o segredo compartido do que deriva calquera outra operación criptográfica. O ciclo de vida completo:

[ O teléfono XERA un código aleatorio de 8 caracteres ]
   ↓
[ O teléfono ESCRIBE o código + sessionId en Firestore, no documento pc_connections ]
   ↓
[ O teléfono MOSTRA o código ao usuario na pantalla ]
   ↓
[ O usuario LE o código e escríbeo no campo do Companion ]
   ↓
[ O Companion CONSULTA Firestore para atopar a sesión en espera que coincide co código ]
   ↓
[ Ambos os lados DERIVAN as claves criptográficas de SHA-256(código, sessionId) ]
   ↓
[ O código PERMANECE na memoria dos dous lados; ningún o escribe en Firestore ]
   ↓
[ Desconectar / vincular de novo BORRA o código nos dous lados ]

Criptografía

AES-256-GCM (confidencialidade do comando + integridade)

Cada comando enviado por cable está cifrado con AES-256-GCM, un modo de cifrado autenticado.

HMAC-SHA256 (autenticidade do comando)

Cada comando tamén leva unha sinatura HMAC polo que un teléfono que non coñece o código de sincronización non pode inxectar comandos aínda que poida escribir en Firestore.

Modelo de ameaza

AmeazaEstadoNotas
Escoita na rede localAtenuadoO texto cifrado AES-GCM é opaco para os observadores do MITM.
Eavesdropper nos servidores FirestoreAtenuadoGoogle ve bloques AESGCM:..., non ordes.
Atacante que pode escribir en Firestore pero non coñece o códigoAtenuadoA verificación HMAC falla; o Companion rexistra o rexeitamento e négase a executalo.
Atacante que descifrau/suplantou o código de vinculaciónResidualPoden emitir comandos coma se fosen o usuario. Mitigación: xira o código desde o menú da bandexa.
Reprodución dun comando gravadoResidualsentAtMillis está ligado ao HMAC; o Companion aínda non aplica unha xanela de validez. Unha corrección futura engadirá unha caducidade.
Atacante non autenticado en modo LANAtenuadoO enlace de par de WebSocket valida o código; Porta HMAC + AES cada comando posterior.
Teléfono comprometido coa chave de sincronización roubadaResidualIndistinguible de "o propio usuario". Mitigación: límite de velocidade (10 cmd/min) + a confirmación do comando destrutivo require un clic no lado do PC.
Comando mal escrito da aplicación do teléfonoAtenuadoA lista de permitidos do móbil bloquea prefixos descoñecidos; a comprobación previa do lado do Companion bloquea ordes dirixidas a servizos inexistentes.
O comando destrutivo execútase accidentalmenteAtenuadoUnha xanela no lado do Companion require un clic do usuario para aprobar Remove-Item, Format-Volume, reg delete, shutdown /r, etc.
Proceso de PowerShell suspendido / desbocadoAtenuadoCada orde ten un límite de tempo: 5 minutos por defecto, 45 para unha solución longa, 60 no tope duro — e mátase a árbore de procesos enteira.
Companion Manipulación .exe entre a descarga e a execuciónAtenuadoSHA-256 publicado en companion-version.json; os usuarios poden comprobalo. A sinatura Authenticode está prevista antes do lanzamento.
Estado sensible de fuga de Companion falloAtenuadoInformes de fallos + desinfeccións de erros de Firestore %USERPROFILE% / %MACHINE% / %USER%.
Dispositivo roubado, clave de sincronización do rexistro persistenteAtenuadoO código de sincronización persistente está cifrado con Windows DPAPI (por conta), polo que non se pode ler desde un disco copiado ou dunha conta Windows diferente.

Fóra do alcance

Cousas contra as que WindowsHelper non protexe explicitamente:

Divulgación