← 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 calquera outra operación criptográfica derivada. O ciclo de vida completo:

[ 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 ]

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 sees AESGCM:... blobs, not commands.
Atacante que pode escribir en Firestore pero non coñece o códigoAtenuadoA verificación HMAC falla; o compañeiro rexistra o rexeitamento + rexeita a execución.
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 is HMAC-bound; companion doesn't yet enforce a freshness window. Future fix adds a TTL.
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 lado do teléfono bloquea os prefixos non recoñecidos; comandos de bloques previos ao voo do acompañante dirixidos a servizos inexistentes.
O comando destrutivo execútase accidentalmenteAtenuadoCompanion-side modal requires user click to approve Remove-Item, Format-Volume, reg delete, shutdown /r, etc.
Proceso de PowerShell suspendido / desbocadoAtenuadoUn duro tempo de espera de 5 minutos mata toda a árbore do proceso.
Companion Manipulación .exe entre a descarga e a execuciónAtenuadoSHA-256 published in companion-version.json; users can verify. Authenticode signing landing soon.
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 que fai WindowsHelper explícitamente non defender contra:

Divulgación