روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ یک سال پیش –دسامبر 2021- آسیبپذیری Log4Shell (CVE-2021-44228) در آرشیو Apache Log4j حسابی سر و صدا کرد. گرچه هنوز بهار نرسیده دیگر سرخط خبرها و رسانهها نبود اما در نوامبر 2022 وقتی گزارش شد مجرمان سایبری برای حمله به آژانس فدرال آمریکا از این آسیبپذیری استفاده کرده و در سیستم آن نیز ماینر رمزارز نصب کردند دوباره شاهد خیزش Log4Shell هستیم. برای همین لازم دانستیم توضیح دهیم Log4Shell دقیقاً چیست، چرا خیلی زود است بخواهیم آن را «رفته» حساب کنیم و چطور باید زیرساخت خود را در برابر آن محافظت کنیم. با ما همراه بمانید.
آرشیو Apache Log4j چیست؟
از آنجایی که Java SDK از ابتدا لاگ کردن را حمایت نمیکرد، توسعهدهندگان مجبور شدند راهکارهای خود را بنویسند و تا زمان ظاهر شدن Java Logging API به طور رسمی کلی از آنها وجود داشت. یکیشان Apache Log4j بود؛ آرشیو جاوای محبوب منبع باز که سال 2001 توسعه داده شد. این هرگز تنها راهکار لاگ در جاوا نیست بلکه مطمئناً یکی از محبوبترینهاست. بسیاری از راهکارهای جایگزین در اصل شاخههای همان Log4j هستند که در مراحل مختلف توسعه آرشیو ظاهر شد.
آسیبپذیری Log4Shell چیست؟
آرشیو Log4j لاگ کردن همه رخدادهای سیستم را به طور خودکار ممکن میسازد. این آرشیو از مجموعه استانداردی از رابطها برای دسترسی به دادههای [1]JNDI استفاده میکند. در نوامبر 2021 کاشف بعمل آمد در طول لاگ این آرشیو توانسته فرمانهای JNDI را که با یک رخداد بدان تحویل داده شده است اجرا کند (برای مثال در فیلد هدر یک درخواست، پیام چت، یا بخش توصیف خطای 404 روی یک وبپیج). این آسیبپذیری اجازه میدهد مجرمان سایبری –دست کم به طور تئوری- روی سیستم قربانی هر کاری که دوست دارند بکنند (تازه اگر سر و کلهی اقدامات امنیتی اضافه در این میان پیدا نشود). در عمل، بیشتر مهاجمین از Log4Shell برای نصب ماینرهای غیرقانونی و انجام حملات باجافزای استفاده کردند. اما کارکردهای عجیب و غریبتر هم برای آن وجود داشت: حملات هدفدار، توزیع باتنت Mirai و حتی RickRolling.
چراLog4Shell خطرناک است و هنوز هم تهدید محسوب میشود؟
جاوا یکی از زبانهای اصلی برنامهنویسی است و برای بسیاری از سیستمهای بکاند استفاده میشود؛ از سرورهای سازمانهای کوچک گرفته تا سیستمهای اتوماسیون و دستگاههای اینترنت اشیاء. بیشتر این سیستمها به طریقی از لاگ کردن استفاده میکنند. سالها آسانترین روش برای انجام این کار استفاده از آرشیو Log4j بود. وقتی گزارش شد –دسامبر 2021- چنین آسیبپذیری وجود دارد، متخصصین اعلام کردند که سالهای آتی این مسئله قرار است چالشهای زیادی را بوجود بیاورد. دلیلش هم مواردی است که در زیر آوردهایم:
- Log4j در طیف وسیعی از اپهای جاوا استفاده میشود. در زمان کشف، این آسیبپذیری در بیش از 35 هزار پکیجِ Maven Central (بزرگترین مخزن پکیج جاوا) موجود بود (طبق گزارشات 8 درصد از تعداد کل). به نقل از متخصصین حدود 40 درصد شبکههای سراسر جهان در معرض Log4Shell بودند.
- جدا از کامپیوترها و سرورهای معمولی، جاوا همچنین در تجهیزات صنعتی، پزشکی و سایر تجهیزات تخصصی نیز به کار میرود. و این تجهیزات نیز معروف است به استفاده از آرشیو Log4j.
- کاربران نهایی راهکارهایی که در خود Log4j را دارند –اگر ندانند که نرمافزار حاوی آسیبپذیری است-ممکن است آپدیت کردنش را عقب بیاندازند.
- توسعهدهندگان راهکارهایی که از آرشیو Log4j استفاده میکنند میتوانستند خیلی وقت پیش شکست بخورند، از بازار خارج شوند یا به طور دیگری از برنامههای خود پشتیبانی کنند. حتی اگر کاربران نهایی قصد آپدیت هم داشتند این گزینه ممکن بود دیگر نباشد و این درحالیست که سوئیچ کردن به نرمافزار دیگر شاید انقدرها هم آسان نباشد.
- Log4j یک آرشیو منبع باز است که این یعنی برنامهنویسها میتوانند آن را در پروژههای خود کپی، دستکاری یا استفاده کنند. متأسفانه همه توسعهدهندهها هم سفت و سخت به قوانین لایسنس کردن پایبند نیستند و همیشه هم کد نویسندگی را نشان نمیدهند. پس در تئوری این آسیبپذیری میتواند در پروژه طرفسوم که در آن Log4j دیگر به طور رسمی نیست نیز یافت شود.
- Log4Shell آسیبپذیری روز صفر بود بدینمعنا که مجرمان سایبری پیش از اینکه اطلاعات مربوط به آن نشر شود آن را اکسپلویت کردند. شواهدی هست که نشان میدهد مهاجمین ابتدا دست کم نُه روز قبل عمومی شدنش آن را امتحان کرده بودند.
- از میان برنامههای تحتالشعاع قرار گرفته میتوان به VMware–مشخصاً راهکار زیرساخت دسکتاپ مجازی محبوب به نام VMware Horizon – اشاره کرد. بسیاری از حملات رجیسترشده با همین نرمافزار به سیستم نفوذ کردند.
- اگر مهاجم از قبل به سیستم رخنه کرده باشد آپدیتها اثرگذاری کمی خواهند داشت. به هیچ وجه همه حملات فوراً بعد از نفوذ شروع به کار نمیکنند و این امکان کاملاً وجود دارد که بسیاری از سیستمها بکدر داشته باشند.
خسارت واقعی
اگر بخواهیم جانب انصاف را رعایت کنیم، باید توجه داشته باشیم که تاکنون هیچ پیامد فاجعهباری از بهرهبرداری Log4Shell ثبت نشده است - یا حداقل هیچیک از آنها که عموم مردم از آن مطلع نشده باشند. با این حال، این آسیبپذیری باعث ایجاد دردسر بزرگی برای توسعهدهندگان و کارشناسان امنیتی شد، از جمله تعطیلات کریسمس برای هزاران کارمند فناوری اطلاعات در سراسر جهان. شرکت هایی که در مورد امنیت جدی هستند (هم خود و هم مشتریانشان) مجبور شده اند مبالغ قابلتوجهی را برای یافتن آسیب پذیری در سیستم ها و نرم افزارهای خود و رفع آن هزینه کنند.
در زیر، برخی رخدادهای مهم Log4Shell را آوردهایم:
- در 20 دسامبر 2021، وزارت دفاع بلژیک حمله به زیرساخت های خود را با استفاده از این آسیبپذیری تایید کرد. قابل درک است که جزئیات فاش نشده است.
- در 29 دسامبر 2021، گزارشهای رسانهای اعلام کردند که یک موسسه علمی خاص در ایالات متحده از طریق Log4Shell مورد حمله قرار گرفته است. طبق گزارش CrowdStrike، گروه APT، Aquatic Panda، از VMware Horizon بدون اصلاح استفاده کرد. فعالیت مشکوک به موقع متوقف شد، اما خود این رخداد نشان میدهد که گروه های هکری جدی این آسیبپذیری را پذیرفتهاند.
- همچنین در دسامبر 2021، اخباری در مورد بهرهبرداری از Log4Shell در سرورهای Minecraft: Java Edition منتشر شد که توسط ناشر بازی (مایکروسافت) میزبانی نمیشد. این شرکت این گزارش را تایید کرد و توجه را بسادگی اجرای حمله جلب کرد: مجرمان سایبری کدهای مخرب را در یک چت معمولی درون بازی منتقل میکردند که برای اجرای آن هم در سمت سرور و هم در مشتری آسیبپذیر کافی بود. این مورد کمتر از دیدگاه قربانیان و بیشتر از نظر اجرای فنی مورد توجه است: تحت شرایط خاص، یک حمله میتواند از طریق یک چت داخلی انجام شود. این نگرانکننده است، زیرا چتها اکنون بسیار فراتر از دنیای بازی هستند: برای بسیاری از شرکتها، آنها روش ترجیحی برای برقراری ارتباط با مشتریان هستند. در بسیاری از برنامههای کاربردی فینتک و سایر برنامهها، پشتیبانی مشتری به این صورت است.
- در ژوئن 2022، آژانس امنیت سایبری و امنیت زیرساخت ایالات متحده (CISA) و فرماندهی سایبری گارد ساحلی ایالات متحده (CGCYBER) هشداری صادر کردند مبنی بر اینکه این آسیبپذیری همچنان فعالانه مورد سوءاستفاده قرار میگیرد. طی این بیانیه رسمی مشخص شد مجرمان سایبری از حفره امنیتی در VMware Horizon برای نفوذ به شبکههای داخلی دو آژانس دولتی ناشناس استفاده کردهاند. علاوه بر این، گفته میشود مهاجمین به 130 گیگ داده حساس مربوط به اجرای قانون دسترسی پیدا کردهاند.
- نوامبر 2022 CISA مشترکاً با FBI بیانیه دیگری را در مورد حمله Log4Shell روی آژانسهای دولتی بیشتری صادر کردند. مهاجمین ماه فوریه نفوذ به سیستم را شروع کردند؛ این اقدام اما در ماه آوریل شناسایی شد و تا ژوئن-جولای همچنان فعال بود. در طول این بازه زمانی آنها با مزایای ادمین اکانت ساختند، پسورد قانونی ادمین را عوض کردند و نرمافزار ماینینگ را در سرور آپلود کردند.
راهکارهای امنیتی
هر شرکتی براحتی میتواند به دلیل اطلاع نداشتن از آسیبپذیریها در سیستمها و نرمافزارهایش قربانی Log4Shell شود. اگر مطمئن نیستید آیا سیستمها، ابزارها، محصولات یا سرویسهایی که استفاده میکنید از آرشیو Log4j استفاده میکنند یا نه بهتر است ممیزی امنیتی انجام دهید. جدا از آن توصیه میکنیم راهکارهای امنیتی زیر را نیز لحاظ کنید:
- اگر در نرمافزارتان Log4j است از آخرین نسخه موجود آرشیو روی صفحه پروژه استفاده کنید.
- راهنمای رسمی Apache Logging Services را مطالعه کرده و در صورت لزوم آن را دنبال کنید.
- اگر Log4j در محصولات طرفسوم استفاده میشود همه نرمافزارهای آسیبپذیر را به روز کنید.
- از راهکارهای امنیتی قوی که قادرند اقدامات اکسپلویت آسیبپذیریها را روی سرورها و ایستگاههای کار شناسایی کنند استفاده کنید.
- با استفاده از راهکارهای کلاس EDR یا سرویسهای خارجی مانند راهکار واکنش و شناسایی مدیریتشده از محیط سازمانی خود محافظت کنید. این کار به شما اجازه میدهد حملات را در همان مراحل آغازین پیدا کرده و از بین ببرید.
[1] Java Naming and Directory Interface
منبع: کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.