جمعه, ۱۴ اردیبهشت, ۱۴۰۳ / 3 May, 2024
مجله ویستا

چک لیست کشف نفوذ در سیستم عامل Windows NT


چک لیست کشف نفوذ در سیستم عامل Windows NT
این مقاله به صورت کلی گام هایی را بیان می کند که برای تشخیص به خطر افتادن سیستم عامل Windows NT مورد استفاده قرار می گیرند. مدیران سیستم می توانند از این اطلاعات بهره گرفته و نفوذ های احتمالی به سیستم هایی که از این سیستم عامل بهره می گیرند را ردیابی کنند. مطالعه همه بخش های این مقاله برای مدیرانی که مایل به شناسایی نقاط ضعف سیستم های خود هستند مفید است.
علاوه بر استفاده از نکات مطرح شده در این مقاله بهره گیری از نسخه های به روز رسان و وصله های ارائه شده توسط تولید کنندگان نرم افزار هم باید به صورت مرتب و جدی انجام شود.
الف. ردیابی علائمی که خطرات احتمالی سیستم را نشان می دهند:
۱. Log فایل های ایجاد شده بر روی سیستم را بررسی کنید تا اتصالات به دستگاه از نقاط غیرمعمول و یا فعالیت های غیرمعمول شناسایی شوند. می توان با استفاده از Event Viewer ورود های عجیب به سیستم(Logon)، نقص سرویس ها و یا روشن و خاموش شدن های غیر عادی را بررسی کرد. در صورتی که حفاظ[۱]، خادم وب و یا مسیریاب سیستم فعالیت های جاری خود را بر روی دستگاهی دیگر ثبت می کنند، باید log های ذخیره شده بر روی آن دستگاه ها هم بررسی شود. به خاطر داشته باشید تنها در صورتی این اطلاعات مفید می باشد که فایل های ثبت فعالیت ها فقط قابلیت اضافه کردن داشته باشند. بسیاری از نفوذکنندگان به سیستم ها با ویرایش فایل های log ردپای خود را از روی سیستم پاک می کنند.
۲- کاربران و گروه های عجیب را بررسی کنید. برای این کار می توانید از ابزار User Manager و یا دستورات ‘net user’، ‘net group’ و ‘net localgroup’ بهره بگیرید. اطمینان حاصل کنید شناسه GUEST که به صورت پیش فرض ساخته می شود در صورتی که سیستم به آن نیاز ندارد، غیرفعال باشد.
۳- همه گروه ها را چک کنید که کاربران نامعتبر عضو آنها نباشند. بعضی از گروه های پیش فرضNT اختیارات خاصی را به اعضای خود می دهند. اعضای گروه Administrators می توانند بر روی سیستم محلی هر گونه فعالیتی را انجام دهند. کاربران Backup operator می توانند همه فایل های موجود بر روی سیستم را بخوانند و کاربران PowerUser امکان به اشتراک گذاشتن منابع سیستم را دارند.
۴- حقوق کاربران را بررسی کنید و امکان انجام فعالیت های غیرمنطقی را از آنها بگیرد. برای این کار می توان از Administrative Tools آیکون Local Security Settings را انتخاب کنید. حقوق مختلفی که می توان به کاربران و گروه های مختلف داد در بخش User Rights Assignment قابل مشاهده می باشد. ۲۷ حق مختلف وجود دارد که قابل تخصیص دادن به کاربران و گروه های کاربری می باشد. پیکربندی پیش فرض حقوق کاربران معمولا امنیت مناسبی را داراست.
۵- از عدم اجرای برنامه های غیر مجاز اطمینان حاصل کنید. یک نفوذگر می تواند با استفاده از روش های متنوعی یک برنامه درپشتی را اجرا کند. بنابراین از موارد زیر مطمئن شوید:
▪ پوشه های Startup موجود بر روی دستگاه را بررسی کنید. دقت کنید که دو پوشه Startup وجود دارد که یکی مربوط به کاربر محلی است و دیگری به همه کاربران ارتباط دارد. در زمان ورود یک کاربر به سیستم همه برنامه های کاربردی موجود در “All Users” و پوشه Startup کاربران اجرا می شوند. بازرسی دقیق همه پوشه های Startup برای کشف برنامه های مشکوک ضروری است.
▪ رجیستری سیستم را چک کنید. لیست زیر نقاطی که باید در رجیستری مورد بررسی قرار گیرند را نشان می دهد:
KEY_LOCAL_MACHINESystemCurrentControlSetControlSession ManagerKnownDLLs
HKEY_LOCAL_MACHINESystemControlSet۰۰۱ControlSession ManagerKnownDLLs
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrent VersionRun
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrent VersionRunOnce
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrent VersionRunOnceEx
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServices
HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWindows ("run=" line)
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrent VersionRun
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrent VersionRunOnce
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrent VersionRunOnceEx
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunServices
HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionWindows ("run=" value)
▪ سیستم را برای شناسایی سرویس های نامعتبر مورد بازرسی قرار دهید. برخی از برنامه های درپشتی خود را به عنوان سرویس بر روی دستگاه نصب کرده و در زمان روشن شدن دستگاه فعال می شوند. در چنین شرایطی سرویس می تواند با استفاده از حق “Logon as Service” به عنوان هر یک از کاربران سیستم اجرا شود. سرویس هایی که به صورت خودکار آغاز می شوند را بررسی کنید و از ضرورت وجود آنها اطمینان حاصل کنید. علاوه بر این مطمئن شوید که فایل اجرایی سرویس اسب تروا و یا برنامه در پشتی نیست.
دستورات زیر که می توان آنها را در یک فایل دسته ای قرار داد برای جمع آوری اطلاعات در مورد سرویس هایی که در حال اجرا هستند مفید هستند. خروجی این برنامه شامل کلید سرویس‌ها، مقدار پارامتر Startup و فایل اجرایی سرویس می باشد. این برنامه از دستور REG.EXE استفاده می کند که بخشی از NT Resource Kit می باشد. اجرای این برنامه باعث تغییر محتویات رجیستری و یا فایل ها نمی شود.
@echo off
REM The &#۰۳۹;delims&#۰۳۹; parameter of PULLINFO۱ and PULLINFO۲ should be a single TAB.
for /f "tokens=۱ delims=[]" %%I in (&#۰۳۹;reg query HKLMSYSTEMCurrentControlSetServices&#۰۳۹;) do
call :PULLINFO۱ %%I
set START_TYPE=
goto :EOF
:PULLINFO۱
for /f "tokens=۳ delims= " %%I in (&#۰۳۹;reg query
HKLMSYSTEMCurrentControlSetServices%۱ ^| findstr "Start" &#۰۳۹;) do call :PULLINFO۲ %۱ %%I
goto :EOF
:PULLINFO۲
for /f "tokens=۳,۴ delims= " %%I in (&#۰۳۹;reg query HKLMSYSTEMCurrentControlSetServices%۱
^| findstr "ImagePath" &#۰۳۹;) do call :SHOWINFO %۱ %۲ %%I %%J
goto :EOF
:SHOWINFO
if /i {%۲}=={۰} set START_TYPE=Boot
if /i {%۲}=={۱} set START_TYPE=System
if /i {%۲}=={۲} set START_TYPE=Automatic
if /i {%۲}=={۳} set START_TYPE=Disabled
if not "%۴" == "" (echo %۱ -%START_TYPE%- %۳%۴) else (echo %۱ -%START_TYPE%- %۳)
goto :EOF
۶- کد‌های دودویی موجود بر روی سیستم خود را چک کنید که تغییر نکرده‌باشند. برای این کار فایل‌های موجود بر روی سیستم را با نسخه‌هایی از فایل‌ها که به اصالت آنها اطمینان دارید و در محل‌های امن ذخیره شده‌اند (به عنوان مثال رسانه‌هایی که فایل‌های اولیه برای نصب نرم‌افزار بر روی آنها قرار گرفته‌اند) مقایسه کنید. در استفاده از نسخه‌های پشتیبان‌ دقت کنید، ممکن است حاوی اسب‌های تروا باشند.
اسب‌های تروا فایل‌های با اندازه و برچسب‌های زمانی مشابه نسخه‌های اصلی ایجاد می‌کنند. بنابراین تنها مقایسه اندازه و برچسب‌های زمانی فایل‌ برای دریافتن اصالت آن‌ها کافی نیست. به جای این کار باید از MD۵، Tripwire و سایر ابزارهای رمزنگاری Checksum فایل‌ها برای آشکارسازی اسب‌های تروا استفاده کنید. حتما از اصالت این ابزارها اطمینان حاصل کنید و مطمئن شوید که با امنیت نگه‌داری شده و امکان تحریف آنها توسط نفوذگران وجود نداشته است. می‌توانید برای امضای خروجی‌های تولید شده توسط MD۵ و Tripwire از نرم‌افزارهایی مانند PGP‌ بهره بگیرید تا در ارجاعات بعدی با اطمینان از این گزارشات استفاده کنید.
برنامه‌های ضدویروس هم می‌توانند برای مقابله با ویروس‌های کامپیوتری، اسب‌های تروا و درهای پشتی به کار گرفته شوند. به خاطر داشته باشید برنامه‌های مخرب همواره تولید می‌شوند، بنابراین درصورت استفاده از این برنامه‌ها از به‌روز بودن آنها مطمئن شوید.۷- پیکربندی‌های سیستم محلی و شبکه خود را بررسی کرده، اطلاعات غیرمجاز وارد شده را شناسایی نمایید. مداخل غیرمجاز پیکربندی‌ بخش‌هایی مانند WINS، DNS و IP forwarding را بررسی نمایید. برای این کار می‌توانید از ابزار Network Properties و یا دستور "ipconfig /all" بهره بگیرید.
اطمینان حاصل کنید که تنها سرویس‌های شبکه‌ای که مورد نیاز است در حال اجرا بر روی سیستم هستند.
با استفاده از دستور "netstat -an" پورت‌های نامعمولی را که برای ارتباط از سایر میزبان‌ها در حال گوش دادن هستند را چک کنید. دستورات زیر که به صورت یک فایل دسته‌ای قابل اجرا می‌باشند رفتار همه پورت‌هایی که در حالت گوش دادن هستند را تحلیل کرده و سپس می‌تواند سرویس‌هایی که در حال اجرا بر روی آن پورت‌ها هستند را اعلام می‌نماید. برای استفاده از این فایل شماره پورت‌های شناخته شده را از آدرس زیر دریافت کنید:
http://www.iana.org/assignments/port-numbers
سایر شماره پورت‌هایی که توسط محصولات مایکروسافت مورد استفاده قرار می‌‌گیرند را می‌توان از مقالات پایگاه دانش مایکروسافت دریافت نمود. به این ترتیب می‌توان فایلی با فرمت فوق ساخت که سرویس‌های مختلف در حال اجرا بر روی سیستم‌های NT‌ را لیست می‌کند.
Windows NT, Terminal Server, and Microsoft Exchange Services Use TCP/IP Ports http://support.microsoft.com/support/kb/articles/q۱۵۰/۵/۴۳.asp
SMS: Network Ports Used by Remote Helpdesk Functions http://support.microsoft.com/support/kb/articles/q۱۶۷/۱/۲۸.asp
XGEN: TCP Ports and Microsoft Exchange: In-depth Discussion http://support.microsoft.com/support/kb/articles/q۱۷۶/۴/۶۶.asp
How to Configure a Firewall for Windows NT and Trusts http://support.microsoft.com/support/kb/articles/q۱۷۹/۴/۴۲.asp
در فایل دسته‌ای عبارت “TAB”‌ را با یک tab‌ واقعی جایگزین کنید. این فایل هیچ یک از فایل‌های موجود بر روی سیستم را تغییر نداده و بر روی آنها نمی‌نویسد. برای اجرای این برنامه نیاز به فایلی با نام “port-numbers.txt” دارید که شماره پورت‌ها و سرویس‌های ممکن بر روی هر یک از آنها را در خود دارد. شماره‌ پورت‌های ارائه گردیده در لیست فوق را می‌توان در فایلی با این نام ذخیره کرد.
متن فایل دستوری به صورت زیر است:
@echo off
for /f "tokens=۱,۲ delims=:" %%I in (netstat -an ^| findstr "۰.۰.۰.۰:[۱-۹;
) do call :CLEAN %%I %%J
goto :EOF
:CLEAN
set X=۰
for /f "tokens=۱,۲,۳ delims=TAB " %%A in ( findstr /I "<%۳/%۱>" port-
numbers.txt ) do call :SETUP %%A %%C %۳ %۱
if %X% == ۰ echo %۳/%۱ ***UNKNOWN***
goto :EOF
:SETUP
echo %۳/%۴ %۱ %۲
set X=۱;
goto :EOF
۸- منابع به اشتراک گذاشته شده در سیستم را بررسی نموده، موارد غیر مجاز را شناسایی نمایید. با استفاده از دستور "net share" و یا ابزار Server Manager می‌توان لیست منابع به اشتراک گذاشته شده را مشاهده نمود. در NT‌ فایل‌های اشتراکی پنهان با افزودن یک علامت $‌ به انتهای نام نمایش داده می‌شوند. در این سیستم عامل تعدادی نام اشتراکی پیش‌فرض مانند PRINT$ استفاده می‌شود. در صورتی که چاپگر اشتراکی در سیستم وجود ندارد باید چک شود که این پوشه اشتراکی چرا و چگونه اینجاد شده است. اگر نام اشتراکی عجیبی در لیست سیستم مشاهده ‌شود ابزارهای موجود مکان واقعی پوشه مورد نظر را بر روی سیستم نشان می‌دهد. می‌توان برای یک درایو و یا یک پوشه چندین نام‌ اشتراک گذاشت، و هر یک از این نام‌ها مشخصات و حقوق دسترسی خاص خود را دارند.
۹- همه وظایف زمان‌بندی شده در سیستم را بررسی نمایید. نفوذگران می‌توانند درپشتی را از طریق برنامه‌هایی که برای اجرا در آینده برنامه‌ریزی شده‌اند ایجاد نمایند. علاوه بر این مطمئن شوید که امکان نوشتن بر روی فایل‌ها و برنامه‌هایی که توسط برنامه زمان‌‌بندی به آنها ارجاع شده است وجود ندارد. برای دیدن لیست وظایف در انتظار می‌توانید از دستور "at" استفاده کنید و یا ابزار WINAT‌ را از NT resource kit اجرا نمایید.
۱۰- فرآیندهای غیرمعمول در سیستم را شناسایی نمایید. برای جمع‌آوری اطلاعات در مورد فرآیندهای در حال اجرا بر روی سیستم می‌توانید از ابزار Tool Manager یا دستورات Pulist.exe و tlist.exe از NT resource kit استفاده نمایید.
۱۱- سیستم را با هدف یافتن فایل‌های مخفی و یا نامتعارف جستجو کنید. این فایل‌ها برای مخفی نگه‌داشتن ابزارها و اطلاعات (به عنوان مثال برنامه‌های سرقت گذرواژه، فایل‌های گذرواژه سایر سیستم‌ها و ...) به کار می‌رود. فایل‌های مخفی را می‌توان با استفاده از مرورگر NT‌ (در صورتی که در صفحه Options از منوی View گزینه Show all files انتخاب شده باشد) و همینطور با تایپ دستور "dir /ah" مشاهده نمود.
۱۲- فایل‌ها و کلید‌های رجیستری را بررسی کنید که مجوزهای آنها تغییر نیافته باشند. یکی از قدم‌های اساسی در تامین امنیت یک سیستم مبتنی بر NT تنظیم صحیح مجوزهای دسترسی به فایل‌ها و کلیدهای رجیستری است به نحوی که کاربران غیرمجاز نتوانند برنامه‌های خود (مانند درهای پشتی و یا ثبت‌کنندگان فعالیت‌های کاربران) را اجرا کرده و یا فایل‌های سیستمی را تغییر دهند. با استفاده از برنامه XCACLS.EXE که بخشی از NT Resource Kit می‌باشد می‌توان ویژگی‌های فایل‌ها را چک کرد. علاوه بر این می‌توان از NT Security Configuration Manager هم برای تحلیل پیکربندی سیستم استفاده نمود.
۱۳- تغییرات سیاست‌های کام‍پیوتر و کاربر را بررسی نمایید. سیاست‌ها در سیستم‌های مبتنی بر NT‌ برای تعریف دامنه گسترده‌ای از پیکربندی‌ها به کار می‌روند و مشخص می‌سازند که یک کاربر مجاز به انجام چه کارهایی می‌باشد.
۱۴- مطمئن شوید که سیستم در دامنه‌ای به غیر از دامنه پیش‌فرض تعریف نشده است. نفوذگران برای داشتن دسترسی با حقوق مدیریت سعی می‌کنند سیستم را در دامنه‌ای که خود حقوق مورد نیاز را در آن دارند عضو نمایند.
۱۵- هنگام جستجو برای یافتن رد‌پای نفوذگران همه سیستم‌های موجود در شبکه محلی را بگردید. در بیشتر مواقع اگر یک دستگاه در خطر افتاده باشد، امکان اینکه سایر دستگاه‌ها هم مورد هجوم قرار گرفته باشند وجود دارد.
ب. بروز بودن با مراجعه به مراکز اطلاع‌رسانی معتبر
برای این کار می‌توانید به سایت‌ مرکز هماهنگی گروه‌های امداد امنیت رایانه‌ای (CERT/CC) و یا مرکز امداد امنیت رایانه‌ای ایران (IRCERT) مراجعه نمایید.
ج. استفاده از نرم‌افزارهای تشخیص نفوذ
تعدادی از نرم‌افزارهای مجانی و یا مدت‌دار تشخیص نفوذ در آدرس زیر قابل دسترسی می‌باشند:
http://www.cerias.purdue.edu/coast/ids/
تعدادی از نسخه‌های نرم‌افزارهای تشخیص نفوذ که به صورت تجاری ارائه می‌شوند در زیر ارائه شده است:
(Kane Security Monitor (KSM
http://centauri.ods.com/security/products/ksm.shtml
OmniGuard/ITA (OmniGuard/Intruder Alert)
http://www.axent.com/Axent/Products/IntruderAlert
Real Secure
http://solutions.iss.net/products/rsecure/rs.php
CyberCop Monitor
http://solutions.sun.com/catalogs/all/Internet_and_Intranet/Security/۴۲۱۸۹.html
Intact
http://pedestalsoftware.com/intact/
[۱]- Firewall