PHP PEAR

مراقب باشید! اگر در ۶ ماه گذشته، بسته مدیریتی PHP PEAR را از وب‌سایت رسمی این شرکت دانلود کرده‌اید، متأسفانه باید بگوییم که ممکن است سرور شما آسیب‌دیده باشد.

هفته گذشته، توسعه دهنگان PEAR سایت رسمی خود یعنی  pear-php.net را پس‌ازآنکه متوجه شدند که یک نفر بسته مدیریتی اصلی PHP PEAR (go-pear.phar) را با یک نسخه آلوده‌شده، در هسته اصلی سیستم فایل PEAR جایگزین کرده است؛ از دسترس خارج کردند.

اگرچه توسعه‌دهندگان PEAR هنوز در حال تجزیه‌وتحلیل بسته‌های مخرب هستند اما یک اعلامیه امنیتی منتشرشده[۱] در تاریخ ۱۹ ژانویه ۲۰۱۹، تأیید کرد که وب‌سایت هک شده این شرکت، یک فایل نصب‌شده آلوده به یک کد موذی را طی مدت ۶ ماه در اختیار کاربران قرار داده است.

(۱)PEAR یک framework از نوع community-driven و یک سیستم توزیع است که هرکسی را قادر می‌سازد که کتابخانه‌های رایگان نوشته شده به زبان برنامه‌نویسی PHP را جستجو کرده و دانلود کند.

این کتابخانه‌های منبع باز (که بیشتر به‌عنوان بسته‌ها(۲) شناخته می‌شوند) به توسعه‌دهندگان اجازه می‌دهند تا به‌راحتی ویژگی‌های اضافی را به پروژه‌ها و وب‌سایت‌های خود اضافه کنند، ازجمله تأیید هویت، ذخیره‌سازی، رمزگذاری، سرویس‌های وب و بسیاری از خدمات دیگر.

هنگامی‌که شما نرم‌افزار PHP را برای سیستم‌های یونیکس، لینوکس یا BSD دانلود می‌کنید، مدیریت دانلود PEAR یا go-pear.phar به‌صورت پیش‌فرض نصب می‌شود، درحالی‌که کاربران ویندوز و Mac OS X باید آن را به‌صورت دستی نصب کنند.

ازآنجایی‌که بسیاری از شرکت‌های میزبانی وب، ازجمله ارائه‌دهندگان خدمات میزبانی مشترک(۳) نیز به کاربران خود اجازه می‌دهند تا PEAR را نصب و اجرا کنند، آخرین نقص امنیتی کشف‌شده می‌تواند بر روی تعداد زیادی از وب‌سایت‌ها و بازدیدکنندگان آن‌ها تأثیر بگذارد.

این یادداشت در وب‌سایت رسمی PEAR قرار داده ‌شده است: “اگر در شش ماه گذشته فایل go-pear.phar را دانلود کرده‌اید، شما باید نسخه جدیدی از نسخه pear/pearweb_phars را از GitHub دانلود کنید و hash های فایل را مقایسه کنید. اگر متفاوت باشد، شما ممکن است فایل آلوده را در اختیار داشته باشید.”

به گفته توسعه‌دهندگان PEAR، این تیم در حال حاضر در حال انجام تحقیقات قانونی برای تعیین میزان تأثیرات این حمله و اینکه چگونه مهاجمان در ابتدا توانستند سرور موردنظر را به خطر بیندازند، هستند.

نسخه جدید ۱٫۱۰٫۱۰ از pearweb_phars در حال حاضر در Github موجود است[۲]، که در حقیقت نسخه جدیدی از فایل آلوده‌شده در سرور http://pear.php.net است که در حال حاضر دارای فایل‌های امضای متفاوت برای هر phar است.

توسعه‌دهندگان همچنین اطلاع دادند که تنها کپی قرار داده‌شده روی سرور pear.php.net تحت تأثیر قرارگرفته است و نسخه GitHub از go-pear.phar به خطر نیفتاده است.

ازآنجاکه مقامات PEAR فقط اخطار هشدار داده‌اند و هیچ جزئیاتی در مورد این حادثه امنیتی منتشر نشده است، هنوز مشخص نیست که چه کسی پشت این حمله قرار دارد.

این توسعه‌دهندگان در توییتر اعلام کردند که اطلاعات دقیق‌تری را در مورد این  حمله در وبلاگ PEAR به‌صورت آنلاین منتشر خواهند کرد.

تمام کاربران PHP/PEAR که فایل نصبِ pear.phar را از وب‌سایت رسمی این شرکت در شش ماه گذشته دانلود کرده‌اند باید خود را در معرض خطر بدانند و نسخه قرار داشته روی Github را سریعاً دانلود و نصب کنند.

تیم PEAR جزئیات بیشتری را در مورد این حادثه امنیتی اخیر منتشر کرده است و توضیح داده است که فایل “go-pear.phar” آلوده‌شده که روی سرور این شرکت قرار دارد پس از انتشار آخرین فایل رسمی و در تاریخ ۲۰ دسامبر ۲۰۱۸ روی سرور قرار داده‌شده است.

پس از تجزیه‌وتحلیل نسخه آلوده‌شده‌ی بسته مدیریتی، این تیم متوجه شد که این ماژول موذی یک پوسته معکوس را از طریق Perl در یک آدرس IP به شماره ۱۰۴٫۱۳۱٫۱۵۴٫۱۵۴ از سرورهای آلوده‌شده تولید می‌کند(۴)، و به مهاجمان اجازه می‌دهد تا کنترل کاملی ازجمله توانایی نصب برنامه‌ها، اجرای کدهای موذی و سرقت اطلاعات حساس، بر روی آن داشته باشند.

بر طبق گفته DCSO، یک سازمان امنیت سایبری در آلمان که همچنین کدهای آلوده‌شده را تجزیه‌وتحلیل کرده است، آدرس IP سرور ۱۰۴٫۱۳۱٫۱۵۴٫۱۵۴ به یک دامنه در وب یعنی bestlinuxgames [.]com اشاره دارد که به نظر یک میزبان در معرض خطر قرار گرفته است که توسط مهاجمان مورداستفاده قرار می‌گیرد[۳].

تیم PEAR در یک سری از توییت‌ها دراین‌باره گفت: “این IP به میزبان خود در رابطه با این خرابکاری گزارش داده است. هیچ رخنه دیگری مشاهده نشده است. install-pear-nozlib.phar مشکلی ندارد. فایل go-pear.phar در GitHub مشکلی ندارد و می‌تواند به‌عنوان یک مقایسه md5sum مناسب برای هر نسخه مشکوک مورداستفاده قرار گیرد.”

“بنابراین، اگر شما از تاریخ ۲۰ دسامبر ۲۰۱۸ به بعد فایل go-pear.phar را دانلود کرده‌اید تا یک‌بار آن را اجرا کنید تا بسته PEAR را بر روی سیستم خود نصب کنید، شما باید به آن توجه داشته باشید، به‌ویژه اگر سیستم شما دارای”sh” و “perl” در دسترس باشد.”

“اگر شما فایل go-pear.phar را قبل از ۲۰ دسامبر ۲۰۱۸ دریافت کرده باشید، ما هیچ مدرکی نداریم که شما یک فایل آلوده را دریافت کرده‌اید. اما اگر شما از go-pear.phar در چند ماه گذشته برای انجام نصب PEAR استفاده کرده‌اید، می‌توانید احتیاط کنید و سیستم خود را بررسی کنید.”

“همچنین توجه داشته باشید که این امر نه‌تنها بر روی بسته نصب PEAR خود تأثیر می‌گذارد، بلکه فایل اجرایی go-pear.phar که شما برای نصب PEAR استفاده می‌کنید را نیز تحت تأثیر قرار می‌دهد. از دستور”pear” برای نصب بسته‌های مختلف PEAR که آلوده نیستند، استفاده کنید.”

منابع

[۱] http://blog.pear.php.net

[۲] https://github.com/pear/pearweb_phars/releases/tag/v1.10.10

[۳] https://blog.dcso.de/php-pear-software-supply-chain-attack

[۴] https://thehackernews.com/2019/01/php-pear-hacked.html


(۱) The PHP Extension and Application Repository
(۲) packages
(۳) shared hosting providers
(۴) spawn