برداشتی از مقاله Pavel Yosifovich، از نویسندگان Windows Internals

وقتی آنتی‌ویروس یا EDR می‌خواهد فعالیت‌های مشکوک را تشخیص دهد، باید بداند داخل ویندوز چه اتفاقی می‌افتد؛ مثلاً چه برنامه‌ای اجرا شده یا چه فایلی تغییر کرده است. بخشی از این اطلاعات در کرنل، یعنی هستهٔ ویندوز قرار دارد.

محصولات امنیتی معمولاً برای دسترسی به این اطلاعات، درایور خود را داخل کرنل اجرا می‌کنند. مشکل اینجاست که خطای یک درایور می‌تواند کل ویندوز را متوقف کند و صفحهٔ آبی ایجاد شود؛ همان خطری که حادثهٔ CrowdStrike اهمیت آن را نشان داد.

این مقاله، درایور جدید مایکروسافت به نام WESP را در یک نسخهٔ آزمایشی ویندوز بررسی می‌کند. ایده این است که یک مؤلفهٔ مایکروسافتی، اطلاعات امنیتی را از کرنل جمع‌آوری کند و به برنامه‌های امنیتی بیرون از کرنل برساند. این کار می‌تواند احتمال خرابی ویندوز بر اثر خطای محصولات امنیتی را کاهش دهد.

نویسنده می‌پرسد: «این درایور چگونه اطلاعات را به برنامه‌ها می‌رساند؟» او بدون بررسی پیچیدهٔ کد، رجیستری، اشیای ویندوز و توابع استفاده‌شده در فایل‌ها را بررسی می‌کند. نتیجه این است که ارتباط از طریق Filter Communication Port انجام می‌شود؛ مثل یک کانال پیام‌رسانی میان هستهٔ ویندوز و برنامهٔ امنیتی.

درس اصلی مقاله این است: برای فهمیدن عملکرد یک درایور، همیشه لازم نیست از خواندن کد شروع کنیم؛ سرنخ‌های اطراف آن هم اطلاعات ارزشمندی دارند.


https://trainsec.net/library/windows-kernel/basic-reversing-of-a-windows-kernel-driver-how-wesp-talks-to-user-mode/

Comments

Be the first to add a comment