روش های مقابله با حملات skimming کارت اعتباری
مقاله

چگونه از حملات skimming کارت اعتباری پیشگیری کنید؟

اگر اخبار را دنبال کرده باشید، مطمئنا بارها با عبارت "Magecart" در سال‌های اخیر مواجه شده‌اید. این عبارت به سازمان های هکری اشاره دارد که از روش‌های اسکیمینگ آنلاین برای سرقت اطلاعات شخصی موجود در وب‌سایت‌ها، استفاده می‌کنند. بیشترین اطلاعات اغلب از وب‌سایت‌هایی که پرداخت آنلاین دارند، سرقت می‌شود که شامل اطلاعات مشتریان و جزئیات کارت اعتباری آنها می باشد و به آن حملات skimming کارت اعتباری می گویند.

پلتفرم تجارت الکترونیک Magento، که ابزارهای تسویه حساب و سبد خرید را برای وب‌سایت‌های فروشگاهی فراهم می‌کند، هدف اولیه این گروه‌ها محسوب می شود، از همین رو نام Magecart برای آنها انتخاب شده است. کدهای آن یک هدف جذاب برای هکرهایی هستند که سعی دارند داده های کارت اعتباری را هک کرده، داده های شخصی را سرقت کنند یا به سازمان های مختلف آسیب جدی وارد نمایند.

اگر یک گروه Magecart اطلاعات ورود مدیر و کاربر را سرقت نماید، ممکن است حمله را گسترش داده و وب سایت های بیشتری را آلوده کند. به عنوان مثال، یک گروه Magecart نه تنها سایت اصلی، بلکه سایت های خرده فروشی هفت کشور اروپایی را در جریان نفوذ Vision Direct در نوامبر 2018 مورد نفوذ قرار داد. در طی این ماجرا، اطلاعات شخصی هزاران مشتری، از جمله شماره کارت اعتباری، تاریخ انقضا و کدهای CVV، لو رفت. 

خطرات حملات skimming کارت اعتباری

تصویر(1)

میل و رغبت هکرها در حال افزایش است

بر اساس تحلیل جدیدی که انجام شده، حملات Magecart بین سال‌های 2021 تا 2022 افزایش 26 درصدی داشته و در مجموع 5.5 میلیون حمله تنها در سال 2022 ثبت شده است. آمار 2022-2023 افزایش قابل توجهی را نشان می دهد. تا زمانی که سارقان، وب سایت های محافظت نشده ای که اطلاعات پرداخت را مدیریت می کنند هدف قرار دهند، پیش بینی می شود این روند همچنان ادامه داشته باشد. مهاجمان می توانند اطلاعات مالی، از جمله جزئیات کارت اعتباری را از مشتریان بی احتیاط با درج کد مخرب در صفحه پرداخت یک وب سایت، سرقت کنند. این مورد ممکن است منجر به ضرر مالی، سرقت هویت و آسیب به اعتبار شرکت و مشتری شود.

برای توسعه‌دهندگان وب‌سایت، این یک هشدار جهت اتخاذ تدابیر امنیتی قوی، بررسی مکرر وب‌سایت‌هایشان برای رفتارهای مشکوک و در جریان ماندن از آخرین روندها و خطرات در زمینه امنیت سایبری می باشد. اگر این کار را نکنند، شرکت و مشتریان آنها ممکن است عواقب شدیدی را متحمل شوند.

روش های کاربردی برای محافظت از اپلیکیشن ها در مقابل حملات skimming کارت اعتباری

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

  • همیشه از رمزگذاری SSL/TLS برای ایمن سازی داده هایی که از طریق اینترنت منتقل می شوند، استفاده کنید. این رمزگذاری، داده های حساس مانند اطلاعات کارت اعتباری را از دسترسی اشخاص غیرمجاز محافظت می کند.
  • برای حفظ امنیت داده های پرداخت، از سازگاری PCI-DSS با اپلیکیشن تحت وب خود مطمئن شوید.
  • از نگهداری اطلاعات پرداخت، مانند شماره کارت اعتباری در سرور یا پایگاه داده خود، اجتناب نمایید. از یک پردازشگر پرداخت جانبی مانند درگاه های پرداخت برای انجام تراکنش استفاده کنید. این درگاه ها، پردازش و ذخیره سازی داده ها را انجام خواهند داد.
  • محدود کردن دسترسی به داده‌های دارنده کارت: دسترسی به اطلاعات دارنده کارت را فقط به کسانی محدود کنید که برای انجام وظایف خود به آن نیاز دارند.
  • اگر به طور موقت داده‌های پرداخت را ذخیره می‌کنید، از توکن‌ برای جایگزینی داده‌های حساس با یک رمز غیر حساس استفاده نمایید. علاوه بر این، از تکنیک های رمزگذاری شناخته شده جهت رمزگذاری اطلاعات پرداخت، کمک بگیرید. 
  • از احراز هویت چند عاملی و دسترسی با حداقل امتیاز استفاده کنید تا تضمین شود که فقط کاربران مجاز می توانند به سیستم پرداخت دسترسی داشته باشند. حداقل مجوزهای لازم را برای هر حساب کاربری اختصاص داده و دسترسی به داده های حساس را محدود کنید.

مقابله با حملات skimming کارت اعتباری

تصویر(2)

  • دو مشکل رایج تزریق که هکرها برای دسترسی به پایگاه داده یا دایرکتوری شما استفاده می کنند، تزریق SQL و LDAP هستند. آنها داده های نادرست را با استفاده از یک دستور ارسال می کنند و شما را فریب می دهند تا دستورالعمل ها را برای دسترسی به داده های مهم، اجرا کنید.
  • اطمینان حاصل کنید که بروزرسانی های امنیتی برای اپلیکیشن تحت وب شما انجام شده است تا تضمین شود که آسیب‌پذیری‌های شناخته شده حملات skimming کارت اعتباری برطرف شده‌اند. 
  • از ابزارهای نظارتی برای جستجوی فعالیت های مشکوک مانند تلاش های ناموفق مکرر برای ورود به سیستم یا چندین تراکنش کارت اعتباری از یک آدرس IP، استفاده کنید.
  • کاهش خطر سرقت اطلاعات هویتی: CI/CD ( یکپارچه‌سازی و استقرار مداوم - این ویژگی با خودکارسازی مراحل توسعه نرم‌افزار، ارائه آن را سرعت می‌بخشد) خود را با نظارت و شناسایی کلیدهای API، توکن ها، احراز هویت، پیکربندی امنیتی نادرست و سایر تهدیدات، بدون کاهش سرعت، افزایش دهید.
  • یک فایروال اپلیکیشن وب (WAF) را برای محافظت از وب سایت در برابر حملات رایج مانند تزریق SQL، اسکریپت بین سایتی (XSS) و جعل درخواست بین سایتی (CSRF) پیاده سازی کنید.
  • هکرها می توانند با استفاده از آسیب پذیری های XSS، به میکروفون ها، وب کم، موقعیت مکانی و داده های خصوصی گوشی هوشمند شما دسترسی داشته باشند. به کمک احراز هویت کاربر، می‌توانید از دسترسی کدهای مخرب به سیستم خود جلوگیری نمایید.
  • به طور مرتب از داده ها نسخه پشتیبان تهیه کرده و آنها را به صورت ایمن ذخیره کنید تا در صورت بروز نقص امنیتی، داده ها از دست نروند.
  • به طور منظم تست نفوذ و سایر ارزیابی‌های آسیب‌پذیری را جهت شناسایی و رفع نقاط ضعف امنیتی پیش از سوءاستفاده، انجام دهید.

اقدامات امنیتی برای مقابله با حملات skimming کارت اعتباری

تصویر(3)

منابع مهم برای کدنویسان

چندین کتابخانه می توانند به توسعه دهندگان جهت انطباق PCI DSS با اپلیکیشن ها در مقابله با حملات skimming کارت اعتباری کمک کنند.

پایتون

  • PyCryptodome یک بسته پایتون مستقل از رمزنگاری های ابتدایی سطح پایین است. می توان از آن برای رمزگذاری و رمزگشایی داده های حساس و اجرای پروتکل های ارتباطی امن استفاده کرد.
  • Requests یک کتابخانه محبوب پایتون برای ایجاد درخواست های HTTP است. از رمزگذاری SSL/TLS و اعتبارسنجی گواهینامه پشتیبانی می‌کند که می‌توان اطمینان حاصل کرد داده‌های منتقل شده از طریق شبکه، در برابر استراق سمع و حملات هکرها محافظت می‌شوند.
  • Flask-Security یک افزونه چند منظوره است که ویژگی های احراز هویت، مجوز و مدیریت کاربر را ارائه می دهد. همچنین شامل پشتیبانی از هش رمز عبور، بازنشانی رمز عبور و احراز هویت چند عاملی است که همگی برای انطباق با PCI DSS نیاز هستند.
  • PyJWT یک پیاده سازی JSON Web Token در پایتون است. می توان از آن برای تولید و اعتبارسنجی توکن های ایمن جهت احراز هویت استفاده کرد که هنگام انطباق با PCI DSS مورد نیاز است.
  • Boto3 کیت توسعه نرم افزار خدمات وب آمازون برای پایتون است که یک رابط ساده و درعین حال قدرتمند برای تعامل با خدمات AWS فراهم می کند.
  • PyMySQL یک کتابخانه کلاینت pure-Python MySQL (بسته "Pure-Python"، فقط حاوی کد پایتون است) می باشد که می تواند برای برقراری ارتباط امن با پایگاه داده های MySQL استفاده شود. همچنین از رمزگذاری SSL/TLS، هش رمز عبور و سایر ویژگی های امنیتی مورد نیاز، برای انطباق با PCI DSS پشتیبانی می کند.

نحوه مقابله با حملات skimming کارت اعتباری

تصویر(4)

PHP

  • OpenSSL یک کتابخانه رمزنگاری است که API ها را برای الگوریتم های رمزنگاری مختلف از جمله AES، RSA و SHA فراهم می کند. می توان از آن برای رمزگذاری و رمزگشایی داده های حساس و اجرای پروتکل های ارتباطی امن استفاده کرد.
  • PHP PasswordLib کتابخانه ای است که API هایی را برای هش کردن رمز عبور و اعتبارسنجی آن ارائه می دهد. می توان از آن برای ذخیره ایمن رمزهای عبور در پایگاه داده و جلوگیری از آسیب پذیری های امنیتی رایج حملات skimming کارت اعتباری مانند تزریق SQL و حملات XSS استفاده نمود. 
  • PHP Secure Session :PHP Secure Session کتابخانه ای است که API هایی را برای مدیریت امن سشن ارائه می کند. می توان برای جلوگیری از سرقت session و درز داده های حساس، از آن استفاده کرد.
  • PHPIDS یا PHP Intrusion Detection System کتابخانه ای است که API هایی را برای تشخیص و پیشگیری از نفوذ فراهم می کند. می توان از آن برای شناسایی و جلوگیری از آسیب پذیری های امنیتی رایج مانند تزریق SQL و حملات XSS استفاده کرد.
  • Symfony Security Bundle یک مولفه امنیتی است که ویژگی‌های احراز هویت، مجوز و مدیریت کاربر را برای اپلیکیشن Symfony فراهم می‌نماید. این مورد شامل پشتیبانی از هش رمز عبور، بازنشانی رمز عبور، و احراز هویت چند عاملی است که همگی برای انطباق با PCI DSS نیاز هستند.
  • AWS SDK، کیت توسعه نرم افزار AWS یا SDK برای PHP است. این کیت یک رابط ساده و درعین حال قدرتمند برای تعامل با خدمات AWS ارائه می کند.

C#

  • Bouncy Castle یک کتابخانه رمزنگاری است که API هایی را برای الگوریتم های رمزنگاری مختلف از جمله AES، RSA و SHA ارائه می دهد. می توان از آن برای رمزگذاری و رمزگشایی داده های حساس و اجرای پروتکل های ارتباطی امن استفاده نمود.
  • Microsoft Identity Platform یک راه حل مدیریت هویت و دسترسی مبتنی بر ابر است که ابزارهای احراز هویت، مجوز و مدیریت کاربر را ارائه می دهد. این مورد شامل پشتیبانی از هش رمز عبور، بازنشانی رمز عبور و احراز هویت چند عاملی است.
  • Microsoft SQL Server Cryptographic Provider یک کتابخانه رمزنگاری است که API هایی را برای الگوریتم های رمزنگاری مختلف از جمله AES، RSA و SHA ارائه می دهد. می توان از آن برای رمزگذاری و رمزگشایی داده های حساس ذخیره شده در پایگاه داده SQL Server استفاده کرد.
  • FluentValidation یک کتابخانه دات نت است که یک API برای تعریف قوانین اعتبارسنجی مدل ارائه می دهد. می توان از آن برای اعتبارسنجی داده های ورودی و جلوگیری از آسیب پذیری های امنیتی رایج حملات skimming کارت اعتباری مانند تزریق SQL و حملات XSS استفاده کرد.
  • ASP.NET Core Identity یک سیستم عضویت است که ویژگی های احراز هویت و مجوز را برای برنامه های ASP.NET Core فراهم می کند. این مورد شامل پشتیبانی از هش رمز عبور، بازنشانی رمز عبور و احراز هویت چند عاملی است.

کاربردی ترین روش های مقابله با حملات skimming کارت اعتباری

تصویر(5)

Firewall

به منظور محافظت از داده های ذخیره شده مالک کارت اعتباری، ابتدا باید فایروال را نصب، پیکربندی کنید. مطمئن شوید که محیط شما با VPC (ابر خصوصی مجازی) پیاده سازی شده است و DMZ های عمومی و زیر شبکه های خصوصی به درستی تفکیک شده اند. علاوه بر این، برای ایجاد یک لایه امنیتی اضافی، می‌توانید از روش های مدیریت تهدید یکپارچه (UTM) در زیرشبکه‌های عمومی استفاده کنید.

حذف اطلاعات پیش فرض

رمز عبور پیش‌فرضی که توسط یک ارائه‌دهنده خدمات یا فروشنده تنظیم شده، باید فورا تغییر کند. حذف اسکریپت ها، پکیج ها و سرویس های بلا استفاده نیز ضروری است.

محدودیت دسترسی

دو نوع دسترسی وجود دارد: 

  • دسترسی فیزیکی
  • دسترسی مجازی

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

مراقبت  از حساب ها برای مقابله با حملات skimming کارت اعتباری

تصویر(6)

جمع بندی:

در این مقاله نحوه وقوع حملات skimming کارت اعتباری و پیامدهای آنها برای مشاغل و مشتریان ذکر شده است. همچنین بهترین روش‌های محافظت از اپلیکیشن های تحت وب، استفاده از رمزگذاری SSL/TLS، اجرای PCI-DSS، جلوگیری از ذخیره اطلاعات پرداخت در سرورها و ارزیابی‌ منظم  آسیب‌پذیری ها، شرح داده شد.

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

اشتراک گذاری:

نظرات

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *