Bagaimana WindowsHelper melindungi PC anda + telefon anda, kriptografi apa yang kami gunakan dan perkara yang kami tidak pertahankan secara jelas. Kemas kini terakhir: 2026-04-25.
E-mel support@windowshelper.app dengan subjek [security]. Tolong jangan buka isu GitHub awam — beri kami tetingkap untuk menghantar pembetulan sebelum pendedahan.
Kod berpasangan ialah rahsia kongsi yang menjadi asal setiap operasi kripto yang lain. Kitaran hayat penuh:
[ Telefon MENJANA kod rawak 8 aksara ] ↓ [ Telefon MENULIS kod + sessionId ke Firestore dalam dokumen pc_connections ] ↓ [ Telefon MEMAPARKAN kod kepada pengguna pada skrin ] ↓ [ Pengguna MEMBACA kod dan menaipnya dalam medan input Companion ] ↓ [ Companion MENCARI dalam Firestore sesi menunggu yang sepadan dengan kod ] ↓ [ Kedua-dua belah pihak MENERBITKAN kunci penyulitan daripada SHA-256(kod, sessionId) ] ↓ [ Kod KEKAL dalam memori kedua-dua belah pihak; tiada satu pun menulisnya ke Firestore ] ↓ [ Pemutusan / pemasangan semula MEMADAM kod di kedua-dua belah pihak ]
Setiap arahan yang dihantar melalui wayar disulitkan dengan AES-256-GCM, mod penyulitan yang disahkan.
SHA-256("WH_SECURE_{code}_{sessionId}_CMD_KEY").Random.secure() pada telefon atau RandomNumberGenerator di sebelah Companion.AESGCM:<nonce_b64>:<ciphertext_b64>:<tag_b64>Setiap arahan juga membawa tandatangan HMAC supaya telefon yang tidak mengetahui kod pasangan tidak boleh menyuntik arahan walaupun ia boleh menulis kepada Firestore.
SHA-256("WH_SECURE_{code}_{sessionId}_HMAC_KEY"). Asingkan daripada kunci penyulitan.HMAC-SHA256(hmacKey, commandId | ciphertext | sentAtMillis). Paip adalah aksara paip literal, bukan pembatas - tiga rentetan bercantum.| ugutan | Status | Nota |
|---|---|---|
| Pendengar pada rangkaian tempatan | Dikurangkan | Teks sifir AES-GCM adalah legap kepada pemerhati MITM. |
| Pendengar pada pelayan Firestore | Dikurangkan | Google melihat blob AESGCM:..., bukan arahan. |
| Penyerang yang boleh menulis kepada Firestore tetapi tidak tahu kodnya | Dikurangkan | Pengesahan HMAC gagal; Companion mencatat penolakan itu dan enggan menjalankannya. |
| Penyerang yang meretakkan / pancing kod pasangan | Baki | Mereka boleh mengeluarkan arahan seolah-olah mereka adalah pengguna. Mitigasi: putar kod dari menu dulang. |
| Main semula arahan yang dirakam | Baki | sentAtMillis terikat kepada HMAC; Companion belum menguatkuasakan tetingkap kesahan. Pembaikan akan datang akan menambah tempoh luput. |
| Penyerang tidak sahih mod LAN | Dikurangkan | Jabat tangan pasangan WebSocket mengesahkan kod; Gerbang HMAC + AES setiap arahan berikutnya. |
| Telefon terjejas dengan kunci gandingan yang dicuri | Baki | Tidak dapat dibezakan daripada "pengguna itu sendiri." Mitigasi: had kadar (10 cmd/min) + pengesahan arahan pemusnah memerlukan klik sebelah PC. |
| Arahan tersilap taip daripada apl telefon | Dikurangkan | Senarai benarkan di sebelah telefon menyekat awalan yang tidak dikenali; pemeriksaan awal di sebelah Companion menyekat arahan yang menyasarkan perkhidmatan yang tidak wujud. |
| Arahan pemusnah dijalankan secara tidak sengaja | Dikurangkan | Tetingkap di sebelah Companion memerlukan klik pengguna untuk meluluskan Remove-Item, Format-Volume, reg delete, shutdown /r dan seumpamanya. |
| Proses PowerShell yang digantung / melarikan diri | Dikurangkan | Setiap arahan ada had masa — 5 minit secara lalai, 45 untuk pembaikan panjang, 60 pada siling keras — dan seluruh pokok proses dimatikan. |
| Companion .exe mengganggu antara muat turun dan jalankan | Dikurangkan | SHA-256 diterbitkan dalam companion-version.json; pengguna boleh menyemaknya. Tandatangan Authenticode dirancang sebelum pelancaran. |
| Companion ranap kebocoran keadaan sensitif | Dikurangkan | Laporan ranap sistem + Tulis balik ralat Firestore membersihkan %USERPROFILE% / %MACHINE% / %USER%. |
| Peranti dicuri, kunci pasangan Pendaftaran berterusan | Dikurangkan | Kod gandingan yang berterusan disulitkan dengan Windows DPAPI (setiap akaun), jadi ia tidak boleh dibaca daripada cakera yang disalin atau akaun Windows yang berbeza. |
Perkara yang secara eksplisit tidak dilindungi oleh WindowsHelper:
[security].