آسیب‌پذیری سامانه‌های پرداخت و سرقت رمزها

آسیب‌پذیری‌های ۳۲c۳ در دو سامانه‌ی پرداخت می‌تواند موجب سرقت پین‌ها، تراکنش‌های تقلبی و تغییر مسیر مخفیانه‌ی انتقال پول به حساب‌های دیگر شود.
این نقص امنیتی در دو پروتکل مؤثر است: ZVT که به وسیله‌ی ۸۰ درصد از ترمینال‌های پرداخت در آلمان استفاده می‌شود و Poseidon که استاندارد جهانی پرداختISO ۸۵۸۳ است. این آسیب‌پذیری‌ها به وسیله‌ی محققان برجسته‌ای چون Karsten Nohl و Fabian Bräunlein در سی و دومین کنفرانش آشفتگی‌های مخابراتی که این هفته در آلمان برگزار شد اعلام شدند.
ZVT پروتکلی میان صندوق پول و کارت‌خوان است و Poseidon میان کارت‌خوان‌ها و بانک‌های تجاری استفاده می‌شود. هیچ‌دام از آن‌ها نیاز به احراز هویت ندارند و ZVT از طریق اینترنت استفاده می‌شود چه از نوع بی‌سیم و چه از نوع کابلی.
به وسیله‌ی این ترفند ARP، یک نفوذگر می‌تواند به عنوان یک سامانه‌ی دیگر به شبکه حمله کند، یک کلاهبردار می‌تواند رونوشت داده‌‌های کارت‌های دیگر را از طریق کارت‌خوان فرستاده شده دریافت کند. به جای این‌که مستقیم سراغ دستگاه صندوق بروند در اینجا اطلاعات به دستگاه دزد فرستاده شده و در آنجا اطلاعات شبیه‌سازی‌شده و برای کلاهبرداری مورد استفاده قرار می‌گیرد.
واضح است که شخص مجرم باید در همان شبکه‌ای که کارت‌خوان قرار دارد باشد تا بتواند به کار خود ادامه دهد. اگر فروشگاه از یک شبکه بی‌سیم ناامن برای دستگاه‌های خود استفاده کند نفوذ به آن بسیار ساده‌تر خواهد بود؛ در غیر این صورت باید کار در داخل فروشگاه انجام شود و یا تجهیزات فروشگاه به صورت دستی، دستگاری شود در جایی که کسی آن‌ها را مشاهده نمی‌کند.
این البته در مورد کارت‌های مغناطیسی است. اما در مورد کارهای PIN‌ دار چطور عمل می‌شود؟‌ پین‌ها قرار نیست در هنگام خرید در شبکه قرار گیرند برای همین توسط نفوذگران نمی‌توانند خوانده شوند، نه به این سرعت. برای سرقت پین، یک مشتری باید فریب داده شود تا کدهای خود را خارج از تراکنش مالی درج کند.
یکی از راه‌ها این‌ است که پیامی از طریق صفحه‌ی کارت‌خوان برای مشتری فرستاده شود تا پین خود را درج کند و آن‌گاه این کلیدهای فشار داده شده خوانده شوند، بنابراین باید قربانی کدهای سری خود را قبل از شروع تراکنش درج کند.
قطعاً این امکان وجود دارد که یک دزد در کمین بنشیند و فرمانی را از شبکه برای دستگاه بفرستد و در آن متنی دلخواه را (همچون «پین را وارد کنید») و در ادامه‌ی آن کلیدهای فشرده شده را تشخیص دهد.
آن‌گاه مجرم می‌تواند به مشتری بگوید که یک تراکنش بدون استفاده از پین انجام دهد تا از افزایش سوءظن در فروش در امان بماند.
دریافت‌کننده خواهد گفت که درج نشده است اما هیچ‌کس آن را بررسی نمی‌کند. Nohl و Bräunlein ادعا می‌کنند در حین کار بر روی این تحقیق می‌توانند تعداد تراکنش‌هایی را که بدون استفاده از پین صورت گرفته‌اند مشخص کنند.
دستوراتی که به کارت‌خوان صادر می‌شود قادر است به صورت رمزنویسی‌شده ارسال شود و به وسیله‌ی کدهای احراز هویت در پیام‌های MACS مورد تأیید قرار می‌گیرند.
Bräunlein نشان داده است که با استفاده از یک کانال جانبی ممکن است با دادن دستور حمله‌ی هم‌زمان این شیوه کار کند. هنگامی که پردازنده در دستگاه کارت‌خوان MAC را بایت به بایت چک می‌کند، برای CPU چندین سیکل پردازشی ایجاد می‌شود که طولانی¬تر از تأیید یک بایت است. با اندازه‌گیری زمانی که برای ترکیب‌های مختلف معتبر از بایت‌های MAC وجود دارد در نهایت می‌توان کدهای تأیید احراز هویت لازم را برای دستیبابی به PIN مشتری محاسبه کرد. این کاری بود که این محققان در پیش روی حضار در صحنه نشان دادند.

اول خریدار و اکنون فروشندگان
نه‌تنها مشتریان از این آسیب‌پذیری‌ها در امان نیستند بلکه فروشندگان نیز در معرض آن قرار دارند.
ZVT با استفاده از رمزهای سخت‌کاری شده به مهاجمان اجازه می‌دهد تا شماره‌های شناسه‌ی کارت¬خوان را دستکاری کنند (که البته به صورت برخط در دسترس است). این شماره‌های شناسه به بانک‌ها اجازه می‌دهند تا پول را از کارت‌ها به وسیله‌ی کارت‌خوان‌ها به حساب فروشندگان که صاحب دستگاه‌ها هستند واریز کنند.
با برنامه‌ریزی مجدد شماره‌‌ی شناسه‌ها، پول از کارت‌های پردازش شده به حساب فروشندگان دیگر خواهد رفت- مثلاً اگر یک کلاهبردار آن را تنظیم کند. یک کارت‌خوان می‌تواند جابه‌جا شده و دوباره پیکربندی شود، سپس بدون اطلاع صاحب مغازه دوباره در جای خود قرار بگیرد و در نتیجه مبالغ پرداختی جای دیگر استخراج می‌گردد. بنابراین به جای دزدی از مغازه تغییر مسیر فروش صورت می‌گیرد.

فقط ZVT نیست
حالا اجازه دهید به Poseidon نگاه کنیم:‌ یک کلاهبردار می‌تواند یک ترمینال پرداخت Poseidon را از اینترنت بخرد و آن را به گونه‌ای تنظیم کند که نشان دهد یک سامانه‌ی تجاری خاص است. برای انجام این کار شما به سه بیت اطلاعات نیاز دارید که دست یافتن به آن‌ها چندان سخت نیست.
اولین آن‌ها رمز مدیر سرویس است که Bräunlein می‌گوید که تنها تکنیسین خدمات باید داشته باشند و اشاره می‌کند که آن را در مستندات برخط در جست‌وجوی گوگل نیز می‌توانند بیابند. پردازنده‌های پرداخت از همین رمزها در طول همه‌ی ترمینال‌ها استفاده می‌کنند. مورد بعدی که شما باید بدانید شناسه ترمینال فروشنده‌ای است که شما می‌خواهید به آن نفوذ کنید و آن در برگه‌ی رسید موجود است. در نهایت شما باید یک حمله‌ی ساده و بی‌رحمانه برای ایجاد دیگر شماره‌‌ای که نیاز دارید به نام شماره‌ی پورت انجام دهید.
با داشتن رمز خدمات، شماره‌ی شناسه و شماره‌ی پورت، ترمینال می‌تواند به گونه‌ای تنظیم شود که بانک تصور کند به یک تاجر به خصوص تعلق دارد.
حالا شما می‌توانید به دریافت‌های دلخواه خود دست پیدا کنید، و پول را از فروشگاه بیرون بکشید. و چون هیچ وقفه‌ای در خدمات یک فروشگاه وجود ندارد، فروشنده تا زمانی که صورت‌حساب‌های خود را دریافت کند متوجه این موضوع نخواهد شد.

منبع: asis

درباره نماد امنیت وب

“نماد امنیت وب” به عنوان یکی از شرکت های پیشتاز در زمینه امنیت نرم افزار و سرویس های تحت وب، با ارائه سرویس های امنیتی برای تمامی کسب و کار ها و دارای نمایندگی شرکت Acunetix (اکوانتیکس) بعنوان محبوب ترین اسکنر امنیتی black box در دنیا، ایمنی وب سایت شما را در مقابل حمله هکر ها تضمین می کند.