صفحه اول > مقالات

 

 

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

در قسمت قبل تعدادی از موارد مهم که کاربران و مدیران شبکه باید برای داشتن بستر ارتباطی امن درنظر بگیرند مطرح شد. در این قسمت تعداد دیگری از توصیه‌های مهم در این  زمینه ارائه می‌گردد.

۶- کد‌های دودویی موجود بر روی سیستم خود را چک کنید که تغییر نکرده‌باشند. برای این کار فایل‌های موجود بر روی سیستم را با نسخه‌هایی از فایل‌ها که به اصالت آنها اطمینان دارید و در محل‌های امن ذخیره شده‌اند (به عنوان مثال رسانه‌هایی که فایل‌های اولیه برای نصب نرم‌افزار بر روی آنها قرار گرفته‌اند) مقایسه کنید. در استفاده از نسخه‌های پشتیبان‌ دقت کنید، ممکن است حاوی اسب‌های تروا باشند.

اسب‌های تروا فایل‌های با اندازه و برچسب‌های زمانی مشابه نسخه‌های اصلی ایجاد می‌کنند. بنابراین تنها مقایسه اندازه و برچسب‌های زمانی فایل‌ برای دریافتن اصالت آن‌ها کافی نیست. به جای این کار باید از MD5، Tripwire و سایر ابزارهای رمزنگاری Checksum فایل‌ها برای آشکارسازی اسب‌های تروا استفاده کنید. حتما از اصالت این ابزارها اطمینان حاصل کنید و مطمئن شوید که با امنیت نگه‌داری شده و امکان تحریف آنها توسط نفوذگران وجود نداشته است. می‌توانید برای امضای خروجی‌های تولید شده توسط MD5 و 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/q150/5/43.asp

SMS: Network Ports Used by Remote Helpdesk Functions http://support.microsoft.com/support/kb/articles/q167/1/28.asp

XGEN: TCP Ports and Microsoft Exchange: In-depth Discussion http://support.microsoft.com/support/kb/articles/q176/4/66.asp

How to Configure a Firewall for Windows NT and Trusts http://support.microsoft.com/support/kb/articles/q179/4/42.asp

در فایل دسته‌ای عبارت “TAB”‌ را با یک tab‌ واقعی جایگزین کنید. این فایل هیچ یک از فایل‌های موجود بر روی سیستم را تغییر نداده و بر روی آنها نمی‌نویسد. برای اجرای این برنامه نیاز به فایلی با نام “port-numbers.txt” دارید که شماره پورت‌ها و سرویس‌های ممکن بر روی هر یک از آنها را در خود دارد. شماره‌ پورت‌های ارائه گردیده در لیست فوق را می‌توان در فایلی با این نام ذخیره کرد.

متن فایل دستوری به صورت زیر است:

@echo off
      for /f "tokens=1,2 delims=:" %%I in ( 'netstat -an ^| findstr "0.0.0.0:[1-9]"' 
) do call :CLEAN %%I %%J
   goto :EOF
 
 :CLEAN
     set X=0
     for /f "tokens=1,2,3 delims=TAB " %%A in ( 'findstr /I "\<%3/%1\>" port-
numbers.txt' ) do call :SETUP %%A %%C %3 %1
     if %X% == 0 echo %3/%1 ***UNKNOWN***
   goto :EOF
 
   :SETUP
     echo %3/%4 %1 %2
     set X=1;
   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/42189.html

Intact
http://pedestalsoftware.com/intact/