با انواع تست نفوذ یا روش هک که قبلا نمی دانستید آشنا شوید!
تست های نفوذ مختلف شامل خدمات شبکه، برنامه ها، سمت کلاینت، بی سیم، مهندسی اجتماعی و فیزیکی هستند.
یک تست نفوذ ممکن است به صورت خارجی یا داخلی انجام شود تا مسیرهای مختلف حمله شبیه سازی شوند.
بسته به اهداف هر تست، ممکن است یک تستر نفوذ پیش از انجام تست دانش قبلی از محیط و سیستم هایی که قصد نفوذ به آن ها را دارد داشته باشد یا نداشته باشد.
در این مقاله، من قصد دارم انواع مختلف تست های نفوذ، نحوه عملکرد آن ها و دلایل انجام این تست ها را توضیح دهم. در انتهای مقاله، شما درک بهتری از این موضوع خواهید داشت که چرا تست های نفوذ یک لایه مؤثر دفاعی برای هر برنامه موفق امنیت سایبری هستند.
قبل از اینکه به انواع مختلف تست های نفوذ بپردازیم، بیایید ابتدا تعریف کنیم که تست نفوذ چیست.
تست نفوذ چیست؟
تست نفوذ شامل تیمی از متخصصان امنیتی است که به طور فعال تلاش می کنند تا وارد شبکه شرکت شما شوند، با بهره برداری از ضعف ها و آسیب پذیری های موجود در سیستم های شما.
تست های نفوذ ممکن است شامل هرکدام از روش های زیر باشند:
- استفاده از تکنیک های مهندسی اجتماعی برای دسترسی به سیستم ها و پایگاه های داده مرتبط.
- ارسال ایمیل های فیشینگ برای دسترسی به حساب های حساس.
- استفاده از رمزهای عبور غیرمحرمانه که در شبکه به اشتراک گذاشته شده اند برای دسترسی به پایگاه های داده حساس.
این تلاش ها ممکن است بسیار تهاجمی تر از اسکن آسیب پذیری ها باشند و ممکن است باعث ایجاد اختلال در سرویس ها یا افزایش استفاده از سیستم ها شوند که می تواند منجر به کاهش بهره وری و خراب شدن دستگاه ها شود.
در برخی موارد، ممکن است شما تست های نفوذ را برنامه ریزی کرده و کارکنان را پیش از انجام آزمایش مطلع کنید.
با این حال، این روش زمانی که بخواهید واکنش تیم امنیت داخلی خود را در برابر تهدید “زنده” ارزیابی کنید، مناسب نخواهد بود.
برای مثال، تمرین های تیم قرمز (Red Team) اغلب بدون اطلاع رسانی به کارکنان انجام می شود تا سناریوهای تهدید واقعی را تست کنند.
در این حالت، اطلاع رسانی به سرپرست تیم آبی (Blue Team)، مدیر ارشد امنیت اطلاعات (CISO) یا مدیریت عالی ضروری است.
این کار تضمین می کند که سناریوی واکنش همچنان آزمایش شود، اما با کنترل دقیق تر در زمانی که/اگر وضعیت به سطح بالاتری ارتقا یابد.
صرف نظر از سناریو، شما باید تست نفوذ را با یک هدف خاص انجام دهید و خواسته ها و نیازهای خود را به طور واضح با تیم تست نفوذ تعریف کنید.
برای مثال، ممکن است شما به تازگی یک برنامه امنیتی جدید برای کسب وکار خود راه اندازی کرده اید و می خواهید اثربخشی آن را تست کنید.
تست نفوذ می تواند تعیین کند که آیا اهداف خاصی از برنامه مانند حفظ 99.99% دسترسی در هنگام حمله یا اطمینان از مسدود شدن حملات احتمالی توسط سیستم های پیشگیری از از دست دادن داده (DLP) برای جلوگیری از استخراج داده ها محقق شده است یا خیر.
چرا تست های نفوذ انجام می شوند؟
تست های نفوذ در سال های اخیر به یک عمل امنیتی رایج برای سازمان ها تبدیل شده است.
این موضوع به ویژه در صنایعی مانند بانک ها یا ارائه دهندگان خدمات بهداشتی که اطلاعات حساس یا خصوصی را ذخیره و دسترسی دارند، صادق است.
در حالی که هدف اصلی این تست ها، شناسایی آسیب پذیری ها یا بهره برداری از ضعف ها است، لازم است بدانید که هدف اصلی یک تست نفوذ اغلب با یک هدف تجاری و استراتژی کلی مرتبط است.
برای مثال، پیمانکاران وزارت دفاع باید فرآیندهای مناسب برای حفاظت از اطلاعات کنترل شده غیرطبقه بندی شده (CUI) را طبق گواهینامه بلوغ امنیت سایبری (CMMC) در اختیار داشته باشند.
یک تست نفوذ یکی از بسیاری از کنترل های امنیتی است که برای گذراندن الزامات ممیز بسته به سطحی که پیمانکار باید به آن برسد، نیاز است.
از سوی دیگر، اهداف امنیتی یک شرکت نرم افزاری ممکن است به طور قابل توجهی متفاوت باشد.
برای مثال، تست نفوذ برنامه های نرم افزاری به شناسایی نقص ها و ضعف ها در کدهایی که ممکن است در برابر حمله آسیب پذیر باشند، کمک می کند.
سپس توسعه دهندگان برای ایجاد اصلاحات و به روزرسانی کدهای پایه کار می کنند.
در نهایت، اهداف تجاری نوع تست های نفوذ انجام شده را تعیین می کنند که به زودی به آن خواهیم پرداخت.
گزارش نتایج
پس از اتمام مرحله تست، یک گزارش تهیه شده و به رهبری اجرایی و مالکان کسب وکار ارائه می شود.
این گزارش، ارزش واقعی هر تعامل تست نفوذ است.
این گزارش باید جهت و راهنمایی هایی برای کاهش آسیب پذیری در برابر ریسک ارائه دهد، در حالی که گام های قابل اجرا به سوی راه حل را نیز فراهم کند.
مهم است که ذکر شود گزارش های تست نفوذ متناسب با نیازهای امنیت سایبری شرکت ها تنظیم و سفارشی سازی می شوند بر اساس:
- نحوه راه اندازی شبکه آن ها.
- اهداف تجاری برای انجام تست نفوذ.
- آنچه که در حال آزمایش است – نرم افزار، سرورها، نقاط پایانی، کنترل های فیزیکی و غیره.
- ارزش دارایی های ملموس یا غیرملموسی که در حال حفاظت هستند.
- و بسیاری موارد دیگر!
هنگام مشاوره با فروشندگان، حتماً از آن ها بپرسید که چگونه قصد دارند نتایج خود را ارائه دهند.
آخرین چیزی که می خواهید این است که برای یک سند PDF بدون توضیح ۱۰,۰۰۰ دلار پرداخت کنید.
در PurpleSec، ما به مشتریان خود توصیه می کنیم که حداقل ۱ ساعت با تیم فنی ما وقت بگذارند، از آن ها بخواهند که سوالات خود را بپرسند و نتایج ما را به چالش بکشند.
نتیجه این است که آن ها به طور واضح هر جنبه از گزارش، رتبه بندی ریسک خود و مسیرهای اصلاح آسیب پذیری های خود را درک می کنند.
رویکردهای مختلف تست نفوذ چیستند؟
تست های نفوذ از نظر رویکرد و ضعف هایی که تلاش می کنند آن ها را بهره برداری کنند، تفاوت دارند.
میزان اطلاعاتی که به تستر نفوذ داده می شود، رویکرد آن ها و همچنین دامنه پروژه را تعیین می کند.
برای مثال، آیا تستر نفوذ اطلاعاتی از نحوه نقشه برداری شبکه دارد یا باید این اطلاعات را خود به طور مستقل کشف کند؟
رویکردهای مختلف تست نفوذ شامل موارد زیر است:
تست نفوذ جعبه سیاه
در یک تست نفوذ جعبه سیاه (که به عنوان تست نفوذ خارجی نیز شناخته می شود)، به تستر نفوذ اطلاعات کمی یا هیچ اطلاعاتی در مورد زیرساخت های فناوری اطلاعات یک کسب وکار داده می شود.
مزیت اصلی این روش تست، شبیه سازی یک حمله واقعی سایبری است، جایی که تستر نفوذ نقش یک مهاجم ناآگاه را به عهده می گیرد.
تست نفوذ جعبه سیاه
یک تست نفوذ جعبه سیاه می تواند تا شش هفته طول بکشد، که آن را به یکی از طولانی ترین انواع تست های نفوذ تبدیل می کند.
کسب وکارها می توانند انتظار داشته باشند که بین ۱۰,۰۰۰ تا ۲۵,۰۰۰ دلار هزینه کنند، به دلیل سطح تلاش مورد نیاز در برنامه ریزی، اجرا، تست و تکمیل گزارش.
البته این هزینه کاملاً بستگی به دامنه پروژه دارد.
یکی از ساده ترین روش ها برای تسترهای نفوذ برای نفوذ به یک سیستم در طول تست جعبه سیاه، استفاده از یک سری آسیب پذیری های شناخته شده مانند Kerberoasting است.
این روش تست همچنین به عنوان رویکرد “آزمایش و خطا” شناخته می شود، اما در این فرایند مهارت فنی بالایی دخیل است.
تست نفوذ جعبه سفید
تست نفوذ جعبه سفید (که به نام های تست جعبه شفاف، تست جعبه شیشه ای یا تست نفوذ داخلی نیز شناخته می شود) زمانی است که تستر نفوذ به طور کامل به کد منبع و محیط دسترسی دارد.
هدف از یک تست نفوذ جعبه سفید، انجام یک ممیزی امنیتی دقیق از سیستم های کسب وکار و ارائه جزئیات کامل به تستر نفوذ است.
نتیجه این است که تست ها جامع تر هستند زیرا تستر نفوذ به مناطقی دسترسی دارد که یک تست جعبه سیاه نمی تواند، مانند کیفیت کد و طراحی برنامه.
تست نفوذ جعبه سفید
تست های نفوذ جعبه سفید نیز معایب خود را دارند.
برای مثال، با توجه به سطح دسترسی که تستر نفوذ دارد، ممکن است زمان بیشتری برای تصمیم گیری در مورد مناطقی که باید بر روی آن ها تمرکز شود، نیاز باشد.
علاوه بر این، این روش تست اغلب به ابزارهای پیچیده و گران قیمتی مانند تحلیل گرهای کد و دیباگرها نیاز دارد.
تست های جعبه سفید ممکن است دو تا سه هفته طول بکشد و هزینه آن ها بین ۴,۰۰۰ تا ۲۰,۰۰۰ دلار باشد.
در نهایت، مهم نیست که شما یک تست نفوذ جعبه سیاه یا جعبه سفید انجام دهید، مادامی که هدف اصلی تست برآورده شود.
تست نفوذ جعبه خاکستری
در طول یک تست نفوذ جعبه خاکستری، تستر نفوذ دسترسی یا دانش جزئی از یک شبکه داخلی یا برنامه وب دارد.
تستر نفوذ ممکن است با دسترسی کاربری به یک میزبان شروع کند و به او گفته شود که دسترسی های خود را به یک مدیر دامنه ارتقا دهد. یا ممکن است از او خواسته شود که به کد نرم افزار و نمودارهای معماری سیستم دسترسی پیدا کند.
یکی از مزایای اصلی تست نفوذ جعبه خاکستری این است که گزارش دهی آن ارزیابی متمرکزتر و کارآمدتری از امنیت شبکه شما فراهم می آورد.
برای مثال، به جای صرف زمان با روش “آزمایش و خطا”، تسترهای نفوذ که تست جعبه خاکستری را انجام می دهند می توانند نمودارهای شبکه را بررسی کرده و مناطق با بیشترین ریسک را شناسایی کنند.
سپس، اقدامات مقابله ای مناسب می توانند به منظور پر کردن خلأها پیشنهاد شوند.
انواع تست نفوذ
انواع مختلف تست نفوذ شامل موارد زیر هستند:
- شبکه
- برنامه های وب
- سمت کلاینت
- بی سیم
- مهندسی اجتماعی
- تست نفوذ فیزیکی
هر نوع تست نفوذ نیاز به دانش، متدولوژی ها و ابزارهای خاصی برای انجام دارد و باید با یک هدف تجاری مشخص هم راستا باشد.
این اهداف می توانند از افزایش آگاهی نسبت به حملات مهندسی اجتماعی در بین کارکنان شرکت گرفته تا پیاده سازی توسعه کد امن برای شناسایی نقص ها در کد نرم افزاری به طور زنده یا رعایت الزامات قانونی یا تطابقی متغیر باشند.
تست نفوذ شبکه
تست نفوذ شبکه، یا تست زیرساخت، یکی از رایج ترین انواع تست های نفوذ است که انجام می شود.
هدف اصلی از تست نفوذ شبکه، شناسایی آسیب پذیری ها و ضعف های امنیتی قابل توجه در زیرساخت های شبکه (سرورها، فایروال ها، سوئیچ ها، روترها، پرینترها، ایستگاه های کاری و غیره) یک سازمان است، پیش از آنکه این آسیب پذیری ها قابل بهره برداری شوند.
چرا باید تست نفوذ شبکه انجام دهید؟
تست های نفوذ شبکه باید به منظور محافظت از کسب وکار شما در برابر حملات رایج مبتنی بر شبکه انجام شوند، از جمله:
- پیکربندی نادرست فایروال و دور زدن فایروال
- حملات فرار از IPS/IDS
- حملات روتر
- حملات سطح DNS:
- حملات انتقال منطقه
- حملات مبتنی بر سوئیچینگ یا مسیریابی
- حملات SSH
- حملات سرور پروکسی
- حملات به پورت های باز غیرضروری
- حملات پایگاه داده
- حملات “Man In The Middle” (MITM)
- حملات مبتنی بر FTP/SMTP
با توجه به اینکه یک شبکه خدمات حیاتی برای کسب وکار فراهم می کند، توصیه می شود که تست های نفوذ شبکه داخلی و خارجی حداقل سالانه انجام شوند.
این کار پوشش کافی را برای کسب وکار شما فراهم می آورد تا در برابر این مسیرهای حمله محافظت شود.
تست نفوذ برنامه های وب
تست نفوذ برنامه های وب برای کشف آسیب پذیری ها یا ضعف های امنیتی در برنامه های مبتنی بر وب استفاده می شود.
این روش از تکنیک ها و حملات مختلف نفوذ برای شکستن و دسترسی به خود برنامه وب استفاده می کند.
حوزه معمول برای تست نفوذ برنامه های وب شامل برنامه های مبتنی بر وب، مرورگرها و اجزای آن ها مانند ActiveX، پلاگین ها، Silverlight، Scriptlets و Applets است.
این نوع تست ها بسیار دقیق تر و هدفمندتر هستند و به همین دلیل به عنوان تستی پیچیده تر در نظر گرفته می شوند.
برای تکمیل یک تست موفق، باید نقاط پایانی هر برنامه مبتنی بر وب که به طور منظم با کاربر تعامل دارد، شناسایی شوند.
این کار نیاز به تلاش و زمان زیادی دارد، از برنامه ریزی گرفته تا اجرای تست و در نهایت تدوین یک گزارش مفید.
تکنیک های تست نفوذ برنامه های وب به طور مداوم در حال تکامل هستند، به دلیل افزایش تهدیداتی که هر روز از برنامه های وب ناشی می شود.
این تهدید از زمان شیوع COVID-19 به شدت گسترش یافته و منجر به افزایش ۶۰۰ درصدی جرایم سایبری شده است.
چرا باید تست نفوذ برنامه های وب انجام دهید؟
یکی از دلایل اصلی انجام تست نفوذ برنامه های وب، شناسایی ضعف های امنیتی یا آسیب پذیری ها در برنامه های مبتنی بر وب و اجزای آن ها مانند پایگاه داده، کد منبع و شبکه پشتیبانی است.
این کار همچنین به اولویت بندی ضعف ها یا آسیب پذیری های شناسایی شده کمک می کند و راه حل های ممکن برای کاهش آن ها را فراهم می آورد.
در توسعه برنامه های نرم افزاری، به عنوان بهترین روش در نظر گرفته می شود که کد پایه به طور مداوم بهبود یابد.
استفاده از کد امن و چابک عبارتی است که اغلب برای توصیف این روش به کار می رود.
استقرار کد چابک به عنوان روش ترجیحی نسبت به استقرار دسته ای بزرگ در نظر گرفته می شود، زیرا هر چه تعداد متغیرهایی که در یک استقرار وارد کد می شود بیشتر باشد، فرصت های بیشتری برای ایجاد اشکالات یا خطاها وجود دارد که منجر به آسیب پذیری های امنیتی می شود.
در نتیجه، بدهی فنی شکل می گیرد، جایی که توسعه دهندگان به تدریج زمان بیشتری را برای اصلاح مشکلات صرف می کنند تا اینکه ویژگی ها یا به روزرسانی های جدیدی توسعه دهند.
در مقابل، متدولوژی های چابک از محیط های شبیه سازی (کپی تکراری از کد پایه) برای تست عملکرد و قابلیت استفاده کد قبل از راه اندازی به تولید استفاده می کنند.
اگر استقرار ناموفق باشد، توسعه دهندگان می توانند به راحتی تغییر را شناسایی کرده و کد را به نسخه قبلی برگردانند.
رمز موفقیت در این است که تعادل بین استقرار روزانه کد و امنیت حفظ شود.
غیرمعمول نیست که شرکت های نرم افزاری بزرگ از تسترهای نفوذ برای تست مداوم کد خود استفاده کنند. گوگل و سایر غول های فناوری برای شناسایی و گزارش آسیب پذیری ها در برنامه های خود پاداش ارائه می دهند.
تست نفوذ سمت کلاینت
تست نفوذ سمت کلاینت برای کشف آسیب پذیری ها یا ضعف های امنیتی در برنامه های سمت کلاینت استفاده می شود.
این ها می توانند برنامه ها یا نرم افزارهایی مانند Putty، کلاینت های ایمیل، مرورگرهای وب (مانند Chrome، Firefox، Safari و غیره)، Macromedia Flash و دیگر برنامه ها باشند. برنامه هایی مانند Adobe Photoshop و مجموعه Microsoft Office نیز در معرض تست قرار دارند.
چرا باید تست نفوذ سمت کلاینت انجام دهید؟
تست های سمت کلاینت برای شناسایی حملات سایبری خاص انجام می شوند، از جمله:
- حملات Cross-Site Scripting
- حملات Clickjacking
- اشتراک گذاری منابع میان مرزی (CORS)
- Hijacking فرم ها
- تزریق HTML
- هدایت باز
- عفونت بدافزار
تست نفوذ بی سیم
تست نفوذ بی سیم شامل شناسایی و بررسی ارتباطات بین تمامی دستگاه های متصل به وای فای کسب وکار است.
این دستگاه ها شامل لپ تاپ ها، تبلت ها، تلفن های هوشمند و هر دستگاه اینترنت اشیاء (IoT) دیگر می باشند.
تست نفوذ بی سیم
تست های نفوذ بی سیم معمولاً در محل انجام می شوند، زیرا تستر نفوذ باید در محدوده سیگنال بی سیم قرار داشته باشد تا بتواند به آن دسترسی پیدا کند.
به طور جایگزین، یک NUC و WiFi Pineapple می توانند در محل مستقر شوند تا تست به طور از راه دور انجام شود.
چرا باید تست نفوذ بی سیم انجام دهید؟
ارتباطات بی سیم یک سرویس غیرقابل مشاهده هستند که اجازه می دهند داده ها به شبکه وارد و از آن خارج شوند.
بنابراین، شبکه بی سیم باید از هرگونه ضعف مانند دسترسی غیرمجاز یا نشت داده ها محافظت شود.
قبل از انجام تست نفوذ بی سیم، باید موارد زیر را در نظر بگیرید:
- آیا تمام نقاط دسترسی شناسایی شده اند و چند مورد از آن ها از روش های رمزگذاری ضعیف استفاده می کنند؟
- آیا داده های وارد و خارج شده از شبکه رمزگذاری شده اند و اگر بله، چگونه؟
- آیا سیستم های نظارتی برای شناسایی کاربران غیرمجاز در محل وجود دارند؟
- آیا امکان دارد تیم IT شبکه بی سیم را به اشتباه پیکربندی کرده یا آن را تکرار کرده باشد؟
- اقدامات فعلی موجود برای محافظت از شبکه بی سیم چیست؟
- آیا تمام نقاط دسترسی بی سیم از پروتکل WPA استفاده می کنند؟