لینوکس

در طی یک ماه گذشته، یک آسیب‌پذیری به نام Dirty Cow در هسته لینوکس کشف شده بود[۱] که بر روی تمام نسخه‌های سیستم‌عامل‌های منبع باز شامل Red Hat ،Debian  و Ubuntu تأثیرگذار بود.

این آسیب‌پذیریِ مرتبط با هسته لینوکس (CVE-2016-8655)[2]، مربوط به سال ۲۰۱۱ بوده[۳] و به تازگی کشف شده است. این آسیب‌پذیری می‌تواند به کاربران محلی با سطح دسترسی عادی، دسترسی سطح ریشه دهد. این امر توسط بهره‌برداری از یک شرایط مسابقه‌ای(۱) در پیاده‌سازی  af_packet در هسته لینوکس اتفاق می‌افتد.

Philip Pettersson، محققی که این آسیب‌پذیری را کشف کرده است، قادر بود که یک بهره‌بردار ایجاد کند تا یک root shell بر روی سیستم Ubuntu 16.04 LTS  (Linux Kernel 4.4) به دست آورد و همچنین از لایه محافظ (۲)SMEP/SMAP عبور کند تا توانایی اجرای کد ریشه را به دست آورد.

به‌بیان‌دیگر، یک مهاجم محلی با سطح دسترسی عادی، می‌تواند از این بهره‌بردار استفاده کند و موجب crash کردن سرویس شود یا اینکه یک کد دلخواه مخرب با سطح دسترسی مدیر را بر روی سیستم مورد هدف اجرا کند.

مشاور امنیتی Red Hat این‌گونه توضیح می‌دهد: “مسئله‌ی شرایط مسابقه موجب به وجود آمدن عیب use-after-free در مسیر پیاده‌سازی سوکت‌های بسته اولیه(۳) در زیرمجموعه سیستم‌های شبکه هسته لینوکس می‌شود که وظیفه هماهنگ‌سازی را در هنگام ایجاد بافر حلقه(۴) TPACKET_V3 دارند. یک کاربر محلی که بتواند یک سوکت بسته اولیه را باز کند (به قابلیت CAP_NET_RAW  نیاز دارد)، می‌تواند از این عیب استفاده کند و سطح دسترسی را در سیستم ارتقا دهد.

این تهدید برای تأمین‌کننده سرویس‌ها یک خطر جدی به حساب می‌آید، چراکه امکان Crash کردن و یا مورد حمله واقع شدن سرور‌های آن‌ها از طریق این آسیب‌پذیری هسته لینوکس وجود دارد.

Pettersson همچنین می‌گوید: “در سیستم‌عامل اندروید، فرآیندهای با مشخصه gid=3004/AID_NET_RAW می‌توانند سوکت‌های AF_PACKET (mediaserver) بسازند و این آسیب‌پذیری را ایجاد کنند.”

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

 

منابع

[۱] http://apa.aut.ac.ir/?p=1592

[۲] http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8655

[۳] http://seclists.org/oss-sec/2016/q4/607

[۴] http://thehackernews.com/2016/12/linux-kernel-local-root-exploit.html


(۱) Race condition
(۲) Supervisor Mode Execution Prevention/Supervisor Mode Access Prevention
(۳) Raw packet sockets
(۴) Ring buffer