SlideShare a Scribd company logo
1 of 5
Download to read offline
1
‫معرفی‬
‫آسیب‬
‫پذیری‬
‫کتابخانه‬ ‫در‬ ‫دور‬ ‫راه‬ ‫از‬ ‫کد‬ ‫اجرای‬
Apache Log4j2
‫بار‬ ‫اولین‬
‫تاریخ‬ ‫در‬
24
( ‫نوامبر‬
3
)‫آذر‬
‫جاری‬ ‫سال‬
‫توسط‬
‫ابری‬ ‫امنیت‬ ‫تیم‬
Alibaba
‫به‬
Apache
‫اعالم‬
‫گردید‬
.
‫در‬
10
‫نسخه‬ ‫آپاچی‬ ‫دسامبر‬
Log4j 2.15.0
‫جاوا‬ ‫برای‬
8
(
CVE-2021-44228
)
.‫است‬ ‫کرده‬ ‫منتشر‬
‫گسترد‬ ‫استفاده‬ ‫بدلیل‬
‫استفاده‬ ‫گی‬
‫جاوایی‬ ‫کتابخانه‬ ‫این‬ ‫از‬
)
‫تقربیا‬
7000
Artifact
‫در‬
Maven
)
‫و‬
‫سادگی‬
‫این‬ ‫برداری‬ ‫بهره‬
‫پذیری‬ ‫آسیب‬
،
‫رفع‬ ‫لذا‬ ‫است‬ ‫شده‬ ‫گزارش‬ ‫حیاتی‬ ‫پذیریی‬ ‫آسیب‬ ‫شدت‬
‫به‬ ‫که‬ ‫هایی‬ ‫برنامه‬ ‫در‬ ‫آن‬
.‫است‬ ‫ضروری‬ ‫اند‬ ‫وابسته‬ ‫کتابخانه‬ ‫این‬
‫دوم‬ ‫بخش‬ ‫در‬
‫گزارش‬ ‫این‬
‫جزییات‬
‫پذیری‬ ‫آسیب‬ ‫فنی‬
،
‫پذیری‬ ‫آسیب‬ ‫از‬ ‫برداری‬ ‫بهره‬ ‫روش‬ ‫سوم‬ ‫بخش‬ ‫در‬
.‫شود‬ ‫می‬ ‫بیان‬ ‫آن‬ ‫با‬ ‫مقابله‬ ‫راهکارهای‬ ‫چهارم‬ ‫بخش‬ ‫در‬ ‫و‬
‫واژگان‬
1
JNDI
‫از‬ ‫یکی‬ :
API
‫نام‬ ‫طریق‬ ‫از‬ ) ‫جاوایی‬ ‫اشیای‬ ‫قالب‬ ‫(در‬ ‫منابع‬ ‫یا‬ ‫داده‬ ‫جو‬ ‫و‬ ‫جست‬ ‫امکان‬ ‫که‬ ‫جاوا‬ ‫های‬
‫آنها‬
‫در‬
.‫نماید‬ ‫می‬ ‫فراهم‬ ‫را‬
Java Seriliaztion
‫از‬ ‫ای‬ ‫آرایه‬ ‫صورت‬ ‫به‬ ‫باید‬ ‫دایرکتوری‬ ‫سرورهای‬ ‫در‬ ‫سازی‬ ‫ذخیره‬ ‫برای‬ ‫جاوا‬ ‫اشیای‬ :
‫بایت‬
.‫شوند‬ ‫می‬ ‫سریالیز‬
1
Java Naming and Directory Service
2
‫پذیری‬ ‫آسیب‬ ‫جزییات‬
‫در‬
‫قبل‬ ‫های‬ ‫نسخه‬
‫از‬
2.14.1
‫کتابخانه‬
Log4j
‫با‬
‫پالگین‬
JNDI Lookup
‫امکان‬
‫جو‬ ‫و‬ ‫جست‬
‫بازیابی‬ ‫و‬
‫مشخص‬ ‫داده‬
‫واسط‬ ‫طریق‬ ‫از‬
2
JNDI
‫و‬
‫پروتکل‬
3
LDAP
‫دارد‬ ‫وجود‬
‫آن‬ ‫هدف‬ ‫و‬
‫از‬ ‫بیشتر‬ ‫جزییات‬ ‫دریافت‬
‫هریک‬
‫از‬
‫شده‬ ‫الگ‬ ‫ای‬ ‫داده‬ ‫اقالم‬
‫در‬
LDAP
‫یک‬ ‫با‬ ‫که‬
URI
‫دهی‬ ‫آدرس‬
‫است‬ ‫گردیده‬
.
‫شکل‬ ‫در‬ ‫دهی‬ ‫آدرس‬ ‫قالب‬
1
‫مشخ‬
.‫است‬ ‫شده‬ ‫ص‬
‫در‬
Log4j
‫های‬ ‫روش‬
‫نیز‬ ‫جو‬ ‫و‬ ‫جست‬ ‫برای‬ ‫دیگری‬
‫این‬ ‫ولی‬ ‫دارد‬ ‫وجود‬
‫روش‬
‫و‬ ‫داکر‬ ‫جدید‬ ‫های‬ ‫نسخه‬ ‫در‬ ( ‫است‬ ‫متداول‬ ‫بیشتر‬
Kubernetes
)
‫شکل‬
1
-
‫در‬ ‫دهی‬ ‫آدرس‬ ‫نحوه‬
‫جوی‬ ‫و‬ ‫جست‬ ‫مدل‬
JNDI
‫پذیری‬ ‫آسیب‬ ‫این‬ ‫از‬ ‫پیش‬ ‫های‬ ‫نسخه‬ ‫در‬ ‫است‬ ‫ذکر‬ ‫به‬ ‫الزم‬
.‫ندارد‬ ‫وجود‬ ‫مذکور‬
‫پردازش‬ ‫روال‬ ‫ادامه‬ ‫در‬
URI
:‫شود‬ ‫می‬ ‫داده‬ ‫شرح‬ ‫سرور‬ ‫در‬
1
-
‫سرویس‬ ‫که‬ ‫هاستی‬
LDAP
‫درخواست‬ ‫یک‬ ‫توسط‬ ‫دارد‬ ‫قرار‬ ‫آن‬
DNS
‫آدرس‬ ‫یک‬ ‫به‬
IP
) ‫مشخص‬
2
-
‫ارتباط‬
TCP
.‫شود‬ ‫می‬ ‫برقرار‬ ‫نظر‬ ‫مورد‬ ‫پورت‬ ‫با‬
3
-
‫پروتکل‬ ‫طریق‬ ‫از‬ ‫نظر‬ ‫دستوررمورد‬
LDAP
‫ش‬ ‫می‬ ‫اجرا‬ ‫سرور‬ ‫در‬ ‫و‬ ‫ارسال‬
.‫ود‬
‫اعتبارسنجی‬
‫نامناسب‬
‫ورودی‬
‫وجود‬ ‫با‬
‫پذیر‬ ‫آسیب‬ ‫مولفه‬
،‫سرور‬ ‫در‬
‫با‬
‫ارسال‬
URI
‫و‬ ‫کاربر‬ ‫توسط‬ ‫مخرب‬
‫و‬ ‫جست‬ ‫درخواست‬ ‫خودکار‬ ‫اجرای‬
‫جو‬
‫ی‬
‫بدون‬
‫اعتبارسنجی‬
‫امکان‬
‫سرورهای‬ ‫به‬ ‫اتصال‬
‫بدخواه‬
‫دارد‬ ‫وجود‬
.
2
Java Naming and Directory Interface
3
Lightweight Directory Access Protocol
3
‫دور‬ ‫راه‬ ‫از‬ ‫کد‬ ‫اجرای‬
JNDI/LDAP
‫سال‬ ‫در‬ ‫پذیری‬ ‫آسیب‬ ‫این‬
Black hat 2015
‫شده‬ ‫ارائه‬ ‫امنیتی‬ ‫محققان‬ ‫توسط‬
‫است‬
.
‫سرویس‬
LDAP
‫اشیای‬
‫کردن‬ ‫سریالیز‬ ‫طریق‬ ‫از‬ ‫را‬ ‫جاوا‬
‫یک‬ ‫در‬
‫بایت‬ ‫از‬ ‫ای‬ ‫آرایه‬
‫رشته‬ ‫این‬ . ‫نماید‬ ‫می‬ ‫ذخیره‬
‫حاوی‬
‫تمام‬
‫اطالعات‬
‫شی‬
‫شی‬ ‫های‬ ‫ویژگی‬ ‫و‬ ‫توابع‬ ‫شامل‬
‫است‬
‫و‬
‫استفاد‬ ‫قابل‬ ‫شی‬ ‫از‬ ‫نمونه‬ ‫یک‬ ‫ایجاد‬ ‫برای‬
‫است‬ ‫ه‬
.
‫به‬ ‫منجر‬ ‫موضوع‬ ‫همین‬
.‫شود‬ ‫می‬ ‫دور‬ ‫راه‬ ‫از‬ ‫کد‬ ‫اجرای‬
.‫است‬ ‫ساده‬ ‫آنها‬ ‫از‬ ‫برداری‬ ‫بهره‬ ‫و‬ ‫شده‬ ‫شناخته‬ ‫پذیری‬ ‫آسیب‬ ‫دو‬ ‫هر‬
4
‫برداری‬ ‫بهره‬
‫بتواند‬ ‫باید‬ ‫مهاجم‬ ‫پذیر‬ ‫آسیب‬ ‫ازاین‬ ‫برداری‬ ‫بهره‬ ‫برای‬
URI
‫یک‬ ‫کاربر‬ ‫های‬ ‫ورودی‬ ‫در‬ ‫را‬ ‫خود‬ ‫بدخواه‬
‫آ‬ ‫سرور‬ ‫تا‬ ‫نماید‬ ‫وارد‬ ‫پذیر‬ ‫آسیب‬ ‫برنامه‬
‫کد‬ ‫سپس‬ ‫شود‬ ‫متصل‬ ‫مهاجم‬ ‫سرور‬ ‫به‬ ‫و‬ ‫نماید‬ ‫پردازش‬ ‫را‬ ‫آن‬ ‫پذیر‬ ‫سیب‬
‫پاسخ‬ ‫در‬ ‫مهاجم‬ ‫مخرب‬
LDAP
.‫گردد‬ ‫اجرا‬ ‫پذیر‬ ‫آسیب‬ ‫سرور‬ ‫در‬
.‫شود‬ ‫می‬ ‫داده‬ ‫شرح‬ ‫مراحل‬ ‫از‬ ‫یک‬ ‫هر‬ ‫ادامه‬ ‫در‬
‫سروربدخواه‬ ‫به‬ ‫اتصال‬
‫حمله‬ ‫شروع‬ ‫نقطه‬
‫ارسال‬ ‫امکان‬
URI
‫و‬ ‫کاربر‬ ‫توسط‬ ‫مخرب‬
‫اعتبارسنجی‬ ‫عدم‬
‫سرور‬ ‫در‬ ‫آن‬
‫باش‬ ‫می‬
‫و‬ ‫د‬
‫نهایتا‬
‫منجر‬
‫به‬
‫با‬ ‫ارتباط‬
LDAP
‫شود‬ ‫می‬ ‫مهاجم‬ ‫کنترل‬ ‫تحت‬ ‫سرور‬
.
‫یک‬ ‫خود‬ ‫اکانت‬ ‫اطالعات‬ ‫نمودن‬ ‫وارد‬ ‫جای‬ ‫به‬ ‫کاربر‬ ‫الگین‬ ‫صفحه‬ ‫یک‬ ‫در‬
URI
‫که‬ ‫نماید‬ ‫وارد‬ ‫بدخواه‬
‫سرویس‬ ‫یک‬ ‫با‬ ‫مهاجم‬ ‫کنترل‬ ‫تحت‬ ‫دامین‬ ‫آن‬ ‫هاست‬ ‫آدرس‬
LDAP
‫باشد‬
‫عنوان‬ ‫به‬ ‫آن‬ ‫دریافت‬ ‫با‬ ‫سرور‬ ‫لذا‬
‫یک‬
‫یک‬ ‫پردازش‬ ‫مراحل‬ ‫لذا‬ ‫کرد‬ ‫خواهد‬ ‫برخورد‬ ‫جو‬ ‫و‬ ‫جست‬ ‫درخواست‬ ‫مورد‬ ‫فیلد‬
URI
‫مهاجم‬ ‫سرور‬ ‫به‬ ‫و‬ ‫اجرا‬ ‫را‬
‫شود‬ ‫می‬ ‫وصل‬
!
.‫است‬ ‫شده‬ ‫داده‬ ‫نشان‬ ‫شکل‬ ‫در‬ ‫جو‬ ‫و‬ ‫جست‬ ‫عبارت‬ ‫اجرای‬ ‫برای‬ ‫مهاجم‬ ‫درخواست‬ ‫نمونه‬
‫شکل‬
2
-
‫بدخواه‬ ‫درخواست‬ ‫نمونه‬
‫دور‬ ‫راه‬ ‫از‬ ‫کد‬ ‫اجرای‬
‫شکل‬ ‫درخواست‬ ‫با‬
2
‫سرور‬ ‫با‬ ‫با‬ ‫پذیر‬ ‫آسیب‬ ‫سرور‬
LDAP
‫مهاجم‬ ‫دامین‬ ‫در‬ ‫که‬
‫پورت‬ ‫در‬
TCP
‫شماره‬
22
‫است‬ ‫اجرا‬ ‫حال‬ ‫در‬
‫می‬ ‫برقرار‬ ‫ارتباط‬ ،
‫و‬ ‫کند‬
‫یک‬
object
‫نام‬ ‫به‬
a
‫می‬ ‫درخواست‬
‫کند‬
.
‫درخواست‬ ‫به‬ ‫پاسخ‬ ‫در‬
LDAP
‫نام‬ ‫به‬ ‫پارامتری‬
java code base
‫پذیر‬ ‫آسیب‬ ‫سرور‬ ‫آدرس‬ ‫که‬ ‫دارد‬ ‫وجود‬
‫برای‬
‫می‬ ‫مشخص‬ ‫کد‬ ‫اجرای‬
.‫شود‬
5
‫مقابله‬ ‫راهکار‬
1
-
‫ورود‬ ‫امکان‬ ‫و‬ ‫است‬ ‫وابسته‬ ‫کتابخانه‬ ‫این‬ ‫به‬ ‫یا‬ ‫شده‬ ‫استفاده‬ ‫مستقیم‬ ‫صورت‬ ‫به‬ ‫کتابخانه‬ ‫این‬ ‫از‬ ‫که‬ ‫هایی‬ ‫پروژه‬ ‫شناسایی‬
.‫دارد‬ ‫وجود‬ ‫کاربر‬ ‫توسط‬ ‫داده‬
2
-
‫کتابخانه‬ ‫بروزرسانی‬
‫نظر‬ ‫مورد‬ ‫های‬ ‫سیستم‬ ‫الویت‬ ‫براساس‬
3
-
‫رسانی‬ ‫بروز‬ ‫امکان‬ ‫عدم‬ ‫صورت‬ ‫در‬
•
‫کالس‬ ‫حذف‬
lookup
‫از‬
log4j

More Related Content

Similar to Log4j CRE Vulnerability (10)

Ossec و Wazuh
Ossec   و WazuhOssec   و Wazuh
Ossec و Wazuh
 
طراحی شبکه های کامپیوتری
طراحی شبکه های کامپیوتریطراحی شبکه های کامپیوتری
طراحی شبکه های کامپیوتری
 
گاهنامه چهارمحال و_بختیاری_دیماه
گاهنامه چهارمحال و_بختیاری_دیماهگاهنامه چهارمحال و_بختیاری_دیماه
گاهنامه چهارمحال و_بختیاری_دیماه
 
امنیت در نرم افزارهای وب
امنیت در نرم افزارهای وبامنیت در نرم افزارهای وب
امنیت در نرم افزارهای وب
 
Keylogger
KeyloggerKeylogger
Keylogger
 
how enable ceph dashboard
how enable  ceph dashboardhow enable  ceph dashboard
how enable ceph dashboard
 
Partition in oracle mysql |Mariadb
Partition in oracle mysql |MariadbPartition in oracle mysql |Mariadb
Partition in oracle mysql |Mariadb
 
Rbdmap ceph realease 0.2
Rbdmap ceph realease 0.2Rbdmap ceph realease 0.2
Rbdmap ceph realease 0.2
 
Iptables
IptablesIptables
Iptables
 
معرفي فايروال پايگاه داده
معرفي فايروال پايگاه دادهمعرفي فايروال پايگاه داده
معرفي فايروال پايگاه داده
 

Log4j CRE Vulnerability

  • 1. 1 ‫معرفی‬ ‫آسیب‬ ‫پذیری‬ ‫کتابخانه‬ ‫در‬ ‫دور‬ ‫راه‬ ‫از‬ ‫کد‬ ‫اجرای‬ Apache Log4j2 ‫بار‬ ‫اولین‬ ‫تاریخ‬ ‫در‬ 24 ( ‫نوامبر‬ 3 )‫آذر‬ ‫جاری‬ ‫سال‬ ‫توسط‬ ‫ابری‬ ‫امنیت‬ ‫تیم‬ Alibaba ‫به‬ Apache ‫اعالم‬ ‫گردید‬ . ‫در‬ 10 ‫نسخه‬ ‫آپاچی‬ ‫دسامبر‬ Log4j 2.15.0 ‫جاوا‬ ‫برای‬ 8 ( CVE-2021-44228 ) .‫است‬ ‫کرده‬ ‫منتشر‬ ‫گسترد‬ ‫استفاده‬ ‫بدلیل‬ ‫استفاده‬ ‫گی‬ ‫جاوایی‬ ‫کتابخانه‬ ‫این‬ ‫از‬ ) ‫تقربیا‬ 7000 Artifact ‫در‬ Maven ) ‫و‬ ‫سادگی‬ ‫این‬ ‫برداری‬ ‫بهره‬ ‫پذیری‬ ‫آسیب‬ ، ‫رفع‬ ‫لذا‬ ‫است‬ ‫شده‬ ‫گزارش‬ ‫حیاتی‬ ‫پذیریی‬ ‫آسیب‬ ‫شدت‬ ‫به‬ ‫که‬ ‫هایی‬ ‫برنامه‬ ‫در‬ ‫آن‬ .‫است‬ ‫ضروری‬ ‫اند‬ ‫وابسته‬ ‫کتابخانه‬ ‫این‬ ‫دوم‬ ‫بخش‬ ‫در‬ ‫گزارش‬ ‫این‬ ‫جزییات‬ ‫پذیری‬ ‫آسیب‬ ‫فنی‬ ، ‫پذیری‬ ‫آسیب‬ ‫از‬ ‫برداری‬ ‫بهره‬ ‫روش‬ ‫سوم‬ ‫بخش‬ ‫در‬ .‫شود‬ ‫می‬ ‫بیان‬ ‫آن‬ ‫با‬ ‫مقابله‬ ‫راهکارهای‬ ‫چهارم‬ ‫بخش‬ ‫در‬ ‫و‬ ‫واژگان‬ 1 JNDI ‫از‬ ‫یکی‬ : API ‫نام‬ ‫طریق‬ ‫از‬ ) ‫جاوایی‬ ‫اشیای‬ ‫قالب‬ ‫(در‬ ‫منابع‬ ‫یا‬ ‫داده‬ ‫جو‬ ‫و‬ ‫جست‬ ‫امکان‬ ‫که‬ ‫جاوا‬ ‫های‬ ‫آنها‬ ‫در‬ .‫نماید‬ ‫می‬ ‫فراهم‬ ‫را‬ Java Seriliaztion ‫از‬ ‫ای‬ ‫آرایه‬ ‫صورت‬ ‫به‬ ‫باید‬ ‫دایرکتوری‬ ‫سرورهای‬ ‫در‬ ‫سازی‬ ‫ذخیره‬ ‫برای‬ ‫جاوا‬ ‫اشیای‬ : ‫بایت‬ .‫شوند‬ ‫می‬ ‫سریالیز‬ 1 Java Naming and Directory Service
  • 2. 2 ‫پذیری‬ ‫آسیب‬ ‫جزییات‬ ‫در‬ ‫قبل‬ ‫های‬ ‫نسخه‬ ‫از‬ 2.14.1 ‫کتابخانه‬ Log4j ‫با‬ ‫پالگین‬ JNDI Lookup ‫امکان‬ ‫جو‬ ‫و‬ ‫جست‬ ‫بازیابی‬ ‫و‬ ‫مشخص‬ ‫داده‬ ‫واسط‬ ‫طریق‬ ‫از‬ 2 JNDI ‫و‬ ‫پروتکل‬ 3 LDAP ‫دارد‬ ‫وجود‬ ‫آن‬ ‫هدف‬ ‫و‬ ‫از‬ ‫بیشتر‬ ‫جزییات‬ ‫دریافت‬ ‫هریک‬ ‫از‬ ‫شده‬ ‫الگ‬ ‫ای‬ ‫داده‬ ‫اقالم‬ ‫در‬ LDAP ‫یک‬ ‫با‬ ‫که‬ URI ‫دهی‬ ‫آدرس‬ ‫است‬ ‫گردیده‬ . ‫شکل‬ ‫در‬ ‫دهی‬ ‫آدرس‬ ‫قالب‬ 1 ‫مشخ‬ .‫است‬ ‫شده‬ ‫ص‬ ‫در‬ Log4j ‫های‬ ‫روش‬ ‫نیز‬ ‫جو‬ ‫و‬ ‫جست‬ ‫برای‬ ‫دیگری‬ ‫این‬ ‫ولی‬ ‫دارد‬ ‫وجود‬ ‫روش‬ ‫و‬ ‫داکر‬ ‫جدید‬ ‫های‬ ‫نسخه‬ ‫در‬ ( ‫است‬ ‫متداول‬ ‫بیشتر‬ Kubernetes ) ‫شکل‬ 1 - ‫در‬ ‫دهی‬ ‫آدرس‬ ‫نحوه‬ ‫جوی‬ ‫و‬ ‫جست‬ ‫مدل‬ JNDI ‫پذیری‬ ‫آسیب‬ ‫این‬ ‫از‬ ‫پیش‬ ‫های‬ ‫نسخه‬ ‫در‬ ‫است‬ ‫ذکر‬ ‫به‬ ‫الزم‬ .‫ندارد‬ ‫وجود‬ ‫مذکور‬ ‫پردازش‬ ‫روال‬ ‫ادامه‬ ‫در‬ URI :‫شود‬ ‫می‬ ‫داده‬ ‫شرح‬ ‫سرور‬ ‫در‬ 1 - ‫سرویس‬ ‫که‬ ‫هاستی‬ LDAP ‫درخواست‬ ‫یک‬ ‫توسط‬ ‫دارد‬ ‫قرار‬ ‫آن‬ DNS ‫آدرس‬ ‫یک‬ ‫به‬ IP ) ‫مشخص‬ 2 - ‫ارتباط‬ TCP .‫شود‬ ‫می‬ ‫برقرار‬ ‫نظر‬ ‫مورد‬ ‫پورت‬ ‫با‬ 3 - ‫پروتکل‬ ‫طریق‬ ‫از‬ ‫نظر‬ ‫دستوررمورد‬ LDAP ‫ش‬ ‫می‬ ‫اجرا‬ ‫سرور‬ ‫در‬ ‫و‬ ‫ارسال‬ .‫ود‬ ‫اعتبارسنجی‬ ‫نامناسب‬ ‫ورودی‬ ‫وجود‬ ‫با‬ ‫پذیر‬ ‫آسیب‬ ‫مولفه‬ ،‫سرور‬ ‫در‬ ‫با‬ ‫ارسال‬ URI ‫و‬ ‫کاربر‬ ‫توسط‬ ‫مخرب‬ ‫و‬ ‫جست‬ ‫درخواست‬ ‫خودکار‬ ‫اجرای‬ ‫جو‬ ‫ی‬ ‫بدون‬ ‫اعتبارسنجی‬ ‫امکان‬ ‫سرورهای‬ ‫به‬ ‫اتصال‬ ‫بدخواه‬ ‫دارد‬ ‫وجود‬ . 2 Java Naming and Directory Interface 3 Lightweight Directory Access Protocol
  • 3. 3 ‫دور‬ ‫راه‬ ‫از‬ ‫کد‬ ‫اجرای‬ JNDI/LDAP ‫سال‬ ‫در‬ ‫پذیری‬ ‫آسیب‬ ‫این‬ Black hat 2015 ‫شده‬ ‫ارائه‬ ‫امنیتی‬ ‫محققان‬ ‫توسط‬ ‫است‬ . ‫سرویس‬ LDAP ‫اشیای‬ ‫کردن‬ ‫سریالیز‬ ‫طریق‬ ‫از‬ ‫را‬ ‫جاوا‬ ‫یک‬ ‫در‬ ‫بایت‬ ‫از‬ ‫ای‬ ‫آرایه‬ ‫رشته‬ ‫این‬ . ‫نماید‬ ‫می‬ ‫ذخیره‬ ‫حاوی‬ ‫تمام‬ ‫اطالعات‬ ‫شی‬ ‫شی‬ ‫های‬ ‫ویژگی‬ ‫و‬ ‫توابع‬ ‫شامل‬ ‫است‬ ‫و‬ ‫استفاد‬ ‫قابل‬ ‫شی‬ ‫از‬ ‫نمونه‬ ‫یک‬ ‫ایجاد‬ ‫برای‬ ‫است‬ ‫ه‬ . ‫به‬ ‫منجر‬ ‫موضوع‬ ‫همین‬ .‫شود‬ ‫می‬ ‫دور‬ ‫راه‬ ‫از‬ ‫کد‬ ‫اجرای‬ .‫است‬ ‫ساده‬ ‫آنها‬ ‫از‬ ‫برداری‬ ‫بهره‬ ‫و‬ ‫شده‬ ‫شناخته‬ ‫پذیری‬ ‫آسیب‬ ‫دو‬ ‫هر‬
  • 4. 4 ‫برداری‬ ‫بهره‬ ‫بتواند‬ ‫باید‬ ‫مهاجم‬ ‫پذیر‬ ‫آسیب‬ ‫ازاین‬ ‫برداری‬ ‫بهره‬ ‫برای‬ URI ‫یک‬ ‫کاربر‬ ‫های‬ ‫ورودی‬ ‫در‬ ‫را‬ ‫خود‬ ‫بدخواه‬ ‫آ‬ ‫سرور‬ ‫تا‬ ‫نماید‬ ‫وارد‬ ‫پذیر‬ ‫آسیب‬ ‫برنامه‬ ‫کد‬ ‫سپس‬ ‫شود‬ ‫متصل‬ ‫مهاجم‬ ‫سرور‬ ‫به‬ ‫و‬ ‫نماید‬ ‫پردازش‬ ‫را‬ ‫آن‬ ‫پذیر‬ ‫سیب‬ ‫پاسخ‬ ‫در‬ ‫مهاجم‬ ‫مخرب‬ LDAP .‫گردد‬ ‫اجرا‬ ‫پذیر‬ ‫آسیب‬ ‫سرور‬ ‫در‬ .‫شود‬ ‫می‬ ‫داده‬ ‫شرح‬ ‫مراحل‬ ‫از‬ ‫یک‬ ‫هر‬ ‫ادامه‬ ‫در‬ ‫سروربدخواه‬ ‫به‬ ‫اتصال‬ ‫حمله‬ ‫شروع‬ ‫نقطه‬ ‫ارسال‬ ‫امکان‬ URI ‫و‬ ‫کاربر‬ ‫توسط‬ ‫مخرب‬ ‫اعتبارسنجی‬ ‫عدم‬ ‫سرور‬ ‫در‬ ‫آن‬ ‫باش‬ ‫می‬ ‫و‬ ‫د‬ ‫نهایتا‬ ‫منجر‬ ‫به‬ ‫با‬ ‫ارتباط‬ LDAP ‫شود‬ ‫می‬ ‫مهاجم‬ ‫کنترل‬ ‫تحت‬ ‫سرور‬ . ‫یک‬ ‫خود‬ ‫اکانت‬ ‫اطالعات‬ ‫نمودن‬ ‫وارد‬ ‫جای‬ ‫به‬ ‫کاربر‬ ‫الگین‬ ‫صفحه‬ ‫یک‬ ‫در‬ URI ‫که‬ ‫نماید‬ ‫وارد‬ ‫بدخواه‬ ‫سرویس‬ ‫یک‬ ‫با‬ ‫مهاجم‬ ‫کنترل‬ ‫تحت‬ ‫دامین‬ ‫آن‬ ‫هاست‬ ‫آدرس‬ LDAP ‫باشد‬ ‫عنوان‬ ‫به‬ ‫آن‬ ‫دریافت‬ ‫با‬ ‫سرور‬ ‫لذا‬ ‫یک‬ ‫یک‬ ‫پردازش‬ ‫مراحل‬ ‫لذا‬ ‫کرد‬ ‫خواهد‬ ‫برخورد‬ ‫جو‬ ‫و‬ ‫جست‬ ‫درخواست‬ ‫مورد‬ ‫فیلد‬ URI ‫مهاجم‬ ‫سرور‬ ‫به‬ ‫و‬ ‫اجرا‬ ‫را‬ ‫شود‬ ‫می‬ ‫وصل‬ ! .‫است‬ ‫شده‬ ‫داده‬ ‫نشان‬ ‫شکل‬ ‫در‬ ‫جو‬ ‫و‬ ‫جست‬ ‫عبارت‬ ‫اجرای‬ ‫برای‬ ‫مهاجم‬ ‫درخواست‬ ‫نمونه‬ ‫شکل‬ 2 - ‫بدخواه‬ ‫درخواست‬ ‫نمونه‬ ‫دور‬ ‫راه‬ ‫از‬ ‫کد‬ ‫اجرای‬ ‫شکل‬ ‫درخواست‬ ‫با‬ 2 ‫سرور‬ ‫با‬ ‫با‬ ‫پذیر‬ ‫آسیب‬ ‫سرور‬ LDAP ‫مهاجم‬ ‫دامین‬ ‫در‬ ‫که‬ ‫پورت‬ ‫در‬ TCP ‫شماره‬ 22 ‫است‬ ‫اجرا‬ ‫حال‬ ‫در‬ ‫می‬ ‫برقرار‬ ‫ارتباط‬ ، ‫و‬ ‫کند‬ ‫یک‬ object ‫نام‬ ‫به‬ a ‫می‬ ‫درخواست‬ ‫کند‬ . ‫درخواست‬ ‫به‬ ‫پاسخ‬ ‫در‬ LDAP ‫نام‬ ‫به‬ ‫پارامتری‬ java code base ‫پذیر‬ ‫آسیب‬ ‫سرور‬ ‫آدرس‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫برای‬ ‫می‬ ‫مشخص‬ ‫کد‬ ‫اجرای‬ .‫شود‬
  • 5. 5 ‫مقابله‬ ‫راهکار‬ 1 - ‫ورود‬ ‫امکان‬ ‫و‬ ‫است‬ ‫وابسته‬ ‫کتابخانه‬ ‫این‬ ‫به‬ ‫یا‬ ‫شده‬ ‫استفاده‬ ‫مستقیم‬ ‫صورت‬ ‫به‬ ‫کتابخانه‬ ‫این‬ ‫از‬ ‫که‬ ‫هایی‬ ‫پروژه‬ ‫شناسایی‬ .‫دارد‬ ‫وجود‬ ‫کاربر‬ ‫توسط‬ ‫داده‬ 2 - ‫کتابخانه‬ ‫بروزرسانی‬ ‫نظر‬ ‫مورد‬ ‫های‬ ‫سیستم‬ ‫الویت‬ ‫براساس‬ 3 - ‫رسانی‬ ‫بروز‬ ‫امکان‬ ‫عدم‬ ‫صورت‬ ‫در‬ • ‫کالس‬ ‫حذف‬ lookup ‫از‬ log4j