Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Mac

Cách phát hiện và xóa LaunchDaemons và LaunchAgents ẩn trên Mac

Các mục đăng nhập ẩn có thể gây ra đủ loại vấn đề cho người dùng Mac. Một ứng dụng có thể xuất hiện trên thanh menu nhưng không có trong mục đăng nhập. Safari có thể chuyển hướng đến trang quảng cáo hoặc thay đổi trang chủ mà không có sự cho phép của bạn. Và các quy trình không xác định có thể kéo dài tài nguyên hệ thống ngầm.

Thật đáng buồn, với các sự kiện bất ngờ này, xóa ứng dụng khỏi mục đăng nhập không đủ để giải quyết vấn đề. Điều này là do có LaunchDaemons và LaunchAgents ẩn giữ chúng lại, không thể truy cập qua giao diện macOS thông thường.

Ở đây, chúng tôi sẽ chỉ cho bạn cách giám sát và xử lý các LaunchDaemons và LaunchAgents ẩn này để khắc phục các vấn đề độc đáo trên Mac.

Hiểu quy trình khởi động macOS

Khi bạn nhấn nút nguồn, Mac khởi động với một chuỗi sự kiện quen thuộc:

  • Bạn nghe âm thanh khởi động.
  • Logo Apple xuất hiện, cùng thanh tiến trình.
  • Bạn thấy màn hình đăng nhập xuất hiện khi hoàn tất (hoặc màn hình desktop nếu bật đăng nhập tự động).

Đằng sau hậu trường, macOS khởi động quy trình launchd. Quy trình này chịu trách nhiệm khởi động, dừng, và quản lý mọi quy trình khác, bao gồm hệ thống và tài khoản người dùng riêng lẻ. Quy trình được tối ưu hóa cao và chỉ mất vài giây.

Để tự kiểm tra, mở ứng dụng Activity Monitor, chọn View > All Processes. Ở trên cùng, bạn sẽ thấy hai quy trình chính: kernel_task và launchd, với ID quy trình (PID) là 0 và 1.

Điều này cho thấy launchd là quy trình cha chính khi hệ thống khởi động. Nó cũng là quy trình cuối cùng thoát khi hệ thống tắt.

Cách phát hiện và xóa LaunchDaemons và LaunchAgents ẩn trên Mac

Trách nhiệm cốt lõi của launchd là khởi chạy các quy trình hoặc tác vụ khác theo lịch trình hoặc theo yêu cầu. Chúng có hai loại: LaunchDaemons và LaunchAgents.

LaunchDaemons và LaunchAgents là gì?

LaunchDaemons thường chạy với quyền root, nghĩa là chúng hoạt động bất kể người dùng có đăng nhập hay không. Chúng không thể hiển thị thông tin qua giao diện người dùng đồ họa và ảnh hưởng đến toàn bộ hệ thống.

Ví dụ, quy trình locationd phát hiện vị trí địa lý của Mac, trong khi quy trình bluetoothd quản lý Bluetooth. Danh sách daemon nằm ở các vị trí sau:

  • /System/Library/LaunchDaemons cho quy trình macOS gốc
  • /Library/LaunchDaemons cho ứng dụng bên thứ ba đã cài đặt

Cách phát hiện và xóa LaunchDaemons và LaunchAgents ẩn trên Mac

Mac LaunchAgents bắt đầu khi người dùng đăng nhập. Khác với daemon, chúng có thể truy cập giao diện người dùng và hiển thị thông tin. Ví dụ, ứng dụng lịch có thể giám sát tài khoản lịch của người dùng để tìm sự kiện và thông báo khi sự kiện xảy ra. Danh sách agent nằm ở:

  • /Library/LaunchAgents cho tất cả tài khoản người dùng
  • ~/Library/LaunchAgents cho tài khoản người dùng cụ thể
  • /System/Library/LaunchAgents chỉ cho macOS

Cách phát hiện và xóa LaunchDaemons và LaunchAgents ẩn trên Mac

Trước khi bạn đăng nhập, launchd chạy dịch vụ và thành phần được chỉ định trong tệp .plist từ thư mục LaunchDaemons. Sau khi bạn đăng nhập, launchd sẽ chạy dịch vụ và thành phần được định nghĩa trong tệp .plist từ thư mục LaunchAgents. Những thứ trong /System/Library đều là một phần của macOS và được bảo vệ bởi System Integrity Protection.

Các tệp tùy chọn .plist tuân theo hệ thống đặt tên miền ngược chuẩn. Bắt đầu bằng tên công ty, theo sau là định danh ứng dụng, và kết thúc bằng đuôi mở rộng danh sách thuộc tính (.plist). Ví dụ, co.clario.Clario.plist là tệp hỗ trợ cho ứng dụng Clario.

Cách phát hiện và xóa LaunchDaemons và LaunchAgents ẩn trên Mac

Cách phát hiện LaunchDaemons và LaunchAgents

Khác với những thứ trong thư mục System, thư mục LaunchDaemon và LaunchAgent công khai mở cho cả ứng dụng hợp pháp và không hợp pháp. Bạn có thể giám sát các thư mục này tự động với Folder Actions.

Mở ứng dụng AppleScript Editor bằng cách tìm kiếm trong Spotlight. Nhấp Preferences và chọn General > Show Script menu in menu bar.

Cách phát hiện và xóa LaunchDaemons và LaunchAgents ẩn trên Mac

Nhấp biểu tượng Script Menu và chọn Folder Actions > Enable Folder Actions. Sau đó chọn Attach Script to Folder trong menu đó.

Cách phát hiện và xóa LaunchDaemons và LaunchAgents ẩn trên Mac

Một hộp thoại sẽ bật lên. Tại đây, chọn add - new item alert.

Cách phát hiện và xóa LaunchDaemons và LaunchAgents ẩn trên Mac

Nhấp OK để mở cửa sổ Finder. Bây giờ chọn thư mục LaunchDaemon của người dùng (liệt kê ở trên) và nhấp Choose.

Cách phát hiện và xóa LaunchDaemons và LaunchAgents ẩn trên Mac

Lặp lại quy trình trên cho mọi thư mục LaunchAgents trên Mac của bạn.

Khi xong, mở Finder và nhấp Go > Go to Folder hoặc nhấn Shift + Cmd + G để mở hộp thoại điều hướng. Gõ ~/Library/LaunchAgents và nhấp Go.

Cách phát hiện và xóa LaunchDaemons và LaunchAgents ẩn trên Mac

Right-click thư mục LaunchAgents, chọn Services > Folder Actions Setup để gắn script cảnh báo mục mới vào từng thư mục.

Cách phát hiện và xóa LaunchDaemons và LaunchAgents ẩn trên Mac

Trong hộp thoại bật lên, bạn sẽ thấy danh sách thư mục ở cột trái và script ở cột phải. Nếu không thấy script nào, nhấp nút cộng (+) và thêm new item alert.scpt.

Cách phát hiện và xóa LaunchDaemons và LaunchAgents ẩn trên Mac

Sau khi làm theo các bước này, macOS sẽ hiển thị cửa sổ bật lên cảnh báo bất cứ khi nào mục mới được thêm vào một trong các thư mục này, cho phép bạn phát hiện bất kỳ ứng dụng không hợp pháp nào cố gắng tiêm mình vào hệ thống của bạn ngầm.

Cân nhắc giám sát các thư mục này bằng ứng dụng

Nếu bạn muốn một số tùy chọn cảnh báo bổ sung cho các thư mục này, bạn có thể thử một vài công cụ bên thứ ba.

EtreCheck là công cụ chẩn đoán macOS hiển thị trạng thái tải của LaunchDaemons và LaunchAgents bên thứ ba, trong các thông tin khác. Khi chạy EtreCheck, nó thu thập nhiều thông tin về Mac và trình bày báo cáo dễ đọc. Nó cũng có tùy chọn giúp đỡ thêm khi đối phó với adware, daemon và agent đáng ngờ, tệp không ký, và nhiều hơn.

Mở EtreCheck và nhấp Scan. Sẽ mất vài phút, và khi xong, bạn sẽ thấy bản tóm tắt đầy đủ về máy tính. Bao gồm vấn đề chính và phụ, thông số phần cứng, vấn đề tương thích phần mềm, trạng thái LaunchDaemons và LaunchAgents, và nhiều hơn.

Ứng dụng miễn phí cho năm báo cáo đầu, sau đó yêu cầu mua trong ứng dụng $17.99 để tiếp tục dùng.

Cách phát hiện và xóa LaunchDaemons và LaunchAgents ẩn trên Mac

Lingon X là công cụ khác cho phép bạn khởi động ứng dụng, script, hoặc chạy lệnh tự động theo lịch trình. Nó cũng có thể giám sát tất cả thư mục LaunchDaemons và LaunchAgents ở chế độ nền và hiển thị thông báo khi có thứ gì thay đổi. Bạn có thể xem tất cả mục theo đồ họa và điều chỉnh khi cần.

Công cụ này dùng thử miễn phí, nhưng tốn $14.99 cho giấy phép đầy đủ.

Cách phát hiện và xóa LaunchDaemons và LaunchAgents ẩn trên Mac

Cách xóa LaunchDaemons và LaunchAgents

Thư mục /Library/LaunchAgents và /Library/LaunchDaemons công khai dễ bị tổn thương bởi cả ứng dụng hợp pháp và không hợp pháp. Ứng dụng hợp pháp có thể dùng chúng cho marketing, trong khi ứng dụng độc hại có thể dùng chúng để đánh cắp dữ liệu và lây nhiễm Mac.

Để adware và malware thành công, chúng phải tồn tại trong mọi phiên người dùng. Để làm vậy, tác giả malware và adware tạo mã độc và đặt nó trong thư mục LaunchAgent hoặc LaunchDaemon. Mỗi lần Mac khởi động, launchd sẽ đảm bảo mã độc chạy tự động. May mắn thay, ứng dụng bảo mật có thể giúp chống lại điều này.

Dùng ứng dụng bảo mật Mac

Ứng dụng KnockKnock miễn phí hoạt động dựa trên nguyên tắc sự bền bỉ (persistence). Nó liệt kê các ứng dụng được cài đặt bền bỉ và thành phần của chúng trong giao diện gọn gàng. Nhấp nút Scan, KnockKnock sẽ quét tất cả vị trí đã biết nơi malware có thể hiện diện.

Bảng bên trái chứa các danh mục ứng dụng bền bỉ, với tên và mô tả ngắn. Nhấp vào bất kỳ nhóm nào để hiển thị mục trong bảng bên phải. Ví dụ, nhấp Launch Items ở bảng bên trái để xem tất cả LaunchAgents và LaunchDaemons.

Cách phát hiện và xóa LaunchDaemons và LaunchAgents ẩn trên Mac

Mỗi hàng cung cấp thông tin chi tiết về ứng dụng. Bao gồm trạng thái đã ký hoặc chưa ký, đường dẫn tới tệp, và kết quả quét antivirus từ VirusTotal.

BlockBlock là ứng dụng bảo mật miễn phí khác từ Objective-See liên tục giám sát vị trí bền bỉ. Ứng dụng chạy ngầm và hiển thị cảnh báo bất cứ khi nào malware thêm thành phần bền bỉ vào macOS.

Cách phát hiện và xóa LaunchDaemons và LaunchAgents ẩn trên Mac

Không phải mọi tệp .plist bên thứ ba đều độc hại. Chúng có thể đến từ đâu đó, bao gồm:

  • Thành phần của ứng dụng đã cài đặt
  • Sốt lại của ứng dụng cũ bạn không còn dùng
  • Sốt lại từ nâng cấp macOS trước đó
  • Sốt lại từ Migration Assistant
  • PUPs (chương trình có thể không mong muốn), adware, và malware.

Bạn không muốn xóa thành phần của ứng dụng đã cài đặt. Tuy nhiên, hoàn toàn an toàn khi xóa sót lại của ứng dụng cũ và sót lại từ nâng cấp macOS trước (trừ khi bạn muốn tiếp tục dùng những ứng dụng đó).

Không có quy trình gỡ cài đặt độc đáo cho việc này — chỉ việc đưa tệp .plist vào thùng rác và khởi động lại Mac. Hoặc bạn có thể cắt và dán nó ra Desktop để giữ bản sao đề phòng. Đừng xóa bất kỳ mục nào từ thư mục System LaunchAgents hoặc System LaunchDaemons, vì chúng cần thiết cho macOS chạy trơn tru.

Adware và PUPs nổi tiếng khó xử lý. Bất cứ khi nào bạn nghi ngờ, hãy chạy

phiên bản miễn phí của Malwarebytes và cân nhắc nâng cấp lên Malwarebytes Premium nếu cần bảo vệ thêm.

Cách phát hiện và xóa LaunchDaemons và LaunchAgents ẩn trên Mac

Hãy cảnh giác với các mối đe dọa khởi động trên Mac

Nếu bạn làm theo các bước này, bạn sẽ biết về các mối đe dọa mới trước kịp và giải quyết mọi vấn đề. Adware và PUPs đang gia tăng phổ biến, với biến thể malware mới liên tục xuất hiện. May mắn thay, macOS có nhiều cách để bảo vệ bạn.

Chiêu bài là giám sát các thư mục này và chạy kiểm tra chẩn đoán thường xuyên. Nếu bạn nghi ngờ, hãy luôn Google tên quy trình có thể độc hại. Nhưng nếu bạn tránh những sai lầm dẫn đến malware trên Mac, bạn không cần phải lo lắng.