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

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

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

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

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

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

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

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

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

منابع[ویرایش]

  1. 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. 
  2. Justin Clarke (16 June 2009). SQL Injection Attacks and Defense. Elsevier. pp. 360–. ISBN 978-1-59749-973-6. Retrieved 17 March 2013. 
  3. 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. 
  4. 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.