پرووید
منو

آموزش مقابله با حملات Cross Site Request Forgery (CSRF) در ASP.NET Core

زبان: فارسی (دوبله شده)مترجم: پروویددوبلر: پروویدسطح: پیشرفتهمدت زمان: 00:22:53تعداد ویدئوها: 7فایل های پروژه: ناموجود
قیمت:۳٬۳۹۹٬۰۰۰ تومان
این آموزش بخشی از پکیج کامل آموزش پیشرفته ASP.NET Core است که می توانید از تمامی آموزش های آن دیدن کنید.

آموزش مقابله با حملات Cross Site Request Forgery (CSRF) در ASP.NET Core یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشی، محافظت از اپلیکیشن های ASP.NET Core در مقابل حملات Cross Site Request Forgery (CSRF) است که با نام اصلی Cross Site Request Forgery (CSRF) Prevention for ASP.NET Core 3 and ASP.NET 4 Applications از شرکت Pluralsight منتشر شده است.

حملات Cross Site Request Forgery و یا CSRF

یکی از انواع حملاتی که در web application ها رخ می دهد، حملات cross site request forgery که به صورت کوتاه به آنها CSRF نیز می گویند، می باشد. در این نوع از حملات یک هکر به روش های مختلف سعی می کند تا کاربر را به سمتی ببرد که علیرغم میل خود عملیاتی را انجام بدهد. با استفاده از شبکه های اجتماعی و مکانیزم social engineering (ارسال لینک از طریق ایمیل و یا در چت ها) هکر تلاش می کند تا کاربران را طوری فریب بدهد که عملیات مورد نظر خود را انجام بدهند. اگر قربانی حملات CSRF یک کاربر معمولی باشد، هکر می تواند با استفاده از آن کاربر request های مختلفی را در یک web application اجرا کند. برای مثال انتقال پول و یا تغییر آدرس ایمیل و یا مواردی از این دست جزء عملیاتی هستند که در حملات CSRF انجام می پذیرد و اما اگر قربانی یک حساب administrator داشته باشد CSRF می تواند تمامی یک web application را تحت الشعاع قرار بدهد.

Course Overview - نمونه ای از بخش Course Overview در آموزش مقابله با حملات Cross Site Request Forgery (CSRF) در ASP.NET Core
نمونه ای از بخش «Course Overview» در آموزش مقابله با حملات Cross Site Request Forgery (CSRF) در ASP.NET Core

همانطور که گفته شد در حملات CSRF قربانی بدون اینکه اطمینان داشته باشد اقدام به ارسال کردن request های مخرب می کند. در این نوع از حملات هکر از هویت و یا identity و همچنین مجوزها و یا privilege های قربانی استفاده می کند تا بتواند عملیات مورد نظر خود را به نمایندگی از قربانی انجام بدهد. در بسیاری از وب سایت ها، مرورگر به صورت خودکار درخواست ها و یا request های ارسال شده در مرورگر به صورت خودکار شامل credential های مربوط به یک وب سایت از قبیل session cookie مربوط به کاربر و IP address و همچنین domain credential های مربوط به ویندوز می باشند. بنابراین اگر کاربر در یک وب سایت authenticate کرده باشد، آن سایت به هیچ وجه روشی را ندارد تا بتواند تشخیص بدهد کدام request ها به واقع توسط خود کاربر ارسال شده اند و کدام یک از request ها توسط یک هکر ارسال گردیده اند.

روش های جلوگیری از CSRF در برنامه های ASP.NET Core

برای کاهش خطر حملات CSRF، برنامه های وب باید مطمئن شوند درخواست های حساس واقعاً از مسیر مورد انتظار و در چارچوب یک تعامل معتبر با کاربر ارسال شده اند. یکی از روش های رایج، استفاده از Anti-Forgery Token است. در این روش، برنامه یک توکن مرتبط با درخواست معتبر تولید می کند و هنگام دریافت درخواست تغییردهنده وضعیت، وجود و اعتبار آن را بررسی می کند. این سازوکار به سرور کمک می کند درخواست های جعلی ارسال شده از طریق مرورگر کاربر را شناسایی و رد کند.

در ASP.NET Core امکاناتی برای تولید و اعتبارسنجی توکن های ضد جعل درخواست وجود دارد که می توان آن ها را در فرم ها و Endpoint های مناسب به کار گرفت. پیاده سازی صحیح این قابلیت نیازمند توجه به نحوه ارسال توکن و بررسی آن در سمت سرور است. همچنین باید مشخص شود کدام عملیات به محافظت نیاز دارند و سازوکارهای امنیتی چگونه در جریان پردازش درخواست اعمال می شوند. در این آموزش با رویکردهای جلوگیری از CSRF آشنا می شوید و می توانید درک بهتری از محافظت از عملیات حساس در برنامه های وب به دست آورید.

تفاوت CSRF با سایر تهدیدهای امنیتی وب

CSRF و XSS دو نوع تهدید متفاوت در برنامه های وب هستند که گاهی به دلیل ارتباط هر دو با مرورگر کاربران با یکدیگر اشتباه گرفته می شوند. در حمله CSRF، مهاجم تلاش می کند مرورگر کاربری را که از قبل در یک سرویس احراز هویت شده است، به ارسال یک درخواست ناخواسته وادار کند. در مقابل، XSS به اجرای اسکریپت مخرب در زمینه یک وب سایت مربوط می شود. شناخت تفاوت این تهدیدها کمک می کند برای هرکدام روش دفاعی متناسبی در نظر گرفته شود.

Understanding CSRF - نمونه ای از بخش Understanding and Mitigating CSRF در آموزش مقابله با حملات Cross Site Request Forgery (CSRF) در ASP.NET Core
نمونه ای از بخش «Understanding and Mitigating CSRF» در آموزش مقابله با حملات Cross Site Request Forgery (CSRF) در ASP.NET Core

برای طراحی دفاع مناسب، باید نحوه احراز هویت کاربران، شیوه ارسال درخواست ها و رفتار مرورگر را در کنار هم بررسی کرد. استفاده از Anti-Forgery Token می تواند برای مقابله با CSRF مفید باشد، اما جایگزین سایر اقدامات امنیتی مانند محافظت در برابر XSS یا کنترل صحیح مجوزهای دسترسی نیست. در این آموزش با مفهوم جلوگیری از CSRF در برنامه های مبتنی بر ASP.NET آشنا می شوید و می توانید جایگاه این سازوکار را در طراحی امنیتی یک برنامه وب بهتر درک کنید.

محافظت از درخواست های حساس در برنامه های وب

در بسیاری از برنامه های وب، برخی درخواست ها فقط اطلاعات را نمایش می دهند، در حالی که درخواست های دیگر باعث تغییر وضعیت سیستم می شوند؛ برای مثال، ممکن است اطلاعات حساب کاربری تغییر کند یا عملیاتی روی یک منبع انجام شود. محافظت از این درخواست ها اهمیت ویژه ای دارد، زیرا اجرای ناخواسته آن ها می تواند پیامدهای نامطلوبی داشته باشد. هنگام طراحی کنترل های امنیتی باید روش احراز هویت، مجوزهای کاربر و اعتبار درخواست به صورت جداگانه در نظر گرفته شوند.

در برنامه های ASP.NET Core، جلوگیری از CSRF بخشی از فرایند ایمن سازی درخواست هایی است که به سازوکارهای آسیب پذیر در برابر این حمله متکی هستند. توسعه دهندگان باید مطمئن شوند توکن های ضد جعل به شکل صحیح تولید و اعتبارسنجی می شوند و مسیرهای حساس بدون کنترل مناسب در دسترس نیستند. این آموزش با سطح پیشرفته برای افرادی مناسب است که با توسعه برنامه های وب آشنایی دارند و می خواهند روش های جلوگیری از جعل درخواست را بهتر بشناسند و در پیاده سازی برنامه های خود در نظر بگیرند.

سرفصل مطالب آموزش ویدئویی مقابله با حملات Cross Site Request Forgery (CSRF) در ASP.NET Core

فصل اول: مقدمه دوره آموزشی

  • مقدمه دوره آموزشی

فصل دوم: درک کردن حملات CSRF و جلوگیری کردن از آنها

  • ورژن های مربوط به ابزارهای استفاده شده در این آموزش
  • مقدمه
  • یادگیری CSRF
  • بررسی SameSite Cookie ها
  • بررسی Anti-forgery Token ها
  • بررسی Best Practice های مربوط به حملات CSRF
دیدگاه کاربران

دیدگاه ها

برای ثبت دیدگاه ابتدا وارد حساب کاربری شوید.
هنوز دیدگاهی برای این محصول تایید نشده است.