استانداردهای امنیت وب سایت و اپلیکیشن و چک لیست امنیت
امنیت وبسایت و اپلیکیشن یکی از مهمترین بخشهای توسعه و نگهداری هر سامانه دیجیتال است. تست امنیت باعث میشود آسیبپذیریها و نقاط ضعف قبل از اینکه هکرها سوءاستفاده کنند شناسایی و برطرف شوند. این کار از نشت اطلاعات کاربران و خسارتهای مالی جلوگیری کرده و اعتماد مشتریان را افزایش میدهد. علاوه بر آن، بسیاری از استانداردها و قوانین بینالمللی مثل GDPR و PCI DSS الزام به تست امنیت دارند. در نهایت، تست امنیت به کاهش هزینههای احتمالی، حفظ اعتبار برند و استمرار خدمات کمک میکند.
استانداردها و فریمورکهای اصلی برای تست امنیت وبسایت
1. OWASP WSTG - Web Security Testing Guide
OWASP WSTG - Web Security Testing Guide یک راهنمای جامع برای تست امنیت وبسایتها و وباپلیکیشنها است. این راهنما به توسعهدهندگان و تسترها کمک میکند آسیبپذیریها را شناسایی و رفع کنند قبل از سوءاستفاده مهاجمان. WSTG شامل بخشهایی مانند جمعآوری اطلاعات، احراز هویت، مدیریت نشست، کنترل دسترسی و اعتبارسنجی ورودی است. این استاندارد برای چکلیست تست نفوذ و بررسی امنیتی قابل استفاده است. هدف اصلی آن افزایش امنیت، کاهش ریسک هک و محافظت از دادههای کاربران است.
معتبرترین راهنما برای تست امنیت وباپلیکیشنها
شامل فصلبندی کامل تستها: جمعآوری اطلاعات، پیکربندی، احراز هویت، مدیریت نشست، دسترسی، اعتبارسنجی ورودی/خروجی، منطق کسبوکار، API و …
یک مرجع عملیاتی و چکلیست کامل برای تسترهای امنیت
2. OWASP ASVS - Application Security Verification Standard
استاندارد OWASP ASVS (Application Security Verification Standard) یک چارچوب باز و جامع برای ارزیابی و تایید کنترلهای امنیتی فنی در برنامههای وب و سرویسهاست. این استاندارد مجموعهای ساختاریافته از الزامات امنیتی را در سطوح مختلف اطمینان (L1، L2، L3) ارائه میدهد تا متناسب با حساسیت و ریسک هر سامانه استفاده شود. هدف آن یکسانسازی کیفیت و عمق آزمونهای امنیتی و ارائه راهنمای عملی برای توسعهدهندگان، تستکنندگان و خریداران نرمافزار است. ASVS میتواند در تمام چرخه عمر توسعه، از طراحی تا استقرار و نگهداری، بهعنوان چکلیست امنیتی به کار رود. استفاده از آن باعث افزایش شفافیت، کاهش آسیبپذیریها و ایجاد اعتماد بیشتر به امنیت نرمافزار میشود.
استاندارد سطحبندی برای معیار پذیرش امنیتی
شامل سطوح مختلف (L1، L2، L3) بسته به حساسیت اپلیکیشن (مثلاً بانکی یا فروشگاهی)
بیشتر برای کدنویسی امن و پذیرش محصول توسط تیم توسعه و امنیت استفاده میشود
3. OWASP Top 10
OWASP Top 10 فهرستی از ۱۰ آسیبپذیری رایج و پرخطر وباپلیکیشنها است. هدف آن آگاهسازی توسعهدهندگان و تسترها درباره شایعترین تهدیدها و کاهش ریسک امنیتی است. این فهرست شامل مشکلاتی مانند Injection، XSS، Broken Authentication، Sensitive Data Exposure و Security Misconfiguration است. OWASP Top 10 به عنوان چکلیست اولیه امنیت وب برای توسعه و تست کاربرد دارد. با رعایت آن، میتوان امنیت وبسایتها و اپلیکیشنها را به شکل قابل توجهی افزایش داد.
آخرین نسخه شامل این موارد است:
Broken Access Control – ضعف در کنترل دسترسی کاربران به منابع.
Cryptographic Failures – مشکلات در رمزنگاری یا محافظت از دادهها.
Injection – تزریق کد مخرب مثل SQLi یا LDAP Injection.
Insecure Design – طراحی اولیه ناامن در معماری یا منطق برنامه.
Security Misconfiguration – پیکربندی اشتباه یا پیشفرض ناامن.
Vulnerable & Outdated Components – استفاده از کتابخانه یا نرمافزار قدیمی و آسیبپذیر.
Identification & Authentication Failures – ضعف در احراز هویت و مدیریت نشستها.
Software & Data Integrity Failures – نبود اطمینان از صحت کد و دادهها (مثل نبود امضای دیجیتال).
Server-Side Request Forgery / SSRF – امکان ارسال درخواست غیرمجاز از سمت سرور.
4. NIST SP 800-115 (Technical Guide to Information Security Testing and Assessment)
NIST SP 800-115 توسط National Institute of Standards and Technology )NIST) منتشر شده و هدف آن ارائه چارچوب و روش استاندارد برای تست امنیتی سیستمها و شبکهها است. این سند به سازمانها کمک میکند تا ضعفها و آسیبپذیریهای امنیتی را قبل از اینکه مهاجمان سوءاستفاده کنند، شناسایی و رفع کنند.
NIST SP 800-115 سه نوع تست اصلی را معرفی میکند:
Black-box testing
تستر هیچ دسترسی به اطلاعات داخلی سیستم ندارد.
مشابه حمله یک مهاجم واقعی از خارج شبکه است.
White-box testing
تستر به تمام اطلاعات داخلی سیستم، کدها و پیکربندی دسترسی دارد.
برای بررسی دقیق امنیت و شناسایی آسیبپذیریهای پنهان استفاده میشود.
Grey-box testing
ترکیبی از Black-box و White-box است.
تستر بخشی از اطلاعات داخلی را دارد تا حمله واقعی را شبیهسازی کند و ضعفها را شناسایی کند.
5. ISO/IEC 27001 + ISO/IEC 27002
ISO/IEC 27001:
استاندارد ISO/IEC 27001 چارچوبی بینالمللی برای ایجاد، پیادهسازی، نگهداری و بهبود مستمر سیستم مدیریت امنیت اطلاعات (ISMS) است. این استاندارد بر پایه رویکرد مدیریت ریسک بنا شده و به سازمانها کمک میکند تا محرمانگی، یکپارچگی و دسترسپذیری اطلاعات را در برابر تهدیدات داخلی و خارجی حفاظت کنند. الزامات آن شامل تدوین سیاستها، ارزیابی ریسک، اجرای کنترلهای امنیتی و پایش مستمر اثربخشی آنهاست. هدف اصلی، ایجاد سیستمی ساختاریافته برای پیشگیری و واکنش به رخدادهای امنیتی است. انطباق با ISO/IEC 27001 اعتماد ذینفعان را افزایش داده و ریسکهای امنیتی را به حداقل میرساند.
ISO/IEC 27002:
استاندارد ISO/IEC 27002 مجموعهای از راهنماییها و بهترینروشها برای انتخاب و پیادهسازی کنترلهای امنیت اطلاعات است که مکمل ISO/IEC 27001 محسوب میشود. این استاندارد ساختاریافته، ۱۴ حوزه کنترلی مانند سیاستهای امنیتی، امنیت فیزیکی، امنیت منابع انسانی، مدیریت دسترسی، رمزنگاری و پاسخگویی به رخدادها را پوشش میدهد. هدف آن کمک به سازمانها برای انتخاب کنترلهایی متناسب با ارزیابی ریسک و الزامات قانونی است. هر کنترل شامل هدف، توضیح و روش پیادهسازی پیشنهادی است. استفاده از ISO/IEC 27002 باعث میشود چارچوب امنیتی سازمان دقیقتر، یکپارچهتر و مطابق با استانداردهای بینالمللی عمل کند.
6.PCIDSS (برای وبسایتهای مالی/پرداخت)
PCI DSS یا Payment Card Industry Data Security Standard یک استاندارد جهانی امنیت اطلاعات است که توسط برندهای بزرگ کارت اعتباری برای حفاظت از دادههای کارت و تراکنشها ایجاد شده است. این چارچوب شامل ۱۲ الزام در ۶ حوزه اصلی مانند شبکه امن، رمزنگاری داده، کنترل دسترسی، پایش، تست و سیاستهای امنیتی است. هدف آن کاهش تقلب، جلوگیری از نشت اطلاعات و تضمین امنیت پرداختهای الکترونیک است. سازمانها بسته به حجم تراکنش، ملزم به ممیزی یا خودارزیابی منظم و اسکن امنیتی هستند. رعایت PCI DSS نهتنها الزامی قانونی در بسیاری از کشورهاست، بلکه به افزایش اعتماد مشتری و کاهش ریسک هم کمک میکند.
این استاندارد توسط صنعت کارتهای اعتباری (Visa, Mastercard, American Express و غیره) ایجاد شده است.
استانداردها و فریمورکهای اصلی برای تست امنیت اپلیکیشن
استاندارد OWASP MASVS (Mobile Application Security Verification Standard) مرجع جهانی برای تعریف الزامات امنیتی و حریم خصوصی در اپلیکیشنهای موبایل است. این چارچوب حوزههایی مانند ذخیرهسازی امن داده، رمزنگاری، احراز هویت، ارتباطات شبکهای امن، تعامل ایمن با پلتفرم، بهروزرسانی و پردازش داده، مقاومت در برابر مهندسی معکوس و کنترلهای حریم خصوصی را پوشش میدهد. MASVS به توسعهدهندگان، معماران نرمافزار و تستکنندگان کمک میکند تا امنیت را از مرحله طراحی تا انتشار بهصورت ساختاریافته و قابلسنجش پیادهسازی کنند. استفاده از آن باعث افزایش تابآوری اپلیکیشن در برابر تهدیدات و ایجاد اعتماد بیشتر کاربران میشود.
استاندارد مخصوص اپلیکیشنهای موبایل (Android/iOS)
سطحبندی امنیتی (MASVS-L1، MASVS-L2 و R)
شامل کنترلهای امنیتی برای ذخیره داده، احراز هویت، رمزنگاری، ارتباط امن، کدنویسی امن، Reverse Engineering مقاومت و …
OWASP MASTG (Mobile Application Security Testing Guide) یک راهنمای جامع و متنباز برای آزمون امنیتی و مهندسی معکوس اپلیکیشنهای موبایل است که بهعنوان مرجع عملی برای پیادهسازی و ارزیابی کنترلهای تعریفشده در OWASP MASVS عمل میکند. این سند روشهای فنی برای تست امنیتی در پلتفرمهای Android و iOS، شامل تحلیل ایستا، تحلیل پویا، بررسی کد، و تکنیکهای مهندسی معکوس را پوشش میدهد. هدف آن ارائه رویکردی ساختاریافته و قابلتکرار برای شناسایی آسیبپذیریها و ارزیابی مقاومت اپلیکیشن در برابر تهدیدات است. استفاده از MASTG باعث میشود تیمهای توسعه و امنیت بتوانند آزمونهای دقیقتر، استانداردتر و موثرترین انجام دهند.
مکمل MASVS
راهنمای عملی برای تست امنیت موبایل
شامل روشها، ابزارها و سناریوهای تست (Black-box و White-box)
استاندارد عمومی برای تمام اپلیکیشنها (وب، API، موبایل، دسکتاپ)
تمرکز روی کنترلهای امنیتی مثل: احراز هویت، نشست، مدیریت ورودی/خروجی، رمزنگاری، لاگگیری و …
در پروژههایی که اپلیکیشن سمت کلاینت (Mobile/Desktop) با API بکاند کار میکند، خیلی کاربردی است
4. OWASP Top 10 (Web & Mobile)
برای وب و موبایل (OWASP Mobile Top 10) لیست رایجترین آسیبپذیریها
بیشتر برای اولویتبندی ریسکها و تمرکز روی نقاط حساس استفاده میشود
5. NIST SP 800-163 (Vetting Mobile Applications)
استاندارد NIST SP 800-163 با عنوان Vetting the Security of Mobile Applications راهنمایی برای ارزیابی و اطمینان از امنیت اپلیکیشنهای موبایل ارائه میدهد. این سند فرآیند «بررسی و تأیید» را از مرحله توسعه تا قبل و بعد از استقرار پوشش میدهد و شامل معیارهایی مانند منبع اپلیکیشن، حساسیت دادهها، بستر سختافزاری و محیط اجرا است. همچنین به استفاده از چارچوبها و منابعی مانند OWASP Mobile, NIAP و NIST SP 800-53 برای تعریف الزامات امنیتی و انتخاب ابزارهای تست مناسب اشاره میکند. هدف اصلی آن کاهش آسیبپذیریها و اطمینان از انطباق اپلیکیشن با سیاستها و نیازهای امنیتی سازمان است.
استاندارد NIST برای بررسی امنیت اپلیکیشنهای موبایل
بیشتر روی چرخهی توسعه امن (Secure SDLC) و معیارهای انتخاب اپلیکیشنهای امن تمرکز دارد
6. ISO/IEC 27034 (Application Security)
استاندارد ISO/IEC 27034 چارچوبی بینالمللی برای مدیریت امنیت در چرخه عمر اپلیکیشنها است که به سازمانها کمک میکند الزامات امنیتی را از مرحله طراحی تا استقرار و نگهداری، بهصورت یکپارچه پیادهسازی کنند. این استاندارد مفاهیم، اصول و فرآیندهایی را ارائه میدهد که هم برای نرمافزارهای توسعهیافته داخلی و هم برای محصولات خریداریشده یا برونسپاریشده کاربرد دارد. رویکرد آن بر شناسایی نیازهای امنیتی، انتخاب و اجرای کنترلهای مناسب، و استفاده از کتابخانههای کنترل امنیتی قابلاستفاده مجدد متمرکز است. هدف اصلی، کاهش ریسکهای امنیتی، افزایش کیفیت و اطمینانپذیری اپلیکیشنها و همسویی با سایر استانداردهای مدیریت امنیت اطلاعات است.
استاندارد بینالمللی برای مدیریت امنیت اپلیکیشنها
رویکرد مدیریتی و فرآیندی دارد (نه صرفاً تست فنی)
7. PCI DSS (اگر اپلیکیشن مالی/پرداختی باشد)
برای اپلیکیشنهایی که پرداخت آنلاین و کارت بانکی دارند، باید الزامات PCI DSS رعایت شود
شامل رمزنگاری تراکنش، مدیریت کلیدها، لاگگیری، تست نفوذ دورهای
چکلیست تست امنیتی وبسایت و اپلیکیشن
۱. احراز هویت (Authentication)
رمز عبور قوی (حداقل طول و پیچیدگی).
محافظت در برابر Brute Force (Rate Limiting / Lockout).
فعالسازی 2FA در صورت امکان.
مدیریت امن بازیابی رمز عبور (یکبارمصرف با زمان انقضا Token ).
بررسی امنیت JWT یا Session ID (تصادفی، غیرقابل پیشبینی، Expire)
۲. مدیریت نشست (Session Management)
کوکیها با HttpOnly، Secure، SameSite.
انقضای نشست پس از مدت زمان عدم فعالیت.
پایان دادن به نشست پس از Logout.
جلوگیری از Session Fixation (ایجاد ID جدید پس از Login)
۳. کنترل دسترسی(Access Control)
تست عمودی (کاربر عادی نتواند به بخش Admin دسترسی داشته باشد)
تست افقی (IDOR: کاربر A نتواند دادههای کاربر B را ببیند)
بررسی APIها برای دسترسی غیرمجاز (BOLA در API)
بررسی Least Privilege برای کاربران.
۴. اعتبارسنجی ورودی و خروجی (Input/Output Validation)
تست SQL Injection و NoSQL Injection.
تست XSS و CSRF.
تست Command Injection / File Inclusion.
ولیدیشن سمت کلاینت و سمت سرور.
Escaping/Encoding مناسب برای خروجیها.
۵. ارتباط امن (Communication)
استفاده از (TLS 1.2 یا بالاتر)
HSTS فعال باشد.
گواهی SSL معتبر و بدون خطاهای Trust.
بررسی امنیت CORS Policy (عدم دسترسی همه-Originها)
۶. پیکربندی و استقرار (Configuration & Deployment)
غیرفعال بودن خطاها و Exception ها در محیط Production.
حذف حسابهای پیشفرض وCredential های تستی.
بررسی Header های امنیتی (CSP، X-Frame-Options، X-Content-Type-Options، Referrer-Policy)
حداقل سطح دسترسی برای سرویسها و فایلها.
جلوگیری از Directory Listing
۷. مدیریت داده و فایل
رمزنگاری دادههای حساس در Database (bcrypt/argon2 برای رمز عبور)
تست امنیت Upload فایل (نوع، اندازه، مسیر ذخیره خارج از webroot، اسکن).
جلوگیری از اجرای فایلهای آپلودی در سرور.
۸. خطا و لاگ (Error & Logging)
پیام خطا اطلاعات حساس لو ندهد(SQL Error، Stack Trace و …).
رویدادهای مهم لاگ شوند (Login، خطاهای امنیتی، تغییر دسترسی).
محافظت از لاگها (عدم دسترسی عمومی، عدم تغییر توسط کاربر عادی).
۹. منطق کسبوکار (Business Logic)
تست Bypass قوانین تجاری (مثلاً دور زدن مرحله پرداخت).
بررسی حملات Race Condition (تراکنش همزمان).
بررسی محدودیتها (مثلاً اعمال تخفیف چندباره غیرمجاز).
۱۰. API و میکروسرویسها
احراز هویت و کنترل دسترسی برای همه Endpointها.
Rate Limiting فعال باشد.
ولیدیشن JSON/XML ورودی.
جلوگیری از افشای اطلاعات زیاد در Response (Verbose Errors, Stack Trace).
۱۱. سایر موارد اپلیکیشن
تست CSRF در فرمها (وجود CSRF Token معتبر).
بررسی امنیت LocalStorage/SessionStorage (عدم ذخیره رمز یا Token خام).
تست Clickjacking (X-Frame-Options یا CSP فعال باشد).
تست DoS پایهای (Rate Limit, Resource Exhaustion).
۱۲. امنیت شبکه و سرور
بررسی باز بودن پورتها و سرویسها (فقط پورتهای ضروری).
رمزگذاری دسترسی به دیتابیس و استفاده از رمز قوی برای کاربران (خصوصاً root/admin).
محدود کردن دسترسیها (Least Privilege) برای کاربران دیتابیس.
جلوگیری از اتصال مستقیم دیتابیس از خارج شبکه.
بررسی پشتیبانگیری امن (Backup Encryption).
تست SQL Injection در تمام ورودیهای دیتابیس.
۱۴. امنیت DNS و زیرساخت شبکه
بررسی امنیت DNS Server (عدم پاسخ به درخواستهای غیرمجاز).
بررسی DNS Zone Transfer (غیرفعال مگر ضروری).
بررسی DNS Cache Poisoning و Hijacking.
استفاده از DNSSEC برای صحت دادههای DNS.
مانیتورینگ تغییرات DNS.
۱۵. حملات شبکه و وب
تست حملات DoS / DDoS پایهای.
بررسی حملات Man-in-the-Middle (MitM).
بررسی حملات ARP Spoofing / Poisoning.
تست Brute Force و Dictionary روی سرویسها و دیتابیس.
بررسی آسیبپذیریهای SSL/TLS (POODLE, Heartbleed).
شناسایی و جلوگیری از Open Ports غیرضروری و سرویسهای ناامن.
۱۶. حملات لایه انتقال (Transport Layer Attacks)
TCP SYN Flood و UDP Flood.
TCP Reset / Session Hijacking.
Port Scanning و Fingerprinting.
SSL/TLS Exploits (Heartbleed, BEAST, POODLE).
Connection Rate Limiting (محدود کردن اتصالات همزمان یا در واحد زمان).
سوالات متداول
استانداردهای امنیت سایت شامل رمزنگاری اطلاعات، احراز هویت امن، کنترل دسترسی، بهروزرسانی نرمافزارها، تست امنیت و مدیریت آسیبپذیریها است.
چکلیست امنیتی شامل بررسی SSL، رمزهای عبور، دسترسی کاربران، امنیت سرور، بکاپگیری، بهروزرسانیها، فایروال و بررسی آسیبپذیریها است.
با استفاده از رمزنگاری، بهروزرسانی مداوم، تست امنیت، فایروال، محدودسازی دسترسیها، پشتیبانگیری و مانیتورینگ میتوان احتمال حملات سایبری را کاهش داد.
امنیت API با احراز هویت، کنترل دسترسی، اعتبارسنجی ورودیها، رمزنگاری ارتباطات، محدودسازی درخواستها و ثبت رویدادهای امنیتی افزایش مییابد.
خدمات امنیت شامل ارزیابی امنیت، تست نفوذ، رفع آسیبپذیری، امنسازی سرور، پشتیبانگیری، مانیتورینگ و مشاوره برای افزایش سطح حفاظت سیستم است.
تست نفوذ با شبیهسازی حملات واقعی، نقاط ضعف امنیتی سایت را پیش از سوءاستفاده هکرها شناسایی کرده و امکان رفع بهموقع آسیبپذیریها را فراهم میکند.
هزینه بسته به حجم سایت، سطح ریسک، نیاز به تست نفوذ و پیچیدگی زیرساخت متفاوت است و معمولاً بهصورت پروژهای قیمتگذاری میشود.
خدمات
انجام بررسیهای امنیتی برای شناسایی آسیبپذیریها، مشکلات پیکربندی، ضعفهای فنی و ارائه راهکارهای افزایش امنیت وبسایت و سامانههای آنلاین.
اجرای تستهای امنیتی کنترلشده برای شناسایی نقاط ضعف، بررسی مقاومت سیستم در برابر حملات و ارائه گزارش تخصصی اصلاح مشکلات امنیتی.
پیادهسازی سیستمهای مقابله با حملات توزیعشده منع سرویس برای اطمینان از دسترسی پایدار سایت و اپلیکیشن در برابر ترافیک مخرب.
افزودن لایه امنیتی اضافه برای ورود کاربران با تایید دومرحلهای جهت جلوگیری از دسترسی غیرمجاز به حسابهای کاربری.
شناسایی و رفع ۱۰ آسیبپذیری پرخطر وباپلیکیشنها شامل Broken Access Control، Injection، Cryptographic Failures، Insecure Design و Outdated Components. ارائه راهکار عملی برای جلوگیری از نفوذ.
راهاندازی سیستمهای نظارت امنیتی برای شناسایی رفتارهای مشکوک، ثبت رویدادها، بررسی لاگها و واکنش سریع به تهدیدات.
بهینهسازی تنظیمات سرور، کنترل دسترسیها، مدیریت فایروال، بهروزرسانی نرمافزارها و کاهش ریسک حملات زیرساختی.
ایجاد برنامه بکاپگیری منظم، ذخیره امن نسخههای پشتیبان و فراهمکردن امکان بازیابی سریع اطلاعات در شرایط بحرانی.
نویسنده :
مجید پورداود
مهندس نرم افزار و تحلیلگر ارشد سیستم های کامپیوتری تحت وب می باشم. از سال 1395 برنامه نویسی را شروع کردم و به زبان های php (فریم ورک laravel -codeigniter) و زبان جاوا اسکریپت (فریم ورک express.js-nest.js) تسلط دارم.
ثبت دیدگاه جدید
0 دیدگاه
نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند *