[iranhackers.net]
New Member
مهمترين نقاط آسيب پذير ويندوز ( بخش اول )
سيستم عامل، يکی از عناصر چهار گانه در يک سيستم کامپيوتری است که دارای نقشی بسيار مهم و حياتی در نحوه مديريت منابع سخت افزاری و نرم افزاری است . پرداختن به مقوله امنيت سيستم های عامل ، همواره از بحث های مهم در رابطه با ايمن سازی اطلاعات در يک سيستم کامپيوتری بوده که امروزه با گسترش اينترنت ، اهميت آن مضاعف شده است . بررسی و آناليز امنيت در سيستم های عامل می بايست با ظرافت و در چارچوبی کاملا" علمی و با در نظر گرفتن تمامی واقعيت های موجود ، انجام تا از يک طرف تصميم گيرندگان مسائل استراتژيک در يک سازمان قادر به انتخاب مستند و منطقی يک سيستم عامل باشند و از طرف ديگر امکان نگهداری و پشتيبانی آن با در نظر گرفتن مجموعه تهديدات موجود و آتی ، بسرعت و بسادگی ميسر گردد .
اکثر کرم ها و ساير حملات موفقيت آميز در اينترنت ، بدليل وجود نقاط آسيب پذير در تعدادی اندک از سرويس های سيستم های عامل متداول است . مهاجمان ، با فرصت طلبی خاص خود از روش های متعددی بمنظور سوء استفاده از نقاط ضعف امنيتی شناخته شده ، استفاده نموده و در اين راستا ابزارهای متنوع ، موثر و گسترده ای را بمنظور نيل به اهداف خود ، بخدمت می گيرند . مهاجمان ، در اين رهگذر متمرکز بر سازمان ها و موسساتی می گردند که هنوز مسائل موجود امنيتی ( حفره ها و نقاط آسيب پذير ) خود را برطرف نکرده و بدون هيچگونه تبعيضی آنان را بعنوان هدف ، انتخاب می نمايند . مهاجمان بسادگی و بصورت مخرب ، کرم هائی نظير : بلستر ، اسلامر و Code Red را در شبکه منتشر می نمايند. آگاهی از مهمترين نقاط آسيب پذير در سيستم های عامل ، امری ضروری است . با شناسائی و آناليز اينگونه نقاط آسيب پذير توسط کارشناسان امنيت اطلاعات ، سازمان ها و موسسات قادر به استفاده از مستندات علمی تدوين شده بمنظور برخورد منطقی با مشکلات موجود و ايجاد يک لايه حفاظتی مناسب می باشند.
در مجموعه مقالاتی که ارائه خواهد شد ، به بررسی مهمترين نقاط آسيب پذير ويندور خواهيم پرداخت . در اين راستا ، پس از معرفی هر يک از نقاط آسيب پذير ، علت وجود ضعف امنيتی ، سيستم های عامل در معرض تهديد ، روش های تشخيص آسيب پذيری سيستم و نحوه مقابله و يا پيشگيری در مقابل هر يک از نقاط آسيب پذير ، بررسی می گردد .همزمان با ارائه مجموعه مقالات مرتبط با ويندوز ( پنج مقاله ) ، به بررسی مهمترين نقاط آسيب پذير در يونيکس و لينوکس ، طی مقالات جداگانه ای خواهيم پرداخت .
همانگونه که اشاره گرديد ، اغلب تهديدات و حملات ، متاثر از وجود نقاط آسيب پذير در سيستم های عامل بوده که زمينه تهاجم را برای مهاجمان فراهم می آورد . شناسائی و آناليز نقاط آسيب پذير در هر يک از سيستم های عامل ، ماحصل تلاش و پردازش دهها کارشناس امنيتی ورزيده در سطح جهان است و می بايست مديران سيستم و شبکه در يک سازمان بسرعت با آنان آشنا و اقدامات لازم را انجام دهند.
نقاط آسيب پذير موجود در هر سيستم عامل که در ادامه به آنان اشاره می گردد ، سندی پويا و شامل دستورالعمل های لازم بمنظور برخورد مناسب با هر يک از نقاط آسيب پذير و لينک هائی به ساير اطلاعات مفيد و تکميلی مرتبط با ضعف امنيتی است .
مهمترين نقاط آسيب پذير ويندوز :
ويندوز ، يکی از سيستم های عامل رايج در جهان بوده که امروزه در سطح بسيار وسيعی استفاده می گردد . تا کنون حملات متعددی توسط مهاجمين متوجه سيستم هائی بوده است که از ويندوز ( نسخه های متفاوت ) بعنوان سيستم عامل استفاده می نمايند . با توجه به حملات متنوع و گسترده انجام شده ، می توان مهمترين نقاط آسيب پذير ويندوز را به ده گروه عمده تقسيم نمود :
Internet Information Services (IIS)
Microsoft SQL Server (MSSQL )
Windows Authentication
Internet Explorer (IE )
Windows Remote Access Services
Microsoft Data Access Components (MDAC)
Windows Scripting Host (WSH)
Microsoft Outlook Outlook Express
Windows Peer to Peer File Sharing (P2P)
Simple Network Management Protocol (SNMP)
در بخش اول اين مقاله ، به بررسی IIS وMSSQL (موارد يک و دو) ، خواهيم پرداخت .
اولين نقطه آسيب پذير : ( Internet Information Services (IIS
نصب برنامه IIS با تنظيمات و پيکربندی پيش فرض ، آسيب پذيری خود را در موارد متعددی به اثبات رسانده و می تواند زمينه تهديدات زير را فراهم نمايد :
غير فعال نمودن سرويس ( DoS )
نمايش و بمخاطره انداختن فايل ها و داده های حساس
اجراء دستورات خودسرانه ( اختياری )
بمخاطره انداختن کامل سرويس دهنده
IIS از پتانسل شناخته شده ISAPI ( فايل هائی با انشعاب DLL که به آنان فيلترهای ISAPI هم گفته می شود ) بمنظور همبستگی و ارتباط با فايل هائی که دارای انشعاباتی خاص می باشند ، استفاده می نمايد . پيش پردازنده هائی نظير ColdFusion و PHP از ISAPI استفاده می نمايند.IIS ، از فيلترهای ISAPI ديگر برای انجام عمليات مرتبط با ASP)Active Server Pages ، ( SSI)Server Side Includes) و اشتراک چاپ مبتنی بر وب ، استفاده می نمايد.تعداد زيادی از فيلترهای ISAPI ، مستلزم عمليات خاص و جداگانه ای برای نصب نبوده و عملا" بصورت پيش فرض و در زمان نصب IIS بر روس سيستم مستقر ( نصب ) می گردند . اکثر فيلترهای فوق ، قابل سوء استفاده توسط مهماجمان می باشند. Code red و Code Red 2 ، نمونه هائی از برنامه های مخرب می باشند که از ضعف فوق در جهت پيشبرد اهداف خود استفاده نموده اند .
IIS نيز نظير ساير سرويس دهندگان وب ، شامل برنامه های نمونه ای است که بمنظور اثبات توانائی سرويس دهنده وب ، طراحی شده اند . در طراحی برنامه های فوق ، عملکرد آنان با لحاظ نمودن مسائل امنيتی در يک محيط عملياتی و توليدی مورد توجه قرار نگرفته است . برخی ازنمونه برنامه های ارائه شده بهمراه IIS ، امکان مشاهده و بازنويسی فايل های دلخواه ويا دستيابی از راه دور به اطلاعات حساس نظير رمز عبور مديريت سيستم را فراهم می نمايند .
عدم بهنگام سازی و نگهداری مناسب IIS پس از نصب اوليه ، از ديگر مواردی است که زمينه تهاجم برای مهاجمان را فراهم می آورد .مثلا" نقاط آسيب پذير WebDAV ntdll.dll در IIS 5.0 ، امکان حملات از نوع DoS ( غيرفعال نمودن سرويس ) را فراهم و مهاجمان در ادامه قادر به ايجاد و اجرای اسکريپت های مورد نظر خود بر روی سرويس دهنده می گردند . در مواردی ديگر و با توجه به نقاط آسيب پذير موجود ، مهاجمان قادر به اجرای دستورات دلخواه خود بر روی سرويس دهنده می باشند ( درخواست دقيق و ماهرانه آدرس های URL ) .
امکانات و پتانسيل هائی که در ادامه و با توجه به ضرورت بر روی IIS نصب می گردند ( نظير ColdFusion و PHP ) نيز می تواند زمينه بروز نقاط آسيب پذير جديدی را فراهم نمايد .اينگونه نقاط آسيب پذير، می تواند بدليل عدم پيکربندی صحيح و يا وجود ضعف و اشکال امنيتی در محصول نصب شده ای باشد که به IIS نيز سرايت می نمايد ( توارث مشکلات و ضعف های امنيتی از يک محصول به محصول ديگر) .
سيستم های عامل در معرض تهديد :
ويندوز NT 4.0 که از IIS 4.0 استفاده می نمايد .
ويندوز 2000 سرويس دهنده که از IIS 5.0 استفاده می نمايد .
ويندوز XP نسخه Professional که از نسخه IIS 5.1 استفاده می نمايد .
در رابطه با نقطه آسيب پذير فوق بر روی ويندوز 2003 که از IIS 6.0 استفاده می نمايد ، تاکنون گزارشی ارائه نشده است .
نحوه تشخيص آسيب پذيری سيستم
در صورتيکه برنامه IIS بصورت پيش فرض و استاندارد نصب و يا Patch های مربوطه بر روی آن نصب نشده باشند ، آسيب پذيری برنامه فوق در مقابل حملات قطعی خواهد بود . مديران سيستم وشبکه که مسئوليت نصب ، نگهداری و بکارگيری IIS را بر عهده دارند ، می بايست خود را با جديدترين ابزارهای مايکروسافت و مستندات امنيتی ارائه شده در رابطه با مديريت مناسب IIS ، بهنگام نمايند. در اين رابطه می توان بمنظور دستيابی به مستندات امنيتی مرتبط با IIS از مرکز امنيتی IIS شرکت مايکروسافت استفاده نمود. پيشنهاد می گردد ، برنامه Microsoft BaseLine Security Analyzer را که شامل روتين های حفاظتی مناسب و مرتبط به IIS می باشد را دريافت و از آن بمنظور بررسی وضعيت امنيتی IIS استفاده بعمل آيد . مديران شبکه ، می بايست با استفاده از منابع اطلاعاتی متعدد ارائه شده نظير : Checklists ، مستنداتی که توصيه های لازم در جهت ارتقاء سطح امنيتی را ارائه و مستندات آموزشی نقاط آسيب پذير که توسط مايکروسافت ارائه شده است ، دانش خود را بهنگام و با دنبال نمودن فرآيندهای مناسب فنی ، از صحت عملکرد امنيتی IIS بر روی سيستم های سازمان خود اطمينان حاصل نمايند.مقايسه وضعيت موجود IIS با وضعيت مطلوب ، يکی از روش هائی است که می تواند در اين زمينه مفيد واقع گردد .
نحوه حفاظت در مقابل نقطه آسيب پذير
نصب آخرين Patch ارائه شده : در اولين مرحله ، می بايست سيستم را با استفاده از Patch های ارائه شده ، بهنگام نمود. Patching يک سرويس دهنده نصب شده ، امری ضروری است ولی بتنهائی کافی نخواهد بود . بموازات کشف نقاط ضعف جديد در IIS ، می بايست از Patch مربوطه بسرعت استفاده گردد. Windows Update و AutoUpdate گزينه هائی مناسب بمنظور بهنگام سازی IIS با توجه به آخرين Patch های ارائه شده است .
برنامه ( HFNetChk ( Network Security Hotfix Checker ، به مديران سيستم کمک لازم در پويش و بررسی محلی و يا از راه دور سيستم ها برای Patch های موجود را ارائه می نمايد . ابزار فوق ، قابل استفاده بر روی ويندوز NT 4.0 ، ويندوز 2000 و ويندوز XP می باشد . آخرين نسخه ابزار فوق را می توان از آدرس http://www.microsoft.com/technet/security/tools/hfnetchk.asp دريافت کرد .
در صورتيکه از برنامه های اضافه شده ای نظير CouldDusion ،PerlIIS و يا PHP بهمراه IIS استفاده می گردد ، لازم است به سايت های عرضه کنندگان هر يک از محصولات فوق مراجعه و نسبت به آخرين patch ارائه شده در رابطه با هر محصول آگاه و آنان را با توجه به توصيه های انجام شده بر روی سيستم نصب نمود . امکان Windows Update و ساير سرويس های بهنگام سازی ارائه شده توسط مايکروسافت ، شامل Patch های لازم و مرتبط با محصولات اضافه شده ساير شرکت ها در برنامه IIS مايکروسافت نبوده و لازم است مديران سيستم بهنگام سازی محصولات اضافه شده ( غير مايکروسافت ) در IIS را خود راسا" انجام دهند .
استفاده از برنامه کمکی IIS Lockdown بمنظورنصب مطمئن تر : مايکروسافت ، ابزاری ساده بمنظور ايمن سازی نصب IIS را ارائه که ويزارد IIS Lockdown ناميده می شود. نسخه موجود را می توان از آدرس http://www.microsoft.com/technet/security/tools/locktool.asp ، دريافت نمود. با اجرای برنامه فوق در حالت " Custom " و يا " Expert" ، می توان تغييرات مورد نظر خود را در ارتباط با نصب IIS مشخص نمود. بدين ترتيب ، امکان اعمال تغييرات زير در رابطه با نصب IIS ، فراهم می گردد :
غير فعال نمودن WebDAV ( مگر اينکه محيط مورد نظر شما به وجود آن برای نشر محتوی وب ، نياز داشته باشد )
غير فعال نمودن ISAPI extensions های غير ضروری ( نظير : htr، .idq , .ism ، .printer . )
حذف نمونه برنامه های ارائه شده بهمراه IIS
منع سرويس دهنده وب از اجراء دستورات سيستمی متداول که عموما" توسط مهاجمان استفاده می گردد( نظير cmd.exe و يا tftp.exe ) .
استفاده از URLScan بمنظور فيلتر نمودن درخواست های HTTP : تعدادی زيادی از حملات مرتبط با نقاط آسيب پذير IIS نظير Code Blue و خانواده Code Red ، از کدهای مخربی که بصورت درخواست های HTTP سازماندهی می شوند،استفاده می نمايند( حملاتی از نوع Buffer Overflow ) . فيلتر URLScan را می توان بگونه ای پيکربندی نمودکه باعث عدم پذيرش اينچنين درخواست هائی قبل از پردازش آنان توسط سرويس دهنده باشد.برنامه فوق،بهمراه ويزارد IIS Lockdown ارائه ولی می توان آن را از آدرس : http://www.microsoft.com/technet/security/tools/urlscan.asp نيز دريافت کرد .
دومين نقطه آسيب پذير : ( Microsoft SQL Server (MSSQL
سرويس دهنده SQL مايکروسافت ( MSSQL ) ، دارای چندين نقطه آسيب پذير جدی است که امکان دريافت اطلاعات حساس، تغيير در محتويات بانک اطلاعاتی وبمخاطره انداختن حيات سرويس دهندگان SQL توسط مهاجمان را فراهم می نمايد . در برخی موارد خاص و بدليل عدم پيکربندی صحيح سيستم ، ميزبانان سرويس دهنده نيز ممکن است در معرض تهديد و آسيب قرار گيرند . نقاط آسيب پذير MSSQL ، مورد توجه خاص عموم مهاجمان بوده و آنان بسرعت از ضعف های امنيتی کشف شده در جهت اهداف خود استفاده می نمايند. دو کرم SQLSnake/Spida و SQL-Slammer/SQL-Hell/Sapphire در ساليان اخير ( سال های 2002 و 2003 ) از نقاط ضعف شناخته شده MSSQL استفاده و توانستند در مدت زمان کوتاهی حملات گسترده ای را با توجه به نقظه آسيب پذير فوق ،انجام دهند. ميزبانان آلوده به کرم ها ی فوق ، بمنظور گسترش آلودگی و جستجو جهت يافتن ساير سيستم های آسيب پذير ، ترافيک شبکه را در حد بالائی افزايش داده بودند( اشغال درصد بسيار بالائی از پهنای باند محيط انتقال ). برای دريافت اطلاعات تکميلی در رابطه با کرم های فوق ، می توان از منابع و آدرس های زير استفاده نمود :
اطلاعات تکميلی در رابطه با کرم SQLSnake/Spida ( فعال شده در May 2002 ) :
http://isc.incidents.org/analysis.html?id=157
http://www.eeye.com/html/Research/Advisories/AL20020522.html
http://www.cert.org/incident_notes/IN-2002-04.html
اطلاعات تکميلی در رابطه با کرم SQL-Slammer/SQL-Hell/Sapphire ( فعال شده در تاريخ January 2003 ) :
http://isc.incidents.org/analysis.html?id=180
http://www.nextgenss.com/advisories/mssql-udp.txt
http://www.eeye.com/html/Research/Flash/AL20030125.html
http://www.cert.org/advisories/CA-2003-04.html
براساس گزارش ارائه شده توسط Internet Storm Center ، پورت های 1433 و 1434 ( پورت های پيش فرض سرويس دهنده MSSQL ) ، از جمله پورت هائی می باشند که بصورت دائم توسط مهاجمين مورد بررسی ( نگاه موشکافانه ) قرار می گيرد.
نحوه عملکرد کرم SQLSnake ، به account مديريتی پيش فرض ( sa" account" که دارای يک رمز عبور Null می باشد ) بستگی دارد.در اين رابطه لازم است پيکربندی سيستم بطرز صحيحی انجام و هر يک از سيستم های موجود بمنظور حصول اطمينان از دارا بودن رمز عبور مرتبط با account مربوطه بررسی و بدرستی حفاظت گردند . در صورتيکه از account خاصی استفاده نمی شود ، می بايست نسبت به غير فعال نمودن آنان اقدام گردد.. بمنظوردريافت اطلاعات تکميلی در رابطه تنظيم و مديريت sa Account ، می توان از مستندات ارائه شده در آدرس " Changing the SQL Sever Administrator Login " استفاده نمود . sa Account ، می بايست دارای يک رمز عبور پيچيده بوده که حدس و تشخيص آن مشکل باشد( حتی اگر از آن بمنظور اجراء SQL/MSDE استفاده نمی شود ) .
نحوه عملکرد کرم SQL Slammer ، بر اساس يک Buffer Overflow در SQL Server Resolution Service است . Buffer Overflow فوق ، موجب گسترش ( حمل ) مشکل از سيستمی به سيستم ديگر شده و در اين راستا امنيت ميزبان زمانيکه کرم اقدام به ارسال بسته های اطلاعاتی تهديد آميز خود به پورت 1434 سيستم های مقصد آسيب پذير می نمايد، در معرض تهديد و آلودگی قرار می گيرد. در صورتيکه بر روی يک ماشين ، سرويس هائی از SQL اجراء که مرتبط با اين نوع Stack Buffer Overflow می باشند و بسته های اطلاعاتی خود را بر اساس واقعيت فوق دريافت می نمايد ، تمامی سيستم ها و سرويس دهندگان در معرض تهديد قرار خواهند گرفت .موثرترين روش دفاع در مقابل کرم فوق، Patching مستمر ، اقدامات لازم در جهت پيکربندی سيستم بصورت کنشگرايانه ، پيشگيری سيستم بصورت پويش های ادواری و فيلترينگ پورت 1434 مربوط به UDP در gatway های شبکه است ( اجازه ورود و خروج بسته های اطلاعاتی مرتبط با پورت اشاره شده ) .
عملکرد Microsoft Server 2000 Desktop Engine ) ، MSDE 2000)، را می توان بعنوان " SQL Server Lite" ( زير بناء سرويس دهنده SQL ) در نظرگرفت . تعداد زيادی از صاحبان سيستم حتی نسبت به اين موضوع که بر روی سيستم آنان MSDE اجراء و آنان دارای يک نسخه از SQL Server نصب شده بر روی سيستم می باشند ، آگاهی و شنخت مناسبی را ندارند. MSDE 2000 ، بعنوان يکی از اجزاء اساسی بهمراه محصولات زير نصب می گردد :
SQL/MSDE Server 2000 (Developer, Standard and Enterprise Editions)
Visual Studio .NET (Architect, Developer and Professional Editions)
ASP.NET Web Matrix Tool
Office XP
Access 2002
Visual Fox Pro 7.0/8.0
علاوه بر موارد فوق،نرم افزارهای متعدد ديگری وجود دارد که از MSDE 2000 استفاده می نمايند . برای مشاهده ليست تمامی محصولات مربوطه ، می توان از اطلاعات موجود در آدرس : http://www.SQLsecurity.com/forum/applicationslistgridall.aspx استفاده نمود . باتوجه به اينکه، نرم افزارهای فوق ، از MSDE بعنوان هسته اساسی بانک اطلاعاتی استفاده می نمايند ، آنان نيز دارای نقاط آسيب پذير مشابه سرويس دهنده SQL/MSDE خواهند بود.پيکربندی MSDE 2000 را می توان بگونه ای انجام داد که با استفاده از روش های مختلف به درخواست های اتصال به بانک اطلاعاتی توسط سرويس گيرندگان،گوش داده شود. مثلا" پيکربندی فوق را می توان بصورتی انجام داد که سرويس گيرندگان قادر به استفاده از named pipes بر روی يک NetBIOS Session ( پورت 139/445 پورت TCP ) بوده و يا از سوکت هائی که سرويس گيرندگان با استفاده از پورت 1433 مربوط به TCP به آن متصل می گردند ( امکان استفاده از هر دو رويکرد اشاره شده نيز وجود دارد ) . صرفنظر ازروش انتخابی ، سرويس دهنده SQL و MSDE همواره به پورت 1434 مربوط به UDP گوش خواهند داد . پورت فوق بعنوان يک پورت هماهنگ کننده طراحی شده است . سرويس گيرندگان يک پيام را برای پورت فوق ارسال تا نحوه اتصال سرويس گيرنده به سرويس دهنده ، مشخص گردد .
هسته MSDE 2000 ،در موارديکه با يک بسته اطلاعاتی تک بايتی 0x02 ، بر روی پورت 1434 مربوط به UDP مواجه گردد ، اطلاعاتی در رابطه با خود را برمی گرداند . ساير بسته های اطلاعاتی تکی بايت بدون اينکه الزامی به تائيد آنان برای سرويس دهنده وجود داشته باشد،باعث بروز يک Buffer overflow می گردند .با توجه به اينکه سازماندهی حملات ازاين نوع بر اساس UDP انجام خواهد شد ، وضعيت تهاجم فوق وخيم تر خواهد شد . (صرفنظر از اينکه پردازه های MSDE 2000 در يک بافتار امنيتی مربوط به يک Domain User و يا account مربوط به Local System اجراء می گردند). استفاده موفقيت آميز از حفره های امنيتی موجود ، می تواند سيستم مقصد را در معرض مخاطره و تهديد قرار دهد .
با توجه به اينکه SQL Slammer از يک Buffer overflow بر روی سيستم مقصد استفاده می نمايد ،استفاده مستمر از Patching و پيکربندی دقيق سيستم ، کمک لازم در جهت کاهش تهديد فوق را ارائه می نمايد . با دريافت و استفاده از ابزارهای دفاعی نظير : Microsoft SQL Critical Update Kit ، می توان تمام Domain و يا شبکه های شامل سيستم های آسيب پذير را بررسی و بصورت فايل های متاثر را بهنگام نمود. برای آشنائی و آناليز جزيئات مربوط به کرم اسلامر SQL/MSDE ، می توان از آدرس Incidents.org استفاده نمود .
سيستم های عامل در معرض تهديد :
هر يک از نسخه های ويندوز که بهمراه آنان SQL/MSDE Server 7.0 ، SQL/MSDE Server 2000 و يا Microsoft SQL/MSDE Desktop Engine 2000 نصب شده باشد و هر سيستم نرم افزاری ديگری که بصورت جداگانه از موتور MSDE 2000 استفاده می نمايد، در معرض اين تهديد و آسيب قرار خواهد شد .
نحوه تشخيص آسيب پذيری سيستم
شرکت مايکروسافت مجموعه ای از ابزارهای امنيتی را در اين رابطه ارائه که می توان از طريق آدرس http://www.microsoft.com/sql/downloads/securitytools.asp به آنان دستيابی پيدا نمود . Toolkit ارائه شده ،SQL Critical Update Kit ناميده شده و شامل ابزارهائی نظير SQL Scan و SQL Critical Update است . سايت SqlSecurity.com نيز در اين رابطه ابزاری با نام SQLPingv2.2 را ارائه داده است .ابزار فوق ، يک بسته اطلاعاتی UDP تک بايتی ( مقدار بايت 0X02 ) را به پورت 1434 مربوط به يک ميزبان و يا تمامی Subnet ارسال می نمايد .سرويس دهندگان SQL که به پورت UDP 1434 گوش می دهند ، به آن پاسخ لازم را داده و اطلاعاتی در ارتباط با سيستم نظير شماره نسخه و ساير موارد مربوطه را اعلام می نمايد . عملکرد نرم افزار فوق مشابه Microsoft SQL Scan است .
نحوه حفاظت در مقابل نقطه آسيب پذير :
بمنظور حفاظت سيستم ها در مقابل نقطه آسيب پذير فوق ، عمليات زير را دنبال می نمائيم :
غير فعال نمودن SQL/MSDE Monitor Service در پورت UDP 1434 . بمنظورانجام خواسته فوق، می توان اقدام به نصب و استفاده از قابليت های ارائه شده بهمراه SQL Server 2000 Service Pack 3a نمود. موتور MSDE 2000 دارای دو نقطه آسيب پذير Buffer Overflow است که می تواند توسط يک مهاجم استفاده و از راه دور و بدون هيچگونه الزامی جهت تائيد کاربر، به سرويس دهنده متصل و يک تهاجم از طريق UDP را باعث شود. صرفنظر از اينکه پردازه های MSDE 2000 در بافتار امنيتی يک Domain User و يا account مربوط به Local System اجراء می گردند ، استفاده موفقيت آميز از حفره های امنيتی موجود، ممکن است سيستم مقصد را در معرض مخاطره و تهديد قرار دهد . کرم MS-SQL/MSDE Slammer يک بسته اطلاعاتی شامل 376 بايت را از طريق پورت UDP 1434 برای مقصد مورد نظر خود که بصورت تصادفی انتخاب می گردد، ارسال می نمايد. سيستم های در معرض تهاجم پس از آلودگی ، اقدام به ارسال بسته های اطلاعاتی مشابه 376 بايتی می نمايند . کرم فوق ، ترافيک موجود در شبکه را افزايش خواهد داد .آدرس های IP که بصورت تصادفی انتخاب می گردند ، از نوع multicast بوده و در نهايت يک تهاجم از نوع DoS ( غير فعال نمودن يک سرويس ) بر روی شبکه مقصد، محقق خواهد شد. بر اساس گزارشات ثبت شده ، يک ماشين آلوده بيش از پنجاه MB/Sec از ترافيک شبکه رابخود اختصاص و عملا" امکان انجام ساير عمليات بر روی شبکه سلب می گردد.
بکارگيری آخرين Service Pack برای سرويس دهنده SQL/MSDE و MSDE 2000 . آخرين نسخه های Service Pack در رابطه با سرويس دهنده SQL/MSDE عبارتند از :
- SQL/MSDE Server 7.0 Service Pack 4
- MSDE/SQL Server 2000 Service Pack 3a
بمنظور اطمينان از بهنگام بودن سيستم می توان از " Make Your SQL/MSDE Servers Less Vulnerable " استفاده نمود.
بکارگيری آخرين Patch ارائه شده پس از آخرين Service Pack . بمنظور آگاهی از آخرين Patch های ارائه شده برای تمامی نسخه های سرويس دهنده SQL/MSDE/MSDE می توان از بولتن امنيتی ارائه شده توسط مايکروسافت استفاده نمود . بمنظور اطمينان از نصب آخرين Patch موجود در رابطه با سرويس دهنده SQL/MSDE می توان از آدرس های زير استفاده کرد :
- Microsoft SQL/MSDE Server 7.0
- Microsoft SQL Server 2000
- MSDE Server Desktop Engine 2000 (MSDE 2000)
بکارگيری Patch های خاص و جداگانه ای که پس از آخرين Patch مربوطه ارائه شده اند .پس از معرفی MS02-061 Elevation of Privilege in SQL/MSDE Server Web Tasks ، تاکنون Patch مربوطه ای در اين زمينه ارائه نشده است . بمنظور اطمينان و آگاهی از اخرين Patch ارائه شده می توان از آدرس های زير استفاده نمود :
- Microsoft SQL/MSDE Server 7.0
- Microsoft SQL Server 2000
- MSDE Server Desktop Engine 2000 (MSDE 2000)
فعال نمودن SQL Server Authentication Logging . امکان فوق عموما" غير فعال است . بمنظور فعال نمودن آن می توان از طريق برنامه Enterprise Manager اقدام نمود( Server Properties|Tab Security )
ايمن سازی سرويس دهنده در سطح سيستم و شبکه . يکی از متداولترين حملات MSSQL/MSDE ، برخاسته از account مديريتی پيش فرض ( شناخته شده با نام "sa" ) بوده که دارای يک رمز عبور تهی ( blank ) است. در صورتيکه sa Account مربوط به SQL/MSDE دارای رمز عبور حفاظت شده ای نمی باشد ، سيستم در معرض تهديد جدی قرار خواهد داشت . لازم است در اين راستا از پيشنهادات ارائه شده در بخش System Administrator(SA) Login مربوط به SQL/MSDE Server Book Online استفاده تا اطمينان لازم در خصوص مطمئن بودن رمز عبور sa Account حاصل گردد . ( حتی اگر سرويس دهنده SQL/MSDE مربوطه از account فوق استفاده نمی نمايد، نيز می بايست اقدامات امنيـتی لازم ضورت پذيرد ) . با استفاده از مستندات ارائه شده در MSDN مايکروسافت و در بخش Changing the SQL Server Administrator Login ، و Verify and Change the System Administrator Password by Using MSDE می توان از آخرين امکانات و توصيه های ارائه شده بمنظور پيکربندی و تنظيم مناسبsa Account ، استفاده نمود .
به حداقل رساندن امتيازات مربوط به سرويس MSSQL/MSDE و سرويس دهنده SQL/MSDE Server Agent . در اين رابطه پيشنهاد می گردد که سرويس MSSQL/MSDE سرويس دهنده و SQL/MSDE Server Agent ، تحت يک Valid Domain account با حداقل امتيازات مربوط اجراء گردد( نه بعنوان يک domain administrator و يا SYSTEM ( در ويندوز NT ) و يا LocalSystem ( در ويندوز 2000 و يا XP ) ) . يک سرويس در معرض آسيب که بهمراه امتيازات محلی و يا Domain اجراء می گردد ،به يک مهاجم امکان کنترل کامل سيستم و يا شبکه را خواهد داد . در اين رابطه موارد زير پيشنهاد می گردد :
- فعال نمودن Windows NT Authentication و auditing برای Login های موفقيت آميز و يا با شکست مواجه شده ، در ادامه سرويس MSSQL/MSDEServer رامتوقف و مجددا" آنان را فعال نمائيد . در صورت امکان ، پيکربندی سرويس گيرندگان را بگونه ای انجام دهيد که از NT Authentication استفاده نمايند .
- فيلترينگ بسته های اطلاعاتی می بايست در محدوده های مرزی شبکه انجام تا پيشگيری و ممانعت لازم در خصوص اتصالات ورودی و خروجی غير مجاز به MSSQL و مرتبط با سرويس های خاص صورت پذيرد . فيلترينگ نقطه ورود و خروج پورت های 1434 و 1433 مربوط به TCP/UDP می تواند باعث ممانعت مهاجمان داخلی و يا خارجی از پويش و آلودگی سرويس دهندگان SQL/MSDE که دارای پتانسيل آسيب پذيری می باشند، گردد .
- درصورتيکه لازم است از پورت های 1433 و 1434 مربوط به TCP/UDP استفاده گردد ، می بايست فيلترينگ مناسبی در ارتباط با استفاده نادرست از پورت های فوق را انجام داد .
بمنظور آگاهی از ايمن سازی سرويس دهنده SQL/MSDE ، می توان از آدرس های زير استفاده نمود :
Microsoft SQL/MSDE Server 7.0 Security
Microsoft SQL/MSDE Server 2000 Security
سيستم عامل، يکی از عناصر چهار گانه در يک سيستم کامپيوتری است که دارای نقشی بسيار مهم و حياتی در نحوه مديريت منابع سخت افزاری و نرم افزاری است . پرداختن به مقوله امنيت سيستم های عامل ، همواره از بحث های مهم در رابطه با ايمن سازی اطلاعات در يک سيستم کامپيوتری بوده که امروزه با گسترش اينترنت ، اهميت آن مضاعف شده است . بررسی و آناليز امنيت در سيستم های عامل می بايست با ظرافت و در چارچوبی کاملا" علمی و با در نظر گرفتن تمامی واقعيت های موجود ، انجام تا از يک طرف تصميم گيرندگان مسائل استراتژيک در يک سازمان قادر به انتخاب مستند و منطقی يک سيستم عامل باشند و از طرف ديگر امکان نگهداری و پشتيبانی آن با در نظر گرفتن مجموعه تهديدات موجود و آتی ، بسرعت و بسادگی ميسر گردد .
اکثر کرم ها و ساير حملات موفقيت آميز در اينترنت ، بدليل وجود نقاط آسيب پذير در تعدادی اندک از سرويس های سيستم های عامل متداول است . مهاجمان ، با فرصت طلبی خاص خود از روش های متعددی بمنظور سوء استفاده از نقاط ضعف امنيتی شناخته شده ، استفاده نموده و در اين راستا ابزارهای متنوع ، موثر و گسترده ای را بمنظور نيل به اهداف خود ، بخدمت می گيرند . مهاجمان ، در اين رهگذر متمرکز بر سازمان ها و موسساتی می گردند که هنوز مسائل موجود امنيتی ( حفره ها و نقاط آسيب پذير ) خود را برطرف نکرده و بدون هيچگونه تبعيضی آنان را بعنوان هدف ، انتخاب می نمايند . مهاجمان بسادگی و بصورت مخرب ، کرم هائی نظير : بلستر ، اسلامر و Code Red را در شبکه منتشر می نمايند. آگاهی از مهمترين نقاط آسيب پذير در سيستم های عامل ، امری ضروری است . با شناسائی و آناليز اينگونه نقاط آسيب پذير توسط کارشناسان امنيت اطلاعات ، سازمان ها و موسسات قادر به استفاده از مستندات علمی تدوين شده بمنظور برخورد منطقی با مشکلات موجود و ايجاد يک لايه حفاظتی مناسب می باشند.
در مجموعه مقالاتی که ارائه خواهد شد ، به بررسی مهمترين نقاط آسيب پذير ويندور خواهيم پرداخت . در اين راستا ، پس از معرفی هر يک از نقاط آسيب پذير ، علت وجود ضعف امنيتی ، سيستم های عامل در معرض تهديد ، روش های تشخيص آسيب پذيری سيستم و نحوه مقابله و يا پيشگيری در مقابل هر يک از نقاط آسيب پذير ، بررسی می گردد .همزمان با ارائه مجموعه مقالات مرتبط با ويندوز ( پنج مقاله ) ، به بررسی مهمترين نقاط آسيب پذير در يونيکس و لينوکس ، طی مقالات جداگانه ای خواهيم پرداخت .
همانگونه که اشاره گرديد ، اغلب تهديدات و حملات ، متاثر از وجود نقاط آسيب پذير در سيستم های عامل بوده که زمينه تهاجم را برای مهاجمان فراهم می آورد . شناسائی و آناليز نقاط آسيب پذير در هر يک از سيستم های عامل ، ماحصل تلاش و پردازش دهها کارشناس امنيتی ورزيده در سطح جهان است و می بايست مديران سيستم و شبکه در يک سازمان بسرعت با آنان آشنا و اقدامات لازم را انجام دهند.
نقاط آسيب پذير موجود در هر سيستم عامل که در ادامه به آنان اشاره می گردد ، سندی پويا و شامل دستورالعمل های لازم بمنظور برخورد مناسب با هر يک از نقاط آسيب پذير و لينک هائی به ساير اطلاعات مفيد و تکميلی مرتبط با ضعف امنيتی است .
مهمترين نقاط آسيب پذير ويندوز :
ويندوز ، يکی از سيستم های عامل رايج در جهان بوده که امروزه در سطح بسيار وسيعی استفاده می گردد . تا کنون حملات متعددی توسط مهاجمين متوجه سيستم هائی بوده است که از ويندوز ( نسخه های متفاوت ) بعنوان سيستم عامل استفاده می نمايند . با توجه به حملات متنوع و گسترده انجام شده ، می توان مهمترين نقاط آسيب پذير ويندوز را به ده گروه عمده تقسيم نمود :
Internet Information Services (IIS)
Microsoft SQL Server (MSSQL )
Windows Authentication
Internet Explorer (IE )
Windows Remote Access Services
Microsoft Data Access Components (MDAC)
Windows Scripting Host (WSH)
Microsoft Outlook Outlook Express
Windows Peer to Peer File Sharing (P2P)
Simple Network Management Protocol (SNMP)
در بخش اول اين مقاله ، به بررسی IIS وMSSQL (موارد يک و دو) ، خواهيم پرداخت .
اولين نقطه آسيب پذير : ( Internet Information Services (IIS
نصب برنامه IIS با تنظيمات و پيکربندی پيش فرض ، آسيب پذيری خود را در موارد متعددی به اثبات رسانده و می تواند زمينه تهديدات زير را فراهم نمايد :
غير فعال نمودن سرويس ( DoS )
نمايش و بمخاطره انداختن فايل ها و داده های حساس
اجراء دستورات خودسرانه ( اختياری )
بمخاطره انداختن کامل سرويس دهنده
IIS از پتانسل شناخته شده ISAPI ( فايل هائی با انشعاب DLL که به آنان فيلترهای ISAPI هم گفته می شود ) بمنظور همبستگی و ارتباط با فايل هائی که دارای انشعاباتی خاص می باشند ، استفاده می نمايد . پيش پردازنده هائی نظير ColdFusion و PHP از ISAPI استفاده می نمايند.IIS ، از فيلترهای ISAPI ديگر برای انجام عمليات مرتبط با ASP)Active Server Pages ، ( SSI)Server Side Includes) و اشتراک چاپ مبتنی بر وب ، استفاده می نمايد.تعداد زيادی از فيلترهای ISAPI ، مستلزم عمليات خاص و جداگانه ای برای نصب نبوده و عملا" بصورت پيش فرض و در زمان نصب IIS بر روس سيستم مستقر ( نصب ) می گردند . اکثر فيلترهای فوق ، قابل سوء استفاده توسط مهماجمان می باشند. Code red و Code Red 2 ، نمونه هائی از برنامه های مخرب می باشند که از ضعف فوق در جهت پيشبرد اهداف خود استفاده نموده اند .
IIS نيز نظير ساير سرويس دهندگان وب ، شامل برنامه های نمونه ای است که بمنظور اثبات توانائی سرويس دهنده وب ، طراحی شده اند . در طراحی برنامه های فوق ، عملکرد آنان با لحاظ نمودن مسائل امنيتی در يک محيط عملياتی و توليدی مورد توجه قرار نگرفته است . برخی ازنمونه برنامه های ارائه شده بهمراه IIS ، امکان مشاهده و بازنويسی فايل های دلخواه ويا دستيابی از راه دور به اطلاعات حساس نظير رمز عبور مديريت سيستم را فراهم می نمايند .
عدم بهنگام سازی و نگهداری مناسب IIS پس از نصب اوليه ، از ديگر مواردی است که زمينه تهاجم برای مهاجمان را فراهم می آورد .مثلا" نقاط آسيب پذير WebDAV ntdll.dll در IIS 5.0 ، امکان حملات از نوع DoS ( غيرفعال نمودن سرويس ) را فراهم و مهاجمان در ادامه قادر به ايجاد و اجرای اسکريپت های مورد نظر خود بر روی سرويس دهنده می گردند . در مواردی ديگر و با توجه به نقاط آسيب پذير موجود ، مهاجمان قادر به اجرای دستورات دلخواه خود بر روی سرويس دهنده می باشند ( درخواست دقيق و ماهرانه آدرس های URL ) .
امکانات و پتانسيل هائی که در ادامه و با توجه به ضرورت بر روی IIS نصب می گردند ( نظير ColdFusion و PHP ) نيز می تواند زمينه بروز نقاط آسيب پذير جديدی را فراهم نمايد .اينگونه نقاط آسيب پذير، می تواند بدليل عدم پيکربندی صحيح و يا وجود ضعف و اشکال امنيتی در محصول نصب شده ای باشد که به IIS نيز سرايت می نمايد ( توارث مشکلات و ضعف های امنيتی از يک محصول به محصول ديگر) .
سيستم های عامل در معرض تهديد :
ويندوز NT 4.0 که از IIS 4.0 استفاده می نمايد .
ويندوز 2000 سرويس دهنده که از IIS 5.0 استفاده می نمايد .
ويندوز XP نسخه Professional که از نسخه IIS 5.1 استفاده می نمايد .
در رابطه با نقطه آسيب پذير فوق بر روی ويندوز 2003 که از IIS 6.0 استفاده می نمايد ، تاکنون گزارشی ارائه نشده است .
نحوه تشخيص آسيب پذيری سيستم
در صورتيکه برنامه IIS بصورت پيش فرض و استاندارد نصب و يا Patch های مربوطه بر روی آن نصب نشده باشند ، آسيب پذيری برنامه فوق در مقابل حملات قطعی خواهد بود . مديران سيستم وشبکه که مسئوليت نصب ، نگهداری و بکارگيری IIS را بر عهده دارند ، می بايست خود را با جديدترين ابزارهای مايکروسافت و مستندات امنيتی ارائه شده در رابطه با مديريت مناسب IIS ، بهنگام نمايند. در اين رابطه می توان بمنظور دستيابی به مستندات امنيتی مرتبط با IIS از مرکز امنيتی IIS شرکت مايکروسافت استفاده نمود. پيشنهاد می گردد ، برنامه Microsoft BaseLine Security Analyzer را که شامل روتين های حفاظتی مناسب و مرتبط به IIS می باشد را دريافت و از آن بمنظور بررسی وضعيت امنيتی IIS استفاده بعمل آيد . مديران شبکه ، می بايست با استفاده از منابع اطلاعاتی متعدد ارائه شده نظير : Checklists ، مستنداتی که توصيه های لازم در جهت ارتقاء سطح امنيتی را ارائه و مستندات آموزشی نقاط آسيب پذير که توسط مايکروسافت ارائه شده است ، دانش خود را بهنگام و با دنبال نمودن فرآيندهای مناسب فنی ، از صحت عملکرد امنيتی IIS بر روی سيستم های سازمان خود اطمينان حاصل نمايند.مقايسه وضعيت موجود IIS با وضعيت مطلوب ، يکی از روش هائی است که می تواند در اين زمينه مفيد واقع گردد .
نحوه حفاظت در مقابل نقطه آسيب پذير
نصب آخرين Patch ارائه شده : در اولين مرحله ، می بايست سيستم را با استفاده از Patch های ارائه شده ، بهنگام نمود. Patching يک سرويس دهنده نصب شده ، امری ضروری است ولی بتنهائی کافی نخواهد بود . بموازات کشف نقاط ضعف جديد در IIS ، می بايست از Patch مربوطه بسرعت استفاده گردد. Windows Update و AutoUpdate گزينه هائی مناسب بمنظور بهنگام سازی IIS با توجه به آخرين Patch های ارائه شده است .
برنامه ( HFNetChk ( Network Security Hotfix Checker ، به مديران سيستم کمک لازم در پويش و بررسی محلی و يا از راه دور سيستم ها برای Patch های موجود را ارائه می نمايد . ابزار فوق ، قابل استفاده بر روی ويندوز NT 4.0 ، ويندوز 2000 و ويندوز XP می باشد . آخرين نسخه ابزار فوق را می توان از آدرس http://www.microsoft.com/technet/security/tools/hfnetchk.asp دريافت کرد .
در صورتيکه از برنامه های اضافه شده ای نظير CouldDusion ،PerlIIS و يا PHP بهمراه IIS استفاده می گردد ، لازم است به سايت های عرضه کنندگان هر يک از محصولات فوق مراجعه و نسبت به آخرين patch ارائه شده در رابطه با هر محصول آگاه و آنان را با توجه به توصيه های انجام شده بر روی سيستم نصب نمود . امکان Windows Update و ساير سرويس های بهنگام سازی ارائه شده توسط مايکروسافت ، شامل Patch های لازم و مرتبط با محصولات اضافه شده ساير شرکت ها در برنامه IIS مايکروسافت نبوده و لازم است مديران سيستم بهنگام سازی محصولات اضافه شده ( غير مايکروسافت ) در IIS را خود راسا" انجام دهند .
استفاده از برنامه کمکی IIS Lockdown بمنظورنصب مطمئن تر : مايکروسافت ، ابزاری ساده بمنظور ايمن سازی نصب IIS را ارائه که ويزارد IIS Lockdown ناميده می شود. نسخه موجود را می توان از آدرس http://www.microsoft.com/technet/security/tools/locktool.asp ، دريافت نمود. با اجرای برنامه فوق در حالت " Custom " و يا " Expert" ، می توان تغييرات مورد نظر خود را در ارتباط با نصب IIS مشخص نمود. بدين ترتيب ، امکان اعمال تغييرات زير در رابطه با نصب IIS ، فراهم می گردد :
غير فعال نمودن WebDAV ( مگر اينکه محيط مورد نظر شما به وجود آن برای نشر محتوی وب ، نياز داشته باشد )
غير فعال نمودن ISAPI extensions های غير ضروری ( نظير : htr، .idq , .ism ، .printer . )
حذف نمونه برنامه های ارائه شده بهمراه IIS
منع سرويس دهنده وب از اجراء دستورات سيستمی متداول که عموما" توسط مهاجمان استفاده می گردد( نظير cmd.exe و يا tftp.exe ) .
استفاده از URLScan بمنظور فيلتر نمودن درخواست های HTTP : تعدادی زيادی از حملات مرتبط با نقاط آسيب پذير IIS نظير Code Blue و خانواده Code Red ، از کدهای مخربی که بصورت درخواست های HTTP سازماندهی می شوند،استفاده می نمايند( حملاتی از نوع Buffer Overflow ) . فيلتر URLScan را می توان بگونه ای پيکربندی نمودکه باعث عدم پذيرش اينچنين درخواست هائی قبل از پردازش آنان توسط سرويس دهنده باشد.برنامه فوق،بهمراه ويزارد IIS Lockdown ارائه ولی می توان آن را از آدرس : http://www.microsoft.com/technet/security/tools/urlscan.asp نيز دريافت کرد .
دومين نقطه آسيب پذير : ( Microsoft SQL Server (MSSQL
سرويس دهنده SQL مايکروسافت ( MSSQL ) ، دارای چندين نقطه آسيب پذير جدی است که امکان دريافت اطلاعات حساس، تغيير در محتويات بانک اطلاعاتی وبمخاطره انداختن حيات سرويس دهندگان SQL توسط مهاجمان را فراهم می نمايد . در برخی موارد خاص و بدليل عدم پيکربندی صحيح سيستم ، ميزبانان سرويس دهنده نيز ممکن است در معرض تهديد و آسيب قرار گيرند . نقاط آسيب پذير MSSQL ، مورد توجه خاص عموم مهاجمان بوده و آنان بسرعت از ضعف های امنيتی کشف شده در جهت اهداف خود استفاده می نمايند. دو کرم SQLSnake/Spida و SQL-Slammer/SQL-Hell/Sapphire در ساليان اخير ( سال های 2002 و 2003 ) از نقاط ضعف شناخته شده MSSQL استفاده و توانستند در مدت زمان کوتاهی حملات گسترده ای را با توجه به نقظه آسيب پذير فوق ،انجام دهند. ميزبانان آلوده به کرم ها ی فوق ، بمنظور گسترش آلودگی و جستجو جهت يافتن ساير سيستم های آسيب پذير ، ترافيک شبکه را در حد بالائی افزايش داده بودند( اشغال درصد بسيار بالائی از پهنای باند محيط انتقال ). برای دريافت اطلاعات تکميلی در رابطه با کرم های فوق ، می توان از منابع و آدرس های زير استفاده نمود :
اطلاعات تکميلی در رابطه با کرم SQLSnake/Spida ( فعال شده در May 2002 ) :
http://isc.incidents.org/analysis.html?id=157
http://www.eeye.com/html/Research/Advisories/AL20020522.html
http://www.cert.org/incident_notes/IN-2002-04.html
اطلاعات تکميلی در رابطه با کرم SQL-Slammer/SQL-Hell/Sapphire ( فعال شده در تاريخ January 2003 ) :
http://isc.incidents.org/analysis.html?id=180
http://www.nextgenss.com/advisories/mssql-udp.txt
http://www.eeye.com/html/Research/Flash/AL20030125.html
http://www.cert.org/advisories/CA-2003-04.html
براساس گزارش ارائه شده توسط Internet Storm Center ، پورت های 1433 و 1434 ( پورت های پيش فرض سرويس دهنده MSSQL ) ، از جمله پورت هائی می باشند که بصورت دائم توسط مهاجمين مورد بررسی ( نگاه موشکافانه ) قرار می گيرد.
نحوه عملکرد کرم SQLSnake ، به account مديريتی پيش فرض ( sa" account" که دارای يک رمز عبور Null می باشد ) بستگی دارد.در اين رابطه لازم است پيکربندی سيستم بطرز صحيحی انجام و هر يک از سيستم های موجود بمنظور حصول اطمينان از دارا بودن رمز عبور مرتبط با account مربوطه بررسی و بدرستی حفاظت گردند . در صورتيکه از account خاصی استفاده نمی شود ، می بايست نسبت به غير فعال نمودن آنان اقدام گردد.. بمنظوردريافت اطلاعات تکميلی در رابطه تنظيم و مديريت sa Account ، می توان از مستندات ارائه شده در آدرس " Changing the SQL Sever Administrator Login " استفاده نمود . sa Account ، می بايست دارای يک رمز عبور پيچيده بوده که حدس و تشخيص آن مشکل باشد( حتی اگر از آن بمنظور اجراء SQL/MSDE استفاده نمی شود ) .
نحوه عملکرد کرم SQL Slammer ، بر اساس يک Buffer Overflow در SQL Server Resolution Service است . Buffer Overflow فوق ، موجب گسترش ( حمل ) مشکل از سيستمی به سيستم ديگر شده و در اين راستا امنيت ميزبان زمانيکه کرم اقدام به ارسال بسته های اطلاعاتی تهديد آميز خود به پورت 1434 سيستم های مقصد آسيب پذير می نمايد، در معرض تهديد و آلودگی قرار می گيرد. در صورتيکه بر روی يک ماشين ، سرويس هائی از SQL اجراء که مرتبط با اين نوع Stack Buffer Overflow می باشند و بسته های اطلاعاتی خود را بر اساس واقعيت فوق دريافت می نمايد ، تمامی سيستم ها و سرويس دهندگان در معرض تهديد قرار خواهند گرفت .موثرترين روش دفاع در مقابل کرم فوق، Patching مستمر ، اقدامات لازم در جهت پيکربندی سيستم بصورت کنشگرايانه ، پيشگيری سيستم بصورت پويش های ادواری و فيلترينگ پورت 1434 مربوط به UDP در gatway های شبکه است ( اجازه ورود و خروج بسته های اطلاعاتی مرتبط با پورت اشاره شده ) .
عملکرد Microsoft Server 2000 Desktop Engine ) ، MSDE 2000)، را می توان بعنوان " SQL Server Lite" ( زير بناء سرويس دهنده SQL ) در نظرگرفت . تعداد زيادی از صاحبان سيستم حتی نسبت به اين موضوع که بر روی سيستم آنان MSDE اجراء و آنان دارای يک نسخه از SQL Server نصب شده بر روی سيستم می باشند ، آگاهی و شنخت مناسبی را ندارند. MSDE 2000 ، بعنوان يکی از اجزاء اساسی بهمراه محصولات زير نصب می گردد :
SQL/MSDE Server 2000 (Developer, Standard and Enterprise Editions)
Visual Studio .NET (Architect, Developer and Professional Editions)
ASP.NET Web Matrix Tool
Office XP
Access 2002
Visual Fox Pro 7.0/8.0
علاوه بر موارد فوق،نرم افزارهای متعدد ديگری وجود دارد که از MSDE 2000 استفاده می نمايند . برای مشاهده ليست تمامی محصولات مربوطه ، می توان از اطلاعات موجود در آدرس : http://www.SQLsecurity.com/forum/applicationslistgridall.aspx استفاده نمود . باتوجه به اينکه، نرم افزارهای فوق ، از MSDE بعنوان هسته اساسی بانک اطلاعاتی استفاده می نمايند ، آنان نيز دارای نقاط آسيب پذير مشابه سرويس دهنده SQL/MSDE خواهند بود.پيکربندی MSDE 2000 را می توان بگونه ای انجام داد که با استفاده از روش های مختلف به درخواست های اتصال به بانک اطلاعاتی توسط سرويس گيرندگان،گوش داده شود. مثلا" پيکربندی فوق را می توان بصورتی انجام داد که سرويس گيرندگان قادر به استفاده از named pipes بر روی يک NetBIOS Session ( پورت 139/445 پورت TCP ) بوده و يا از سوکت هائی که سرويس گيرندگان با استفاده از پورت 1433 مربوط به TCP به آن متصل می گردند ( امکان استفاده از هر دو رويکرد اشاره شده نيز وجود دارد ) . صرفنظر ازروش انتخابی ، سرويس دهنده SQL و MSDE همواره به پورت 1434 مربوط به UDP گوش خواهند داد . پورت فوق بعنوان يک پورت هماهنگ کننده طراحی شده است . سرويس گيرندگان يک پيام را برای پورت فوق ارسال تا نحوه اتصال سرويس گيرنده به سرويس دهنده ، مشخص گردد .
هسته MSDE 2000 ،در موارديکه با يک بسته اطلاعاتی تک بايتی 0x02 ، بر روی پورت 1434 مربوط به UDP مواجه گردد ، اطلاعاتی در رابطه با خود را برمی گرداند . ساير بسته های اطلاعاتی تکی بايت بدون اينکه الزامی به تائيد آنان برای سرويس دهنده وجود داشته باشد،باعث بروز يک Buffer overflow می گردند .با توجه به اينکه سازماندهی حملات ازاين نوع بر اساس UDP انجام خواهد شد ، وضعيت تهاجم فوق وخيم تر خواهد شد . (صرفنظر از اينکه پردازه های MSDE 2000 در يک بافتار امنيتی مربوط به يک Domain User و يا account مربوط به Local System اجراء می گردند). استفاده موفقيت آميز از حفره های امنيتی موجود ، می تواند سيستم مقصد را در معرض مخاطره و تهديد قرار دهد .
با توجه به اينکه SQL Slammer از يک Buffer overflow بر روی سيستم مقصد استفاده می نمايد ،استفاده مستمر از Patching و پيکربندی دقيق سيستم ، کمک لازم در جهت کاهش تهديد فوق را ارائه می نمايد . با دريافت و استفاده از ابزارهای دفاعی نظير : Microsoft SQL Critical Update Kit ، می توان تمام Domain و يا شبکه های شامل سيستم های آسيب پذير را بررسی و بصورت فايل های متاثر را بهنگام نمود. برای آشنائی و آناليز جزيئات مربوط به کرم اسلامر SQL/MSDE ، می توان از آدرس Incidents.org استفاده نمود .
سيستم های عامل در معرض تهديد :
هر يک از نسخه های ويندوز که بهمراه آنان SQL/MSDE Server 7.0 ، SQL/MSDE Server 2000 و يا Microsoft SQL/MSDE Desktop Engine 2000 نصب شده باشد و هر سيستم نرم افزاری ديگری که بصورت جداگانه از موتور MSDE 2000 استفاده می نمايد، در معرض اين تهديد و آسيب قرار خواهد شد .
نحوه تشخيص آسيب پذيری سيستم
شرکت مايکروسافت مجموعه ای از ابزارهای امنيتی را در اين رابطه ارائه که می توان از طريق آدرس http://www.microsoft.com/sql/downloads/securitytools.asp به آنان دستيابی پيدا نمود . Toolkit ارائه شده ،SQL Critical Update Kit ناميده شده و شامل ابزارهائی نظير SQL Scan و SQL Critical Update است . سايت SqlSecurity.com نيز در اين رابطه ابزاری با نام SQLPingv2.2 را ارائه داده است .ابزار فوق ، يک بسته اطلاعاتی UDP تک بايتی ( مقدار بايت 0X02 ) را به پورت 1434 مربوط به يک ميزبان و يا تمامی Subnet ارسال می نمايد .سرويس دهندگان SQL که به پورت UDP 1434 گوش می دهند ، به آن پاسخ لازم را داده و اطلاعاتی در ارتباط با سيستم نظير شماره نسخه و ساير موارد مربوطه را اعلام می نمايد . عملکرد نرم افزار فوق مشابه Microsoft SQL Scan است .
نحوه حفاظت در مقابل نقطه آسيب پذير :
بمنظور حفاظت سيستم ها در مقابل نقطه آسيب پذير فوق ، عمليات زير را دنبال می نمائيم :
غير فعال نمودن SQL/MSDE Monitor Service در پورت UDP 1434 . بمنظورانجام خواسته فوق، می توان اقدام به نصب و استفاده از قابليت های ارائه شده بهمراه SQL Server 2000 Service Pack 3a نمود. موتور MSDE 2000 دارای دو نقطه آسيب پذير Buffer Overflow است که می تواند توسط يک مهاجم استفاده و از راه دور و بدون هيچگونه الزامی جهت تائيد کاربر، به سرويس دهنده متصل و يک تهاجم از طريق UDP را باعث شود. صرفنظر از اينکه پردازه های MSDE 2000 در بافتار امنيتی يک Domain User و يا account مربوط به Local System اجراء می گردند ، استفاده موفقيت آميز از حفره های امنيتی موجود، ممکن است سيستم مقصد را در معرض مخاطره و تهديد قرار دهد . کرم MS-SQL/MSDE Slammer يک بسته اطلاعاتی شامل 376 بايت را از طريق پورت UDP 1434 برای مقصد مورد نظر خود که بصورت تصادفی انتخاب می گردد، ارسال می نمايد. سيستم های در معرض تهاجم پس از آلودگی ، اقدام به ارسال بسته های اطلاعاتی مشابه 376 بايتی می نمايند . کرم فوق ، ترافيک موجود در شبکه را افزايش خواهد داد .آدرس های IP که بصورت تصادفی انتخاب می گردند ، از نوع multicast بوده و در نهايت يک تهاجم از نوع DoS ( غير فعال نمودن يک سرويس ) بر روی شبکه مقصد، محقق خواهد شد. بر اساس گزارشات ثبت شده ، يک ماشين آلوده بيش از پنجاه MB/Sec از ترافيک شبکه رابخود اختصاص و عملا" امکان انجام ساير عمليات بر روی شبکه سلب می گردد.
بکارگيری آخرين Service Pack برای سرويس دهنده SQL/MSDE و MSDE 2000 . آخرين نسخه های Service Pack در رابطه با سرويس دهنده SQL/MSDE عبارتند از :
- SQL/MSDE Server 7.0 Service Pack 4
- MSDE/SQL Server 2000 Service Pack 3a
بمنظور اطمينان از بهنگام بودن سيستم می توان از " Make Your SQL/MSDE Servers Less Vulnerable " استفاده نمود.
بکارگيری آخرين Patch ارائه شده پس از آخرين Service Pack . بمنظور آگاهی از آخرين Patch های ارائه شده برای تمامی نسخه های سرويس دهنده SQL/MSDE/MSDE می توان از بولتن امنيتی ارائه شده توسط مايکروسافت استفاده نمود . بمنظور اطمينان از نصب آخرين Patch موجود در رابطه با سرويس دهنده SQL/MSDE می توان از آدرس های زير استفاده کرد :
- Microsoft SQL/MSDE Server 7.0
- Microsoft SQL Server 2000
- MSDE Server Desktop Engine 2000 (MSDE 2000)
بکارگيری Patch های خاص و جداگانه ای که پس از آخرين Patch مربوطه ارائه شده اند .پس از معرفی MS02-061 Elevation of Privilege in SQL/MSDE Server Web Tasks ، تاکنون Patch مربوطه ای در اين زمينه ارائه نشده است . بمنظور اطمينان و آگاهی از اخرين Patch ارائه شده می توان از آدرس های زير استفاده نمود :
- Microsoft SQL/MSDE Server 7.0
- Microsoft SQL Server 2000
- MSDE Server Desktop Engine 2000 (MSDE 2000)
فعال نمودن SQL Server Authentication Logging . امکان فوق عموما" غير فعال است . بمنظور فعال نمودن آن می توان از طريق برنامه Enterprise Manager اقدام نمود( Server Properties|Tab Security )
ايمن سازی سرويس دهنده در سطح سيستم و شبکه . يکی از متداولترين حملات MSSQL/MSDE ، برخاسته از account مديريتی پيش فرض ( شناخته شده با نام "sa" ) بوده که دارای يک رمز عبور تهی ( blank ) است. در صورتيکه sa Account مربوط به SQL/MSDE دارای رمز عبور حفاظت شده ای نمی باشد ، سيستم در معرض تهديد جدی قرار خواهد داشت . لازم است در اين راستا از پيشنهادات ارائه شده در بخش System Administrator(SA) Login مربوط به SQL/MSDE Server Book Online استفاده تا اطمينان لازم در خصوص مطمئن بودن رمز عبور sa Account حاصل گردد . ( حتی اگر سرويس دهنده SQL/MSDE مربوطه از account فوق استفاده نمی نمايد، نيز می بايست اقدامات امنيـتی لازم ضورت پذيرد ) . با استفاده از مستندات ارائه شده در MSDN مايکروسافت و در بخش Changing the SQL Server Administrator Login ، و Verify and Change the System Administrator Password by Using MSDE می توان از آخرين امکانات و توصيه های ارائه شده بمنظور پيکربندی و تنظيم مناسبsa Account ، استفاده نمود .
به حداقل رساندن امتيازات مربوط به سرويس MSSQL/MSDE و سرويس دهنده SQL/MSDE Server Agent . در اين رابطه پيشنهاد می گردد که سرويس MSSQL/MSDE سرويس دهنده و SQL/MSDE Server Agent ، تحت يک Valid Domain account با حداقل امتيازات مربوط اجراء گردد( نه بعنوان يک domain administrator و يا SYSTEM ( در ويندوز NT ) و يا LocalSystem ( در ويندوز 2000 و يا XP ) ) . يک سرويس در معرض آسيب که بهمراه امتيازات محلی و يا Domain اجراء می گردد ،به يک مهاجم امکان کنترل کامل سيستم و يا شبکه را خواهد داد . در اين رابطه موارد زير پيشنهاد می گردد :
- فعال نمودن Windows NT Authentication و auditing برای Login های موفقيت آميز و يا با شکست مواجه شده ، در ادامه سرويس MSSQL/MSDEServer رامتوقف و مجددا" آنان را فعال نمائيد . در صورت امکان ، پيکربندی سرويس گيرندگان را بگونه ای انجام دهيد که از NT Authentication استفاده نمايند .
- فيلترينگ بسته های اطلاعاتی می بايست در محدوده های مرزی شبکه انجام تا پيشگيری و ممانعت لازم در خصوص اتصالات ورودی و خروجی غير مجاز به MSSQL و مرتبط با سرويس های خاص صورت پذيرد . فيلترينگ نقطه ورود و خروج پورت های 1434 و 1433 مربوط به TCP/UDP می تواند باعث ممانعت مهاجمان داخلی و يا خارجی از پويش و آلودگی سرويس دهندگان SQL/MSDE که دارای پتانسيل آسيب پذيری می باشند، گردد .
- درصورتيکه لازم است از پورت های 1433 و 1434 مربوط به TCP/UDP استفاده گردد ، می بايست فيلترينگ مناسبی در ارتباط با استفاده نادرست از پورت های فوق را انجام داد .
بمنظور آگاهی از ايمن سازی سرويس دهنده SQL/MSDE ، می توان از آدرس های زير استفاده نمود :
Microsoft SQL/MSDE Server 7.0 Security
Microsoft SQL/MSDE Server 2000 Security