تست نفوذپذیری: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
Ahasanniaz (بحث | مشارکت‌ها)
جز ←‏فاز اصلی تست نفوذ: حذف لینک تبلیغاتی
Arash.pt (بحث | مشارکت‌ها)
به نسخهٔ 23737873 ویرایش Poya-P برگردانده شد. (توینکل)
برچسب: خنثی‌سازی
خط ۱:
{{درستیتمیزکاری|تاریخ=آوریلژوئن ۲۰۲۰۲۰۱۸}}
'''آزمون نفوذپذیری''' یا '''آزمون نفوذ''' (به انگلیسی: Penetration test) روشی برای تخمین میزان [[امنیت رایانه‌ای|امنیت]] یک کامپیوتر (معمولاً [[سرور (رایانه)|سرور]]) یا یک [[شبکه رایانه‌ای|شبکه]] است که با شبیه‌سازی حملات یک حمله‌کننده ([[هکر]]) صورت می‌گیرد. در این روش تمام سیستم و نرم‌افزارها و سرویس‌های نصب شده روی آن برای یافتن مشکلات امنیتی آزمایش می‌شوند و سپس اقدام به رفع مشکلات موجود می‌شود.
{{منبع|تاریخ=آوریل ۲۰۲۰}}
{{تمیزکاری|تاریخ=ژوئن 2018}}
'''آزمون نفوذپذیری''' یا '''آزمون نفوذ''' (به انگلیسی: Penetration test) فرآیند ارزیابی معیارهای امنیتی است. معیارهای امنیتی از لحاظ ضعف طراحی، مشکلات فنی و آسیب‌پذیری‌ها بررسی گردیده و نتایج آن در قالب گزارشی کامل، به مدیران و نیروهای فنّی ارائه می گردد.
 
تست نفوذ به راه‌های مختلفی صورت می‌گیرد که عمده‌ترین تفاوت آنها، تفاوت در میزان اطلاعات تست‌کننده دربارهٔ سیستم موردنظر است. تست به صورت [[آزمون جعبه سیاه]] روشی است که در آن تست‌کننده بدون داشتن هیچگونه اطلاعات قبلی در مورد سیستم انجام می‌دهد و [[تست جعبه سفید]] یا تست شفاف (transparent box testing) روشی است که در آن تست‌کننده مشخصات کامل سیستم را در اختیار دارد. در این میان روش‌های دیگری موجوداند که در آن تنها بخشی از اطلاعات در اختیار تست‌کننده قرار می‌گیرد که به جعبه خاکستری (Gray-box) معروف‌است.{{سخ}}
در این روش با استفاده از تکنیک های هک، یک حملهٔ واقعی شبیه‌سازی می‌شود تا بدینوسیله سطح امنیت یک شبکه یا سیستم مشخص گردد. این امر به سازمان‌ها کمک می‌کند تا با تشخیص به موقع، از دسترسی و آسیب‌رسانی هکرهای واقعی به سرمایهٔ سازمان جلوگیری نمایند.
با انجام تست شفاف، می‌توان سیستم را به‌طور دقیق‌تر و برای موارد بیشتر تست کرد، در صورتیکه با انجام تست جعبه سیاه، ممکن است تمامی حفره‌های موجود مورد بررسی قرار نگیرند، بنابراین در مواقعی که امنیت نقش کلیدی ایفا می‌کند، لازم است که تست شفاف صورت گیرد.
 
کیفیت تست نفوذ صورت گرفته ارتباط مستقیمی با میزان دانش امنیتی و کارکردی تست‌کننده از نرم‌افزارها و سرویس‌های موجود روی سیستم دارد و معمولاً تست نفوذ توسط یک گروه صورت می‌گیرد چراکه هیچ‌گاه یک شخص نمی‌تواند به تنهایی اطلاعات کامل تمامی برنامه‌ها را داشته باشد.
تست نفوذ به نوعی همان هک است اما این کار اغلب به صورت قانونی با رضایت و قرار داد انجام می شود و هدف از این کار پیدا کردن مشکلات امنیتی است که وجود دارند تا در اینده هکر های کلاه سیاه مشکلاتی ایجاد نکنند. به طور کلی هک هم غیر قانونی نیست چرا که انواع مختلفی از هکر های کلاه سیاه ، کلاه سفید و کلاه خاکستری وجود دارند و عملیاتی که هکر انجام می دهد بیشتر مربوط به اخلاقیات و رفتار او دارد و چون ما نمیدانیم با چه هکر هایی برخورد خواهیم کرد باید با تست نفوذ امنیت خود را حفظ کنیم.
 
بنابراین در تست انجام شده توسط گروه، هریک از اعضای گروه مسوول تست بخشی از برنامه‌ها است و این هدف رشد شرکت‌ها و گروه‌های امنیتی است که بتوانند با تعلیم هریک از افراد خود در یک بخش خاص، تمام جزییات و نکات ریز امنیتی هر برنامه را شناسایی و رفع کنند.
== ارزیابی های داخلی و خارجی(Internal vs. External) ==
به طور کلی ارزیابی های داخلی و خارجی به ارزیابی شبکه و نرم افزار مربوط می شود. ارزیابی امنیتی به طور مستقیم در شبکه هدف (یعنی اتصال LAN یا WiFi) را ارزیابی داخلی و ارزیابی یا دسترسی آن از خارج (یعنی وب سایت ها یا اتصالات داده) را ارزیابی خارجی گویند.
 
هر سیستمی که قابل استفاده توسط عموم باشد، لازم است که قبل از شروع فعالیت، تست نفوذپذیری روی آن صورت گرفته باشد که بعداً دچار مشکل نشود. وب‌سایت‌ها، شبکه‌های بانکی، فایل‌سرورها، ارایه‌دهندگان پست‌های الکترونیک و سایر سیستم‌هایی که از طریق شبکه خدمات ارائه می‌دهند نمونه‌ای از سیستم‌هایی هستند که باید روی آن‌ها تست نفوذپذیری صورت گرفته شود.
'''ارزیابی های داخلی(Internal):''' تست حملات نفوذ پذیری از داخل سازمان مانند یک کارمند سرکش یا یک هکر که به سازمان نفوذ کرده است.
 
هرچند تست نفوذپذیری ممکن است بسیار مفید باشد، اما دارای خطراتی نیز هست، دادن اطلاعات کامل به گروهی غیرقابل اطمینان برای انجام تست شفاف می‌تواند بسیار خطرناک باشد، چراکه همان گروه می‌تواند خود عامل نفوذ به سیستم باشد. در برخی موارد، ایجاد فشار زیاد روی سیستم به دلیل تست‌های فراوان خطر دیگری است که می‌تواند باعث مشکلات سخت‌افزاری، نرم‌افزاری و حتی کند شدن شبکه و سرور مورد نظر شود.
'''ارزیابی های خارجی(External):''' تست حملات نفوذ پذیری از خارج سازمان را بررسی می کند.
 
برای جلوگیری از به‌وجود آمدن مشکلات گفته شده، توصیه می‌شود که غیر از موارد خاص، تست شفاف صورت نگیرد و تنها تست جعبه سیاه انجام شود و اگر لازم است تا تست شفاف صورت گیرد، این کار توسط شرکتی رسمی و قابل اطمینان و با گرفتن ضمانت صورت گیرد.
همچنین ارزیابی های امنیتی میتواند در حوزه های مختلفی انجام شود. به عنوان مثال در شبکه های داخلی به منظور یافتن موارد:
 
بسیاری از نرم‌افزارها موجوداند که می‌توانند کار تست نفوذ را به صورت خودکار انجام دهند، استفاده از این نرم‌افزارها به‌طور کلی توصیه نمی‌شود زیرا اولاً نرم‌افزار موردنظر می‌تواند خود ابزاری مخرب باشد که اطلاعات را در اختیار طراحان آن قرار دهد و ثانیاً نرم‌افزار هوش انسان را ندارد و نمی‌تواند تمامی حفره‌های موجود را کنترل کند و تنها قسمت محدودی از حفره‌های موجود در برنامه‌ها را کنترل می‌کند.
1. ساختار، معماری و سیاست های مدیریتی شبکه ی داخلی
2. تجهیزات شبکه مانند سوئیچ ها، مسیریاب ها ،اکسس پوینت ها و غیره
3. تجهیزات امنیتی از قبیل دیواره آتش
4. امنیت سرویس دهنده ها و بستر مجازی شبکه
5. امنیت سرویس دهنده ها از منظر آسیب پذیری در برابر حملات شناخته شده
6. و…
 
از نرم‌افزارها می‌توان در مواقعی استفاده کرد که امنیت نقش مهمی ندارد یا مواقعی که تست توسط گروهی صورت گرفته و فقط برای کنترل بیشتر می‌خواهیم تست انجام دهیم.
=== رویکرد تست نفود نرم افزار Black-Box‌ ،Covert ،Gray-Box و White-Box ===
تست نفوذ به روش‌های متفاوتی قابل انجام است. بیشترین تفاوت میان این روش‌ها، در میزان اطلاعات مرتبط با جزئیات پیاده‌سازی سیستم در حال تست است که در اختیار تیم تست نفوذ قرار داده می‌شود. با توجه به این موضوع تست نفوذ را می‌توان به 4 دسته Black-Box ، White – Box و Gray-Box تقسیم نمود.
 
پروژه OWASP یا Open Web Application Security Project دارای مطالبی برای کنترل امنیتی وب‌سایت‌ها بوده و برای بسیاری از نکات امنیتی مرجعی مناسب به‌حساب می‌آید. رعایت نکاتی امنیتی گفته شده در این پروژه برای نوشتن هر وب‌سایتی به هر [[زبان برنامه‌نویسی]] توصیه می‌شود.
'''Black-Box‌ :'''
در اجرای موفق یک پروژه تست نفوذ، کلیدی‌ترین موضوع میزان دانش و توانایی شما در مواجهه با انواع مختلفی از سرویس‌ها، پلت فرم‌ها و پروتکل‌های شبکه وب است؛ بنابراین همواره بایستی در حال مطالعه و کسب علم و دانش در این زمینه باشید.
 
تست Black-Box ( جعبه سیاه ) با فرض فقدان دانش قبلی از زیر ساختهایی است که قرار است مورد تست قرار گیرند. متخصصان باید پیش از آنالیز و بررسی، ابتدا مکان و گستره سیستم‌ها را به‌طور دقیق مشخص کنند. تست Black-Box در واقع شبیه‌سازی کردن حمله‌ای است که توسط نفوذگری انجام می‌شود که در ابتدا با سیستم آشنایی ندارد.
 
'''Covert  :'''
 
این نوع تست که به تست نفوذ Double-Blind نیز مشهور است اشاره به زمانی دارد که تقریباً هیچ‌کس از جمله افراد متخصص امنیت شبکه در شرکت مورد هدف اطلاعی از این حمله‌ی کنترل شده ندارند. در این نوع تست نفوذ بسیار اهمیت دارد که متخصصین امنیت اجراکننده‌ی تست اطلاعاتی پایه‌ای درباره‌ی موضوع داشته باشند که از مشکلات قانونی جلوگیری شود.
 
'''White-Box :'''
 
تست White-Box ( جعبه سفید یا تست شفاف ) اطلاعات ضروری مانند معماری شبکه، کدهای منبع، اطلاعات آدرس IP و شاید حتی دسترسی به بعضی از کلمات عبور،در اختیار تیم ارزیابی امنیتی قرار می‌گیرد. تست White-Box حمله‌ای را شبیه سازی می‌کند که ممکن است در اثر افشای اطلاعات محرمانه از شبکه داخلی یا حضور نفوذگر در داخل سازمان بوجود آید. تست White-Box دارای گستردگی وسیعی می‌باشد و محدوده آن شامل بررسی شبکه محلی تا جستجوی کامل منبع نرم افزارهای کاربردی به منظور کشف آسیب‌پذیری‌هایی که تا کنون از دید برنامه نویسان مخفی مانده است، می‌باشد.
 
'''Gray-Box :'''
 
روش های متنوع دیگری نیز وجود دارد که در واقع مابین دو روش ذکر شده در بالا قرار می‌گیرند که معمولا از آنها به تست های Gray-Box ( جعبه خاکستری )تعبیر می‌شود.
 
به طور کلی تر تست نفوذ به صورت جعبه سفید و جعبه سیاه بسته به نوع پروژه انجام میشود که در این حالت تعادل بیشتری بین این دو برقرار خواهد بود و بهترین روش پیشنهادی جعبه خاکستری است.
 
 
مورد مهم :
 
این کار به صورت دوره ای باید انجام شود و به این صورت نیست که فقط یک بار انجام شود و به اتمام برسد چرا که امنیت پایدار نیست و باید همیشه بروزرسانی شود به همین خاطر باید به صورت دوره ای برای امنیت راه کار هایی پیش بگیرید.
 
<br />
 
==فاز اصلی تست نفوذ==
 
1. شناسایی (Reconnaissance)
2. اسکن و انالیز (Scanning)
3. گرفتن دسترسی بالا بردن سطح دسترسی(Gaining Access)
4. حفظ دسترسی (Maintaining Access)
5. پاک کردن ردپا (Covering Tracks) استفاده از اسیب پذیری
 
== اهداف انجام آزمون نفوذپذیری ==
 
* شناسایی نقاط ضعف و آسیب‌پذیر سیستم‌ها و نرم‌افزارها
* شناسای آسیب‌پذیری‌های درونی و بیرونی شبکه
* بررسی امکان نفوذ به سیستم‌ها و برنامه‌ها
* ارائه راه حل برای رفع مشکلات و آسیب‌پذیری‌های امنیتی موجود
*پیدا کردن باگ های 0day
*کسب درامد برای متخصص تست نفوذ
*بالا بردن سطح امنیت پروژه
 
== دامنه آزمون نفوذپذیری ==
 
* آزمون نفوذ سامانه‌های تحت وب (Web Application)
* آزمون نفوذ تجهیزات شبکه و سرویس‌های سیستم‌عامل (Network, Firewall, OS Services)
* آزمون نفوذ برنامه‌های کاربردی موبایل (Mobile Application)
* آزمون نفوذ برنامه‌های دسکتاپ (Desktop Application)
* آزمون نفوذ وب‌سرویس (Web Service)
* آزمون نفوذ شبکه‌های بیسیم (Wireless)
* آزمون نفوذ رایانش ابری (Cloud Computing)
* آزمون نفوذ شبکه‌های مخابراتی (Telecom)
* آزمون نفوذ شبکه‌های کنترل صنعتی (SCADA , DCS)
* آزمون نفوذ سیستم‌های ویپ (VOIP)
* آزمون نفوذ Core Banking
* آزمون نفوذ برنامه‌های کلاینتی (Client Side Application)
* آزمون امنیت فیزیکی (Physical)
* آزمون نفوذ اینترنت اشیاء (IoT)
 
== استانداردهای تست نفوذ ==
کارشناسان امنیتی برای انجام تست نفوذ از استاندارد های زیر استفاده می نمایند :
 
* <span lang="fa" dir="ltr">ISO/IEC 27001</span>
* <span lang="fa" dir="ltr">ISO/IEC 27002</span>
* <span lang="fa" dir="ltr">OSSTMM   ( Open Source Security Testing Methodology Manual )</span>
* <span lang="fa" dir="ltr">OWASP 2017  (Open Web Application Security Project )</span>
* <span lang="fa" dir="ltr">LPT   ( Licensed Penetration Tester methodology from EC-Council )</span>
* <span lang="fa" dir="ltr">CVSS   ( Common Vulnerability Scoring System SIG )</span>
*(MASVS (Mobile Application Security Verification Standard
 
== انواع تست نفوذ ==
 
== انواع [http://www.pavan.ir/pentest-security-testing/ تست نفوذ] ==
# تحلیل ریسک‌های امنیت
# برنامه‌ریزی تست امنیت
سطر ۱۱۰ ⟵ ۳۳:
* تست کنترل دسترسی (Authorization)
* تست‌های مربوط به اعتبارسنجی داده‌های وروردی (Injections, Buffer overflow)
*تست نفوذ کلاینت
*تست نفوذ وب
*تست نفوذ به وای فای
 
== تست نفوذ در ایران ==
با توجه به اهمیت دادن مسئولین و سران نظام به مسئله امنیت در ایران، امنیت در حوزه فناوری اطلاعات نیز از اهمیت ویژه‌ای برخوردار است. این مسئله سبب شده بر خلاف سایر حوزه‌های تضمین کیفیت و تست نرم‌افزار، برای این حوزه اهمیت خیلی زیادی قائل شوند. علاوه بر این، جذابیت مباحث هک و نفوذ سبب شده افراد زیادی به این موضوع علاقه پیدا کنند.
به دلیل بومی نبودن تکنولوژی مربوطه، دانش سطحی و نبود زیر ساخت‌های لازم، تعداد متخصصین و افراد خبره در این موضوع بسیار اندک است، اما در چند سال اخیر گروه‌های تخصصی و فنی مجرب زیادی شروع به کار کرده‌اند که آینده روشنی را برای ایران در حوزه امنیت تداعی می‌کنند.
 
== ارزیابی امنیتی سامانه‌ها و تست نفوذ ==
تست نفوذ یا آزمون نفوذپذیری (به انگلیسی: Penetration test) روشی برای تخمین میزان امنیت یک کامپیوتر (معمولاً سرور) یا یک شبکه یا یک سایت یا یک نرم‌افزار است که با شبیه‌سازی حملات یک حمله‌کننده (هکر) صورت می‌گیرد. در این روش تمام سیستم و نرم‌افزارها و سرویس‌های نصب شده روی آن برای یافتن مشکلات امنیتی آزمایش می‌شوند و سپس اقدام به رفع مشکلات موجود می‌شود. امروز بر روی سایت، نرم‌افزار، اپلیکیشن و شبکه اینترنت تست نفوذ انجام می‌گیرد. اولین اقدام برای اطمینان از امنیت یک سایت یا نرم‌افزار انجام تست نفوذ بر روی آن است.
 
== منابع ==
{{پانویس}}
* (فارسی) https://mohandespishegan.com/solution/test-type/security-test
 
اربابی، مهدی. گروه امنیتی آفتاب. [http://www.asreertebat.com/1389/11/16/AsreErtebat_weekly/394/Page/31/ تست نفوذپذیری (Penetration test)]. عصر ارتباط، ۱۶ بهمن ۱۳۸۹، شماره ۳۹۴. [http://www.asreertebat.com/1389/11/16/AsreErtebat_weekly/394/Page/31/AsreErtebat_weekly_394_31.pdf PDF]
*(فارسی) https://www.testnofoz.com/?p=1753
 
[[رده:امنیت شبکه‌های رایانه‌ای]]