تست نفوذ برنامه های کاربردی وب EITC/IS/WAPT برنامه صدور گواهینامه فناوری اطلاعات اروپا در جنبه های نظری و عملی تست نفوذ برنامه های کاربردی وب (هک سفید)، از جمله تکنیک های مختلف برای تکنیک های spidering، اسکن و حمله به وب سایت ها، از جمله ابزارها و مجموعه های تخصصی تست نفوذ است. .
برنامه درسی تست نفوذ برنامه های کاربردی وب EITC/IS/WAPT شامل مقدمه ای بر Burp Suite، web spridering و DVWA، تست نیروی brute force با Burp Suite، تشخیص فایروال برنامه وب (WAF) با WAFW00F، محدوده هدف و spidering، کشف فایل های مخفی با ZAP، اسکن آسیب پذیری وردپرس و شمارش نام کاربری، اسکن بار متعادل کننده، اسکریپت متقابل سایت، XSS – منعکس شده، ذخیره شده و DOM، حملات پراکسی، پیکربندی پراکسی در ZAP، حملات فایل ها و دایرکتوری ها، کشف فایل و دایرکتوری با DirBuster، تمرین حملات وب ، OWASP Juice Shop، CSRF – جعل درخواست متقابل سایت، جمع آوری کوکی ها و مهندسی معکوس، ویژگی های HTTP – سرقت کوکی، تزریق SQL، DotDotPwn – پیمایش دایرکتوری فازی، تزریق iframe و تزریق HTML، بهره برداری Heartbleed – کشف کد، PHPloit bWAPP - تزریق HTML، POST منعکس شده، تزریق فرمان سیستم عامل با Commix، سمت سرور شامل تزریق SSI، پنت کردن در Docker، OverTheWire Natas، LFI و تزریق فرمان، هک گوگل برای تست نفوذ، Google Dorks برای تست نفوذ، Apache2 ModSecurity، و همچنین Nginx ModSecurity، در ساختار زیر، شامل محتوای آموزشی ویدئویی جامع به عنوان مرجع برای این گواهینامه EITC.
امنیت برنامه های کاربردی وب (که اغلب به آن Web AppSec گفته می شود) مفهوم طراحی وب سایت ها برای عملکرد عادی حتی زمانی که مورد حمله قرار می گیرند است. این مفهوم ادغام مجموعه ای از اقدامات امنیتی در یک برنامه وب برای محافظت از دارایی های آن در برابر عوامل متخاصم است. برنامه های کاربردی وب، مانند همه نرم افزارها، مستعد نقص هستند. برخی از این نقصها آسیبپذیریهای واقعی هستند که میتوان از آنها سوء استفاده کرد و برای کسبوکارها خطر ایجاد میکند. چنین نقص هایی از طریق امنیت برنامه های وب محافظت می شوند. این امر مستلزم به کارگیری رویکردهای توسعه ایمن و قرار دادن کنترل های امنیتی در طول چرخه عمر توسعه نرم افزار (SDLC) است و اطمینان حاصل می کند که نقص های طراحی و مسائل پیاده سازی برطرف شده اند. تست نفوذ آنلاین، که توسط کارشناسانی انجام میشود که با هدف کشف و بهرهبرداری از آسیبپذیریهای برنامه وب با استفاده از رویکرد موسوم به هک سفید انجام میشود، یک عمل ضروری برای فعال کردن دفاع مناسب است.
تست نفوذ وب، که به عنوان تست قلم وب نیز شناخته می شود، یک حمله سایبری به یک برنامه وب را به منظور یافتن نقص های قابل بهره برداری شبیه سازی می کند. تست نفوذ اغلب برای تکمیل فایروال برنامه وب در زمینه امنیت برنامه وب (WAF) استفاده می شود. آزمایش قلم، به طور کلی، مستلزم تلاش برای نفوذ به هر تعداد از سیستمهای کاربردی (مثلاً APIها، سرورهای فرانتاند/بکاند) به منظور یافتن آسیبپذیریها، مانند ورودیهای ضدعفونیشده است که در برابر حملات تزریق کد آسیبپذیر هستند.
از یافتههای تست نفوذ آنلاین میتوان برای پیکربندی سیاستهای امنیتی WAF و رفع آسیبپذیریهای کشفشده استفاده کرد.
تست نفوذ پنج مرحله دارد.
روش تست قلم به پنج مرحله تقسیم می شود.
- برنامه ریزی و جستجو
تعریف دامنه و اهداف یک آزمون، از جمله سیستم هایی که باید به آن پرداخته شود و روش های آزمایشی که باید استفاده شود، اولین مرحله است.
برای به دست آوردن درک بهتر از نحوه عملکرد یک هدف و نقاط ضعف بالقوه آن، اطلاعات را جمع آوری کنید (به عنوان مثال، نام های شبکه و دامنه، سرور ایمیل). - پویش
مرحله بعدی این است که بفهمیم برنامه هدف چگونه به انواع مختلف تلاشهای نفوذ واکنش نشان میدهد. این معمولاً با استفاده از روش های زیر انجام می شود:
تجزیه و تحلیل استاتیک - بررسی کد یک برنامه برای پیش بینی نحوه عملکرد آن هنگام اجرا. در یک پاس، این ابزارها می توانند کل کد را اسکن کنند.
تجزیه و تحلیل پویا فرآیند بازرسی کد برنامه در حین کار است. این روش اسکن عملی تر است، زیرا یک نمای زمان واقعی از عملکرد یک برنامه ارائه می دهد. - به دست آوردن دسترسی
برای یافتن نقاط ضعف یک هدف، این مرحله از حملات برنامه های وب مانند اسکریپت نویسی بین سایتی، تزریق SQL و درهای پشتی استفاده می کند. برای درک آسیبهایی که ممکن است این آسیبپذیریها ایجاد کنند، آزمایشکنندگان سعی میکنند با افزایش امتیازات، سرقت دادهها، رهگیری ترافیک و غیره از آنها سوء استفاده کنند. - حفظ دسترسی
هدف از این مرحله ارزیابی این است که آیا میتوان از آسیبپذیری برای ایجاد حضور طولانیمدت در سیستم آسیبدیده استفاده کرد و به بازیگر بد اجازه دسترسی عمیق را داد. هدف تقلید تهدیدات پیشرفته پیشرفته است که میتوانند ماهها در یک سیستم باقی بمانند تا حساسترین اطلاعات یک شرکت را به سرقت ببرند. - تحلیل و بررسی
سپس نتایج تست نفوذ در گزارشی قرار می گیرد که شامل اطلاعاتی مانند:
آسیب پذیری هایی که با جزئیات مورد سوء استفاده قرار گرفتند
داده های به دست آمده حساس بود
مدت زمانی که تستر قلم توانست در سیستم مورد توجه قرار نگیرد.
کارشناسان امنیتی از این داده ها برای کمک به پیکربندی تنظیمات WAF شرکت و سایر راه حل های امنیتی برنامه به منظور اصلاح آسیب پذیری ها و جلوگیری از حملات بیشتر استفاده می کنند.
روش های تست نفوذ
- آزمایش نفوذ خارجی بر دارایی های یک شرکت که در اینترنت قابل مشاهده است، مانند خود برنامه وب، وب سایت شرکت، و همچنین سرورهای ایمیل و نام دامنه (DNS) متمرکز است. هدف دستیابی به اطلاعات مفید و استخراج آن است.
- آزمایش داخلی مستلزم آن است که یک آزمایشکننده به برنامهای در پشت فایروال یک شرکت دسترسی داشته باشد که یک حمله داخلی متخاصم را شبیهسازی میکند. این نیازی به شبیه سازی کارمند سرکش نیست. کارمندی که اعتبارش در نتیجه تلاش فیشینگ به دست آمده است، نقطه شروع مشترکی است.
- آزمایش کور زمانی است که به تستر به سادگی نام شرکتی که در حال آزمایش است ارائه می شود. این به کارشناسان امنیتی اجازه می دهد تا ببینند که حمله واقعی برنامه چگونه ممکن است در زمان واقعی انجام شود.
- تست دوسوکور: در تست دوسوکور، متخصصان امنیتی از حمله شبیه سازی شده از قبل بی اطلاع هستند. آنها مانند دنیای واقعی، زمانی برای تقویت استحکامات خود قبل از تلاش برای نقض نخواهند داشت.
- تست هدفمند – در این سناریو، تستر و کارکنان امنیتی با یکدیگر همکاری می کنند و حرکات یکدیگر را پیگیری می کنند. این یک تمرین آموزشی عالی است که به تیم امنیتی بازخورد بلادرنگ از دیدگاه یک هکر می دهد.
فایروال برنامه های وب و تست نفوذ
تست نفوذ و WAF دو تکنیک امنیتی جداگانه اما مکمل هستند. تستر احتمالاً از دادههای WAF، مانند گزارشها، برای یافتن و بهرهبرداری از مناطق ضعیف برنامه در بسیاری از انواع آزمایش قلم (به استثنای تستهای کور و دوسوکور) استفاده میکند.
به نوبه خود، داده های تست قلم می تواند به مدیران WAF کمک کند. پس از اتمام یک آزمایش، تنظیمات WAF را می توان برای محافظت در برابر نقص های شناسایی شده در طول آزمایش تغییر داد.
در نهایت، آزمایش قلم برخی از الزامات انطباق روشهای ممیزی امنیتی، مانند PCI DSS و SOC 2 را برآورده میکند. برخی از الزامات، مانند PCI-DSS 6.6، تنها در صورت استفاده از یک WAF تأیید شده قابل برآورده هستند. با این حال، با توجه به مزایای ذکر شده و پتانسیل تغییر تنظیمات WAF، این امر باعث نمیشود که تست قلم کمتر مفید باشد.
اهمیت تست امنیت وب چیست؟
هدف از تست امنیت وب شناسایی نقص های امنیتی در برنامه های کاربردی وب و راه اندازی آنها است. لایه برنامه هدف اصلی است (یعنی آنچه در پروتکل HTTP اجرا می شود). ارسال اشکال مختلف ورودی به یک برنامه کاربردی وب برای ایجاد مشکلات و وادار کردن سیستم به پاسخ غیرمنتظره، یک رویکرد رایج برای آزمایش امنیت آن است. این "تست های منفی" به دنبال این هستند که ببینند آیا سیستم کاری را انجام می دهد که در نظر گرفته نشده است.
همچنین بسیار مهم است که بدانیم تست امنیت وب به چیزی بیش از تأیید ویژگی های امنیتی برنامه (مانند تأیید اعتبار و مجوز) نیاز دارد. همچنین بسیار مهم است که اطمینان حاصل شود که سایر ویژگی ها به طور ایمن به کار گرفته می شوند (مثلاً منطق تجاری و استفاده از اعتبارسنجی ورودی و کدگذاری خروجی مناسب). هدف اطمینان از ایمن بودن عملکردهای برنامه وب است.
انواع مختلفی از ارزیابی های امنیتی چیست؟
- تست امنیت برنامه پویا (DAST). این تست امنیتی برنامه خودکار برای برنامههای کم خطر و داخلی مناسب است که باید الزامات امنیتی نظارتی را برآورده کنند. ترکیب DAST با برخی تستهای امنیتی آنلاین دستی برای آسیبپذیریهای رایج، بهترین استراتژی برای برنامههای با ریسک متوسط و برنامههای کاربردی مهم است که تغییرات جزئی دارند.
- بررسی امنیتی برای برنامه های استاتیک (SAST). این استراتژی امنیتی برنامه شامل هر دو روش تست خودکار و دستی است. این برای شناسایی اشکالات بدون نیاز به اجرای برنامه ها در یک محیط زنده ایده آل است. همچنین به مهندسان این امکان را می دهد که کد منبع را برای شناسایی و رفع نقص های امنیتی نرم افزار به روشی سیستماتیک اسکن کنند.
- آزمون نفوذ این تست امنیت برنامه دستی برای برنامههای ضروری، بهویژه برنامههایی که دستخوش تغییرات قابل توجهی هستند، ایدهآل است. برای یافتن سناریوهای حمله پیشرفته، ارزیابی از منطق تجاری و آزمایش مبتنی بر دشمن استفاده می کند.
- محافظت از خود برنامه در زمان اجرا (RASP). این روش امنیتی رو به رشد برنامه شامل انواع تکنیکهای فناوری برای ابزارسازی یک برنامه کاربردی میشود، به طوری که ممکن است تهدیدها در زمان واقعی مشاهده شوند و امیدواریم از آنها جلوگیری شود.
تست امنیت اپلیکیشن چه نقشی در کاهش ریسک شرکت دارد؟
اکثر حملات به برنامه های وب عبارتند از:
- تزریق SQL
- XSS (اسکریپت بین سایتی)
- اجرای فرمان از راه دور
- حمله پیمایش مسیر
- دسترسی محدود به محتوا
- حساب های کاربری به خطر افتاده
- نصب کدهای مخرب
- درآمد فروش از دست رفته
- اعتماد مشتریان از بین می رود
- صدمه زدن به شهرت برند
- و بسیاری از حملات دیگر
در محیط اینترنت امروزی، یک برنامه وب ممکن است توسط چالش های مختلف آسیب ببیند. نمودار بالا تعدادی از متداول ترین حملات انجام شده توسط مهاجمان را نشان می دهد که هر یک می تواند آسیب قابل توجهی به یک برنامه کاربردی یا کل تجارت وارد کند. دانستن بسیاری از حملاتی که یک برنامه را آسیب پذیر می کند، و همچنین نتایج احتمالی یک حمله، به شرکت اجازه می دهد تا آسیب پذیری ها را زودتر برطرف کند و به طور موثر آنها را آزمایش کند.
کنترلهای کاهشدهنده را میتوان در مراحل اولیه SDLC ایجاد کرد تا با شناسایی علت اصلی آسیبپذیری، از هر گونه مشکلی جلوگیری شود. در طول تست امنیت برنامه های کاربردی وب، دانش نحوه عملکرد این تهدیدها نیز می تواند برای هدف قرار دادن مکان های شناخته شده مورد علاقه استفاده شود.
تشخیص تأثیر یک حمله نیز برای مدیریت ریسک شرکت مهم است، زیرا تأثیرات یک حمله موفق ممکن است برای تعیین شدت آسیبپذیری کلی مورد استفاده قرار گیرد. اگر آسیبپذیریها در طول یک آزمایش امنیتی کشف شوند، تعیین شدت آنها به شرکت اجازه میدهد تا تلاشهای اصلاحی را به طور مؤثرتری اولویتبندی کند. برای کاهش ریسک برای شرکت، با مسائل جدی شروع کنید و به سمت مواردی که تأثیر کمتری دارند، ادامه دهید.
قبل از شناسایی یک مشکل، ارزیابی تأثیر احتمالی هر برنامه در کتابخانه برنامه های کاربردی شرکت به شما کمک می کند تا تست امنیت برنامه را در اولویت قرار دهید. تست امنیتی Wenb را می توان برنامه ریزی کرد تا ابتدا برنامه های کاربردی مهم شرکت را هدف قرار دهد، با آزمایش های هدفمند تر برای کاهش خطر در برابر تجارت. با یک لیست مشخص از برنامههای کاربردی پرمخاطب، میتوان آزمایش امنیتی wenb را برای هدف قرار دادن برنامههای کاربردی حیاتی شرکت برنامهریزی کرد، با آزمایشهای هدفمندتر برای کاهش خطر در برابر تجارت.
در طول تست امنیت اپلیکیشن تحت وب، چه ویژگی هایی باید بررسی شود؟
در طول تست امنیت برنامه های کاربردی وب، لیست غیر جامع ویژگی های زیر را در نظر بگیرید. اجرای ناکارآمد هر یک می تواند منجر به ضعف هایی شود و شرکت را در معرض خطر قرار دهد.
- پیکربندی برنامه و سرور. تنظیمات رمزگذاری/رمزگذاری، تنظیمات سرور وب و غیره همگی نمونه هایی از نقص های احتمالی هستند.
- اعتبارسنجی ورودی و رسیدگی به خطا پردازش ضعیف ورودی و خروجی منجر به تزریق SQL، برنامهنویسی متقابل سایت (XSS) و سایر مشکلات تزریق معمولی میشود.
- احراز هویت و نگهداری جلسات. آسیب پذیری هایی که می تواند منجر به جعل هویت کاربر شود. قدرت اعتبار و حفاظت نیز باید در نظر گرفته شود.
- مجوز. ظرفیت برنامه برای محافظت در برابر افزایش امتیازات عمودی و افقی در حال آزمایش است.
- منطق در تجارت اکثر برنامه هایی که عملکرد تجاری را ارائه می دهند به این موارد متکی هستند.
- منطق در پایان مشتری. این نوع ویژگی با صفحات وب مدرن و با جاوا اسکریپت سنگین و همچنین صفحات وب با استفاده از انواع دیگر فناوری های سمت مشتری (مانند Silverlight، Flash، اپلت های جاوا) رایج تر می شود.
برای آشنایی کامل با برنامه درسی گواهینامه می توانید جدول زیر را گسترش داده و تجزیه و تحلیل کنید.
برنامه درسی گواهینامه تست نفوذ برنامه های کاربردی وب EITC/IS/WAPT به مواد آموزشی با دسترسی آزاد در فرم ویدیویی ارجاع می دهد. فرآیند یادگیری به یک ساختار گام به گام (برنامه ها -> درس ها -> موضوعات) تقسیم می شود که بخش های برنامه درسی مربوطه را پوشش می دهد. مشاوره نامحدود با کارشناسان حوزه نیز ارائه می شود.
برای جزئیات بیشتر در مورد روش صدور گواهینامه بررسی کنید چگونه کار می کند.
دانلود کامل مطالب آماده سازی خودآموز آفلاین برای برنامه تست نفوذ برنامه های کاربردی وب EITC/IS/WAPT در یک فایل PDF
مواد آماده سازی EITC/IS/WAPT – نسخه استاندارد
مواد مقدماتی EITC/IS/WAPT – نسخه توسعه یافته با سوالات بررسی