حملات CSRF چیست؟ + روش های کاهش حملات CSRF
فهرست مطالب
در عصر حاضر مهاجمان به انجام کارهای بسیاری میپردازند که آنها را به اهدافشان نزدیکتر سازد. یکی از این کارها حملات CSRF است. این کلمه مخفف عبارت Cross-Site Request Forgery است و عبارت است از یک نوع حمله امنیتی در وب سایت که مهاجمها طی انجام یک سری اقدامات کاربران را فریب میدهند و آنها را وادار به انجام کارهایی میکنند که قصد انجام آن را نداشتهاند.
در این محتوا قصد داریم تا به توضیح درباره این موضوع بپردازیم. پس با ما همراه باشید.
ویژگیهای حملات CSRF
در این نوع حملات هدف اصلی دسترسی به اطلاعات مهم و حساس کاربران است. از جمله ویژگیهای آن میتوان به موارد زیر اشاره کرد.
- هدف قراردادن اعتماد میان کاربران و سایت به این صورت که مهاجمان در تلاشاند تا به وسیله روشهای مختلفی مثل لینکهای مخرب، کدهای جاوا اسکریپت و این دست از موارد افراد را به سمت کار مد نظر خود هدایت نمایند.
- بهره گیری از روشهای مختلف برای ارسال درخواستها.
- استفاده از ناآگاهی کاربران در راستای رسیدن به اهدافشان.
- و…
نحوه عملکرد حملات CSRF
اینکه این اتفاق چگونه رخ میدهد میتواند سناریوهای مختلفی داشته باشد. ولی در کل وقتی کاربر وارد وب سایتهای معتبری میشود کوکیها به مرورگر او ارسال و ذخیره میشود. در این مسیر مهاجمها لینکهای مخرب را از طریق روشهای گوناگون مثل ارسال ایمیل و خیلی مواد دیگر برای کاربران ارسال میکنند. کاربر نیز بدون آگاهی و شناخت رو آن لینکها کلیک میکند از طریق این لینک و یا کد درخواستهای برای وب سایت معتبر ارسال میشود و وب سایت نیز به علت آن که فکر میکند این درخواست توسط یک کاربر معتبر ارسال شده درخواست را میپذیرد.
در راستای کاهش حملات CSRF چه کارهایی را میتوان انجام داد؟
برای کاهش این نوع حملات کارهای زیادی را میتوان انجام داد. مثلاً
- استفاده از توکنها: شما میتوانید با استفاده از توکنهای CSRF از حملات جلوگیری نمایید. این توکنها رشتههای تصادفی هستند که در فرمها و درخواستهای حساس برای کاربران ارسال و اعتبارسنجی میشوند.
- تنظیم SameSite برای کوکیها: با تنظیم SameSite میتوان مشخص کرد که کوکیها تنها در درخواستهای داخلی از همان وب سایت و با همان دامنه ارسال شوند.
- تأیید دو مرحلهای: در برخی موارد حساس مثل تغییر در رمز عبور، انتقال وجه و این دست از موارد داشتن تأیید دو مرحلهای میتواند به منزلهٔ یک لایه امنیتی اضافهتر باشد و محافظت را پیچیدهتر سازد.
- مانیتورینگ: با بهره گیری از سیستم مانیتورینگ و همچنین چک کردن لاگها میتوانید الگوهای مشکوک را شناسایی و از این دست حملات جلوگیری نمایید.
- بهره گیری از CAPTCHA: ازآنجا که طیف گستردهای از درخواستها توسط رباتها ارسال میشود استفاده از CAPTCHA میتواند در این مسیر به شما کمک کند. شما میتوانید با استفاده از CAPTCHA از ارسال درخواستها توسط انسانها مطمئن شوید.
- بررسی HTTP Referer و Origin Headers: شما با بررسی HTTP Referer مطمئن میشوید که درخواست از همان دامنه و وب سایت مدنظر ارسال میشود و با بررسی نمودن HTTP Origin نیز از معتبر بودن منبع مطمئن میشوید. با انجام این کارها شما میتوانید به آسانی درخواستهای مشکوک را شناسایی و آنها را رد نمایید.
اینها تنها بخشی از راهکارها برای حفاظت در برابر حملات هستند که میتوانند امنیت وب سایت شما را تا حد زیادی افزایش دهند.
آسیب پذیریهای رایج CSRF
این نوع از آسیب پذیریها بنا بر دلایل مختلفی رخ خواهند داد. برخی از موارد متداول آن به شرح زیر هستند.
- اگر وب سایتها برای فرمها و درخواستها از این توکنها استفاده نکنند مهاجمان میتوانند درخواستهای مخربی را از طرف کاربران ارسال نمایند.
- استفاده از توکنهای ضعیف که بتوان آنها را به راحتی پیش بینی کرد امنیت سیستم را به خطر میندازد.
- استفاده نکردن از هدرهای امنیتی که نتواند درخواستهای مخرب را از واقعی تشخیص دهد.
- جلسات کاربری با مدت زمانهای طولانی.
- و…
شما با خریداری سرور مجازی پویان آی تی با قیمتی مناسب از موقعیتهای گوناگون میتوانید از سرعت و امنیت بسیار بالایی بهرهمند شده و از امنیت وب سایت و اطلاعات خود اطمینان حاصل نمایید.
- سرور مجازی پویان آی تی حافظ وب سایت شماست!
تفاوت XSS و CSRF چیست؟
XSSو CSRF هر دو از جمله حملات رایج وب هستند؛ ولی هرکدام از آنها روشها و اهداف خاص خود را دارند. مثلاً در XSS هدف اضافه نمودن کدهای مخرب به وب سایت است که توسط مرورگر کاربران دیگر اجرا میگردد. این حمله زمانی اتفاق میفتد که وب سایت عمل اعتبار سنجی را به درستی انجام نمیدهد و میگذارد تا کدهای مخرب همچنان در وب قرار بگیرند. این نوع از حملات میتوانند منجر به موادی مثل هدایت کاربران به صفحات مخرب، دزدی اطلاعات کوکیها و این دست از موارد شوند.
ولی در CSRFهدف انجام یک سری کارها توسط کاربران است آن هم بدون میل و رضایت و حتی آگاهی آنها، در این نوع از حملات مهاجم با ارسال لینک و یا کدهای مخرب برای کاربر راهی را برای دسترسی به وب سایت هدف پیدا میکند. تفاوت میان این دو حمله در این است که در XSS به مهاجم اجازه داده میشود تا کد مخرب را در وب سایت تزریق کند و مستقیماً بر روی مرورگر کاربران دیگر اجرا کند؛ ولی در CSRF مهاجم میتواند درخواستهای مخرب را از جانب کاربر به وبسایتی که کاربر به آن وارد شده ارسال کند.
در راستای مقابله با هر مدام از آنها نیز راهحلهای متفاوتی وجود دارد؛ مثلاً در مقابله باXSS ، باید ورودیهای کاربر به دقت اعتبارسنجی و پاکسازی شوند؛ ولی در CSRF، باید از توکنهای CSRF استفاده شود که به درخواستها افزوده میشوند و بررسی میکنند که درخواستها از منابع معتبر آمدهاند. استفاده از هدرهای خاص و تأیید هویت اضافی نیز میتواند مؤثر باشد.
و در آخر
حملات CSRF از جمله حملههای امنیتی است که میتوانند کاربران را فریب داده تا بدون داشتن آگاهی به انجام یک سری فعالیت به صورت ناخواسته بپردازند. این نوع از حملات میتوانند اثرات مخربی بر وب سایت شما بگذارند و منجر به ایجاد تغییرات در تنظیمات، انتقال پول و این دست از موارد شوند.
سؤالات متداول
خطرات CSRF چیست؟
این نوع از حملات در صورت موفقیتآمیز بودن مشکلات زیادی را برای شما به همراه میآورند و میتوانند به انجام کارهایی مثل انتقال وجه، خرید محصول دسترسی به اطلاعات حساب افراد و این دست از موارد بپردازند.
آیا CSRF تاریخ انقضا دارد؟
ببینید اکثر برنامههای کاربردی به شکل طراحی شدهاند که پس از یک دوره منقضی شوند برای توکنهای CSRF نیز چنین است. این توکنها پس از یک دوره استفاده نشدن منقضی میشوند که میتواند گامی مثبت در حفظ امنیت باشد.
به این مقاله امتیاز دهید!
میانگین امتیاز 0 / 5. تعداد رأی ها : 0
هنوز هیچ رأیی داده نشده. اولین نفر باشید!
اولین دیدگاه را اضافه کنید.