تست نفوذ (Penetration Testing) چیست؟
آزمون نفوذ (pentest)، فرایندی است که در آن یک هکر قانونمند، برای ارزیابی امنیتی یک سیستم، با ارسال کدهای مخرب به یافتن آسیبپذیریها میپردازد و هدف اصلی پن تست (آزمون نفوذ)، دسترسی غیرمجاز به سیستم به تقلید از یک هکر غیرقانونی است.
تست نفوذ (Penetration test) معمولا به مراحل شناسایی، اسکن و شمارش، نفوذ به سیستم ، حفظ دسترسی و البته پوشش حملات تقسیمبندی میشود.
ارزیابی آسیب پذیری یا (VA) چیست؟
ارزیابی آسیب پذیری (Vulnerability Assessment)، فرآیند شناسایی تهدیدها و آسیبپذیریهای یک سیستم با استفاده از اسکنرهای خودکار است. این عملکرد، همچنین شامل طیف وسیعی از تستهای دستی(Manual) با ابزارهای دیگر، برای ارزیابی بیشتر امنیت برنامهها یا شبکهها میشود.
حال آنکه با اسکن آسیبپذیری آشنا شدیم، به عوامل موثر در آن میپردازیم :
- محدوده عملکرد
- ریسک و بحرانی بودن داراییها
- مقدار هزینه و زمان
اجزای آزمون نفوذ (پن تست) کدامند؟
امروز بسیاری از روشهای تست نفوذ (پن تست)، شامل مراحل زیر است:
- مشخص کردن محدوده تست نفوذ (scope) یا به اصطلاح اسکوپینگ
- در محدوده از پیش تعیین شده و با استفاده از اطلاعات گردآوری شده رویکرد تست نفوذ مشخص میگردد.
- کلیه پارامترهای مورد استفاده سامانه و همچنین درگاههای وابسته به آن، شناسایی میگردند که اصطلاحاً به آن (Reconnaissance) گفته میشود.
- آسیبپذیریهای شناسایی شده، مجددا بررسی میشوند و پس از آن مراحل بهرهبرداری از آنها مستند خواهد شد.
- رویکرد امنیت و جلوگیری از آسیبپذیری شناسایی شده در چرخه توسعه محصول تدوین میگردد.
- نیازمندیهای جلوگیری از بروز آسیبپذیری در سطح سورس کد مستند خواهند شد.
- پس از برطرف کردن آسیبپذیری، مجدداً سامانه مورد بررسی قرار خواهد گرفت.
زیر مجموعههای آزمون نفوذ (Pentest) چیست؟
تست نفوذ وب (Web Pentest)
آزمون نفوذ (پن تست)، ارزیابی امنیت سایبری را در کلیه سامانههای بر بستر وب از جمله: وبسایت، وب اپلیکیشن، وب سرویس و وب سرور، انجام میدهد. همه آسیبپذیریها بر بستر وب توسط مجموعه OWASP گردآوری شدند. بررسی و تست نفوذ کلیه آسیب پذیریها، به دو روش دستی و خودکار انجام میشود.
اگر مشتاق به مطالعه در این حوزه هستید، پیشنهاد ما برای شما
مطالعه مقاله امنیت سایبری و حقایق آن در سال 2022 است
تست نفوذ (پن تست) اپلیکیشن موبایل
در این روش سامانه یا اپلیکیشنهای بر بستر موبایل مانند اندروید و ios ارزیابی امنیتی می شوند. لازم به ذکر است بررسی امنیتی اپلیکیشنهای موبایل به صورت بلک باکس و وایت باکس انجام می گردد. همچنین برخی از آسیب پذیریها، به دلیل عدم پیاده سازی صحیح قابلیتهای سیستم عامل، مانند اندروید و ios است. همچنین امروزه سامانههای PWA، برای اپلیکیشنهای موبایل بسیار رواج یافته است. برای ارزیابی امنیتی اپلیکیشنهای موبایل، کلیه متدهای تست نفوذ وب هم بررسی می شود.
تست نفوذ زیرساخت شبکه
در این نوع تست نفوذ، زیرساخت مورد استفاده سازمان و لوکیشنها مورد ارزیابی امنیت سایبری قرار میگیرد. همچنین با توجه به نوع پیاده سازی و زون بندی شبکه، تست نفوذ از داخل و خارج انجام می گردد. لازم به ذکر است بسیاری از آسیب پذیریهایی که نفوذگران به واسطه آن در شبکه دسترسی خود را ارتقا میدهند به سبب پیاده سازی ناصحیح ویژگیهای زیرساخت مورد استفاده در اکتیو دایرکتوری (Active Directory) است. تست نفوذ زیرساخت شبکه به دلیل تشابهات زیادی که با تیم قرمز دارند، میتواند پیش از عملیات تیم قرمز آگاهی لازم را نسبت به مشکلات امنیتی سازمان ارائه کند. به همین ترتیب، آسیب پذیریهای شناسایی شده در سطح شبکه که در طول عملیات تیم قرمز از آنها سوء استفاده می شود، پیش از عملیات شناسایی و رفع (Patch) می گردد.
آزمون نفوذ ابری (cloud)
امروزه بسیاری از اپلیکیشنها بر بستر ابر یا cloud هستند. همچنین ارتباطات بیشماری بین اپلیکیشن، زیرساخت و کاربر نهایی وجود دارد. مهاجم با استفاده از از عدم پیاده سازی صحیح این ارتباطات میتوانند به ارتباطات سایر کاربران و همچنین اطلاعات سیستم دسترسی پیدا کند. تست نفوذ (پن تست) ابری میتواند بسیاری از آسیبپذیریهای موجود در ویژگیهای پیادهسازی شده و همچنین معماری مورد استفاده را شناسایی نماید.
لازم به ذکر است تست نفوذ (پن تست) ابری، محدود به شرکتهای ارائهدهنده عمومی زیرساخت ابری مانند آروان و PCP یا EWS نیست، بلکه مجموعه سازمانهایی که برای خود امر خصوصی نیز راه اندازی کردند، میتوانند از این بخش آسیب ببینند.
مهندسی اجتماعی (Social Engineering)
امروزه بخش بزرگی از حملات به دلیل عدم آگاهی امنیتی کارکنان صورت میگیرد. از این روی افزایش آگاهیرسانی امنیتی کارکنان سازمان با استفاده از روشهای طبقهبندی شده، به منظور دستیابی به اهداف از پیش تعیین شده امری الزامی است. تست نفوذ (Pentest) کارکنان یک سازمان میتواند با استفاده از کمپینهای آگاهی رسانی اجرا شود که خروجی آنها، میتوانند به سازمان آگاهی لازم را بدهد تا اقدامات لازم در امنیت سایبری برنامهریزی شوند.
برای آشنایی بیشتر با این مفهوم، پیشنهاد میکنیم مقاله زیر را مطالعه بفرمایید
مقاله مهندسی اجتماعی چیست و چه کاربردی دارد؟
تست نفوذ اینترنت اشیا (IOT)
امروزه بسیاری از دستگاههای استفاده شده در منازل و یا مناطق صنعتی و تجاری، از نوع دستگاههای اینترنت اشیا هستند. ارزیابی امنیتی این دستگاهها، با تست نفوذ اپلیکیشن و همچنین زیرساخت مورد استفاده آن دستگاه انجام میشود. یکی دیگر از مهمترین بخشهای ارزیابی این دستگاهها مهندسی معکوس و پایش آسیبپذیریهای در سطح فریمور است.
اگر مشتاق به آشنایی بیشتر با مفهوم تست نفوذ وباپلیکیشن هستید
مقاله تست نفوذ وباپلیکیشن چیست؟ را مطالعه بفرمایید.
متدهای مختلف جهت آزمون نفوذ
یکی از اصلیترین مراجع تست نفوذ (Pentest)، برای سامانههای وب و موبایل، شرکت OWASP است که کلیه آسیبپذیریها را به صورت تست کیس مشخص نموده است، تا سازمانها بتوانند به کمک آن، به یافتن آن آسیبپذیریها در سیستم خود اقدام کند. یکی دیگر از مراجع برای تست نفوذ زیرساخت و شبکه مجموعه، MITRE ATT&CK است که کلیه آسیبپذیریهای زیرساخت و شبکه را طبقهبندی نموده و همچنین با استفاده از استاندارد MITRE ATT&CK، میتوانیم متدهای مختلف تست ارزیابی آگاهی سطح امنیتی کارکنان را نیز بررسی نماییم.
چرا تست نفوذ (Pentest) مهم است؟
تا اینجا، سعی کردیم که با معرفی آزمون نفوذ (Penetration Test) به شما، به اهمیت وجود آن در سازمان بپردازیم. حال نیاز است تا دلایل اهمیت این عملیات را برای سازمانها بررسی کنیم. در ادامه به این مورد میپردازیم که چرا تست نفوذ مهم است؟
توانایی شناسایی و اولویتبندی آسیبپذیریها
آزمون نفوذ، توانایی سازمان را برای محافظت از شبکهها، نقاط پایانی (Endpoints) و کاربران خود، در برابر تلاشهای داخلی و خارجی که به منظور دور زدن (Bypass) کنترلهای امنیتی و همچنین دستیابی به دسترسیهای غیرمجاز صورت گرفته را، ارزیابی میکند.
بهرهمندی از رویکردهای پیشگیرانه در امنیت سایبری
قطعا تیمهای امنیتی سازمانها، قادر به بررسی و از بین بردن تمامی نقاط آسیبپذیری خود نیستند، پس باید از تاکتیکها و راههای دفاعی، مانند رمزنگاریها، آنتی ویروسها و غیره استفاده کنند تا سیستم ایمنتری را داشته باشند. با این وجود، یافتن و برطرف کردن آسیبپذیریها، همیشه مسئلهای دشوار خواهد بود. این عملیات پن تست (Penetration Test) که با عملکردی پیشگیرانه، آسیبپذیری سازمان شما را آشکار میکند.
بالا بردن اطمینان خاطر تیمهای امنیتی سازمان شما
شما تا زمانی که سیستمهای خود را تست نکنید، نمیتوانید اطمینان خاطر داشته باشید. با انجام آزمون نفوذ (پن تست) به صورت منظم، تست کردن زیرساختها و همچنین عملکرد تیم امنیتی خود، دیگر با حملههای هکری، غافلگیر نخواهید شد.
توانایی مدیریت نقاط آسیبپذیری
تست نفوذ اطلاعات دقیقی در مورد تهدیدات امنیتی به شما ارائه میدهد. سازمان شما با انجام این آزمون، نقاط آسیبپذیری مهمتر را تشخیص میدهد و متوجه میشوید کدام یک از اهمیت کمی برخوردار هستند. این موضوع در اولویتبندی اقدامات امنیتی آینده، به سازمان شما کمک میکند. و درنهایت میتوانید از صحت عملکرد تیم امنیتی خود، اطمینان داشته باشید.
ابزارهای مورد استفاده در آزمون نفوذ چیست؟
به صورت پیش فرض کلیه آسیب پذیریها در تمامی لایهها به صورت دستی مورد بررسی قرار میگیرد با توجه به این موارد گاهی اوقات تستها به صورت ترکیبی از روشهای دستی و روشهای خودکار انجام می گردد. امروزه بسیاری از ابزارها برای تست خودکار توسعه داده شده است و همچنین بسیاری از ابزارها به صورت commercial یا تجاری برای سازمانهای خاص ارائه میگردد. مجموعه امنیت سایبری حادث با دسترسی به تمامی ابزارهای commercial مطرح دنیا همچنین با استفاده از روشهای مدرن بررسی به صورت دستی، سامانه و دارایی مورد نظر را ارزیابی امنیتی می نماید. برخی از ابزارهای مورد استفاده حادث عبارتند از:
- HP Web Inspect
- NMAP
- Hashcat
- Hydra
- SQlmap
- IBM App Scan
- Cobalt Strike
- CANVAS
- exploit Kit
سناریوها و اهداف یک آزمون نفوذ (Penetration Test)
چشم انداز تست نفوذ
تست نفوذ اغلب با سناریوهای مختلفی شامل: راهاندازی برنامه، تغییرات عمده یا به روزرسانی شبکه/برنامه، مقررات انطباق یا نقض و طراحی یک حمله هدفمند آغاز میشود. به طور کلی هدف نهایی یک هکر قانونمند در آزمون نفوذ، دستیابی غیرمجاز به سیستم با استفاده از آسیب پذیریهای کشف نشده در مرحله اسکن است. با این حال، سازمان شما ممکن است اهداف دیگری نیز در ذهن داشته باشد.
راهاندازی برنامه
ممکن است یک تست نفوذ به عنوان بخشی از فرایند چرخه توسعه نرم افزار (SDLC)، برای کشف آسیب پذیریهای موجود در آن انجام شود. هدف اصلی انجام این تستها، یافتن آسیبهای موجود و رفع آنها قبل از تولید برنامه کاربردی و ارائه آن برای استفاده کاربران است که این امر به صرفه جویی در وقت و هزینه نیز کمک شایانی کرده و علاوه بر آن، راه برای استفاده هکرهای مخرب هم بسته خواهد شد.
تغییر یا بروزرسانی عمده شبکه یا برنامه
پن تست اغلب به صورت سه ماهه، سالانه و یا دو ساله برنامهریزی شده تا امنیت برنامه را در مقابل تغییرات عمدهای که به طور بالقوه باعث آسیب پذیریهای جدید میشوند، حفظ کند.
مدیریت آسیبپذیری
حملات به سیستمها، با سرعتی سریع در حال پیشرفت است. همین امر، باعث کاهش آگاهی سازمانها در رابطه با وضعیت امنیتی برنامه خود میشود. پس به همین منظور، ارزیابی مداوم برنامهها و زیرساختها به صورت منظم یا حداقل نیمه منظم ضروری است. این کار در عمل با استفاده از یک برنامه مدیریت آسیب پذیری که تست نفوذ را در چرخههای مختلف اجرا میکند، امکان پذیر است. یک نقل قول معروف از جان چمبرز (مدیر عامل سابق سیسکو) در انجمن اطلاعات InfoSec وجود دارد که بر نیاز به نگهداری مداوم تاکید دارد. وی میگوید: “فقط دو نوع شرکت وجود دارد: آنها که هک شدهاند و آنها که هنوز نمیدانند هک شدهاند. “
مقررات انطباق: میتوان یک تست نفوذ (pentest) را با هدف دستیابی به برخی استانداردها انجام داد که از الزامات دستیابی به آن، استفادهی دورهای از آزمایشات است. بسته به نوع پردازش یا ذخیره داده، ممکن است ملزم به رعایت مقررات مختلف مانند PCI DSS، HIPAA، Sarbanes-Oxle برای دریافت استاندارد باشند. ممکن است سازمانی برای دستیابی به برخی از این مقررات، برای مقابله با خطرات احتمالی و داشتن امنیت، به آزمون نفوذ احتیاج داشته باشد.
نقص امنیتی
این دلیل احتمالا بدترین دلیل برای انجام یک پن تست (آزمون نفوذ) ، اما متاسفانه بسیار رایج است که سازمانها پس از نشت اطلاعاتی و ایجاد مشکل به فکر تست نفوذ باشند. پس از اینکه به سازمان حمله شد و اطلاعات محرمانه در دسترس عموم قرار گرفت، سازمان از وقوع دوباره این حملات میترسد و بلافاصله فردی را برای جلوگیری از تکرار حملات مشابه در آینده استخدام میکند تا مشابه با آنچه اتفاق افتاده، یک تست نفوذ را انجام دهد. هدف از این کار کشف هرگونه آسیب پذیری و حفره اضافی موجود در سازمان است زیرا اکنون هکرها کاملاً از وجود نقص آگاه هستند.
تست نفوذ داخلی (Internal Penetration Test)
در یک تست داخلی، عضو گروه تست نفوذ، با دسترسی به برنامهای دور از دسترس فایروال سیستم، حمله توسط یک شخص دیگر را با هدف تخریب شبیه سازی میکند. این کار لزوماً شبیه سازی حمله انجام شده توسط کارمندی خودی نیست. بلکه ممکن است حمله توسط کاربری به طور ناآگاهانه و به دلیل سرغت اطلاعات وی توسط حملات فیشینگ انجام شده باشد.
تست خارجی (External Penetration Test)
در یک تست کور، به انجام دهنده تست تنها یک نام از سازمان هدف داده خواهد شد. این کار به پرسنل امنیتی و انجام دهندگان آزمون نفوذ، نگاهی واقعی را از حمله خارج از سازمان میدهد تا دقیقا بتوانند مشابه با یک مهاجم خارجی عمل کنند.
اگر هنوز با مفهوم تست نفوذ داخلی آشنایی کافی را ندارید، حتما مقاله تست نفوذ داخلی چیست؟ را مطالعه بفرمایید!
همچنین میتوانید مفهوم تست نفوذ خارجی را به کمک مقاله تست نفوذ خارجی چه کاربردی دارد؟ را بهتر درک کنید.
تست نفوذ جعبه سفید (White box penetration testing)
تست نفوذ جعبه سفید که به نام Crystal هم شناخته میشود، نوعی از آزمون نفوذ (Penetration test) است که در آن اطلاعات کامل شبکه و سیستم با متخصص تست نفوذ به اشتراک گذاشته میشود. این دیتا شامل نقشههای شبکه و اعتبارنامهها است. داشتن این اطلاعات به صرفهجویی در زمان کمک میکند. تست نفوذ جعبه سیاه برای شبیهسازی یک حمله هدفمند و برنامهریزی شده، روی یک سیستم خاص مورد استفاده قرار میگیرد و تمامی حملات احتمالی را تا حد امکان پوشش میدهد. در ادامه به معرفی تست نفوذ جعبه سیاه میپردازیم.
تست جعبه سیاه (Black box penetration testing)
در تست نفوذ جعبه سیاه (Black Box)، پرسنل امنیتی هیچ اطلاعی از حمله شبیه سازی شده ندارند. همانند حملات در دنیای واقعی، کارشناسان امنیت سایبری، برای دفاع از سازمان قبل از حمله هکرها، فرصت و گاهی از چگونگی انجام آن را ندارند.
تست هدفمند در آزمون نفوذ
در این سناریو، آزمونگر تست نفوذ (Pentester) و پرسنل امنیتی، با یکدیگر کار میکنند و همدیگر را نسبت به عملکردشان ارزیابی میکنند. این یک تمرین آموزشی ارزشمند است که امکان دریافت بازخورد لحظهای را از یک هکر، برای یک تیم امنیتی فراهم میکند.
کدام تست نفوذ برای ما مناسب است؟
برای پاسخ به این سوال، بایستی موارد زیر را مد نظر قرار دهید:
اگر سامانه شما شامل اپلیکیشن وب و اپلیکیشن موبایل است، میتوانید از تست وایت باکس، با اسکوپ از پیش تعیین شده استفاده نمایید. همچنین اگر گزارش آسیب پذیری از پیش مشخص شده دارید میتوانید از تست جعبه سفید یا بازبینی سورس کد استفاده نمایید. در صورتیکه سازمان شما از زیر ساخت خاصی استفاده میکند، میتوانید از تست زیر ساخت و شبکه استفاده نمایید.
در صورتی که سازمان شما از محصولات اینترنت اشیا و دوربینهای مداربسته استفاده دارد، استفاده از تست نفوذ اینترنت اشیا میتواند انتخاب مناسبی برای شما باشد و در صورتی که اطلاع از سطح آگاهی امنیت سایبری کارکنان برای شما مهم است پیشنهاد ما استفاده از سرویس مهندسی اجتماعی حادث است.