In che modo WindowsHelper protegge il tuo PC e il tuo telefono, quale crittografia utilizziamo e da cosa non ci difendiamo esplicitamente. Ultimo aggiornamento: 25-04-2026.
E-mail support@windowshelper.app con soggetto [security]. Per favore non aprire problemi pubblici su GitHub: dacci una finestra per inviare una correzione prima della divulgazione.
Il codice di abbinamento è il segreto condiviso da cui deriva ogni altra operazione crittografica. L'intero ciclo di vita:
[ Il telefono GENERA un codice casuale di 8 caratteri ] ↓ [ Il telefono SCRIVE il codice + sessionId su Firestore, nel documento pc_connections ] ↓ [ Il telefono MOSTRA il codice all'utente sullo schermo ] ↓ [ L'utente LEGGE il codice e lo digita nel campo del Companion ] ↓ [ Il Companion INTERROGA Firestore per la sessione in attesa che corrisponde al codice ] ↓ [ Entrambi i lati DERIVANO le chiavi crittografiche da SHA-256(codice, sessionId) ] ↓ [ Il codice RESTA in memoria su entrambi i lati; nessuno dei due lo scrive su Firestore ] ↓ [ La disconnessione / il nuovo abbinamento CANCELLA il codice su entrambi i lati ]
Ogni comando inviato via cavo viene crittografato con AES-256-GCM, una modalità di crittografia autenticata.
SHA-256("WH_SECURE_{code}_{sessionId}_CMD_KEY").Random.secure() al telefono o RandomNumberGenerator sul Companion.AESGCM:<nonce_b64>:<ciphertext_b64>:<tag_b64>Ogni comando porta anche una firma HMAC, quindi un telefono che non conosce il codice di accoppiamento non può inviare comandi anche se può scrivere su Firestore.
SHA-256("WH_SECURE_{code}_{sessionId}_HMAC_KEY"). Separato dalla chiave di crittografia.HMAC-SHA256(hmacKey, commandId | ciphertext | sentAtMillis). Le pipe sono caratteri pipe letterali, non delimitatori: tre stringhe concatenate.| Minaccia | Stato | Note |
|---|---|---|
| Intercettatore della rete locale | Mitigato | Il testo cifrato AES-GCM è opaco per gli osservatori MITM. |
| Intercettatore sui server Firestore | Mitigato | Google vede blocchi AESGCM:..., non comandi. |
| Aggressore che può scrivere su Firestore ma non conosce il codice | Mitigato | La verifica HMAC fallisce; Companion registra il rifiuto e non esegue il comando. |
| Aggressore che ha violato/phishing il codice di accoppiamento | Residuo | Possono impartire comandi come se fossero l'utente. Mitigazione: ruotare il codice dal menu della barra delle applicazioni. |
| Riproduzione di un comando registrato | Residuo | sentAtMillis è legato all'HMAC; il Companion non impone ancora una finestra di validità. Una correzione futura aggiungerà una scadenza. |
| Aggressore non autenticato in modalità LAN | Mitigato | L'handshake della coppia WebSocket convalida il codice; HMAC + AES gate ogni comando successivo. |
| Telefono compromesso con chiave di accoppiamento rubata | Residuo | Indistinguibile da "l'utente stesso". Mitigazione: il limite di velocità (10 cmd/min) + la conferma del comando distruttivo richiedono un clic dal lato PC. |
| Comando digitato in modo errato dall'app del telefono | Mitigato | L'elenco di autorizzazione sul telefono blocca i prefissi sconosciuti; il controllo preliminare sul lato Companion blocca i comandi diretti a servizi inesistenti. |
| Comando distruttivo eseguito accidentalmente | Mitigato | Una finestra sul lato Companion richiede un clic dell'utente per approvare Remove-Item, Format-Volume, reg delete, shutdown /r, ecc. |
| Processo PowerShell bloccato/incontrollato | Mitigato | Ogni comando ha un limite di tempo — 5 minuti per impostazione predefinita, 45 per una correzione lunga, 60 al tetto rigido — e viene terminato l'intero albero dei processi. |
| Companion Manomissione del file .exe tra il download e l'esecuzione | Mitigato | SHA-256 pubblicato in companion-version.json; gli utenti possono verificarlo. La firma Authenticode è prevista prima del lancio. |
| Companion arresto anomalo che perde lo stato sensibile | Mitigato | Report sugli arresti anomali + ripristini degli errori di Firestore disinfettati %USERPROFILE% / %MACHINE% / %USER%. |
| Dispositivo rubato, chiave di accoppiamento del registro persistente | Mitigato | Il codice di accoppiamento persistente è crittografato con Windows DPAPI (per account), quindi non può essere letto da un disco copiato o da un account Windows diverso. |
Cose da cui WindowsHelper esplicitamente non protegge:
[security].