
تست نفوذ شبکه چیست؟
به استفاده از هر روش و راهی برای نفوذ به شبکه و زیرساختهای یک سازمان که توسط هکر اخلاقی یا ethical hackers انجام میشود، تست نفوذ شبکه میگویند. با ارائه تعریف کاملی از ethical hackers و شبکه، با یک مثال، تست نفوذ امنیت را بهتر درک خواهیم کرد.
ابتدا بهتر است اشاره شود که شبکه یا network به تعامل و اتصال هر نوع شی برای کارایی بهتر و اشتراکگذاری اطلاعات گفته میشود. شبکه میتواند یک بانک مانند بانکی ملی ایران باشد که میان کارمندان و اربابرجوعها تعامل اطلاعاتی و مالی وجود دارد. در دنیای IT نیز به اتصال و تعامل میان سیستمها و کامپیوترها شبکه گفته میشود.
ethical hackers یا همان هکر اخلاقی به فردی با مهارتهای بالا در نفوذ به دیوارهای امنیتی یک زیرساخت گفته میشود که با گواهی معتبر و رضایت کامل طرف قرارداد، نفوذ و هک را انجام میدهد. در حقیقت در زمان نفوذ به شبکه توسط یک هکر اخلاقی، هیچ نقض قانونی و حقوقی رخ نخواهد داد.
با این تعاریف با یک مثال ملموس میتوان تست نفوذ شبکه را عمیقا درک کرد. Pen security مانند مانوری است که در یک بانک از طرف چندین دزد انجام میگیرد تا بررسی شود که در شرایط یکسان و در دنیای واقعی عملکرد سیستمهای امنیتی بانک تا چه حد کارایی دارد. در این جا دزدان افرادی استخدام شده از طرف بانک هستند که کاملا قانونی این کار را انجام خواهند داد.
چرا تست نفوذ شبکه انجام میگیرد؟ مزیتهای انجام این کار چیست؟
شاید برای برخی این سوال پیش آید که چرا تست نفوذ شبکه یکی از مهمترین بخش امنیت شبکه است؟ چرا در برخی موارد شرکتهای بزرگی مانند گوگل، مایکروسافت، آمازون، نتفلیکس و دیگر شرکتهای بزرگ فعال در حوزه فناوری، سالانه میلیونها دلار صرف تست امنیت شبکه و زیر ساختهای خود میکنند؟ در جواب این سوالات باید گفت که پیشگیری بهتر از درمان است!
با انجام تستهای نفوذ شبکه بهراحتی میتوان ضعفهای امنیتی را پیدا و نسبت به رفع آنها اقدام کرد. حتی در مواردی میزان خسارت ناشی از هک به زیرساختهای شبکه برآورد میشود و نسبت به جبران این خسارات، شرکتها میتوانند بهتر برنامهریزی کنند. در نهایت میتوان مزایای تست نفوذ و pen security را به موارد شرح داد:
- پیداکردن اشکالات، باگها، حفرههای امنیتی موجود در تمامی بخشهای شبکه و رفع آنها
- بررسی روشهای موجود و ممکن برای نفوذ به شبکه و اعمال فیلتر یا نظارت دقیقتر بر این کانالها
- بررسی میزان خسارت مالی و حقوقی که ممکن است در زمان نفوذ و هک انجام گیرد و اعمال برنامهریزی دقیقتر برای بیمه یا جبران خسارات وارده
- افزایش امنیت شبکه مورداستفاده و در نتیجه افزایش اعتبار شرکت
- بهبود عملکرد شبکه در فیلترهایی مانند دیوار آتش یا firewall
- باخبر شدن از نقاط ضعف و جلوگیری از سوءاستفاده اشخاص مختلف از این نقاط
- برآورد نسبی از میزان امنیت موجود در شبکه قبل از رفع باگهای پیداشده در تست نفوذ

استراتژی های تست نفوذ به شبکه
خلاقیت انسانها در رفع مشکلات و ایجاد راهحلهای جدید محدودیتی ندارد و از هر روش و راهکاری میتواند برای شکستن سدها استفاده کند. یعنی هر وصله امنیتی برای شبکه اتخاذ شود، بعد از مدتی نیاز به بهبود و بهروزرسانی آن است. زیرا خلاقیت هکرها در عبور از دیوارها و فیلترهای امنیتی به صورتی است که در مواردی هک و نفوذ از جایی انجام میگیرد که حتی تصور آن نیز دور از انتظار است.
در نتیجه باید بهصورت مداوم ابزارها، کدهای شبکه، دیوار آتش و دیگر موارد امنیتی اعمال شده بروز شود تا با راهکارهای روز جلوگیری از نفوذ، شبکه شما ایمن شود. علاوه بر این موضوع، با انجام تستهای نفوذ در دورههای زمانی ثابت یا متغیر (ولی مداوم) میتوان از باگها و حفرههای خارج از دید نیز باخبر شد.
اما در حالت کلی نفوذ به شبکه در دو حالت صورت میگیرد:
- نفوذ از خارج یا External penetration
- نفوذ از داخل یا Internal penetration
نفوذ از خارج یا External penetration
منظور از این نوع هک و نفوذ، استفاده از تمامی بسترهای یک شرکت که بهصورت شهودی در اختیار کاربران قرار گرفته، برای رخنه به دیتابیس سازمانها و دسترسی به منابع و اسناد آنها است، مانند سایت، اپلیکیشن سازمان و… . برای مثال استفاده از برنامه بانکی بانک صادرات برای نفوذ به شبکه، جنبه خارجی یا همان نفوذ از خارج تلقی میشود.
در زمان هک سیستم و سرورهای سازمان از طریق External penetration، هکر از باگها و حفرههای امنیتی موجود در نرمافزار (سایت یا برنامه کاربردی و…) استفاده کرده و در شبکه رخنه میکند. برای رفع این نوع جنبه نفوذ، نیاز است تا کدها و وصلههای امنیتی اعمال شده برای امنیت بیشتر درگاهها، دوباره بررسی شوند و در بازه زمانی معین نسبت به بهروزرسانی موارد و وصلههای امنیتی اقدام شود.
نفوذ از داخل یا Internal penetration
در این نوع رخنه امنیتی، فرد خرابکار خارج از مسیری که به فایروال (firewall) ختم میشود، اقدام به هک و نفوذ میکند. مانند استفاده از ایمیل یک کاربر مجاز یا حتی خرابکاری توسط یک کارمند سرکش که به آنسوی دیوار آتش دسترسی دارد. برای مثال همان بانک را در نظر بگیرید که تعدادی کارمند دارد.
ممکن است که یکی از کارمندان به دلایلی متعدد مانند فشار اقتصادی قصد سرقت از بانک را داشته باشد. یا با یک پیشنهاد چرب از طرف دزدها، تصمیم به همکاری برای سرقت راحتتر گیرد. به این نوع دزدی یا نفوذ به اسناد، منابع و اطلاعات، نفوذ از داخل میگویند که همان استفاده از ضعفهای پشت دیوار آتش است. شایان به ذکر است که ممکن است کارمند بدون آگاهی مورد حمله توسط هکر قرار گیرد (مانند یک ایمیل مخرب) و بدون همکاری، از اطلاعات امنیتی وی برای نفوذ از داخل استفاده کنند.

ابزار های تست نفوذ شبکه
برای اجرای تست نفوذ و شناسایی آسیبپذیریهای یک برنامه، ابزارهایی وجود دارند که هریک از به شیوهای کدهای مخرب را شناسایی و از نقضهای امنیتی احتمالی جلوگیری میکنند. چند مورد از معیارهای انتخاب بهترین ابزار نفوذ عبارت است از:
- استقرار، پیکربندی و استفاده آسان
- اسکن راحت و بیدردسر سیستم
- دستهبندی آسیبپذیریها بر اساس شدت حمله
- خودکارسازی آسیبپذیریها
- تایید اکسپلویتهای یافتهشده
- ارسال گزارشات آسیبپذیری
در ادامه با برخی از محبوبترین ابزارهای تست نفوذ شبکه که متخصصان این حوزه استفاده میکنند، آشنا میشویم.
۱. ابزار NMap
ابزار NMAP بهترین دوست کارشناسان تست نفوذ شبکه محسوب میشود. این ابزار دید سریعی از پورتهای باز شبکه در اختیار آزمایشگر میگذارد تا آسیبپذیریهای خاص شبکه را امکانسنجی کند. هر کاربر با هر سطح مهارتی که دارد میتواند از این رابط کاربری گرافیکی استفاده کنید. همچنین ابزار اشکال زدایی امکان مقایسه نتایج اسکن را فراهم میسازد.
- ابزار عالی برای نفوذگران ماهر یا متخصصان امنیتی برای اعتبارسنجی و مدیریت آسیبپذیری.
- قابل اجرا در پلتفرمهای لینوکس، ویندوز، FreeBSD، OpenBSD، Solaris، IRIX، Mac OS X، HP-UX، NetBSD، Sun OS و Amiga.
۲. ابزار Metasploit
Metasploit بهعنوان یک راه حل منبع باز شروع به کار کرد و به مرور توجه همه را جلب کرد. از امکانات این ابزار میتوان به امکان اسکن آسیب پذیری، گوش دادن، بهرهبرداری از آسیبپذیریهای شناخته شده، جمع آوری شواهد و گزارش پروژه اشاره کرد.
- ابزار عالی برای مدیریت و تست همزمان چند شرکت با چند اپلیکیشن مختلف.
- قابل اجرا در پلتفرمهای ویندوز، لینوکس و مک.
۳. ابزار Wireshark
میتوان گفت Wireshark پرکاربردترین تحلیلگر پروتکل شبکه در سراسر دنیاست که نشان میدهد چه پروتکلها و سیستمهایی فعالاند، چه حسابهایی فعال ترند و به مهاجم اجازه میدهد دادههای حساس را بهدست آورد.
- ابزار عالی برای مشاهده شبکه در سطح عمیق در ارتباطات.
- قابل اجرا در پلتفرمهای ویندوز، لینوکس، مک و سولاریس.
۴. ابزار John the Ripper
John the Ripper بهترین ابزار ممکن برای شکستن رمز عبور یک سیستم است. تنها هدف این ابزار یافتن رمزهای عبور ضعیف سیستم در کوتاهترین زمان ممکن و افشای آنهاست. از اینرو میتوان از آن هم برای تضمین امنیت و هم انطباق کلی استفاده کرد.
- ابزار عالی برای شکستن رمز عبور توسط افراد تازه کار.
- قابل اجرا در پلتفرمهای ویندوز، یونیکس، مک و ویندوز.
۵. Hashcat
Hashcat یکی از سریعترین ابزارهای بازیابی رمز عبور است که تاکنون روانه بازار شده است. کاربران با دانلود نسخه Suite، به ابزار بازیابی رمز عبور، کلمهساز و عناصر شکستن رمز عبور دسترسی خواهد داشت. حملات لغتنامهای (Dictionary attack)، بروت فورس (brute-force)، حملات بر اساس قانون (rule-based)، و رمز عبورهای ترکیبی همگی به طور کامل پشتیبانی میشوند.
- ابزار عالی برای آزمایش عملکرد کارشناسان تست نفوذ
- قابل اجرا در پلتفرمهای ویندوز، لینوکس و مک.
۶. Hydra
Hydra یکی دیگر از ابزارهای شکستن رمز عبور است که کارکردن با آن کمی پیچیدهتر است. این چندین پروتکل و اتصالات موازی را بهطور همزمان پشتیبانی میکند. در نتیجه آزمایشگر میتواند چندین رمزعبور را همزمان روی سیستمهای مختلف امتحان کند، بدون آنکه اختلالی در اتصال آن به وجود بیاید.
- ابزار عالی برای شکستن رمز عبور توسط افراد حرفهای.
- قابل اجرا در پلتفرمهای لینوکس، ویندوز، سولاریس و مک.
استاندارد های تست نفوذ
استانداردهای تست نفوذ مجموعه انتظارات مقدماتی است که تمام آزمونگران نفوذ شبکه باید از آن پیروی کنند. این استاندارد اگرچه تمام سناریوها و ملاحظاتی که ممکن است در یک آزمون نفوذ شناسایی شود را پوشش نمیدهد. در عوض هنجارهای اساسی را در اولویت قرار میدهد که حداقل الزامات تمام آزمونها را تحت کنترل دارد. این هنجارها به هفت حوزه مجزا تقسیم می شوند که به ترتیب عبارتاند از:
- تعاملات قبلی
- جمع آوری اطلاعات
- مدلسازی تهدید
- تجزیه و تحلیل آسیبپذیری
- بهرهبرداری
- مرحله بعد از بهرهبرداری
- گزارشنویسی
استانداردها و روشهای مختلفی وجود دارد که از معتبر بودن تست نفوذ اطمینان میدهند و تمام جنبههای مهم را پوشش میدهند. برخی از آنها عبارتاند از:
۱. استاندارد OSSTMM
OSSTMM مخفف عبارت Open-Source Security Testing Methodology Manual و یکی از پرکاربردترین و شناختهشده ترین استانداردهای تست نفوذ در دنیاست. این استاندارد تست نفوذ مبتنی بر یک رویکرد علمی است که راهنمای سازگاری در اختیار آزمونگران میگذارد و از آن برای ارزیابی دقیق استفاده میشود.
۲. استاندارد OWASP
OWASP مخفف عبارت Open Web Application Security Proj ect است و یک پروژه منبع باز برای ایمن سازی برنامههای کاربردی وب است. این استاندارد به نحوی توسعه یافته و بهروز شده که با آخرین تهدیدات مطابقت داشته باشد و با ایجاد یک راهنمای تست، زحمت متخصصن امنیت سازمان را کمتر کند.
۳. استاندارد NIST
موسسه ملی استاندارد و فناوری (NIST) دستورالعملهای خاصی به کارشناسان تست نفوذ ارائه میکند تا به آزمونی با دقت بالاتر اجرا کنند. هم شرکتهای بزرگ و هم کوچک در صنایع مختلف میتوانند از این چارچوب برای تست نفوذ به شبکه استفاده کنند.
۴. استاندارد PTES
PTES یا Penetration Testing Execution Standards یک روش آزمون تست نفوذ است که توسط تیمی از متخصصان امنیت اطلاعات طراحی شده و هدف آن ارائه یک استاندارد جامع و بهروز برای تست نفوذ است.
۵. استاندارد ISSAF
چارچوب ارزیابی امنیت سیستم اطلاعات (ISSAF) یک راهنمای آزمایشی است که توسط گروه امنیتی سیستمهای اطلاعات باز پشتیبانی میشود. این متدولوژی کمی قدیمی است و دیگر بهروز. با این وجود از آنجا که مراحل مختلف تست نفوذ را با ابزارهای مربوطه پیوند میدهد، خیلیها تمایل به استفاده از آن دارند.

مراحل تست نفوذ به شبکه توسط هکر اخلاقی
زمانی که برای بانک خود یک یا چند دزد را انتخاب میکنید تا از میزان امنیت سیستم بانکداری و سیاستهای امنیتی در حال اجرا آگاه شوید، این دزدها ممکن است از روشهای خاصی برای نفوذ به بانک و بازکردن گاوصندوق استفاده کنند. مانند استفاده از یک دستگاه برش فلز مجهز یا هر چیز دیگری. در نهایت با دانستن روش دزدها در ورود به شبکه بانکی، میتوان راهکارهایی را اتخاذ کرد. مانند استفاده از یک آلیاژ قوی و با ضخامت بالا بهمنظور جلوگیری از نفوذ به گاوصندوق.
دقیقا در تست نفوذ شبکه توسط یک هکر اخلاقی یا ethical hackers، روشهای خاصی برای نفوذ به شبکه استفاده میشود که بر اساس سیستمهای امنیتی مختلف ممکن است روشها متفاوت باشد. اما یک هکر از کجا باید بداند که کدام روش و راهکار مناسب برای نفوذ است؟ برای رفع این باگ چهکار باید انجام داد؟ دانستن پاسخ این سوالات، نیازمند طیکردن مراحل تست نفوذ به شبکه است که به شرح زیر است:
- Planning and reconnaissance (شناسایی و برنامهریزی)
- Scanning (اسکن سیستم)
- Gaining Access (بهدستآوردن دسترسی)
- Maintaining access (حفظ دسترسی)
- Analysis (تحلیل و بررسی)
Planning and reconnaissance
در اولین مرحله از تست نفوذ شبکه نیاز است تا دو مورد بررسی شود:
- هدف از تست، محدوده تست نفوذ و این که باید مشخص شود به چه روشی (روشهای تست نفوذ شبکه در ادامه بررسی شده است) و به کدام قسمت از شبکه باید نفوذ انجام گیرد.
- جمعآوری اطلاعات مانند آدرس دامنه، DNS، آیپیهای شرکت و… برای فهمیدن روش کار شبکه هدف و یافتن مشکلات و حفرههای امنیتی.
Scanning
در محله دوم باید بررسی شود که امنیت شبکه در زمانهای استفاده از روشهای مختلف برای نفوذ، به چه صورت پاسخ میدهد. معمولا به دو حالت عمل scanning انجام میپذیرد.
- بررسی کامل کدهای برنامه و شبکه بهصورت یکجا برای فهمیدن اینکه در صورت اجرای این برنامه، پاسخهای امنیتی به چه صورت خواهد بود.
- بررسی دوباره کدهای برنامه و شبکه در حالت اجرای آن، برای فهمیدن پاسخهای امنیتی در زمان واقعی. این نوع اسکن بهتر از مورد اول است و اطلاعات دقیقتری را میتوان یافت.
Gaining Access
در این مرحله با بهکارگیری اطلاعات و دانش بهدستآمده از دو مرحله قبلی، هکر اخلاقی به شبکه نفوذ میکند که ممکن است از نرمافزارهای نفوذ مختلفی مانند cross-site scripting، SQL injection و backdoors استفاده کند.
Maintaining access
در مرحله 4 نیاز است تا دسترسی انجامگرفته حفظ شود تا هکر زمان کافی برای انجام کارهای خرابکارانه مانند دانلود اطلاعات، نفوذ به شبکه وسیعتر، نظارت بر ترافیک و اطلاعات ورودی و… را داشته باشد. در این مرحله ممکن است تا سیستم امنیتی رخنه را تشخیص داده و در صدد رفع آن (مانند قطع دسترسی هکر) اقداماتی کند. هکر باید در پروسه Maintaining access اجازه این کار را به سیستم امنیتی ندهد و همچنین ردپاهای دیجیتالی خود را برای جلوگیری از دستگیری پاک کند.
Analysis
در نهایت نوبت به بررسی و تجزیهوتحلیل اطلاعات میرسد. تیم تست نفوذ با ارائه مطالبی که در پروسه هک به شبکه جمعآوری شده است، سازمان را دررابطهبا شکافهای امنیتی موجود آگاه ساخته و راهکارهایی را نیز برای رفع و یا نظارت بر این شکافها ارائه میدهند.
انواع روشهای تست نفوذ شبکه
برای انجام تست نفوذ شبکه سه روش وجود دارد. Open-box pen test، Closed-box pen test و Covert pen test که هرکدام از این روشها در سه حالت میزان نفوذپذیری شبکه را تست میکنند که این حالات شامل موارد زیر است:
- زمانی که خرابکار بدون هیچگونه دانش و اطلاعاتی بهغیراز نام شرکت اقدام به هک میکند.
- خرابکار یا هکر با استفاده از دانش و اطلاعاتی مانند آیپیها، DNSها و … اقدام به نفوذ میکند.
- هکر اطلاعات کافی را دارد و سیستم امنیتی و متخصصان فناوری از وقوع تست نفوذ اطلاع ندارند.
Open-box pen test
هکر با دانش و اطلاعات کافی اقدام به تست نفوذ میکند. هدف از این کار سنجش میزان امنیت سیستم در زمان وقوع جنبه Internal penetration یا همان نفوذ از داخل است.
Closed-box pen test
به جز نام شرکت هیچ اطلاعاتی در اختیار هکر قرار داده نمیشود. هدف از این نوع نفوذ، بررسی میزان امنیت شبکه در زمان وقوع جنبه نفوذ از خارج یا External penetration بوده تا اطلاعات کافی از شکافهای امنیتی موجود در کدهای درگاهها (منظور از درگاهها سایت، برنامه و هر چیز دیگری است که کاربران با استفاده از آن به خدمات شرکت دسترسی دارند) حاصل شود.
Covert pen test
این حالت دقیقا اجرای یک مانور واقعی است تا بیشتر از همیشه به واقعیت نزدیکتر باشد. در انجام این روش یعنی پوشش در تست نفوذ، هیچ یک از کارکنان، متخصصان فناوری اطلاعات و افراد مرتبط از تست باخبر نیستند. هکر هم اطلاعات کافی دررابطهبا شرکت بر اساس قرارداد را بهصورت مکتوب دارد، تا در زمان اجرای قانون برای وی مشکلی پیش نیاید.
در نهایت میتوان گفت که با اجرای سه حالت مختلف از نفوذ به شبکه و جمعآوری اطلاعات از هر تست، میتوان امنیت شبکه را تا میزان بسیار بالایی افزایش داد.

جمعبندی
امنیت شبکه را میتوان با نرمافزارهای مختلف و حتی بررسی کدها و رفع ایرادات و باگها تامین کرد. اما برخی شرکتها و سازمانهای بزرگ که منابع و اسناد آنها در شبکه مورداستفاده شناور است، نیاز دارند تا راهکارهای بهتری امنیت شبکه خود را تضمین کند. ازاینرو نیاز به اجرای یک هک و نفوذ با جنبهها و روشهای مختلف است تا از میزان امنیت موجود آگاه شد و در صورت نیاز وصلههای امنیتی جدیدی را اجرا کرد.
به این کار تست نفوذ شبکه گفته میشود که توسط یک هکر اخلاقی انجام میگیرد. در واقع این کار مانند استخدام یک دزد از طرف بانک برای سنجش میزان امنیت است که در چهارچوبهای خاص و بهصورت قانونی انجام میگیرد. در این مقاله سعی شد تا با بررسی جنبههای مختلف نفوذ و روشهای اجرای تست نفوذ، اطلاعات کاملی از این راهکار امنیتی داشته باشید.