วิธีที่ WindowsHelper ปกป้องพีซี + โทรศัพท์ของคุณ การเข้ารหัสที่เราใช้ และสิ่งที่เราไม่ได้ป้องกันอย่างชัดเจน อัปเดตล่าสุด: 2569-04-25
อีเมล support@windowshelper.app กับเรื่อง [security]. โปรดอย่าเปิดปัญหา GitHub สาธารณะ — ให้เวลาเราในการจัดส่งการแก้ไขก่อนที่จะเปิดเผย
รหัสการจับคู่คือความลับที่ใช้ร่วมกันซึ่งการดำเนินการเข้ารหัสอื่นๆ ทั้งหมดได้มาจากมัน วงจรชีวิตทั้งหมด:
[ โทรศัพท์ สร้างรหัสสุ่ม 8 อักขระ ] ↓ [ โทรศัพท์ เขียนรหัส + sessionId ลงใน Firestore ในเอกสาร pc_connections ] ↓ [ โทรศัพท์ แสดงรหัสให้ผู้ใช้เห็นบนหน้าจอ ] ↓ [ ผู้ใช้ อ่านรหัสแล้วพิมพ์ลงในช่องกรอกของ Companion ] ↓ [ Companion ค้นหาเซสชันที่รออยู่ซึ่งตรงกับรหัสใน Firestore ] ↓ [ ทั้งสองฝ่าย สร้างคีย์เข้ารหัสจาก SHA-256(รหัส, sessionId) ] ↓ [ รหัส คงอยู่ในหน่วยความจำของทั้งสองฝ่าย และไม่มีฝ่ายใดเขียนลง Firestore ] ↓ [ การตัดการเชื่อมต่อ / การจับคู่ใหม่ ลบรหัสออกจากทั้งสองฝ่าย ]
ทุกคำสั่งที่ส่งผ่านสายจะถูกเข้ารหัสด้วย AES-256-GCM ซึ่งเป็นโหมดการเข้ารหัสที่มีการรับรองความถูกต้อง
SHA-256("WH_SECURE_{code}_{sessionId}_CMD_KEY").Random.secure() ทางโทรศัพท์หรือ RandomNumberGenerator ฝั่ง CompanionAESGCM:<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 เห็นเป็นก้อนข้อมูล AESGCM:... ไม่ใช่คำสั่ง |
| ผู้โจมตีที่สามารถเขียนถึง Firestore แต่ไม่รู้รหัส | บรรเทาลง | การตรวจสอบ HMAC ล้มเหลว Companion จะบันทึกการปฏิเสธและไม่รันคำสั่งนั้น |
| ผู้โจมตีที่ถอดรหัส / ฟิชชิงรหัสการจับคู่ | สารตกค้าง | พวกเขาสามารถออกคำสั่งได้เหมือนกับว่าเป็นผู้ใช้ การบรรเทาผลกระทบ: หมุนโค้ดจากเมนูถาด |
| เล่นซ้ำคำสั่งที่บันทึกไว้ | สารตกค้าง | sentAtMillis ผูกกับ HMAC Companion ยังไม่บังคับช่วงเวลาความสดใหม่ การแก้ไขในอนาคตจะเพิ่มเวลาหมดอายุ |
| ผู้โจมตีที่ไม่ได้รับการรับรองความถูกต้องในโหมด LAN | บรรเทาลง | การจับมือคู่ WebSocket ตรวจสอบรหัส ประตู HMAC + AES ทุกคำสั่งที่ตามมา |
| โทรศัพท์ที่ถูกบุกรุกโดยมีคีย์การจับคู่ที่ถูกขโมย | สารตกค้าง | แยกไม่ออกจาก “ตัวผู้ใช้เอง” การบรรเทาผลกระทบ: ขีดจำกัดอัตรา (10 ซม./นาที) + การยืนยันคำสั่งทำลายล้างต้องคลิกจากฝั่งพีซี |
| คำสั่งที่พิมพ์ผิดจากแอปโทรศัพท์ | บรรเทาลง | รายการอนุญาตฝั่งโทรศัพท์จะบล็อกคำนำหน้าที่ไม่รู้จัก ส่วนการตรวจก่อนรันฝั่ง Companion จะบล็อกคำสั่งที่พุ่งไปยังบริการที่ไม่มีอยู่จริง |
| คำสั่งทำลายล้างทำงานโดยไม่ได้ตั้งใจ | บรรเทาลง | หน้าต่างฝั่ง Companion ต้องให้ผู้ใช้คลิกเพื่ออนุมัติ Remove-Item, Format-Volume, reg delete, shutdown /r และคำสั่งทำนองนี้ |
| กระบวนการ PowerShell ที่ค้าง / รันอะเวย์ | บรรเทาลง | ทุกคำสั่งมีขีดจำกัดเวลา — 5 นาทีเป็นค่าเริ่มต้น 45 สำหรับการแก้ไขที่ใช้เวลานาน 60 ที่เพดานตายตัว — และทั้งแผนผังโปรเซสจะถูกหยุด |
| Companion .exe ขัดขวางระหว่างการดาวน์โหลดและเรียกใช้ | บรรเทาลง | เผยแพร่ SHA-256 ไว้ใน companion-version.json ผู้ใช้ตรวจสอบได้ การลงนาม Authenticode มีกำหนดทำก่อนเปิดตัว |
| Companion สถานะละเอียดอ่อนที่รั่วไหล | บรรเทาลง | รายงานข้อขัดข้อง + การเขียนกลับข้อผิดพลาดของ Firestore ได้รับการฆ่าเชื้อ %USERPROFILE% / %MACHINE% / %USER%. |
| อุปกรณ์ที่ถูกขโมย คีย์การจับคู่รีจิสทรียังคงอยู่ | บรรเทาลง | รหัสการจับคู่ที่มีอยู่จะถูกเข้ารหัสด้วย Windows DPAPI (ต่อบัญชี) ดังนั้นจึงไม่สามารถอ่านได้จากดิสก์ที่คัดลอกหรือบัญชี Windows อื่น |
สิ่งที่ WindowsHelper ไม่ได้ป้องกันอย่างชัดเจน:
[security].