چرا ممکن است در حال حاضر در معرض خطر باشید، چگونه آسیبپذیریهای Log4j را در حال حاضر شناسایی و کاهش دهید، و چگونه امنیت کد خود را در آینده بهبود بخشید.
Log4j آخرین مورد از یک سری حملات زنجیره تامین نرمافزار، از جمله SolarWinds (که فرآیند ساخت به خطر افتاده بود) و Kaseya (جایی که مهاجمان کدهای حاوی بدافزار را جایگزین کرده بودند) است.
از زمان اولین آسیبپذیری Log4j آشکار شد، فروشندگان امنیتی و تحلیلگران اطلاعات زیادی در مورد کارهایی که باید انجام شود منتشر کردهاند که در سراسر نقشه وجود دارد. برخی از افراد سناریوهای نزدیک به روز قیامت را ارسال کرده اند، در حالی که برخی دیگر پیش بینی های کمتر وحشتناکی دارند. Check Point Software Technologies در نزدیک به نیمی از مشتریان خود شاهد سوء استفاده هایی بوده است. Contrast Security دریافته است که ۵۸٪ از برنامه های جاوا دارای نسخه های آسیب پذیر هستند. در حال حاضر، اما تنها ۳۷٪ در واقع از Log4j استفاده می کنند.
چهار شماره موجود در CVE-2021-44228، < a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-45046" rel="nofollow">CVE-2021-45046، CVE-2021-4104 و CVE-2021-45105. آژانس امنیت سایبری و امنیت زیرساخت ایالات متحده یک صفحه وب با پیوندها به وبلاگ های فروشنده مختلف در اینجا نگهداری می کند. ، همراه با فهرست برنامههای تحت تأثیر، و تلاش میکند هر دو را حفظ کند با هر گونه اصلاحی به روز شد. این مشکلات شامل چندین ویژگی نرمافزار ثبتنام میشود، از جمله Java Naming and Directory Interface (JDNI) و پیامهای رویداد JMSAppender، که هر دو امکان اجرای کد از راه دور را میدهند. آنچه این مجموعه از آسیب پذیری ها را خطرناک می کند این است که مهاجمان برای به دست آوردن این دسترسی از راه دور به تخصص زیادی نیاز ندارند. آخرین آسیبپذیری به شرایط انکار خدمات اشاره دارد که همه را سرپا نگه میدارد. و اخیراً، Blumira یک بردار حمله جدید پیدا کرد که سطح کلی را با استفاده از WebSockets.
به نظر میرسد ما پایان Log4j را نشنیدهایم. آنچه واضح است این است که به عنوان یک توسعهدهنده برنامه، کارهای زیادی برای یافتن، رفع و جلوگیری از مشکلات log4j در کوتاهمدت و چند چیز در درازمدت باید انجام دهید.
شما ممکن است در حال حاضر در معرض خطر باشید
قبل از اینکه شروع به قفل کردن چیزها کنید، آریل پارنز، مدیر اجرایی Mitiga، هشدار می دهد که «باید ببینید آیا سازمان شما قبلاً با استفاده از Log4j در گذشته هک شده است یا خیر. جنایتکاران ممکن است از قبل در داخل باشند.» مدیر فناوری اطلاعات جان کرونین سوالات کلیدی را مطرح می کند: “آیا می دانید کدام یک از سرورهای شما از Log4j استفاده می کنند؟ چه مدت طول می کشد تا لیستی از آن سرورها را تهیه کنید؟ آیا می توانید آنها را در یک لحظه وصله کنید؟ آیا ابزارهای خودکار دارید یا کسی باید به هر سروری وارد شود و آن را به صورت دستی انجام دهد؟ آیا فرآیندی برای وصله سرورهای تولید زنده در زمان اوج استفاده دارید؟ برای اطمینان، پاسخ به این سؤالات کمی تلاش می کند. در پست قبلی، مواردی را که برای تشخیص ابتلای شما لازم است بررسی میکنیم.
تحلیلگران امنیتی با استفاده از طیف گستردهای از پروتکلهای شبکه از جمله LDAP، RMI، DNS و HTTP، بهرهبرداریهایی را یافتهاند که به تاریخ ۱ دسامبر ۲۰۲۱ بازمیگردد. این اکسپلویتها بدافزارهای مختلفی را نصب کردهاند، از جمله ماینرهای مخفی ارزهای دیجیتال، خانواده باج افزار که Bitdefender آن را Khonsari می نامد و برای پیوستن به بات نت Mirai کد کنید. و علاوه بر همه چیز، چندین محقق گزارش کرده اند که سوء استفاده هایی از مهاجمان تحت حمایت دولت در چین، کره شمالی، ترکیه و ایران نشات گرفته است.
برنامه دفاع فوری شما
اولین خط دفاع شما ارتقاء به جدیدترین نسخه های Log4j است. در ابتدا، آپاچی یک وصله منتشر کرد که معلوم شد هنوز دارای آسیبپذیری است. جدیدترین نسخهها Log4j نسخه ۲.۱۷.۰ هستند، اگر جاوا ۸ را اجرا میکنید یا جدیدتر، و Log4j نسخه ۲.۱۲.۲، اگر جاوا ۷ را در سراسر جهان اجرا می کنید زیرساخت برنامه وب شما اینها به طور پیشفرض JNDI را خاموش میکنند و دسترسی جستجوی پیام را حذف میکنند، که هر دو در قلب آسیبپذیریهای مختلف قرار دارند. غیرفعال کردن JNDI میتواند چیزی را در برنامههای شما خراب کند، بنابراین قبل از اینکه در هر سیستم تولیدی پیادهسازی کنید، آن را با دقت آزمایش کنید.
اگر برای هیچ یک از برنامههای خود به آن نیاز ندارید، ممکن است بخواهید هرگونه گزارش مبتنی بر جاوا را متوقف کنید. دوباره، قبل از استقرار آزمایش کنید.
و کسانی از شما که سرور Minecraft خود را اجرا میکنند، باید بررسی کنند که آیا Minecraft نسخه ۱.۸.۸ یا بالاتر را اجرا میکند یا خیر. این نسخه ها آسیب پذیر هستند. مایکروسافت Minecraft نسخه ۱.۱۸.۱ را منتشر کرده است که این مشکل را برطرف می کند. باید فوراً ارتقا دهید یا سرور دیگری و قابل اعتمادتر پیدا کنید که رفع شده است.
چه ابزارهای شناسایی موجود است
فروشندگان امنیت برای تقویت ابزارهای خود اضافه کاری کرده اند و شما باید از پیشنهادات رایگان مختلف استفاده کنید. در زیر، انواع اسکنرهایی را فهرست کرده ام که می توانند برای یافتن کد آسیب پذیر در برنامه های در حال اجرا یا فایل های منبع استفاده شوند. شما باید تعیین کنید که آیا آن کد در هر نمونه تولیدی مستقر شده است یا خیر.
- Qualys 30 روز آزمایشی رایگان از اسکنر برنامه وب خود دارد a>، همراه با این توضیحاتی در وبلاگ آنها در مورد نحوه استفاده از آن.
- Check Point’s CloudGuard AppSec، اسکنر دیگر، یک دوره آزمایشی رایگان ۳۰ روزه دیگر در اینجا.
- CERT دارای یک سری اسکنر نوشته شده با استفاده از Windows، Python و Bash است.< /li>
- اگر از Burp Suite استفاده میکنید، X-Force اسکنر رایگان خود را دارد و SilentSignal افزونه خود را دارد.
- WhiteSource اسکنر رایگان خود را دارد.
- JFrog ابزار اسکن مبتنی بر پایتون رایگان Xray خود را دارد تا کتابخانههای کد جاوا شما را بررسی کند.
- اگر از Semgrep استفاده میکنید قانون اینجاست... li>
- Orca Security یک ابزار آنلاین رایگان دارد که میتواند AWS، Azure و محیطهای Google Cloud، به همراه یک آزمایش ۳۰ روزه از پلتفرم آن.
راهبردهای بلند مدت برای بهبود امنیت کدنویسی
ابتدا، وابستگی های کد را درک کنید. یکی از چالش های Log4j محبوبیت و گنجاندن آن در کتابخانه های جاوای متعدد است. هنگامی که نسخههای قدیمیتر را در کد خود ریشهیابی کردید، زمان آن رسیده است که بررسی کنید چه چیز دیگری را اجرا میکنید که بستگی به آن دارد. اگر از فریم ورک های Apache Struts2، Flume، Dubbo، Kafka، Solr، Druid یا Fink استفاده می کنید، باید کتابخانه های Log4j را در داخل این پروژه ها ارتقا دهید. اگر Struts یادداشتی آشنا داشته باشد، یک سوء استفاده در سال ۲۰۱۷ منجر به به خطر افتادن پایگاه داده Equifax شد که اطلاعات خصوصی بیش از ۱۴۰ میلیون مشتری را به بیرون درز کرد.
تانیا جانکا، از WeHackPurple (یک منبع عالی در مورد امنیت برنامه به طور کلی)، پیشنهاد می کند که از dependencyGraph، Snyk، یا بررسی وابستگی OWASP. هنگامی که وابستگی پیدا کردید، اگر نمی توانید فوراً آن را وصله کنید، کدی را که Log4j را فراخوانی می کند، نظر دهید.
با نحوه کار دیوارهای آتش برنامه وب (WAF) آشنا شوید. اگر WAF ندارید، اکنون زمان دریافت یکی است. اگر هر کدام از کدهای شما در پشت یک WAF مستقر شده است، قوانین تشخیص آنها را روشن کنید و بررسی کنید که آیا فروشنده قوانین خود را برای پوشش آخرین آسیب پذیری ها به روز کرده است یا خیر. اما توجه داشته باشید که از زمان اعلام این نقص، محققان روش های زیادی را نشان داده اند< /a> برای ساخت بارهای تودرتو و مبهم که قوانین پیشنهادی فیلتر WAF را دور می زند. Fastly توضیح گسترده ای در نحوه آزمایش اثربخشی WAF.
از ابزارهای کاهش آسیب پذیری Log4j و وصله استفاده کنید. تعدادی از شرکتها قبلاً ابزارهای کاهش را برای Log4j ارائه کردهاند:
- Cybereason این کد را جمع آوری کرده است. LunaSec آن را بیشتر بهبود بخشید و آن را در یک سرور زنده به عنوان یک سرویس عمومی میزبانی کرد.
- تیم Corretto از خدمات وب آمازون یک عامل جاوا توسعه داده است a> که تلاش می کند Log4j را وصله کند. نماینده در GitHub موجود است.
- Contrast Security دارای SafeLog4j است که هم تشخیص می دهد و هم وصله می کند و ظاهراً در برابر حملات بای پس WAF کار می کند.
- سیسکو یک ارائه میکند آزمایش رایگان ۳۰ روزه Secure Endpoint آن. فروشندگان نقطه پایانی دیگری نیز وجود دارند که شامل قوانین تشخیص هستند، از جمله Microsoft Defender (اما در حال حاضر فقط نسخه های ویندوز).
- اگر از ظروف استفاده می کنید، به محصولات حفاظتی ویژه نیاز دارید. برای مثال، Red Hat امنیت کلاستر پیشرفته خود را به روز کرده است. a> شبکه های Kubernetes و Palo Alto، Prisma Cloud خود را به روز کرده است.
پست های مرتبط
آنچه که توسعه دهندگان برنامه اکنون باید برای مبارزه با اکسپلویت های Log4j انجام دهند
آنچه که توسعه دهندگان برنامه اکنون باید برای مبارزه با اکسپلویت های Log4j انجام دهند
آنچه که توسعه دهندگان برنامه اکنون باید برای مبارزه با اکسپلویت های Log4j انجام دهند