جمعه, ۷ اردیبهشت, ۱۴۰۳ / 26 April, 2024
مجله ویستا

مهمترین نقاط آسیب پذیر ویندوز


مهمترین نقاط آسیب پذیر ویندوز
سیستم عامل، یکی از عناصر چهار گانه در یک سیستم کامپیوتری است که دارای نقشی بسیار مهم و حیاتی در نحوه مدیریت منابع سخت افزاری و نرم افزاری است . پرداختن به مقوله امنیت سیستم های عامل ، همواره از بحث های مهم در رابطه با ایمن سازی اطلاعات در یک سیستم کامپیوتری بوده که امروزه با گسترش اینترنت ، اهمیت آن مضاعف شده است . بررسی و آنالیز امنیت در سیستم های عامل می بایست با ظرافت و در چارچوبی کاملا" علمی و با در نظر گرفتن تمامی واقعیت های موجود ، انجام تا از یک طرف تصمیم گیرندگان مسائل استراتژیک در یک سازمان قادر به انتخاب مستند و منطقی یک سیستم عامل باشند و از طرف دیگر امکان نگهداری و پشتیبانی آن با در نظر گرفتن مجموعه تهدیدات موجود و آتی ، بسرعت و بسادگی میسر گردد .
اکثر کرم ها و سایر حملات موفقیت آمیز در اینترنت ، بدلیل وجود نقاط آسیب پذیر در تعدادی اندک از سرویس های سیستم های عامل متداول است . مهاجمان ، با فرصت طلبی خاص خود از روش های متعددی بمنظور سوء استفاده از نقاط ضعف امنیتی شناخته شده ، استفاده نموده و در این راستا ابزارهای متنوع ، موثر و گسترده ای را بمنظور نیل به اهداف خود ، بخدمت می گیرند . مهاجمان ، در این رهگذر متمرکز بر سازمان ها و موسساتی می گردند که هنوز مسائل موجود امنیتی ( حفره ها و نقاط آسیب پذیر ) خود را برطرف نکرده و بدون هیچگونه تبعیضی آنان را بعنوان هدف ، انتخاب می نمایند . مهاجمان بسادگی و بصورت مخرب ، کرم هائی نظیر : بلستر ، اسلامر و 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 (P۲P)
▪Simple Network Management Protocol (SNMP)
●اولین نقطه آسیب پذیر : ( 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 ۲ ، نمونه هائی از برنامه های مخرب می باشند که از ضعف فوق در جهت پیشبرد اهداف خود استفاده نموده اند .
IIS نیز نظیر سایر سرویس دهندگان وب ، شامل برنامه های نمونه ای است که بمنظور اثبات توانائی سرویس دهنده وب ، طراحی شده اند . در طراحی برنامه های فوق ، عملکرد آنان با لحاظ نمودن مسائل امنیتی در یک محیط عملیاتی و تولیدی مورد توجه قرار نگرفته است . برخی ازنمونه برنامه های ارائه شده بهمراه IIS ، امکان مشاهده و بازنویسی فایل های دلخواه ویا دستیابی از راه دور به اطلاعات حساس نظیر رمز عبور مدیریت سیستم را فراهم می نمایند .
عدم بهنگام سازی و نگهداری مناسب IIS پس از نصب اولیه ، از دیگر مواردی است که زمینه تهاجم برای مهاجمان را فراهم می آورد .مثلا" نقاط آسیب پذیر WebDAV ntdll.dll در IIS ۵.۰ ، امکان حملات از نوع DoS ( غیرفعال نمودن سرویس ) را فراهم و مهاجمان در ادامه قادر به ایجاد و اجرای اسکریپت های مورد نظر خود بر روی سرویس دهنده می گردند . در مواردی دیگر و با توجه به نقاط آسیب پذیر موجود ، مهاجمان قادر به اجرای دستورات دلخواه خود بر روی سرویس دهنده می باشند ( درخواست دقیق و ماهرانه آدرس های URL ) .
امکانات و پتانسیل هائی که در ادامه و با توجه به ضرورت بر روی IIS نصب می گردند ( نظیر ColdFusion و PHP ) نیز می تواند زمینه بروز نقاط آسیب پذیر جدیدی را فراهم نماید .اینگونه نقاط آسیب پذیر، می تواند بدلیل عدم پیکربندی صحیح و یا وجود ضعف و اشکال امنیتی در محصول نصب شده ای باشد که به IIS نیز سرایت می نماید ( توارث مشکلات و ضعف های امنیتی از یک محصول به محصول دیگر) .
●سیستم های عامل در معرض تهدید :
▪ویندوز NT ۴.۰ که از IIS ۴.۰ استفاده می نماید .
▪ویندوز ۲۰۰۰ سرویس دهنده که از IIS ۵.۰ استفاده می نماید .
▪ویندوز XP نسخه Professional که از نسخه IIS ۵.۱ استفاده می نماید .
در رابطه با نقطه آسیب پذیر فوق بر روی ویندوز ۲۰۰۳ که از IIS ۶.۰ استفاده می نماید ، تاکنون گزارشی ارائه نشده است .
●نحوه تشخیص آسیب پذیری سیستم
در صورتیکه برنامه 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 ۴.۰ ، ویندوز ۲۰۰۰ و ویندوز 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 در سالیان اخیر ( سال های ۲۰۰۲ و ۲۰۰۳ ) از نقاط ضعف شناخته شده MSSQL استفاده و توانستند در مدت زمان کوتاهی حملات گسترده ای را با توجه به نقظه آسیب پذیر فوق ،انجام دهند. میزبانان آلوده به کرم ها ی فوق ، بمنظور گسترش آلودگی و جستجو جهت یافتن سایر سیستم های آسیب پذیر ، ترافیک شبکه را در حد بالائی افزایش داده بودند( اشغال درصد بسیار بالائی از پهنای باند محیط انتقال ). برای دریافت اطلاعات تکمیلی در رابطه با کرم های فوق ، می توان از منابع و آدرس های زیر استفاده نمود :
●اطلاعات تکمیلی در رابطه با کرم SQLSnake/Spida ( فعال شده در May ۲۰۰۲ ) :
▪http://isc.incidents.org/analysis.html?id=۱۵۷
▪http://www.eeye.com/html/Research/Advisories/AL۲۰۰۲۰۵۲۲.html
▪http://www.cert.org/incident_notes/IN-۲۰۰۲-۰۴.html
●اطلاعات تکمیلی در رابطه با کرم SQL-Slammer/SQL-Hell/Sapphire ( فعال شده در تاریخ January ۲۰۰۳ ) :
▪http://isc.incidents.org/analysis.html?id=۱۸۰
▪http://www.nextgenss.com/advisories/mssql-udp.txt
▪http://www.eeye.com/html/Research/Flash/AL۲۰۰۳۰۱۲۵.html
▪http://www.cert.org/advisories/CA-۲۰۰۳-۰۴.htmlبراساس گزارش ارائه شده توسط Internet Storm Center ، پورت های ۱۴۳۳ و ۱۴۳۴ ( پورت های پیش فرض سرویس دهنده 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 فوق ، موجب گسترش ( حمل ) مشکل از سیستمی به سیستم دیگر شده و در این راستا امنیت میزبان زمانیکه کرم اقدام به ارسال بسته های اطلاعاتی تهدید آمیز خود به پورت ۱۴۳۴ سیستم های مقصد آسیب پذیر می نماید، در معرض تهدید و آلودگی قرار می گیرد. در صورتیکه بر روی یک ماشین ، سرویس هائی از SQL اجراء که مرتبط با این نوع Stack Buffer Overflow می باشند و بسته های اطلاعاتی خود را بر اساس واقعیت فوق دریافت می نماید ، تمامی سیستم ها و سرویس دهندگان در معرض تهدید قرار خواهند گرفت .موثرترین روش دفاع در مقابل کرم فوق، Patching مستمر ، اقدامات لازم در جهت پیکربندی سیستم بصورت کنشگرایانه ، پیشگیری سیستم بصورت پویش های ادواری و فیلترینگ پورت ۱۴۳۴ مربوط به UDP در gatway های شبکه است ( اجازه ورود و خروج بسته های اطلاعاتی مرتبط با پورت اشاره شده ) .
عملکرد Microsoft Server ۲۰۰۰ Desktop Engine ) ، MSDE ۲۰۰۰)، را می توان بعنوان " SQL Server Lite" ( زیر بناء سرویس دهنده SQL ) در نظرگرفت . تعداد زیادی از صاحبان سیستم حتی نسبت به این موضوع که بر روی سیستم آنان MSDE اجراء و آنان دارای یک نسخه از SQL Server نصب شده بر روی سیستم می باشند ، آگاهی و شنخت مناسبی را ندارند. MSDE ۲۰۰۰ ، بعنوان یکی از اجزاء اساسی بهمراه محصولات زیر نصب می گردد :
▪SQL/MSDE Server ۲۰۰۰ (Developer, Standard and Enterprise Editions)
▪Visual Studio .NET (Architect, Developer and Professional Editions)
▪ASP.NET Web Matrix Tool
▪Office XP
▪Access ۲۰۰۲
▪Visual Fox Pro ۷.۰/۸.۰
علاوه بر موارد فوق،نرم افزارهای متعدد دیگری وجود دارد که از MSDE ۲۰۰۰ استفاده می نمایند . برای مشاهده لیست تمامی محصولات مربوطه ، می توان از اطلاعات موجود در آدرس : http://www.SQLsecurity.com/forum/applicationslistgridall.aspx استفاده نمود . باتوجه به اینکه، نرم افزارهای فوق ، از MSDE بعنوان هسته اساسی بانک اطلاعاتی استفاده می نمایند ، آنان نیز دارای نقاط آسیب پذیر مشابه سرویس دهنده SQL/MSDE خواهند بود.پیکربندی MSDE ۲۰۰۰ را می توان بگونه ای انجام داد که با استفاده از روش های مختلف به درخواست های اتصال به بانک اطلاعاتی توسط سرویس گیرندگان،گوش داده شود. مثلا" پیکربندی فوق را می توان بصورتی انجام داد که سرویس گیرندگان قادر به استفاده از named pipes بر روی یک NetBIOS Session ( پورت ۱۳۹/۴۴۵ پورت TCP ) بوده و یا از سوکت هائی که سرویس گیرندگان با استفاده از پورت ۱۴۳۳ مربوط به TCP به آن متصل می گردند ( امکان استفاده از هر دو رویکرد اشاره شده نیز وجود دارد ) . صرفنظر ازروش انتخابی ، سرویس دهنده SQL و MSDE همواره به پورت ۱۴۳۴ مربوط به UDP گوش خواهند داد . پورت فوق بعنوان یک پورت هماهنگ کننده طراحی شده است . سرویس گیرندگان یک پیام را برای پورت فوق ارسال تا نحوه اتصال سرویس گیرنده به سرویس دهنده ، مشخص گردد .
هسته MSDE ۲۰۰۰ ،در مواردیکه با یک بسته اطلاعاتی تک بایتی ۰x۰۲ ، بر روی پورت ۱۴۳۴ مربوط به UDP مواجه گردد ، اطلاعاتی در رابطه با خود را برمی گرداند . سایر بسته های اطلاعاتی تکی بایت بدون اینکه الزامی به تائید آنان برای سرویس دهنده وجود داشته باشد،باعث بروز یک Buffer overflow می گردند .با توجه به اینکه سازماندهی حملات ازاین نوع بر اساس UDP انجام خواهد شد ، وضعیت تهاجم فوق وخیم تر خواهد شد . (صرفنظر از اینکه پردازه های MSDE ۲۰۰۰ در یک بافتار امنیتی مربوط به یک Domain User و یا account مربوط به Local System اجراء می گردند). استفاده موفقیت آمیز از حفره های امنیتی موجود ، می تواند سیستم مقصد را در معرض مخاطره و تهدید قرار دهد .
با توجه به اینکه SQL Slammer از یک Buffer overflow بر روی سیستم مقصد استفاده می نماید ،استفاده مستمر از Patching و پیکربندی دقیق سیستم ، کمک لازم در جهت کاهش تهدید فوق را ارائه می نماید . با دریافت و استفاده از ابزارهای دفاعی نظیر : Microsoft SQL Critical Update Kit ، می توان تمام Domain و یا شبکه های شامل سیستم های آسیب پذیر را بررسی و بصورت فایل های متاثر را بهنگام نمود. برای آشنائی و آنالیز جزیئات مربوط به کرم اسلامر SQL/MSDE ، می توان از آدرس Incidents.org استفاده نمود .
●سیستم های عامل در معرض تهدید :
هر یک از نسخه های ویندوز که بهمراه آنان SQL/MSDE Server ۷.۰ ، SQL/MSDE Server ۲۰۰۰ و یا Microsoft SQL/MSDE Desktop Engine ۲۰۰۰ نصب شده باشد و هر سیستم نرم افزاری دیگری که بصورت جداگانه از موتور MSDE ۲۰۰۰ استفاده می نماید، در معرض این تهدید و آسیب قرار خواهد شد .
●نحوه تشخیص آسیب پذیری سیستم
شرکت مایکروسافت مجموعه ای از ابزارهای امنیتی را در این رابطه ارائه که می توان از طریق آدرس http://www.microsoft.com/sql/downloads/securitytools.asp به آنان دستیابی پیدا نمود . Toolkit ارائه شده ،SQL Critical Update Kit نامیده شده و شامل ابزارهائی نظیر SQL Scan و SQL Critical Update است . سایت SqlSecurity.com نیز در این رابطه ابزاری با نام SQLPingv۲.۲را ارائه داده است .ابزار فوق ، یک بسته اطلاعاتی UDP تک بایتی ( مقدار بایت ۰X۰۲ ) را به پورت ۱۴۳۴ مربوط به یک میزبان و یا تمامی Subnet ارسال می نماید .سرویس دهندگان SQL که به پورت UDP ۱۴۳۴ گوش می دهند ، به آن پاسخ لازم را داده و اطلاعاتی در ارتباط با سیستم نظیر شماره نسخه و سایر موارد مربوطه را اعلام می نماید . عملکرد نرم افزار فوق مشابه Microsoft SQL Scan است .
●نحوه حفاظت در مقابل نقطه آسیب پذیر :
بمنظور حفاظت سیستم ها در مقابل نقطه آسیب پذیر فوق ، عملیات زیر را دنبال می نمائیم :
▪غیر فعال نمودن SQL/MSDE Monitor Service در پورت UDP ۱۴۳۴ . بمنظورانجام خواسته فوق، می توان اقدام به نصب و استفاده از قابلیت های ارائه شده بهمراه SQL Server ۲۰۰۰ Service Pack ۳a نمود. موتور MSDE ۲۰۰۰ دارای دو نقطه آسیب پذیر Buffer Overflow است که می تواند توسط یک مهاجم استفاده و از راه دور و بدون هیچگونه الزامی جهت تائید کاربر، به سرویس دهنده متصل و یک تهاجم از طریق UDP را باعث شود. صرفنظر از اینکه پردازه های MSDE ۲۰۰۰ در بافتار امنیتی یک Domain User و یا account مربوط به Local System اجراء می گردند ، استفاده موفقیت آمیز از حفره های امنیتی موجود، ممکن است سیستم مقصد را در معرض مخاطره و تهدید قرار دهد . کرم MS-SQL/MSDE Slammer یک بسته اطلاعاتی شامل ۳۷۶ بایت را از طریق پورت UDP ۱۴۳۴ برای مقصد مورد نظر خود که بصورت تصادفی انتخاب می گردد، ارسال می نماید. سیستم های در معرض تهاجم پس از آلودگی ، اقدام به ارسال بسته های اطلاعاتی مشابه ۳۷۶ بایتی می نمایند . کرم فوق ، ترافیک موجود در شبکه را افزایش خواهد داد .آدرس های IP که بصورت تصادفی انتخاب می گردند ، از نوع multicast بوده و در نهایت یک تهاجم از نوع DoS ( غیر فعال نمودن یک سرویس ) بر روی شبکه مقصد، محقق خواهد شد. بر اساس گزارشات ثبت شده ، یک ماشین آلوده بیش از پنجاه MB/Sec از ترافیک شبکه رابخود اختصاص و عملا" امکان انجام سایر عملیات بر روی شبکه سلب می گردد.
▪بکارگیری آخرین Service Pack برای سرویس دهنده SQL/MSDE و MSDE ۲۰۰۰ . آخرین نسخه های Service Pack در رابطه با سرویس دهنده SQL/MSDE عبارتند از :
▪▪SQL/MSDE Server ۷.۰ Service Pack ۴
▪▪ MSDE/SQL Server ۲۰۰۰ Service Pack ۳a
●بمنظور اطمینان از بهنگام بودن سیستم می توان از " Make Your SQL/MSDE Servers Less Vulnerable " استفاده نمود.
بکارگیری آخرین Patch ارائه شده پس از آخرین Service Pack . بمنظور آگاهی از آخرین Patch های ارائه شده برای تمامی نسخه های سرویس دهنده SQL/MSDE/MSDE می توان از بولتن امنیتی ارائه شده توسط مایکروسافت استفاده نمود . بمنظور اطمینان از نصب آخرین Patch موجود در رابطه با سرویس دهنده SQL/MSDE می توان از آدرس های زیر استفاده کرد :
▪ Microsoft SQL/MSDE Server ۷.۰
▪ Microsoft SQL Server ۲۰۰۰
▪ MSDE Server Desktop Engine ۲۰۰۰ (MDE ۲۰۰۰)
●بکارگیری Patch های خاص و جداگانه ای که پس از آخرین Patch مربوطه ارائه شده اند .پس از معرفی MS۰۲-۰۶۱ Elevation of Privilege in SQL/MSDE Server Web Tasks ، تاکنون Patch مربوطه ای در این زمینه ارائه نشده است . بمنظور اطمینان و آگاهی از اخرین Patch ارائه شده می توان از آدرس های زیر استفاده نمود :
▪ Microsoft SQL/MSDE Server ۷.۰
▪Microsoft SQL Server ۲۰۰۰
▪ MSDE Server Desktop Engine ۲۰۰۰ (MSDE ۲۰۰۰)
●فعال نمودن 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 ( در ویندوز ۲۰۰۰ و یا XP ) ) . یک سرویس در معرض آسیب که بهمراه امتیازات محلی و یا Domain اجراء می گردد ،به یک مهاجم امکان کنترل کامل سیستم و یا شبکه را خواهد داد . در این رابطه موارد زیر پیشنهاد می گردد :
▪فعال نمودن Windows NT Authentication و auditing برای Login های موفقیت آمیز و یا با شکست مواجه شده ، در ادامه سرویس MSSQL/MSDEServer رامتوقف و مجددا" آنان را فعال نمائید . در صورت امکان ، پیکربندی سرویس گیرندگان را بگونه ای انجام دهید که از NT Authentication استفاده نمایند .
▪فیلترینگ بسته های اطلاعاتی می بایست در محدوده های مرزی شبکه انجام تا پیشگیری و ممانعت لازم در خصوص اتصالات ورودی و خروجی غیر مجاز به MSSQL و مرتبط با سرویس های خاص صورت پذیرد . فیلترینگ نقطه ورود و خروج پورت های ۱۴۳۴ و ۱۴۳۳ مربوط به TCP/UDP می تواند باعث ممانعت مهاجمان داخلی و یا خارجی از پویش و آلودگی سرویس دهندگان SQL/MSDE که دارای پتانسیل آسیب پذیری می باشند، گردد .
▪درصورتیکه لازم است از پورت های ۱۴۳۳ و ۱۴۳۴ مربوط به TCP/UDP استفاده گردد ، می بایست فیلترینگ مناسبی در ارتباط با استفاده نادرست از پورت های فوق را انجام داد .●سومین نقطه آسیب پذیر : Windows Authentication
استفاده از رمزعبور، روش های تائید کاربر و کدهای امنیتی در هر گونه تعامل ارتباطی بین کاربران وسیستم های اطلاعاتی ، امری متداول و رایج است . اکثر روش ها ی تائید کاربران ، نظیر حفاظت فایل و داده ، مستقیما" به رمزهای عبور ارائه شده توسط کاربران ، بستگی خواهد داشت . پس از تائید کاربران ، امکان دستیابی آنان به منابع مشخص شده فراهم و هر یک از آنان با توجه به امتیازات و مجوزهای نسبت داده شده ، قادر به استفاده از منابع موجودخواهند بود. در اغلب موارد ، فعالیت کاربرانی که مجاز بودن آنان برای دستیابی به منابع ، تائید شده است ، لاگ نشده و یا در صورتیکه فعالیت آنان ثبت گردد ، کمتر سوء ظنی به آنان می تواند وجود داشته باشد . ( آنان پس از تائید وارد میدانی شده اند که بدون هیچگونه ردیابی ، قادر به انجام فعالیت های گسترده ای خواهند بود) . بنابراین ، رمز عبور دارای نقشی حیاتی و اساسی در ایجاد اولین سطح دفاع در یک سیستم اطلاعاتی بوده و از دست رفتن رمز عبور و یا ضعف آن می تواند سیستم را در معرض تهدیدات جدی قرار دهد . مهاجمان پس از دستیابی به رمز عبور کاربران تائید شده ( استفاده از مکانیزم های متفاوت ) قادر به دستیابی منابع سیستم و حتی تغییر در تنظیمات سایر account های تعریف شده و موجود بر روی سیستم خواهند بود،عملیاتی که می تواند پیامدهای بسیار منفی را بدنبال داشته باشد . پس می بایست بپذیریم که وجود یک account ضعیف و یا فاقد رمز عبور می تواند تهدیدی جدی در یک سازمان باشد . در این راستا علاوه بر اینکه می بایست از پتانسیل های ارائه شده توسط سیستم عامل با دقت استفاده نمود ، ضروری است ، تابع یک سیاست امنیتی تدوین شده در رابطه با رمز عبور در سازمان متبوع خود باشیم . تعریف و نگهداری یک account بهمراه رمز عبور مربوطه در سازمان ما تابع چه سیاست امنیتی است ؟ مهمترین و متداولترین نقاط آسیب پذیر در ارتباط با رمز عبور شامل موارد زیر است :
▪Account تعریف شده دارای رمز عبور ضعیف و یا فاقد رمز عبور است .
▪ عدم حفاظت مناسب کاربران از رمزهای عبور ،صرفنظر از استحکام رمزهای عبور تعریف شده .
▪سیستم عامل و یا سایر نرم افزارهای موجود ، امکان ایجاد account مدیریتی ضعیف و فاقد رمز عبور را فراهم می نمایند .
▪الگوریتم های Hashing رمز عبور( رمزنگاری مبتنی بر کلید عمومی بر پایه یک مقدار hash ، استوار بوده و بر اساس یک مقدار ورودی که دراختیار الگوریتم hashing گذاشته می گردد ، ایجاد می گردد. در حقیقت مقدار hash ، فرم خلاصه شده و رمز شده ای از مقدار اولیه خود است ) ، شناخته شده بوده و در اغلب موارد مقدار Hashe بدست آمده ، بگونه ای ذخیره می گردد که امکان مشاهده آن توسط سایرین وجود خواهد داشت. مناسبترین نوع حفاظت در این راستا ، تبعیت از یک سیاست رمز عبور قدرتمند بوده که در آن دستورالعمل ها ی لازم برای تعریف یک رمز عبورمناسب مشخص و در ادامه با استفاده از ابزارهای موجود، بررسی لازم در خصوص استحکام و بی نقص بودن رمز عبور صورت گیرد.
●ویندوز، رمزهای عبور را بصورت متن شفاف ذخیره و یا ارسال نمی نماید و در این راستا از یک مقدار Hash متناظر با رمزعبور ، بمنظور تائید کاربران ، استفاده می نماید . یک مقدار Hash دارای طولی ثابت است که توسط بکارگیری یک تابع ریاضی ( الگوریتم hashing ) بر روی حجم دلخواهی از داده ( message digest نامیده می شود) ایجاد می شود.در وینوز سه نوع الگوریتم تائید وجود دارد :
▪LM ( ایمنی کمتر و سازگاری بیشتر )
▪NTLM
▪NTLMv۲ ( ایمنی بیشتر و سازگاری کمتر )
با اینکه اکثر محیط های فعلی ویندوز ، ضرورتی به حمایت از (Lan Manager (LM را ندارند، ولی ویندوز بصورت محلی رمز های عبور Hash شده مربوط به LM را ( LANMAN Hashes نیز نامیده می شود ) بصورت پیش فرض در ویندوز NT ، ۲۰۰۰ و XP ( در ویندوز ۲۰۰۳ وضعیت بدین شکل نیست ) ذخیره می نماید. با توجه به اینکهLM از یک مدل رمزنگاری بمراتب ضعیف تر نسبت به رویکردهای فعلی مایکروسافت ( NTLM,NTLMv۲ ) ، استفاده می نماید، رمزهای عبور 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 رمزهای عبور استفاده شده توسط مهاجمان است . لازم است به این نکته مهم اشاره گردد که از برنامه های تشخیص دهنده رمز عبور بر روی سیستم هائی که حتی مجوز دستیابی به آنان را دارید ، بدون اخذ مجوزهای لازم از مدیران ارشد سیستم ، نمی بایست استفاده نمود. برای دریافت نمونه برنامه هائی در این زمینه می توان از LC۴ )l۰phtcrack version ۴) و John the Ripper استفاده کرد . صرفنظر از رویکرد ذخیره سازی محلی LAN Manager hash ، موارد زیر می بایست موردتوجه قرار گیرد :
▪در صورتیکه ویندوز NT ، ۲۰۰۰ و یا XP بصورت پیش فرض نصب شده اند،سیستم در معرض آسیب خواهد بود. در چنین مواردی Lan Manager hashes بصورت پیش فرض و محلی ذخیره می گردد.
▪در صورتیکه ، بدلایلی نیازمند تائید مبتنی بر LM در یک سازمان بمنظور ارتباط با سرویس دهنده وجود داشته باشد ، سیستم مجددا" در معرض آسیب قرار خواهد گرفت .چراکه این نوع از ماشین ها اقدام به ارسال LM hashes نموده و پتانسیل شنود اطلاعاتی در شبکه را ایجاد خواهند کرد.
●نحوه حفاظت در مقابل نقطه آسیب پذیر :
بهترین و مناسبترین دفاع در مقابل رمزهای عبور ضعیف ، استفاده از یک سیاست مستحکم مشتمل بر دستورالعمل های لازم بمنظور ایجاد رمز عبور قدرتمند و بررسی مستمر آنان بمنظور اطمینان از استحکام و صحت عملکرد می باشد . در این رابطه موارد زیر پیشنهاد می گردد :
▪اطمینان ازاستحکام و انسجام رمز های عبور . با استفاده از سخت افزار مناسب و اختصاص زمان کافی ، می توان هر رمز عبوری را crack نمود. در این راستا می توان با استفاده ازروش های ساده و در عین حال موفقیت آمیز، عملیات تشخیص رمز عبور را انجام داد . اغلب برنامه های تشخیص دهنده رمزعبوراز روشی موسوم به "حملات مبتنی بر سبک دیکشنری " ، استفاده می نمایند. با توجه به اینکه روش های رمز نگاری تا حدود زیادی شناخته شده می باشند ، برنامه های فوق ، قادر به مقایسه شکل رمز شده یک رمز عبور در مقابل شکل های رمز شده کلمات دیکشنری می باشند( در زبان های متعدد و استفاده از اسامی مناسب بهمراه جایگشت های مختلف آنان ) . بنابراین ، رمز عبوری که ریشه آن در نهایت یک کلمه شناخته شده باشد ، دارای استعداد ذاتی در رابطه با این نوع از حملات خواهد بود . تعداد زیادی از سازمان ها ، آموزش های لازم در خصوص نحوه تعریف رمزهای عبور را به کارکنان خود داده و به آنان گفته شده است که رمزهای عبور مشتمل بر ترکیبی از حروف الفبائی و کاراکترهای ویژه را برای خود تعریف نمایند.متاسفانه اکثر کاربران این موضوع را رعایت ننموده و بمنظور تعریف یک رمز عبور با نام "password" ، صرفا" اقدام به تبدیل حروف به اعداد و یا حروف ویژه می نمایند ( pa$$w۰rd) . چنین جایگشت هائی نیز قادر به مقاومت در مقابل یک تهاجم مبتنی بر دیکشنری نبوده و "pa$$w۰rd" به روش مشابهی که "password" تشخیص داده می شود ، crack خواهد شد .
▪یک رمز عبور خوب ، نمی بایست از ریشه یک کلمه و یا نام شناخته شده ای اقتباس شده باشد .در این راستا لازم است به کاربران آموزش لازم در خصوص انتخاب و ایجاد رمزهای عبور از موارد تصادفی نظیر یک عبارت ، عنوان یک کتاب ،نام یک آواز و یا نام یک فیلم داده شود. با انتخاب یک رشته طولانی که بر اساس رویکردهای خاصی می تواند انتخاب گردد( گرفتن اولین حرف هر کلمه ، جایگزینی یک کاراکتر خاص برای یک کلمه ، حذف تمامی حروف صدادارو سایر موارد ) ، کاربران قادر به ایجاد رمزهای عبور مشتمل بر ترکیبی از حروف الفبائی و حروف ویژه بوده که در صورت مواجه شدن با حملات مبتنی بر دیکشنری ، تشخیص آنان بسختی انجام می شود. لازم است به این نکته نیز اشاره گردد که رمزعبور می بایست براحتی بخاطر سپرده شده و بازیابی ( یادآوری)آن مشکل نباشد ( هدف از ذخیره سازی ، بازیابی است اگر چیزی را ذخیره نمائیم ولی در زمان مورد نظر قادر به بازیابی آن نباشیم ، سیستم ذخیره و بازیابی ما با اشکال مواجه شده است ! ). پس از تدوین دستورالعمل لازم بمنظور تولید رمزهای عبور مناسب و آموزش کاربران بمنظور پایبندی به اصول امنیتی تعریف شده ، می بایست از روتین ها ی جانبی متعددی بمنظور اطمینان از پیروی کاربران از دستوراالعمل های اعلام شده ، استفاده گردد. بهترین گزینه در این راستا ، بررسی صحت رمزهای عبور پس از اعمال تغییرات توسط کاربران است .●ویندوز ۲۰۰۰ ، XP و ۲۰۰۳ دارای ابزارهای قدرتمندی بمنظورافزایش توان سیاست های امنیتی می باشند . در اکثر نسخه های ویندوز بمنظور مشاهده سیاست تعریف شده در رابطه با رمز می توان از مسیر زیر استفاده و برنامه 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 )
▪▪ ارقام پایه دهدهی ( رقم های ۰ تا ۹ )
▪▪ کاراکترهای غیر الفبائی ( مثلا" ! ، $ ، # ، % )

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

●( Maximum password age (range: ۰-۹۹۹ days .
سیاست فوق ، حداکثر عمر( اعتبار) یک رمز عبور را بر حسب روز ، مشخص می نماید.( قبل از اینکه سیستم کاربر را ملزم به تغییر رمز عبور نماید) . با در نظر گرفتن مقدار صفر ، رمز عبور دارای عمری جاودانه خواهد شد !
●(Minimum password age (range: ۰-۹۹۹ days .
سیاست فوق ، حداقل عمر( اعتبار) یک رمز عبور را بر حسب روز ، مشخص می نماید( قبل از اینکه کاربر قادر به تغییر رمزعبور گردد) . با در نظر گرفتن مقدار صفر ، به کاربران اجازه داده خواهد شد که بلافاصله رمز عبور خود را تغییر دهند. minimum password age می بایست کمتر از maximum password age باشد . پیکربندی minimum password age می بایست بگونه ای انجام شود که دارای مقداری بیش از صفر باشد تا سیاست password history نیز لحاظ شده باشد. بدون وجود یک minimum password age ، کاربران قادر به تغییر ادواری و زمانبندی نشده رمزهای عبور شده و امکان استفاده مجدد از رمزهای عبور قدیمی در یک محدوده زمانی کمتر برای آنان فراهم می گردد.مقادیر پیش فرض تامین کننده اهداف و خواست های امنیتی در یک سازمان نبوده و لازم است مدیران سیستم در ابتدا یک رمز عبور مناسب را برای کاربر تعریف و پس از سپری شدن مدت زمان مشخصی ( مدت زمان فوق را minimum password age مشخص می نماید ) کاربر را ملزم به تعریف ( تغییر ) رمز عبور تعریف شده توسط مدیریت شبکه نمایند. زمانیکه کاربران ،عملیات Log on را انجام و در صورتیکه password history مقدار صفر را دارا باشد ، الزامی در رابطه با انتخاب یک رمز عبور جدید برای کاربران وجود نخواهد داشت . بدین دلیل password history دارای مقدار پیش فرض یک است .
●(Minimum password length (range: ۰-۱۴ characters ، سیاست فوق ، حداقل تعداد کاراکتر لازم برای تعریف یک رمز عبور را مشخص می نماید( حداقل طول یک رمز عبور) می توان در این رابطه حداقل طول یک رمز عبور را بین یک تا چهارده کاراکتر در نظر گرفت . با اختصاص مقدار صفر ، ضرورت وجود رمز عبور حذف می گردد. حداقل طول رمز عبور، می بایست متناسب و سازگار با سیاست های امنیتی سازمان باشد. در صورتیکه در این رابطه سیاست مشخص و شفافی وجود ندارد می توان مقدار هشت را در نظر گرفت .برخی از سازمان های امنیت اطلاعات شبکه ، مقدار دوازده را در این رابطه پیشنهاد داده اند .
●Store password using reversible encryption for all users in the domain .
سیاست فوق ، مشخص می نماید که می بایست رمزعبور با استفاده از رمزنگاری وارونه ، ذخیره گردد . در این رابطه ، امکانات حمایتی لازم درخصوص برنامه هائی که از پروتکل هائی بمنظور آگاهی از رمز عبور کاربر بمنظور انجام فرآیند تائید کاربران استفاده می نمایند، نیز ارائه شده است . ذخیره سازی رمزهای عبوری که از رمزنگاری وارونه استفاده می نمایند ، مشابه رمزهای عبورمعمولی است ( رمز عبور بصورت متن ذخیره می گردد). بنابراین فعال شدن سیاست فوق می بایست با لحاظ نمودن پارامترهای متعددی نظیر الزام یک برنامه بمنظور استفاده از یک رمز عبور حفاظت شده ، صورت پذیرد .
●یکی از روش هائی که می توان از آن بمنظور ایجاد اتوماتیک و نسبت دهی رمزهای عبور پیچیده به هر یک از account های کاربران استفاده نمود اجرای دستورالمل زیر از طریق خط دستور است :
From Command Line Prompt :
▪Net User Username / random
با اجرای دستورالعمل فوق ، رمزهای عبور تصادفی و پیچیده (همواره هشت کاراکتر طول ) به یک account نسبت داده شده و در ادامه رمزعبور مورد نظر بر روی صفحه نمایش داده می شود. روش فوق ، امکانی مناسب بمنظور نسبت دهی رمزهای عبوردر ارتبط با Service accounts بوده و کمتر در ارتباط با کاربران واقعی استفاده می گردد.
بهترین روش برای ممیزی کیفیت رمزهای عبور ، اجرای برنامه های cracking رمز عبور در وضعیتStand-alone است (بخشی از فرآیند بررسی رمزهای عبور) . لازم است مجددا" به این موضوع اشاره گردد که بدون کسب مجوز لازم از مدیران ارشد سیستم در سازمان ، نمی بایست از برنامه های cracking استفاده شود.پس از کسب مجوز لازم بمنظور اجرای برنامه های cracking رمز عبور ، می بایست عملیات فوق را بر روی یک ماشین حفاظت شده انجام داد.کاربرانی که رمزهای عبور آنان crack می گردد، می بایست موضوع بصورت محرمانه به اطلاع آنان رسیده و دستورالعمل های لازم در خصوص نحوه انتخاب یک رمز عبور مناسب ، در اختیار آنان قرار داده شود.اخیرا" و در پاسخ به رمزهای عبور ضعیف ، استفاده از روش هائی دیگر بمنظور تائید کاربران، نظیر بیومتریک (زیست سنجی ) ، نیز مورد توجه واقع شده است .
▪حفاظت رمزهای عبور مستحکم . حتی اگر رمزهای عبور ، مستحکم و قدرتمند باشند ، در صورت عدم حفاظت آنان توسط کاربران ، سیستم های موجود در یک سازمان در معرض تهدید قرار خواهند گرفت . یک سیاست امنیتی مناسب ، می بایست شامل دستورالعمل های لازم بمنظور آموزش کاربران در رابطه با حفاظت رمزهای عبور می باشد.عدم ارائه رمز عبور به افراد دیگر، عدم نوشتن رمز عبور در محلی که امکان خواندن آن برای دیگران وجود داشته باشد و حفاظت اتوماتیک فایل هائی که رمزهای عبور در آن ذخیره شده اند ، از جمله مواردی می باشند که می بایست به کاربران آموزش داده شود. اغلب کاربران در مواجهه با پیامی مشابه "Your password has expired and must be changed," که نشاندهنده اتمام عمر مفید یک رمز عبور است ، یک رمز عبور ضعیف را برای خود انتخاب می نمایند ، بنابراین لازم است در فرصت مناسب و قبل از برخورد با اینچنین پیام هائی ، به کاربران آموزش های لازم ارائه گردد.
▪کنترل مستمر account ها .
مدیران سیستم و شبکه می بایست حضوری موثر و مستمر در ارتباط با مدیریت account های موجود داشته باشند .
▪▪هر گونه account مبتنی بر سرویسی خاص و یا مدیریتی که از آن استفاده نمی گردد، می بایست حذف گردد .
▪▪ ممیزی account ها بر روی سیستم را انجام داده و لازم است در این رابطه یک لیست اصلی ایجاد گردد .در این رابطه می بایست رمزهای عبور در ارتباط با سیستم هائی نظیر روترها ، چاپگرهای دیجیتالی متصل شده به اینترنت و سایر موارد دیگر نیز مورد بررسی قرار گیرد.
▪▪روتین هائی خاص بمنظور افزودن account های تائید شده به لیست و یا حذف account هائی که ضرورتی به استفاده از آنان نمی باشد ، پیاده سازی و همواره خود را پایبند به آن بدانیم .
▪▪اعتبار لیست را در فواصل زمانی خاصی بررسی تا از بهنگام بودن آن اطمینان حاصل گردد.
▪▪از روتین های خاصی بمنظورحذف account متعلق به کارکنان و یا پیمانکارانی که سازمان را ترک نموده اند ، استفاده گردد .
نگهداری و پشتیبانی از سیاست رمزعبور . بمنظور پشتیبانی و نگهداری مناسب رمز عبور، می توان علاوه بر استفاده از امکانات کنترلی ارائه شده توسط سیستم عامل و یا سرویس های شبکه ، از ابزارهای گسترده ای که در این رابطه ارائه شده است ،نیز استفاده گردد . بدین ترتیب ،نگهداری سیاست رمز عبور ، مبتنی بر آخرین تکنولوژی های موجود خواهد بود.
▪غیر فعال نمودن تائید LM در شبکه .
بهترین گزینه بمنظور جایگزینی با Lan Manager ، استفاده از روش NT LAN Manager version ۲) NTLMv۲) است . متدهای چالش / پاسخ NTLMv۲ ، با استفاده از رمزنگاری مستحکم تر و بهبود مکانیزم های تائید ، اکثر صعف های LM را برطرف نموده است جدول زیر ، کلید ریجستری موردنظری را که قابلیت فوق را در ویندوز NT و ۲۰۰۰ کنترل می نماید، نشان می دهد:
Rgistry key
Hive: HKEY_LOCAL_MACHINE
Key: SystemCurrentControlSetControlLSA
Value: LMCompatibilityLevel
Value Type: REG_DWORD - Number
Valid Range: ۰-۵
Default: ۰
پارامتر فوق ، نوع و روش تائید را مشخص و می تواند مقداری بین صفر تا پنج را دارا باشد :
۰ - ارسال پاسخ بر اساس روش LM و NTLM ، هرگز از امکانات امنیتی NTLMv۲ استفاده نمی شود .
۱ - استفاده از امکانات امنیتی NTLMv۲
۲ - ارسال بر اساس روش تائید NTLM
۳ - ارسال بر اساس روش تائید NTLMv۲
۴ - DC باعث رد تائید LM می گرد.
۵ - DC باعث رد تائید LM و NTLM شده و صرفا" تائید NTLMv۲ پذیرفته می گردد .
●در ویندوز ۲۰۰۰ ، ۲۰۰۳ و XP نیز امکاناتی ارائه شده است که می توان با استفاده از آنان اقدام به پیکربندی تنظیمات مورد نظر در ارتباط با سطح تائید Lan Manager نمود . در این رابطه لازم است برنامه Local Security Policy فعال و در ادامه گزینه های Local Policies و Security Options بترتیب انتخاب گردند . در ویندوز ۲۰۰۰ سیاست LAN Manager authentication level ، و در ویندوز XP و ۲۰۰۳ سیاست Network security: LAN Manager authentication level ، بمنظور پیکربندی ومقداردهی مناسب انتخاب گردند .
در صورتیکه بر روی تمامی سیستم ها ، ویندوز NT SP۴ و یا بعد از آن نصب شده باشد ، می توان مقدارپارامتر فوق را بر روی تمامی سرویس گیرندگان سه و بر روی Domain Controllers مقدار پنج درنظر گرفت (پیشگیری از ارسال LM hashes بر روی شبکه ) . سیستم هائی نظیر ویندوز ۹۵ و ۹۸ از NTLMv۲ بصورت پیش فرض بهمراه Microsoft Network Client استفاده نمی نمایند ، بنابراین لازم است بمنظور استفاده از قابلیت های NTLMv۲ ، برنامه Directory Services Client بر روی آنان نصب گردد. پس از نصب سرویس فوق ، مقدار ریجستری با نام LMCompatibility می تواند مقدار صفر و یا سه را دارا باشد .در صورتیکه نمی توان سرویس گیرندگان قدیمی ( ویندوز ۹۵ و یا ویندوز ۹۸ ) را ملزم به استفاده از NTLMv۲ نمود ، می توان تغییر مورد نظر را در رابطه با LM hashing نسبت به استفاده از NTLM (NT Lan Manager, version ) در Domain Controller اعمال نمود.در این رابطه می توان مقدار LMCompatibilityLevel را چهار در نظر گرفت . درصورت استفاده از ابزاری نظیر Local Security Policy،می بایست مقدار LAN Manager authentication level را Send NTLMv۲ Response onlyRefuse LM درنظر گرفت . لازم است به این نکنه اشاره گردد که ایمن ترین گزینه در این رابطه، اعمال محدودیت برروی سرویس گیرندگان است .
●ممانعت از ذخیره سازی LM hash . یکی از مسائل اصلی در ارتباط با حذف LM hashes در شبکه ، ذخیره سازی آنان در SAM و یا اکتیو دایرکتوری است .مایکروسافت دارای مکانیزمی بمنظور غیرفعال نمودن ایجاد LM hashes بوده ولی امکان استفاده از آن صرفا" در سیستم های ویندوز ۲۰۰۰ ( SP۲ و یا بعد بر روی آنان نصب شده است ) ، ۲۰۰۳ و XP بوجود دارد. کلید ریجستری زیر، کنترل عملیات فوق راانجام می دهد. در صورتیکه بر روی Windows ۲۰۰۰ Domain Controller کلید فوق ایجاد شده باشد ، LanMan hashes ، در ادامه ایجاد نخواهد شد و در اکتیو دایرکتوری نیز ذخیره نمی گردد. در ویندوز ۲۰۰۳ و XP ، می توان با فعال نمودن گزینه Network security: Do not store LAN Manager hash value on next password change به اهداف موردنظر در رابطه با ذخیره سازی LM hash دست یافت . در این رابطه لازم است برنامه Local Security Policy فعال و در ادامه گزینه های Local Policies و Security Options بترتیب انتخاب گردند . پس از اعمال تغییرات فوق ، می بایست سیستم راه اندازی شده تا تغییرات ایجاد شده ، موثر واقع شوند . لازم است به این نکته مهم اشاره گردد که روش های ارائه شده ، صرفا" پیشگیری لازم در خصوص ایجاد LM hashes جدید راانجام داده و LM hashes موجود بصورت انفرادی و در زمانیکه کاربر رمز عبور خود را تغییر دهد ، حذف خواهند شد .
Rgistry key
Hive: HKEY_LOCAL_MACHINE
Key: SystemCurrentControlSetControlLSANoLMHash
●ممانعت و پیشگیری از تکثیر Hash و بانک های اطلاعاتی SAM
ابزارهای cracking رمزعبور، بمنظور بدست آوردن رمزهای عبور hashes از روش های زیر استفاده می نمایند :
▪ کشف رمزهای عبور از شبکه . بدین منظور موارد زیر پیشنهاد می گردد :
▪استفاده از شبکه های سوئیچ شده .
▪تشخیص و حذف کارت های شبکه بی هدف موجود در شبکه (در این رابطه می توان از ابزارهای امنیتی خاصی نظیر ethereal استفاده کرد) .
▪ تکثیر فایل SAM . فایل فوق در ویندوز NT۴ و ۲۰۰۰ در فولدر SystemRoot%System۳۲Config% (عموما" در مسیر C:WinntSystem۳۲Config ) و در ویندوز XP و یا ۲۰۰۳ در فولدر C:WindowsSystem۳۲Config مستقرمی باشد.، فایل فوق ، توسط سیستم عامل ویندوز Lock و صرفا" زمانی امکان تکثیرآن وجود خواهد داشت که ماشین با یک سیستم عامل دیگر راه اندازی شده باشد. فایل SAM را می توان با استفاده از فایل Backup مربوطه نیز بدست آورد.
بمنظور پیشگیری از تکثیر فایل SAM و افزایش سطح امنیتی سیستم لازم است دستیابی فیزیکی به سیستم های موجود خصوصا" Domain Controllers محدود و همواره از اطلاعات Backup گرفته شده و دیسک Repair نیز بمنظور برخورد با مشکلات آتی ایجاد گردد .
منبع : شرکت سخاروش


همچنین مشاهده کنید