دانلود فایل آسیب پذیری و تهدیدات شبکه های کامپیوتری

    —         —    

ارتباط با ما     —     لیست پایان‌نامه‌ها

... دانلود ...

 دانلود فایل آسیب پذیری و تهدیدات شبکه های کامپیوتری دارای 83 صفحه می باشد و دارای تنظیمات و فهرست کامل در microsoft word می باشد و آماده پرینت یا چاپ است

فایل ورد دانلود فایل آسیب پذیری و تهدیدات شبکه های کامپیوتری  کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد.

 

بخشی از فهرست مطالب پروژه دانلود فایل آسیب پذیری و تهدیدات شبکه های کامپیوتری
مقدمه      

 BIND Domain Name System:  اولین نقطه آسیب پذیر
Remote Procedure Calls (RPC)دومین  نقطه آسیب پذیر :
 Windows Authenticationسومین نقطه آسیب پذیر :
 Internet Explorer (IEچهارمین نقطه آسیب پذیر:(
Windows Remote Access Services پنجمین  نقطه آسیب پذیر :
ششمین نقطه آسیب پذیر: نحوه حفاظت در مقابل دستیابی به ریجستری سیستم
هفتمین نقطه آسیب پذیر: متداولترین پورت ها
FTP هشتمین نقطه آسیب پذیر:
Windows Peer to Peer File Sharingنهمین  نقطه آسیب پذیر :
منابع                                                                                                        


 
مقدمه
مهمترین نقاط آسیب پذیر
سیستم عامل, یکی از عناصر چهار گانه در یک سیستم کامپیوتری است که دارای نقشی بسیار مهم و حیاتی در نحوه مدیریت منابع سخت افزاری و نرم افزاری است . پرداختن به مقوله  امنیت سیستم های عامل , همواره از بحث های مهم در رابطه با ایمن سازی اطلاعات در یک سیستم کامپیوتری بوده که امروزه با گسترش اینترنت , اهمیت آن مضاعف شده است . بررسی و آنالیز امنیت در سیستم های عامل می بایست با ظرافت و در چارچوبی کاملا" علمی و با در نظر گرفتن تمامی واقعیت های موجود , انجام تا از یک طرف تصمیم گیرندگان مسائل استراتژیک در یک سازمان قادر به انتخاب مستند و منطقی یک سیستم عامل باشند و از طرف دیگر امکان نگهداری و پشتیبانی آن با در نظر گرفتن مجموعه تهدیدات موجود و آتی  , بسرعت و بسادگی میسر گردد .
اکثر کرم ها و سایر حملات موفقیت آمیز در اینترنت , بدلیل وجود نقاط آسیب پذیر در تعدادی  اندک  از سرویس های سیستم  های عامل متداول است . مهاجمان , با فرصت طلبی خاص خود از روش  های متعددی بمنظور سو استفاده از نقاط ضعف امنیتی شناخته شده , استفاده نموده  و در این راستا ابزارهای  متنوع , موثر و گسترده ای را بمنظور نیل به اهداف خود , بخدمت می گیرند . مهاجمان , در این رهگذر متمرکز بر سازمان ها و موسساتی می گردند که هنوز مسائل موجود امنیتی ( حفره ها و نقاط آسیب پذیر ) خود را برطرف نکرده و بدون هیچگونه تبعیضی آنان را بعنوان هدف , انتخاب می نمایند . مهاجمان بسادگی و بصورت مخرب ,  کرم هائی نظیر : بلستر , اسلامر و Code Red را در شبکه  منتشر می نمایند. آگاهی از مهمترین نقاط آسیب پذیر در سیستم های  عامل , امری ضروری است . با شناسائی و آنالیز اینگونه نقاط آسیب پذیر توسط کارشناسان امنیت اطلاعات , سازمان ها و موسسات قادر به استفاده از مستندات علمی تدوین شده بمنظور برخورد منطقی با مشکلات موجود و ایجاد یک لایه حفاظتی مناسب می باشند.
در مجموعه مقالاتی که ارائه خواهد شد , به بررسی مهمترین نقاط آسیب پذیر یونیکس و لینوکس خواهیم پرداخت . در این راستا , پس از معرفی هر یک از نقاط آسیب پذیر , علت وجود ضعف امنیتی , سیستم های عامل در معرض تهدید , روش های  تشخیص آسیب پذیری سیستم و نحوه مقابله و یا پیشگیری در مقابل هر یک از نقاط آسیب پذیر , بررسی می گردد .همزمان با  ارائه مجموعه مقالات مرتبط با  یونیکس ( پنج مقاله ) , به بررسی مهمترین نقاط آسیب پذیر در ویندوز  , طی مقالات جداگانه ای خواهیم پرداخت .
همانگونه که اشاره گردید , اغلب تهدیدات و حملات , متاثر از وجود نقاط آسیب پذیر در سیستم های عامل بوده که زمینه تهاجم را برای مهاجمان فراهم می آورد .  شناسائی و آنالیز نقاط آسیب پذیر در هر یک از سیستم های عامل , ماحصل  تلاش و پردازش دهها کارشناس امنیتی ورزیده در سطح جهان است و می بایست مدیران سیستم و شبکه در یک سازمان بسرعت با آنان آشنا و اقدامات لازم را انجام دهند.
نقاط آسیب پذیر موجود در هر سیستم عامل  که در ادامه به آنان اشاره می گردد , سندی پویا و شامل دستورالعمل های لازم بمنظور برخورد مناسب با هر یک از نقاط آسیب پذیر و لینک هائی به سایر اطلاعات مفید و تکمیلی مرتبط با ضعف امنیتی است .
مهمترین نقاط آسیب پذیر:
یونیکس , یکی از سیستم های عامل رایج در جهان بوده که امروزه در سطح بسیار وسیعی استفاده می گردد . تا کنون حملات متعددی توسط مهاجمین متوجه سیستم هائی بوده است که از یونیکس ( نسخه های متفاوت )  بعنوان سیستم عامل استفاده می نمایند . با توجه به حملات متنوع و گسترده انجام شده , می توان مهمترین نقاط آسیب پذیر یونیکس را به ده گروه عمده تقسیم نمود :
•    BIND Domain Name System
•    Remote Procedure Calls (RPC)
•    Apache Web Server
•    General UNIX Authentication Accounts with No Passwords or Weak Passwords
•    Clear Text Services
•    Sendmail
•    Simple Network Management Protocol (SNMP)
•    Secure Shell (SSH)
•    Misconfiguration of Enterprise Services NIS/NFS
•    Open Secure Sockets Layer (SSL)
در بخش اول این مقاله , به بررسی BIND Domain Name System  وRemote Procedure Calls   (موارد یک و دو)  , خواهیم پرداخت .
اولین نقطه آسیب پذیر : BIND Domain Name System
 نرم افزار BIND ) Berkeley Internet Name Domain) , در مقیاس گسترده ای و بمنظور پیاده سازی DNS)Domain Name Service) , استفاده می گردد. BIND , سیستمی حیاتی است که از آن بمنظور تبدیل اسامی میزبان ( نظیر : www.srco.ir ) به آدرس IP ریجستر شده ,استفاده می گردد .با توجه به استفاده وسیع از BIND  و جایگاه حیاتی آن در یک شبکه کامپیوتری , مهاجمان آن را بعنوان یک هدف مناسب بمنظور انجام حملات , خصوصا"  از نوع DoS)Denila Of  Service) انتخاب و حملات متنوعی را در ارتباط با آن انجام داده اند. حملات فوق,از کارافتادن سرویس DNS و عدم دستیابی به اینترنت برای سرویس های مربوطه و میزبانان را می تواند بدنبال داشته باشد. با اینکه پیاده کنندگان BIND , تلاشی مستمر را از گذشته تا کنون بمنظور برطرف نمودن نقاط آسیب پذیر انجام داده اند , ولی هنوز تعداد زیادی از نقاط آسیب پذیر قدیمی , بدرستی پیکربندی نشده و سرویس دهندگان آسیب پذیر در آن باقی مانده است .
عوامل متعددی در بروز اینگونه حملات نقش دارد: عدم آگاهی لازم مدیران سیستم در خصوص ارتقا امنیتی سیستم هائی که بر روی آنان Bind deamon  بصورت غیر ضروری  اجرا می گردد و پیکربندی نامناسب فایل ها , نمونه هائی از عوامل فوق بوده و  می تواند زمینه  یک تهاجم از نوع DoS  , یک Buffer Overflow و یا  بروز اشکال در DNS Cache  را بدنبال داشته باشد.از جمله مواردیکه اخیرا" در رابطه با ضعف امنیتی  BIND کشف شده است مربوط به یک تهاجم از نوع DoS است . مقاله CERT Advisory CA-2002-15  جزئیات بیشتری را در این رابطه ارائه می نماید. از دیگر حملات اخیر , تهاجمی  از نوع Buffer Overflow است . مقاله CERT Advisory CA-2002-19  جزئیات بیشتری را در این رابطه در اختیار قرار می دهد. درتهاجم فوق , یک مهاجم از نسخه آسیب پذیر پیاده سازی  توابع Resolver مربوط به DNS  استفاده و با ارسال پاسخ های مخرب به DNS و اجرای کد دلخواه , امکان  سو استفاده از نقطه آسیب پذیر فوق را فراهم و حتی دربرخی موارد می تواند زمینه بروز یک تهاجم از نوع  DoS را باعث گردد .
تهدیدی دیگر که می تواند در این رابطه وجود داشته باشد , حضور یک سرویس دهنده BIND آسیب پذیر در شبکه است . در چنین مواردی , مهاجمان از وضعیت فوق استفاده و از آن بمنزله مکانی جهت استقرار داده های غیر معتبر خود و بدون آگاهی مدیرسیستم استفاده می نمایند. بدین ترتیب , مهاجمان از سرویس دهنده بعنوان پلات فرمی بمنظور فعالیت های آتی مخرب خود بهره برداری خواهند کرد .
سیستم های عامل در معرض تهدید :
تقریبا" تمامی سیستم های عامل  یونیکس و لینوکس بهمراه یک نسخه از BIND  ارائه شده اند .در صورت پیکربندی میزبان بعنوان سرویس دهنده , نسخه ای  از BIND بر روی آن نصب خواهد شد.
نحوه تشخیص آسیب پذیری سیستم :
در صورت دارا بودن  نسخه خاصی از BIND  که بهمراه سیستم عامل ارائه و بر روی سیستم نصب شده است , می بایست عملیات بهنگام سازی آن را با استفاده از آخرین Patch های ارائه شده توسط تولید کننده ( عرضه کننده ) انجام داد. در صورت استفاده از نسخه BIND مربوط به  ISC: Internet Software Consortium , می بایست از نصب آخرین نسخه BIND , اطمینان حاصل نمود . در صورتیکه BIND  نصب شده بر روی سیستم , نسخه ای قدیمی بوده و یا بطور کامل  Patch نشده باشد , احتمال آسیب پذیری سیستم وجود خواهد داشت . در اکثر سیستم ها , دستور : "named - v " , اطلاعات لازم در خصوص نسخه BIND نصب شده بر روی سیستم را بصورت X.Y.Z نمایش خواهد داد . X , نشاندهنده نسخه اصلی , Y ,نشاندهنده جزئیات نسخه و Z نشاندهنده یک Patch Level است . پیشنهاد می گردد , آخرین نسخه BIND  ارائه شده  توسط  ISC  را دریافت و آن را  بر روی سیستم نصب نمود. آخرین نسخه موجود Version 9.2.2 بوده و می توان آن را از سایت  ISC دریافت نمود.  یکی دیگر از رویکردهای کنشگرایانه مرتبط با نگهداری امنیت  BIND ,  عضویت در گروه های خبری نظیر Symantec  برای آگاهی از آخرین هشدارهای امنیتی است . در این راستا می توان از یک برنامه پویشگر بهنگام شده  که قادر به بررسی دقیق سیستم های DNS بمنظور تشخیص نقاط  آسیب پذیراست , نیز استفاده گردد .

نحوه حفاظت در مقابل نقطه آسیب پذیر:
بمنظور حفاظت در مقابل نقاط آسیب پذیر مرتبط با BIND موارد زیر پیشنهاد می گردد :
•    غیر فعال نمودن BIND deamon ( به آن  named نیز اطلاق  می گردد ) بر روی سیستم هائی که بعنوان یک سرویس دهنده DNS در نظر گرفته نشده اند .  بمنظور پیشگیری ازاعمال برخی تغییرات خاص ( نظیر فعال نمودن مجدد آن ) ,  می توان  نرم افزار BIND  را از روی اینگونه سیستم ها حذف نمود.
•    بمنظور بهنگام سازی سرویس دهنده DNS , از تمامی Patch های ارائه شده توسط تولید کنندگان استفاده و در صورت امکان آن را به آخرین نسخه موجود ارتقا دهید . برای دریافت اطلاعات تکمیلی در رابطه با نصب مطمئن تر BIND , از مقالات ارائه شده درسایت CERT و بخش UNIX Security Checklist , استفاده نمائید .
•    بمنظور پیچیده تر نمودن حملات اتوماتیک و یا پویش سیستم مورد نظر , Banner مربوط به " Version String " را از BIND حذف و نسخه واقعی BIND  را با یک شماره نسخه غیرواقعی در فایل named.conf , جایگزین نمائید .
•    امکان ارسال انتقالات Zone را صرفا" برای سرویس دهندگان ثانویه DNS در Domain فراهم نمائید (  secondary DNS servers) . امکان انتقالات Zone در ارتباط با  Domain های Parent و Child را غیر فعال و در مقابل از امکان Delegation ( واگذاری مسئولیت ) و فورواردینگ ( Forwarding ) استفاده نمائید .
•    امکان Recursion و glue fetching را بمنظور حفاظت در مقابل عماکرد ناصحیح  DNS Cache , غیر فعال نمائید .
•    بمنظور حفاظت در رابطه با استفاده از "named" و  تحت تاثیر قرار دادن تمامی سیستم , BIND را محدود نمائید . بنابراین BIND بعنوان یک کاربر non-privilage در دایرکتوری Chroot اجرا می گردد. برای نسخه شمازه نه BIND از آدرس  http://www.losurs.org/docs/howto/Chroot-BIND.html  استفاده نمائید .
بمنظور حفاظت در مقابل حملات اخیر و مرتبط با  نقاط آسیب پذیر کشف شده BIND  می توان از منابع زیر استفاده نمود:
•    برای نقطه آسیب پذیر DoS در رابطه با ISC BIND 9 از آدرس  http//www.cert.org/advisories/CA-2002-15.html    استفاده گردد.
•    چندین نقطه آسیب پذیر DoS در رابطه با ISC BIND 8  از آدرس  http://www.isc.org/products/BIND/bind-security.html  استفاده گردد .
برای آگاهی و استفاده از پیشنهادات لازم بمنظور نصب ایمن تر BIND بر روی سیستم های سولاریس , می توان از آدرس : Running the BIND9 DNS Server Securely   و آرشیو مقالات ارائه شده در آدرس Afentis  استفاده نمود.
دومین  نقطه آسیب پذیر :  ( Remote Procedure Calls (RPC
با استفاده از RPC برنامه های موجود بر روی یک کامپیوتر قادر به  اجرای روتین هائی در کامپیوتر دوم از طریق  ارسال داده و بازیابی نتایج می باشند . با توجه به جایگاه عملیاتی RPC , استفاده از آن  بسیار متداول بوده و درموارد متعددی از آن بمنظور ارائه سرویس های توزیع شده شبکه نظیر مدیریت از راه دور , اشتراک فایل NFS و NIS  استفاده می گردد.وجود ضعف های امنیتی متعدد در RPC باعث  بهره برداری مهاجمان بمنظور انجام حملات مختلفی شده است .دراکثر موارد , سرویس های RPC با مجوزهای بیش از حد معمول  , اجرا می گردند . بدین ترتیب یک مهاجم غیر مجاز قادر به استفاده از سیستم های آسیب پذیر در جهت اهداف خود خواهد بود.اکثر حملات از نوع DoS در  سال 1999 و اوایل سال 2000 در ارتباط با سیستم هائی بود که دارای ضعف امنیـتی و نقظه آسیب پذیر RPC بودند. مثلا" حملات گشترده و موفقیت آمیز در رابطه با سیستم های نظامی امریکا , بدلیل نقطه آسیب پذیر RPC کشف شده در صدها دستگاه کامپیوتر مربوط به وزارت دفاع امریکا بوده است . اخیرا" نیز  وجود یک ضعف امنیتی DCOM RPC  در ویندوز ,  باعث انتشار گسترده یک کرم  در سطح اینترنت گردید .
سیستم های عامل در معرض تهدید :
تمامی نسخه های یونیکس و لینوکس که بر روی آنان سرویس های RPC نصب شده است در معرض این آسیب می باشند .
نحوه تشخیص آسیب پذیری سیستم :
با استفاده از یک پویشگر نقاط آسیب پذیر و یا دستور " rpcinfo" , می توان از اجرا یکی از سرویس های متداول RPC  بر روی سیستم آگاه گرید :
RPC Service    RPC Program Number
rpc.ttdbserverd    100083
rpc.cmsd    100068
rpc.statd    100024
rpc.mountd    100005
sadmind    100232
cachefsd    100235
snmpXdmid    100249
سرویس های RPC , عموما" از طریق حملات buffer Overflow , مورد سو استفاده قرار می گیرند .علت این امر , عدم انجام بررسی لازم و کافی در خصوص خطاها و یا اعتبار داده های ورودی توسط برنامه های RPC است . نقاط آسیب پذیر Buffer overflow , این امکان را برای یک مهاجم فراهم می نماید که داده غیر قابل پیش بینی را ( اغلب بصورت کد مخرب ) به درون حافظه برنامه , ارسال نماید . با توجه به ضعف موجود در رابطه با بررسی خطا و  صحت داده , داده ارسالی مکان هائی حساس و کلیدی که مورد استفاده پردازنده می باشند را بازنویسی می نماید.در یک تهاجم موفقیت آمیز Overflow , کد مخرب ارسالی ,در ادامه توسط سیستم عامل اجرا می گردد . با توجه به اینکه تعداد زیادی از سرویس های RPC , با مجوزهای بیش از حد معمول ,  اجرا می گردند , استفاده موفقیت آمیز از نقاط آسیب پذیر فوق می تواند امکان دسـیابی غیر مجاز و از راه  دور را به سیستم فراهم می نماید.
نحوه حفاظت در مقابل نقطه آسیب پذیر: 
بمنظور حفاظت سیستم در مقابل حملات مبتنی بر RPC , موارد زیر پیشنهاد می گردد :
•    غیر فعال نمودن و یا حذف هر یک از سرویس های  RPC که ضرورتی به استفاده از آن  بر روی شبکه  نمی باشد .
•    نصب آخرین Patch ارائه شده در رابطه با سرویس هائی که امکان حذف آنان وجود ندارد:
- برای نرم افزار سولاریس از آدرس  (   http://sunsolve.sun.com   )   استفاده گردد.
- برای IBM AIX  از آدرس : http://www.ibm.com/support/us  و  http://techsupport.services.ibm.com/server/fixes   استفاده گردد.
- برای نرم افزار SGI  از آدرس :  http://support.sgi.com  استفاده گردد .
- برای کامپک ( Digital Unix ) از آدرس    http://www.compaq.com/support 
- برای لینوکس  از آدرس :  http://www.redhat.com/apps/support/errata    و http://www.debian.org./security  استفاده گردد .
•     عملیات جستجو بمنظور آگاهی و نصب آخرین Patch  مربوطه می بایست بصورت مستمر انجام شود.
•    پورت 111 ( TCP و UDP ) مربوط به RPC portmapper  و پورت 135 ( TCP و UDP ) مربوط به  Windows RPC را در سطح روتر و یا فایروال بلاک نمائید .
•     پورت های Loopback  32770 , 32789  مربوط بهTCP و UDP را بلاک نمائید .
•    فعال نمودن یک پشته غیراجرائی  بر روی سیستم های عاملی که از ویژگی فوق , حمایت می نمایند. استفاده از یک پشته غیراجرائی , لایه ای حفاظتی در مقابل تمامی حملات Buffer overflows نبوده ولی می تواند عاملی موثر در جهت مقابله با برخی از حملات استاندارد گردد.
•    در ارتباط با سیستم های فایل NFS صادراتی  , مراحل زیر می بایست دنبال گردد :
- استفاده از میزبان / IP   مبتنی بر لیست های صادراتی
- پیکربندی سیستم های  فایل صادراتی بصورت فقط خواندنی
- استفاده از "nfsbug" برای پویش نقاط آسیب پذیر 
سومین نقطه آسیب پذیر :   Windows Authentication
استفاده از رمزعبور, روش های تائید کاربر و کدهای امنیتی در هر گونه تعامل ارتباطی بین کاربران وسیستم های اطلاعاتی , امری متداول و رایج است . اکثر روش ها ی  تائید کاربران , نظیر حفاظت فایل و داده , مستقیما" به رمزهای عبور ارائه شده توسط کاربران , بستگی خواهد داشت . پس از تائید کاربران , امکان دستیابی آنان به منابع مشخص شده فراهم و هر یک از آنان  با توجه به امتیازات و مجوزهای نسبت داده شده , قادر به استفاده از منابع موجودخواهند بود. در اغلب موارد , فعالیت کاربرانی که مجاز بودن آنان برای دستیابی به منابع , تائید شده است , لاگ نشده و یا در صورتیکه فعالیت آنان ثبت گردد , کمتر سو ظنی به آنان می تواند وجود داشته باشد . ( آنان پس از تائید وارد میدانی شده اند که بدون هیچگونه ردیابی , قادر به انجام فعالیت های گسترده ای خواهند بود) . بنابراین , رمز عبور دارای نقشی حیاتی و اساسی در ایجاد اولین سطح دفاع در یک سیستم اطلاعاتی بوده  و از دست رفتن رمز عبور و یا  ضعف آن می تواند سیستم را در معرض تهدیدات جدی قرار دهد . مهاجمان پس از دستیابی به رمز عبور کاربران تائید شده ( استفاده از مکانیزم های متفاوت ) قادر به دستیابی منابع سیستم و حتی تغییر در تنظیمات سایر account های تعریف شده و موجود بر روی سیستم خواهند بود,عملیاتی که می تواند پیامدهای بسیار منفی را بدنبال داشته باشد . پس می بایست بپذیریم که وجود یک account ضعیف و یا فاقد رمز عبور می تواند تهدیدی جدی در یک سازمان باشد . در این راستا علاوه بر اینکه می بایست از پتانسیل های ارائه شده توسط سیستم عامل با دقت استفاده نمود , ضروری است , تابع یک  سیاست امنیتی تدوین شده در رابطه با رمز عبور در سازمان متبوع خود باشیم . تعریف و نگهداری یک account بهمراه رمز عبور مربوطه در سازمان ما تابع چه سیاست امنیتی است ؟  مهمترین و متداولترین نقاط آسیب پذیر در ارتباط با رمز عبور شامل موارد زیر است :
•     Account  تعریف شده  دارای رمز عبور ضعیف و یا فاقد رمز عبور است .
•     عدم حفاظت مناسب کاربران از رمزهای عبور ,صرفنظر از استحکام رمزهای عبور تعریف شده .
•     سیستم عامل و یا سایر نرم افزارهای موجود , امکان ایجاد account مدیریتی ضعیف  و فاقد رمز عبور را فراهم می نمایند .
•    الگوریتم های Hashing رمز عبور( رمزنگاری مبتنی بر کلید عمومی بر پایه یک مقدار hash , استوار بوده و بر اساس یک مقدار ورودی که دراختیار الگوریتم hashing گذاشته می گردد , ایجاد می گردد. در حقیقت مقدار hash , فرم خلاصه شده و رمز شده ای  از مقدار اولیه خود است  ) , شناخته شده بوده و در اغلب موارد مقدار Hashe بدست آمده , بگونه ای ذخیره می گردد که امکان مشاهده آن توسط سایرین وجود خواهد داشت. مناسبترین نوع حفاظت در این راستا , تبعیت از یک سیاست رمز عبور قدرتمند بوده  که در آن دستورالعمل ها ی لازم برای تعریف یک رمز عبورمناسب مشخص و در ادامه با استفاده از ابزارهای موجود, بررسی لازم در خصوص  استحکام و بی نقص بودن رمز عبور صورت گیرد.
ویندوز, رمزهای عبور را بصورت متن شفاف ذخیره و یا ارسال نمی نماید و در این راستا از یک مقدار  Hash  متناظر با  رمزعبور , بمنظور تائید کاربران , استفاده می نماید . یک مقدار Hash دارای طولی ثابت است که توسط بکارگیری یک تابع ریاضی ( الگوریتم hashing ) بر روی  حجم دلخواهی از داده ( message digest  نامیده می شود) ایجاد می شود.در وینوز سه نوع الگوریتم تائید وجود دارد :
•     LM   ( ایمنی کمتر و سازگاری بیشتر )
•    NTLM
•    NTLMv2  ( ایمنی بیشتر و سازگاری کمتر )
با اینکه اکثر محیط های فعلی ویندوز , ضرورتی به حمایت از  (Lan Manager  (LM را ندارند, ولی ویندوز بصورت محلی رمز های عبور Hash  شده مربوط به LM  را ( LANMAN Hashes  نیز نامیده می شود )  بصورت پیش فرض در ویندوز NT , 2000 و XP ( در ویندوز 2003 وضعیت بدین شکل نیست ) ذخیره می نماید. با توجه به اینکهLM  از یک مدل رمزنگاری بمراتب ضعیف تر نسبت به رویکردهای فعلی مایکروسافت ( NTLM,NTLMv2 ) ,  استفاده می نماید, رمزهای عبور LM می توانند در مدت زمانی کوتاه  شکسته گردند. حتی رمزهای عبوری که دارای قدرت و استحکام مناسبی می باشند , در کمتر از یک هفته با استفاده از روش هائی خاص و با اتکا به قدرت سخت افزارهای موجود ,  شکسته خواهند شد
http://www.msdn.miscrosoft.com/library/default.asp?url=/library/en-us/security/Security/h_gly.asp
ضعف LM hashes  بدلایل زیر است :
•     رمزهای عبور محدود  به چهارده کاراکتر می باشند .
•     رمزهای عبور با استفاده از فضای خالی , به چهارده کاراکتر تبدیل می شوند .
•    رمزهای عبور تماما" به حروف بزرگ تبدیل می گردند .
•    رمزهای عبور به دو بخش هفت کاراکتری مجزا تقسیم  می گردند .
با توجه به ماهیت فرآیند hashing ,یک مهاجم صرفا" می بایست عملیات تشخیص رمز عبور( cracking) را محدود به دو مجموعه نماید  که هر یک دارای هفت کاراکتر بوده که به  حروف بزرگ تبدیل شده اند . با تکمیل عملیات فوق و اخد نتایج مثبت , یک مهاجم قادر به تشخیص رمز عبور یک کاربر تائید شده می گردد وبدین ترتیب , امکان دستیابی وی به منابع سیستم فراهم خواهد شد. پیچیدگی عملیات تشخیص Hashe , متنا سب با طول Hash افزایش می یابد , بنابراین رشته هائی که صرفا" شامل هفت کاراکتر می باشند , بمراتب راحت تر نسبت به رشته هائی که دارای چهارده کاراکتر می باشند , تشخیص داده و اصطلاحا" شکسته می گردند. با توجه به این موضوع که تمامی رشته ها شامل هفت کاراکتر بوده و تمامی آنان به حروف بزرگ  نیز تبدیل  می گردند , یک تهاجم به  "سبک - دیکشنری" ( dictionary-style ) نیز بسادگی محقق و موفقیت آن تضمین شده خواهد بود. بنابراین, روش LM hashing , آسیبی جدی را متوجه سیاست های امنیتی رمز عبور نموده و سیستم را در معرض تهدید قرار خواهد داد .
علاوه بر تهدید و خطر ذخیره سازی LM hashes در SAM , فرآیند تائید Lan Manager  , اغلب و بصورت پیش فرص بر روی سرویس گیرندگان فعال و توسط سرویس دهنده پذیرفته می گردد . لازم است به این نکته اشاره گردد که , ماشین هائی که بر روی آنان ویندوز نصب شده است , قادر به استفاده از الگوریتم های hash بمراتب قویتر در مقابل روش ضعیف LM hashes  بمنظور ارسال داده های حساس نظیر رمز عبور می باشند .حداقل پیامد منفی استفاده از روش LM hashes , آسیب پذیری سیستم تائید کاربران در ویندوز بوده و قطعا" در چنین مواردی نمی توان به فرآیند تائید کاربران , اعتماد نمود چراکه  در این وضعیت عملا" امکان استراق سمع ( شنود اطلاعاتی ) فراهم و یک مهاجم قادر به تشخیص و بدست آوردن رمزهای عبور خواهد بود.
سیستم های عامل در معرض تهدید :
تمامی نسخه های ویندوز در معرض این تهدید قرار دارند .
نحوه تشخیص آسیب پذیری سیستم:
با اینکه دلایل و علل متفاوتی می تواند در در رابطه با ضعف رمز عبور مورد توجه قرار گیرد , مثلا" وجود Account های فعال برای کاربرانی که سازمان خود را ترک نموده ویا سرویس هائی که اجرا نشده اند, ولی یکی از مناسبترین روش ها بمنظور آگاهی از استحکام  یک رمز عبور , بررسی  و تست تمامی آنان در مقابل نرم افزارهای cracking رمزهای عبور استفاده شده توسط مهاجمان است . لازم است به این نکته مهم اشاره گردد که از برنامه های تشخیص دهنده رمز عبور بر روی سیستم هائی که حتی مجوز دستیابی به آنان را دارید , بدون اخذ مجوزهای لازم  از مدیران ارشد سیستم  , نمی بایست استفاده نمود. برای دریافت نمونه برنامه هائی در این زمینه می توان از   LC4 )l0phtcrack version 4) و John the Ripper  استفاده کرد . صرفنظر از رویکرد ذخیره سازی محلی LAN Manager hash , موارد زیر می بایست موردتوجه قرار گیرد : 
•     در صورتیکه ویندوز NT , 2000 و یا XP بصورت پیش فرض نصب شده اند,سیستم در معرض آسیب خواهد بود. در چنین مواردی Lan Manager hashes بصورت پیش فرض و محلی ذخیره می گردد.
•    در صورتیکه , بدلایلی نیازمند تائید مبتنی بر LM در یک سازمان بمنظور ارتباط با سرویس دهنده وجود داشته باشد , سیستم مجددا" در معرض آسیب قرار خواهد گرفت .چراکه این نوع از ماشین ها اقدام به ارسال LM hashes نموده و پتانسیل شنود اطلاعاتی در شبکه را ایجاد خواهند کرد.
نحوه حفاظت در مقابل نقطه آسیب پذیر :
بهترین و مناسبترین دفاع در مقابل رمزهای عبور ضعیف , استفاده از یک سیاست مستحکم مشتمل بر دستورالعمل های لازم بمنظور ایجاد رمز عبور قدرتمند و بررسی مستمر آنان بمنظور اطمینان از استحکام و صحت  عملکرد می باشد . در این رابطه موارد زیر پیشنهاد می گردد :
•     اطمینان ازاستحکام و انسجام  رمز های عبور . با استفاده از سخت افزار مناسب و اختصاص زمان کافی , می توان هر رمز عبوری را  crack نمود. در این راستا می  توان با استفاده ازروش های ساده و در عین حال موفقیت آمیز, عملیات تشخیص رمز عبور را انجام داد . اغلب برنامه های تشخیص دهنده رمزعبوراز روشی موسوم به "حملات مبتنی بر سبک دیکشنری " , استفاده می نمایند. با توجه به اینکه روش های رمز نگاری تا حدود زیادی شناخته شده می باشند  , برنامه های  فوق , قادر به مقایسه  شکل  رمز شده یک رمز عبور در مقابل شکل  های رمز شده کلمات دیکشنری می باشند( در زبان های متعدد و استفاده از اسامی مناسب بهمراه جایگشت های مختلف آنان  ) . بنابراین , رمز عبوری  که ریشه آن در نهایت یک کلمه شناخته شده باشد , دارای استعداد ذاتی در رابطه با این نوع از حملات خواهد بود . تعداد زیادی از سازمان ها , آموزش های لازم در خصوص نحوه تعریف رمزهای عبور را به کارکنان خود داده و به آنان گفته شده است  که رمزهای عبور مشتمل بر ترکیبی از حروف الفبائی و کاراکترهای ویژه را برای خود تعریف نمایند.متاسفانه اکثر کاربران این موضوع را رعایت ننموده و  بمنظور تعریف یک رمز عبور با نام "password" , صرفا" اقدام به تبدیل حروف به اعداد و یا حروف ویژه می نمایند ( pa$$w0rd) . چنین جایگشت هائی نیز قادر به  مقاومت در مقابل یک تهاجم مبتنی بر دیکشنری نبوده و  "pa$$w0rd" به روش مشابهی که "password" تشخیص داده می شود , crack خواهد شد .
یک رمز عبور خوب , نمی بایست از ریشه یک  کلمه و یا نام شناخته شده ای  اقتباس شده باشد .در این راستا لازم است به کاربران آموزش لازم در خصوص انتخاب و ایجاد رمزهای عبور از موارد تصادفی نظیر  یک عبارت , عنوان یک کتاب ,نام یک آواز و یا نام یک فیلم  داده شود. با انتخاب  یک رشته طولانی که بر اساس رویکردهای خاصی می تواند انتخاب گردد( گرفتن اولین حرف هر کلمه , جایگزینی یک کاراکتر خاص برای یک کلمه , حذف تمامی حروف صدادارو  سایر موارد ) , کاربران قادر به ایجاد رمزهای عبور مشتمل بر ترکیبی از حروف الفبائی و حروف ویژه بوده که در صورت مواجه شدن  با حملات مبتنی بر دیکشنری , تشخیص آنان بسختی انجام می شود. لازم است به این نکته نیز اشاره گردد که رمزعبور می بایست براحتی بخاطر سپرده شده و بازیابی ( یادآوری)آن مشکل نباشد ( هدف از ذخیره سازی , بازیابی است اگر چیزی را ذخیره  نمائیم ولی در زمان مورد نظر قادر به بازیابی آن نباشیم , سیستم ذخیره و بازیابی ما با اشکال مواجه شده است ! ). پس از تدوین دستورالعمل لازم بمنظور تولید رمزهای عبور مناسب و  آموزش کاربران بمنظور پایبندی به  اصول امنیتی تعریف شده , می بایست از روتین ها ی جانبی متعددی بمنظور اطمینان از پیروی کاربران از دستوراالعمل های اعلام شده , استفاده گردد. بهترین گزینه در این راستا , بررسی صحت رمزهای عبور پس از اعمال تغییرات توسط کاربران است .
ویندوز 2000 , XP و 2003 دارای ابزارهای قدرتمندی بمنظورافزایش توان سیاست های امنیتی می باشند . در اکثر نسخه های ویندوز بمنظور مشاهده سیاست تعریف شده در رابطه با رمز می توان از مسیر زیر استفاده و برنامه  Local Security Policy  را فعال نمود:


Local Security Policy Program
Start| Programs|Administrative Tools |Local Security Policy
Select : Account Policies , Then  Password Policy
•     برنامه  Local Security Policy دارای تنظیمات زیر است :
 Password must meet complexity requirements , با فعال نمودن سیاست فوق , رمزهای عبور ملزم به رعایت استانداردهای موجود بمنظور استحکام و پیچیدگی بیشتر در زمان ایجاد و یا تغییر می باشند. در چنین حالتی , رمزهای عبور تعریف شده می بایست  با لحاظ نمودن موارد زیر ایجاد گردند:

? رمز عبور, نمی بایست شامل تمام و یا بخشی از نام account کاربر باشد .
? رمز عبور می بایست دارای حداقل  شش کاراکتر باشد .
? رمز عبور می بایست شامل کاراکترهائی از سه گروه از چهار مجموعه  زیر باشد :
      ?  حروف بزرگ الفبای انگلیسی ( A تا Z )
      ? حروف کوچک الفبای انگلیسی ( a تا z )
      ? ارقام پایه دهدهی ( رقم های     0 تا 9 )
      ? کاراکترهای غیر الفبائی ( مثلا" ! , $ , # , % )

( Enforce password history (range: 0-24  . اغلب کاربران تمایل دارند که پس از انقضا تاریخ استفاده از رمز عبور خود , مجددا" همان رمز عبور قبلی را تعریف و از آن استفاده نمایند . با استفاده از سیاست فوق , می توان مشخص نمود که در چه زمانی و پس از چندین رمز عبور تعریف شده جدید , کاربران مجاز به استفاده از رمزهای عبور قبلی خود برای وضعیت جدید می باشند .بدین ترتیب ,مدیران شبکه اطمینان لازم در خصوص عدم استفاده مستمر و دائمی یک رمز عبور توسط کاربران را بدست آورده و این موضوع می تواند از زوایای مختلفی بهبود وضعیت امنیتی شبکه را بدنبال داشته باشد . بمنظور نگهداری موثر تاریخچه رمز عبور, نمی بایست امکان تغییر رمزهای عبور بلافاصله  پس از پیکربندی سیاست  minimum password age   , وجود داشته باشد .

( Maximum password age (range: 0-999 days . سیاست فوق , حداکثر عمر( اعتبار)  یک  رمز عبور را بر حسب روز , مشخص می نماید.( قبل از اینکه سیستم کاربر را ملزم به تغییر رمز عبور نماید) . با در نظر گرفتن مقدار صفر , رمز عبور دارای عمری جاودانه خواهد شد !

(Minimum password age (range: 0-999 days . سیاست فوق , حداقل عمر( اعتبار)  یک  رمز عبور را بر حسب روز , مشخص می نماید( قبل از اینکه کاربر قادر به تغییر رمزعبور گردد) . با در نظر گرفتن مقدار صفر ...

 

بخشی از منابع و مراجع پروژه دانلود فایل آسیب پذیری و تهدیدات شبکه های کامپیوتری


http://windowsupdate.microsoft.com


http://www.afentis.com/resources/win


http://www.afentis.com/top


http://www.ntbugtraq.com/dcomrpc.asp


http://www.microsoft.com/technet/security/tools/Tools/MBSAhome.asp

لینک کمکی