
معرفی log4j
Log4j یک کتابخانه محبوب و پرکاربرد برای لاگ در زبان جاوا است. این کتابخانه منبع باز توسط بنیاد آپاچی ارائه شده است و خطاها و عملیات معمول سیستم و پیغامهای تشخیصی مربوط به آنها را برای کاربران سیستم ثبت میکند. یک مثال رایج از Log4j زمانی است که روی لینک اشتباه کلیک و یا آدرس اشتباهی را در نوار آدرس مرورگر وارد میکنید و پیغام ۴۰۴ دریافت میکنید. وب سرور به شما میگوید چنین صفحهای وجود ندارد. این رویداد در لاگ یا گزارشی توسط log4j برای مدیران سیستم وب سرور ثبت میشود.
آسیبپذیری Log4Shell با شماره CVE-2021-44228
Log4shell یکی از ویژگیهای کتابخانه Log4j است که به کاربران امکان سفارشیسازی قالببندی پیام گزارش را میدهد، این ویژگی همچنین به Log4j امکان میدهد که نامکاربری مرتبط با هر تلاش برای ورود به سرور را نیز ثبت کند. درجه این آسیب پذیری (CVSS) بر طبق اطلاعات منتشر شده 10 بوده و تاریخ انتشار آن 12/10/2021 می باشد .
متاسفانه این نوع کد میتواند برای چیزی بیشتر از قالببندی پیامهای لاگ استفاده شود. Log4j به سرورهای واسط اجازه میدهد کد نرمافزاری اعمال کنند که بتواند هر عملی روی رایانه هدف انجام دهد. این درب را برای فعالیتهای شرورانه مانند سرقت اطلاعات حساس، در اختیار گرفتن کنترل سیستم مورد نظر و ارسال بدافزار به دیگر کاربرانی که با سرور آسیبدیده ارتباط دارند، باز میکند.
یکی از نگرانیهای اصلی در مورد Log4Shell، جایگاه Log4j در اکوسیستم نرمافزاریست. لاگ کردن یکی از ويژگیهای اساسی اکثر نرمافزارهاست. از این کتابخانه در سرویسهای ابری مانند Apple iCloud و Amazon Web Services و همچنین طیف وسیعی از برنامهها و ابزارهای توسعه نرمافزار و امنیتی استفاده میشود.
به دلیل گستردگی استفاده از این کتابخانه در اکثر محصولات مبتنی بر جاوا پیشبینی میشود بسیاری از این محصولات آسیب پذیر باشند . تعداد این دست سرویس ها بسیار زیاد است و این مسئله موجب بروز مشکلات بسیار حیاتی میشود. با استفاده از لینک زیر میتوانید سرویسدهندگانی که نسبت به log4shell آسیبپذیر هستند را مشاهده نمایید:
https://github.com/authomize/log4j-log4shell-affected/blob/main/affected_apps.md
نمودار زیر نشان دهنده مقدار آسیبپذیر بودن زیر ساخت های بینالمللی نسبت به این آسیبپذیری است.

مخاطرات آسیبپذیری Log4shell
با سواستفاده از این آسیبپذیری نفوذگر میتواند بر روی سرویس دهنده آسیبپذیر دسترسی اجرای کد دلخواه داشته باشد. با توجه به سهولت در سواستفاده از این مشکل امنیتی پیشبینی میشود که از این آسیبپذیری در گسترش بسیاری از باج افزار ها. Crypto miner ها و بات نت ها استفاده شود.
راه حل مرتفع سازی
بسته به اینکه این کتابخانه چگونه در سیستم استفاده شده است، اصلاح آن نیاز به راه حلهای متفاوتی دارد و هیچ راه حل یکسانی برای مرتفع سازی این آسیبپذیری وجود ندارد. با این حال به مدیران و مسئولان مربوطه اکیدا توصیه می شود تا از آسیبپذیر نبودن سرویس دهنده های خود اطمینان حاصل نمایند و در صورت آسیبپذیر بودن هرچه سریعتر نسبت به اعمال به روز رسانی و یا وصله کردن سرویس دهنده های خود عمل نمایند.