امنیت

فناوری اطلاعات

July 24, 2019
23:38 چهارشنبه، 2ام مردادماه 1398
کد خبر: 101180

بدافزار ATMJaDi، دشمن جان دستگاه‌های خودپرداز

بهار 2019 بود که به نمونه‌ای از بدافزار جدیدِ ATM برخوردیم. این بدافزار درقالب جاوا نوشته و در یک سرویس اسکنر چندگانه آپلود شده بود. خاستگاه این بدافزار ابتدا مکزیک بود و بعد در کلمبیا نیز دیده شد. بعد از تحلیلی کوتاه پی بردیم نام این بدافزار ATMJaDi است و می‌تواند دخل دستگاه‌های خودپرداز را دربیاورد و همه‌ی نقدینگی‌اش را غارت کند. با این حال برای این کار از آرشیوهای استاندارد  XFS، JXFS یا CSC استفاده نمی‌کند؛ بلکه در عوض این بدافزار تنها با زیر مجموعه‌ی کوچکی از دستگاه‌های خودپرداز سازگاری خواهد داشت. از همین روست که می‌گوییم این بدافزار بسیار هدف‌دار عمل کرده و حلقه‌ی قربانیانش بسیار محدود و خاص است.
یکی از محصولات ما در کسپرسکی توانست این نمونه تروجان را مورد شناسایی قرار دهد.
 
جزئیات فنی  
نخست اینکه، درست مانند هر بدافزار دستگاه خودپردازی، مهاجمین باید راهی پیدا کنند تا بتوانند بدافزار خود را روی ATMها نصب کنند. این بدافزار را نمی‌توان از طریق کیبورد یا تاچ‌اسکرین ATM کنترل کرد زیرا برای اهدافی که دارد در خود رابط وبِ سرور  HTTP درون‌سازه‌ای اجرا می‌کند. بنابراین مجرمین باید به منظور دسترسی به دستگاه خودپرداز مورد هدف خود شبکه‌ی اینترنتی داشته باشند. این باعث شده تا فکر کنیم مجرمان زیرساخت بانک را برای دسترسی پیدا کردن به شبکه‌ای که دستگاه‌های خودپرداز بدان وصلند دستکاری کرده‌اند.
وقتی بدافزار نصب و اجرا شد (در قالب فایل آرشیو جاوا موسوم به INJX_PURE.jar) آنوقت به دنبال پروسه‌ای خواهد گشت که  ATM را بتوان با آن تحت کنترل درآورد و به داخل آن رخنه کرد؛ بطوریکه انگار این فرآیند دارد کاملاً قانونی عمل می‌کند. بعد از این تزریق، بدافزار به طور همزمان پیامی را به چند زبان روی پایانه پرینت می‌کند: روسی، پرتغالی، اسپانیایی و چینی. با این وجود، تمام پیام‌ها یا رشته‌های دیگر که توسط این بدافزار استفاده شده‌اند به زبان انگلیسی است. تمام این عبارات که به زبان‌های مختلف نمایش داده شده‌اند به انگلیسی «آزادی و شکوه» ترجمه می‌شوند. این عبارت در ادامه‌اش یک پیام اضافی به زبان روسی هم دارد و آن این است: «отдельный» به معنای «جداگانه». گمان داریم این یک‌ عملیات پرچم دروغین[1] باشد؛ زیرا روسی‌زبانانِ بومی هیچوقت در این شرایط از این واژه‌ی بخصوص استفاده نمی‌کنند.
Свобода и слава
Liberdade e glória
Libertad y Gloria
自由与荣耀
Отдельный
 
سپس، یک سرور HTTP با استفاده از مسیرهای از پیش تعریف‌شده‌ی URL  شروع می‌کند به پذیرش فرمان‌ها. آن‌ها از قرار زیر می‌باشند:
/d برای دریافت کاستِ دستگاه خودپرداز به منظور انجام اقدامات (اقدام درست را پارامترهای موفقیت‌آمیز رقم می‌زند)
/eva برای ارزیابی (اجرای) کد تأمین‌شده توسط کاربر روی خودپردازِ قربانی
/mgr برای مدیر که اجازه می‌دهد مجرمان به فهرستی از دسته‌های در حال اجرا (برای ماشین مجازی جاوای مربوطه) دسترسی پیدا کنند تا بدین‌ترتیب بتوانند هر کارکردی را از آن طلب کرده و درصورت نیاز نیز هر نوع استدلالی را به نفع خود تمام کنند.
/core به مجرمین اجازه می‌دهد تا از فایل سیستم قربانی یک فایل بخصوصِ .jar لود کنند
 /root این مسیر، بدنه‌ی درخواست POST را قبول می‌کند و آن را در قالب یک فرمان Shell به cmd.exe تحویل می‌دهد (که خروجی نهایی را بازمی‌گرداند).
این مسیر run a shell و توزیع از هیچ صفحه‌ی رابط (با فرم و دکمه) برخوردار نیستند اما در عوض تنها درخواست‌های از پیش آماده‌شده‌ی HTTP POST را قبول  و نتایج خامی را به صورت متنی در پیج پرینت می‌کنند (بدین‌ترتیب تگ‌های  HTML نیز حذف می‌شود). بنابراین، اگر مورد، درخواست توزیع بود پاسخ بدافزار، این رشته خواهد بود: «ok». درخواست get cash units information نیز در ادامه با خود رشته‌ای دارد که شرایط واحدهای نقدینگیِ دستگاه‌های خودپرداز را شرح می‌دهد (همانطور که در نمونه‌ی زیر مشاهده می‌کنید).
; 20:30; 10:100; 5:700; 1:1000
این رشته عبارت است از چهار گروه که هر یک بواسطه‌ی نقطه ویرگول از هم جدا شده‌اند. این فهرستی است که به کاست نقدینگی دستگاه خودپرداز مربوط می‌شود و متشکل است از دو ارزش؛ که هر یک با دو نقطه از هم جدا شده‌اند: یکی واحد پول و دیگری تعداد دقیق و واقعی اسکناس‌های داخل کاست. در نمونه‌ی بالا اولین کاست در خود 1000 یادداشت بانکی از واحد 1 و 700 یادداشت بانکی از واحد 5 و غیره.
جدا از مسیرهای  “run a shell”، “dispense” و “get cash unit”، مسیرهای “eva”، “mgr” و “core” از صفحات رابط برخورداند. در زیر اسکرین‌شاتی از پیج ارزیابی را خدمتتان ارائه داده‌ایم:
 
 
 
بدین‌ترتیب، به مجرمان اجازه داده می‌شود تا هر کد جاوااسکریپتی را روی دستگاه خودپرداز قربانی اجرا کنند و ببینند آیا جواب می‌دهد یا خیر. حالا چرا جاوااسکریپت؟ چون جاوا استفاده از موتورهای خارجی را برای مجرمان آزاد گذاشته. در زیر، قابلیتی را مشاهده می‌کنید که بدافزار از آن برای اجرای کد پذیرفته‌شده‌ی جاوااسکریپت استفاده می‌کند.
 
 
 نتیجه‌گیری
طبیعت هدف‌دارِ بدافزار ATMJaDi نشان می‌دهد مجرمان پیش از نوشتن بدافزارشان، قربانی را به خوبی می‌شناسند. پر واضح است که حتماً به ATM -که در آن دسته‌های سفارشی جاوا و تازه به احتمال قوی کد منبع برنامه‌ی جاوا اجرا می‌شود- دسترسی داشته‌اند. همچنین اینکه، روشی که بدافزار تحت کنترل قرار می‌گیرد نشان می‌دهد مجرمین در نظر داشتند برای دسترسی به دستگاه خودپردازِ آلوده، شبکه‌ی اینترنتی آن را نشانه روند (احتمالاً از طریق شبکه‌ی اینترنتی داخلی بانک).
بانک‌ها برای جلوگیری از این نوع حملات باید چه اقداماتی را انجام دهند؟
بکارگیریِ راه‌حل‌های ضد حملاتِ هدف‌دار (نظیر  KATA[2]) به منظور محافظت از شبکه‌ی اینترنتی بانک و سایر راه‌حل‌ها جهت محفظت از دستگاه‌های خودپرداز خود در مقابل این بدافزار.
تهیه‌ی لیست سفید از ATM
شبکه‌ی بانکی ATM باید جداگانه و دسترسی به آن نیز می‌بایست به شدت محدود باشد.
البته این موارد را گلچین کردیم و البته که فهرست راهکارهای پیشگیرانه بلند بالاتر از اینهاست. این را به یاد داشته باشید که امنیت اطلاعات نیازمند واکنش‌دهیِ به موقع و توجه توأمان دارد. 
 
[1]  false flag، به عملیاتهایی گفته می‌شود که توسط نهادهای نظامی، شبه نظامی، اطلاعاتی یا سیاسی به گونه‌ای انجام می‌شود که این تصور به وجود آید که گروه‌ها یا کشورهای دیگری این عملیاتها را انجام داده‌اند.
[2] Kaspersky Anti Targeted Attack Platform
منبع: کسپرسکی آنلاین 
 
  • مشترک شوید!

    برای عضویت در خبرنامه روزانه ایستنا؛ نشانی پست الکترونیکی خود را در فرم زیر وارد نمایید. پس از آن به صورت خودکار ایمیلی به نشانی شما ارسال میشود، برای تکمیل عضویت خود و تایید صحت نشانی پست الکترونیک وارد شده، می بایست بر روی لینکی که در این ایمیل برایتان ارسال شده کلیک نمایید. پس از آن پیامی مبنی بر تکمیل عضویت شما در خبرنامه روزانه ایستنا نمایش داده میشود.

    با عضویت در خبرنامه پیامکی آژانس خبری فناوری اطلاعات و ارتباطات (ایستنا) به طور روزانه آخرین اخبار، گزارشها و تحلیل های حوزه فناوری اطلاعات و ارتباطات را در هر لحظه و هر کجا از طریق پیام کوتاه دریافت خواهید کرد. برای عضویت در این خبرنامه، مشترکین سیمکارت های همراه اول لازم است عبارت 150 را به شماره 201464 و مشترکین سیمکارت های ایرانسل عبارت ozv ictn را به شماره ۸۲۸۲ ارسال کنند. دریافت موفق هر بسته خبری که محتوی پیامکی با حجم ۵پیامک بوده و ۴ تا ۶ عنوان خبری را شامل میشود، ۳۵۰ ریال برای مشترک هزینه در بردارد که در صورتحساب ارسالی از سوی اپراتور مربوطه محاسبه و از اعتبار موجود در حساب مشترکین سیمکارت های دائمی کسر میشود. بخشی از این درآمد این سرویس از سوی اپراتور میزبان شما به ایستنا پرداخت میشود. مشترکین در هر لحظه براساس دستورالعمل اعلامی در پایان هر بسته خبری قادر خواهند بود اشتراک خود را در این سرویس لغو کنند. هزینه دریافت هر بسته خبری برای مشترکین صرفا ۳۵۰ ریال خواهد بود و این هزینه برای مشترکین در حال استفاده از خدمات رومینگ بین الملل اپراتورهای همراه اول و ایرانسل هم هزینه اضافه ای در بر نخواهد داشت.