Tuesday, May 1, 2012

امنیت در سویچ شرکت خدمات انفورماتیک ایران


شرکت خدمات انفورماتیک ایران که دارنده سویچ شتاب و دست راست بانک مرکزی برای تمامی پروژه های بزرگ در صنعت بانکداری الکترونیکی میباشد. انحصار کامل خدمات سویچ مربوط به سویچهای ملی را در اختیار دارد. این شرکت علاوه بر پیاده سازی و اجرای پروژه های بزرگ ملی در صنعت پرداخت الکترونیکی بیشترین درآمدهای این صنعت را نیز در انحصار خود دارد و از کارمزدهای مربوط به شتاب و اخیرا شاپرک یک امپراتوری انفورماتیکی برای خود ساخته است. مدیریت این شرکت غالبا توسط بانک ملی با توجه به میزان سهم بالای این بانک در شرکت فوق تعیین میشود. همچنین به علت عدم وجود کارشناسان بانکداری الکترونیکی در بانک مرکزی تمامی درخواستهای فنی و استانداردهای بانکی مورد نیاز از این شرکت استعلام میگردد. و یا به این شرکت ارجاع میشود. این موارد به حدی اغراق آمیز اعمال میگردد که شرکت انیاک برای اثبات استاندارد بودن سویچ خود به دروغ میگفت تائیدیه شتاب را دارد و به سویچ شتاب متصل شده است. در حالی که به عنوان PSP نمیتواند مستقیما به شتاب متصل شود.
این توضیحات در مورد شرکت خدمات انفورماتیک ایران از این جهت ارائه گردید تا خواننده محترم این وبلاگ به جایگاه این شرکت در صنعت بانکداری الکترونیکی کشور پی ببرد. این شرکت هم اکنون جزء شرکتهای حاضر در بازار بورس ایران نیز میباشد. همچنین با توجه به اظهارات خانم اسمعیلی "یکی از انگیزه‌های اصلی در تعریف طرح شاپرک نظارت بر شرکت‌های PSP بوده ‌است و قرار شده از طریق این شرکت این نظارت انجام شود." یعنی شرکت خدمات انفورماتیک ایران مسئول نظارت بر PSP ها و تامین امنیت شبکه پرداخت الکترونیکی شده است.
مطالب ارائه شده در این پست مربوط به سویچ پذیرندگی شرکت خدمات انفورماتیک ایران میباشد که توسط این سویچ به کارتهای بانکی و پوزهای بانک کشاورزی خدمات رسانی میکند.  خانم نسترن اسمعیلی "مدیر پروژه سیستم‌های کارت شرکت خدمات انفورماتیک" در هفته نامه عصر ارتباط (خود شرکت خدمات انفورماتیک از چه استانداردهایی برای سیستم کارت پیروی می‌کند؟
روال‌هایی که رعایت می‌شود طبق روال‌های استاندارد است. به طور مثال یک نفر به کلید دسترسی ندارد، نگهداری کلید‌ها تحت روال‌های استاندارد امنیتی است. شاید مهم‌ترین بخشی که رعایت شده است جداسازی بخش راهبری از بخش تولید و توسعه است. کسانی که نرم‌افزار تولید می‌کنند به داده‌ها دسترسی ندارند و داده‌ها تحت کنترل تیم دیگری است که به نرم‌افزار دسترسی ندارند. این امر در طول سالیان به ما کمک زیادی کرده است. به علاوه استانداردهای ما تا حد زیادی با PCIDSS تطبیق دارد، یعنی داده‌های محرمانه را اصلا ذخیره نمی‌کنیم، داده‌ها را فقط پردازش می‌کنیم. نگهداری رمز‌ها حتی در سیستم‌ها به صورت رمزنگاری‌شده هم نیست. این‌ها روال‌های استانداردی است که در سیستم استفاده شده ‌است. )
واقعیت اینست که مشکل امنیتی وقتی به نقطه بحرانی میرسد که مجری سیستمهای بانکی که بایستی نکات امنیتی را رعایت کند خود همزمان ناظر رعایت شدن نکات امنیتی در کشور میشود. این وضعیتی است که در کشورمان پس از مطرح کردن عدم وجود امنیت در سیستم بانکی به وجود آمده است و این بار کج هرگز به مقصد نخواهد رسید. همچنان که آقای حکیمی نیز اذعان نموده بود من در مورد وجود نا امنی در شبکه بانکی به بانک مرکزی اطلاع رسانی نکرده بودم. علت این نوع تصمیم گیری از سوی بنده عدم توان بانک مرکزی در حل بحران بوده است. اتکاء بانک مرکزی در موارد تخصصی به شرکت خدمات انفورماتیک یکی از مشکلات این سازمان در انجام وظایف قانونی خود میباشد. قاعدتا یک بانک مرکزی قوی میبایستی توان نظارت مستقیم به تمامی بانکها و شرکتهای سرویس دهنده را داشته باشد. و این نظارت بایستی توسط شرکتهای سرویس دهنده انجام نشود چرا که خود این شرکتها نیاز به نظارت دارند.
زمانیکه در انیاک بودم فرمت پیغامهای سویچ خدمات را برای اتصال پوزهای بانک کشاورزی دریافت کردم تا نرم افزار مورد نیاز بانک را آماده نمایم. این فرمت که به صورت یک داکیومنت ارسال شده بود نحوه درست کردن اطلاعات مورد نیاز برای ارسال به سویچ خدمات را برای انجام تراکنشهای مختلف مانند خرید – موجودی – پرداخت قبض و ... نشان میداد ضمنا به همراه این داکیومنت یک فایل کتابخانه Lib ویک فایل Header  برای توابع تعریف شده در فایل کتابخانه وجود داشت. رمز کارت دریافتی از مشتری میبایستی توسط یکی از توابع این فایل کتابخانه رمزنگاری شده به سویچ ارسال میشد. این به معنی این بود که تمامی پوزها با استفاده از یک کلید عمومی اقدام به رمزنگاری پین بانکی یا همان رمز دارنده کارت میکنند. جهت اطمینان سعی کردم این کلید عمومی را پیدا کنم این جستجو در کمتر از نیم ساعت نتیجه داد و با چند تست از صحت این کلید اطمینان پیدا کردم. پس از آن نیز فایل کتابخانه فوق را کنار گذاشته از کلید یافته شده برای ایجاد تراکنشها استفاده کردم. در حقیقت من تنها میخواستم از سرویس پرداخت قبض استفاده کنم. قبلا اشاره کرده بودم که با اتصال دستگاه پوز به دستگاه بارکد خوان اولین دستگاه باجه الکترونیکی پرداخت قبض را برای بانکها ابداع کرده ام و این پروتکل را برای این دستگاه میخواستم استفاده کنم. چون سرویس پرداخت قبض در سویچ بانک تجارت راه اندازی نشده بود. و ما میخواستیم این دستگاه را به بانکها بفروشیم.
مطالعه فرمت پیغامهای سویچ خدمات حقایق تلخی را برای من روشن کرد. این فرمت با هیچ یک از فرمتهای استاندارد بانکی همخوانی نداشت. حتی فرمت استاندارد 8583ISO مربوط به 1987 نیز نبود. کارشناسان محترم شرکت خدمات انفورماتیک با پشت سر هم چیدن اطلاعات مورد نیاز در یک سری فضاهای کاراکتری از پیش تعیین شده پیغام مورد نیاز را درست کرده و از آن استفاده میکردند. تصور چنین فرمت و یا به اصطلاح پروتکلی غیر قابل باور بود. هیچگونه کنترلی برای تغییر محتوای اطلاعات بعد از ارسال وجود نداشت به زبان فنی پیغام ارسالی به سویچ خدمات کاملا فاقد MAC میباشد. هیچگونه مدیریت کلیدی وجود ندارد. چون تنها کلید استفاده شده درون یک فایل کتابخانه ای ارسال شده بود. که آنهم در کمتر از نیم ساعت لو رفت.
پس از پیاده کردن این پروتکل برای دستگاههای پرداخت قبوض دستگاههای فوق برای شعب مختلف بانکها ارسال شدند. حتی برای بانک ملی با آرم بانک ملی تراکنش را به سویچ بانک کشاورزی ارسال میکردیم. عملیاتی شدن این دستگاه باعث شد. سایر مشکلات سویچ خدمات نیز خود نمائی کنند. حقیقت از این قرار است که تکنسینهای شرکت انیاک بدون تغییر کد پایانه و پذیرنده دستگاه پوز اقدام به نصب این پوزها کرده بودند. و این کدها به صورت پیش فرض کدهای پایانه و پذیرنده تخصیص داده شده برای اینجانب بودند. لذا این اقدام باعث شد تمامی تراکنشهای پرداخت قبوض از شعب بانکهای مختلف با شماره تنها یک دستگاه پوز به سویچ خدمات ارسال شود. و حجم تراکنشهای این دستگاه پوز به صورت باورنکردنی چند صد برابر شود. من زمانی متوجه این اشتباه تکنسینها شدم که مغایرت یک تراکنش پرداخت قبض را بررسی میکردم. پول از کارت یکنفر کسر شده بود و قبض یکنفر دیگر پرداخت شده بود. علت آن ارسال تراکنش همزمان هر دو دستگاه پوز از مکانهای مختلف با کد پایانه و پذیرنده یکسان بود. البته مسئولین شعبه بانک کشاورزی که پوز من متصل به حساب بانکی بنده در آن شعبه بود به پاس قدردانی از حجم باورنکردنی تراکنشهای این پوز یک لوح تقدیر برایم در شرکت انیاک ارسال کرده بودند.( پیوست ) چرا که خیال میکردند این تراکنشها همگی از یک ترمینال متعلق به بنده ارسال میگردد. این اشتباه عدم کنترل STAN در سویچ خدمات را نیز برایم آشکار کرد. البته به هنگام اصلاح این مشکل خطای دیگر سویچ خدمات نیز آشکار شد. سویچ خدمات به کد پذیرنده حساس نبود و هر کد پایانه مغایر با کد پذیرنده را قبول میکرد و عملکرد صحیح از خود نشان میداد. بایستی خاطر نشان کنم این سطح از ضعف سیستمی احتمالا به خاطر عدم توانائی کارشناسان شرکت خدمات انفورماتیک برای طراحی یک سویچ کامل با سرعت قابل قبول میباشد. و مجبور شده اند برای افزایش سرعت پاسخگوئی تمامی کنترلهای سیستمی سویچ را حذف کنند تا بتوانند چند صد هزار دستگاه پوز را با این سویچ پاسخگوئی کنند.
هم اکنون چند صد هزار دستگاه پوز بانکی با این پروتکل به سویچ خدمات انفورماتیک متصل هستند. و حتی یک دانش آموز دوره راهنمائی نیز میتواند آنها را هک کند. برای روشن شدن بیشتر موضوع به انواع سوء استفاده هایی که بستر آن توسط این سویچ فراهم شده است اشاره میکنم.
ابتدا خاطر نشان میکنم که با ضبط و استفاده از صدای مودم دستگاه پوز به هنگام ارسال و دریافت اطلاعات به بانک میتوان به محتوای این اطلاعات دسترسی پیدا کرد. بنا براین هرکسی که به صورت مستقیم یا غیر مستقیم به اطلاعات رد وبدل شده پوزها دسترسی پیدا کند خواهد توانست از این اطلاعات سوء استفاده کند. این شخص میتواند در هر نقطه ای از مسیر این اطلاعات تا مقصد سویچ خدمات قرار گیرد.
اولین سوء استفاده احتمالی دریافت اطلاعات ارسالی پوز و تغییر آن به هنگام ارسال به سویچ و تکرار این عمل به هنگام بازگشت به پوز میباشد. یعنی سوء استفاده کننده میتواند در جلوی مبلغ خرید یک رقم صفر اضافه کرده و پس از دریافت پیغام سویچ آن را کسر کرده به پوز بازگشت دهد. به عبارت ساده تر ده برابر مبلغ بیشتر از کارت کسر میشود ولی مبلغ چاپ شده روی برگه رسید پوز صحیح و ده برابر کمتر از مبلغ کسر شده است.
دومین سوء استفاده احتمالی ذخیره رمز کارت به صورت رمزنگاری شده و اطلاعات بخش مغناطیسی کارت میباشد. با توجه به اینکه این اطلاعات میتواند برای درست کردن یک پیغام تقلبی غیر واقعی برای ارسال به سویچ استفاده شود. مورد توجه سوء استفاده کننده قرار میگیرد. این درحالی است که اثبات عدم استفاده از کارت و خرید واقعی در پوز غیرممکن است.
سومین سوء استفاده احتمالی ذخیره رمز کارت و اطلاعات بخش مغناطیسی کارت جهت ایجاد یک تراکنش با کد پذیرنده متفاوت دیگر میباشد که قابل ردیابی نباشد. به بیان ساده تر دارنده کارت بدون اینکه وارد مغازه دیگری شود از کارت بانکی وی در آن مغازه استفاده میشود. و شاید هم یک مغازه مجازی غیر واقعی
چهارمین سوء استفاده ممکن شنود به تراکنشهای ارسالی پوزها و استخراج رمز کارت و اطلاعات بخش مغناطیسی کارت از درون این اطلاعات است. این شنود غیر قانونی میتواند در یک فروشگاه زنجیره ای یا پاساژ و یا هر نقطه دیگری باشد. با توجه به اینکه نرم افزارهائی وجود دارد که میتواند محتوای فایلهای داخل پوزهای اینجنیکو را بخواند. استخراج کلید خدمات انفورماتیک از آنها کار چندان سختی نیست.
همچنانکه در موارد فوق مشاهده میکنید امنیت فراموش شده سویچ خدمات انفورمانیک خطرات زیادی برای دارندگان کارتهای بانکی ایجاد میکند که قابل کنترل نمیباشد. یادآوری این نکته که هم اکنون سویچ شتاب در دست شرکت خدمات انفورماتیک میباشد. و ممیزی بانکها و PSP ها نیز برای اتصال به شاپرک به این شرکت واگذار شده است. عمق فاجعه پیش رو را آشکارا روشن میکند. خدا میداند امنیت سویچ شتاب در چه سطحی است. و یا سویچ شاپرک چه سطحی از امنیت را دارا میباشد. من که تنها به یک گوشه از سویچ خدمات انفورماتیک دسترسی پیدا کردم واقعیت را اینگونه دیدم.
البته ذکر این نکته ضروری است که بانک مرکزی تصمیم دارد از بابت استفاده از سویچ شاپرک از مردم 72 تومان کارمزد کسر شود. همچنین بانکها مجبور خواهند شد برای خریدهائی که توسط پوزهای خودشان با کارتهای بانکی خودشان انجام میگیرد به مشتریان خود کارمزد تحمیل کنند. البته با استفاده از شاپرک نیاز به ارسال شتاب عملا از بین میرود و هزینه دریافتی شرکت خدمات بابت شتاب تنها یک باج سبیلی بیش نیست. از 72 تومان کارمزد 25 تومان به نام سویچ شاپرک و25 تومان دیگر به نام سویچ شتاب به جیب شرکت خدمات انفورماتیک خواهد رفت و 22 تومان باقیمانده به PSP یا بانک تعلق خواهد گرفت یعنی شرکت خدمات انفورماتیک بابت انجام دادن تنها کمتر از 5 درصد هزینه های مورد نیاز یک شبکه پرداخت الکترونیکی 70 درصد سود این خدمات را دریافت خواهد کرد. این سودهای انحصاری شرکت خدمات انفورماتیک باعث میشود که به راحتی دروغهای شاخدار بگویند و دیگران را متهم کنند. کار کارشناسی – امانت داری و امنیت در این سودها فراموش میشود. و منافع شرکت در اولویت اول قرار میگیرد.

پیشنهاد من به خانم نسترن اسمعیلی مدیر سیستمهای کارت شرکت خدمات انفورماتیک اینست که به فکر ایجاد امنیت در سویچهای شرکت خدمات انفورماتیک باشند. جلوی هر گونه لطمه به کارتهای مردم را بگیرند جهت اطمینان دادن به ایشان نیز تنها بایت اول کلید پین را در اینجا قید میکنم (5e ). تا حداقل به جای دروغ پردازی در مورد این دسته گل امنیتی اقدام لازم را انجام دهند. البته چنانچه مسئولین بانک کشاورزی درخواست کنند کل کلید را برایشان ارسال خواهم کرد.

در پایان این مقاله یاد آوری میکنم پس از افشاء نا امنیهای موجود در سیستم بانکی تمامی تلاش مسئولین امر برای وارد کردن اتهامات واهی و بی اساس به اینجانب ادامه خواهد داشت. تا به خیال خام خود تاثیر این هشدار بزرگ از بین برود و آقایان در ناز و نعمت به خیانت آشکار خودشان ادامه دهند. متاسفانه برخوردهای ناشیانه ای که از سوی مسئولین در مورد این افشاگری صورت گرفت تمامی امیدهای مرا برای بازگشت امنیت به سیستم بانکی کشور از بین برده است.

خداوند متعال را شکر گذارم که کمک خود را برای آشکار کردن ابعاد مختلف این موضوع از من دریغ نکرد. ضمنا از تمام کسانی که در کنار این وبلاگ تلاش کردند تا آگاهی لازم به مردم ایران داده شود نهایت سپاس خود را ابراز میدارم. با آرزوی اینکه دوستانی که در راه اطلاع رسانی به دیگران یاریم میکنند هیچگاه درمانده و محتاج یاری دیگران نشوند.

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

پیوست: لوح تقدیر ارسالی از بانک کشاورزی بابت ترمینال تخصیص داده شده برای اینجانب. که به خاطر مشکل ساختاری سویچ شرکت خدمات انفورماتیک ارسال شده است.

No comments:

Post a Comment