تست نفوذ که در واقع یک حمله سایبری موثر در شناسایی آسیبپذیریهای قابل سواستفاده است، به یکی از ابزارهای مهم در عرصه امنیت سایبری تبدیل شده است. این تست برای آزمایش تجهیزات، سیستمها، برنامههای کاربردی، سرورها، شبکهها و سایر موارد کاربردی است.
شخص تست کننده ممکن است اقدام به ایجاد نقض امنیتی در چندین سیستم، سرور و تجهیزات کند تا آسیبپذیریها مشخص شوند. او بر روی Exploitها کار میکند تا چنین تهدیداتی را شناسایی نموده و ورودیهایی که مستعد به حملات تزریق کد هستند را درنظر گیرد. باید دانست که چنین آزمایشی نیازمند تجربه و آموزش مخصوص به خود است.
Exploitها به عنوان یک چشمانداز فرآیند را در ادامه به تستکننده نشان میدهند و هم هکرها و هم تستکنندگان در تلاشاند تا این Exploitها را بدست آورند اما داشتن برگ برنده و رفع نقاط ضعف از پیش برای امنیت بهتر است. همچنین این روش آزمایش با قوانین و استانداردهای دولتی مطابقت داشته و بیش از پیش برای شرکتها قابل استناد است.
این شیوه آزمایش فعال و آیندهنگرانه براساس گزارشهای ارزیابی باعث بهبود خود بطور مداوم میشود و کارکرد آن تنها به هنگام بروز مشکلات نیست. چنین فرآیندی بیشتر حالت پیشگیرانه دارد تا امنیت را در داخل سازمان قویتر سازد.
ویدیوهای بیشتر درباره تست نفوذ
مزایای تست نفوذ
- بخشهایی که با اطلاعات محرمانه سروکار دارند باید دادههای خود را ایمن نگه دارند و این تست میتواند با آنها کمک کند تا به خواسته خود برسند.
- این تست در مواقع بروز حمله تهدیدات مداوم را شناسایی نموده و میتواند به شرکتها در زدودن ویروسها و امنیت دادهها مساعدت نماید.
- سد امنیتی در برابر هکرها مقاوم میشود.
- نقاط ضعف سیستم به وسیله این روش شناسایی میگردد.
- در تعیین میزان قدرت کنترلها بسیار موثر است.
- با قوانین امنیتی مانند PCI DSS، HIPAA، GDPR و غیره هماهنگ است.
- چنین تستی به شرکتها این امکان را میدهد تا برای مسائل امنیت سایبری مربوط به آینده بودجه خود را تنظیم کنند.
برای مشاوره رایگان جهت (باز)طراحی امنیت شبکه و یا انجام تست نفوذ مطابق با الزامات افتا با کارشناسان شرکت APK تماس بگیرید. |
نقش و مسئولیتهای تست کنندگان تست نفوذ
- جستجو درباره اطلاعات لازم سازمان برای انجام تست
- شناسایی نقاط ضعفی که هکرها در سیستم میبینند
- انجام حمله بصورت جدی همانند مهاجمین واقعی
- تعیین و طراحی مدتزمان تست از قبل
- بر عهدهگیری مسئولیت هرگونه از دست رفتن دادهها در طی تست
- نگهداری بی قید و شرط تمامی اطلاعات و دادهها بصورت محرمانه
تست نفوذ باید توسط شخصی خارج از سازمان انجام شود زیرا آنها مهارتها و نقاط دید جدیدی برای شناسایی تهدیدات ارائه میدهند. هکرهای کمکی بسیاری وجود دارند که شایستگی انجام این تست را برای سازمانها دارند.
بیشتر بخوانید: زمان های مناسب برای انجام تست نفوذ شبکه و الویت آن برای سازمان ها
انواع حوضههای تست نفوذ
- برنامهکاربردی وب
تست کردن برنامههای کاربردی وب شامل سنجش امنیت عمومی و ریسکهای بنیادین سیستم هدف میشود که عبارتاند از خطاهای کدنویسی، احرازهویت نابسامان و آسیبپذیریهای مربوط به تزریق کدها.
- امنیت شبکه
تست نفوذ شبکه بر شناسایی آسیبپذیریهای انواع مختلف شبکه، تجهیزات و Hostها منعطف است و شخص تستکننده با سواستفاده از این موارد دسترسی سیستمهای حیاتی را در اختیار میگیرد.
- تستهای امنیت Cloud
این دسته از هکرها با ارائهدهندگان Cloud همکاری میکنند تا سیستمها و برنامههای کاربردی مبتنی بر Cloud را بسنجند. آنها و بر روی پیادهسازیهای Cloud، رسیک کلی و آسیبپذیریهای مختلف کار میکنند و علاوه بر آن، جهت بهبود محیط Cloud، اقدامات مشخصی را پیشنهاد میدهند.
بیشتر بخوانید: مزایای تست نفود از دیدگاه عملیاتی و انواع استراتژی های تست نفوذ چیست؟
- تست امنیت IoT
تستکنندگان پیش از انجام تست، تجهیزات مختلف IoT و اجزای آنها را درنظر گرفته و یک روششناسی لایهلایه را دنبال میکنند و با تحلیل هر لایه، نقاط ضعف را مشخص مینمایند.
- Social Engineering
تست کنندگان با فریب دادن به اطلاعات دسترسی پیدا میکنند و این امر بیشتر با کمک ابزارهای Phishing صورت میگیرد تا مکانیسم دفاعی، شناسایی و واکنش سازمان ارزیابی گردد.
5 مرحله تست نفوذ
- برنامهریزی و جاسوسی
اولین گام در این فرآیند مشخص نمودن اهداف و تعریف مقیاس کار است که شامل روش آزمایش و آدرس سیستم نیز میگردد. سپس ماموریت این است که با جمعآوری دادهها آسیبپذیریهای بنیادین شناسایی شوند.
- اسکن کردن
این مرحله بر سنجش تاثیر احتمالی نفوذ در برنامهکاربردی هدف معطوف است و برای انجام آن دو راه وجود دارد، تحلیل Static و تحلیل Dynamic. تحلیل Static بصورت Single Pass کدهای برنامهکاربردی را بازرسی میکند تا رفتار آن را در حالت Stationary ببیند. تحلیل Dynamic کدهای برنامه کاربردی را در حالت فعال بررسی میکند تا نظارت Real-Time حاصل شود.
- دریافت دسترسی
این گام مستلزم انجام حملات برنامهکاربردی وب جهت سواستفاده از آسیبپذیریها همانند شرایط بحرانی واقعی بوده که ممکن است با Scriptکردن Cross-Site، تزریق SQL و غیره انجام شود. برخی اوقات تست کنندگان دادهها را سرقت و خراب میکنند تا اطلاعات بیشتری دریافت نمایند.
- حفظ دسترسی
تست کنندگان از تهدیدات دائم و چگونگی تاثیر آنها بر دادهها آگاه هستند. برای درک بهتر، آنها سعی میکنند تا دسترسی را برای مدتی طولانی حفظ نمایند تا ببینند هکرها چگونه از آن سواستفاده میکنند. تهدیدات مداوم برای ماهها در سیستم باقی میمانند و این گام برای غلبه بر چنین شرایطی کارساز است.
- تحلیل
بیستر بخوانید: پنج راهکار برای مدیریت بهتر ریسک های امنیت سایبری – حفظ اعتبار سازمان ها با تست نفوذ
در آخر مراحل بالا در یک گزارش کمپایل شده و به عنوان مرجع به تیم امنیتی ارسال میگردد که شامل آسیبپذیریهای خاص، دسترسی به دادههای حساس، مدتزمان دسترسی و برخی پیشنهادات میگردد.
سه گام موثر پس از تست نفوذ
- تحلیلات حاصل باید مورد بحث و بررسی قرار گیرند و اطمینان از اینکه نتیجه تست نفوذ بیحاصل نمیشود بسیار حائز اهمیت است. تیم امنیتی باید با همکاری یکدیگر نتایج و دلایل بوجود آمدن شرایط قیدشده را بررسی نمایند. این امر میتواند به آنها در شناسایی ریسکهای کمی و کیفی کمک نماید.
- پیش از تست دوباره باید یک برنامه بازیابی طراحی و اجرا شود چرا که دریافت نتیجه از سنجش امنیت بسیار مهم است. شرکتها باید برای رفع نقاط ضعف خود برنامهریزی نمایند و آن را با تست مجدد تصدیق کنند. تست دوباره این اطمینان را میدهد که برنامه تنظیم شده به قدری قدرتمند هست که تمامی شرایط را کنترل نماید.
- مهمترین گام، درنظرگیری این برنامه در آئیننامههای بلندمدت است. این نتایج شرایط شرکت را تا حدی نشان داده و قطعا آینده آن را تحت تاثیر قرار میدهد. قراردادن این برنامه در رویکرد بلند مدت شرکت اطمینان میدهد که کارکنان میدانند چگونه در بهترین حالت ممکن از آن مراقبت کنند.
زمان انجام تست نفوذ
جهت اطمینان از مدیریت امنیت مداومتر شبکه و IT، تست نفوذ باید بطور منظم انجام شود. فرد تست کننده مشخص میکند که تهدیدات جدید یا آسیبپذیریهای درحال ظهور چگونه توسط مهاجمان مورد استفاده قرار میگیرند. علاوه بر تحلیل و ارزیابی منظم که باید مرتبا اجرا شوند، در موارد زیر نیز انجام این تست لازم است:
- اضافهشدن برنامههای کاربردی جدید
- تغییر در زیرساخت شبکه
- بکارگیری Patchهای امنیتی
- ارتقا زیرساخت یا برنامههای کاربردی
- اصلاح End-User Policy
- تغییر موقعیت مکانی شرکت
روش های انجام تست نفوذ
- تست خارجی
این روش در سنجش منابع شرکت که در اینترنت قابل دسترسی هستند موثر است و برنامههای کاربردی وب و وبسایتها از مثالهای معمول این منابع هستند. تست کنندگان سعی میکنند تا از بیرون دسترسی پیدا کرده و دادههای ارزشمندی را استخراج نمایند.
- تست داخلی
این روش برای تست برنامههای کاربردی ازBack End در پشت فایروال بکار میرود. تست کنندگان به عنوان مهاجمین مخرب که وارد محیط شدهاند به برنامههای کاربردی حمله میکنند.
- تست بدون آگاهی
در این مورد تست کنندگان تنها نام شرکتی که قرار است بسنجند را میدانند و درباره آن تحقیق مینمایند تا بطور جدی همانند یک هکر واقعی حمله کنند. با کمک چنین روشی تیم امنیتی درک درستی از یک حمله واقعی و Real-Time پیدا میکند.
- تست بدون آگاهی نوع دوم
برای سنجش میزان آمادگی یک شرکت دربرابر حمله سایبری، این روش موثر است. فرد تست کننده تنها نام شرکت را دریافت کرده و هیچ اطلاعی از تیم امنیتی نیز ندارد و زمانی که حمله شروع میشود، تیم امنیتی تصور میکند که این یک حمله واقعی است.
- تست هدفمند
این شیوه نیازمند همکاری تیم امنیتی و شخص تست کننده بوده بیشتر شبیه یک جلسه آموزشی است که در آن چگونگی گستردگی حملات پیشبینی میشود. آنها نقطه دید طرفین حمله را در این روش کورد بررسی و ارزیابی قرار میدهند.
انواع تست نفوذ
- Black
در این نوع حمله تست کنندگان از سیستم داخلی شرکت آگاه نیستند. آنها از خارج حمله کرده و به دنبال نقاط ضعفی که از خارج قابل سواستفاده هستند میروند.
در این روش تست کنندگان ممکن است از اطلاعات اعتباری و ساختار دادهها آگاه باشند و همانند یک عضو داخلی حمله خود را براساس اطلاعاتی که دارند شروع کنند.
- White box
تست کنندگان اطلاعات کاملی از سیستم امنیتی شرکت دارند و این امر به آنها اجازه میدهد تا درحداقل زمان ممکن حمله خود را اجرا کنند و بیشترین اطمینان را داشته باشند.
تست نفوذ و فایروالهای برنامهکاربردی وب یا WAFها
تست نفوذ و WAFها از اقدامات مهم امنیتی هستند که همراه یکدیگر پیش میروند. تست کنندگان بیشتر به دنبال دادههای WAD و نقطه ضعف آن هستند تا تست را اجرا نمایند. چنین چیزی به مدیران WAF این امکان را میدهد تا با تقویت نقاط ضعف از این تست بهره ببرند.
تفاوت میان تست نفوذ و ارزیابی آسیبپذیریها
تست نفوذ و ارزیابی آسیبپذیریها دو روش مختلف در شناسایی تهدیدات بنیادین هستند. فرد تست کننده ممکن است برای نتایج دقیقتر هردو آنها را انجام دهد. اما تست نفوذ برای موارد زیر ضروریتر است:
- شناسایی سیستمهای قابل هک
- هک کردن یک سیستم خاص
- انجام نقض امنیتی دادهها
بیشتر موارد زیرشاخه این عنوانی هستند و تست کنندگان پیش از شروع حمله آنها را در ذهن خود دارند.
تست نفوذ خودکار در برابر تست نفوذ دستی
تست نفوذ دستی | تست نفوذ خودکار |
تست توسط مهندسان ماهر انجام میشود | تست توسط نرمافزار خودکار انجام میشود |
نیازمند ابزارهای سنجش مختلف | دارای ابزارهای یکپارچه |
هر تست ممکن است نتایج مختلفی داشته باشد | دارای نتایج ثابت |
پاکسازی حافظه لازم است | نیازی به پاکسازی حافظه نیست |
خستهکننده و زمانبر | سریع و موثر |
تحلیل بهتر به واسطه مشارکت حرفهای | هیچ تحلیلی انجام نمیدهد |
متخصصان میتوانند چندین تست را برعهده گیرند | تنها یک تست را در لحظه انجام میدهد |
اطمینان بیشتر | اطمینان کمتر |