با افزایش روز افزون استفاده از کامپیوتر و اینترنت در زندگی انسان نیاز به امنیت اطلاعات به امری بدیهی و بسیار مهم برای شرکت ها و سازمان ها بدل شده است. به منظور افزایش امنیت شبکه نیاز است تا پیش از هکرها نقاط ضعیف و آسیبپذیر شبکه را شناسایی و نسبت به رفع این نقایص اقدام گردد.
تست نفوذپذیری روشی است جهت ارزیابی امنیت شبکه بکمک شبیهسازی حملاتی که توسط هکرها انجام میگیرد و بصورت کلی تست های نفوذسنجی به سه گروه عمده طبقه بندی می شوند :
تست با دارا بودن اطلاعات کامل یا Full Knowledge Test : در این نوع تست تیم تست نفوذسنجی تا جایی که امکان دارد در خصوص سیستم اطلاعاتی مورد حمله، اطلاعات در اختیار دارد. معمولا این نوع حملات توسط پرسنل خود سازمان که دارای دانش لازم جهت انجام تست های نفوذسنجی هستند انجام می شود. به این نوع تست نفوذسنجی جعبه سفید یا White Box Penetration Test نیز گفته می شود.
- تست با دارا بودن اطلاعات نسبی یا Partial Knowledge Test : در این نوع تست ، تیم تست نفوذ سنجی اطلاعاتی در خصوص یک قسمت خاص از شبکه را دارا هستند که بایستی حمله به آن قسمت انجام شود. اعضای تیم تست نفوذسنجی می بایست صرفا به این قسمت از سیستم نفوذ کرده و آنرا هک کنند و سپس نقاط ضعف امنیتی آن را بررسی و تحلیل کنند . به این نوع تست ، نفوذ سنجی جعبه خاکستری یا Graybox Penetration Test نیز گفته می شود.
- تست بدون داشتن اطلاعات یا Zero Knowledge Test : در این نوع تست هیچگونه اطلاعاتی در خصوص سیستم هدف در اختیار تيم تست نفوذسنجی قرار نگرفته و مهاجمین بایستی خودشان تمامی این اطلاعات را بدست بیاورند. به این نوع تست نفوذسنجی جعبه سیاه یا Blackbox Penetration Test نیز گفته می شود .
یکی دیگر از طبقه بندی هایی که برای تشریح انواع تست های نفوذ سنجی بکار می شود ، تست های نفوذ سنجی جعبه باز یا Open-Box و جعبه بسته یا Closed-Box می باشد. در تست های جعبه باز یا Open-Box نفوذگر به کدهای داخلی سیستم دسترسی دارد ، این نوع نفوذها معمولا بر روی سیستم عامل های همه منظوره ای مانند لینوکس و یونیکس انجام می شوند. در تست های جعبه بسته یا Closed-Box نفوذگر به کدهای داخلی سیستم دسترسی ندارد. این نوع تست ها معمولا بر روی سیستم هایی انجام می شود که کاربرهای خاصی داشته و به کاربران اجازه اجرای کد بر روی خود را نمی دهند .
این امر بدیهی است که کسانی که مامور انجام تست نفوذسنجی برای یک سازمان می شوند ، بایست تابع قوانینی باشند که در آن سازمان تعریف شده است ، این بدین معنا نیست که تست نفوذ را انجام ندهند بلکه به این معناست که تست نفوذ نبایستی از حریم های تعیین شده از طریق سازمان به مجری تست خارج شود و محدودیت هایی که سازمان در انجام تست اعمال می کند بایستی رعایت شود. تست نفوذسنجی به هیچ عنوان نبایستی باعث به وجود آمدن خلل در روند کاری سازمان و یا دستکاری و خرابکاری در داده های سازمان شود. تست های نفوذ سنجی معمولا شامل مراحل زیر هستند :
- شناسایی یا Discovery : اطلاعات و داده های مرتبط با سازمان و سیستم ها از طریق کانال های عمومی ، پایگاه های داده ، وب سایت ها ، سرور های ایمیل و … ارزیابی و جمع آوری می شوند.
- شمارش یا Enumeration : تیم نفوذگر تلاش می کند که تا می تواند اطلاعات در خصوص شبکه هدف مورد نظر بدست بیاورد ، این اطلاعات می تواند شامل نسخه های سیستم عامل های مورد استفاده در سیستم هدف ، شناسه ها ، نام های کاربری و … باشد.
- تشخیص نقاط ضعف یا Vulnerability Mapping : تیم نفوذگر اطلاعات بدست آورده در مراحل قبلی را بررسی کرده و بر اساس آن نقاط ضعف امنیت مرتبط را شناسایی و با توجه به بستر مورد استفاده از آنها استفاده می کند.
- سوء استفاده یا Exploitation : تیم نفوذگر با استفاده از نقاط ضعف امنیتی موجود در سیستم هدف به آن حمله کرده و به منابع اطلاعاتی آن دست پیدا می کند .
تفاوت اصلی در این روشها میزان دانش تست کنندگان از جزئیات پیاده سازی سیستم مورد بررسی است. در تست نفوذ به روش جعبه سیاه فرض می شود تست کنندگان هیچگونه اطلاعاتی از زیرساخت های سیستم ندارند و لذا ابتدا باید گستردگی و توزیع سیستم را یافته و سپس شروع به تحلیل کنند. این مرحله بسیار زمان بر بوده و به عنوان مرحله جمع آوری اطلاعات شناخته می شود. در نقطه مقابل و در انتهای دیگر طیف، روش جعبه سفید وجود دارد که در آن اطلاعات کامل زیر ساخت، در اختیار تست کنندگان قرار می گیرد. این اطلاعات معمولاً شامل نمودارهای شبکه، کد منبع و اطلاعات آدرس دهی IP است. در میان این دو، طیف گسترده ای وجود دارد که آن را به عنوان روش جعبه خاکستری می شناسند. همچنین تست های نفوذ بنا بر میزان اطلاعاتی که در اختیار تست کنندگان قرار می گیرد به عنوان تست های “افشای کامل”، “افشای جزئی” و یا “کور” نیز توضیح داده می شوند.
به عبارتي یک تست نفوذ یا Penetration Test یک پروسه مجاز، برنامه ریزی شده و سیستماتیک برای به کارگیری آسیب پذیری ها جهت نفوذ به سرور، شبکه و یا منابع برنامه های کاربردی است. در واقع تست نفوذ روشی برای ارزیابی امنیتی یک سیستم یا شبکه کامپیوتری است که از طریق شبیه سازی حمله یک هکر یا نفوذگر خرابکار صورت می گیرد. پروسه تست نفوذ یک تحلیل فعال از سیستم برای یافتن هر حفره، آسیب پذیری و نقص فنی است که بالقوه یک ضعف امنیتی سیستم محسوب می شود. این تحلیل در مقام یک هکر بالقوه انجام می شود و در آن می توان از آسیب پذیری های امنیتی فعال برای اجرای حملات استفاده کرد. همه مشکلات امنیتی باید همراه با ارزیابی میزان اهمیت آنها و همچنین پیشنهاد هایی برای کاهش اثر خطرات و یا راه حل های فنی به صاحب سیستم ارائه شوند. تست نفوذ می تواند با استفاده از منابع داخلی همچون سیستم امنیتی میزبان و یا منابع خارجی همچون اتصالات شرکت به اینترنت هدایت شود. در این تست معمولاً از یک سری ابزارهای اتوماتیک و یا دستی برای آزمودن منابع سیستم استفاده می شود.
در تست نفوذ شما از طریق شبیه سازی یک حمله واقعی ، میتوانید حفره های امنیتی را کشف نمایید. این حملات می تواند بر پایه حملات فنی و Script-base و یا حملات بر پایه منابع انسانی و human-base در شبکه صورت گیرد. به طور کلی تست نفوذ در موارد زیر را به همراه خواهد داشت:
– شناسایی تهدیداتی که اطلاعات شما را تهدید می نماید.
– کاهش هزینه های فناوری سازمان/شرکت از طریف شناسایی آسیب پذیری ها و نقاط ضعف
– ارزیابی سیستم های امنیتی که نصب کرده اید از قبیل فایروال ها، روترها و وب سرورها
-برنامه ریزی مناسب و مبتنی بر واقعیت برای خرید های نرم افزاری و سخت افزار و طراحی های شبکه
انجام تست نفوذ شامل مراحل زیر میباشد:
- جمع آوری اطلاعات
- Finger printing و Foot printing
- ارزیابی شبکه
- پویش پورتها و شناسایی سرویسها
- جستجوی دستی و خودکار برای آسیبپذیریها
- استفاده از آسیبپذیریها
- دسترسی به سرویسها و سیستمها و ارتقاع دسترسی
- تهیه و تنظیم گزارش نهایی و ارایه آن
حوزه هاي ارزيابي امنيتي و تست نفوذ پذيري عبارتند از :
۱- شبکه هاي رايانه اي
- شبکه متصل به اينترنت
- سرويس دهنده ها
- شبکه داخلي
- کاربران
۲- شبکه هاي ارتباطي
- شبکه هاي کابلي
- مبتني بر Ethernet
- مبتني بر فيبر نوري
- شبکه هاي بيسيم
- شبکه هاي بيسيم مبتني بر پروتکل ۸۰۲٫۱۱
- شبکه هاي بيسيم مبتني بر پروتکل ۸۰۲٫۱۶
- شبکه هاي مبتني بر بلوتوث
- شبکه هاي دريافت و ارسال ديجيتال(DVB)
- شبکه هاي ماهواره اي
- شبکه هاي مخابراتي مبتني بر GSM و ۳G
۳- نرم افزار
- مبتني بر سيستم عامل
- مبتني بر وب
۴- سخت افزار
- ارزيابي کارايي
- ارزيابي امنيتي
- شناسايي آسيب پذيري
۵- پروتکلهاي ارتباطي و رمزنگاري
- تحليل پروتکل
- ارزيابي امنيتي
- شناسايي الگورتيم
- رمزگشايي الگوريتم مبتني بر تحليل اماري
… ادامه دارد
نویسنده: دکتر امین گلستانی، مدیرکل نظام مدیریت امنیت اطلاعات