

تست نفوذ چیست؟
در جوامع امروزی، تلاش برای بهبود وضعيت كنونی در هر زمان و مكان و هر موقعيتی به یک اصل تبديل شده است. در واقع یکی از اصول مهم در تمامی سطوح و گرايش های كليه استانداردها، در پيش گرفتن فرآيند هایی است كه بهبود وضعيت را در پی داشته باشد. به خصوص اين امر در تكنولوژی اطلاعات یکی از اصول تخطی ناپذير و غير قابل اجتناب است. حال اگر وارد حيطه شبكه های كامپيوتر و نيز نرم افزارهای گوناگون شويم، بايد براي اين فرآيند، راه های متناسب با آن را اتخاذ كنيم. یکی از مهم ترین راه حل ها استفاده از فرایند تست نفوذ است.
در واقع تست نفوذ، اقدامی پیشگیرانه و با مجوز از طرف سازمان مجری این تست میباشد، که وظیفه اصلی آن ارزیابی امنیت ساختار های مبتنی بر فناوری اطلاعات میباشد که از این رو گام هایی جهت شناسایی آسیب پذیری های احتمالی در سیستم عامل ها، سرویس ها و برنامه های کاربردی و همچنین وجود خطا در تنظیمات اعمال شده و حتی شناسایی رفتارهای انسانی، خطر سازی که ممکن است از سمت کاربران رخ دهد مورد بررسی قرار می گیرد. تست نفوذ به صورت معمول با استفاده از تکنولوژی هایی موجود در زمینه امنیت، توسط نفوذگر صورت می پذیرد، که این امر موجب شناسایی خطرات موجود در سرورها، کاربران، برنامه های تحت وب، شبکه های بی سیم، تجهیزات شبکه، دستگاه های قابل حمل و هر نقطه ی دیگری که ظرفیت آسیب پذیری داشته باشد را شامل می شود.
مراحل تست نفوذ
تست نفوذ را می توان به ۵ مرحله تقسیم کرد.
۱٫ برنامه ریزی و شناسایی
این مرحله شامل موارد زیر است :
- تعیین دامنه و اهداف یک آزمون از جمله سیستم هایی که باید مورد توجه قرار گیرند و روش های آزمایش مورد استفاده قرار گیرند.
- جمع آوری اطلاعات (به عنوان مثال ، نام شبکه و دامنه ، سرور نامه) برای درک بهتر نحوه عملکرد یک هدف و آسیب پذیری های احتمالی آن.
۲٫ اسکن
این مرحله درک چگونگی پاسخ برنامه کاربردی به اقدامات مختلف نفوذی است. که این مرحله با استفاده از موارد زیر انجام می گیرد.
- تجزیه و تحلیل استاتیک – بازرسی از کد برنامه برای برآورد نحوه رفتار در هنگام اجرا. این ابزارها می توانند کل رمز را در یک پاس واحد اسکن کنند.
- تجزیه و تحلیل پویا – بررسی کد برنامه در حالت در حال اجرا. این یک روش عملی تر برای اسکن می باشد، زیرا نمای واقعی را به عملکرد برنامه می دهد.
۳٫ دسترسی یافتن
در این مرحله از حملات برنامه های وب، مانند برنامه نویسی سایت، تزریق SQL و پشت درها، برای کشف نقاط آسیب پذیری هدف استفاده میشود. آزمایش کنندگان سپس از این آسیب پذیری ها استفاده میکنند، به طور معمول با افزایش امتیازات، سرقت داده ها، رهگیری ترافیک و غیره، تا آسیب های ناشی از آن ها را بفهمند.
بیشتر بخوانید >> فایروال برنامه وب (WAF)
۴٫ حفظ دسترسی
هدف از این مرحله این است که ببینیم آیا می توان از آسیب پذیری برای دستیابی به حضور مداوم در سیستم استثمار شده استفاده کرد. ایده تقلید از تهدیدات مداوم پیشرفته ، که اغلب برای سرقت حساس ترین داده های سازمان ، ماه ها در یک سیستم باقی می مانند.
۵٫ تحلیل و بررسی
تشریح نتایج حاصل از تست نفوذ به صورت زیر می باشد :
- آسیب پذیری های خاص مورد سوء استفاده قرار گرفت
- داده های حساس که قابل دسترسی داشتند
روش های تست نفوذ
آزمایش خارجی
تست های نفوذ خارجی، دارایی های یک شرکت را که در اینترنت قابل مشاهده است، به عنوان مثال، خود برنامه وب، وب سایت شرکت و سرور های ایمیل و نام دامنه (DNS) هدف قرار می دهند. هدف دستیابی به داده های ارزشمند است.
آزمایش داخلی
در یک آزمایش داخلی، یک تستر با دسترسی به برنامه ای که در پشت دیوار آتش خود قرار دارد، حمله توسط یک خودی مخرب را شبیه سازی میکند. این لزوما شبیه سازی یک کارمند سرکش نیست. سناریوی شروع مشترک می تواند کارمندی باشد که اعتبار او به دلیل حمله فیشینگ به سرقت رفته است.
تست کور
در یک آزمایش کور، آزمایش کننده فقط نام شرکت مورد نظر را نشان می دهد. این به پرسنل امنیتی نشان می دهد که در زمان واقعی، چگونگی حمله واقعی برنامه را بررسی کند.
تست دو کور
در یک آزمایش دو کور، پرسنل امنیتی هیچ اطلاعی از حمله شبیه سازی شده ندارد. مانند دنیای واقعی، آن ها دیگر هیچ وقت برای دفاع از خود پیش از اقدام، نقص نخواهند داشت.
نتیجه
سرانجام، تست نفوذ بعضی از الزامات انطباق را برای رویه های حسابرسی امنیتی، از جمله PCI DSS و SOC 2 برآورده می کند. برخی از استاندارد ها، مانند PCI-DSS 6.6، فقط با استفاده از یک WAF معتبر قابل اجرا هستند. با این وجود، انجام تست نفوذ به دلیل مزایا و همچنین توانایی بهبود در تنظیمات WAF، مفیدتر نخواهد بود.