IRCAR201002053
در طي سالهاي اخير بسياري از شركت ها براي راحتي بيشتر مشتريان و كارمندان خود، برخي امكانات اضافي را به برنامه هاي كاربردي موجود اضافه كرده و يا برنامه هاي كاربردي جديدي را پياده سازي كرده اند. براي مثال مي توان به دسترسي آنلاين به خدمات بانكي و يا گسترش شيوه هاي ارتباط الكترونيك براي كارمنداني كه در خانه كار مي كنند، اشاره كرد. از طرف ديگر بسياري از شركت ها به ضرورت حضور در اينترنت براي جذب مشتريان بالقوه و حفظ مشتريان فعلي پي برده اند. در هر دو مورد، زماني كه بحث حضور در اينترنت پيش مي آيد، عنصر امنيت به خصوص امنيت سرورها اهميت ويژه اي پيدا مي كند. سرورهاي وب ، در كنار سرويس هاي مفيد خود، مجموعه جديدي از آسيب پذيري ها را نيز پديد آورده اند كه لازم است دست اندركاران سيستم هاي رايانه اي، به خصوص سيستم هاي مبتني بر وب، آنها را جدي تلقي كنند. البته آسيب پذيري ها به سرورها محدود نمي شوند و ممكن است به صورت عمدي يا غير عمدي در طراحي و پياده سازي برنامه هاي كاربردي، حتي برنامه هايي كه مدتهاست در حال كار هستند، ايجاد شده باشند. به همين جهت شناسايي آسيب پذيري ها و ميزان نفوذ و تأثير آنها بر روي سيستم از اهميت ويژه اي برخوردار است. لذا بسياري از شركت ها براي نيل به هدف فوق از تست نفوذ استفاده مي كنند.
در اين مقاله مفهوم تست نفوذ و تعاريف مرتبط با آن را توضيح مي دهيم و در مقاله بعدي درباره شيوه اجراي آن صحبت خواهيم كرد.
تست نفوذ چيست؟
يك تست نفوذ يا Penetration Test يك پروسه مجاز، برنامه ريزي شده و سيستماتيك براي به كارگيري آسيب پذيري ها جهت نفوذ به سرور، شبكه و يا منابع برنامه هاي كاربردي است. در واقع تست نفوذ روشي براي ارزيابي امنيتي يك سيستم يا شبكه كامپيوتري است كه از طريق شبيه سازي حمله يك هكر يا نفوذگر خرابكار صورت مي گيرد. پروسه تست نفوذ يك تحليل فعال از سيستم براي يافتن هر حفره، آسيب پذيري و نقص فني است كه بالقوه يك ضعف امنيتي سيستم محسوب مي شود. اين تحليل در مقام يك هكر بالقوه انجام مي شود و در آن مي توان از آسيب پذيري هاي امنيتي فعال براي اجراي حملات استفاده كرد. همه مشكلات امنيتي بايد همراه با ارزيابي ميزان اهميت آنها و همچنين پيشنهاد هايي براي كاهش اثر خطرات و يا راه حل هاي فني به صاحب سيستم ارائه شوند. تست نفوذ مي تواند با استفاده از منابع داخلي همچون سيستم امنيتي ميزبان و يا منابع خارجي همچون اتصالات شركت به اينترنت هدايت شود. در اين تست معمولاً از يك سري ابزارهاي اتوماتيك و يا دستي براي آزمودن منابع سيستم استفاده مي شود.
البته انجام تست نفوذ بر روي سيستم هاي فعال، خطر از هم گسستن آنها را در پي دارد زيرا اجرا كردن حملات فعال بر روي سيستم ممكن است منجر به از كار افتادگي، بروز برخي رفتارهاي غير قابل پيش بيني و بي ثباتي سيستم شود.
تست نفوذ چه چيزي نيست؟
يك اقدام هماهنگ نشده براي دسترسي بدون اجازه به منابع را نمي توان يك تست نفوذ دانست. تست نفوذ بايد به صورت برنامه ريزي شده و هماهنگ با صاحبان سيستم انجام شود. كمترين تأثير تست نفوذ بر سيستم، ايجاد هشدارهايي بر روي سيستم تشخيص نفوذ يا IDS (در صورت وجود) است. به علاوه برخي تست ها منجر به از كار افتادن تجهيزات شبكه يا سيستم مي شوند و به همين علت آگاهي مديران و كارمندان از انجام تست نفوذ يك ضرورت به حساب مي آيد. تنها مورد استثناء در آگاهي دادن كامل به كارمندان، مربوط به تست سيستم تشخيص نفوذ و عكس العمل كارمندان در برابر آن است. بنابراين گرفتن مجوز از مديريت براي انجام تست نفوذ جهت پذيرش پيامدهاي آن، ضروري محسوب مي شود.
چه چيزهايي بايد تست شوند؟
در تست نفوذ لازم است تمام سرويس هاي دروني كه توسط شركت ارائه مي شوند، مورد بررسي و آزمون قرار گيرند. سرويس هاي مذكور عبارتند از: Mail، DNS، سيستم هاي فايروال، ساختار كلمات عبور، سيستم هاي پروتكل انتقال فايل (FTP)و وب سرورها. طبق اطلاعات جديد سيستم هاي بي سيم شركت و Public Branch Exchange(PBX) نيز بايد مورد تست قرار گيرند. از طرف ديگر روش هاي بالقوه نفوذ مانند دسترسي به منابع شبكه و شيوه به دست آوردن اطلاعات نيز بايد مورد بررسي قرار گيرند. همچنين تلاش هاي مهندسي اجتماعي را نيز براي دسترسي به منابع بايد در نظر گرفت.
روش هاي تست: جعبه سياه در مقابل جعبه سفيد
تست نفوذ و يا ارزيابي آسيب پذيري ها از ديدگاه مديريتي به دو روش اساسي مي تواند انجام شود. در واقع تست نفوذ مي تواند به صورت محرمانه (تست جعبه سياه) و يا به صورت عمومي (تست جعبه سفيد) انجام پذيرد.
تفاوت اصلي در اين روشها ميزان دانش تست كنندگان از جزئيات پياده سازي سيستم مورد بررسي است. در تست نفوذ به روش جعبه سياه فرض مي شود تست كنندگان هيچگونه اطلاعاتي از زيرساخت هاي سيستم ندارند و لذا ابتدا بايد گستردگي و توزيع سيستم را يافته و سپس شروع به تحليل كنند. اين مرحله بسيار زمان بر بوده و به عنوان مرحله جمع آوري اطلاعات شناخته مي شود. در نقطه مقابل و در انتهاي ديگر طيف، روش جعبه سفيد وجود دارد كه در آن اطلاعات كامل زير ساخت، در اختيار تست كنندگان قرار مي گيرد. اين اطلاعات معمولاً شامل نمودارهاي شبكه، كد منبع و اطلاعات آدرس دهي IP است. در ميان اين دو، طيف گسترده اي وجود دارد كه آن را به عنوان روش جعبه خاكستري مي شناسند. همچنين تست هاي نفوذ بنا بر ميزان اطلاعاتي كه در اختيار تست كنندگان قرار مي گيرد به عنوان تست هاي "افشاي كامل"، "افشاي جزئي" و يا "كور" نيز توضيح داده مي شوند.
بحث هايي بر سر ميزان شايستگي نسبي هر كدام از اين روش ها وجود دارد. تست به روش جعبه سياه حملاتي را از طرف يك فرد ناآشنا با سيستم شبيه سازي مي كند. تست نفوذ به روش جعبه سفيد حملاتي را از داخل سازمان و يا بعد از نشت اطلاعات حساس شبيه سازي مي كند كه در آن مهاجم به نقشه شبكه، كد منبع و حتي برخي از كلمات عبور دسترسي دارد.
تست داخلي در مقابل تست خارجي
امروزه بسياري از سازمان ها و شركت ها داراي شبكه داخلي يا LAN هستند كه از طريق آن بين كامپيوترها و منابع ارتباط برقرار كرده و مي توانند برخي از منابع را از اين طريق به اشتراك گذارند. در اينجا منظور از شبكه داخلي همه كامپيوترها، سوئيچ ها، پرينترها و همه دستگاه هاي ديگري است كه در داخل شركت يا سازمان قابل دسترسي هستند.
منظور از دستگاه هاي خارجي، آنهايي هستند كه از طريق اينترنت و يا بخش عمومي شبكه قابل دسترسي هستند. در اين بخش دستگاه هايي مانند وب سرورها (HTTP)، ميل سرورها (POP3 و SMTP) و سرورهاي DNS وجود دارند. به اين دستگاه ها منابع خارجي گفته شده و معمولاً از آنجايي كه به اينترنت اتصال پيدا مي كنند، ميزان خطر آنها نسبت به منابع داخل سازمان بالاتر در نظر گرفته مي شود، اما تحقيقات نشان داده است حدود 50 درصد رخدادهاي امنيتي در داخل سازمان رخ مي دهند و هزينه اي را كه بر سازمان تحميل مي كنند بسيار بيشتر از حملات خارج سازماني است. براي مثال هر حمله داخلي به طور متوسط 2.7 ميليون دلار و هر حمله خارجي 57 هزار دلار براي شركت اراكل هزينه دارد.
تست هايي كه براي مشخص كردن آسيب پذيري هاي با دسترسي به منابع داخلي سازمان و يا از طريق مهندسي اجتماعي انجام مي شوند، به عنوان تست نفوذ داخلي شناخته مي شوند. تست هاي نفوذ داخلي مي توانند به خوبي نشان دهنده حملاتي كه با دسترسي هاي مجاز انجام مي شوند باشند. براي مثال مي توان به حملاتي كه از طرف كارمندان اخراجي انجام مي شود، اشاره كرد. در مقابل تست نفوذ خارجي براي شبيه سازي حملاتي است كه از طريق اينترنت قابل انجام هستند. براي مثال در صورتي كه هدف از انجام تست مطمئن شدن از امنيت پايگاه داده از سمت وب سايت سازمان است، تست نفوذ خارجي پيشنهاد مي شود. البته بسياري از سازمان ها و شركت ها از هر دو روش براي تست نفوذ استفاده مي كنند.
محدوديت هاي تست نفوذ
بايد دقت داشت كه تست نفوذ تنها يك تصوير لحظه اي از سيستم ها و شبكه ها در يك زمان مشخص است. تست نفوذ تنها بر روي سيستم هايي كه در زمان اجراي تست در دسترس هستند و آسيب پذيري ها و نقص هاي امنيتي كه توسط ابزارها و بسته هاي مختلف قابل شناسايي هستند، انجام مي شود. به عبارت ديگر پروسه امنيت شبكه و سيستم، يك پروسه پيوسته و دائمي است زيرا به محض تمام شدن تست، ممكن است يك سيستم و يا برنامه كاربردي ديگر به مجموعه اضافه شده و در صورت اجراي دوباره تست نفوذ، نتايج متفاوتي حاصل گردد.
استانداردها و گواهينامه ها
انجام تست نفوذ مي تواند منجر به افشاي اطلاعات حساس سازمان مورد بررسي شود. به همين دليل شركت هاي امنيتي بايد صريحاً نشان دهند كه از هكرهاي كلاه سياه قبلي استفاده نكرده و همه كارمندان آنها به قوانين مربوط به كد نويسي اخلاقي پايبند هستند. شركت هاي امنيتي براي نشان دادن قابل اعتماد بودن خود، مي توانند از گواهينامه هاي حرفه اي در اين زمينه استفاده كنند.
موسسه Information Assurance Certification Review Board (IACRB) يك گواهينامه تست نفوذ را به عنوان Certified Penetration Tester(CPT) ارائه مي دهد. براي دريافت CPT كانديدا بايد چندين امتحان تئوري را پشت سر گذاشته و سپس يك امتحان عملي را نيز با اجراي يك تست نفوذ بر روي سرورهاي فعال پشت سر گذارد.
موسسه SANS يكي ديگر از موسساتي است كه در زمينه هاي مختلف امنيت فناوري اطلاعات دوره هاي آموزشي دارد و يك گواهينامه امنيتي به نام GIAC(Global Information Assurance Certification) صادر مي كند. دو نوع از گواهينامه هاي GIAC مختص به تست نفوذ هستند و با نام هاي GIAC Certified Penetration Tester(GPEN) و GIAC Web Application Penetration Tester(GWAPT) شناخته مي شوند.
براي برنامه هاي كاربردي مبتني بر وب، Open Web Application Security Project(OWASP) يك چارچوب كاري را ارائه داده است كه به عنوان يك محك (benchmark ) شناخته شده در سراسر جهان استفاده مي شود.
چندين گواهينامه امنيتي نيز توسط دولت انگليس تهيه شده است كه در ابتدا هدف آنها سازمان هاي وابسته به دولت بود، ولي مدتي بعد در دسترس شركت هاي تجاري كه قصد دارند سطح بالايي از امنيت را براي مشتريان خود تضمين كنند، نيز قرار گرفت.
براي سالها تنها استاندارد تست نفوذ، الگوي CHECK بوده است كه توسط گروه امنيت الكترونيك و ارتباطات انگليس (CESG) تهيه شده است. اين استاندارد در ابتدا يك پيش شرط اجباري براي تست هاي دولت مركزي بوده ولي با توجه به قوانين انگليس، اجراي آن براي دولت هاي محلي و شركت هاي دولتي اجباري نبوده است. قابل ذكر است كه استاندارد مذكور از سوي بخش خصوصي و شركت هاي تجاري با استقبال خوبي روبرو شد.
الگوي TIGER يكي از الگوهاي شناخته شده غير دولتي انگلستان براي تست نفوذ است. براي به دست آوردن گواهينامه منطبق با الگوي مذكور، آموزش هايي توسط شركت QBit ارائه مي شود و برگزار كننده امتحانات مربوطه Glamorgan University است. براي گرفتن گواهينامه مذكور نياز نيست فرد متقاضي در استخدام يك شركت امنيتي باشد. گواهينامه تست كننده امنيتي ارشد (Tiger Senior Security Tester(SST)) معادل با رهبر تيم CHECK يا CHECK Team Leader(CTL) شناخته مي شود.
گواهينامه CREST(Council of Registered Ethical Security Testers) نيز يك گواهينامه تست نفوذ انگليسي است كه بر مبناي استاندارد CREST داده مي شود. موسسه CREST يك مجتمع غير انتفاعي متشكل از 15 شركت امنيتي انگليسي اجرا كننده تست نفوذ است. گواهينامه اين موسسه نيز مانند گواهينامه CHECK تنها به كساني كه در استخدام شركت هاي ارائه دهنده گواهينامه هستند، داده مي شود.
در قسمت بعدي سري مقاله هاي تست نفوذ، شيوه اجراي تست مذكور را توضيح خواهيم داد.
- 24