Log4Shell یکی از پرمخاطره ترین حملات به آسیب پذیری ها
مدتی از کشف حملات اینترنتی تحت عنوان Log4Shell توسط تیمهای امنیتی شناسایی میگذرد و آسیبپذیری موجود همچنان قربانی میگیرد. این آسیبپذیری که میلیونها رایانه را تحت تأثیر قرار داده، شامل یک نرمافزار فراگیر بنام Log4j است. از این نرمافزار جهت ثبت انواع فعالیتها در رایانههای مختلف استفاده میشود.
بسیاری از کارشناسان امنیتی از Log4Shell به عنوان یکی از پرمخاطرهترین حملات به آسیبپذیریها در دوران حرفهایشان یاد میکنند. بنا بر تحقیقات صورت گرفته صدها و حتی شاید میلیونها مجرم سایبری در سراسر جهان تلاش کردند تا از Log4Shell سوءاستفاده نمایند. در این مطلب از فراست این آسیبپذیری و شیوه سوءاستفاده از آن توسط هکرها را مورد بررسی قرار میدهیم.
Log4J چیست و چه کارهایی انجام میدهد؟
ابزار Log4j رویدادها، خطاها و عملیات معمولی سیستم را ثبت کرده و اطلاعات کاربردی در زمینه عیبیابی را برای کاربران و مدیران سیستمها ارسال میکند. این نرمافزار متن باز مبتنی بر جاوا توسط بنیاد نرمافزاری آپاچی طراحی شده است.
برای مثال، زمانی که بر روی یک لینک معیوب کلیک میکنید، سرور وب که وبسایت مدنظر شما را مدیریت میکند، پیام خطای 404 را به شما نمایش داده و اعلام میکند که چنین صفحهای در این وبسایت وجود ندارد. در نهایت امکان ثبت چنین رویدادی در یک فایل گزارش برای مدیران سرور توسط نرمافزار Log4j امکانپذیر است. سرور بازی آنلاین ماینکرافت نیز از Log4j جهت ثبت فعالیتها و مواردی مثل میزان حافظه استفاده شده و فرمانهای تایپ شده که توسط کاربر انجام شدهاند استفاده میکند.
شیوه عملکرد Log4Shell چگونه است؟
Log4Shell از یک قابلیت خاص در Log4j سوء استفاده میکند که به کاربران امکان میدهد کدهای دلخواهی برای قالب بندی یک پیام گزارش مشخص کنند. مثلاً این قابلیت به Log4j امکان میدهد تا علاوه بر ثبت نام کاربری که برای ورود به سیستم تلاش کرده، نام واقعی او را هم ثبت کند (البته در صورتی که سرور فهرستی شامل نامهای کاربری و نام واقعی متناظر با آنها داشته باشد). برای انجام این کار، سرور Log4j باید با سرور حاوی نامهای واقعی کاربران، ارتباط برقرار کند (به عنوان مثال سرور دامین سازمان).
متأسفانه امکان استفاده از چنین کدهایی برای کارهای دیگر هم وجود دارد. Log4j به سرورهای شخص ثالث امکان میدهد کدهای نرمافزاری خاصی را ثبت و ارسال کنند که قابلیت انجام فعالیتهای مختلف بر روی کامپیوترها را دارند و به این ترتیب امکان انجام کارهایی مثل سرقت اطلاعات حساس، در اختیار گرفتن کنترل سیستم هدف و انتقال محتوای مخرب به سمت کاربرانی که با سرور مورد نظر در ارتباط هستند، فراهم میشود.
Log4j تقریباً در همه جا وجود دارد!
یکی از ویژگیهای بسیار مهم و کاربردی در نرمافزارها «ثبت گزارش» است. بنابراین Log4j از جایگاه ویژهای در دنیای نرمافزارها برخوردار است. همچنین از Log4j میتوان در سرویسهای ابری مثل وبسرویسهای آمازون و آیکلود شرکت اپل و انواع ابزارهای توسعه نرمافزار و ابزارهای امنیتی استفاده کرد.
بنابراین، هکرها میتوانند به راحتی انواع کاربران از جمله کاربران خانگی، ارایهدهندگان سرویس، کدنویسها و حتی محققان امنیت سایبری را مورد هدف قرار دهند. اگرچه شرکتهای بزرگ و مشهور مثل آمازون میتوانند به راحتی و با نصب وصلههای امنیتی بر روی وبسرویسهایشان مانع از تلاش هکرها برای سوءاستفاده از این آسیبپذیری شوند اما سازمانهای بیشماری هستند که به دلیل عدم امکانات کافی نمیتوانند به این سرعت اقدام کنند. بسیاری از سازمانها نیز کماکان از چنین موضوعی بیاطلاع هستند.
نرمافزار متن باز Log4j و سایر نرمافزارهای متن باز دارای کاربردهای بیشماری در محصولات و ابزارهای مختلف هستند. از این رو سازمانها معمولاً بدون توجه به تمام مخاطرات امنیتی که این نرمافزارها ممکن است به بار آورند همچنان از آنها استفاده میکنند.
آسیبهای قابل ایجاد
هکرها اینترنت را پویش میکنند تا سرورهای آسیبپذیر را پیدا کنند و همچنین، سیستمهایی برای انتقال بستههای مخرب طراحی میکنند. آنها برای اجرای حمله، از سرویسها کوئری میگیرند (مثل سرورهای وب) و سعی میکنند یک پیام ثبت گزارش را فعال کنند (مثل خطای 404). این کوئری شامل کدهای مخربی است که Log4j به عنوان دستورالعمل اجرا میکند.
این دستورالعملها میتوانند یک پوسته معکوس ایجاد کنند که به سرور مهاجم امکان میدهد از راه دور کنترل سرور هدف را در اختیار گرفته یا آن را عضو یک بات نت کند. بات نتها از کامپیوترهای تحت فرمان هکرها برای اجرای عملیاتی هماهنگ از جانب آنها استفاده میکنند.
قبل از این هم شاهد سوء استفاده از Log4Shell در رویدادهای مختلف بودهایم از جمله از کار انداختن سرورهای ماینکرافت توسط گروههای باجافزاری، استخراج بیت کوین برای هکرها و تلاش هکرهای چینی و کره شمالی برای دسترسی به اطلاعات حساس کشورهای دیگر. وزارت دفاع بلژیک هم از حمله به کامپیوترهای خودش با استفاده از Log4Shell خبر داده است.
گرچه این آسیبپذیری اولین بار در دهم دسامبر سال 2021 توجه رسانهها را به خود جلب کرد اما همچنان شاهد ابداع روشهای جدیدی برای آسیب رساندن با آن هستیم.
سوء استفاده از Log4Shell نسبتاً راحت است. به عنوان مثال، به راحتی میتوان، تنها ظرف چند دقیقه، این کار را در فریم ورک مهندسی معکوس Ghidra که برای محققان امنیت سایبری طراحی شده انجام داد. این حداقل کاری است که میتوان با چنین اکسپلویتی انجام داد؛ یعنی انواع افراد با نیات و مقاصد مخرب میتوانند از آن به روشهای مختلف استفاده کنند.
چگونه با آسیبپذیری Log4j مقابله کنیم؟
ارایهدهندگان محصولات نرمافزاری معمولاً Log4j را به همراه سایر نرمافزارها و در قالب یک بسته ارایه میدهند. از این رو تشخیص اینکه آیا از Log4j در یک سیستم استفاده شده است یا خیر کار سادهای نیست. از طرفی دیگر در صورت عدم آگاهی کاربران از وجود آسیبپذیریها شناسایی و رفع آنها غیرممکن میشود. بنابراین مدیران سیستمها از همان ابتدا باید فهرست نرمافزارهای موجود در سیستمهایشان را بررسی کنند.
همچنین با توجه به کاربرد گسترده Log4j و اینکه این نرمافزار در فرمهای مختلفی در محصولات نرمافزاری به کار رفته، هیچ راهکار جامع و واحدی برای رفع آسیبپذیریهای ناشی از آن وجود ندارد. راهکارهای امنیتی جهت بررسی و رفع آسیبپذیریها در Log4j را باید با توجه به نوع و روش استفاده آن انتخاب و اجرا کنیم. بنابراین طراحی و ارایه چنین راهکارهایی بسیار زمانبر است و به هماهنگیهای متعددی در بین توسعهدهندگان Log4j، توسعهدهندگان نرمافزارهایی که از Log4j استفاده میکنند، توزیعکنندگان نرمافزار، کاربران و متصدیان سیستمها نیاز دارد. بنابر پیشبینیهای محققین امنیتی رفع این آسیبپذیری در کلیه نرمافزارهای Log4j نیازمند زمان، از چند هفته تا چندین ماه (و شاید حتی چند سال) است.
امکان تشخیص وجود Log4j به راحتی برای کاربران معمولی وجود ندارد. حتی در صورت تشخیص هم نمیتوانند پی ببرند که آیا نسخه مورد استفاده معیوب است یا خیر. در هر صورت زمانی که یک محصول امنیتی دچار مشکل میشود ارایهدهندگان آن به جای طراحی مجدد محصول با طراحی و ارایه یک وصله امنیتی مشکل را رفع میکنند. در چنین شرایطی کاربران میتوانند با بهروزرسانی سیستمهایشان و نصب وصلههای امنیتی بر روی آنها مانع از بروز مشکل شوند. شرکت سیسکو نیز پس از شناسایی این آسیبپذیری، سیستمهای خود را به صورت کامل بهروزرسانی کرد.
منبع: techxplore