من روندی دارم که مانند هر فرآیند دیگر در حافظه بار می آورد. این شامل یک کلید خاص است. هدف ما خواندن این کلید در حافظه است … یا در حالی که از طریق cpu در سراسر گذرگاه داده قرار دارد. نتیجه این است که راه حل ما باید مخفیانه باشد که توسط هسته ردیابی نشده است ، بنابراین هیچ DMA ، درایور یا هر چیزی که تماس یا روال سیستم سنتی را فراخوانی کند ، نیست. هر چیزی که باعث افزایش هسته می شود توسط هسته قابل تشخیص است.
فرض كنید كه سیستم مورد نظر توسط یك ریشه آلوده شده است. فرض کنید rootkit از همه موارد مشخص شده در اینجا و روالهای ضد رفع اشکال ناشناخته تر استفاده می کند: https://github.com/LordNoteworthy/al-khaser
بنابراین همه روالهای سنتی ویندوز ، (مانند ObRegisterCallbacks) قلاب شده اند.
آیا پزشکی قانونی دیجیتالی برای این مورد استفاده وجود دارد؟ تا آنجا که می توانم وسایل معمول جمع آوری حافظه بی ثبات را برای اهداف پزشکی قانونی تشخیص دهم (خراش دادن / دامپینگ).
نکته 1: یک شماره "جادویی" وجود دارد که با بایت های اطراف کلید ارتباط دارد ، بنابراین ما نمی خواهیم. نگران نباشید که از انبوه داده ها غرق شوید ، می توانیم آن بایت های جادویی را فیلتر کنیم.
Note2: ما به طور تئوری می توانیم این را پیکربندی کنیم تا از حافظه غیر فرار برای RAM استفاده کنیم … سپس کامپیوتر را خاموش کنیم در حالی که کلید در آن است. آنجا. با این وجود ، کلید تا زمانی که روند باز باقی بماند خوب است. ژنرال تصادفی است ، کلید قابل شکستن نیست. این همچنین تا حدودی سؤال حمله کانال جانبی است که گمان می کنم. خواندن حافظه پنهان من فرض می کنم از آنجا که معمولاً در cpu یا مادربرد تعبیه شده است ، از این مسئله غافل است. اما هنوز موانع اضافی برای جلوگیری از تشخیص ماسهبازی وجود دارد. من ترجیح می دهم از راه حلی برای جلوگیری از مجازی سازی استفاده کنم.
Note4: من در ابتدا در بخش EE از این خواستم در مورد استفاده از نوعی از آنالایزر منطق برای خواندن کلید هنگام گذر از اتوبوس PCI-e ، اما این باعث اختلال در برخی از موارد داده های بعدی (مقاومت و خواص امپدانس مختل می شوند).