۳۰ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

آنچه که توسعه دهندگان برنامه اکنون باید برای مبارزه با اکسپلویت های Log4j انجام دهند

چرا ممکن است در حال حاضر در معرض خطر باشید، چگونه آسیب‌پذیری‌های Log4j را در حال حاضر شناسایی و کاهش دهید، و چگونه امنیت کد خود را در آینده بهبود بخشید.

چرا ممکن است در حال حاضر در معرض خطر باشید، چگونه آسیب‌پذیری‌های Log4j را در حال حاضر شناسایی و کاهش دهید، و چگونه امنیت کد خود را در آینده بهبود بخشید.

در اوایل این ماه، محققان امنیتی یک سری از آسیب‌پذیری‌های مهم را کشف کردند. /a> در نرم افزار Log4j جاوا که در ده ها هزار برنامه تحت وب استفاده می شود. این کد به طور گسترده در سیستم های مصرف کننده و سازمانی، در همه چیز از Minecraft، Steam و iCloud گرفته تا Fortinet و Red Hat استفاده می شود. یک تحلیلگر تخمین می زند که میلیون ها نقطه پایانی ممکن است در خطر باشند.

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.

Graal Cloud Native پشتیبانی از Google Cloud Platform را اضافه می کند

به نظر می‌رسد ما پایان Log4j را نشنیده‌ایم. آنچه واضح است این است که به عنوان یک توسعه‌دهنده برنامه، کارهای زیادی برای یافتن، رفع و جلوگیری از مشکلات log4j در کوتاه‌مدت و چند چیز در درازمدت باید انجام دهید.

شما ممکن است در حال حاضر در معرض خطر باشید

قبل از اینکه شروع به قفل کردن چیزها کنید، آریل پارنز، مدیر اجرایی Mitiga، هشدار می دهد که «باید ببینید آیا سازمان شما قبلاً با استفاده از Log4j در گذشته هک شده است یا خیر. جنایتکاران ممکن است از قبل در داخل باشند.» مدیر فناوری اطلاعات جان کرونین سوالات کلیدی را مطرح می کند: “آیا می دانید کدام یک از سرورهای شما از Log4j استفاده می کنند؟ چه مدت طول می کشد تا لیستی از آن سرورها را تهیه کنید؟ آیا می توانید آنها را در یک لحظه وصله کنید؟ آیا ابزارهای خودکار دارید یا کسی باید به هر سروری وارد شود و آن را به صورت دستی انجام دهد؟ آیا فرآیندی برای وصله سرورهای تولید زنده در زمان اوج استفاده دارید؟ برای اطمینان، پاسخ به این سؤالات کمی تلاش می کند. در پست قبلی، مواردی را که برای تشخیص ابتلای شما لازم است بررسی می‌کنیم.

تحلیل‌گران امنیتی با استفاده از طیف گسترده‌ای از پروتکل‌های شبکه از جمله LDAP، RMI، DNS و HTTP، بهره‌برداری‌هایی را یافته‌اند که به تاریخ ۱ دسامبر ۲۰۲۱ بازمی‌گردد. این اکسپلویت‌ها بدافزارهای مختلفی را نصب کرده‌اند، از جمله ماینرهای مخفی ارزهای دیجیتال، خانواده باج افزار که Bitdefender آن را Khonsari می نامد و برای پیوستن به بات نت Mirai کد کنید. و علاوه بر همه چیز، چندین محقق گزارش کرده اند که سوء استفاده هایی از مهاجمان تحت حمایت دولت در چین، کره شمالی، ترکیه و ایران نشات گرفته است.

برنامه دفاع فوری شما

اولین خط دفاع شما ارتقاء به جدیدترین نسخه های Log4j است. در ابتدا، آپاچی یک وصله منتشر کرد که معلوم شد هنوز دارای آسیب‌پذیری است. جدیدترین نسخه‌ها Log4j نسخه ۲.۱۷.۰ هستند، اگر جاوا ۸ را اجرا می‌کنید یا جدیدتر، و Log4j نسخه ۲.۱۲.۲، اگر جاوا ۷ را در سراسر جهان اجرا می کنید زیرساخت برنامه وب شما اینها به طور پیش‌فرض JNDI را خاموش می‌کنند و دسترسی جستجوی پیام را حذف می‌کنند، که هر دو در قلب آسیب‌پذیری‌های مختلف قرار دارند. غیرفعال کردن JNDI می‌تواند چیزی را در برنامه‌های شما خراب کند، بنابراین قبل از اینکه در هر سیستم تولیدی پیاده‌سازی کنید، آن را با دقت آزمایش کنید.

ایستیو چیست؟ مش سرویس Kubernetes توضیح داد

اگر برای هیچ یک از برنامه‌های خود به آن نیاز ندارید، ممکن است بخواهید هرگونه گزارش مبتنی بر جاوا را متوقف کنید. دوباره، قبل از استقرار آزمایش کنید.

و کسانی از شما که سرور Minecraft خود را اجرا می‌کنند، باید بررسی کنند که آیا Minecraft نسخه ۱.۸.۸ یا بالاتر را اجرا می‌کند یا خیر. این نسخه ها آسیب پذیر هستند. مایکروسافت Minecraft نسخه ۱.۱۸.۱ را منتشر کرده است که این مشکل را برطرف می کند. باید فوراً ارتقا دهید یا سرور دیگری و قابل اعتمادتر پیدا کنید که رفع شده است.

چه ابزارهای شناسایی موجود است

فروشندگان امنیت برای تقویت ابزارهای خود اضافه کاری کرده اند و شما باید از پیشنهادات رایگان مختلف استفاده کنید. در زیر، انواع اسکنرهایی را فهرست کرده ام که می توانند برای یافتن کد آسیب پذیر در برنامه های در حال اجرا یا فایل های منبع استفاده شوند. شما باید تعیین کنید که آیا آن کد در هر نمونه تولیدی مستقر شده است یا خیر.

راهبردهای بلند مدت برای بهبود امنیت کدنویسی

ابتدا، وابستگی های کد را درک کنید. یکی از چالش های 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 ارائه کرده‌اند: