آموزش Sysmon در ویندوز 11؛ بررسی فعالیت برنامهها و ارتباطات شبکهای

گاهی یک برنامه را روی ویندوز نصب میکنید، اما نمیدانید بعد از اجرا دقیقاً چه فعالیتهایی در سیستم انجام میدهد. ممکن است نرمافزاری بدون اطلاع شما پردازشهای دیگری را اجرا کند، به اینترنت متصل شود، فایلهایی بسازد یا تغییراتی در بخشهای مختلف ویندوز ایجاد کند. ابزارهای معمولی مانند Task Manager بخشی از این اطلاعات را نشان میدهند، اما برای بررسی دقیقتر فعالیت برنامهها به گزارشهای سیستمی جزئیتری نیاز دارید.
Sysmon یا System Monitor یکی از ابزارهای کاربردی مایکروسافت برای ثبت رویدادهای سیستم است. این ابزار میتواند اطلاعاتی درباره اجرای پردازشها، ارتباطات شبکهای، ایجاد فایلها، تغییرات رجیستری و برخی فعالیتهای دیگر ثبت کند. سپس میتوانید گزارشها را در Event Viewer ویندوز مشاهده و بررسی کنید.
نکته جالب اینکه Sysmon در نسخههای جدید ویندوز ۱۱ بهصورت یک قابلیت اختیاری داخلی ارائه شده است؛ بنابراین برای استفاده از نسخه داخلی آن، نیازی به دانلود جداگانه برنامه از وبسایت مایکروسافت ندارید.
در این آموزش، روش فعالسازی Sysmon، مشاهده گزارشها و تنظیم آن برای بررسی دقیقتر فعالیت برنامهها را مرحلهبهمرحله توضیح میدهیم.
Sysmon چیست و چه کاربردی دارد؟
Sysmon یک ابزار نظارتی از مجموعه Windows Sysinternals است که فعالیتهای مهم سیستمعامل را ثبت میکند. این ابزار در پسزمینه اجرا میشود و رویدادهای شناساییشده را در Windows Event Log ذخیره میکند.
برخلاف Task Manager که بیشتر برای مشاهده پردازشهای فعال، میزان مصرف منابع و مدیریت برنامهها طراحی شده است، Sysmon اطلاعات جزئیتری درباره اتفاقاتی که در سیستم رخ میدهند ارائه میدهد.
برای مثال، میتوانید متوجه شوید:
- چه برنامهای اجرا شده و چه پردازشی آن را راهاندازی کرده است.
- یک برنامه با چه دستور یا پارامترهایی اجرا شده است.
- کدام پردازش با یک آدرس IP یا پورت مشخص ارتباط برقرار کرده است.
- چه فایلهایی توسط پردازشها ایجاد یا بازنویسی شدهاند.
- چه تغییراتی در برخی کلیدها و مقادیر رجیستری رخ داده است.
- کدام پردازشها به حافظه پردازشهای دیگر دسترسی پیدا کردهاند.
این اطلاعات بهخصوص هنگام بررسی رفتار نرمافزارهای ناشناس، عیبیابی مشکلات سیستمی و شناسایی فعالیتهای مشکوک کاربرد دارند.
آیا Sysmon ویروسها را شناسایی یا مسدود میکند؟
خیر. Sysmon یک آنتیویروس یا ابزار حذف بدافزار نیست. وظیفه آن ثبت رویدادها و فراهم کردن اطلاعات لازم برای بررسی رفتار برنامهها است.
این ابزار بهتنهایی فعالیت مشکوک را تحلیل نمیکند، هشدار امنیتی هوشمند نمیدهد و جلوی اجرای برنامههای خطرناک را نمیگیرد. برای تحلیل دقیق گزارشها باید اطلاعات ثبتشده را بررسی کنید یا از ابزارهای امنیتی و سامانههای تحلیل لاگ کمک بگیرید.
چگونه Sysmon را در ویندوز ۱۱ فعال کنیم؟
در نسخههای جدید ویندوز ۱۱، Sysmon بهعنوان یک قابلیت اختیاری داخلی در دسترس است؛ اما بهصورت پیشفرض فعال نیست. برای استفاده از آن باید ابتدا قابلیت را نصب و سپس سرویس Sysmon را راهاندازی کنید.
پیشنیاز: برای انجام مراحل زیر به حساب کاربری دارای دسترسی Administrator نیاز دارید.
مرحله اول: بررسی نصب نبودن نسخه مستقل Sysmon
پیش از فعالسازی نسخه داخلی، باید مطمئن شوید نسخه مستقل Sysmon از قبل روی سیستم نصب نشده باشد؛ زیرا نسخه داخلی و نسخه مستقل آن از اجرای همزمان روی یک دستگاه پشتیبانی نمیکنند.
۱. روی منوی Start کلیک کنید.
۲. عبارت PowerShell را جستوجو کنید.
۳. روی Windows PowerShell یا Terminal راستکلیک کنید و گزینه Run as administrator را انتخاب کنید.
۴. دستور زیر را وارد کنید:
Get-Service sysmon*
اگر هیچ نتیجهای نمایش داده نشد، سرویس مستقلی با این نام پیدا نشده است و میتوانید به مرحله بعد بروید.
اگر سرویسی با نام Sysmon یا Sysmon64 مشاهده کردید، پیش از فعالسازی نسخه داخلی باید وضعیت نصب قبلی را بررسی و نسخه مستقل را حذف کنید. حذف نسخه قبلی را بدون اطمینان از نوع نصب انجام ندهید.
مرحله دوم: نصب قابلیت داخلی Sysmon
پس از اطمینان از نبود نسخه مستقل، در همان پنجره PowerShell که با دسترسی Administrator باز کردهاید، دستور زیر را اجرا کنید:
Enable-WindowsOptionalFeature -Online -FeatureName Sysmon
این دستور قابلیت اختیاری Sysmon را در ویندوز فعال میکند.
پس از پایان عملیات، اگر ویندوز برای تکمیل نصب درخواست راهاندازی مجدد کرد، مطابق پیام سیستم عمل کنید.
مرحله سوم: راهاندازی Sysmon
فعالسازی قابلیت اختیاری بهتنهایی برای شروع ثبت رویدادها کافی نیست. حالا باید سرویس Sysmon را با دستور زیر نصب و راهاندازی کنید:
sysmon -i
با اجرای این دستور، Sysmon با تنظیمات پیشفرض راهاندازی میشود. در صورت نمایش توافقنامه استفاده، آن را تأیید کنید.
پس از تکمیل عملیات، ابزار آماده ثبت رویدادهای پشتیبانیشده در ویندوز خواهد بود.
نکته: نصب نسخه داخلی Sysmon با تنظیمات پیشفرض به معنی فعال شدن تمام انواع نظارت نیست. برای مثال، ثبت رویدادهای ارتباط شبکهای به تنظیمات جداگانه نیاز دارد که در ادامه توضیح میدهیم.
چگونه گزارش فعالیت برنامهها را در ویندوز مشاهده کنیم؟
پس از فعالسازی Sysmon، گزارشها در بخش Windows Event Log ذخیره میشوند. برای مشاهده آنها باید از ابزار Event Viewer استفاده کنید.
۱. کلیدهای Win + S را فشار دهید.
۲. عبارت Event Viewer را جستوجو و ابزار را باز کنید.
۳. از ستون سمت چپ، مسیر زیر را دنبال کنید:
Applications and Services Logs
Microsoft
Windows
Sysmon
Operational
۴. روی بخش Operational کلیک کنید.
۵. در قسمت میانی پنجره، فهرست رویدادهای ثبتشده را مشاهده خواهید کرد.
هر رویداد اطلاعاتی مانند زمان وقوع، شناسه رویداد و جزئیات مربوط به پردازش یا فعالیت ثبتشده را در اختیار شما قرار میدهد.
برای مشاهده جزئیات، روی یکی از رویدادها دوبار کلیک کنید. در پنجره بازشده میتوانید اطلاعات عمومی رویداد و بخش Details را بررسی کنید.
مهمترین شناسههای رویداد در Sysmon
هر فعالیت ثبتشده در Sysmon یک شناسه یا Event ID دارد. شناخت این شناسهها کمک میکند سریعتر رویداد موردنظر را پیدا کنید.
| شناسه رویداد | نام | کاربرد |
|---|---|---|
| 1 | Process Create | ثبت اجرای یک پردازش جدید |
| 3 | Network Connect | ثبت ارتباط شبکهای یک پردازش |
| 5 | Process Terminate | ثبت پایان فعالیت پردازش |
| 7 | Image Load | ثبت بارگذاری فایل اجرایی یا DLL |
| 10 | Process Access | ثبت دسترسی یک پردازش به پردازش دیگر |
| 11 | File Create | ثبت ایجاد یا بازنویسی فایل |
| 12 تا 14 | Registry Event | ثبت تغییرات مختلف رجیستری |
| 22 | DNS Query | ثبت درخواستهای DNS |
| 23 و 26 | File Delete | ثبت حذف فایل |
توجه داشته باشید که ثبت همه این رویدادها به تنظیمات Sysmon بستگی دارد. بعضی از آنها در پیکربندی پیشفرض فعال نیستند.
چگونه بفهمیم یک برنامه در ویندوز چه پردازشهایی اجرا میکند؟
یکی از کاربردهای مهم Sysmon بررسی زنجیره اجرای برنامهها است. با استفاده از Event ID 1 میتوانید بفهمید چه پردازشی اجرا شده و کدام برنامه آن را راهاندازی کرده است.
برای انجام این کار:
۱. وارد Event Viewer شوید.
۲. مسیر Sysmon > Operational را باز کنید.
۳. در فهرست رویدادها به دنبال رویدادهایی با Event ID برابر با 1 بگردید.
۴. روی یکی از رویدادها دوبار کلیک کنید.
۵. در بخش Details یا تب General، اطلاعات مربوط به پردازش را بررسی کنید.
در این گزارش معمولاً اطلاعات زیر اهمیت بیشتری دارند:
- Image: مسیر فایل اجرایی برنامهای که اجرا شده است.
- CommandLine: دستور یا پارامترهای استفادهشده هنگام اجرای برنامه.
- ParentImage: مسیر برنامهای که پردازش موردنظر را راهاندازی کرده است.
- ParentCommandLine: دستور اجرای پردازش والد.
- User: حساب کاربریای که پردازش با آن اجرا شده است.
- Hashes: هش فایل اجرایی برای بررسی و مقایسه هویت فایل.
برای مثال، اگر پردازشی با نام ناشناس اجرا شده باشد، میتوانید مسیر فایل آن و برنامهای را که باعث اجرای آن شده است بررسی کنید.
این اطلاعات به شناسایی اجرای غیرمنتظره برنامهها کمک میکنند؛ اما صرف مشاهده نام ناشناس یا مسیر غیرمعمول به معنی آلوده بودن سیستم نیست. بعضی نرمافزارهای معتبر نیز پردازشهای کمکی و پسزمینه ایجاد میکنند.
چگونه ارتباط اینترنتی برنامهها را با Sysmon بررسی کنیم؟
اگر میخواهید بدانید یک برنامه با چه آدرسهایی ارتباط برقرار میکند، باید رویداد Network Connect را فعال کنید.
این رویداد با شناسه 3 مشخص میشود و اطلاعاتی مانند آدرس IP مبدأ و مقصد، پورتها و پردازش مرتبط با ارتباط را ثبت میکند.
اما یک نکته مهم وجود دارد: ثبت ارتباطات شبکهای در پیکربندی پیشفرض Sysmon غیرفعال است. بنابراین اگر Event ID 3 را در گزارشها نمیبینید، لزوماً به معنی نبود ارتباط اینترنتی برنامهها نیست.
مرحله اول: ساخت فایل پیکربندی Sysmon
ابتدا باید یک فایل XML برای تنظیم رویدادهای موردنظر بسازید.
۱. File Explorer را باز کنید.
۲. وارد درایو C شوید.
۳. یک پوشه جدید با نام Sysmon بسازید.
۴. برنامه Notepad را باز کنید.
۵. کد زیر را در آن قرار دهید:
<Sysmon schemaversion="4.90">
<HashAlgorithms>SHA256</HashAlgorithms>
<EventFiltering>
<ProcessCreate onmatch="exclude" />
<NetworkConnect onmatch="exclude" />
<FileCreate onmatch="exclude" />
</EventFiltering>
</Sysmon>
این پیکربندی سه نوع رویداد را برای ثبت فعال میکند:
- اجرای پردازشها
- ارتباطات شبکهای
- ایجاد یا بازنویسی فایلها
در این نمونه، استفاده از شرط exclude بدون قانون فرعی باعث میشود تمام رویدادهای آن دسته ثبت شوند. به همین دلیل، ممکن است حجم گزارشها بهسرعت افزایش پیدا کند.
۶. از منوی File گزینه Save As را انتخاب کنید.
۷. مسیر ذخیره را به شکل زیر قرار دهید:
C:\Sysmon\sysmonconfig.xml
۸. در قسمت Save as type گزینه All files را انتخاب کنید تا فایل با پسوند واقعی XML ذخیره شود، نه TXT.
نکته: مقدار Schema Version باید با نسخه پشتیبانیشده Sysmon سازگار باشد. اگر هنگام اعمال پیکربندی خطای مربوط به Schema دریافت کردید، نسخه و ساختار پشتیبانیشده را با دستور sysmon -s بررسی کنید.
مرحله دوم: اعمال پیکربندی جدید
پس از ذخیره فایل، دوباره PowerShell را با دسترسی Administrator باز کنید و دستور زیر را اجرا کنید:
sysmon -c C:\Sysmon\sysmonconfig.xml
با اجرای این دستور، تنظیمات جدید روی Sysmon اعمال میشوند. برای اعمال پیکربندی جدید معمولاً نیازی به راهاندازی مجدد ویندوز نیست.
مرحله سوم: مشاهده ارتباطات شبکهای برنامهها
حالا به Event Viewer برگردید و مسیر زیر را باز کنید:
Applications and Services Logs
Microsoft
Windows
Sysmon
Operational
در فهرست رویدادها به دنبال Event ID 3 بگردید.
با باز کردن هر رویداد میتوانید اطلاعاتی مانند موارد زیر را مشاهده کنید:
- Image: مسیر فایل اجرایی برنامه
- ProcessId: شناسه پردازش
- DestinationIp: آدرس IP مقصد
- DestinationPort: پورت مقصد
- Protocol: پروتکل ارتباطی
- SourceIp: آدرس IP مبدأ
- SourcePort: پورت مبدأ
برای مثال، اگر مرورگر شما با یک سرور ارتباط برقرار کند، اطلاعات پردازش مرورگر و مقصد ارتباط در گزارش ثبت میشود.
با مقایسه این اطلاعات میتوانید متوجه شوید کدام برنامهها ارتباطات شبکهای برقرار میکنند و آیا مقصدهای آنها با عملکرد مورد انتظارشان مطابقت دارد یا خیر.
البته Sysmon محتوای رمزگذاریشده ارتباطات HTTPS را نمایش نمیدهد. این ابزار برای ثبت اطلاعات مربوط به ارتباطات شبکهای طراحی شده است، نه مشاهده متن پیامها یا محتوای صفحات وب.
چگونه تغییرات فایلها و رجیستری را بررسی کنیم؟
Sysmon علاوه بر اجرای برنامهها و ارتباطات شبکهای، امکان ثبت برخی تغییرات فایلها و رجیستری را نیز فراهم میکند.
این قابلیت هنگام بررسی نرمافزارهای ناشناس یا پیدا کردن تغییرات غیرمنتظره سیستم کاربرد دارد.
بررسی فایلهای ایجادشده
برای مشاهده فایلهایی که برنامهها ایجاد یا بازنویسی کردهاند، باید رویداد File Create با شناسه 11 را بررسی کنید.
در Event Viewer به دنبال Event ID 11 بگردید. اطلاعات مهم این رویداد شامل موارد زیر است:
- Image: پردازشی که فایل را ایجاد کرده است.
- TargetFilename: مسیر و نام فایل ایجادشده.
- ProcessId: شناسه پردازش مرتبط.
برای مثال، اگر یک برنامه ناشناس در پوشههای موقت یا مسیرهای غیرمنتظره فایل اجرایی ایجاد کند، میتوانید آن را در این گزارش مشاهده کنید.
بررسی تغییرات رجیستری
برای مشاهده تغییرات رجیستری، رویدادهای 12، 13 و 14 اهمیت دارند:
- Event ID 12: ایجاد یا حذف کلیدها و مقادیر رجیستری
- Event ID 13: تغییر مقدار یک ورودی رجیستری
- Event ID 14: تغییر نام کلید یا مقدار رجیستری
این گزارشها بهخصوص هنگام بررسی برنامههایی مفید هستند که ممکن است تنظیمات راهاندازی خودکار ویندوز را تغییر دهند.
بااینحال، تمام تغییرات رجیستری نشانه رفتار مشکوک نیستند. بسیاری از برنامههای معتبر برای ذخیره تنظیمات یا راهاندازی خودکار از رجیستری استفاده میکنند.
چطور رویدادهای Sysmon را سریعتر فیلتر کنیم؟
اگر تعداد رویدادهای ثبتشده زیاد باشد، پیدا کردن اطلاعات مربوط به یک برنامه خاص زمانبر میشود. Event Viewer امکان فیلتر کردن گزارشها بر اساس شناسه رویداد را فراهم میکند.
برای این کار:
۱. وارد Event Viewer شوید.
۲. مسیر Sysmon > Operational را باز کنید.
۳. از پنل سمت راست گزینه Filter Current Log را انتخاب کنید.
۴. در قسمت Event IDs، شناسه موردنظر را وارد کنید.
برای مثال:
| هدف بررسی | شناسه |
|---|---|
| اجرای برنامهها | 1 |
| ارتباطات شبکهای | 3 |
| ایجاد فایل | 11 |
| تغییرات رجیستری | 12,13,14 |
| درخواستهای DNS | 22 |
۵. روی OK کلیک کنید تا فقط رویدادهای مطابق فیلتر نمایش داده شوند.
اگر میخواهید فعالیت یک برنامه مشخص را بررسی کنید، ابتدا رویدادهای مربوط به اجرای آن را پیدا کنید و مسیر فایل اجرایی یا Process ID را یادداشت کنید. سپس سایر رویدادها را با توجه به همین اطلاعات بررسی کنید.
این روش کمک میکند ارتباط میان اجرای یک برنامه و فعالیتهای بعدی آن را بهتر تشخیص دهید.
آیا فعالسازی Sysmon باعث کند شدن ویندوز میشود؟
Sysmon برای اجرا در پسزمینه طراحی شده است و معمولاً با تنظیمات متعادل، فشار قابلتوجهی به سیستم وارد نمیکند. بااینحال، میزان منابع مصرفی به نوع رویدادهای فعال، تعداد پردازشها و حجم فعالیت سیستم بستگی دارد.
برای مثال، فعال کردن ثبت تمام ارتباطات شبکهای یا بارگذاری همه DLLها در سیستمهای شلوغ میتواند حجم زیادی از گزارش تولید کند.
برای جلوگیری از افزایش غیرضروری گزارشها بهتر است:
- فقط رویدادهایی را فعال کنید که واقعاً به آنها نیاز دارید.
- از ثبت بیهدف تمام جزئیات سیستم خودداری کنید.
- برای برنامههای پرتکرار و شناختهشده، در صورت نیاز از قوانین فیلتر محدود و دقیق استفاده کنید.
- گزارشها را بهصورت دورهای بررسی کنید.
- پیش از استفاده از پیکربندیهای پیچیده، آنها را آزمایش کنید.
هدف از پیکربندی Sysmon جمعآوری بیشترین حجم اطلاعات نیست؛ بلکه باید اطلاعاتی را ثبت کنید که برای بررسی رفتار برنامهها ارزش دارند.
چگونه Sysmon را غیرفعال یا حذف کنیم؟
اگر دیگر به ثبت رویدادها نیاز ندارید، میتوانید سرویس Sysmon را حذف کنید.
برای این کار PowerShell را با دسترسی Administrator باز کنید و دستور زیر را اجرا کنید:
sysmon -u
این دستور سرویس و درایور Sysmon را حذف میکند.
اگر قصد دارید فقط نسخه داخلی را از قابلیتهای اختیاری ویندوز حذف کنید، پس از توقف و حذف سرویس میتوانید دستور زیر را اجرا کنید:
Disable-WindowsOptionalFeature -Online -FeatureName Sysmon
توجه داشته باشید که حذف Sysmon به معنی حذف خودکار گزارشهای قبلی از Event Viewer نیست. همچنین اگر نسخه مستقل Sysmon را نصب کردهاید، روش حذف آن ممکن است با نسخه داخلی تفاوت داشته باشد.
جمعبندی؛ آیا استفاده از Sysmon در ویندوز ۱۱ ارزش دارد؟
Sysmon یکی از ابزارهای مفید ویندوز برای بررسی دقیقتر فعالیت برنامهها و ثبت رویدادهای سیستمی است. با استفاده از آن میتوانید اطلاعاتی درباره اجرای پردازشها، ارتباطات شبکهای، ایجاد فایلها و تغییرات رجیستری به دست آورید.
مزیت مهم این ابزار در نسخههای جدید ویندوز ۱۱، ارائه نسخه داخلی و اختیاری آن است که راهاندازی را سادهتر میکند. بااینحال، برای استفاده مؤثر از Sysmon باید تفاوت انواع رویدادها و روش پیکربندی آن را بشناسید.
اگر فقط میخواهید بدانید چه برنامههایی اجرا شدهاند، بررسی رویدادهای Process Create نقطه شروع مناسبی است. اما اگر قصد دارید ارتباطات اینترنتی نرمافزارها را نیز بررسی کنید، باید Network Connect را در فایل پیکربندی فعال کنید.
در نهایت به یاد داشته باشید که Sysmon ابزار ثبت اطلاعات است، نه آنتیویروس یا سامانه تشخیص خودکار بدافزار. ارزش واقعی آن زمانی مشخص میشود که گزارشهای ثبتشده را با دقت و در کنار سایر ابزارهای امنیتی بررسی کنید.