command-not-foundمحققان امنیت سایبری دریافته‌اند که این امکان برای عوامل تهدید وجود دارد که از یک ابزار معروف به نام command-not-found برای توصیه بسته‌های سرکش خود و به خطر انداختن سیستم‌های سیستم‌عامل Ubuntu بهره‌برداری کنند.

شرکت امنیت ابری Aqua در گزارشی[۱] به اشتراک گذاشته شده با The Hacker News گفت: «درحالی‌که command-not-found به‌عنوان ابزاری مناسب برای پیشنهاد نصب برای دستورات حذف‌شده عمل می‌کند، می‌تواند به طور ناخواسته توسط مهاجمان از طریق مخزن snap دست‌کاری شود که منجر به توصیه‌های فریبنده بسته‌های مخرب شود.»

دستور-not-found که به طور پیش‌فرض روی سیستم‌های Ubuntu نصب شده است، بسته‌هایی را برای نصب در جلسات bash تعاملی هنگام تلاش برای اجرای دستوراتی که در دسترس نیستند، پیشنهاد می‌کند[۲]. این پیشنهادها شامل ابزار بسته‌بندی پیشرفته ([۳]APT) و بسته‌های snap[4] می‌شود.

هنگامی که ابزار از یک پایگاه‌داده داخلی (“/var/lib/command-not-found/commands.db”) برای پیشنهاد بسته‌های APT استفاده می‌کند، برای پیشنهاد snapهایی که دستور داده شده را ارائه می‌دهند و به دستور “advise-snap” متکی است[۵].

بنابراین، اگر یک مهاجم بتواند این سیستم را بازی کند و بسته مخرب[۶] خود را توسط بسته command-not-found توصیه کند، می‌تواند راه را برای حملات زنجیره تأمین نرم‌افزار هموار کند.

Aqua گفت که یک حفره امنیتی پیدا کرده است که در آن مکانیسم نام مستعار می‌تواند توسط عامل تهدید مورد بهره‌برداری قرار گیرد تا به طور بالقوه نام snap مربوطه مرتبط با نام مستعار را ثبت کند و کاربران را فریب دهد تا بسته مخرب را نصب کنند.

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

command-not-found

 command-not-found

ایلای گلدمن، محقق امنیت Aqua، گفت: «سازندگان بسته APT jupyter-notebook» نام فوری مربوطه را ادعا نکرده بودند. این نادیده‌گرفتن فرصتی را برای مهاجم ایجاد کرد تا آن را ادعا کند و یک عکس مخرب به نام “jupyter-notebook” بارگذاری کند.»

بدتر از همه، ابزار command-not-found بسته snap را بالاتر از بسته قانونی APT برای jupyter-notebook پیشنهاد می‌کند و کاربران را برای نصب بسته جعلی snap گمراه می‌کند.

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

دسته سوم مستلزم حملات typosquatting است که در آنها خطاهای تایپی ایجاد شده توسط کاربران (به‌عنوان‌مثال، ifconfigg به‌جای ifconfig) برای پیشنهاد بسته‌های جعلی snap با ثبت یک بسته جعلی با نام “ifconfigg” استفاده می‌شود.

محققان Aqua توضیح دادند که در چنین حالتی، دستور-not-found “به‌اشتباه آن را با این دستور نادرست تطبیق می‌دهد و ضربه مخرب را توصیه می‌کند، و به‌طورکلی پیشنهاد “net-tools” را دور می‌زند.

این شرکت با توصیف بهره‌برداری از ابزار command-not-found برای توصیه بسته‌های تقلبی به‌عنوان یک نگرانی مبرم، از کاربران می‌خواهد قبل از نصب، منبع بسته را بررسی کنند و اعتبار نگهدارنده‌ها را بررسی کنند.

همچنین به توسعه‌دهندگان بسته‌های APT و snap توصیه شده است که نام snap مربوطه را برای دستورات خود ثبت کنند تا از سوءاستفاده از آنها جلوگیری شود.

آکوا گفت: «مشخص نیست که چقدر از این قابلیت‌ها بهره‌برداری شده است که بر ضرورت افزایش هوشیاری و راهبردهای دفاعی پیشگیرانه تأکید می‌کند.»

 

منابع

[۱] https://www.aquasec.com/blog/snap-trap-the-hidden-dangers-within-ubuntus-package-suggestion-system

[۲] https://packages.ubuntu.com/search?keywords=command-not-found

[۳] https://ubuntu.com/server/docs/package-management

[۴] https://ubuntu.com/core/services/guide/snaps-intro

[۵] https://github.com/snapcore/snapd/blob/master/cmd/snap/cmd_advise.go

[۶] https://ubuntu.com/blog/trust-and-security-in-the-snap-store

[۷] https://thehackernews.com/2024/02/ubuntu-command-not-found-tool-could.html