مشکلات امنیتی سیستم عامل, مشکلات امنیتی مربوط به هاستینگ

0day-linux-dirty-cow

0 201

یک مشکل امنیتی بسیار مهم که در کرنل لینوکس کشف شده باگ Zero Day از نوع Local Privilege Escalation ( ارتقا سطح دسترسی ) می باشد.گفتنی است که این باگ حدود ۱۱ سال پیش یعنی از سال ۲۰۰۵ وجود داشته است.

 

dirty-cow-linux-kernel-exploit

با استفاده از این باگ کاربران معمولی که دسترسی با یوزر محدود به سیستم عامل دارند. قادر خواهند بود دسترسی root از سیستم بگیرند.این مشکل با کد CVE-2016-5195 و نام «گاو کثیف» یا همان ” Dirty COW” شناخته می شود.

توزیع های لینوکسی که باگ CVE-2016-5195 شامل حال آنها می شود به شرح زیر می باشند :

Red Hat Enterprise Linux 7.x
Red Hat Enterprise Linux 6.x
Red Hat Enterprise Linux 5.x
CentOS Linux 7.x
CentOS Linux 6.x
CentOS Linux 5.x
Debian Linux wheezy
Debian Linux jessie
Debian Linux stretch
Debian Linux sid
Ubuntu Linux precise (LTS 12.04)
Ubuntu Linux trusty
Ubuntu Linux xenial (LTS 16.04)
Ubuntu Linux yakkety
Ubuntu Linux vivid/ubuntu-core
SUSE Linux Enterprise 11 and 12

نحوه تشخیص آسیب پذیری :

برای تشخیص این باگ شرکت ردهت اسکریپتی آماده کرده است که می توانید از آن برای توزیع های مبتنی بر RHEL استفاده کنید.برای اینکار ابتدا آن را دریافت کنید :

 #wget https://access.redhat.com/sites/default/files/rh-cve-2016-5195_1.sh

و سپس دستورات ذیل را اجرا کنید.

#chmod +x rh-cve-2016-5195_1.sh
#./rh-cve-2016-5195_1.sh

 

در صورت آسیب پذیر بودن سیستم عامل خطای ذیل مشاهده می گردد.که تصویری نیز از خطای مربوط در ذیل مشاهده می نمایید.

Your kernel is 2.6.32-642.3.1.el6.x86_64 which IS vulnerable.
Red Hat recommends that you update your kernel. Alternatively, you can apply partial

dirty-cow-vuln

جهت شناسایی این مشکل بر روی سایر توزیع های دیگر می توانید ابتدا فایل زیر را دریافت کنید

$ wget https://raw.githubusercontent.com/dirtycow/dirtycow.github.io/master/dirtyc0w.c

اکنون کافیست تا یکبار به کاربر root وارد شوید و یک رشته را درون یک فایل بنویسید :

$ sudo -s
# echo this is not a test foo 

اکنون کافیست تا با کاربر معمولی این دستور را اجرا کنید

اکنون فایل ساخته شده را به صورت پایین اجرا کنید

$ gcc -lpthread dirtyc0w.c -o dirtyc0w
$ ./dirtyc0w foo m00000000000000000
$ cat foo 

پس از اینکار در صورت وجود مشکل بر روی سیستم، متن مشاهده شده در فایل foo با مقدار اولیه متفاوت خواهد بود.

عکس ضمیمه را برای درک بهتر مشاهده نمایید.

dirty-cow-linux-other

ایمن سازی و حل این مشکل :

جهت رفع این مشکل امنیتی بر روی CentOS 7 , CentOS 6 و RHEL کافیست تا دستورات زیر را انجام دهید :

 #yum update

#reboot 

و در صورتی که از نسخه CentOS 4 , CentOS 5 استفاده می کنید به دلیل این که هنوز آپدیتی برای سیستم عامل های ذکر شده ارايه نشده است که ممکن است ۳ روز دیگر آپدیت جدیدی برای این سیستم عامل منتشر شود.

جهت برطرف نمودن موقتی مشکل تا زمان ارايه بروز رسانی جدید می توانید با به بخش امنیت سکیورهاست از این لینک تیکت ارسال نمایید. تا همکاران ما موقتا مشکل را برطرف نمایید تا امنیت شما به خطر نیوفتد.

 

اگر Debian و Ubuntu استفاده می کنید کافیست تا دستورات  پایین را اجرا کنید :

$sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade $sudo reboot 

پس از بروز رسانی حتما مجددا اسکریپت تست را اجرا نمایید تا از حل شدن مشکل امنیتی مربوطه اطمینان حاصل نمایید که در صورت حل شدن مشکل امنیتی عبارت ذیل ظاهر می گردد.

Your kernel is 2.6.32-673.26.1.lve1.4.18.el6.x86_64 which is NOT vulnerable.

patched

جهت اطلاعات بیشتر در مورد این مشکل امنیتی می توانید به لینک های ذیل مراجعه نمایید

https://access.redhat.com/security/vulnerabilities/2706661

http://dirtycow.ninja/

در باره نویسنده / 

اسماعیل رحیمیان

ارسال پاسخ

ایمیل شما نمایش داده نمی‌شود. موارد مورد نیاز علامتگذاری شده است *