วิธีที่ WindowsHelper ปกป้องพีซี + โทรศัพท์ของคุณ การเข้ารหัสที่เราใช้ และสิ่งที่เราไม่ได้ป้องกันอย่างชัดเจน อัปเดตล่าสุด: 2569-04-25
อีเมล support@windowshelper.app กับเรื่อง [security]. โปรดอย่าเปิดปัญหา GitHub สาธารณะ — ให้เวลาเราในการจัดส่งการแก้ไขก่อนที่จะเปิดเผย
รหัสการจับคู่คือ ความลับที่ใช้ร่วมกัน การดำเนินการเข้ารหัสลับอื่นๆ ทั้งหมดมาจาก วงจรชีวิตทั้งหมด:
[ 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 ]
pairingCode; เมื่อจับคู่แล้ว รหัสจะยังคงอยู่ในหน่วยความจำโดยเฉพาะทุกคำสั่งที่ส่งผ่านสายจะถูกเข้ารหัสด้วย AES-256-GCM ซึ่งเป็นโหมดการเข้ารหัสที่มีการรับรองความถูกต้อง
SHA-256("WH_SECURE_{code}_{sessionId}_CMD_KEY").Random.secure() ทางโทรศัพท์หรือ RandomNumberGenerator บนสหายAESGCM:<nonce_b64>:<ciphertext_b64>:<tag_b64>ทุกคำสั่งยังมีลายเซ็น HMAC ดังนั้นโทรศัพท์ที่ไม่ทราบรหัสการจับคู่จะไม่สามารถส่งคำสั่งได้แม้ว่าจะสามารถเขียนไปยัง Firestore ก็ตาม
SHA-256("WH_SECURE_{code}_{sessionId}_HMAC_KEY"). แยกออกจากคีย์เข้ารหัสHMAC-SHA256(hmacKey, commandId | ciphertext | sentAtMillis). ไปป์เป็นอักขระไปป์ตามตัวอักษร ไม่ใช่ตัวคั่น — สตริงที่ต่อกันสามสาย| ภัยคุกคาม | สถานะ | หมายเหตุ |
|---|---|---|
| ผู้ดักฟังบนเครือข่ายท้องถิ่น | บรรเทาลง | ข้อความไซเฟอร์ AES-GCM ไม่ชัดเจนสำหรับผู้สังเกตการณ์ MITM |
| ผู้ดักฟังบนเซิร์ฟเวอร์ Firestore | บรรเทาลง | Google sees AESGCM:... blobs, not commands. |
| ผู้โจมตีที่สามารถเขียนถึง Firestore แต่ไม่รู้รหัส | บรรเทาลง | การตรวจสอบ HMAC ล้มเหลว เพื่อนบันทึกการปฏิเสธ + ปฏิเสธการดำเนินการ |
| ผู้โจมตีที่ถอดรหัส / ฟิชชิงรหัสการจับคู่ | สารตกค้าง | พวกเขาสามารถออกคำสั่งได้เหมือนกับว่าเป็นผู้ใช้ การบรรเทาผลกระทบ: หมุนโค้ดจากเมนูถาด |
| เล่นซ้ำคำสั่งที่บันทึกไว้ | สารตกค้าง | sentAtMillis is HMAC-bound; companion doesn't yet enforce a freshness window. Future fix adds a TTL. |
| ผู้โจมตีที่ไม่ได้รับการรับรองความถูกต้องในโหมด LAN | บรรเทาลง | การจับมือคู่ WebSocket ตรวจสอบรหัส ประตู HMAC + AES ทุกคำสั่งที่ตามมา |
| โทรศัพท์ที่ถูกบุกรุกโดยมีคีย์การจับคู่ที่ถูกขโมย | สารตกค้าง | แยกไม่ออกจาก “ตัวผู้ใช้เอง” การบรรเทาผลกระทบ: ขีดจำกัดอัตรา (10 ซม./นาที) + การยืนยันคำสั่งทำลายล้างต้องคลิกจากฝั่งพีซี |
| คำสั่งที่พิมพ์ผิดจากแอปโทรศัพท์ | บรรเทาลง | รายการที่อนุญาตฝั่งโทรศัพท์จะบล็อกคำนำหน้าที่ไม่รู้จัก คำสั่งบล็อกก่อนการบินฝั่งสหายมุ่งเป้าไปที่บริการที่ไม่มีอยู่จริง |
| คำสั่งทำลายล้างทำงานโดยไม่ได้ตั้งใจ | บรรเทาลง | Companion-side modal requires user click to approve Remove-Item, Format-Volume, reg delete, shutdown /r, etc. |
| กระบวนการ PowerShell ที่ค้าง / รันอะเวย์ | บรรเทาลง | การหมดเวลาทันที 5 นาทีจะทำลายแผนผังกระบวนการทั้งหมด |
| Companion .exe ขัดขวางระหว่างการดาวน์โหลดและเรียกใช้ | บรรเทาลง | SHA-256 published in companion-version.json; users can verify. Authenticode signing landing soon. |
| Companion สถานะละเอียดอ่อนที่รั่วไหล | บรรเทาลง | รายงานข้อขัดข้อง + การเขียนกลับข้อผิดพลาดของ Firestore ได้รับการฆ่าเชื้อ %USERPROFILE% / %MACHINE% / %USER%. |
| อุปกรณ์ที่ถูกขโมย คีย์การจับคู่รีจิสทรียังคงอยู่ | สารตกค้าง | ผู้โจมตีที่มีการเข้าถึงดิสก์ + เข้าสู่ระบบสามารถอ่านโค้ดที่มีอยู่ได้ การแก้ไขในอนาคตจะล้อมด้วย Windows DPAPI |
สิ่งที่ WindowsHelper ทำอย่างชัดเจน ไม่ ป้องกัน:
[security].