جعل درخواست میان‌وب‌گاهی

سی‌سرف (به انگلیسی: CSRF) سرواژه‌ای برای جعل درخواست میان‌وب‌گاهی، نوعی از حملات اینترنتی از خانوادهٔ تزریق اسکریپت از طریق وب‌گاه است. به عبارت دیگر جعل درخواست میان وب سایتی یا CSRF (که به آن XSRF هم گفته می‌شود)، کوتاه‌شده‌ی Cross-Site Request Forgery یک آسیب‌پذیری وب است که مهاجم با استفاده از آن می‌تواند کاری کند که کاربران اقداماتی را انجام دهند که قصد انجام آن‌ها را نداشته‌اند.[۱] در این نوع از حملات کاربری که در یک نرم‌افزار کاربردی وب ثبت ورود کرده‌است را مجبور به فرستادن یک درخواست به آن نرم‌افزار تحت وب آسیب‌پذیر می‌کنند تا عملی که می‌خواهند را انجام دهد. برای نمونه اگر کاربری هم‌زمان در حساب رایانامهٔ خود و حساب بانکی‌اش ثبت ورود کرده باشد، حمله‌کننده برای کاربر رایانامه‌ای ارسال می‌کند که بیان می‌کند اطلاعات بانکی او نیازمند به‌روزرسانی از طریق یک پیوند است، با کلیک کردن روی پیوند، بدون اینکه کاربر خودش آگاه باشد و به صورت خودکار درخواستی برای انتقال وجه از یک حساب به حساب دیگر به نرم‌افزار بانک فرستاده می‌شود و در اینجا اگر نرم‌افزار بانک بدون اعتبارسنجی درخواست را پردازش کند متوجه جعلی‌بودن درخواست نخواهد شد. این روش نفوذ در سال‌های اخیر توجه زیادی را به خود جلب کرده‌است و به عنوان نوعی حملهٔ ویرانگر اینترنتی شناخته می‌شود.[۲]

باید توجه داشت که جعل درخواست میان‌وب‌گاهی برای گرفتن پاسخ کافی نیست و حمله کننده نمی‌تواند پاسخ نرم‌افزار وب به درخواست جعل‌شده‌اش را مستقیماً ببیند، حمله‌کننده مجبور است برای گرفتن پاسخ یک پرسمان اس‌کیوال را تزریق کند تا بتواند نتیجهٔ دلخواهش را بدست آورد.[۳]

حمله کننده برای اجرای کد اس‌کیوال مورد نظرش می‌تواند از هر دو متد GET و POST (با استفاده از جاوااسکریپت) استفاده کند. تنها راه جلوگیری از انجام این نوع حملات استفاده از یک بهامُهرِ[و ۱] گذرا و مختص به همان نشست[و ۲] (افزون بر کلوچک[و ۳] نشست) است که نیاز باشد هنگام ارسال فرم‌ها آن را درستی‌سنجی کرد.[۴]

برای پیشگیری و کاهش حملات CSRF برخی روش‌ها وجود دارد که بهترین آن‌ها عبارتند از:

  • هنگام استفاده نکردن از برنامه کاربردی وب، ﺣﺘﻤﺎ ﺑﺮ ﺭﻭﯼ دکمه ﺧﺮﻭﺝ ﮐﻠﻴﮏ ﮐﻨﻴﺪ تا از حساب کاربری خود خارج شوید.
  • از تامین امنیت رمز عبور و نام‌های کاربری خود مطمئن شوید.
  • سعی کنید به هیچ مرورگری برای ذخیره پسورد‌ها اجازه ندهید.
  • به صورت همزمان از چند صفحه دیدن نکنید.
  • ﻟﻴﻨک‌ﻫﺎ ﻭ ﻓﺎﻳﻞ‌ﻫﺎی ﻣﺸﻜﻮک ﺭﺍ به طور کلی ﺑﺎﺯ ﻧﻜﻨﻴﺪ.[۵]

حملات سی‌سرف یک حفرهٔ امنیتی متداول به‌شمار می‌آیند که برای به دست آوردن اطلاعات از وب‌گاه آسیب‌پذیر به ضعف‌های امنیتی موجود در فرایند اصالت‌سنجی وب‌گاه‌ها و استفاده از کدهای مخرب وابسته هستند. در این نوع از حملات علاوه بر اینکه راهبرد روش عملیاتی استاندارد[و ۴] دور زده می‌شود، هویت قربانی نیز جعل می‌گردد. وب‌گاه‌هایی که نسبت به این نوع از حملات آسیب‌پذیرند معمولاً آسیب‌پذیری ربایش جاوااسکریپت[و ۵] نیز دارند. بزرگترین تفاوت ربایش جاوااسکریپت و سی‌سرف در این است که در اولی از مفهوم قلاب[و ۶] در زبان جاوااسکریپت برای به دست آوردن اطلاعات خصوصی قربانی استفاده می‌شود، اما در دومی حمله با ارسال یک درخواست (مانند درخواست تغییر یک حساب‌های کاربری، حذف داده و…) انجام می‌گردد. هرچند انجام حمله با روش سی‌سرف ساده‌تر است (عوامل محدودکنندهٔ کمتری دارد)، اما حملات روش جاوااسکریپت از نقاط ضعف ظریف‌تری بهره می‌جویند که شناسایی‌شان سخت‌تر است.[۶]

جستارهای وابسته ویرایش

واژه‌نامه ویرایش

  1. Token
  2. session
  3. cookie
  4. Standard operating procedure
  5. javascript hijacking
  6. hook

منابع ویرایش

  1. پایگاه اطلاع‌رسانی فناوری گرداب، Gerdab IR | (۱۸ دی ۱۴۰۱). «پرونده / حمله CSRF چیست؟». fa. دریافت‌شده در ۲۰۲۳-۰۵-۲۹.[پیوند مرده]
  2. Abhay Bhargav; B. V. Kumar (29 September 2010). Secure Java: For Web Application Development. CRC Press. pp. 97–. ISBN 978-1-4398-2356-9. Retrieved 17 March 2013.
  3. Justin Clarke (16 June 2009). SQL Injection Attacks and Defense. Elsevier. pp. 360–. ISBN 978-1-59749-973-6. Retrieved 17 March 2013.
  4. Jarkko Laine; Christian Hellsten (9 November 2006). Beginning Ruby on Rails E-Commerce: From Novice to Professional. Apress. pp. 250–. ISBN 978-1-4302-0276-9. Retrieved 17 March 2013.
  5. پایگاه اطلاع‌رسانی فناوری گرداب، Gerdab IR | (۱۸ بهمن ۱۴۰۱). «پرونده / حمله CSRF چیست؟». fa. دریافت‌شده در ۲۰۲۳-۰۵-۲۹.[پیوند مرده]
  6. Zhihong Qian; Lei Cao; Weilian Su (20 January 2012). Recent Advances in Computer Science and Information Engineering. Springer. pp. 560–. ISBN 978-3-642-25789-6. Retrieved 17 March 2013.