مروری بر آسیب پذیری اخیر Glibc

شروع موضوع توسط AHMAD ‏Feb 23, 2016 در انجمن اخبار وب مستر

  1. AHMAD

    AHMAD ایران وب ادمین عضو کادر مدیریت ناظر انجمن

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

    حدود یک سال پیش بود که glibc، کتابخانه GNU C ، آسیب پذیری GHOST را تجربه کرد و باز هم امسال در معرض یک آسیب پذیری مهم دیگر قرار گرفت. این آسیب پذیری تقریبا بر تمام ماشین های مبتنی بر Linux، API web services و web frameworks های بزرگی که در آن این کد اجرا می شود، تأثیر می گذارد.

    کتابخانه Glibc کتابخانه C یی است که systems call ها و سایر توابع پایه روی سیستم های Linux یی شامل GNU OS وGNU Linux را تعریف می کند.

    این آسیب پذیری که به طور مستقل توسط محققان در Google و Red Hat کشف شد، Patch شده است.

    نقص، CVE-2015-7547، یک سرریز بافر مبتنی بر پشته(stack-based buffer overflow) در glibc DNS client-side resolver است که ماشین های Linux را در معرض خطر اجرای کد از راه دور قرار می دهد.
    متخصصین Google در راهنمایی امنیتی خود گفته اند نرم افزارهایی که از تابع getaddrinfo () استفاده می کنند می توانند توسط domain nameها و یا DNS servers هایی که مهاجم آنها را کنترل می کنند و یا حمله man-in-the-middle، exploit شوند.

    این مشکل در تمام نسخه های glibc از 2.9 به بالا وجود دارد و بایستی در اسرع وقت بروزرسانی گردد.

    درصورتی که نتوان در اسرع وقت سیستم های آسیب پذیر را patch نمود می توان از راهکار زیر به عنوان یک روش موقت استفاده کرد.
    این آسیب پذیری متکی بر پاسخ UDP یا TCP بزرگ (بیش تر از 2048 بایت) است که پاسخ دیگری را به دنبال خواهد داشت و پشته را overwrite می کند.

    پیشنهاد متخصصین Google، محدود کردن سایز پاسخی که توسط DNS resolver پذیرفته می شود از طریق DNSMasq یا برنامه های مشابه ، است.
    همچنین اطمینان حاصل گردد که DNS query ها فقط به سرورهای DNS یی که اندازه پاسخ UDP آنها با truncation bit set تنظیم شده است.

    البته در مورد محدود کردن سایز باید دقت بیشتری به خرج داد. دلیل این امر استفاده سیستم ها از امکانات پیشرفته ای مثل DNSSEC است که به EDNS0 نیاز دارد و این ویژگی هم برای کار کرد صحیح نیازمند پذیرش پاسخ های بالاتر از 512 byte توسط سرور است.

    گزارش Google اشاره می کند که exploitation vector هایی که برای حمله به این آسیب پذیری ها می تواند مورد استفاده قرار گیرد، ssh، sudo و curl و سایر موارد است.
    همچنین اشاره شده که Remote code execution امکان پذیر است اما سرراست(straightforward) نیست. برای این کار نیاز است مکانیزمهای امنیتی موجود بر روی سیستم ها مثل ASLR(Address space layout randomization) را بتوان bypass نمود.

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

    منبع
    https://googleonlinesecurity.blogspot.com/2016/02/cve-2015-7547-glibc-getaddrinfo-stack.html
    https://sourceware.org/ml/libc-alpha/2016-02/msg00416.html
    http://www.infoworld.com/article/30...ts-linux-android-and-ios-systems-at-risk.html
    https://isc.sans.edu/forums/diary/CVE20157547+Critical+Vulnerability+in+glibc+getaddrinfo/20737
    http://www.darknet.org.uk/2016/02/the-linux-glibc-exploit-what-you-need-to-know/
     

به اشتراک بگذارید

س