بانک و بیمهپرداخت الکترونیک

چرا باید USSD را از نظام پرداخت کارتی کشور حذف کرد؟

محمدجواد صمدی، کارشناس صنعت پرداخت؛ ماهنامه عصر تراکنش / در اولین روز کاری سال جدید، مقاله راه پرداخت با عنوان «یواس‌اس‌دی؛ ظهور تا سقوط / نگاهی به مسیر پرپیچ‌وخم یواس‌اس‌دی از ابتدا تا امروز» را دیدم و تذکری شد که یادداشت نیمه‌کاره‌ای را که سال گذشته رها کرده بودم، تکمیل کنم و بتوانم یک مقدار جزئی‌تر مقوله مخاطرات USSD را تشریح کنم.

تأمین امنیت سامانه‌های پرداخت و حفاظت از اطلاعات دارندگان کارت‌های بانکی (Card Holder Data) توسط متولیان امر، یکی از مهم‌ترین شاخص‌هایی است که باعث شده مردم به کارت‌های بانکی اعتماد کنند و پرداخت کارتی به‌صورت همه‌گیر در کشور توسعه یابد. در صورتی که خدشه‌ای به این اعتماد وارد شود، قطعاً ریزش قابل توجهی از تراکنش‌ها را توسط شهروندان شاهد خواهیم بود.

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

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

 

مقایسه معماری پرداخت اینترنتی (IP) و پرداخت USSD) UP)

همان‌گونه در تصویر زیر مشاهده می‌کنید، در معماری پرداخت اینترنتی کاربر نهایی (دارنده کارت) با بهره‌گیری از فناوری SSL/TLS می‌تواند مطمئن باشد که به سرویس‌دهنده مطمئنی متصل شده است (احراز هویت سرویس‌دهنده) و همچنین مطمئن است که اطلاعاتی که در صفحه درگاه پرداخت وارد می‌کند از پایانه نهایی تا سرویس‌دهنده رمزنگاری می‌شود و به این ترتیب هیچ‌کس نمی‌تواند در بین راه اطلاعات پرداخت را مشاهده کند یا تغییر دهد.

بنابراین دارندگان کارت‌های شتابی در زمان پرداخت‌های اینترنتی صرفاً با دیدن اتصال SSL به درگاه‌های مجاز (https://*.shaparak.ir) با آسودگی خاطر، تراکنش خود را انجام می‌دهند و یک تراکنش مبتنی بر اعتماد (Authenticity, Confidentiality and Integrity) شکل می‌گیرد.

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

پیام‌های USSD مبتنی بر پروتکل MAP/SS7 بین عناصر شبکه موبایل تبادل می‌شود و از آنجایی که این پروتکل یک پروتکل مدیریتی و سیگنالینگ مخابراتی است، عناصر درگیر در شبکه موبایل به تفصیل به ترجمه این پیام‌ها می‌پردازند و به عبارتی شبکه موبایل به تفصیل در جریان کلیه پیام‌های تبادل‌شده خواهد بود و در صورت لزوم به ذخیره‌سازی پیام‌های تبادل‌شده نیز می‌پردازد.

به‌دلیل ضرورت مدیریت خطا در شبکه موبایل، کلیه پیام‌های USSD مشخصاً در MSC, VLR, HLR پردازش می‌شوند و در نهایت از طریق درگاه USSD به شبکه پرداخت هدایت می‌شوند.

با توجه به موارد فوق، کاربر نهایی (مشترک شبکه موبایل و دارنده کارت) نمی‌تواند شرایط اعتماد را احراز کند؛ به عبارت دیگر:

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

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

جدول مقایسه دو روش پرداخت و پرداخت USSD از منظر مدل اعتماد

آیا تراکنش قبض روی USSD امن است؟

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

 

آیا سامانه پیوند می‌تواند تضمین‌کننده امنیت پرداخت با USSD باشد؟

سامانه پیوند با بهره‌گیری از ایده نشان‌گذاری (Tokenization) تلاش می‌کند که نشان دیگری به‌جای شماره کارت از کاربر دریافت شود که این موضوع قطعاً به بهبود شرایط امنیتی بستر USSD کمک می‌کند، اما ریسک‌های متعددی همچنان وجود دارد که اهم آن به شرح زیر است:

  • اغلب USSD Gateway های موجود دارای پایگاه داده‌های بزرگ از شماره کارت‌های بانکی هستند که ناشی از رسوب اطلاعات چندساله فعالیت این سامانه‌هاست و استخراج شماره کارت واقعی از شماره کارت تراکنکیت‌شده (فرمت ۴*****۶) در سامانه پیوند، کاری نسبتاً ساده خواهد بود.
  • هیچ‌یک از اشکالات طرح‌شده در مدل اعتماد را به‌طور کامل برطرف نمی‌کند:
  1. احراز هویت پذیرنده؛
  2. محرمانگی اجزای تراکنش؛
  3. غیرقابل تغییر بودن اجزای تراکنش.
  • به‌دلیل عدم ثبت مداوم کارت‌های جدید و کارت‌های پیش‌پرداخت (نظیر کارت هدیه و…) در سامانه پیوند توسط بانک‌ها، همچنین فرایندهای کاری پیچیده جهت مدیریت چرخه حیات اطلاعات کارت در سامانه پیوند، شرایط کاربرپسند بودن USSD دچار تغییر شده و PSP ها روش‌های گذشته خود را در کنار سامانه پیوند حفظ کرده‌اند.

 

آیا به‌کارگیری اپلت روی سیم‌کارت می‌تواند در ایجاد شبکه امن USSD مؤثر باشد؟

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

فناوری مورد استفاده جهت اپلت سیم‌کارت (اپلت، نرم‌افزار کاربردی کوچکی است که روی بستر جاوا کارت/سیم‌کارت بارگذاری می‌شود) را STK  (Simcard Tool Kit) می‌نامند. در این فناوری با بهره‌گیری از قابلیت‌های فنی جاوا کارت می‌توان یک برنامه خاص‌منظوره تولید کرد که در حوزه پرداخت USSD انتظار می‌رود این اپلت نسبت به دریافت امن شماره کارت و رمز دوم اقدام کرده و یک تراکنش امن رمزشده را تولید کند و سپس پیام رمزشده از بستر USSD به درگاه پرداخت بانک ارسال شود. درگاه پرداخت بانک بخش رمزنگاری‌شده پیام را استخراج کرده و پس از رمزگشایی به شبکه پرداخت ارسال می‌کند.

 

اهم مشکلات اجرایی که در این حوزه قابل طرح است، به شرح زیر است:

۱. طراحی و توسعه معماری مناسب قابل اعتماد جهت بهره‌گیری سه اپراتور تلفن همراه و ۱۲ شرکت PSP

به‌منظور تأمین شرایط مدل اعتماد، ضرورت دارد تا یک مکانیسم مدیریت کلید مناسب طراحی شود که سه اپراتور و ۱۲ شرکت PSP بتوانند از آن استفاده کنند و همچنین این ساختار مدیریت کلید باید بتواند برای سیم‌کارت‌های موجود نیز قابل پیاده‌سازی باشد. طراحی و پیاده‌سازی چنین ساختاری که مورد توافق ۱۵ ذی‌نفع متفاوت است، امری نسبتاً زمانبر، پرهزینه و پرچالش خواهد بود.

 

۲. نصب و راه‌اندازی اپلت مذکور روی سیم‌کارت‌های مشترکان

در صورت نهایی‌سازی ساختار فنی و توسعه اپلت مورد نیاز مطابق با شرایط فوق و تبیین روش‌های شخصی‌سازی و تزریق کلید اپلت، بارگذاری اپلت روی سیم‌کارت‌های موجود در بازار امری پرچالش خواهد بود. با توجه به محدودیت‌های اپراتورهای موبایل کشور در حوزه نصب از راه دور اپلت (OTA) روی سیم‌کارت، این امر باید با مراجعه حضوری مشتریان به مراکز خدماتی مورد اعتماد و از طریق به‌روزرسانی سیم‌کارت با کارت‌خوان خاص یا تعویض سیم‌کارت انجام پذیرد.

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

 

۳. کاربرپسند بودن سرویس پرداخت USSD

بزرگ‌ترین مزیت USSD، کاربرپسند بودن آن و استفاده از آن بدون نصب هیچ نرم‌افزاری و روی حداقل سخت‌افزارهای گوشی تلفن همراه بود که در راه‌حل اپلت روی سیم‌کارت، تقریباً اغلب این مزیت‌ها منتفی خواهند شد. ضرورت دارد که کاربر یک نرم‌افزار جاوایی (اپلت) را روی گوشی خود نصب کند و در نتیجه امکانات این سرویس محدود به منوها و کاربردهایی است که در این نرم‌افزار تعریف شده و در صورت نیاز به تغییر در آن لازم است اپلت‌های نصب‌شده روی سیم‌کارت‌ها به‌روزرسانی شوند.

در تصویر زیر یک نمونه ساختار منویی تولیدشده برای سرویس MPESA مبتنی بر فناوری STK و اپلت ویژه این موضوع را مشاهده می‌کنید که پس از نصب اپلت روی گوشی فراهم شده است.

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

 

در مورد پرداخت USSD چه باید کرد؟

با توجه به نکات مطرح‌شده در فوق، اقدامات زیر پیشنهاد می‌شود:

  1. ممنوعیت هر نوع پرداخت کارتی و خدمات بانکی روی کانال USSD (اعم از قبض، شارژ، خرید و…)؛
  2. راه‌اندازی شبکه‌های بسته (Close Loop) با کاربردهای خاص‌منظوره مبتنی بر USSD و ایجاد درگاه‌های مجاز (مبتنی بر ظرفیت‌های شبکه پرداخت کارتی)، جهت Cash-in و Cash-out به این شبکه‌های بسته؛
  3. تعیین مهلت حداکثر شش‌ماهه جهت تعویض رمز دوم کارت‌های شتابی صادرشده جهت پوشش ریسک‌های احتمالی؛
  4. انجام مطالعه دقیق فنی و اجرایی در خصوص به‌کارگیری سرویس رمزنگاری مبتنی بر سیم‌کارت برای بستر USSD و اخذ تصمیم کارشناسی.

 

آیا برنامه‌های کاربردی پرداخت موبایلی از امنیت لازم برخوردار هستند؟

راهکار جایگزین شرکت‌های PSP و بانک مرکزی برای سرویس USSD استفاده از برنامه‌های کاربردی پرداخت موبایلی (نظیر تاپ، آپ، سکه، پات و…) است که با بهره‌گیری از امکانات گوشی‌های هوشمند شرایط کاربرپسند و متنوعی را برای شهروندان فراهم کرده است. حال سؤال این است که آیا شرایط امنیتی مورد نیاز در مدل اعتماد برای برنامه‌های کاربردی پرداخت موبایلی فراهم شده است؟ با یک بررسی اولیه می‌توان گفت که مخاطرات جدی در این حوزه نیز وجود دارد و در صورتی که بانک مرکزی، شاپرک و شرکت‌های PSP در این خصوص اقدام مناسب و عاجلی به عمل نیاورند، مشکلات جدیدی گریبانگیر شبکه پرداخت کشور خواهد شد، اهم این مخاطرات به شرح زیر است:

  • عدم معرفی یک مرجع برخط قابل استناد (AppStore) در کشور جهت دریافت آخرین نسخ معتبر نرم‌افزارهای کاربردی پرداخت موبایلی

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

 

  • عدم به‌کارگیری فناوری‌های مناسب امنیت موبایل

به‌طور کلی راهکارها و فناوری‌های امنیتی در حوزه اپلیکیشن‌های موبایل در دو سطح ایستا (ایمن‌سازی برنامه در مقابل آن دسته از تهدیدات و آسیب‌پذیری‌هایی که نرم‌افزار را در حالت نصب‌نشده از طریق دستکاری در سورس کد، فایل‌های نصبی و… مورد هجوم قرار می‌دهند) و همچنین پویا (ایمن‌سازی برنامه در مقابل آن دسته از تهدیدات و آسیب‌پذیری‌هایی که نرم‌افزار را در حالت نصب‌شده و در حال اجرا از طریق دستکاری ارتباطات، فرایندها و… مورد هجوم قرار می‌دهند) مطرح می‌شوند. در ادامه برخی از راهکارها و فناوری‌های امنیتی محوری حوزه برنامه‌های موبایل در دو سطح ایستا و پویا آورده شده است.

 

سطح ایستا (Static)

  • Name Obfuscation
  • Control Flow Obfuscation
  • String Encryption
  • Package Signing and Protection
  • Arithmetic Obfuscation
  • Removal of Logging code
  • Protection of Webview and Cardova
  • Call Hiding
  • Code Packing
  • Native Code Obfuscation

 

سطح پویا (Runtime):

  • SSL Pining
  • Root Detection
  • RASP – runtime application self-protection
  • Debugger and emulator checks
  • Hook Detection
  • Tamper Detection
  • Certificate Check

منبع

راه پرداخت

همچنین بخوانید

دکمه بازگشت به بالا