Apa itu "YaraScanService" yang muncul di macOS Mojave Beta (10.14) dan macOS High Sierra (10.13.6)?

27

Saya baru saja memperbarui ke macOS Mojave versi 10.14 Beta dan saya perhatikan ada proses baru yang disebut YaraScanService. Proses ini memakan terlalu banyak RAM (sekitar 10GB). Saya membunuh proses menggunakan Activity Monitor tetapi kembali satu jam kemudian.

  • Apa proses ini dan apa yang sebenarnya dilakukannya?
  • Apakah ada cara untuk mematikannya dan / atau menghentikannya dari memonopoli memori?
Farabi Abdelwahed
sumber
1
Ini dari Alat Penghapus Malware Apple (/System/Library/CoreServices/MRT.app/). Lihat Di 10.14 Beta 2 - apa yang dilakukan YaraScanService? . Lihat Bagaimana cara menghapus Yarascan dari osx? dan apa aplikasi MRT? . Ini adalah hasil dari pembaruan Mojave dan harus berhenti memindai pada akhirnya. Jangan hapus MRT.app jika Anda mengandalkan fitur keamanan Apple sama sekali.
user187561
Apakah ada batas untuk membatasi penggunaan ram? atau apakah itu pengeluaran untuk menggunakan versi Beta
Farabi Abdelwahed

Jawaban:

17

MRT / YaraScan adalah alat antivirus-hak cipta yang disediakan MacOS. Alasan penggunaan memori yang cabul pada dasarnya adalah mengapa OSX tidak memiliki 'antivirus' formal.

Lebih sederhana lagi, YaraScan adalah salah satu bagian dari 'volatility suite' di sini; https://www.volatilityfoundation.org/about

Sadarilah bahwa virus dan material yang dibajak secara ilegal keduanya hanya terdeteksi oleh serangkaian jalur kode 'tanda tangan' dan keduanya sering bergantung pada bug, eksploitasi, dan penambalan yang lemah, sehingga hanya diharapkan bahwa antivirus modern terkuat tumbuh dari hak cipta alat deteksi pelanggaran.

YaraScan berjalan sekali setelah pembaruan Mojave, dan kemudian menghapus dirinya sendiri. Itu juga terlihat bertahan pada sistem MacOS tertentu dalam MRT. Alasan penggunaan begitu banyak memori adalah karena kecuali jika tidak diprogram (seperti di dalamnya adalah opt-out), suatu proses yang harus memindai sejumlah besar file untuk file berukuran tidak diketahui yang mungkin dienkripsi ke dalam kata file yang dicari akan menggunakan besar jumlah memori tidak aktif untuk menyimpan semua file yang dipindai yang didekripsi untuk waktu yang terbatas jika diperlukan lagi. Mengapa? Karena RAM kosong adalah RAM yang terbuang, maksud saya Anda masih harus memberikannya watt jadi mengapa menghapus barang-barang di atasnya ketika sesuatu yang lain tidak ingin berada di sana? Dibutuhkan 100x lebih lama untuk mendapatkannya kembali.

Lebih penting lagi, jika Anda Filevault atau APFS, SEMUA data itu dienkripsi dan harus didekripsi untuk dibaca. Banyak aplikasi benar-benar perlu diluncurkan dan kemudian memindai ketika mereka dimuat karena banyak file dapat datang bersama-sama untuk membentuk ancaman dalam ruang memori sebagai 'file bersamaan' tunggal. Virus dapat disimpan sebagian dalam dylib untuk aplikasi yang sama sekali tidak terkait.

Jumlah waktu diputuskan secara aktif oleh Grand Central Dispatch di mac Anda dan segera setelah Anda mencoba menggunakan program yang membutuhkan RAM logis, ia akan mencoba menghapusnya. Perhatikan bahwa Memori Virtual dalam kasus ini harus besar, karena semua hal yang didekripsi disimpan lebih baik di sana sampai Anda benar-benar kehabisan ruang daripada dihapus pada pass sekunder segera setelah pembuatan berulang kali.

Ini adalah perilaku baru di zaman SSD untuk memaksimalkan masa pakai drive lebih dari responsif. Perilaku GCD saat ini menunjukkan bahwa perlambatan berasal dari CPU yang cepat membuat data yang didekripsi lebih cepat daripada yang dapat ditulis ke disk dan permintaan lain untuk RAM harus menunggu SSD / HDD untuk menyelesaikan.

pengguna1901982
sumber
10
Jadi Apple mengintip penyimpanan orang tanpa sepengetahuan mereka? Bagaimana ini bukan berita halaman depan a-la Sony DRM-gate?
dhchdhd
4
YaraScan runs once after Mojave update, and then deletes itself. Ini berjalan untuk saya setelah panik kernel, jadi saya menganggap sistem memuatnya dari drive pemulihan sesuai kebutuhan. Hanya FYI.
Shelton
1
Senang mengetahui ini adalah kesepakatan sekali jalan. Saya baru saja menyegarkan OS saya setelah mengalami serangkaian masalah dan kemudian melihat program terkait virus yang tidak dikenal mengganggu.
Dan Loughney
7
Jelas tidak menghapus dirinya sendiri setelah berjalan di mesin saya. Pada puncaknya, monitor aktivitas menunjukkannya menggunakan RAM 80,50 GB (kotak saya memiliki ram fisik 32 GB). Saya membiarkannya berjalan sampai proses menghilang. Eksekusi masih ada di /System/Library/CoreServices/MRT.app/Contents/XPCServices/YaraScanService.xpc. Ini ada di macOS 10.13.6.
pjv
1
YaraScan sekarang menjadi bagian dari XProtect / MRT / Gatekeeper. MRT secara harfiah Alat Penghapus Malware. Sebelum ke 10.13 saya percaya ini ada di installer, tapi saya di sistem yang sama dan tidak memilikinya. Saya akan memperbarui jawaban ini untuk mencerminkan ini. Adapun penggunaan RAM yang besar, harap diingat ini adalah memori virtual, AKA file pada disk ukuran X (dengan bonus file itu selalu dihapus saat ditutup). Ini akan jauh lebih besar daripada RAM karena fakta bahwa MRT tidak akan menggunakan banyak RAM untuk menyimpan byte yang didekripsi, cukup membuangnya ke disk sampai Anda kehabisan ruang kemudian khawatir tentang menghapus.
user1901982
7

Ini berjalan pada 10.13.6 (17G65) juga.

1054  66.3  2.1 62395936 359328   ??  Us   11:48AM  10:39.14 /System/Library/CoreServices/MRT.app/Contents/XPCServices/YaraScanService.xpc/Contents/MacOS/YaraScanService

Sepertinya https://github.com/virustotal/yara

/apple/296339/mrt-process-using-large-unbounded-amount-of-memory

dhchdhd
sumber
3
Memang. Dari apa yang saya tahu YaraScanService hanya bagian dari MRT, dan setidaknya di 10.13.6 MRT tampaknya berjalan setelah setiap reboot. Ini mungkin tidak selalu menjalankan bagian YaraScanService itu sendiri, tetapi menurut pengalaman saya, hal itu terjadi.
Greg A. Woods
4
Cara yang hebat untuk meningkatkan keusangan dari mac yang lebih tua ... Saya: "Mac saya lambat karena Yara!" Apple: "Jadi Anda ingin memiliki virus? Lebih baik tingkatkan mac Anda"
w00t
2
Saya akhirnya menghapusnya karena saya tidak pernah menjalankan kode yang tidak dipercaya. Apple menambahkan fitur yang memengaruhi kinerja tanpa menyediakan cara mudah untuk menonaktifkannya (mis. Pengaturan plist yang dikelola oleh bidang Keamanan prefpane baru) tampaknya agak tidak keren.
dhchdhd
2

Itu tidak benar-benar mengkonsumsi RAM Anda. Kemungkinan menggunakan memori yang dipetakan I / O ketika membaca file-file itu, tetapi itu hanya berarti bahwa konten file dipetakan ke ruang memori virtual, itu tidak benar-benar berarti bahwa memori fisik digunakan. Untuk penggunaan aktual Anda perlu melihat "Ukuran memori nyata di Monitor Aktivitas.

Matt K.
sumber
1
Sebenarnya ia memang menggunakan RAM (dan juga memori yang dipetakan I / O juga menggunakan RAM - itulah gagasannya!), Menyebabkan RAM yang sudah digunakan dikompresi dan / atau didorong untuk bertukar, sehingga semakin memperburuk kegunaan sistem sementara itu berjalan
Greg A. Woods
Itu bukan cara memori dipetakan file I / O bekerja. Itu hanya memetakan file ke ruang alamat memori, itu tidak benar-benar mengalokasikan memori untuk itu. Ruang alamat pada platform 64bit adalah 2 ^ 64 besar (secara teori, tergantung pada platform beberapa bit mungkin memiliki tujuan khusus), yang jauh melampaui kapasitas memori fisik.
Matt K.
1
Memory-I / O yang dipetakan paling pasti tidak "mengalokasikan" memori fisik - dan dengan demikian itu menyebabkan memori "tekanan", memaksa kernel untuk kompres dan / atau page-out jika tidak, memori aktif masih digunakan untuk keperluan lain. Anda tidak dapat memasukkan sesuatu ke dalam memori jika Anda tidak memiliki tempat khusus dalam memori fisik nyata yang dialokasikan untuk menyalinnya. Ruang alamat memori virtual langsung dipetakan ke memori fisik setiap kali suatu proses mengaksesnya dengan cara apa pun, bahkan jika area tertentu didukung oleh penyimpanan sekunder seperti pada I / O yang dipetakan pada memori.
Greg A. Woods
Tentu saja file yang dipetakan memori diakses melalui memori fisik, tetapi blok-blok itu diperlakukan seperti cache dan mereka pertama-tama mengalami tekanan memori. Tidak ada implementasi paging sistem operasi yang waras yang akan mengompres atau menukar halaman memori aktif dengan tetap menjaga jumlah halaman mmap yang signifikan Dalam hal ini YaraScanService di komputer saya memiliki lebih dari 20 gigabytes yang dipetakan tetapi hanya menggunakan sekitar 300MB memori fisik. Pada dasarnya mengklaim bahwa file I / O yang dipetakan memori menyebabkan tekanan memori sama dengan mengklaim cache disk menyebabkan swapping dan tekanan memori.
Matt K.
1
Memori yang dipetakan I / O membutuhkan lebih banyak memori fisik daripada cache buffer yang setara, terutama dengan beberapa pola akses. Jika Anda melihat jumlah tekanan memori (dalam grafik di Activity Monitor "Memory" tab), dan pertumbuhan memori terkompresi dan / atau swap penggunaan sementara YaraScanService berjalan pada mesin apa pun dengan sistem file yang besar dan penuh dan banyak lainnya. proses besar berjalan Anda akan melihat bahwa itu menyebabkan parah jumlah gangguan sejauh itu kadang-kadang menyebabkan meronta-ronta. Bahkan ketika Chrome membocorkan memori dan bertambah besar, itu hampir tidak seperti YSS.
Greg A. Woods