در Ø·ÛŒ سالهای اخیر بسیاری از شركت ها برای راØتی بیشتر مشتریان Ùˆ كارمندان خود، برخی امكانات اضاÙÛŒ را به برنامه های كاربردی موجود اضاÙÙ‡ كرده Ùˆ یا برنامه های كاربردی جدیدی را پیاده سازی كرده اند. برای مثال Ù…ÛŒ توان به دسترسی آنلاین به خدمات بانكی Ùˆ یا گسترش شیوه های ارتباط الكترونیك برای كارمندانی كه در خانه كار Ù…ÛŒ كنند، اشاره كرد. از طر٠دیگر بسیاری از شركت ها به ضرورت Øضور در اینترنت برای جذب مشتریان بالقوه Ùˆ ØÙظ مشتریان Ùعلی Ù¾ÛŒ برده اند. در هر دو مورد، زمانی كه بØØ« Øضور در اینترنت پیش Ù…ÛŒ آید، عنصر امنیت به خصوص امنیت سرورها اهمیت ویژه ای پیدا Ù…ÛŒ كند. سرورهای وب ØŒ در كنار سرویس های Ù…Ùید خود، مجموعه جدیدی از آسیب پذیری ها را نیز پدید آورده اند كه لازم است دست اندركاران سیستم های رایانه ای، به خصوص سیستم های مبتنی بر وب، آنها را جدی تلقی كنند. البته آسیب پذیری ها به سرورها Ù…Øدود نمی شوند Ùˆ ممكن است به صورت عمدی یا غیر عمدی در طراØÛŒ Ùˆ پیاده سازی برنامه های كاربردی، Øتی برنامه هایی كه مدتهاست در Øال كار هستند، ایجاد شده باشند. به همین جهت شناسایی آسیب پذیری ها Ùˆ میزان Ù†Ùوذ Ùˆ تأثیر آنها بر روی سیستم از اهمیت ویژه ای برخوردار است. لذا بسیاری از شركت ها برای نیل به هد٠Ùوق از تست Ù†Ùوذ استÙاده Ù…ÛŒ كنند.
پیش نیاز اجرای تست Ù†Ùوذ
هر شركت یا سازمان، پیش از اجرای تست Ù†Ùوذ، به یك سیاست امنیتی كامپیوتر نیاز دارد. سیاست امنیتی، یك آئین نامه رسمی از قوانینی است كه باید توسط اÙرادی كه دسترسی به دارایی های اطلاعاتی Ùˆ Ùناوری یك شركت یا سازمان دارند، رعایت شوند. تدوین سیاست امنیتی باید با توجه به ارزش دارایی ها Ùˆ منابع اطلاعاتی شركت انجام شده Ùˆ سپس رویه های امنیتی مناسب با آنها ایجاد شوند. Ùاكتور اصلی در تعیین رویه ها Ùˆ كنش های امنیتی مناسب در سیاست امنیتی كامپیوتر، هزینه ای است كه شركت در صورت از دست دادن داده ها متØمل Ù…ÛŒ شود. برای مثال، در صورتی كه شركتی با اطلاعات دولتی Ùˆ یا مالی سر Ùˆ كار داشته باشد، روند غیر Ùعال كردن یك Øساب كاربری (User ID) در آن، متÙاوت از یك دانشكده خواهد بود. به علاوه اگر شركتی دارای اطلاعات خصوصی، اسرار تجاری Ùˆ یا لیست مشتریانی است كه رقبا نباید از آن اطلاع Øاصل كنند، لازم است ارزش امنیتی بالاتری را برای اطلاعات مذكور قائل شده Ùˆ گام های امنیتی مناسب برای ØÙاظت از آنها برداشته شود.
یك سیاست امنیتی كامپیوتر باید موارد زیر را پوشش دهد:
اتصالات از/به اینترنت
اتصالات از طریق خط تلÙÙ† (dial-up)
امنیت دسترسی Ùیزیكی
مدیریت كلمه عبور
مسئولیت ها Ùˆ Øقوق كاربران
مسئولیت ها Ùˆ Øقوق مدیران
Ù…ØاÙظت از اطلاعات Øساس
روال های پاسخگویی به Ùوریت ها
مستند سازی
پشتیبان گیری از اطلاعات
گزارش ها و ثبت وقایع (logs)
رسیدگی به رخدادها
چگونگی گزارش یك مشكل یا رخداد امنیتی
تخلÙاتی كه باید گزارش شوند
اجرای سیاست
مسئول نهایی
برنامه ریزی تست Ù†Ùوذ
قبل از اجرای تست Ù†Ùوذ لازم است برای آن برنامه ریزی شده Ùˆ میزان آزادی عمل تست Ùˆ قلمروی آن دقیقاً معین شود. همچنین در این مرØله در مورد اجرای تست به شیوه جعبه سÙید Ùˆ یا جعبه سیاه تصمیم گیری صورت Ù…ÛŒ گیرد، اعضای تیم مشخص Ù…ÛŒ گردند، معیارهای موÙقیت تست تعری٠می شوند Ùˆ مجوز مدیریت دریاÙت Ù…ÛŒ گردد. در این مرØله با توجه به Øوزه تست Ù†Ùوذ، پارامترهای ضروری برای تشخیص آسیب پذیری ها تعیین Ù…ÛŒ گردد. مواردی كه در زمینه برنامه ریزی تست Ù†Ùوذ باید مورد توجه قرار گیرند عبارتند از:
مدت زمان انجام تست چقدر است؟
چه كسانی از انجام تست اطلاع دارند؟
چه كسی تأیید كننده دسترسی غیر مجاز است؟
چه منابع و سیستم هایی و چگونه تست شوند ؟
تنظیمات Ùایروال
اطلاعات كامل
بدون اطلاعات
سیستم های میزبان
وب سرورها
انتخاب كلمات عبور
چگونگی به اشتراك گذاری
سرورهای FTP
سیستم تشخیص Ù†Ùوذ
سرورهای DNS
مودم ها Dial in
دسترسی های بی سیم
Public Branch Exchange)PBX)
غیر Ùعال سازی UserID Ùˆ یا روند خارج شدن یك كارمند از سیستم
دسترسی های Ùیزیكی
مهندسی اجتماعی
كامپیوترهای رومیزی
انتخاب كلمات عبور
تنظیمات مودم ها برای پاسخگویی اتوماتیك Ùˆ یا دسترسی به نرم اÙزارهای خارجی
چگونگی ارائه نتایج
بعد از چه مدت زمانی، تست دیگری برای اطمینان از نتایج تغییرات انجام می شود؟
جمع آوری اطلاعات (شناسایی)
پس از تعیین قلمروی تست Ù†Ùوذ، نوبت به جمع آوری اطلاعات درباره شركت هد٠تست Ù…ÛŒ رسد. تست Ù†Ùوذ معمولاً با سه مرØله پیش تست آغاز Ù…ÛŒ شود. footprintingØŒ scanning Ùˆ enumerating. این سه مرØله پیش تست بسیار مهم هستند زیرا تÙاوت بین یك تست موÙÙ‚ كه تصویری كامل از شبكه هد٠را Ùراهم Ù…ÛŒ سازد Ùˆ یك تست ناموÙÙ‚ كه این كار را انجام نمی دهد، از این سه مرØله ناشی Ù…ÛŒ شود. این سه با یكدیگر به عنوان گام شناسایی یا reconnaissance شناخته Ù…ÛŒ شوند. در این گام سعی Ù…ÛŒ شود تا Øد امكان اطلاعات در مورد شبكه هد٠جمع آوری گردد Ùˆ شامل Ù‡Ùت زیر مرØله Ù…ÛŒ شود:
1. جمع آوری اطلاعات اولیه
2. مشخص كردن دامنه آدرس های IP شبكه
3. شناسایی رایانه های Ùعال
4. كش٠پورت های باز و نقاط دسترسی
5. شناسایی سیستم عامل
6. شناسایی سرویس های ارائه شده در هر پورت
7. نگاشت شبكه
در زیر در مورد هر كدام از گام های پیش تست بیشتر ØªÙˆØ¶ÛŒØ Ù…ÛŒ دهیم:
Footprinting
در این مرØله دو گام اول مرØله شناسایی یعنی جمع آوری اطلاعات اولیه Ùˆ مشخص كردن دامنه آدرس های IP شبكه هد٠صورت انÙعالی انجام Ù…ÛŒ پذیرد. این مرØله بسیار مهم است زیرا هكرها Ù…ÛŒ توانند اطلاعات به دست آمده در این مرØله را بدون آگاهی سازمان هد٠جمع آوری كنند. در این زمینه تعدادی منابع Ùˆ ابزار رایگان Ùˆ تجاری وجود دارند كه Ù…ÛŒ توانند در به دست آوردن اطلاعات اولیه كمك خوبی باشند. دسترسی به بعضی از این منابع مانند خبرنامه های شركت بسیار آسان است. تست كنندگان با استÙاده از این منبع به اطلاعات Ù…Ùیدی دست پیدا Ù…ÛŒ كنند كه كارمندان Øتی بدون آنكه متوجه باشند آنها را بروز Ù…ÛŒ دهند. دیگر روش ها برای جمع آوری اطلاعات استÙاده از WhoisØŒ NslookupØŒ Smart Whois Ùˆ SamSpade است. برای مثال Whois با استÙاده از سرویس های دایركتوری، اطلاعاتی را در مورد دامنه ها Ùˆ ثبت كنندگان آنها در اختیار Ù…ÛŒ گذارد Ùˆ Nslookup یك پرس Ùˆ جوی تعاملی را با سرورهای نام دامنه انجام Ù…ÛŒ دهد.
Scanning
چهار مرØله بعدی گام شناسایی (شناسایی رایانه های Ùعال، كش٠پورت های باز Ùˆ نقاط دسترسی، شناسایی سیستم عامل Ùˆ شناسایی سرویس های ارائه شده در هر پورت) به عنوان بخشی از مرØله پویش یا Scanning در نظر گرÙته Ù…ÛŒ شوند. در این مرØله هد٠جمع آوری اطلاعات در مورد پورت های باز، پویش برنامه های كاربردی، ping كردن دستگاه ها، مشخص كردن Øدود شبكه Ùˆ پویش پورت های هر دستگاه به تنهایی است. این مرØله نسبت به footprinting پویاتر بوده Ùˆ اطلاعات جزئی تری از هد٠جمع آوری Ù…ÛŒ شود. مانند مرØله قبل برخی ابزارها در این مرØله یاری رسانند مانند NMapØŒ pingØŒ Telnet ØŒTracerouteØŒ SuperScanØŒ NetcatØŒ NeoTrace Ùˆ Visual Route. برای مثال با استÙاده از Ping Ù…ÛŒ توان یك تقاضای ICMP ECHO را به یك میزبان شبكه مشخص ارسال كرد. در دستور ping Ù…ÛŒ توان یك پورت را نیز تعیین كرد كه دریاÙت پاسخ، نشان دهنده باز بودن پورت مذكور برای ارتباط TCP/IP است. همچنین با استÙاده از Telnet Ù…ÛŒ توان یك ارتباط تعاملی را با یك میزبان مشخص برقرار كرده Ùˆ یك پورت را در این دستور وارد كرد. دریاÙت پاسخ نشان دهنده باز بودن پورت مذكور برای ارتباط TCP/IP است. Traceroute ابزار دیگری است كه مسیرهای ارتباطی اینترنت را بین دو سیستمی كه ارتباط TCP/IP دارند، مشخص Ù…ÛŒ سازد.
Enumerating
آخرین مرØله گام شناسایی نگاشت شبكه است كه با استÙاده از اطلاعات Scanning انجام شده Ùˆ مرØله Enumerating را تشكیل Ù…ÛŒ دهد. در این مرØله هد٠طراØÛŒ یك تصویر نسبتاً كامل از شبكه هد٠است. در این مرØله اطلاعات نام كاربران Ùˆ گروه ها، منابع شبكه به اشتراك گذاشته شده Ùˆ برنامه های كاربردی جمع آوری Ù…ÛŒ گردد. مخصوصاً اطلاعات مربوط به سیستم عامل مورد استÙاده (همراه با نسخه آن) Ùˆ برنامه های كاربردی نصب شده Ùˆ نسخه آنها اطلاعات باارزشی در این زمینه Ù…Øسوب Ù…ÛŒ شوند. با دانستن نوع سیستم عامل Ùˆ برنامه های كاربردی Ù…ÛŒ توان از آسیب پذیری های شناخته شده موجود در آنها جهت پیاده سازی Ù†Ùوذ استÙاده كرد. در این مرØله Ù…ÛŒ توان از تكنیك های زیر استÙاده كرد:
به دست آوردن اطلاعات Active Directory و شناسایی كاربران آسیب پذیر
شناسایی NetBIOS با استÙاده از Nbscan
استÙاده از SNMPutil برای SNMP
به كارگیری پرس و جوهای DNS
ایجاد ارتباطات و نشست هایnull
هر كدام از ابزارها Ùˆ تكنیك های Ùوق Ù…ÛŒ توانند در مورد ارتباطات شبكه Ùˆ یا سیستم میزبان نیز اطلاعات بیشتری را در اختیار بگذارند. در این مرØله از تست كه اولین مرØله است، توصیه به جمع آوری هر Ú†Ù‡ بیشتر اطلاعات Ù…ÛŒ شود. اطلاعات مذكور از طرÙÛŒ انتخاب تست های قابل انجام را راØت تر Ù…ÛŒ كنند Ùˆ از طر٠دیگر تست را بیشتر به شبیه سازی یك Ù†Ùوذ واقعی هدایت Ù…ÛŒ كنند. هكرهای واقعی قبل از انجام Øمله تا جایی كه Ù…ÛŒ توانند به مطالعه Ùˆ تØقیق در مورد سیستم مورد Øمله Ù…ÛŒ پردازند Ùˆ لذا یك انجام دهنده تست Ù†Ùوذ نیز بایستی با اطلاعاتی مشابه یك هكر واقعی به انجام تست بپردازد. هر چقدر اطلاعات كمتری توسط ابزارهای Ùوق به دست آید، نشان دهنده امنیت بالاتر سیستم است.
به كارگیری آسیب پذیری ها با هد٠نÙوذ
در مرØله سوم تست Ù†Ùوذ، برای شناسایی مشكلات مربوط به تنظیمات سیستم، از ابزارهای پویش كردن آسیب پذیری ها Ùˆ Password Crackers استÙاده Ù…ÛŒ شود. برخی از ابزارهای قابل استÙاده در این زمینه عبارتند از:
Nessus – ابزاری برای تشخیص آسیب پذیری ها در سیستم های Unix
SARA – دومین نسل از ابزار پویش آسیب پذیری SATAN
Whisker – ابزار پویش آسیب پذیری در CGI
Hping2 – یك ابزار شبكه است كه Ù…ÛŒ تواند بسته های دلخواه ICMPØŒ UDP Ùˆ TCP را ارسال كند Ùˆ برای آزمودن قوانین Ùایروال Ùˆ بررسی قطعات (fragments) بسته ها استÙاده Ù…ÛŒ شود.
Firewalk - یك ابزار شبیه دنبال كننده های مسیر است كه اجازه دسترسی به Access Control List یك Ùایروال را Ù…ÛŒ دهد Ùˆ همچنین امكان در آوردن نقشه شبكه را نیز Ùراهم Ù…ÛŒ كند.
(NAT(NetBIOS Auditing tool – یك ابزار برای مشخص كردن آسیب پذیری ها در تنظیمات NetBIOS یك سیستم NT است.
Toneloc – ابزاری برای بررسی مودم سیستم های رومیزی است كه برای جواب دهی اتوماتیك Ùˆ یا اجرای نرم اÙزار از راه دور به كار Ù…ÛŒ روند.
برخی ابزارهای تجاری نیز در این زمینه وجود دارند كه عبارتند از:
(Internet Security Server (ISS – این Ù…Øصول بسیار پر كاربرد است Ùˆ بسیاری از شركت های انجام دهنده تست Ù†Ùوذ از آن برای شناسایی آسیب پذیری ها استÙاده Ù…ÛŒ كنند.
CyberCop – این ابزار نیز برای پویش آسیب پذیری ها به كار می رود.
Phonesweep - ابزاری برای بررسی مودم سیستم های رومیزی است كه برای جواب دهی اتوماتیك Ùˆ یا اجرای نرم اÙزار از راه دور به كار Ù…ÛŒ روند.
به غیر از موارد ذكر شده در بالا ابزارهایی نیز برای تشخیص Ù†Ùوذ Ùˆ مدیریت داده های تولید شده در روند تشخیص Ù†Ùوذ وجود دارند. البته مبØØ« تشخیص Ù†Ùوذ با اینكه مرتبط با تست Ù†Ùوذ است ولی نیازمند بررسی جداگانه Ùˆ Ù…Ùصلی است Ùˆ لذا از آوردن ابزارهای مرتبط با آن خودداری كرده ایم.
بعد از انتخاب ابزارهای ارزیابی آسیب پذیری، باید از آنها بر روی سیستم ها Ùˆ شبكه استÙاده كرد. اطلاعاتی كه از ابزارهای Ùوق به دست Ù…ÛŒ آید، به روشنی آسیب پذیری های اصلی را مشخص Ù…ÛŒ كنند. در این مرØله لازم است با توجه به نوع Ù†Ùوذ، كاری انجام داد تا وجود آسیب پذیری را به اثبات رساند. برای مثال باید Ùایلی را در منطقه كنترل شده قرار داد Ùˆ یا كلمه عبور مربوط به نام كاربری مهمان را تغییر داد. همچنین در موارد دسترسی های Ùیزیكی باید بخشی از پرونده ای را برداشت Ùˆ یا در شبیه سازی Øملات مهندسی اجتماعی Ù…ÛŒ توان به شماره تلÙÙ† منزل مدیر سیستم دسترسی پیدا كرد.
در این مرØله برخی از Øملات مانند Øملات تزریق SQLØŒ XSSØŒ سرریز باÙر Ùˆ تروجان ها نیز بر روی شبكه شبیه سازی Ù…ÛŒ شوند.
پاكسازی
در این مرØله تمام Ùایل هایی كه در Øین تست Ù†Ùوذ انجام شده اند پاك شده Ùˆ تمام تنظیمات Ùˆ یا پارامترهایی كه تغییر یاÙته اند به Øالت اولیه باز Ù…ÛŒ گردند. همچنین تمام ردپاها پاك شده Ùˆ تمام سیستم هایی كه به آنها Ù†Ùوذ شده است به Øالت پیش از تست Ù†Ùوذ بر Ù…ÛŒ گردند.
ارائه نتایج تست
نتایج تست باید Øاوی راه ØÙ„ هایی برای كاهش Ùˆ یا Øذ٠آسیب پذیری ها باشد. تÙاوت اصلی ممیزی امنیتی Ùˆ تست Ù†Ùوذ در نكته مذكور است. باید یك برنامه زمانی برای رÙع آسیب پذیری های كش٠شده نیز ارائه گردد Ùˆ بعد از آن دوباره سیستم را برای اطمینان از رÙع آسیب پذیری های مذكور بررسی كرد.
راه ØÙ„ های ارائه شده بستگی به نوع آسیب پذیری ها دارد Ùˆ در آنها باید هزینه هایی كه بر شركت در صورت سوءاستÙاده از آسیب پذیری تØمیل Ù…ÛŒ شود Ùˆ همچنین هزینه راه ØÙ„ آورده شود. برای مثال ممكن است در یك راه ØÙ„ خواسته شود سیستم های جدیدی كه برای وب سرور مورد استÙاده قرار Ù…ÛŒ گیرند قبل از نصب تست شوند Ùˆ در یك راه ØÙ„ دیگر خواسته شود تا ایمیل های ارسالی درون سیستم، ابتدا به یك میل سرور مركزی ارجاع Ùˆ سپس برای گیرنده ارسال شوند.
در پایان باید Ú¯Ùت نتایج تست Ù†Ùوذ باید به دقت Ù…ØاÙظت شده Ùˆ Ù…Øرمانه تلقی گردند، زیرا در صورت دسترسی اÙراد ناباب، امكان سوءاستÙاده از آن بسیار زیاد است.
منبع:
http://www.netqurd.com
پیش نیاز اجرای تست Ù†Ùوذ
هر شركت یا سازمان، پیش از اجرای تست Ù†Ùوذ، به یك سیاست امنیتی كامپیوتر نیاز دارد. سیاست امنیتی، یك آئین نامه رسمی از قوانینی است كه باید توسط اÙرادی كه دسترسی به دارایی های اطلاعاتی Ùˆ Ùناوری یك شركت یا سازمان دارند، رعایت شوند. تدوین سیاست امنیتی باید با توجه به ارزش دارایی ها Ùˆ منابع اطلاعاتی شركت انجام شده Ùˆ سپس رویه های امنیتی مناسب با آنها ایجاد شوند. Ùاكتور اصلی در تعیین رویه ها Ùˆ كنش های امنیتی مناسب در سیاست امنیتی كامپیوتر، هزینه ای است كه شركت در صورت از دست دادن داده ها متØمل Ù…ÛŒ شود. برای مثال، در صورتی كه شركتی با اطلاعات دولتی Ùˆ یا مالی سر Ùˆ كار داشته باشد، روند غیر Ùعال كردن یك Øساب كاربری (User ID) در آن، متÙاوت از یك دانشكده خواهد بود. به علاوه اگر شركتی دارای اطلاعات خصوصی، اسرار تجاری Ùˆ یا لیست مشتریانی است كه رقبا نباید از آن اطلاع Øاصل كنند، لازم است ارزش امنیتی بالاتری را برای اطلاعات مذكور قائل شده Ùˆ گام های امنیتی مناسب برای ØÙاظت از آنها برداشته شود.
یك سیاست امنیتی كامپیوتر باید موارد زیر را پوشش دهد:
اتصالات از/به اینترنت
اتصالات از طریق خط تلÙÙ† (dial-up)
امنیت دسترسی Ùیزیكی
مدیریت كلمه عبور
مسئولیت ها Ùˆ Øقوق كاربران
مسئولیت ها Ùˆ Øقوق مدیران
Ù…ØاÙظت از اطلاعات Øساس
روال های پاسخگویی به Ùوریت ها
مستند سازی
پشتیبان گیری از اطلاعات
گزارش ها و ثبت وقایع (logs)
رسیدگی به رخدادها
چگونگی گزارش یك مشكل یا رخداد امنیتی
تخلÙاتی كه باید گزارش شوند
اجرای سیاست
مسئول نهایی
برنامه ریزی تست Ù†Ùوذ
قبل از اجرای تست Ù†Ùوذ لازم است برای آن برنامه ریزی شده Ùˆ میزان آزادی عمل تست Ùˆ قلمروی آن دقیقاً معین شود. همچنین در این مرØله در مورد اجرای تست به شیوه جعبه سÙید Ùˆ یا جعبه سیاه تصمیم گیری صورت Ù…ÛŒ گیرد، اعضای تیم مشخص Ù…ÛŒ گردند، معیارهای موÙقیت تست تعری٠می شوند Ùˆ مجوز مدیریت دریاÙت Ù…ÛŒ گردد. در این مرØله با توجه به Øوزه تست Ù†Ùوذ، پارامترهای ضروری برای تشخیص آسیب پذیری ها تعیین Ù…ÛŒ گردد. مواردی كه در زمینه برنامه ریزی تست Ù†Ùوذ باید مورد توجه قرار گیرند عبارتند از:
مدت زمان انجام تست چقدر است؟
چه كسانی از انجام تست اطلاع دارند؟
چه كسی تأیید كننده دسترسی غیر مجاز است؟
چه منابع و سیستم هایی و چگونه تست شوند ؟
تنظیمات Ùایروال
اطلاعات كامل
بدون اطلاعات
سیستم های میزبان
وب سرورها
انتخاب كلمات عبور
چگونگی به اشتراك گذاری
سرورهای FTP
سیستم تشخیص Ù†Ùوذ
سرورهای DNS
مودم ها Dial in
دسترسی های بی سیم
Public Branch Exchange)PBX)
غیر Ùعال سازی UserID Ùˆ یا روند خارج شدن یك كارمند از سیستم
دسترسی های Ùیزیكی
مهندسی اجتماعی
كامپیوترهای رومیزی
انتخاب كلمات عبور
تنظیمات مودم ها برای پاسخگویی اتوماتیك Ùˆ یا دسترسی به نرم اÙزارهای خارجی
چگونگی ارائه نتایج
بعد از چه مدت زمانی، تست دیگری برای اطمینان از نتایج تغییرات انجام می شود؟
جمع آوری اطلاعات (شناسایی)
پس از تعیین قلمروی تست Ù†Ùوذ، نوبت به جمع آوری اطلاعات درباره شركت هد٠تست Ù…ÛŒ رسد. تست Ù†Ùوذ معمولاً با سه مرØله پیش تست آغاز Ù…ÛŒ شود. footprintingØŒ scanning Ùˆ enumerating. این سه مرØله پیش تست بسیار مهم هستند زیرا تÙاوت بین یك تست موÙÙ‚ كه تصویری كامل از شبكه هد٠را Ùراهم Ù…ÛŒ سازد Ùˆ یك تست ناموÙÙ‚ كه این كار را انجام نمی دهد، از این سه مرØله ناشی Ù…ÛŒ شود. این سه با یكدیگر به عنوان گام شناسایی یا reconnaissance شناخته Ù…ÛŒ شوند. در این گام سعی Ù…ÛŒ شود تا Øد امكان اطلاعات در مورد شبكه هد٠جمع آوری گردد Ùˆ شامل Ù‡Ùت زیر مرØله Ù…ÛŒ شود:
1. جمع آوری اطلاعات اولیه
2. مشخص كردن دامنه آدرس های IP شبكه
3. شناسایی رایانه های Ùعال
4. كش٠پورت های باز و نقاط دسترسی
5. شناسایی سیستم عامل
6. شناسایی سرویس های ارائه شده در هر پورت
7. نگاشت شبكه
در زیر در مورد هر كدام از گام های پیش تست بیشتر ØªÙˆØ¶ÛŒØ Ù…ÛŒ دهیم:
Footprinting
در این مرØله دو گام اول مرØله شناسایی یعنی جمع آوری اطلاعات اولیه Ùˆ مشخص كردن دامنه آدرس های IP شبكه هد٠صورت انÙعالی انجام Ù…ÛŒ پذیرد. این مرØله بسیار مهم است زیرا هكرها Ù…ÛŒ توانند اطلاعات به دست آمده در این مرØله را بدون آگاهی سازمان هد٠جمع آوری كنند. در این زمینه تعدادی منابع Ùˆ ابزار رایگان Ùˆ تجاری وجود دارند كه Ù…ÛŒ توانند در به دست آوردن اطلاعات اولیه كمك خوبی باشند. دسترسی به بعضی از این منابع مانند خبرنامه های شركت بسیار آسان است. تست كنندگان با استÙاده از این منبع به اطلاعات Ù…Ùیدی دست پیدا Ù…ÛŒ كنند كه كارمندان Øتی بدون آنكه متوجه باشند آنها را بروز Ù…ÛŒ دهند. دیگر روش ها برای جمع آوری اطلاعات استÙاده از WhoisØŒ NslookupØŒ Smart Whois Ùˆ SamSpade است. برای مثال Whois با استÙاده از سرویس های دایركتوری، اطلاعاتی را در مورد دامنه ها Ùˆ ثبت كنندگان آنها در اختیار Ù…ÛŒ گذارد Ùˆ Nslookup یك پرس Ùˆ جوی تعاملی را با سرورهای نام دامنه انجام Ù…ÛŒ دهد.
Scanning
چهار مرØله بعدی گام شناسایی (شناسایی رایانه های Ùعال، كش٠پورت های باز Ùˆ نقاط دسترسی، شناسایی سیستم عامل Ùˆ شناسایی سرویس های ارائه شده در هر پورت) به عنوان بخشی از مرØله پویش یا Scanning در نظر گرÙته Ù…ÛŒ شوند. در این مرØله هد٠جمع آوری اطلاعات در مورد پورت های باز، پویش برنامه های كاربردی، ping كردن دستگاه ها، مشخص كردن Øدود شبكه Ùˆ پویش پورت های هر دستگاه به تنهایی است. این مرØله نسبت به footprinting پویاتر بوده Ùˆ اطلاعات جزئی تری از هد٠جمع آوری Ù…ÛŒ شود. مانند مرØله قبل برخی ابزارها در این مرØله یاری رسانند مانند NMapØŒ pingØŒ Telnet ØŒTracerouteØŒ SuperScanØŒ NetcatØŒ NeoTrace Ùˆ Visual Route. برای مثال با استÙاده از Ping Ù…ÛŒ توان یك تقاضای ICMP ECHO را به یك میزبان شبكه مشخص ارسال كرد. در دستور ping Ù…ÛŒ توان یك پورت را نیز تعیین كرد كه دریاÙت پاسخ، نشان دهنده باز بودن پورت مذكور برای ارتباط TCP/IP است. همچنین با استÙاده از Telnet Ù…ÛŒ توان یك ارتباط تعاملی را با یك میزبان مشخص برقرار كرده Ùˆ یك پورت را در این دستور وارد كرد. دریاÙت پاسخ نشان دهنده باز بودن پورت مذكور برای ارتباط TCP/IP است. Traceroute ابزار دیگری است كه مسیرهای ارتباطی اینترنت را بین دو سیستمی كه ارتباط TCP/IP دارند، مشخص Ù…ÛŒ سازد.
Enumerating
آخرین مرØله گام شناسایی نگاشت شبكه است كه با استÙاده از اطلاعات Scanning انجام شده Ùˆ مرØله Enumerating را تشكیل Ù…ÛŒ دهد. در این مرØله هد٠طراØÛŒ یك تصویر نسبتاً كامل از شبكه هد٠است. در این مرØله اطلاعات نام كاربران Ùˆ گروه ها، منابع شبكه به اشتراك گذاشته شده Ùˆ برنامه های كاربردی جمع آوری Ù…ÛŒ گردد. مخصوصاً اطلاعات مربوط به سیستم عامل مورد استÙاده (همراه با نسخه آن) Ùˆ برنامه های كاربردی نصب شده Ùˆ نسخه آنها اطلاعات باارزشی در این زمینه Ù…Øسوب Ù…ÛŒ شوند. با دانستن نوع سیستم عامل Ùˆ برنامه های كاربردی Ù…ÛŒ توان از آسیب پذیری های شناخته شده موجود در آنها جهت پیاده سازی Ù†Ùوذ استÙاده كرد. در این مرØله Ù…ÛŒ توان از تكنیك های زیر استÙاده كرد:
به دست آوردن اطلاعات Active Directory و شناسایی كاربران آسیب پذیر
شناسایی NetBIOS با استÙاده از Nbscan
استÙاده از SNMPutil برای SNMP
به كارگیری پرس و جوهای DNS
ایجاد ارتباطات و نشست هایnull
هر كدام از ابزارها Ùˆ تكنیك های Ùوق Ù…ÛŒ توانند در مورد ارتباطات شبكه Ùˆ یا سیستم میزبان نیز اطلاعات بیشتری را در اختیار بگذارند. در این مرØله از تست كه اولین مرØله است، توصیه به جمع آوری هر Ú†Ù‡ بیشتر اطلاعات Ù…ÛŒ شود. اطلاعات مذكور از طرÙÛŒ انتخاب تست های قابل انجام را راØت تر Ù…ÛŒ كنند Ùˆ از طر٠دیگر تست را بیشتر به شبیه سازی یك Ù†Ùوذ واقعی هدایت Ù…ÛŒ كنند. هكرهای واقعی قبل از انجام Øمله تا جایی كه Ù…ÛŒ توانند به مطالعه Ùˆ تØقیق در مورد سیستم مورد Øمله Ù…ÛŒ پردازند Ùˆ لذا یك انجام دهنده تست Ù†Ùوذ نیز بایستی با اطلاعاتی مشابه یك هكر واقعی به انجام تست بپردازد. هر چقدر اطلاعات كمتری توسط ابزارهای Ùوق به دست آید، نشان دهنده امنیت بالاتر سیستم است.
به كارگیری آسیب پذیری ها با هد٠نÙوذ
در مرØله سوم تست Ù†Ùوذ، برای شناسایی مشكلات مربوط به تنظیمات سیستم، از ابزارهای پویش كردن آسیب پذیری ها Ùˆ Password Crackers استÙاده Ù…ÛŒ شود. برخی از ابزارهای قابل استÙاده در این زمینه عبارتند از:
Nessus – ابزاری برای تشخیص آسیب پذیری ها در سیستم های Unix
SARA – دومین نسل از ابزار پویش آسیب پذیری SATAN
Whisker – ابزار پویش آسیب پذیری در CGI
Hping2 – یك ابزار شبكه است كه Ù…ÛŒ تواند بسته های دلخواه ICMPØŒ UDP Ùˆ TCP را ارسال كند Ùˆ برای آزمودن قوانین Ùایروال Ùˆ بررسی قطعات (fragments) بسته ها استÙاده Ù…ÛŒ شود.
Firewalk - یك ابزار شبیه دنبال كننده های مسیر است كه اجازه دسترسی به Access Control List یك Ùایروال را Ù…ÛŒ دهد Ùˆ همچنین امكان در آوردن نقشه شبكه را نیز Ùراهم Ù…ÛŒ كند.
(NAT(NetBIOS Auditing tool – یك ابزار برای مشخص كردن آسیب پذیری ها در تنظیمات NetBIOS یك سیستم NT است.
Toneloc – ابزاری برای بررسی مودم سیستم های رومیزی است كه برای جواب دهی اتوماتیك Ùˆ یا اجرای نرم اÙزار از راه دور به كار Ù…ÛŒ روند.
برخی ابزارهای تجاری نیز در این زمینه وجود دارند كه عبارتند از:
(Internet Security Server (ISS – این Ù…Øصول بسیار پر كاربرد است Ùˆ بسیاری از شركت های انجام دهنده تست Ù†Ùوذ از آن برای شناسایی آسیب پذیری ها استÙاده Ù…ÛŒ كنند.
CyberCop – این ابزار نیز برای پویش آسیب پذیری ها به كار می رود.
Phonesweep - ابزاری برای بررسی مودم سیستم های رومیزی است كه برای جواب دهی اتوماتیك Ùˆ یا اجرای نرم اÙزار از راه دور به كار Ù…ÛŒ روند.
به غیر از موارد ذكر شده در بالا ابزارهایی نیز برای تشخیص Ù†Ùوذ Ùˆ مدیریت داده های تولید شده در روند تشخیص Ù†Ùوذ وجود دارند. البته مبØØ« تشخیص Ù†Ùوذ با اینكه مرتبط با تست Ù†Ùوذ است ولی نیازمند بررسی جداگانه Ùˆ Ù…Ùصلی است Ùˆ لذا از آوردن ابزارهای مرتبط با آن خودداری كرده ایم.
بعد از انتخاب ابزارهای ارزیابی آسیب پذیری، باید از آنها بر روی سیستم ها Ùˆ شبكه استÙاده كرد. اطلاعاتی كه از ابزارهای Ùوق به دست Ù…ÛŒ آید، به روشنی آسیب پذیری های اصلی را مشخص Ù…ÛŒ كنند. در این مرØله لازم است با توجه به نوع Ù†Ùوذ، كاری انجام داد تا وجود آسیب پذیری را به اثبات رساند. برای مثال باید Ùایلی را در منطقه كنترل شده قرار داد Ùˆ یا كلمه عبور مربوط به نام كاربری مهمان را تغییر داد. همچنین در موارد دسترسی های Ùیزیكی باید بخشی از پرونده ای را برداشت Ùˆ یا در شبیه سازی Øملات مهندسی اجتماعی Ù…ÛŒ توان به شماره تلÙÙ† منزل مدیر سیستم دسترسی پیدا كرد.
در این مرØله برخی از Øملات مانند Øملات تزریق SQLØŒ XSSØŒ سرریز باÙر Ùˆ تروجان ها نیز بر روی شبكه شبیه سازی Ù…ÛŒ شوند.
پاكسازی
در این مرØله تمام Ùایل هایی كه در Øین تست Ù†Ùوذ انجام شده اند پاك شده Ùˆ تمام تنظیمات Ùˆ یا پارامترهایی كه تغییر یاÙته اند به Øالت اولیه باز Ù…ÛŒ گردند. همچنین تمام ردپاها پاك شده Ùˆ تمام سیستم هایی كه به آنها Ù†Ùوذ شده است به Øالت پیش از تست Ù†Ùوذ بر Ù…ÛŒ گردند.
ارائه نتایج تست
نتایج تست باید Øاوی راه ØÙ„ هایی برای كاهش Ùˆ یا Øذ٠آسیب پذیری ها باشد. تÙاوت اصلی ممیزی امنیتی Ùˆ تست Ù†Ùوذ در نكته مذكور است. باید یك برنامه زمانی برای رÙع آسیب پذیری های كش٠شده نیز ارائه گردد Ùˆ بعد از آن دوباره سیستم را برای اطمینان از رÙع آسیب پذیری های مذكور بررسی كرد.
راه ØÙ„ های ارائه شده بستگی به نوع آسیب پذیری ها دارد Ùˆ در آنها باید هزینه هایی كه بر شركت در صورت سوءاستÙاده از آسیب پذیری تØمیل Ù…ÛŒ شود Ùˆ همچنین هزینه راه ØÙ„ آورده شود. برای مثال ممكن است در یك راه ØÙ„ خواسته شود سیستم های جدیدی كه برای وب سرور مورد استÙاده قرار Ù…ÛŒ گیرند قبل از نصب تست شوند Ùˆ در یك راه ØÙ„ دیگر خواسته شود تا ایمیل های ارسالی درون سیستم، ابتدا به یك میل سرور مركزی ارجاع Ùˆ سپس برای گیرنده ارسال شوند.
در پایان باید Ú¯Ùت نتایج تست Ù†Ùوذ باید به دقت Ù…ØاÙظت شده Ùˆ Ù…Øرمانه تلقی گردند، زیرا در صورت دسترسی اÙراد ناباب، امكان سوءاستÙاده از آن بسیار زیاد است.
منبع:
http://www.netqurd.com
Comment