在macOS Mojave Beta(10.14)和macOS High Sierra(10.13.6)中显示的“ YaraScanService”是什么?


27

我刚刚更新到macOS Mojave 10.14 Beta版,我注意到有一个名为的新过程YaraScanService。该过程消耗过多的RAM(大约10GB)。我使用活动监视器终止了该过程,但一个小时后又回来了。

  • 这个过程是什么?它到底是做什么的?
  • 有没有办法关闭它和/或阻止它占用内存?

1
它来自Apple恶意软件删除工具(/System/Library/CoreServices/MRT.app/)。请参见10.14 Beta 2中的内容-YaraScanService的作用是什么?。请参阅如何从osx中删除Yarascan?什么是地铁的应用程序?。这是Mojave更新的结果,最终应停止扫描。如果您完全依靠Apple的安全功能,请不要删除MRT.app。
user187561


有没有限制它的ram使用的方法?还是使用Beta版的费用
Farabi Abdelwahed

Answers:


17

MRT / YaraScan是MacOS提供的防病毒版权工具。内存使用率过高的原因基本上是OSX没有正式的“防病毒”的原因。

更简单地说,YaraScan是此处“波动性套件”的一部分;https://www.volatilityfoundation.org/about

一定要意识到,病毒和非法盗版材料都只能通过一组“签名”的代码路径来检测,并且都经常依赖于错误,漏洞利用和弱修补程序,因此只能预料到,最强大的现代防病毒软件是从版权中获得的侵权检测工具。

Moarave更新后,YaraScan将运行一次,然后将其自身删除。人们还发现它在MRT中的某些MacOS系统上仍然存在。它使用大量内存的原因是,除非进行其他编程(如退出),否则必须扫描大量文件以查找未知大小的文件(可能会被加密为所述搜索到的文件)的进程将使用大量文件。不活动的内存量,可以在有限的时间内保存所有解密的扫描文件,以防再次需要它们。为什么?因为空的RAM是浪费的RAM,我的意思是您仍然必须给它瓦特,所以为什么当其他东西不想在那里时,为什么要删除它上的东西呢?找回它要花费100倍的时间。

更重要的是,如果您使用Filevault或APFS,则所有这些数据均已加密,必须解密才能读取。实际上,许多应用程序实际上需要启动并在加载时进行扫描,因为许多文件可能会汇聚在一起,从而像单个“并行文件”一样对内存空间构成威胁。病毒可以部分存储在dylib中,用于完全不相关的应用程序。

时间的长短由Mac上的Grand Central Dispatch主动决定,一旦您尝试使用需要该逻辑RAM的程序,它将立即尝试清除它。请注意,这种情况下的虚拟内存应该很大,因为所有解密后的内容都最好存储在此处,直到您实际上没有空间为止,而不是在反复创建后不久在第二遍删除时将其删除。

这是SSD时代的一种新行为,可以最大限度地延长驱动器使用寿命,并提高响应速度。当前的GCD行为表明,速度下降是由于快速的CPU创建解密数据的速度快于将其写入磁盘以及向RAM发出的其他请求(必须等待SSD / HDD完成)的速度。


10
因此,Apple会在人们不知情的情况下窥探他们的存储设备吗?这怎么不是头条新闻a-la Sony DRM-gate?
dhchdhd

4
YaraScan runs once after Mojave update, and then deletes itself. 它在内核崩溃后为我运行,因此我假设系统会根据需要从恢复驱动器中加载它。仅供参考。
谢尔顿

1
很高兴知道这是一次一次性交易。在遇到一系列问题之后,我只是刷新了操作系统,然后看到一个与病毒相关的陌生程序令人困扰。
丹·洛尼

7
在我的计算机上运行后,它绝对不会删除自己。高峰时,活动监视器显示它使用80.50 GB的RAM(我的机器具有32 GB的物理内存)。我让它运行直到过程消失。该可执行文件仍位于/System/Library/CoreServices/MRT.app/Contents/XPCServices/YaraScanService.xpc。这是在macOS 10.13.6上。
pjv

1
YaraScan现在是XProtect / MRT / Gatekeeper的一部分。MRT实际上是恶意软件删除工具。在10.13之前,我相信它在安装程序中,但是我在同一系统上,并且没有安装。我将更新此答案以反映这一点。至于较大的RAM使用量,请记住这是虚拟内存,也就是X大小的磁盘上的文件(该文件的好处是总是在关闭时删除)。由于MRT不会使用大量RAM来存储解密的字节,而是将其转储到磁盘上直到空间用完,然后再担心删除,因此它将比RAM大得多。
user1901982 '18 -10-26

7

它也在10.13.6(17G65)上运行。

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

看起来可能是https://github.com/virustotal/yara

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


3
确实。据我所知,YaraScanService只是MRT的一部分,至少在10.13.6中,MRT似乎在每次重新启动后都在运行。它可能并不总是运行自身的YaraScanService部分,但以我的经验来看确实可以。
格雷格·伍兹

4
这样一种增加旧Mac的过时的好方法……我:“由于Yara,我的Mac变慢了!” 苹果:“那么,您想
感染

2
我最终删除了它,因为我从未运行过不受信任的代码。苹果增加了影响性能的功能,却没有提供禁用它们的简便方法(例如,由新的安全性prefpane字段管理的plist设置)似乎有点不酷。
dhchdhd

2

它实际上并不会消耗您的RAM。在读取这些文件时,它可能会使用内存映射的I / O,但这仅意味着文件内容已映射到虚拟内存空间,实际上并不意味着使用了物理内存。对于实际使用,您需要查看“活动监视器中的实际内存大小。


1
实际上,它确实使用RAM(并且内存映射的I / O也使用RAM -这就是整个想法!),导致已使用的RAM被压缩和/或推出以进行交换,从而进一步加剧了系统的可用性,同时它运行
Greg A. Woods

这不是内存映射文件I / O的工作方式。它只是将文件映射到内存地址空间,实际上并没有为其分配任何内存。64位平台上的地址空间大2 ^ 64(理论上,取决于平台,某些位可能有特殊用途),这远远超出了物理内存的容量。
Matt K.

1
内存映射的I / O绝对会“分配”物理内存-从而导致内存“压力”,迫使内核压缩和/或分页输出,否则活动内存仍用于其他目的。如果您没有在实际物理内存中分配特定的位置来将其复制到内存,则无法将某些内容放入内存。每当进程以任何方式访问虚拟内存地址空间时,虚拟内存地址空间都会直接映射到物理内存,即使该特定区域由辅助存储(如内存映射的I / O)支持。
格雷格·伍兹

当然,内存映射文件是通过物理内存访问的,但是这些块被视为高速缓存,它们首先要经受内存压力。没有理智的操作系统页面调度实现可以压缩或交换活动内存页面,同时保留大量的映射页面。在这种情况下,我计算机上的YaraScanService映射了20 GB以上的内存,但仅使用了大约300MB的物理内存。基本上声称内存映射文件I / O会导致内存压力与声称磁盘高速缓存会导致交换和内存压力相同。
Matt K.18年

1
内存映射的I / O比等效的缓冲区高速缓存需要更多的物理内存,尤其是在某些访问模式下。如果您查看内存压力的大小(在“活动监视器”的“内存”选项卡中的图形”中)以及YaraScanService在任何具有大型文件系统且有很多其他文件系统的计算机上运行时压缩内存和/或交换使用量的增长情况大型进程在运行时,您会看到它会造成严重的中断,有时甚至会导致系统崩溃。即使Chrome泄漏内存并变得庞大,它也不是像YSS这样的猪。
格雷格·伍兹
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.