Kaip WindowsHelper apsaugo jūsų kompiuterį ir telefoną, kokią kriptografiją naudojame ir nuo ko aiškiai nesisaugome. Paskutinį kartą atnaujinta: 2026-04-25.
El. paštas support@windowshelper.app su tema [security]. Neatidarykite viešų „GitHub“ problemų – leiskite mums išsiųsti pataisymą prieš atskleidžiant.
Poravimo kodas yra bendra paslaptis, iš kurios kyla visos kitos kriptografinės operacijos. Visas gyvavimo ciklas:
[ Telefonas SUKURIA atsitiktinį 8 simbolių kodą ] ↓ [ Telefonas ĮRAŠO kodą + sessionId į Firestore, į dokumentą pc_connections ] ↓ [ Telefonas PARODO kodą naudotojui ekrane ] ↓ [ Naudotojas PERSKAITO kodą ir įveda jį į Companion įvesties lauką ] ↓ [ Companion IEŠKO Firestore laukiančio seanso, atitinkančio kodą ] ↓ [ Abi pusės IŠVEDA šifravimo raktus iš SHA-256(kodas, sessionId) ] ↓ [ Kodas LIEKA abiejų pusių atmintyje; nė viena jo neįrašo į Firestore ] ↓ [ Atsijungimas / pakartotinis susiejimas IŠTRINA kodą abiejose pusėse ]
Kiekviena komanda, siunčiama laidu, yra užšifruota naudojant AES-256-GCM, autentifikuoto šifravimo režimą.
SHA-256("WH_SECURE_{code}_{sessionId}_CMD_KEY").Random.secure() telefonu arba RandomNumberGenerator „Companion“ pusėje.AESGCM:<nonce_b64>:<ciphertext_b64>:<tag_b64>Kiekviena komanda taip pat turi HMAC parašą, todėl telefonas, kuris nežino susiejimo kodo, negali įvesti komandų, net jei gali rašyti į „Firestore“.
SHA-256("WH_SECURE_{code}_{sessionId}_HMAC_KEY"). Atskirai nuo šifravimo rakto.HMAC-SHA256(hmacKey, commandId | ciphertext | sentAtMillis). Vamzdžiai yra pažodiniai vamzdžio simboliai, o ne skiriamieji ženklai - trys sujungtos eilutės.| Grėsmė | Būsena | Pastabos |
|---|---|---|
| Pasiklausytojas vietiniame tinkle | Sušvelnintas | AES-GCM šifruotas tekstas yra nepermatomas MITM stebėtojams. |
| „Firestore“ serverių pasiklausymas | Sušvelnintas | „Google“ mato AESGCM:... blokus, o ne komandas. |
| Užpuolikas, galintis rašyti į „Firestore“, bet nežinantis kodo | Sušvelnintas | HMAC patikra nepavyksta; „Companion“ užregistruoja atmetimą ir atsisako vykdyti. |
| Užpuolikas, nulaužęs / sukčiavęs susiejimo kodą | Likutis | Jie gali duoti komandas taip, lyg būtų vartotojas. Sušvelninimas: pasukite kodą iš dėklo meniu. |
| Įrašytos komandos pakartojimas | Likutis | sentAtMillis susietas su HMAC; „Companion“ dar netaiko galiojimo lango. Būsimas pataisymas pridės galiojimo pabaigą. |
| LAN režimu neautentifikuotas užpuolikas | Sušvelnintas | „WebSocket“ poros rankos paspaudimas patvirtina kodą; HMAC + AES vartai kiekvieną paskesnę komandą. |
| Sugadintas telefonas su pavogtu poravimo raktu | Likutis | Neatsiskiria nuo „pačio vartotojo“. Sušvelninimas: greičio riba (10 cmd/min) + naikinančios komandos patvirtinimas reikalauja kompiuterio paspaudimo. |
| Neteisingai įvesta komanda iš telefono programos | Sušvelnintas | Telefono pusėje esantis leidžiamųjų sąrašas blokuoja nežinomus priešdėlius; „Companion“ pusėje atliekama išankstinė patikra blokuoja komandas, nukreiptas į neegzistuojančias tarnybas. |
| Destruktyvi komanda paleista atsitiktinai | Sušvelnintas | „Companion“ pusėje esantis langas reikalauja naudotojo spustelėjimo, kad būtų patvirtinti Remove-Item, Format-Volume, reg delete, shutdown /r ir pan. |
| Pakabintas / pabėgęs PowerShell procesas | Sušvelnintas | Kiekviena komanda turi laiko ribą — pagal numatytuosius 5 minutės, ilgai trunkančiai pataisai 45, prie kietos lubos 60 — ir nutraukiamas visas procesų medis. |
| Companion .exe trikdo atsisiuntimą ir paleidimą | Sušvelnintas | SHA-256 skelbiamas faile companion-version.json; naudotojai gali jį patikrinti. „Authenticode“ parašas numatytas prieš paleidimą. |
| Companion strigčių nutekėjimo jautri būsena | Sušvelnintas | Strigčių ataskaitos + „Firestore“ klaidų grąžinimo išvalymas %USERPROFILE% / %MACHINE% / %USER%. |
| Pavogtas įrenginys, išlikęs registro susiejimo raktas | Sušvelnintas | Išlikęs susiejimo kodas yra užšifruotas naudojant Windows DPAPI (vienai paskyrai), todėl jo negalima nuskaityti iš nukopijuoto disko ar kitos Windows paskyros. |
Dalykai, nuo kurių WindowsHelper aiškiai neapsaugo:
[security].