← بازگشت به WindowsHelper

مدل امنیتی

چگونه WindowsHelper از رایانه شخصی + تلفن شما محافظت می‌کند، از چه رمزنگاری استفاده می‌کنیم و صراحتاً از چه چیزی دفاع نمی‌کنیم. آخرین به روز رسانی: 2026-04-25.

گزارش یک آسیب پذیری

ایمیل support@windowshelper.app با موضوع [security]. لطفاً مسائل عمومی GitHub را باز نکنید - به ما پنجره ای بدهید تا قبل از فاش شدن، رفع مشکل کنیم.

چرخه عمر کد جفت شدن

کد جفت‌شدن راز مشترک است که هر عملیات رمزنگاری دیگری از آن مشتق می‌شود. چرخه کامل حیات:

[ گوشی یک کد تصادفی ۸ نویسه‌ای می‌سازد ]
   ↓
[ گوشی کد + sessionId را در سند pc_connections در Firestore می‌نویسد ]
   ↓
[ گوشی کد را روی صفحه به کاربر نشان می‌دهد ]
   ↓
[ کاربر کد را می‌خواند و در کادر ورودی Companion می‌نویسد ]
   ↓
[ Companion در Firestore دنبال نشست در انتظاری می‌گردد که با کد مطابقت دارد ]
   ↓
[ هر دو طرف کلیدهای رمزنگاری را از SHA-256(کد, sessionId) استخراج می‌کنند ]
   ↓
[ کد در حافظهٔ هر دو طرف می‌ماند؛ هیچ‌کدام آن را در Firestore نمی‌نویسند ]
   ↓
[ قطع اتصال / جفت‌سازی دوباره کد را از هر دو طرف پاک می‌کند ]

رمزنگاری

AES-256-GCM (محرمانه بودن فرمان + یکپارچگی)

هر فرمانی که از طریق سیم ارسال می شود با AES-256-GCM، یک حالت رمزگذاری احراز هویت شده، رمزگذاری می شود.

HMAC-SHA256 (اصالت فرمان)

هر فرمان همچنین دارای امضای HMAC است، بنابراین تلفنی که کد جفت شدن را نمی‌داند، حتی اگر بتواند در Firestore بنویسد، نمی‌تواند دستورات را تزریق کند.

مدل تهدید

تهدیدوضعیتیادداشت ها
استراق سمع در شبکه محلیکاهش یافته استمتن رمزی AES-GCM برای ناظران MITM مبهم است.
استراق سمع سرورهای Firestoreکاهش یافته استگوگل بلوک‌های AESGCM:... را می‌بیند، نه دستورها را.
مهاجمی که می تواند به Firestore بنویسد اما کد را نمی داندکاهش یافته استبررسی HMAC ناموفق است؛ Companion رد شدن را ثبت می‌کند و از اجرا خودداری می‌کند.
مهاجمی که کد جفت شدن را شکست / فیش کردباقیماندهآنها می توانند دستورات را طوری صادر کنند که گویی کاربر هستند. کاهش: کد را از منوی سینی بچرخانید.
بازپخش یک فرمان ضبط شدهباقیماندهsentAtMillis به HMAC گره خورده است؛ Companion هنوز پنجره اعتبار زمانی را اعمال نمی‌کند. رفع آینده یک مهلت انقضا اضافه می‌کند.
مهاجم احراز هویت نشده در حالت LANکاهش یافته استدست دادن جفت WebSocket کد را تأیید می کند. HMAC + AES هر دستور بعدی را گیت می کند.
تلفن به خطر افتاده با کلید جفت شدن به سرقت رفتهباقیماندهغیر قابل تشخیص از "خود کاربر". کاهش: محدودیت سرعت (10 سانتی متر در دقیقه) + تأیید فرمان مخرب نیاز به کلیک سمت رایانه شخصی دارد.
دستور اشتباه تایپ شده از برنامه تلفنکاهش یافته استفهرست مجاز سمت گوشی پیشوندهای ناشناخته را مسدود می‌کند؛ بررسی پیش از اجرا در سمت Companion فرمان‌هایی را که سرویس‌های ناموجود را هدف گرفته‌اند مسدود می‌کند.
فرمان مخرب به طور تصادفی اجرا می شودکاهش یافته استپنجره‌ای در سمت Companion برای تأیید Remove-Item، Format-Volume، reg delete، shutdown /r و مانند آن، کلیک کاربر را لازم دارد.
فرآیند پاورشل آویزان / فراری استکاهش یافته استهر فرمان محدودیت زمانی دارد — 5 دقیقه به‌طور پیش‌فرض، 45 دقیقه برای رفع طولانی، و 60 دقیقه در سقف سخت — و کل درخت فرایندها بسته می‌شود.
Companion دستکاری .exe بین دانلود و اجراکاهش یافته استSHA-256 در companion-version.json منتشر می‌شود؛ کاربران می‌توانند آن را بررسی کنند. امضای Authenticode پیش از عرضه برنامه‌ریزی شده است.
Companion حالت حساس به نشت خرابیکاهش یافته استگزارش‌های خرابی + بازنویسی خطاهای Firestore پاکسازی می‌شوند %USERPROFILE% / %MACHINE% / %USER%.
دستگاه دزدیده شده، کلید جفت شدن رجیستری ادامه داردکاهش یافته استکد جفت‌سازی پایدار با Windows DPAPI (هر حساب) رمزگذاری شده است، بنابراین نمی‌توان آن را از یک دیسک کپی شده یا یک حساب دیگر Windows خواند.

خارج از محدوده

مواردی که WindowsHelper به‌صراحت در برابر آن‌ها محافظت نمی‌کند:

افشای