← 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 persistenteResidualUn atacante con acceso ao disco + inicio de sesión podería ler o código persistente. A corrección futura engádese con Windows DPAPI.

Fóra do alcance

Cousas que fai WindowsHelper explícitamente non defender contra:

Divulgación