تلفن همراه عصر تراکنش پرداخت

چرا باید 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

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

اتاق خبر راه پرداخت

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

۶ دیدگاه

  • عرض سلام و احترام
    جناب آقای محمدجواد صمدی مقایسه حضرتعالی قیاس معالفارق است و انتظار از کارشناس،مدیر، فعال صنعت پرداخت بیشتر از این است . ضمن اینکه جناب آقای محمد جواد صمدی نشر هر مقاله و مطلب تخصصی بایستی با بازنگری و بازخوانی چندین و چندبار و با دقت بیشتری باشد تا حداقل فرا از رعایت نگارش و رعایت گرامر دستور زبان و . . . بدون غلط املایی باشد .
    «بر فرض مثال در متن حضرتعالی هست : به روش کج‌دار و مریز رفتار می‌کند !!! مریز !!! فکر کنم مریض صحیح باشد یا برای مثال دوم : کارت واقعی از شماره کارت تراکنکیت‌شده !!! البته واژه truncate یک واژه خارجی و بمعنی کوتاه شدن هست . بهتر است در دستور زبان فارسی از کلمات جایگزین یا همان اصطلاح تخصصی و اصلی استفاده کرد. هرچند در صورت استفاده از این واژه با کاراکترهای فارسی بهتر بود و هست از ترانکیت استفاده کنیم نه تراکنکیت !!! »
    با تشکر
    سمیع امامی دانالو

    • سلام
      اولا که برای ما به عنوان راه پرداخت باعث افتخاره که خوانندگانی دقیق مثل شما داریم و امیدواریم براتون این محتواها مفید باشه.
      با توجه به اینکه مواردی رو مطرح کردید، لازم دونستم که پاسخ بدم؛ اول اینکه عبارت «کج‌دار و مریز» صحیح هست و این عبارت به معنای «رفتار همراه با احتیاط و مدارا» طبق فرهنگ فارسی معین. پس این عبارت درست نوشته شده.
      اگر مورد دیگری هم هست که غلط نگارشی یا ویرایشی داره بفرمایید که حتما اصلاح کنیم.
      در مورد موضوع دوم که فرمودید چون یک عبارت تخصصی است هم باید خود آقای صمدی پاسخ بدن.
      ممنون

    • دکتر حداقل قبل از اینکه با این همه اعتماد بنفس پیام بذاری یه مراجعه به لغتنامه میکردی تا متوجه میشدی کجدار و مریز درسته!
      ینی بزبان خودمانی کج نگهدار ولی نریز! ینی نصفه نیمه…

  • عرض سلام و احترام
    اساتید ناشاناس و بی هویت و به اصطلاح بهتر مجهول الهویه که در جامعه فعلی با شخصیت و جایگاه حضرتعالی کم نیست . بنده به لغتنامه هم مراجعه کرده و بهتر از شما میدانم که چه گفته و چه نقدی داشتم . استاد ادبیات و زبان فارسی شما اول ادبیات سخن گفتن ، ادب و نزاکت سخن گفتن ، تعاملات اجتماعی و تایپ یعنی را یاد بگیرید بعد لب به سخن گفتن و نقد کنید.
    « ضمنا تو ذات و شخصیت افراد ناشناس و افرادی از جنس شما هست که زود خودمانی و به اصطلاح پسرخاله می شوند و با ادبیات کوچه و بازاری سخن می گویند (یه مراجعه ، ینی و . . .) !!! »
    جمله تکمیلی تر هم عرض میکنم که دقیقا شامل حضرتعالی و طیف وسیعی از افراد ناشناس از جنس شما هست :
    إِذَا خَاطَبَهُمُ الْجَاهِلُونَ قَالُوا سَلاَماً . . .

  • با سلام
    ممنون جناب صمدی از مقاله ای که ارائه فرمودید استفاده کردیم.
    امیدوارم روزی برسد که همه دوستان با رویکرد سازنده اظهار نظر فرمایند و نقدشان هم ارزشمند و قابل بهره برداری برای سایر دوستان باشد و نه اینکه مطالب حاشیه ای، بی اهمیت، غیر فنی و حتی نادرست در نقدها باشد.
    با تشکر

  • سلام و درود
    ممنون از ارایه مقاله، به نظر میرسه با توسعه انواع ابزار و کانال های پرداخت، زمان آن فرا رسیده که ussd در جایگاه و کارکرد خودش مورد استفاده قرار بگیره و نه فراتر از آن
    با تشکر

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