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