LaunchDaemons و LaunchAgents می توانند جنبه تاریکی داشته باشند. در اینجا نحوه نظارت بر آنها و ایمن نگه داشتن مک خود آورده شده است.
موارد لاگین پنهان می تواند انواع مشکلات را برای کاربران مک ایجاد کند. ممکن است یک برنامه در نوار منو ظاهر شود اما در موارد ورود به سیستم شما ظاهر نشود. Safari ممکن است بدون اجازه شما به سایتهای تبلیغاتی تغییر مسیر دهد یا صفحه اصلی خود را تغییر دهد. و فرآیندهای ناشناخته می توانند منابع سیستم را در پس زمینه بکشند.
متأسفانه، با این نوع رویدادهای غیرمنتظره، حذف برنامه از موارد ورود به سیستم برای حل مشکل کافی نیست. این به این دلیل است که LaunchDaemons و LaunchAgents مخفی وجود دارند که آنها را در اطراف نگه می دارند، که از طریق رابط معمولی macOS قابل دسترسی نیستند.
در اینجا، ما نشان خواهیم داد که چگونه میتوانید این LaunchDaemons و LaunchAgents مخفی را برای عیبیابی مشکلات منحصربهفرد Mac نظارت کرده و در برابر آن اقدام کنید.
آشنایی با روال راه اندازی macOS
هنگامی که دکمه پاور را فشار می دهید، مک شما با یک سری رویدادهای آشنا راه اندازی می شود:
- صدای راه اندازی قابل شنیدن را می شنوید.
- لوگوی اپل به همراه نوار پیشرفت ظاهر می شود.
- می بینید که صفحه ورود به سیستم پس از تکمیل این کار ظاهر می شود (یا دسکتاپ اگر ورود خودکار را فعال کرده باشید).
در پشت صحنه، macOS فرآیند راه اندازی را آغاز می کند. این مسئول شروع، توقف و مدیریت هر فرآیند دیگری از جمله سیستم و حسابهای کاربری فردی است. این فرآیند بسیار بهینه شده است و تنها چند لحظه طول می کشد.
برای بررسی این موضوع، برنامه Activity Monitor را باز کرده و View > All Processes را انتخاب کنید. در بالا، دو فرآیند اصلی را مشاهده خواهید کرد: kernel_task و راه اندازی، با شناسه فرآیند (PID) آنها به صورت 0 و 1.
این نشان میدهد که هنگام راهاندازی سیستم، launched فرآیند والد اولیه است. همچنین آخرین فرآیندی است که هنگام خاموش شدن سیستم از آن خارج می شوید.
مسئولیت اصلی راهاندازی راهاندازی سایر فرآیندها یا مشاغل بر اساس زمانبندی یا بر اساس تقاضا است. اینها دو نوع هستند: LaunchDaemons و LaunchAgents.
LaunchDaemons و LaunchAgents چیست؟
LaunchDaemon ها معمولاً به صورت روت اجرا می شوند، به این معنی که بدون در نظر گرفتن اینکه کاربر وارد شده است یا خیر، کار می کنند. آنها نمی توانند اطلاعات را با استفاده از رابط کاربری گرافیکی نمایش دهند و بر کل سیستم تأثیر می گذارند.
برای مثال، فرآیند مکانیابی موقعیت جغرافیایی مک را شناسایی میکند، در حالی که فرآیند بلوتوث بلوتوث را مدیریت میکند. لیست شیاطین در مکان های زیر زندگی می کنند:
- /System/Library/LaunchDaemons برای فرآیندهای بومی macOS
- /Library/LaunchDaemons برای برنامه های شخص ثالث نصب شده
Mac LaunchAgents با ورود کاربر شروع می شود. برخلاف دیمون ها، آنها می توانند به رابط کاربری دسترسی داشته باشند و اطلاعات را نمایش دهند. به عنوان مثال، یک برنامه تقویم می تواند حساب تقویم کاربر را برای رویدادها کنترل کند و هنگام وقوع رویداد به شما اطلاع دهد. لیست نمایندگان در مکان های زیر زندگی می کنند:
- /Library/LaunchAgents برای همه حساب های کاربری
- ~/Library/LaunchAgents برای یک حساب کاربری خاص
- /System/Library/LaunchAgents فقط برای macOS
قبل از ورود به سیستم، سرویسهای اجرا شده و سایر اجزای مشخص شده در فایلهای plist. از پوشه LaunchDaemons را اجرا میکند. هنگامی که وارد سیستم شدید، راه اندازی سرویس ها و اجزای تعریف شده در فایل های plist. از پوشه های LaunchAgents را اجرا می کند. موارد موجود در /System/Library همگی بخشی از macOS هستند و توسط System Integrity Protection محافظت می شوند.
فایل های ترجیحی plist از سیستم نامگذاری دامنه معکوس استاندارد پیروی می کنند. این با نام شرکت شروع می شود، پس از آن یک شناسه برنامه، و با پسوند فایل لیست اموال (plist.) پایان می یابد. به عنوان مثال، co.clario.Clario.plist فایل کمکی برای برنامه Clario است.
چگونه LaunchDaemons و LaunchAgents را بگیریم
برخلاف موارد موجود در پوشه System، پوشههای عمومی LaunchDaemon و LaunchAgent برای برنامههای قانونی و غیرقانونی باز هستند. شما می توانید این پوشه ها را به طور خودکار با Folder Actions نظارت کنید.
برنامه AppleScript Editor را با جستجوی آن در Spotlight باز کنید. روی Preferences کلیک کنید و General > Show Script menu را در نوار منو انتخاب کنید.
روی نماد منوی اسکریپت کلیک کنید و Folder Actions > Enable Folder Actions را انتخاب کنید. سپس در همان منو گزینه Attach Script to Folder را انتخاب کنید.
یک کادر محاوره ای ظاهر می شود. از اینجا گزینه add – new item alert را انتخاب کنید.
روی OK کلیک کنید تا پنجره Finder باز شود. اکنون پوشه کاربر LaunchDaemon (لیست شده در بالا) را انتخاب کرده و روی Choose کلیک کنید.
روش فوق را برای هر پوشه LaunchAgents در مک خود نیز تکرار کنید.
پس از اتمام، Finder را باز کنید و روی Go > Go to Folder کلیک کنید یا Shift + Cmd + G را فشار دهید تا کادر گفتگوی ناوبری باز شود. ~/Library/LaunchAgents را تایپ کنید و روی Go کلیک کنید.
روی پوشه LaunchAgents کلیک راست کرده و Services > Folder Actions Setup را انتخاب کنید تا اسکریپت هشدار آیتم جدید به هر پوشه متصل شود.
در کادر محاوره ای که ظاهر می شود، لیست پوشه ها را در ستون سمت چپ و اسکریپت را در ستون سمت راست می بینید. اگر هیچ اسکریپتی نمی بینید، روی دکمه پلاس (+) کلیک کنید و مورد جدید alert.scpt را اضافه کنید.
پس از انجام این مراحل، macOS هر زمان که آیتم جدیدی به یکی از این پوشهها اضافه میشود، یک پنجره بازشو نشان میدهد که به شما امکان میدهد هر برنامه غیرقانونی را که سعی در تزریق خود به سیستم شما در پسزمینه دارند، شناسایی کنید.
نظارت بر این پوشه ها را با برنامه ها در نظر بگیرید
اگر میخواهید گزینههای دیگری برای هشدار در این پوشهها وجود داشته باشد، میتوانید چند ابزار شخص ثالث را امتحان کنید.
EtreCheck یک ابزار تشخیصی macOS است که وضعیت بارگذاری LaunchDaemons و LaunchAgents شخص ثالث را در کنار سایر اطلاعات نشان می دهد. هنگامی که EtreCheck را اجرا می کنید، اطلاعات مختلفی را در مورد مک شما جمع آوری می کند و آن را در یک گزارش خوانا ارائه می دهد. همچنین گزینههای کمکی اضافی در هنگام برخورد با ابزارهای تبلیغاتی مزاحم، شیطانها و عوامل مشکوک، فایلهای بدون امضا و موارد دیگر دارد.
EtreCheck را باز کنید و روی Scan کلیک کنید. این کار چند دقیقه طول می کشد و پس از اتمام آن، خلاصه کاملی از رایانه خود را خواهید دید. این شامل مشکلات اصلی و جزئی، مشخصات سخت افزاری، مشکلات سازگاری نرم افزار، وضعیت LaunchDaemons و LaunchAgents و موارد دیگر می شود.
این برنامه برای پنج گزارش اول رایگان است، سپس برای استفاده مداوم به خرید درون برنامه ای 17.99 دلاری نیاز دارد.
Lingon X ابزار دیگری است که به شما امکان می دهد یک برنامه، یک اسکریپت یا یک فرمان را به طور خودکار بر اساس برنامه اجرا کنید. همچنین میتواند تمام پوشههای LaunchDaemons و LauchAgents را در پسزمینه نظارت کند و زمانی که چیزی تغییر میکند یک اعلان نشان میدهد. می توانید تمام موارد را به صورت گرافیکی ببینید و در صورت نیاز آنها را تنظیم کنید.
این ابزار رایگان است، اما برای یک مجوز کامل هزینه آن 14.99 دلار است.
نحوه حذف LaunchDaemons و LaunchAgents
پوشه های عمومی /Library/LaunchAgents و /Library/LaunchDaemons در برابر برنامه های قانونی و غیرقانونی آسیب پذیر هستند. یک برنامه قانونی ممکن است از آنها برای بازاریابی استفاده کند، در حالی که برنامه های مخرب می توانند از آنها برای سرقت داده ها و آلوده کردن Mac شما استفاده کنند.
برای موفقیت آمیز بودن بدافزارها و بدافزارها، باید در هر جلسه کاربر ادامه داشته باشند. برای انجام این کار، نویسندگان بدافزار و ابزارهای تبلیغاتی مزاحم کدهای مخرب ایجاد کرده و آن را در پوشه LaunchAgent یا LaunchDaemon قرار می دهند. هر بار که مک شما راه اندازی می شود، راه اندازی می شود اطمینان حاصل می کند که کد مخرب به طور خودکار اجرا می شود. خوشبختانه، برنامههای امنیتی میتوانند به محافظت در برابر این امر کمک کنند.
از برنامه های امنیتی مک استفاده کنید
برنامه رایگان KnockKnock بر اساس اصل پایداری کار می کند. برنامههای نصبشده دائمی و اجزای آنها را در یک رابط منظم فهرست میکند. روی دکمه Scan کلیک کنید و KnockKnock تمام مکانهای شناخته شدهای را که ممکن است بدافزار وجود داشته باشد اسکن کند.
صفحه سمت چپ شامل دستههای برنامههای ماندگار، با نامها و توضیح مختصری است. روی هر گروهی کلیک کنید تا موارد در قسمت سمت راست نمایش داده شوند. برای مثال، روی Launch Items در قسمت سمت چپ کلیک کنید تا همه LaunchAgents و LaunchDaemons را مشاهده کنید.
هر ردیف اطلاعات دقیقی در مورد برنامه می دهد. این شامل وضعیت امضا شده یا بدون امضا، مسیر فایل و نتایج اسکن آنتی ویروس از VirusTotal است.
BlockBlock یکی دیگر از برنامه های امنیتی رایگان Objective-See است که به طور مداوم مکان های ماندگار را نظارت می کند. این برنامه در پسزمینه اجرا میشود و هر زمان که بدافزار یک مؤلفه دائمی به macOS اضافه میکند، هشداری را به شما نشان میدهد.
با این حال، هر فایل .plist شخص ثالث مخرب نیست. آنها می توانند از هر جایی بیایند، از جمله:
- اجزای برنامه های نصب شده
- بقایای برنامه های قدیمی که دیگر استفاده نمی کنید
- باقیمانده از ارتقاهای قبلی macOS
- باقی مانده های دستیار مهاجرت
- PUP ها (برنامه های بالقوه ناخواسته)، ابزارهای تبلیغاتی مزاحم و بدافزارها.
شما نمی خواهید هیچ یک از اجزای برنامه های نصب شده را حذف کنید. با این حال، حذف بقایای برنامههای قدیمی و بقایای بهروزرسانیهای قبلی macOS کاملاً ایمن است (مگر اینکه بخواهید به استفاده از آن برنامهها ادامه دهید).
هیچ فرآیند حذف نصب منحصر به فردی برای این کار وجود ندارد – به سادگی فایل .plist را حذف کرده و مک خود را مجددا راه اندازی کنید. یا می توانید آن را برش داده و روی دسکتاپ خود بچسبانید تا یک کپی در قسمت امن نگه دارید. هیچ موردی را از پوشههای System LaunchAgents یا System LaunchDaemons حذف نکنید، زیرا برای اجرای روان macOS لازم است.
مقابله با ابزارهای تبلیغاتی مزاحم و PUPها بسیار چالش برانگیز است. هر زمان که شک دارید، آن را اجرا کنید
نسخه رایگان Malwarebytes و در صورت نیاز به محافظت بیشتر، به Malwarebytes Premium ارتقا دهید.
مراقب تهدیدات راه اندازی در مک باشید
اگر این مراحل را دنبال کنید، از قبل از تهدیدهای جدید مطلع خواهید شد و می توانید هر مشکلی را حل کنید. محبوبیت ابزارهای تبلیغاتی مزاحم و PUP ها در حال افزایش است و انواع جدیدی از بدافزارها همیشه در دسترس هستند. خوشبختانه macOS راه های زیادی برای ایمن نگه داشتن شما دارد.
ترفند این است که این پوشه ها را نظارت کنید و بررسی های تشخیصی مکرر را انجام دهید. اگر شک دارید، همیشه نامهای فرآیندهای مخرب احتمالی را در گوگل جستجو کنید. اما اگر از اشتباهاتی که منجر به بدافزار در مک شما می شود اجتناب کنید، نباید نگران باشید.