مبانی امنیت برنامه های کاربردی وب EITC/IS/WASF برنامه صدور گواهینامه فناوری اطلاعات اروپا در جنبه های نظری و عملی امنیت خدمات وب جهانی است که از امنیت پروتکل های اصلی وب، از طریق حریم خصوصی، تهدیدات و حملات به لایه های مختلف ارتباطات شبکه ترافیک وب، وب می باشد. امنیت سرورها، امنیت در لایه های بالاتر از جمله مرورگرهای وب و برنامه های کاربردی وب و همچنین احراز هویت، گواهی ها و فیزینگ.
برنامه درسی اصول امنیت برنامه های کاربردی وب EITC/IS/WASF مقدمه ای بر جنبه های امنیت وب HTML و جاوا اسکریپت، DNS، HTTP، کوکی ها، جلسات، حملات کوکی ها و جلسات، خط مشی مبدأ یکسان، جعل درخواست بین سایتی، استثنائات مشابه را پوشش می دهد. خط مشی مبدا، اسکریپت بین سایتی (XSS)، دفاع از اسکریپت بین سایتی، انگشت نگاری وب، حریم خصوصی در وب، DoS، فیشینگ و کانال های جانبی، انکار سرویس، فیشینگ و کانال های جانبی، حملات تزریقی، تزریق کد، حمل و نقل امنیت لایه (TLS) و حملات، HTTPS در دنیای واقعی، احراز هویت، WebAuthn، مدیریت امنیت وب، نگرانی های امنیتی در پروژه Node.js، امنیت سرور، شیوه های کدنویسی ایمن، امنیت سرور محلی HTTP، حملات مجدد DNS، حملات مرورگر، مرورگر معماری، و همچنین نوشتن کد مرورگر ایمن، در ساختار زیر، شامل محتوای آموزشی ویدیویی جامع به عنوان مرجع این گواهینامه EITC.
امنیت برنامه های وب زیرمجموعه ای از امنیت اطلاعات است که بر امنیت وب سایت، برنامه های کاربردی وب و وب سرویس ها تمرکز دارد. امنیت برنامه های کاربردی وب، در ابتدایی ترین سطح خود، مبتنی بر اصول امنیتی برنامه است، اما آنها را به ویژه در اینترنت و پلتفرم های وب اعمال می کند. فن آوری های امنیتی برنامه های کاربردی وب، مانند فایروال برنامه های وب، ابزارهای تخصصی برای کار با ترافیک HTTP هستند.
پروژه امنیتی برنامه وب باز (OWASP) منابعی را ارائه می دهد که هم رایگان و هم باز هستند. یک بنیاد غیرانتفاعی OWASP مسئول آن است. 2017 OWASP برتر 10 نتیجه مطالعه فعلی بر اساس داده های گسترده جمع آوری شده از بیش از 40 سازمان شریک است. تقریباً 2.3 میلیون آسیب پذیری در بیش از 50,000 برنامه با استفاده از این داده ها شناسایی شد. ده مهم ترین نگرانی امنیتی برنامه های آنلاین، طبق OWASP Top 10 – 2017، عبارتند از:
- تزریق
- مشکلات احراز هویت
- موجودیت های خارجی XML داده های حساس در معرض (XXE)
- کنترل دسترسی که کار نمی کند
- پیکربندی اشتباه امنیت
- برنامه نویسی سایت به سایت (XSS)
- سریال زدایی که ایمن نیست
- استفاده از قطعاتی که دارای ایرادات شناخته شده هستند
- ثبت و نظارت کافی نیست.
از این رو عمل دفاع از وب سایت ها و سرویس های آنلاین در برابر تهدیدات امنیتی مختلف که از ضعف های موجود در کد برنامه استفاده می کنند، به عنوان امنیت برنامه وب شناخته می شود. سیستم های مدیریت محتوا (به عنوان مثال، وردپرس)، ابزارهای مدیریت پایگاه داده (به عنوان مثال، phpMyAdmin)، و برنامه های SaaS همگی اهداف رایج برای حملات برنامه های آنلاین هستند.
برنامه های کاربردی وب از سوی مجرمین اهدافی با اولویت بالا در نظر گرفته می شوند زیرا:
- به دلیل پیچیدگی کد منبع آنها، آسیب پذیری های بدون مراقبت و اصلاح کد مخرب بیشتر محتمل است.
- پاداشهای با ارزش، مانند اطلاعات شخصی حساس که از طریق دستکاری کد منبع مؤثر به دست میآید.
- سهولت اجرا، زیرا اکثر حملات را می توان به آسانی خودکار کرد و به طور بی رویه علیه هزاران، ده ها یا حتی صدها هزار هدف به طور همزمان مستقر کرد.
- سازمان هایی که در محافظت از برنامه های کاربردی وب خود شکست می خورند، در برابر حمله آسیب پذیر هستند. این می تواند منجر به سرقت داده ها، تیرگی روابط مشتری، لغو مجوزها و اقدامات قانونی و موارد دیگر شود.
آسیب پذیری در وب سایت ها
نقص های پاکسازی ورودی/خروجی در برنامه های کاربردی وب رایج است و اغلب برای تغییر کد منبع یا دسترسی غیرمجاز مورد سوء استفاده قرار می گیرند.
این نقص ها امکان بهره برداری از انواع بردارهای حمله از جمله:
- SQL Injection – هنگامی که یک مجرم یک پایگاه داده باطن را با کد SQL مخرب دستکاری می کند، اطلاعات فاش می شود. مرور غیرقانونی لیست، حذف جدول و دسترسی غیرمجاز مدیر از جمله پیامدهای آن است.
- XSS (Cross-site Scripting) یک حمله تزریقی است که کاربران را هدف قرار می دهد تا به حساب ها دسترسی پیدا کنند، تروجان ها را فعال کنند یا محتوای صفحه را تغییر دهند. هنگامی که کد مخرب مستقیماً به یک برنامه تزریق می شود، به آن XSS ذخیره شده می گویند. هنگامی که اسکریپت مخرب از یک برنامه در مرورگر کاربر منعکس می شود، این به عنوان XSS منعکس شده شناخته می شود.
- گنجاندن فایل از راه دور - این شکل از حمله به هکر اجازه می دهد تا یک فایل را از یک مکان راه دور به سرور برنامه وب تزریق کند. این می تواند منجر به اجرای اسکریپت ها یا کدهای خطرناک در برنامه و همچنین سرقت یا تغییر داده ها شود.
- جعل درخواست متقابل سایت (CSRF) - نوعی حمله که می تواند منجر به انتقال ناخواسته پول نقد، تغییر رمز عبور یا سرقت داده شود. زمانی اتفاق میافتد که یک برنامه وب مخرب به مرورگر کاربر دستور میدهد تا در وبسایتی که به آن وارد شدهاند، اقدامی ناخواسته انجام دهد.
در تئوری، پاکسازی موثر ورودی/خروجی ممکن است تمام آسیبپذیریها را ریشه کن کند و یک برنامه کاربردی را در برابر تغییرات غیرمجاز غیرقابل نفوذ کند.
با این حال، از آنجایی که بیشتر برنامه ها در حالت توسعه دائمی هستند، پاکسازی جامع به ندرت گزینه مناسبی است. علاوه بر این، برنامهها معمولاً با یکدیگر ادغام میشوند و در نتیجه یک محیط کدگذاری شده ایجاد میشود که پیچیدهتر میشود.
برای جلوگیری از چنین خطراتی، راه حل ها و فرآیندهای امنیتی برنامه های کاربردی وب، مانند گواهینامه استاندارد امنیت داده های PCI (PCI DSS) باید اجرا شوند.
فایروال برای برنامه های کاربردی وب (WAF)
WAF ها (فایروال های کاربردی وب) راه حل های سخت افزاری و نرم افزاری هستند که از برنامه ها در برابر تهدیدات امنیتی محافظت می کنند. این راهحلها برای بازرسی ترافیک ورودی به منظور شناسایی و مسدود کردن تلاشهای حمله طراحی شدهاند و هر گونه نقص پاکسازی کد را جبران میکنند.
استقرار WAF با محافظت از داده ها در برابر سرقت و تغییر به یک معیار مهم برای گواهینامه PCI DSS می پردازد. تمام داده های دارنده کارت اعتباری و بدهی که در یک پایگاه داده نگهداری می شوند، باید طبق شرط 6.6 محافظت شوند.
از آنجایی که در لبه شبکه از DMZ خود جلوتر است، ایجاد WAF معمولاً نیازی به تغییر در برنامه ندارد. سپس به عنوان دروازه ای برای تمام ترافیک ورودی عمل می کند و درخواست های خطرناک را قبل از اینکه بتوانند با یک برنامه تعامل داشته باشند فیلتر می کند.
برای ارزیابی اینکه کدام ترافیک مجاز به دسترسی به یک برنامه کاربردی است و کدام یک باید حذف شود، WAF ها از انواع اکتشافی استفاده می کنند. آنها می توانند به سرعت عوامل مخرب و بردارهای حمله شناخته شده را به لطف یک مجموعه امضایی که به طور منظم به روز می شود شناسایی کنند.
تقریباً همه WAF ها ممکن است برای موارد استفاده فردی و مقررات امنیتی و همچنین مبارزه با تهدیدات نوظهور (همچنین به عنوان روز صفر شناخته می شوند) طراحی شوند. در نهایت، برای به دست آوردن بینش بیشتر در مورد بازدیدکنندگان ورودی، اکثر راه حل های مدرن از داده های شهرت و رفتار استفاده می کنند.
به منظور ایجاد یک محیط امنیتی، WAF ها معمولا با راه حل های امنیتی اضافی ترکیب می شوند. این خدمات می تواند شامل خدمات پیشگیری از انکار سرویس توزیع شده (DDoS) باشد که مقیاس پذیری اضافی لازم برای جلوگیری از حملات با حجم بالا را ارائه می دهد.
چک لیست برای امنیت برنامه های وب
علاوه بر WAF، روشهای مختلفی برای محافظت از برنامههای وب وجود دارد. هر چک لیست امنیتی برنامه وب باید شامل مراحل زیر باشد:
- جمع آوری داده ها - با دست روی برنامه بروید و به دنبال نقاط ورودی و کدهای سمت مشتری بگردید. طبقه بندی محتوایی که توسط شخص ثالث میزبانی می شود.
- مجوز - هنگام آزمایش برنامه به دنبال پیمایش مسیرها، مسائل مربوط به کنترل دسترسی عمودی و افقی، مجوز از دست رفته، و ارجاعات ناامن و مستقیم به شی باشید.
- تمام انتقال داده ها را با رمزنگاری ایمن کنید. آیا اطلاعات حساسی رمزگذاری شده است؟ آیا از الگوریتمهایی استفاده کردهاید که مناسب نباشد؟ آیا خطاهای تصادفی وجود دارد؟
- انکار سرویس - تست ضد اتوماسیون، قفل حساب، پروتکل HTTP DoS و SQL wildcard DoS برای بهبود انعطاف پذیری برنامه در برابر حملات انکار سرویس. این شامل امنیت در برابر حملات DoS و DDoS با حجم بالا نمیشود که برای مقاومت در برابر آنها به ترکیبی از فناوریهای فیلتر و منابع مقیاسپذیر نیاز دارند.
برای جزئیات بیشتر، میتوانید برگه تقلب تست امنیت برنامه وب OWASP را بررسی کنید (همچنین یک منبع عالی برای سایر موضوعات مرتبط با امنیت است).
حفاظت DDoS
حملات DDoS، یا حملات انکار سرویس توزیع شده، یک روش معمولی برای قطع کردن یک برنامه وب است. تعدادی رویکرد برای کاهش حملات DDoS وجود دارد، از جمله حذف ترافیک حملات حجمی در شبکههای تحویل محتوا (CDN) و استفاده از شبکههای خارجی برای مسیریابی مناسب درخواستهای واقعی بدون ایجاد وقفه در سرویس.
حفاظت از DNSSEC (برنامه های امنیتی سیستم نام دامنه).
سیستم نام دامنه یا DNS، دفترچه تلفن اینترنت است و نشان می دهد که چگونه یک ابزار اینترنتی، مانند مرورگر وب، سرور مربوطه را پیدا می کند. مسمومیت کش DNS، حملات در مسیر، و سایر ابزارهای تداخل در چرخه حیات جستجوی DNS توسط بازیگران بد برای ربودن این فرآیند درخواست DNS استفاده می شود. اگر DNS دفترچه تلفن اینترنت باشد، DNSSEC یک شناسه تماس گیرنده غیرقابل جعل است. درخواست جستجوی DNS را می توان با استفاده از فناوری DNSSEC محافظت کرد.
برای آشنایی کامل با برنامه درسی گواهینامه می توانید جدول زیر را گسترش داده و تجزیه و تحلیل کنید.
برنامه درسی گواهینامه مبانی امنیت برنامه های کاربردی وب EITC/IS/WASF به مواد آموزشی با دسترسی آزاد در فرم ویدیویی ارجاع می دهد. فرآیند یادگیری به یک ساختار گام به گام (برنامه ها -> درس ها -> موضوعات) تقسیم می شود که بخش های برنامه درسی مربوطه را پوشش می دهد. مشاوره نامحدود با کارشناسان حوزه نیز ارائه می شود.
برای جزئیات بیشتر در مورد روش صدور گواهینامه بررسی کنید چگونه کار می کند.
دانلود کامل مطالب آماده سازی خودآموز آفلاین برای برنامه EITC/IS/WASF Web Applications Security Fundamentals در یک فایل PDF
مواد آماده سازی EITC/IS/WASF – نسخه استاندارد
مواد مقدماتی EITC/IS/WASF - نسخه توسعه یافته با سوالات بررسی