مهمترين نقاط آسيب پذير يونيکس و لينوکس ( بخش اول )
دهلران پی سی
سایت جامع علمی ,آموزشی,فرهنگی و تفریحی


سيستم عامل، يکی از عناصر چهار گانه در يک سيستم کامپيوتری است که دارای نقشی بسيار مهم و حياتی در نحوه مديريت منابع سخت افزاری و نرم افزاری است . پرداختن به مقوله  امنيت سيستم های عامل ، همواره از بحث های مهم در رابطه با ايمن سازی اطلاعات در يک سيستم کامپيوتری بوده که امروزه با گسترش اينترنت ، اهميت آن مضاعف شده است . بررسی و آناليز امنيت در سيستم های عامل می بايست با ظرافت و در چارچوبی کاملا" علمی و با در نظر گرفتن تمامی واقعيت های موجود ، انجام تا از يک طرف تصميم گيرندگان مسائل استراتژيک در يک سازمان قادر به انتخاب مستند و منطقی يک سيستم عامل باشند و از طرف ديگر امکان نگهداری و پشتيبانی آن با در نظر گرفتن مجموعه تهديدات موجود و آتی  ، بسرعت و بسادگی ميسر گردد .
اکثر کرم ها و ساير حملات موفقيت آميز در اينترنت ، بدليل وجود نقاط آسيب پذير در تعدادی  اندک  از سرويس های سيستم  های عامل متداول است . مهاجمان ، با فرصت طلبی خاص خود از روش  های متعددی بمنظور سوء استفاده از نقاط ضعف امنيتی شناخته شده ، استفاده نموده  و در اين راستا ابزارهای  متنوع ، موثر و گسترده ای را بمنظور نيل به اهداف خود ، بخدمت می گيرند . مهاجمان ، در اين رهگذر متمرکز بر سازمان ها و موسساتی می گردند که هنوز مسائل موجود امنيتی ( حفره ها و نقاط آسيب پذير ) خود را برطرف نکرده و بدون هيچگونه تبعيضی آنان را بعنوان هدف ، انتخاب می نمايند . مهاجمان بسادگی و بصورت مخرب ،  کرم هائی نظير : بلستر ، اسلامر و 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  می توان از منابع زير استفاده نمود:

برای آگاهی و استفاده از پيشنهادات لازم بمنظور نصب ايمن تر 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" برای پويش نقاط آسيب پذير 

برای اخذ اطلاعات تکميلی در رابطه با نقاط آسيب پذير RPC ،  می توان از آدرس های زير استفاده نمود :

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

منبع:srco.ir


نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:








ارسال توسط هادی احمدی

آرشیو مطالب
پيوند هاي روزانه
امکانات جانبی

آمار وب سایت:  

بازدید امروز : 241
بازدید دیروز : 4
بازدید هفته : 513
بازدید ماه : 825
بازدید کل : 162768
تعداد مطالب : 736
تعداد نظرات : 23
تعداد آنلاین : 1

Google

در اين وبلاگ
در كل اينترنت
 <-PostTitle-> <-PostContent-> 1 <-PostLink->