تست نفوذپذیری
آزمون نفوذپذیری یا آزمون نفوذ (به انگلیسی: Penetration test) روشی برای تخمین میزان امنیت یک کامپیوتر (معمولاً سرور) یا یک شبکه است که با شبیهسازی حملات یک حملهکننده (هکر) صورت میگیرد. در این روش تمام سیستم و نرمافزارها و سرویسهای نصب شده روی آن برای یافتن مشکلات امنیتی آزمایش میشوند و سپس اقدام به رفع مشکلات موجود میشود.
فرآیند تست نفوذ
- مشخص کردن دامنه ( هدف ، تارگت)
- جمع آوری اطلاعات
- ارزیابی آسیب پذیری
- تست نفوذ
- گزارش و ارائه راهکار
رویکرد تست نفوذ
تست نفوذ به روشهای متفاوتی قابل انجام است. بیشترین تفاوت میان این روشها، در میزان اطلاعات مرتبط با جزییات پیادهسازی سیستم در حال تست میباشد که در اختیار تیم تست نفوذ قرار داده میشود. با توجه به این موضوع تست نفوذ را میتوان به چهار دسته Covert،Black-Box ، White – Box و Gray-Box ، تقسیم نمود.
Black-Box
تست Black-Box ( جعبه سیاه ) با فرض فقدان دانش قبلی از زیر ساختهایی است که قرار است مورد تست قرار گیرند. متخصصان باید پیش از آنالیز و بررسی، ابتدا مکان و گستره سیستمها را بطور دقیق مشخص کنند. تست Black-Box در واقع شبیهسازی کردن حملهای است که توسط نفوذگری انجام میشود که در ابتدا با سیستم آشنایی ندارد.
White-Box
تست White-Box ( جعبه سفید یا تست شفاف ) اطلاعات ضروری مانند معماری شبکه، کدهای منبع، اطلاعات آدرس IP و شاید حتی دسترسی به بعضی از کلمات عبور،در اختیار تیم ارزیابی امنیتی قرار میگیرد. تست White-Box حملهای را شبیه سازی میکند که ممکن است در اثر افشای اطلاعات محرمانه از شبکه داخلی یا حضور نفوذگر در داخل سازمان بوجود آید. تست White-Box دارای گستردگی وسیعی میباشد و محدوده آن شامل بررسی شبکه محلی تا جستجوی کامل منبع نرم افزارهای کاربردی به منظور کشف آسیبپذیریهایی که تا کنون از دید برنامه نویسان مخفی مانده است، میباشد.
Gray-Box
روش های متنوع دیگری نیز وجود دارد که در واقع مابین دو روش ذکر شده در بالا قرار میگیرند که معمولا از آنها به تست های Gray-Box ( جعبه خاکستری )تعبیر میشود.
Covert
این نوع تست که به تست نفوذ double-blind نیز مشهور است اشاره به زمانی دارد که تقریباً هیچکس از جمله افراد متخصص امنیت شبکه در شرکت مورد هدف اطلاعی از این حملهی کنترل شده ندارند. در این نوع تست نفوذ بسیار اهمیت دارد که متخصصین امنیت اجراکنندهی تست اطلاعاتی پایهای دربارهی موضوع داشته باشند که از مشکلات قانونی جلوگیری شود.
تست نفوذ External و Internal
External
به انواع تستهایی اطلاق میشود که در خارج از محدوده سازمانی که قرار است مورد تست نفوذ قرار بگیرد، انجام میشود
در واقع سناریویی را بررسی میکند که مهاجم با دسترسی داشتن به منابع مورد نیاز خود، از جمله آدرس های IP که از سازمان مورد نظر در اختیار دارد و یا با در اختیار داشتن کد منبع نرم افزارهایی که در سازمان استفاده میشوند و در اینترنت موجود می باشند اقدام به پویش و کشف آسیبپذیری نماید.
Internal
در حوزه مکانی آن سازمان و در میان افرادی که آن سازمان فعالیت میکنند انجام میشود.
سناریویی بررسی میشود که مهاجم به هر طریق ممکن موفق به ورود به سازمان مورد نظر شده و با جمع آوری داده های مورد نظر اقدام به حمله میکند. با ورود به محدوده مکانی یک سازمان مهاجم می تواند سناریوهای مختلفی را پیاده سازی نماید. برای نمونه با استفاده از شبکه بیسیم داخلی و بررسی دادههای به اشتراک گذاشته شده که می تواند اطلاعات کارمندان باشد، حدس زدن کلمات عبور اصلی برای مهاجم سادهتر خواهد شد.
انواع تست نفوذ
- تحلیل ریسکهای امنیت
- برنامهریزی تست امنیت
- طراحی و اجرای تست امنیت
- تکنیکهای جمعآوری اطلاعات یک برنامه کاربردی (عمدتاً وب سایتها)
- تست مدیریت پیکربندی (Configuration Management)
- تست منطق کاری (Business Logic)
- تست مدیریت نشست (Session Management)
- تست احراز هویت (Authentication)
- تست کنترل دسترسی (Authorization)
- تستهای مربوط به اعتبارسنجی دادههای وروردی (Injections, Buffer overflow)
تست نفوذ در ایران
با توجه به اهمیت دادن مسئولین و سران نظام به مسئله امنیت در ایران، امنیت در حوزه فناوری اطلاعات نیز از اهمیت ویژهای برخوردار است. این مسئله سبب شده بر خلاف سایر حوزههای تضمین کیفیت و تست نرمافزار، برای این حوزه اهمیت خیلی زیادی قائل شوند. علاوه بر این، جذابیت مباحث هک و نفوذ سبب شده افراد زیادی به این موضوع علاقه پیدا کنند. به دلیل بومی نبودن تکنولوژی مربوطه، دانش سطحی و نبود زیر ساختهای لازم، تعداد متخصصین و افراد خبره در این موضوع بسیار اندک است، اما در چند سال اخیر گروههای تخصصی و فنی مجرب زیادی شروع به کار کردهاند که آینده روشنی را برای ایران در حوزه امنیت تداعی میکنند.
ارزیابی امنیتی سامانهها و تست نفوذ
تست نفوذ یا آزمون نفوذپذیری (به انگلیسی: Penetration test) روشی برای تخمین میزان امنیت یک کامپیوتر (معمولاً سرور) یا یک شبکه یا یک سایت یا یک نرمافزار است که با شبیهسازی حملات یک حملهکننده (هکر) صورت میگیرد. در این روش تمام سیستم و نرمافزارها و سرویسهای نصب شده روی آن برای یافتن مشکلات امنیتی آزمایش میشوند و سپس اقدام به رفع مشکلات موجود میشود. امروز بر روی سایت، نرمافزار، اپلیکیشن و شبکه اینترنت تست نفوذ انجام میگیرد. اولین اقدام برای اطمینان از امنیت یک سایت یا نرمافزار انجام تست نفوذ بر روی آن است.