تحقیقات جدید Snicco، WeWatchYourWebsite، Automattic-backed GridPane و PatchStack نشان می دهند که نقص امنیتی اسکنرهای بدافزار وردپرس که به عنوان افزونه در یک محیط آلوده کار می کنند، مشهود است. اسکنرهای بدافزار، در بهترین حالت ابزارهای پاکسازی برای سایت هایی که قبلاً در معرض خطر قرار گرفته اند را ارائه می دهند. آنها خط دفاعی محکمی نیستند و توسط بدافزارها در محیط سایت و هاست شکست میخورند. سیاستهای امنیتی خود را روی دشوارسازی احراز هویت ورود به سیستم، مدیریت کاربر، اهدا دسترسی های مناسب به کاربران و مدیریت بروزرسانی افزونه ها و پوسته متمرکز کنید.
تصویر(1)
عمر مفید اسکنرهای بدافزار به پایان رسیده است
انتشار پلاگین های شناسایی بدافزار برای وردپرس به حدود سال 2011 باز می گردد. زمانی که حملات تزریق SQL رایج و موثر بودند. هر کسی که در آن زمان با وردپرس کار میکرد، به یاد می آورد که کتابخانه ویرایش تصویر به نام TimThumb در سایت های زیادی نصب بود. این کتابخانه در معرض حملات zero-day قرار گرفت که نتایج ناگواری برای میلیونها سایت به دنبال داشت.
این موقعیت اضطراری، زمینهای بود که باعث به وجود آمدن افزونههای امنیتی وردپرس شد. برخی از افزونههای امنیتی امروزی، هنوز شبیه Norton Security و آنتی ویروس McAfee به نظر میرسند. آنها نرم افزارهای امنیتی محبوبی برای ویندوز در 20 الی 30 سال گذشته بودند اما جان مکآفی پس از ترک شرکت خود اعلام کرد که اسکنر آنتیویروس او به یک "bloatware" (نرم افزارهایی که کارایی خاصی ندارند) تبدیل شده و این نرمافزار "بدترین نرمافزار دنیا" بود. بر اساس یافتههای اخیر چندین محقق امنیت وردپرس، نتایجی مشابه که نشان دهنده نقص امنیتی اسکنرهای بدافزار وردپرس می باشد، به دست آمده است.
تصویر(2)
ایجاد یک توهم ایمنی با نقص امنیتی اسکنرهای بدافزار وردپرس
در اکوسیستم وردپرس، اکثر اسکنرهای بدافزار به دو دسته تقسیم می شوند:
- پلاگین های اسکن محلی
رویکرد سنتی: این افزونه ها مستقیماً در وب سایت وردپرسی فعالیت می کنند و تمام وظایف خود را در سروری که وب سایت در آن میزبانی می شود انجام می دهند. به عنوان مثال می توان به WordFence و NinjaScanner اشاره کرد.
- پلاگین های اسکن از راه دور
رویکرد جدیدتر: این افزونه ها بین سایت وردپرسی شما و برنامه از راه دور مربوطه، ارتباط برقرار می کنند. آنها به جای پردازش مستقیم داده ها روی سرور، محتوای فایل ها را از طریق یک HTTP API برای اسکنر خارج از سایت ارسال می نمایند. به عنوان مثال می توان به MalCare و Virusdie اشاره کرد.
اسکنرهای محلی
نقص امنیتی اسکنرهای بدافزار وردپرس، موجب شد تا آلکان و همکارانش (کارشناسان فعال در زمینه امنیت سایت های وردپرسی) در آزمایشات خود ابتدا اسکنرهای محلی را مورد بررسی قرار دادند. Wordfence، WPMU Defender، نسخه رایگان All-In-One Security و NinjaScanner تمام کارهای خود را روی همان سروری انجام می دهند که سایت وردپرسی در آن نصب شده است. به این معنا که اسکنرهای بدافزار از همان منابع پردازشی php که وردپرس و بدافزار استفاده میکنند، بهره می برند.
بدین ترتیب، بدافزار به راحتی میتواند با اسکنر تعامل داشته باشد و هیچ چیز مانع آن نخواهد بود. این بدافزار میتواند هر پلاگین امنیتی را که شناسایی میکند غیرفعال نماید، خود را در لیست سفید قرار دهد یا اسکنرها را دستکاری کند تا نفوذ را تشخیص ندهند.
Alkan به این نتیجه رسید که بدافزار "رندر شده" که به صورت پویا خود را با استفاده از PHP می سازد، توسط اسکنرهای بدافزار محلی غیرقابل شناسایی است. در نهایت، اسکنرهای محلی نتوانستند بدافزار فعال را شناسایی کنند. این نوع بدافزار یک بار اجرا می شود و سپس خود را از سیستم حذف می کند و هیچ اثری از حضور خود باقی نمی گذارد.
تصویر(3)
اسکنر از راه دور جهت رفع نقص امنیتی اسکنرهای بدافزار وردپرس
اسکنرهایی که تجزیه و تحلیل خود را روی یک سرور راه دور انجام می دهند شامل Malcare، Virusdie، All-In-One Security Pro، Sucuri و JetPack Scan هستند. این روشهای جدیدتر اسکن از راه دور، چندین مزیت دارند که از جمله آنها می توان به کاهش مصرف منابع و بهبود عملکرد سرور محلی اشاره کرد. اسکنرهای محلی از منابع سرور سایت شما برای انجام وظایف خود استفاده می کنند که هزینه اجرایی بالایی دارند. تحلیل و بررسی بدافزار از راه دور نیز از دستکاری محافظت می شود زیرا بدافزاری که کل سایت را آلوده کرده است اختلالی در پردازش آن ایجاد نمی کند.
آنچه اسکنرهای راه دور در برابر آن آسیب پذیر هستند، بدافزاری است که داده های تجزیه و تحلیل ارسال شده به سرور راه دور را دستکاری می کند. Alkan مفهوم دیگری را اثبات کرده است که نشان می دهد اسکنرهای راه دور را می توان با پنهان کردن "شواهد" آلودگی بدافزار، شکست داد. تاکتیک متفاوتی که ممکن است یک بدافزار اجرا کند "پاککردن محل جرم" است که در نتیجه آن هیچ اثری از آلودگی برای اسکن باقی نمی گذارد.
"اسکن اصالت فایل" زمانی مفید خواهد بود که در حال کشف آلودگی و بدافزار هستید. در این حالت می تواند تغییرات غیرمجاز را تشخیص دهد. این نوع اسکن، فایلهای محلی را با یک مخزن حفاظت شده واقع در سروری دیگر مقایسه میکند تا تغییرات غیررسمی در هسته، افزونهها و پوستههای وردپرس را تشخیص دهد. متاسفانه اگر بدافزار داده ها را تغییر دهد، تشخیص آن با شکست مواجه می شود.
بدافزارها، اسکنرهای امنیتی وردپرس را غیرفعال می کنند
پس از Alkan، بزرگترین افشاگری در گزارش Snicco از توماس رائف، مدیر عامل We Watch Your Website ارائه شد که سایت های وردپرس هک شده را شناسایی و پاکسازی می کند:
"طی 60 روز گذشته، 52848 وبسایت با اینکه افزونه WordFence را قبل از آلودگی نصب کرده بودند، هک شده اند. بدافزار نصب شده، در 14٪ موارد (7399 مورد) فایلهای WordFence را دستکاری کرد. سرویسهای محبوب دیگر، درصدهای بالاتری داشتند. MalCare در 22٪ و VirusDie در 24٪ با چنین مشکلی مواجه شدند."
این گزارش ها نقص امنیتی اسکنرهای بدافزار وردپرس را اثبات می کنند. بدون شک استفاده از این ابزارهای اسکن بدافزار همچنان با قدرت ادامه پیدا خواهد کرد. اسکنرهای بدافزار قابل اعتماد نیستند اما خبر خوب این است که آنها هرگز تسلیم نشده اند. اگر تمام چیزی که از دست داده اید بابت یک توهم امنیتی بوده است، این در واقع گامی برای به دست آوردن امنیت واقعی خواهد بود.
تصویر(4)
نحوه مقابله با نقص امنیتی اسکنرهای بدافزار وردپرس چگونه است؟
پس از گزارشی مانند Snicco، سوال بزرگ این است که "سایت های وردپرسی چگونه می توانند از امنیت خود مطمئن شوند؟"
Alkan معتقد است که روشهای امنیتی باید برای هر بخش از سرور تنظیم شوند و اسکن بدافزار سمت سرور که توسط میزبان انجام میشود تنها نوع ارزشمند اسکن برای صاحبان سایت است. او تاکید میکند: افزونههای امنیتی وردپرس فقط باید وظایفی را انجام دهند که میتوانند در لایه اپلیکیشن یا PHP آنها را به بهترین شکل تکمیل کنند.
نکته: میهن وب هاست به عنوان بزرگترین شرکت هاستینگ کشور (با بیشترین تعداد سایت های میزبانی شده در دیتاسنتر اختصاصی خود) از ابزارهای امنیتی متنوعی در سمت سرور به صورت محلی و از راه دور بهره می برد تا بالاترین امنیت را برای سایت ها ارائه کند.
جامعه وردپرس باید رویکرد امنیتی خود را از تشخیص به پیشگیری تغییر دهد و در عین حال اهمیت اسکن بدافزار را حفظ کند تا کارایی لایههای بالاتر امنیت را تضمین نماید. موارد امنیتی قدرتمند در زمان ورود کاربر مانند احراز هویت دو مرحلهای، اقداماتی هستند که از دیدگاه Alkan، افزونههای وردپرسی میتوانند به تحقق آنها کمک کنند.
راههای دیگر برای تقویت سیستم دفاعی سایت وردپرسی شامل مدیریت دقیق کاربر با رعایت اصل کمترین امتیاز است. هرگز بیش از حد لازم به کاربر دسترسی ندهید و برای کاربران رده بالا که استاندارد بالاتری از امنیت نیاز دارند ورود دو مرحله ای، کلیدهای عبور، دستگاههای قابل اعتماد و رمزهای عبور قوی تنظیم نمائید و همواره لاگ های فعالیت کاربران را بررسی کنید.
تصویر(5)
سخن پایانی
امروزه بدافزارها به طرز هوشمندانه ای کسبوکارهای کوچک تا متوسط را با password stuffing، فیشینگ و … هدف قرار میدهند. این روش های حمله از احراز هویت ضعیف ورود و خطای انسانی سوء استفاده می کنند. آنها از تاکتیک های مهندسی اجتماعی هوشمندانه برای هک حساب های کاربری شخصی بهره می برند.
با یک حساب کاربری هک شده، مهاجم می تواند آسیب زیادی به سایت وارد کند. اگر نقص امنیتی اسکنرهای بدافزار وردپرس را نیز شناسایی کنند، ممکن است آسیب بیشتری وارد نمایند. هنگامی که هکر وارد سیستم شما شود، می تواند درب پشتی ایجاد کرده و مجددا به آن نفوذ کند. پلاگین امنیتی که دارای اسکنر بدافزار می باشد نیز نمی تواند آن را متوقف نماید.