در تاریخ ۹ دسامبر ۲۰۲۱ آسیبپذیری جدید و مهمی با نام CVE-2021-44228 برای کتابخانهی Log4j اعلام و بلافاصله پس از آن، کدهای اکسپلوییت متعددی برای بررسی و سواستفاده از آن منتشر شد.
هنگامی که یک CVE جدید اعلام میشود از منظر شبکه توزیع محتوا (CDN) از دو جهت دارای اهمیت است.
- ایمنسازی سرویسهای داخلی در برای آسیبپذیری
- ایمنسازی کاربرانی که از CDN برای وبسایت و اپلیکیشن خود استفاده میکنند
از این رو در ساعات اولیهی اعلام این آسیبپذیری ما در آروان به دنبال راه حلی برای موضوعات بالا شدیم.
آسیبپذیری CVE-2021-44228 چیست؟
این آسیبپذیری در کتابخانهی Log4j که یک کتابخانهی پردازش لاگ در جاوا به شمار میآید، یافت شده است و به دلیل پر استفاده بودن آن، به شکل گسترده در نرمافزارهای سازمانی که با جاوا توسعه داده شدهاند به کار میرود که اکنون میتواند هدف حملات مخرب قرار گیرد.
آسیبپذیری CVE-2021-44228 از آن رو اهمیت دارد که نرمافزارهای سازمانی شرکت Apache که به شکل گسترده برای پردازش در سازمانها مورد استفاده قرار میگیرند از این کتابخانه استفاده میکنند.
آسیبپذیری مذکور به حملهکننده این امکان را میدهد که از طریق ارسال یک Payload در درخواست های HTTP باعث اجرا شدن کدهای مخرب خود در سرویسهای داخلی که دارای این ضعف امنیتی هستند، شود.
این PayLoad میتواند در هر کدام از پارامترهای HTTP باشد. مانند:
- URI
- User Agent
- Body
- Referer
با لاگ شدن هر کدام از این پارامترها که حاوی Payload مخرب باشند، دسترسی اجرای کد در اختیار حملهکننده قرار میگیرد.
چه کسانی تحت تاثیر قرار میگیرند؟
اگر در هر یک از مراحل پردازش درخواستهای HTTP یکی از پارامترهای Body, User Agent, URL, Referer را لاگ میکنید و یا از یکی از محصولات نوشته شده با جاوا مانند محصولات شرکت آپاچی استفاده میکنید، به احتمال بسیار زیاد تحت تاثیر این آسیبپذیری قرار میگیرید.
نمونه یکی از درخواستهای مخرب لاگ شده
از نظر گستردگی و میزان تخریب، این آسیبپذیری جزو موارد بسیار شدید دستهبندی میشود.
نمونه ی یکی از درخواست های مخرب که در CDN آروان لاگ شده است را میتوانید در تصویر زیر ببینید. در این UA میتوان Payload مخرب را مشاهده کرد (اطلاعات حساس آن مخفی شده است).
{ "timestamp": 1639293314.369, "uuid": "b111a870-f55f-4f3c-913b-7224a7b012ed", "method": "GET", "scheme": "https", "domain": "xxx", "uri": "/", "query_string": "", "referer": "", "ip": "1.2.3.4", "ua": "${jndi:ldap://payload}", "country": "IR", "isp": "NA", "asn": 1234, "content_type": "text/html; charset=utf-8", "status": 200, "server_ip": "1.2.3.4", "server_port": 443, "bytes_sent": 4489, "nbytes_received": [ 0 ], "process_time": 0.001, "nupstream_time": [ 0 ], "cache": "HIT", "request_id": "be9278e9a3a1a6f2ea9d3e0bc423c4d7", "node_id": "aaa", "upstream_addr": "" }
اقدامات انجامشده برای رفع این مشکل
جمعه: رفع آسیبپذیری CVE-2021-44228 در سرویسهای داخلی
بر اساسی گزارشی که شرکتApache منتشر کرد به کمک روشهای زیر میتوان در برابر این آسیبپذیری ایمن بود:
- بهروزرسانی به نسخهی Log4j 2.15.0
- اگر از نسخهی Log4J 2.10 و بالاتر استفاده میکنید و امکان آپگرید ندارید این مقدار را در تنظیمات وارد کنید:
log4j2.formatMsgNoLookups=true
- کلاس JndiLookup را از مسیر کلاسها پاک کنید. مثلن میتوانید از دستور زیر استفاده کنید:
zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
با توجه به اهمیت سرویسهای لاگ در محصولات ابری آروان، برای پردازش لاگها در قسمتهای متعددی از ابزارهای توسعه داده شده توسط آپاچی استفاده می شود:
- Apache Kafka
- Elastic Search
- LogStash
- Apache Flink
- …
با توجه به دستورالعملهای منتشر به وسیلهی آپاچی، این آسیبپذیریها در ساعات اولیه برطرف شدند.
تلاش ابر آروان برای حفاظت از کاربران CDN در برابر آسیبپذیری CVE-2021-44228
شنبه: قوانین اضافه شده به WAF ابر آروان برای مسدود کردن
برای کاربرانی که از سیستم WAF ابر آروان به منظور حفاظت در برابر حملات اینترنتی استفاده میکردند ۲ قانون جدید به پنل کاربری اضافه شد، که در ادامه قابل مشاهده است:
یکشنبه: اضافه شدن قانون فایروال برای تمامی کاربران CDN
به دلیل وسیع بودن دامنهی این حمله و اینکه سرویس WAF تنها در اختیار کاربران سازمانی CDN است، ما برای تمامی کاربران شبکه توزیع محتوا قانونی را به فایروال اضافه کردیم تا این درخواستهای مخرب را مسدود کند.
برای ایمن ماندن چه کارهایی میتوان انجام داد؟
اگر کاربر CDN ابر آروان هستید، لازم است برای ایمن ماندن در برابر این آسیب، دستورالعملهایی که در این مقاله به آن اشاره کردیم را به کار بگیرید.
اگر هنوز موفق به این کار نشدهاید و یا همچنان در بخشهایی از سیستمهای داخلیتان این آسیبپذیری را مشاهده میکنید، پیشنهاد میکنیم دامنهی خود را به CDN آروان انتقال دهید.