آسیبپذیری Log4Shell ، میلیونها وبسایت که شامل تکه نرمافزار Log4j هستند را تحت تاثیر قرار داده است. نرمافزار Log4j یک ابزار لاگ مبتنی بر جاوا است.
نرمافزار Log4j چه کاری انجام میدهد؟
Log4j یک نرمافزار منبع باز است که توسط بنیاد آپاچی ارائه شده است; Log4Shell رویدادها – خطاها و عملیات معمول سیستم – و پیغامهای تشخیصی مربوط به آنها را برای مدیران و کاربران سیستم ثبت میکند.
یک مثال رایج از Log4j زمانی است که روی لینک بد یا اشتباه کلیک و یا آدرس اشتباهی را در نوار آدرس مرورگر وارد میکنید و پیغام ۴۰۴ دریافت میکنید. وبسرور به شما میگوید چنین صفحهای وجود ندارد. همچنین این رویداد در لاگ یا گزارشی توسط نرمافزار Log4j برای مدیران سیستم سرور ثبت میشود.
مثال دیگر در بازی آنلاین Minecraft است که سرور از Log4j برای ثبت حافظه مصرف شده و دستورات تایپ شده کاربران استفاده میکرده است.
آسیبپذیری Log4Shell چگونه کار میکند؟
Log4Shell از ویژگیای در Log4j که به کاربران امکان سفارشیسازی قالببندی پیام گزارش را میدهد، سواستفاده میکند. این ویژگی به Log4j امکان میدهد که نه فقط نامکاربری مرتبط با هر تلاش برای ورود به سرور، بلکه نام واقعی شخص را نیز ثبت کند – اگر در سرور دیگری دایرکتوریای شامل نامکاربری و نام اصلی کاربر موجود باشد. برای اینکار Log4j باید با سرور شامل دایرکتوری ارتباط برقرار کند.
متاسفانه این نوع کد میتواند برای چیزی بیشتر از قالببندی پیامهای لاگ استفاده شود. Log4j به سرورهای واسط اجازه میدهد کد نرمافزاری اعمال کنند که بتواند هر عملی روی رایانه هدف انجام دهد. این درب را برای فعالیتهای شرورانه مانند سرقت اطلاعات حساس، در اختیار گرفتن کنترل سیستم مورد نظر و ارسال بدافزار به دیگر کاربرانی که با سرور آسیبدیده ارتباط دارند، باز میکند.
Log4j همه جا هست
یکی از نگرانیهای اصلی در مورد Log4Shell، جایگاه Log4j در اکوسیستم نرمافزاریست. لاگ کردن یکی از ويژگیهای اساسی اکثر نرمافزارهاست که همین استفاده از این تکه نرمافزار را گسترده میکند. علاوه بر بازیهای محبوبی مانند Minecraft، از این نرمافزار در سرویسهای ابری مانند Apple iCloud و Amazon Web Services و همچنین طیف وسیعی از برنامهها و ابزارهای توسعه نرمافزار و امنیتی استفاده میشود.
این بدان معنی است که هکرها انواع هدفها را پیش روی خود دارند: کاربران خانگی، ارائه دهندگان خدمات، توسعه دهندگان کد منبع و حتی محققان امنیتی. بنابراین در حالی که شرکتهای بزرگی مانند آمازون میتوانند به سرعت سرویسهای وب خود را اصلاح کنند تا از سوء استفاده هکرها از آنها جلوگیری کنند، بسیاری از سازمانها هستند که برای وصله کردن سیستمهایشان زمان بیشتری نیاز دارند، و برخی از آنها ممکن است حتی ندانند که به این کار نیاز دارند.
جلوی آسیب را بگیریم
سخت است که بدانیم Log4j در هر سیستم نرم افزاری مورد استفاده قرار می گیرد یا خیر، زیرا اغلب به عنوان بخشی از نرم افزارهای دیگر است. این امر مستلزم آن است که مدیران سیستم نرم افزار خود را فهرست کنند تا حضور آن را شناسایی کنند. برخی از افراد حتی نمی دانند که این مشکل در سرور یا سیستم آنها وجود دارد، در اینصورت ریشه کن کردن آسیبپذیری بسیار سختتر میشود.
هیچ راه حل یکسانی برای اصلاح نقص Log4j وجود ندارد. بسته به اینکه این کتابخانه چگونه در سیستم گنجانده شده، اصلاح مشکل نیاز به راه حل متفاوتی دارد. ممکن است کل سیستم نیاز به بهروز رسانی داشته باشد، همانطور که برای برخی روترهای سیسکو انجام شد، یا به روزرسانی به نسخه جدیدی از نرمافزار صورت بگیرد همانطور که در مورد Minecraft انجام شد، یا نیاز به حذف کد آسیبپذیر به صورت دستی باشد.
بعنوان یک کاربر سخت است بدانید که آیا محصول نرمافزاریای که استفاده میکنید شامل Log4j میشود و آیا از نسخههای آسیبپذیری نرمافزار استفاده میکند یا خیر. با این حال، میتوانید به سخنان کارشناسان امنیت توجه کنید: مطمئن شوید که تمام نرمافزارهایتان بهروز هستند.