سرقت فایل‌های کاربران به علت خطای طراحی در پایگاه داده MySQL

سه‌شنبه ۲۳ بهمن ۱۳۹۷ - ۱۱:۳۰
مطالعه 3 دقیقه
نقص طراحی در انتقال متقابل فایل بین میزبان سرویس گیرنده و یک سرور با پایگاه داده MySQL به مهاجم این اجازه را می‌دهد توانایی دسترسی به هر داده‌ای از کاربر سرویس گیرنده را داشته باشد.
تبلیغات

مشکلی امنیتی که بین میزبان سرویس گیرنده و یک سرور با پایگاه داده MySQL به مهاجم این اجازه را می‌دهد تا توسط آماده‌سازی یک سرور با پایگاه داده MySQL همراه‌با تنظیمات مخرب روی آن، توانایی دسترسی به هر داده‌ای از کاربر سرویس گیرنده که مجوز دسترسی به آن وجود دارد را داشته باشد. اینمشکل امنیتی با پیامدهای شناخته‌شده‌اش، از آنجا ناشی می‌شود که در پایگاه داده MySQL، دستور LOAD DATA با مشخصه‌ی LOCAL مورد استفاده قرار می‌گیرد که در اسناد منتشرشده‌ی توسعه‌دهندگان MySQL به‌عنوان یک خطر امنیتی معرفی شده است. توسعه‌دهندگان MySQL توضیح داده‌اند که کاربر Client درخواست انتقال فایل از سرور MySQL را براساس شیوه‌ی LOAD DATA ارائه‌شده دریافت می‌کند؛ اما سرور MySQL که به‌صورت مخرب برنامه‌ریزی شده، می‌تواند توسط استفاده از شیوه‌ی LOAD DATA LOCAL به هر داده‌ای از کاربر که مشخصه‌ی Local را از قبل به آن داده است، دسترسی داشته باشد. نکته‌ی اصلی اینجا است که کاربران نباید به سرورهای نامعلوم و غیرقابل اعتماد متصل شوند، چراکه با استفاده از این روش امکان دزدیدن اطلاعات و دسترسی به فایل‌های آن‌ها توسط نفوذگران وجود خواهد داشت.

خطر بالقوه این مشکل امنیتی اینجا است که سرورهای وب در اتصال خود به سرورهای پایگاه داده مخرب MySQL، این امکان را برای نفوذگران فراهم می‌کنند که مهاجم توانایی دسترسی و دریافت فایل etc/passwd/ را داشته باشند و به اطلاعات مهم حساب کاربری کاربران دسترسی پیدا کنند. البته دسترسی به فایل‌های قربانیان در صورتی ممکن خواهد بود که آدرس دقیق فایل در اختیار نفوذگر باشد؛ اگرچه امکان به‌دست آوردن این اطلاعات توسط درخواستی به فایل proc/self/environ/ که تغییرات محیطی فرآیندها را در خود دارد، مقدور خواهد بود و درنتیجه می‌توان به ساختار و جزییات مربوط‌به پوشه‌های داخلی سیستم قربانی دست پیدا کرد.

در توضیحاتی که توسط محقق امنیت سایبری ویلیام گروت در Reddit منتشر شده، سناریوهای احتمالی برای یک سرور MySQL مخرب بیان شده است. دزدیدن اطلاعات کلید SSH و همچنین دسترسی به کیف پول cryptocurrency کاربران در ابتدا به‌عنوان نمونه بیان شده است. به‌گفته‌ی او در اوکتبر ۲۰۱۸ حملات مخربی ازطریق این آسیب‌پذیری علیه فروشگاه‌های اینترنتی به جهت دزدیدن اطلاعات کارت‌های بانکی کاربران صورت گرفته است. کُد مخصوصی برای سوءاستفاده از این نوع آسیب‌پذیری حدود ۶ سال است که روی GitHub منتشر شده و این جای تعجب ندارد که نفوذگران و مجرمان سایبری از این کُد در حملات خود استفاده کنند. گروت در ادامه توضیح می‌دهد که در دسامبر گذشته چگونه کلاهبرداران از این آسیب‌پذیری برای استخراج اطلاعات پایگاه‌داده‌های MySQL و PostgreSQL توسط نرم‌افزار مدیریت پایگاه‎داده Adminer استفاده کرده‌اند.

adminer

در ادامه بیان شده که هدف بسیاری از حملات انجام‌شده توسط این آسیب‌پذیری، سرقت فایل local.xml است که در سیستم مدیریت محتوای Magento که یک پلتفرم تجارت الکترونیک برای ساخت سایت فروشگاه اینترنتی است، اطلاعات گذرواژه پایگاه‌داده را در خود ذخیره می‌کند. کاربرانی که از برنامه Adminer استفاده می‌کنند، توجه داشته باشند که نسخه‌های 4.3.1 تا 4.6.2 این برنامه آسیب‌پذیر هستند و باید برنامه Adminer خود را به نسخه 4.7.0 به‌روزرسانی کنند.

تبلیغات
داغ‌ترین مطالب روز

نظرات

تبلیغات