Arch

یک حادثه دیگر نشان داد که شما نباید به‌سادگی به مخازن(۱) نرم‌افزاری کنترل‌شده توسط کاربر(۲) اعتماد کنید.

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

Arch لینوکس یک توزیع لینوکس است که به‌طور مستقل توسعه ‌یافته است. Arch در حقیقت یک توزیع همه‌جانبه(۳) GNU/Linux است که عمدتاً متشکل از نرم‌افزارهای رایگان و متن‌باز است و از مشارکت جامعه(۴) پشتیبانی می‌کند.

علاوه بر مخازن رسمی مانند Arch Build System کاربران Arch همچنین می‌توانند بسته‌های نرم‌افزاری را از چندین مخزن دیگر، ازجمله AUR که یک مخزن جامعه-محور(۵) و ایجاد و مدیریت‌شده توسط کاربران Arch است؛ دانلود کنند.

ازآنجاکه بسته‌های AUR تولیدشده توسط کاربر هستند، سازندگان Arch همیشه به کاربران لینوکس توصیه می‌کنند که همه فایل‌ها به‌ویژه PKGBUILD و هر فایل نصبی را به‌منظور وجود دستورات موذی به‌دقت بررسی کنند.

بااین‌حال، این مخزن AUR اخیراً در چندین مورد ازجمله یک نمایش‌دهنده فایل‌های PDF از کد یک دژافزار میزبانی ‌کرده است.

PDF Viewer در معرض خطر قرارگرفته، بر روی Arch Linux AUR کشف شد.

در ۷ ژوئن ۲۰۱۸ یک کاربر موذی به نام xeactor یک بسته orphaned (یک نرم‌افزار بدون نگه‌دارنده(۶) فعال) به نام acroread که به‌عنوان یک نمایش‌دهنده فایل‌های PDF عمل می‌کند را تغییر داد و یک کد موذی به آن اضافه کرد.

به ازای هر یک Git commit به کد منبع بسته(۷) [۱]، xeactor یک کد موذی را اضافه کرد که اسکریپت curl را دانلود می‌کند که به ‌نوبه خود یک اسکریپت را از یک سرور از راه دور نصب و اجرا می‌کند.

این اسکریپت یک نرم‌افزار persistent را نصب می‌کند که با systemd مداخله کرده و آن را مجدداً تنظیم می‌کند و هر ۳۶۰ ثانیه اجرا می‌شود.

این تحقیقات نشان داد که اسکریپت موذی برای جمع‌آوری داده‌ها در سیستم‌های آلوده به‌منظور بازیابی اطلاعات زیر طراحی شده است:

  • تاریخ و زمان
  • شناسه دستگاه
  • اطلاعات Pacman (ابزار مدیریت بسته)
  • خروجی دستور uname-a
  • اطلاعات پردازنده
  • خروجی دستور systemctl list-units

سپس اطلاعات جمع‌آوری‌شده در یک سند Pastebin ارسال می‌شود.

خوشبختانه، یک تجزیه‌وتحلیل کد، تغییرات(۸) انجام‌شده را در زمان مناسب به دست آورد و نشان داد که به نظر نمی‌رسد اسکریپت‌ها یک تهدید جدی باشند، اما payload ها در هرزمانی می‌توانند به‌منظور اعمال کد موذی پیچیده توسط مهاجم دست‌کاری شوند.

به‌محض کشف این مشکل، سازندگان AUR تغییرات داده‌شده در بسته را بازگردانده و حساب کاربری xeactor را به حالت تعلیق درآوردند[۲] و همچنین دو بسته دیگر را که xeactor اخیراً به همان شیوه مورداستفاده قرار داده و اصلاح ‌کرده بود را پیدا کردند[۳].

بسته‌های نرم‌افزاری موذی بیشتر

تیم AUR همچنین دو بسته دیگر را بدون اطلاع از نام آن‌ها حذف کردند.

بنابراین اگر شما یک کاربر Arch  لینوکس هستید که اخیراً acroread را دانلود کرده‌اید، به‌شدت توصیه می‌شود که آن را حذف کنید.

درحالی‌که این خطا یک تهدید جدی برای کاربران لینوکس محسوب نمی‌شود، اما این مشکل قطعاً موجب آغاز بحث در مورد امنیت بسته‌های نرم‌افزاری غیرقابل‌اعتماد خواهد شد.

یک نظر داده‌شده[۴] توسط Giancarlo Razzolini  می‌گوید که بسته‌های AUR ارائه‌شده توسط کاربر ممکن است شامل کد بدی باشند و اعتماد کردن به این بسته‌ها ازلحاظ امنیتی صحیح نیست.

بنابراین، برای هر مخزن ساخته‌شده توسط یک کاربر(۹)، کاربران باید دو بار آنچه در حال دانلود است را به‌طور دقیق بررسی کنند.

منابع

[۱] https://thehackernews.com/2017/11/malware-digital-certificate.html

[۲] https://apa.aut.ac.ir/?p=3074

[۳] https://thehackernews.com/2014/06/stuxnet-like-havex-malware-strikes.html

[۴] https://apa.aut.ac.ir/?p=3056

[۵] https://thehackernews.com/2018/07/digital-certificate-malware.html


(۱) repositories
(۲) user-controlled
(۳) general-purpose
(۴) community involvement
(۵) community-driven
(۶) maintainer
(۷) package’s source code
(۸) modifications
(۹) user-maintained repository