باجافزار مسلماً یکی از بدترین نوع حملاتی است که کارشناسان امنیت سایبری اخیراً با آن مواجه میشوند. اثر حملات باجافزاری بر روی سازمانها میتواند بسیار بزرگ و پرهزینه باشد. پرداخت باج بهتنهایی هزینهی کلی حمله را نشان نمیدهد و آنچه که دارای اهمیت است، هزینهی خرابیها، بازیابی دادهها و ازکارافتادن کسبوکار است. پس از حملات باجافزاری اخیر NotPetya، شرکت Maersk خسارات خود را بین 200 تا 300 میلیون دلار و FedEx 300 میلیون دلار تخمین زد. بهنظر میرسد که خسارات ناشی از باجافزارها هر روز رو به افزایش باشد. علیرغم وابستگی سازمانها به پایگاهدادههایشان، خطری که در مورد حملهی باجافزارها به پایگاهدادهها وجود دارد، جدی گرفته نشده است.
اخیراً دو مورد از حملات باجافزارها به پایگاهدادههای MySQL و MongoDB گزارش شده است. تجزیه و تحلیلها نشان میدهد که سه روش اصلی برای حمله به انواع پایگاهدادهها با هدف خرابکردن یا سوءاستفاده از دادهها وجود دارد:
1) SQL / NoSQL – حملهی داخلی
فرض میشود که اجازهی دسترسی به پایگاهداده از پیش داده شده است (یا با بهخطر افتادن یک حساب DBA از طریق جستجوی فراگیر یا یک مهاجم مخرب که قبلاً دسترسی داشته است). مهاجم میتواند دادهها را حذف، وارد یا بهروز کند و بدین ترتیب دادهها را تغییر دهد. این کار را می توان با چند دستور سادهی SQL / NoSQL انجام داد.
2) SQL / NoSQL – حملهی خارجی
آسیبپذیری برنامهی وب، مانند تزریق SQL یا تزریق NoSQL، به مهاجمین اجازه میدهد تا هر دستور SQL دلخواه را ایجاد کنند. قبلاً مشاهده شده است که باجافزارها برنامههای وب را هدف قرار دادهاند؛ اما هنوز مشاهده نشده است که چنین روشی، پایگاهدادهها را بهطور گسترده هدف قرار دهد.
روش دیگر برای مهاجمین خارجی، هدف قراردادن پایگاهدادههای دارای IP عمومی است. این کار را میتوان بهراحتی و با خدمات برخط Shodan انجام داد.
3) رمزگذاری فایل پایگاهداده
فایل پایگاهداده جایی است که الگوی پایگاهداده و دادهها در آن ذخیره میشوند. این نوع حمله دقیقاً مشابه حملات باجافزار سنتی است که فایلها را هدف قرار میدهند. تنها تفاوت آن در این است که مهاجم باید قبل از رمزگذاری، فرایند پایگاهداده را خاتمه دهد؛ چراکه بهدلیل نگهداری فایل پایگاهداده، تغییر آن برای فرایندهای دیگر غیرممکن خواهد بود.
طبق نظارت سیستمهای شرکت Imperva بر روی پایگاهدادهی MySQL، در این حمله، مهاجم دسترسی به پایگاهداده را بهطور موفقیتآمیزی از طریق ترکیبات جستجوی فراگیر کاربر/ گذرواژه، بهدست میآورد. مرحلهی بعدی «فهرست کردن پایگاههای داده» است؛ سپس، هر یک از پایگاهدادهها حذف میشوند.
حائز اهمیت است که سیستمهای نظارت پایگاهداده نمیتوانند بر فعالیتهای مشکوک تجمعی در هر اتصال (جریان) تکیه کنند. با استفاده از این حمله، پس از هر دستور SQL، مهاجم قبل از گرفتن عبارت بعدی SQL، از سیستم خارج میشود. بنابراين حذف یک پايگاهدادهی دارای 10 جدول، با 11 اتصال متوالی بهپايان میرسد (يک اتصال بیشتر برای فهرستکردن جدولها).
پس از تخریب دادهها در پایگاهداده، مهاجم یک جدول به نام "Readme" ایجاد میکند و پیام خود را در آن قرار میدهد. جزئیات درخواست باج به شرح زیر است:
آدرس پست الکترونیک: cru3lty@safe-mail.net
آدرس بیتکوین: 1By1QF7dy9x1EDBdaqvMVzw47Z4JZhocVh
منبع: https://localbitcoins.com
توضیح: پایگاهدادهی شما دانلود و در کارگزارهای امن ما پشتیبانگیری شد، برای بازیابی آن، 2/0 بیتکوین به آدرس بیتکوین ما ارسال کنید و با ارسال آدرس IP کارگزار MySQL و تأییدیه پرداخت خود از طریق پست الکترونیک با ما در ارتباط باشید. هر پیامی بدون ارسال آدرس IP کارگزار MySQL و تأییدیه پرداخت، نادیده گرفته خواهد شد.
یادآوری میشود که مهاجمینی که پایگاهدادهی MySQL را هدف قرار میدهند، هر چند هفته یکبار آدرس بیتکوین خود را تغییر میدهند.
نظارت سیستمهای شرکت Imperva بر روی پایگاهدادهی MongoDB نشان داد که منطق حمله به آن بسیار مشابه MySQL است. MongoDB یک پایگاهدادهی NoSQL است. ورود به این پایگاهداده برای مهاجم آسان است؛ چراکه این پایگاهداده به احراز هویت نیاز ندارد. کنترل دسترسی بهطور پیش فرض بر روی MongoDB فعال نیست، بنابراین برای ورود تنها به دانستن IP و درگاه نیاز است. باتوجه به Shodan، حدود 20،000 MongoDB با IP عمومی بدون احراز هویت وجود دارد. این تعداد، 40 درصد از تمام MongoDBهای عمومی را تشکیل میدهند.
در ابتدا مهاجم تمام پایگاهدادهها را فهرست میکند و هر یک از آنها را حذف میکند. برای اطلاع از قربانیشدن (و نحوهی پرداخت)، مهاجم یک پایگاهدادهی «هشدار» با یک سند "Readme" در داخل آن، ایجاد میکند و پیام خود را در این سند قرار میدهد.
جزئیات پیام باج به شرح زیر است:
آدرس پست الکترونیک: cru3lty@safe-mail.net
آدرس بیتکوین: 1Ptza47PgMtFMA6fZpLNzacb1EPkWDAv6n
راهحل: پایگاهدادهی شما دانلود و در کارگزارهای امن ما پشتیبانگیری شد، برای بازیابی آن، 2/0 بیتکوین به آدرس بیتکوین ما ارسال کنید و با ارسال آدرس IP کارگزار MongoDB و تأییدیه پرداخت خود از طریق پست الکترونیک با ما در ارتباط باشید. هر پیامی بدون ارسال آدرس IP کارگزار MongoDB و تأییدیه پرداخت، نادیده گرفته خواهد شد.
اگرچه این آدرس بیتکوین (BTC) متفاوت از حملهی MySQL است، اما با توجه به اطلاعات تماس مهاجم میتوان نتیجه گرفت که این گروه، همان گروه حمله به MySQL است. بررسیها همچنین نشان میدهند که هر دو حملات از IP مشابه (کشور چین) آغاز شدند.
همانند حملات باجافزارها به برنامههای کاربردی، در این نوع حمله نیز پیشنهاد میشود که هیچ پرداخت باجی صورت نگیرد. پیادهسازی سیاستهای مبتنی بر رفتار، در تشخیص این نوع حملات مؤثر است. عدم اتصال پایگاهداده به اینترنت، فعالسازی ممیزی، هشدار در ورودهای ناموفق و پشتیبانگیری منظم به امنیت پایگاهدادهها کمک کند.
- 12