
برعکس باور عموم، تست نفوذ صرفاً اجرای پشت سر هم ابزار خودکارسازیشده و تولید گزارشات فنی نیست. این تست باید یک مسیر واضح و دقیق را مشخص کند که نشان دهد چطور میتوان اطلاعات و سیستمهای اطلاعاتی یک سازمان را از حملات واقعی محافظت نمود. یک رویکرد سیستمی و علمی باید مورد استفاده قرار گیرد تا تست بهخوبی مستند گردد و گزارشاتی ایجاد شود که سطوح مدیریتی مختلفی را درون سازمان هدف گرفته باشند. این تست نباید محدود باشد تا تستکننده بتواند بهطور کامل فرضیات خود را بررسی کند. بهطورکلی تست نفوذ سه مرحله دارد: آمادهسازی تست، تست و تجزیهوتحلیل تست، که در شکل زیر نمایش داده شده است. تمام اسناد ضروری برای تست در طول مرحلهی آمادهسازی تست تنظیم و نهایی میشوند. مسائلی مثل درز کردن اطلاعات و Downtime حل شده و در یک سند توافق قانونی قرار میگیرند. توافقات قانونی دیگری که ضروری دانسته شوند، در طول این دوره به انجام رسیده و امضا میشوند. عمدهی بخش نحوهی انجام تست نفوذ در طول مرحلهی تست انجام میگردد. میتوان از انواعی از ابزار خودکارسازیشده برای این مرحله استفاده کرد.
1. تست نفوذ برنامه کاربردی وب
تست نفوذ کاوشگری ساختارمند یک سیستم است که میتواند برای انواعی از برنامههای کاربردی، Hostها و شبکهها مورد استفاده قرار بگیرد. روش کلی تست نفوذ یک فرایند مفید برای کشف و حل نقاط ضعف امنیتی برنامههای کاربردی، بهخصوص برنامههای کاربردی وب است. این بخش فرایند تست نفوذ را با استفاده از دو برنامه کاربردی وب، یعنی TuneStore و BOG نمایش میدهد. باید توجه شود که بخشهایی که در اینجا تست میشوند فقط شامل زیرمجموعهی کوچکی از بخشهایی هستند که باید تست شوند. در نتیجه ممکن است وقتی که فرایند تست نفوذ روی برنامههای کاربردی وب پیچیدهتر اجرا میشود، جامعتر باشد و نیاز به زمان و تلاش بیشتری داشته باشد.
فرض بر این است که پیش از مرحلهی تست، مرحلهی آمادهسازی تست انجام شده است. مرحلهی تست شامل سه قدم است: جمعآوری اطلاعات، تجزیهوتحلیل آسیبپذیری و Exploit کردن آسیبپذیری می باشد. این قدمها بخشهای کشف، آسیبپذیری و شبیهسازی هم نام دارند. پس از مرحلهی تست، مرحلهی تجزیهوتحلیل تست انجام میگردد.

روش تست نفوذ
2. قدم جمعآوری اطلاعات
در این قدم، تستکنندهها هرچقدر که میتوانند در مورد برنامه کاربردی وب اطلاعات جمع میکنند تا درکی از منطق آن داشته باشند. هرچقدر تستکنندهها هدف تست را عمیقتر بشناسند، در تست نفوذ موفقتر خواهند بود. اطلاعاتی که جمعآوری میشود مورد استفاده قرار میگیرد تا یک زیربنای دانش ایجاد گردد که در مراحل بعدی براساس آن اقداماتی صورت گیرد. تستکنندهها باید تمام اطلاعات را جمعآوری کنند، حتی اگر بیفایده و نامرتبط به نظر برسند، زیرا هیچکس در ابتدا نمیداند که چه اطلاعاتی مورد نیاز است.
ویدیوهای بیشتر درباره تست نفوذ
میتوان این قدم را به روشهای مختلفی اجرایی کرد: با استفاده از ابزار عمومی مثل موتورهای جستجو؛ با استفاده از اسکنرها؛ با ارسال درخواستهای HTTP ساده یا درخواستهایی که بهطور خاص ساخته شده باشند یا از طریق برنامه کاربردی. تستکنندهها میتوانند اهداف برنامه کاربردی را شناسایی کنند. آنها میتوانند اثر انگشت سرور وب را ثبت کنند، برنامههای کاربردی روی Client و سرور شناسایی نمایند و محتوا و کاربرد را بهطور دستی یا با استفاده از یک ابزار خودکارسازیشده مشخص کنند.
3. بحث یا DISCUSSION
تست نفوذ میتواند یک استراتژی کارآمد و مقرونبهصرفه برای حفاظت از سیستمهای سازمان در مقابل حملات باشد. اگر این تست بهدرستی انجام شود، به سازمان کمک میکند اقدامات داخلی که موجب افزایش آسیبپذیریها شدهاند و همچنین منابع دیگر آسیبپذیریها را شناسایی کنند. منابع شناسایی شده به سازمان این امکان را میدهند که آسیبپذیریها را حذف کرده، بهدرستی به تلاشهای امنیتی سیستم جهت بدهد، روی Vendorها فشار بگذارد تا محصولاتشان را بهبود بخشند، اقدامات امنیتی کسبوکار داخلی خود را بهبود بخشد و به کاربران، سهامداران و آژانسهای نظارتی ثابت کند که تلاشهای لازم را برای حفاظت از دادههای حیاتی کسبوکار انجام میدهد.
برای مشاوره رایگان جهت (باز)طراحی امنیت شبکه و یا انجام تست نفوذ مطابق با الزامات افتا با کارشناسان شرکت APK تماس بگیرید. |
انتخاب یک تیم نفوذ عامل مهمی برای موفقیت فرایند تست نفوذ است. در ارزیابی تیم باید به صلاحیت آنها، تجربه و دانش آنها، اعتبار آنها در جامعهی کسبوکار الکترونیکی، دسترسی آنها به ابزار برتر و میزان و استفادهی آنها از این ابزار مدنظر قرار گیرد. بهعنوان یک قانونی کلی، تیمی که سیستمهای مورد تست را ارائه میدهد باید حذف گردد.
نمیتوان انتظار داشت که تست نفوذ تمام آسیبپذیریهای امنیتی را شناسایی کند زیرا فقط یکی از جوانب تست است. سازمان باید یک استراتژی تست امنیتی کلی را ایجاد کند که مناسب مدلهای تهدید و پالیسیهای امنیتی خود باشد.
بیشتر بخوانید: زمان های مناسب برای انجام تست نفوذ شبکه و الویت آن برای سازمان ها
درنهایت، تست نفوذ هرگز نباید به تنهایی مورد استفاده قرار گیرد. این تست در نقطهی زمانی خاصی انجام میگردد. سیستمها تغییر میکنند، تهدیدات جدیدی ایجاد میشوند، استراتژیهای کسبوکار پیشرفت میکند و ابزار هکرها نیز تکامل پیدا میکند. اصلاح یا Patch کردن آسیبپذیری شناساییشده به معنای از بین رفتن نگرانیهای امنیتی نیست، بلکه فقط شروع یک چرخهی دائمی است. به علاوه یک تست نفوذ هیچ ضمانتی مبنی بر امنیت مطلق ارائه نمیدهد، بلکه فقط اقدامی برای بهبود وضعیت امنیتی است.
4. فرایند تست نفوذ
فرایند تست نفوذ که توسط Neumann شرح داده شده است، شامل مراحل زیر میباشد: (1) درک سیستم، (2) فرضیهسازی در مورد ایرادها، (3) تست کردن برای تائید یا رد فرضیه، (4) گسترش تستهای موفق برای رسیدن به فرضیههای دیگر. قدم 1 با قدم جمعآوری اطلاعات متناظر است، قدم 2 و 3 با قدم تجزیهوتحلیل آسیبپذیری متناظر هستند و قدم 4 با قدم Exploitهای آسیبپذیری متناظر میباشد. Pfleegerو همکاران یک روش منظم را برای برنامهریزی مجموعهای از تستهای نفوذ شرح دادهاند که شامل قدمهای زیر است: (1) شناسایی Objectهای حساس، (2) تعیین نقاط آسیبپذیری برای آنها، (3) تست کردن آسیبپذیریها برای تعیین کارآمدی کنترلها. این روش یک رویکرد نظاممند را برای فرضیهسازی در مورد نقصهای مدل Neumann فراهم میکند و میتواند در قدم تجزیهوتحلیل آسیبپذیری در روش این مقاله مورد استفاده قرار گیرد.
بیشتر بخوانید: انواع، روشها و مراحل تست نفوذ
قدم تجزیهوتحلیل آسیبپذیری که مطرح شد، مبتنی است بر دستهبندیهای مختلف آسیبپذیری. Bishop تأکید میکند که تست نفوذ باید هدف و محدودیتهای تست را در نظر بگیرد. این موارد باید در مرحلهی آمادهسازی تست مورد توجه قرار گیرند. Arkin و همکاران میگویند که تست نفوذ باید براساس ریسک و در سطح ویژگی، جزء یا واحد و سیستم تنظیم گردد. این موارد میتوانند در مرحلهی تست مورد توجه قرار گیرند.
5. نتیجهگیری
تست نفوذ یک روش جامع برای شناسایی آسیبپذیریها در سیستم است. ین روش مزایایی مثل پیشگیری از ضررهای مالی؛ تطبیقپذیری با ناظران صنعتی، کاربران و سهامداران؛ حفظ اعتبار شرکت و حذف پیشگیرانهی ریسکهای شناسایی شده دارد.
تستکنندهها میتوانند از روشهای تست Black Box ،White Box و Gray Box استفاده کنند که این روشها به میزان اطلاعات در دسترس کاربر بستگی دارند. تستکنندهها همچنین میتوانند تستهای داخلی یا خارجی را انتخاب کنند که این انتخاب به اهداف بهخصوص تست بستگی دارد. سه نوع تست نفوذ وجود دارد: شبکه، برنامه کاربردی و مهندسی اجتماعی.
در این مقاله یک روش سه مرحلهای توصیف شد که از مراحل آمادهسازی تست، تست و تجزیهوتحلیل تست تشکیل میشود. مرحلهی تست در سه قدم انجام میشود: جمعآوری اطلاعات، تجزیهوتحلیل آسیبپذیری و Exploit کردن آسیبپذیری. میتوان این مرحله را بهصورت دستی یا با استفاده از ابزار خودکارسازیشده طی کرد. فرایند تست نفوذ روی برنامههای کاربردی وب BOG و TuneStore بررسی شد.
تستکنندهها باید برای نمایش نتایج تست از یک قالب جامع بهره ببرند. یکی از مهمترین بخشهای تجزیهوتحلیل تست، آمادهسازی برای اصلاح است که شامل تمام اقدامات اصلاحی ضروری برای آسیبپذیریهای شناساییشده میباشد. گزارش نهایی باید دارای جزئیات کافی باشد تا کسانی که اصلاحات را انجام میدهند بتوانند الگوی حمله و نتایج مربوطه را شبیهسازی و دنبال کنند.