تست نفوذ سایت چیست؟ — آموزش به زبان ساده
تست نفوذ به سایت یکی از بخشهای مهم در حوزه امنیت شبکه به حساب میآید. در سیستمها و مخصوصاً در سایتهای مختلف دائماً روشهای بسیاری ظهور پیدا میکنند. با توجه به تعدد روشهای نفوذ در سایت، در مقاله «تست نفوذ سایت چیست»، یک راهنمای جامع از انواع روشهای تست نفوذ سایت ارائه شده است. در این راهنما، مراحل انجام تست نفوذ سایت و روش عملکرد آن به وسیله نرم افزارها و ابزارهای گوناگون مورد بررسی قرار گرفته است. برای آشنایی با مفهوم تست نفوذ سایت و نرم افزارهای گوناگون رایگان و غیر رایگان آن، مطالعه این مقاله پیشنهاد میشود.
تست نفوذ چیست؟
تست نفوذ (Penetration Testing | Pen Test)، یک حمله سایبری شبیهسازی شده علیه یک سیستم کامپیوتری برای بررسی آسیب پذیریهای قابل بهره برداری است. در زمینه امنیت برنامههای کاربردی تحت وب، تست نفوذ معمولاً برای تقویت فایروال برنامه وب (Web Application Firewall | WAF) استفاده میشود. تست نفوذ میتواند شامل تلاش برای نقض هر تعداد از سیستمهای کاربردی، برای مثال رابطهای پروتکل کاربردی (Application Protocol Interfaces | API) و سرورهای «Frontend» و «Backend» جهت کشف آسیب پذیریها باشند؛ مانند ورودیهای پالایش نشده که مستعد حملات تزریق کدهای دیگر هستند. روشهای ارائه شده توسط تست نفوذ را میتوان برای تنظیم دقیق خط مشیهای امنیتی WAF و اصلاح آسیب پذیریهای شناسایی شده استفاده کرد.
تست نفوذ یک حمله شبیهسازی شده مجاز است که بر روی یک سیستم کامپیوتری برای ارزیابی امنیت آن انجام میشود. متخصصین تست نفوذ از ابزارها، تکنیکها و فرآیندهای مشابه مهاجمان برای یافتن و نشان دادن تأثیرات تجاری ضعیف در سیستمها استفاده میکنند. تستهای نفوذ معمولاً انواع مختلفی از حملات را شبیهسازی میکنند که میتوانند کسبوکار مورد نظر را تهدید کنند. یک تست نفوذ ممکن است بررسی کند که آیا سیستم به اندازه کافی قوی است تا در برابر حملات در موقعیتهای احراز هویت شده و احراز هویت نشده و همچنین طیف وسیعی از نقشهای سیستم مقاومت کند. تست نفوذ با بررسیهای مناسب میتواند به هر قسمتی از سیستم دسترسی پیدا کند که نیاز به ارزیابی دارد. در بخش بعدی مقاله «تست نفوذ سایت چیست» به بررسی مزایای تست نفوذ پرداخته شده است.
مزایای تست نفوذ
در حالت ایده آل، سازمان از ابتدا نرم افزار و سیستمهای خود را با هدف از بین بردن نقصهای امنیتی جدی طراحی کرده است. تست نفوذ با بینشی نشان میدهد که سیستمها و وب سایتها چقدر به هدف مورد نظر جهت داشتن امنیت بالا نزدیکاند.
تست نفوذ فعالیتهای امنیتی زیر را پشتیبانی میکند:
- پیدا کردن ضعفها در سیستمها
- تعیین نیرومندی کنترلها
- پشتیبانی از انطباق با قوانین حریم خصوصی و امنیت دادهها مانند قوانین PCI DSS ،HIPAA و GDPR
- ارائه نمونههای کیفی و کمی از وضعیت امنیتی فعلی و اولویتهای بودجه برای مدیریت سیستمها
در دو بخش فوق، اطلاعاتی از مفاهیم تست نفوذ برای درک بهتر این موضوع ارائه شدند، در قسمت بعدی به مبحث اصلی مقاله یعنی همان تست نفوذ سایت پرداخته خواهد شد.
تست نفوذ سایت چیست ؟
با استفاده از برخی از روشهایی که در آسیب زدن به سایتها وجود دارند، مانند روش حمله تزریق پایگاه داده SQL یا همان «SQL Injection»، حملات تزریق کد یا اسکریپت (Cross-Site Scripting | XSS) و جعل درخواست میان سایتی (Cross-Site Request Forgery | CSRF) مهاجمان سایبری میتوانند به راحتی از سایت بهره برداری کنند. به وسیله این روشها مهاجمان توانایی این را پیدا میکنند که دادههای حساس موجود را بدزدند و یا به طور کامل کنترل سایت را در دست بگیرند. برای جلوگیری از این مشکلات، بهتر است اقدامات پیشگیرانهای صورت گیرد، مانند تست نفوذ سایت برای شناسایی و رفع آسیب پذیریهای سایت قبل از اینکه مهاجمان سایبری از آن سوء استفاده کنند.
تست نفوذ یک حمله شبیهسازی شده به سبک هکرها به یک برنامه کاربردی است که هدف آن اندازهگیری اهمیت آسیب پذیریهای موجود است. این موضوع به این معناست که تست نفوذ بیشتر بر روی نحوه استفاده از هر یک از این آسیب پذیریها تمرکز دارد، برخلاف ارزیابی آسیب پذیری (Vulnerability Assessment)، که صرفاً تمام آسیب پذیریهای موجود در وبسایت شما را شناسایی و فهرست میکند.
مثالی برای تست نفوذ سایت
برای مثال، در نظر بگیرید که یک دزد قصد دارد وارد منزل شود، بنابراین، برای جلوگیری از ورود دزد به خانه باید یک سری اقدامات امنیتی انجام گیرد. در این مثال، ارزیابی آسیب پذیری به این معنی است که از بسته بودن همه درها و پنجرهها اطمینان حاصل شود و تست نفوذ به معنی بررسی بالا بودن قدرت و یا ضعیف بودن درها و پنجرهها است. پس اگر تست نفوذ انجام شود، صاحب خانه مخصوصاً زمانی که خواب است و یا در منزل نیست، اطمینان دارد که اگر دزدی قصد ورود به خانه را داشته باشد هیچ راه ورودی نخواهد یافت و صاحب خانه میتواند در آرامش بخوابد و از منزل خارج شود.
تفاوت بین ارزیابی آسیب پذیریها و تست نفوذ
اساساً میتوان گفت که ارزیابی آسیب پذیری یکی از مراحل اولیه کل فرآیند تست نفوذ است. در حالی که، تست نفوذ از یافتهها (فهرست آسیب پذیریها) استفاده میکند و از آنها برای تعیین میزان خطر آسیب پذیری استفاده میکند. ارزیابی آسیب پذیریها هم میتواند به صورت خودکار و هم به صورت دستی انجام شود.
بر خلاف آن، تست نفوذ به صورت کلی یک فرآیند دستی است که به وسیله مهندسین امنیت با تجربه انجام میشود. ارزیابی آسیب پذیریها و تست نفوذ (Vulnerability Assessment & Penetration Testing | VAPT) تقریباً وظایفی برای یک مرحله هستند، اما کاملا یکسان نیستند. در گذشته، به طور اشتباه این دو وظیفه به جای هم استفاده میشدند. این سردرگمی باعث شده بود که مدیران وب سایت در زمانی که واقعاً به تست نفوذ نیاز است، درخواست ارزیابی آسیب پذیری کنند و حتی ممکن بود برعکس این موضوع نیز اتفاق بیفتد. در ادامه این مقاله به بررسی دقیقتر تست نفوذ سایت پرداخته شده است و در بخش بعدی به این سوال که چرا تست نفوذ سایت نیاز است پاسخ داده شده است.
چرا نیاز به تست نفوذ سایت است ؟
شناسایی حفرههای امنیتی سایت بسیار مهم است تا در مشکلات و حملاتی که ممکن است ایجاد شوند، مدیران سایت غافلگیر نشوند. استفاده از روشهای «VAPT» این امکان را میدهد تا مشکلات احتمالی با مدیریت ریسک بهتر پیشبینی شوند. کسانی که سایت کوچکی دارند همیشه به این موضوع فکر میکنند که آیا نیاز هست آنها هم از روشهای تست نفوذ سایت استفاده کنند؟ در واقع هر سایتی با هر اندازه و گستردگی نیاز به انجام بررسیهای تست نفوذ دارد، طبق تحقیقات انجام شده، ۶۰ درصد سایتهایی که مورد حملات سایبری قرار میگیرند، جزء سایتها و کسب و کارهای کوچک به حساب میآیند.
تست نفوذ سایت چگونه میتواند برای سایتهای مختلف مفید واقع شود؟
به طور خلاصه، تست نفوذ وب سایت، میتواند با روشهای زیر به مدیران و صاحبان سایتها کمک کند:
- تست نفوذ سایت برای شناسایی و رفع نقصهای امنیتی سایت استفاده میشود.
- این روش یک نمای کلی را از ادغامهای پیکربندیهای پیادهسازی شده نادرست در یک سایت به مدیر آن ارائه میدهد.
- وش تست نفوذ از سناریو حملات واقعی تقلید میکند که این موضوع میتواند منجر به کاهش خطرات احتمالی شود.
- تست نفوذ سایت میتواند در دستیابی به نیازمندیهای انطباق خاص (Certain Compliance Requirements) مانند GDPR ،ISO 27001 ،PCI-DSS ،HIPAA و موارد دیگر کمک کند.
- روش تست نفوذ سایت، این امکان را میدهد تا آسیب پذیریهای ممکن در سایت شناسایی شوند.
- این روش میتواند سایت را از عواقب قانونی و مجازاتهای سنگین تحت سیاستهای امنیت داده نجات دهد.
- تست نفوذ سایت، اعضای تیم امنیت را برای مقابله با حملات سایبری واقعی، آماده میکند.
در بخش بعدی مقاله «تست نفوذ سایت چیست» به متدولوژی تست نفوذ سایت پرداخته میشود.
روش شناسی تست نفوذ سایت چیست ؟
تست نفوذ سایت اساساً در سه مرحله انجام میشود:
- جمعآوری اطلاعات (Information Gathering): در جمعآوری اطلاعات، متخصص تست نفوذ سایت سعی میکند اثر انگشت (Fingerprint) را در قسمت بَکاند (Backend) وبسایت پیدا کند. «Backend» معمولاً شامل سیستم عامل سرور (Server OS)، نسخه سیستم مدیریت محتوا (Content Management System | CMS) سایت و سایر موارد میشود.
- کشف (Discovery): مرحله دوم جایی است که ابزارهای خودکار برای کشف هر گونه نقص امنیتی شناخته شده یا شناسه آسیب پذیری و تهدیدات رایج (Common Vulnerabilities and Exposures | CVE) در خدمات مربوطه مستقر میشوند. در اینجا، یک اسکن امنیتی دستی توسط مهندسان امنیت سایت و متخصصین تست نفوذ سایت نیز برای کشف آسیب پذیریهای منطقی کسبوکار مورد نیاز است، زیرا برخی از این نوع نقصها که اغلب توسط اسکن انجام استخراج میشدند، با ابزارهای خودکار نادیده گرفته میشدند.
- بهره برداری (Exploitation): در مرحله نهایی یعنی مرحله بهره برداری، هدف استفاده از هر گونه آسیب پذیری کشف شده در مرحله دوم است. بهره برداری اغلب به صورت دستی برای از بین بردن موارد مثبت کاذب (False Positives) و نیز برای استخراج اطلاعات از هدف و حفظ پایداری استفاده میشوند.
جمعآوری اطلاعات در تست نفوذ سایت
همانطور که پیشتر اشاره شد، در این مرحله و به عنوان اولین مرحله، جمعآوری اطلاعات توسط متخصصین تست نفوذ سایت به وسیله پیدا کردن «Fingerprint» در «Backend» وب سایت مانند سیستم عامل سرور، نسخه سیستم مدیریت محتوا (CMS) سایت و سایر موارد انجام میشود. در ادامه این بخش چند نمونه از ابزارهایی بررسی و ارائه شدهاند که به وسیله آنها میتوان به جمعآوری اطلاعات پرداخت.
ابزار Network Mapper تست نفوذ سایت
«Network Mapper» که به اختصار به عنوان «Nmap» نیز شناخته میشود، به مدت طولانی به عنوان ابزار اصلی و مورد علاقه متخصصین تست نفوذ سایت برای بازیابی آسیب پذیری به حساب میآمد و بر اساس امکاناتی که دارد میتوان متوجه شد که دلیل مهمی برای انتخاب این ابزار وجود دارد. توانایی های Nmap عبارتند از:
- با استفاده از «Network Mapper» میتوان پورتهای نفوذ سایت را از سرور استخراج کرد.
- به وسیله ابزار «Nmap» عملیات پیدا کردن اثر انگشت (پیدا کردن بهترین نشانه) روی سیستم عامل سرور انجام میگیرد.
- در این ابزار دور زدن (Bypass) فایروال (Firewall) برای پیدا کردن و رسیدن به اهداف مخفیانه انجام میگیرد.
- کشف خدمات در حال اجرا در پورتهای نفوذ سایت در ابزار «Nmap» انجام میشود.
- اسکریپتهای موتور این ابزار (Nmap Script Engine | NSE) میتوانند وظایفی از جمله تشخیص آسیب پذیریهای خاص را خودکار کنند.
برای مشاهده گزینههای بیشتر، با فعال کردن کالی لینوکس (Kali Linux) به وسیله ترمینال خط فرمان و تایپ کردن «Nmap» میتوان اطلاعات بیشتری به دست آورد. همچنین، کاربران میتوانند «Zenmap» را نیز امتحان کنند که نسخه رابط کاربری گرافیکی (Graphical User Interface | GUI) «Nmap» به حساب میآید. «کالی لینوکس» (Kali Linux) یکی از برترین پکیجهای امنیتی متن باز برای یک هکر است و شامل مجموعهای از ابزارهای مختلف میشود.
- مطالب پیشنهادی برای مطالعه:
ابزار Harvester تست نفوذ سایت
در حالی که ابزارهایی مانند «NMAP» جمعآوری اطلاعات جعبه سیاه (Black Box) را انجام میدهند، ابزارهای خاصی مانند «Harvester» وجود دارند که اطلاعات منبع باز اوسینت (Open Source Intelligence | OSINT) را جمعآوری میکنند.
اوسینت مجموعهای از اطلاعات موجود در حوزه عمومی درباره هدف اصلی است، مانند اطلاعات ورود کاربر «Whois» (دامنههای ثبت شده توسط هر کاربر) و ایمیلهای شرکت که این اطلاعات هنگام تست نفوذ سایت مفید واقع میشوند. در سایتهایی مانند «Google» ،«Whois» و سایر موارد از «OSINT» استفاده شده است. بنابراین، ابزار «Harvester» همه منابع را جمعآوری میکند و یک راه حل یک مرحلهای ارائه میدهد.
کشف در تست نفوذ سایت
کشف (Discovery) مرحلهای است که در آن ابزارهای خودکار برای کشف هرگونه نقص امنیتی شناخته شده و یا شناسه آسیب پذیری و تهدیدات رایج (Common Vulnerabilities and Exposures | CVE) در روند تست نفوذ سایت انجام میگیرد. در بخشهای قبلی نیز به آن پرداخته شده بود.
همچنین برای اطمینان از استخراج همه آسیب پذیریها پس از انجام تستهای خودکار، متخصصین تست نفوذ سایت، به صورت دستی نیز کشف در تست نفوذ سایت را مورد بررسی قرار میدهند. در ادامه این بخش از مقاله «تست نفوذ سایت چیست» به بررسی چند نمونه از ابزارهایی پرداخته شده است که توسط آنها میتوان به صورت خودکار آسیب پذیریها و تهدیدات موجود در سایت را استخراج کرد.
ابزار Nikto برای تست نفوذ سایت
Nikto یا نیکتو ابزاری است که به طور خاص جهت بررسی و اسکن آسیب پذیریهای سایت برای حدود 270 نوع سرور طراحی شده است. همچنین ابزار Nikto میتواند 6700 سرور را برای پیکربندی نادرست به صورت گسترده جستجو کند. ابزار Nikto محدودیتهایی هم دارد از جمله این محدودیتها میتوان نویزدار بودن زیاد، تولید موارد مثبت کاذب در بعضی موارد و ضعیف بودن تکنیکهای در نظر نگرفتن فایروال را نام برد.
با این حال، ابزار نیکتو هنگامی که با یک ابزار دیگر کالی لینوکس برای فرار از سیستم تشخیص دخالت (Intrusion Detection System | IDS) ترکیب شود، میتواند موثر باشد. با این حال، قبل از استفاده ابزار نیکتو برای تست نفوذ سایت، از خاموش بودن فایروال و سیستم تشخیص دخالت باید اطمینان حاصل کرد. برای استفاده از ابزار «Nikto» در تست نفوذ سایت، در ترمینال کالی لینوکس از دستور «'nikto -h 'your-target» استفاده میشود.
ابزار Burp Suite برای تست نفوذ سایت
ابزار «Burp Suite» یا همان برپ سوییت یک فریم ورک تست نفوذ سایت در مرحله دوم به حساب میآید که به وسیله برنامه نویسی جاوا (Java) ساخته شده است. ابزار برپ سوییت توسط یک پروکسی (Proxy) داخلی ایجاد شده است که ترافیک بین مرورگر و هدف وبسایت مورد نظر را رهگیری میکند. سپس میتوان از این پروکسی برای دستکاری درخواستها یا برای کشف آسیب پذیریها (Fuzzing) در یک وبسایت استفاده کرد. در حالی که دستکاری درخواستها میتوانند به یافتن آسیب پذیریها کمک کنند، Fuzzing میتواند پیامهای خطا و رفتار برنامه را نیز مشخص کند. این ابزار تقریباً به یک استاندارد صنعتی تبدیل شده و برای تست نفوذ سایت ضروری است.
ابزار Open Vas برای تست نفوذ سایت
ابزار اوپن واس (Open Vulnerability Assessment System | OpenVas) یک اسکنر برای بررسی و تشخیص آسیب پذیری است که میتواند یک اسکن کامل آسیب پذیری زیرساخت شبکه را انجام دهد. میتوان ابزار «OpenVas» را بر اساس نیاز مدیر سایت به راحتی مقیاسبندی کرد و طیف گستردهای از تستها را به وسیله آن برای تست نفوذ سایت انجام داد. این ابزار توسط شرکت «Greenbone» ایجاد شده و دارای دو نسخه است که نسخه پولی آن «Greenbone Security Feed» نامیده میشود و نسخه رایگان آن «Greenbone Community Feed» نام دارد. تفاوت اصلی بین هر دو نسخه در نوع اسکنر آسیب پذیری شبکه (Network Vulnerability Scanner | NVT) آنها است.
بهره برداری در تست نفوذ سایت
طبق تعریفی که در بخشهای قبلی برای توضیح بهره برداری ارائه شده بود، در مرحله سوم و نهایی تست نفوذ سایت، هدف بهره برداری و استفاده از هر گونه آسیب پذیری کشف شده در مرحله دوم برای تست نفوذ سایت است. این بهره برداریها معمولاً به صورت دستی برای حذف موارد مثبت کاذب، استخراج اطلاعات از هدفهای ایجاد شده در مراحل قبل و همچنین حفظ پایداری استفاده میشوند. در ادامه این بخش از مقاله «تست نفوذ سایت چیست» نگاهی به چند ابزار بهره برداری تست نفوذ سایت شده است.
ابزار Metasploit برای تست نفوذ سایت
فریم ورک متاسپلویت «Metasploit» را میتوان به عنوان یک استاندارد صنعتی برای بهره برداری از هدف در تست نفوذ سایت به حساب آورد. فریم ورک متاسپلویت همچنین میتواند هک «Recon» را با استفاده از ابزار «Nmap» انجام دهد. اگر قصد یافتن آسیب پذیریها وجود داشته باشد، انبوهی از رخنهها برای انتخاب وجود دارند پس باید رخنه مورد نظر همراه با یک نرخ (Payload) مناسب انتخاب و در نهایت مورد بهره برداری قرار گیرد.
«Metasploit» به عنوان ابزار بهره برداری انتخاب بسیار خوبی در تست نفوذ سایت است. تقریباً تمام مفاهیم اثبات هک و نقصهای معروف زیرو دِی (Zero Day) به وسیله ماژولهای ابزار «Metasploit» به روز میشوند و مورد بررسی قرار میگیرند. برای راهاندازی فریم ورک «Metasploit» در ترمینال کالی لینوکس، دستور «msfconsole» نوشته میشود. در تصویر زیر «Metasploit» متعلق به «Rapid7» است و با رنگ قرمز نوشته شده است.
ابزار SQLMAP برای تست نفوذ سایت
«Sqlmap» راه حلی تک مرحلهای برای یافتن هر گونه آسیب پذیری از روش تزریق دستورات پایگاه داده SQL در سایت مورد نظر و سوء استفاده از آنها است. «Sqlmap» میتواند پارامترهای هدف در URL و حتی فیلدهای داده را در صفحه برای یافتن نقاط تزریق دستورات پایگاه داده SQL مخدوش (Fuzz) کند.
در نهایت، ابزار «Sqlmap» میتواند از آنها استفاده کند تا یک پوسته شبه SQL یا پوسته «cmd» را از ماشین هدف ارائه دهد. برای بهره برداری و بررسی بیشتر این ابزار کاربردی میتوان از دستور «sqlmap -h» در ترمینال کالی لینوکس استفاده کرد.
ابزار Xsser برای تست نفوذ سایت
«Xsser» یک ابزار کوچک با وزن سبک برای یافتن و بهره برداری از اشکالات حملات تزریق کد یا اسکریپت (Cross-Site Scripting | XSS) در طول تست نفوذ سایت است. اشکالات «XSS» نسبتاً رایج هستند و میتوان با این ابزار کوچک موارد زیادی را کشف کرد. برای اجرای نسخه رابط کاربری گرافیکی (GUI) ابزار «Xsser»، همانطور که در تصویر زیر قابل مشاهده است، در ترمینال کالی لینوکس دستور «xsser –gtk» وارد میشود.
در این بخش و بخشهای پیشین مقاله «تست نفوذ سایت چیست» مراحل انجام تست نفوذ سایت همراه با مثالهایی از ابزارهای مرتبط با آنها مورد بررسی قرار گرفتند، اکنون در بخش بعدی به بررسی دستیابی به هدف نهایی و انطباق آن با هدف تعیین شده، پرداخته شده است.
تست نفوذ سایت : بررسی دستیابی به هدف و انطباق
سایتهای تجارت الکترونیک امروزی اغلب با اطلاعات پرداخت کاربران که بسیار حساس هستند در عملیات روزانه خود سر و کار دارند. برای محافظت از این دادههای حساس مشتریها، باید یک روش امنیتی استاندارد در هر سایت وجود داشته باشد. در این بخش به بررسی روشهای امنیتی استاندارد برای حفاظت از اطلاعات سایتها پرداخته شده است.
استاندارد امنیت داده صنعت کارت پرداخت (PCI-DSS)
صنعت کارت پرداخت (Payment Card Industry | PCI)، محافظت از دادههای کاربران در سایتهای تجارت الکترونیکی را تضمین میکند. تقریباً تمام سازمانهایی که با کارتهای اعتباری سر و کار دارند برای ایمن کردن دادههای پرداختی و تراکنشها با «PCI» مشارکت دارند. بنابراین، استاندارد امنیت داده صنعت پرداخت کارت (Payment Card Industry Data Security Standard | PCI-DSS) مجموعهای از دوازده پروتکل امنیتی است که هر کسب و کاری که با اطلاعات کارت اعتباری سر و کار دارد باید از آن پیروی کند.
این پروتکلها به وسیله شورای استاندارد امنیتی «PCI» توسعه پیدا میکنند. در صورت عدم رعایت این پروتکل ها، PCI ممکن است برای سازمان جریمهای اعمال کند یا امتیازات پردازش کارت اعتباری آن سازمان خاص را خاتمه دهد. ۱۲ نیازمندی لازم برای سازگاری با استاندارد امنیت داده صنعت پرداخت کارت به شرح زیر است:
امنیت شبکهها و سیستمها
- نیازمندی اول: برای محافظت از دادههای کاربران دارای کارت اعتباری، فایروال برنامههای وب (Web Application Firewall | WAF) نصب میشود.
- نیازمندی دوم: رمز عبورهای پیشفرض و رمزهای عبور اختصاصی آسیب پذیر (Hard-Coded) که توسط فروشنده پیشنهاد شدهاند، نباید مورد استفاده قرار گیرند.
حفاظت از دادهها
- نیازمندی سوم: باید از دادههای کارتهای اعتباری ذخیره شده در برابر حملات سایبری محافظت شود.
- نیازمندی چهارم: انتقال دادههای کارتهای اعتباری باید از طریق شبکههای باز (Open Network) رمزگذاری شوند.
مدیریت آسیب پذیری منظم
- نیازمندی پنجم: آنتی ویروس همیشه باید به روز باشد و از مکانیسم مناسب در برابر بدافزار (Malware) اطمینان حاصل شود.
- نیازمندی ششم: توسعه برنامهها و سیستمهای امن باید به خوبی نگهداری شوند.
اقدامات کنترل دسترسی مناسب
- نیازمندی هفتم: با اجرای کنترل دسترسی مبتنی بر نقش، دسترسی به دادههای کارتهای اعتباری محدود میشوند.
- نیازمندی هشتم: شناسایی و احراز هویت دسترسی به اجزای سیستم باید انجام شود.
- نیازمندی نهم: محدودیتهایی برای دسترسی فیزیکی به دادههای کارتهای اعتباری اِعمال میشوند.
نظارت و تست شبکه
- نیازمندی دهم: همه دسترسیهای منابع شبکه و دادههای کارتهای اعتباری به طور منظم نظارت میشوند.
- نیازمندی یازدهم: تستهای مکرر روی تمام سیستمها و فرآیندهای امنیتی انجام میشوند.
سیاست امنیت اطلاعات
- نیازمندی دوازدهم: سیاستی پیادهسازی میشود که همه اجزای امنیتی اطلاعات را تحت پوشش قرار میدهد.
در این بخش ۱۲ مورد مهم استاندارد امنیت داده صنعت پرداخت کارت (PCI-DSS) ارائه شد و بخش بعدی مقاله «تست نفوذ سایت چیست» به چک لیست تست نفوذ سایت اختصاص داده شده است.
چک لیست تست نفوذ سایت چیست ؟
در این قسمت، مواردی که برای یک تست نفوذ سایت با کیفیت و کاربردی باید مورد بررسی قرار بگیرند به صورت موردی شرح داده شدهاند.
جمعآوری اطلاعات
- اسکن و بررسی پورتها
- بررسی سرور تحت وب، نسخه سیستم مدیریت محتوا (CMS)، انگشتنگاری سیستم عامل (OS Fingerprinting)
- متُدهای پروتکل انتقال ابرمتن (Hypertext Transfer Protocol | HTTP)
- ویژگیهای کوکی (کوکی بستهای از دادهها به حساب میآید که به وسیله سرور وب سایت مربوطه به مرورگرها ارسال میشود و در صورت نیاز از مروگرهای کاربران به سرور باز خواهد گشت.)
کشف
- یافتن محتوای جایگزین مانند دایرکتوری یا فایلهای بروت-فورس (Brute Force) یا جست و جوی فراگیر
- پیدا کردن پیکربندیهای درست و نادرست پیشفرض
- کشف آسیب پذیریهای ورود به سایت (Login Fuzzing)
- مرحله تست توکنها (Token)
- تزریق: SQL ،XSS ،XML، الگوها و کامندهای سیستم عامل
- آسیب پذیری «open redirect»
- حملات LFI و RFI
- نقوص منطقی کسب و کار
- عدم پذیرش خدمات
- تست خدمات وب REST که سر نامی برای عبارت «Representational State Transfer» و SOAP که سرنامی برای عبارت «Simple Object Access Protocol» است.
اشکالات رمزگذاری
- باگ Heartbleed
- آسیب پذیری جدی پودل (Poodle)
- استریپ (Strip) پروتکل امن انتقال ابرمتن (Hypertext Transfer Protocol Secure | HTTPS)
- حمله لایهگذاری اُراکل (Oracle Padding Attack)
- رمزنگاری (Cryptography) یا پیادهسازی ضعیف
بهره برداری
- هایجکینگ مرورگر با استفاده از XSS
- برون نشست دادهها با استفاده از تزریقهای گوناگون
- دور زدن احراز هویت
- قفل شکنی آفلاین رمز عبور
- جعل درخواست میان سایتی (CSRF)
در ادامه مقاله «تست نفوذ سایت چیست» به برخی دیگر از نرم افزارهای رایگان مهم و کاربردی تست نفوذ سایت پرداخته شده است.
- مقاله پیشنهادی: پروتکل SSL چیست؟ | پروتکل HTTPS و رمزنگاری SSL — به زبان ساده
برخی دیگر از نرم افزارهای رایگان تست نفوذ سایت
در بخشهای قبلی به برخی ابزارها و نرم افزارهای رایگان و غیر رایگان تست نفوذ سایت، طبق کارکرد آنها و گروهی که در آن قرار میگیرند، به طور کامل پرداخته شد. در این بخش هدف این است که علاوه بر آن نرم افزارها، چند نرم افزار کاربردی رایگان دیگر نیز مورد بررسی قرار گیرد.
نرم افزار Intruder برای تست نفوذ سایت
نرم افزار رایگان «Intruder» یک ابزار اسکنر آسیب پذیری مبتی بر فضای ابری (Cloud) است که قبل از اینکه هکرها به آن نواقص دست پیدا کنند به یافتن نواقص سیستمها کمک میکند. با اسکن فعال تهدیدات جدید و همچنین ارائه یک سیستم تفسیر تهدید منحصر به فرد که باعث آسانتر شدن مدیریت آسیب پذیری میشود، در زمان کار صرفه جویی میکند.
نرم افزار Karkinos برای تست نفوذ سایت
نرم افزار «Karkinos» یک ابزار تست نفوذ سایت کم حجم و تاثیرگذار است که به متخصصین تست نفوذ سایت این امکان را میدهد تا بتوانند کاراکترهای سایت، متنها و فایلها را رمزگذاری و رمزگشایی کنند و همچنین دیگر تستهای امنیتی را نیز انجام میدهد. به طور کلی، نرم افزار «Karkinos» مجموعهای از ماژولهای متعدد به حساب میآید که در صورت ترکیب این ماژولها باهم، قادر است تا طیف وسیعی از آزمایشها را در یک ابزار واحد انجام دهد. به همین دلیل، برخی افراد در تست نفوذ از آن به عنوان «چاقوی ارتش سوئیس» یاد میکنند.
ویژگیهای کلیدی نرم افزار Karkinos
- رمزگذاری و رمزگشایی قالبهای استاندارد زیادی انجام میدهد.
- شکستن هشهای (Hash) همزمان با استفاده از فهرست کلمات داخلی بیش از ۱۵ میلیون رخنه یا رمز عبورهای معمولی قابل ویرایش یا جایگذاری را انجام میدهد.
- هشهای محبوبی مانند SHA1 ،SHA256 ،SHA512 و MD5 را تولید میکند.
- با سیستم عاملهای لینوکس و ویندوز سازگار است.
- با پوستههای (Shell) گوناگون تعامل دارد.
نرم افزار SUCURI برای تست نفوذ سایت
نرم افزار امنیتی «SUCURI» مسائل امنیتی سایت را از راه دور اسکن میکند و تشخیص میدهد. در منبع اصلی کد این نرم افزار لیستهای سیاه، اخطارها و بد افزارها قابل مشاهده هستند. این نرم افزار زمان اسکن سفارشی دارد و مکانیسم هشدار آن در صورت شناسایی هر گونه ایرادی به مدیر سرور اطلاع میدهد.
نرم افزار UpGuard برای تست نفوذ سایت
ابزار «UpGuard» یک پلت فرم امنیتی سایبری رایگان است که به سازماندهیهای کلی کمک میکند تا نقض دادهها، نظارت بر فروشندههای سوم شخص و ایمن کردن سایت را انجام دهند. با استفاده از رتبهبندیهای امنیتی اختصاصی، قابلیتهایی در سطح جهانی تشخیص جا به جایی غیر قانونی داده و جریانهای اصلاح قدرتمند را برای شرکتهایی در هر اندازه شناسایی و پیشگیری میکند.
نرم افزار Sn1per برای تست نفوذ سایت
نرم افزار «Sn1per» یک ابزار تست نفوذ سایت همه در یک (all-in-one) در امنیت تیمها و پژوهشگرها است. پلت فرم مدیریت سطح حمله پیوسته (Attack Surface Management | ASM) این امکان را میدهد که سطح حملات و آسیب پذیریهای برنامه کشف شوند.
نرم افزار Qualys برای تست نفوذ سایت
ابزار «Qualys»، یک اپلیکیشن اسکنر وب (Web Application Scanning | WAS) تست نفوذ سایت است که همه برنامههای کاربردی سایت را از چند هزار برنامه در یک شبکه کشف و فهرستبندی میکند. «Qualys WAS» به برنامههای کاربردی تحت وب این امکان را میدهد تا برچسبگذاری شوند و سپس در گزارشهای کنترلی استفاده شوند و دسترسی به دادههای اسکن را محدود کنند.
نرم افزار Quttera برای تست نفوذ سایت
نرم افزار «Quttera»، یک ابزار رایگان اسکن بد افزار سایتی است که توسط HTML/CSS ،WordPress ،Joomla و سایر موارد ساخته میشود. این نرم افزار یک گزارش همراه با جزئیات در مورد فایلهای مخرب، لینکهای تشخیص داده شده خارجی، موارد لیست سیاه و سایر موارد ارائه میدهد. نرم افزار «Quttera» نیاز دارد که آدرس سایت مورد نظر را در لیست اسکن خود قرار دهد. این نرم افزار همچنین دارای امکانات نظارت بر وب و حذف بدافزار در سراسر جهان است.
به این ترتیب در این مقاله سعی شد تا حد امکان به طور جامع به سوال تست نفوذ سایت چیست پاسخ داده شود و همچنین به مباحث پیرامون آن از جمله مراحل کار تست نفوذ سایت، ابزارها و نرم افزارهای رایگان آن نیز پرداخته شود.
جمعبندی
مسئلهای که در مقاله «تست نفوذ سایت چیست» به آن پرداخته شده است برای هر فردی که عملیات آنلاینی انجام میدهد، چه برای سایتی کوچک و چه شرکتها و سازمانهای بزرگ بسیار مهم و حیاتی است. علاوه بر این، تعداد زیادی ابزار در دسترس رایگان برای تست نفوذ سایت وجود دارد و برای انجام این تست در دسترس هستند.
سه مرحله مهم تست نفوذ سایت (جمعآوری اطلاعات، کشف، بهره برداری) کل فرآیند را هدایت و سازماندهی میکنند و در این مقاله به بررسی این سه مرحله همراه با مثالهایی از ابزارهای آنها پرداخته شده است.