Что такое «YaraScanService», который отображается в macOS Mojave Beta (10.14) и macOS High Sierra (10.13.6)?

27

Я только что обновился до MacOS Mojave версии 10.14 Beta и заметил новый процесс под названием YaraScanService. Процесс потребляет слишком много оперативной памяти (около 10 ГБ). Я убил процесс с помощью Activity Monitor, но он вернулся через час.

  • Что это за процесс и что именно он делает?
  • Есть ли способ, чтобы закрыть его и / или остановить его от накопления памяти?
Фараби Абдельвахед
источник
1
Это из средства удаления вредоносных программ Apple (/System/Library/CoreServices/MRT.app/). См. В 10.14 Beta 2 - что делает YaraScanService? , Смотрите Как мне удалить Yarascan из osx? а что такое приложение MRT? , Это результат обновления Mojave, и со временем сканирование должно быть прекращено. Не удаляйте MRT.app, если вы вообще используете функции безопасности Apple.
user187561
Также посмотрите, от чего XProtect и MRT защищают ваш Mac? ,
user187561
Есть ли возможность ограничить использование оперативной памяти? или это за счет использования бета-версии
Фараби Абдельвахед

Ответы:

17

MRT / YaraScan - это инструмент для защиты авторских прав MacOS. Причиной такого непристойного использования памяти является то, почему в OSX нет формального «антивируса».

Проще говоря, YaraScan является частью «набора волатильности»; https://www.volatilityfoundation.org/about

Поймите, что и вирус, и нелегальный пиратский материал обнаруживаются только по «сигнатурному» набору кодовых путей и часто зависят от ошибок, эксплойтов и слабых исправлений, поэтому можно ожидать, что самый сильный современный антивирус был создан из авторских прав. инструмент обнаружения нарушений.

YaraScan запускается один раз после обновления Mojave, а затем удаляет себя. Также было замечено, что он сохраняется в некоторых системах MacOS в MRT. Причина, по которой он использует так много памяти, состоит в том, что, если не запрограммировано иное (как в случае отказа), процесс, который должен сканировать большое количество файлов на предмет файла неизвестного размера, который может быть зашифрован в указанных искомых файлах, будет использовать большой объем неактивной памяти для сохранения всех расшифрованных отсканированных файлов в течение ограниченного периода времени, если они снова необходимы. Зачем? Поскольку пустая оперативная память - потраченная впустую оперативная память, я имею в виду, что вы все равно должны отдавать ей ватты, так зачем удалять то, что находится на ней, если что-то еще не хочет быть там? Требуется 100 раз больше, чтобы вернуть его.

Что еще более важно, если вы используете Filevault или APFS, ВСЕ эти данные зашифрованы и должны быть расшифрованы для чтения. Многие приложения на самом деле нуждаются в запуске и последующем сканировании, когда они загружены, поскольку многие файлы могут объединиться, чтобы создать угрозу в пространстве памяти в виде единого «параллельного файла». Вирусы могут быть частично сохранены в dylib для совершенно не связанного приложения.

Количество времени активно определяется Grand Central Dispatch на вашем Mac, и как только вы попытаетесь использовать программу, которая нуждается в этой логической памяти, она попытается очистить ее. Обратите внимание, что виртуальная память в этом случае должна быть большой, так как все эти дешифрованные материалы лучше хранить там, пока вы буквально не исчерпаете пространство, чем удалите на вторичном проходе вскоре после многократного создания.

Это новое поведение в эпоху твердотельных накопителей, позволяющее максимально увеличить срок службы привода за счет отзывчивости. Текущее поведение GCD предполагает, что замедление происходит из-за быстрого ЦП, создающего расшифрованные данные быстрее, чем они могут быть записаны на диск, и других запросов к ОЗУ, ожидающих завершения SSD / HDD.

user1901982
источник
10
Значит, Apple присматривает за хранилищем людей без их ведома? Как это не первая полоса новостей а-ля Sony DRM-gate?
Дххдхд
4
YaraScan runs once after Mojave update, and then deletes itself. Он запускается для меня после паники ядра, поэтому я предполагаю, что система загружает его с диска восстановления по мере необходимости. Просто к вашему сведению.
Шелтон
1
Приятно знать, что это беспроигрышная сделка. Я только что обновил свою ОС после того, как у меня возникло несколько проблем, а затем я увидел, что незнакомая программа, связанная с вирусами, беспокоит.
Дэн Лафни
7
Он определенно не удалял себя после запуска на моей машине. На пике монитор активности показал, что он использует 80.50 ГБ ОЗУ (у моего компьютера есть 32 ГБ физической памяти). Я позволил ему работать, пока процесс не исчез. Исполняемый файл все еще существует в /System/Library/CoreServices/MRT.app/Contents/XPCServices/YaraScanService.xpc. Это на macOS 10.13.6.
PJV
1
YaraScan теперь является частью XProtect / MRT / Gatekeeper. MRT буквально средство для удаления вредоносных программ. До 10.13 я считаю, что это в установщике, но я нахожусь в той же системе, и у меня его нет. Я обновлю этот ответ, чтобы отразить это. Что касается большого объема используемой оперативной памяти, пожалуйста, имейте в виду, что это виртуальная память, AKA файл на диске размером X (с бонусом, который этот файл всегда удаляет при закрытии). Она будет намного больше оперативной памяти из-за того, что MRT не будет использовать много оперативной памяти для хранения расшифрованных байтов, просто выгрузите ее на диск, пока у вас не закончится свободное место, а затем беспокойтесь об удалении.
user1901982
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

dhchdhd
источник
3
Верно. Из того, что я могу сказать, YaraScanService является только частью MRT, и, по крайней мере, в 10.13.6 MRT запускается после каждой перезагрузки. Он не всегда может запускать часть YaraScanService сам по себе, но, по моему опыту, это так.
Грег А. Вудс,
4
Такой отличный способ увеличения морального старения старых компьютеров Mac ... Я: "Мой Mac работает медленно из-за Яры!" Apple: «Итак, вы хотите иметь вирусы? Лучше обновите свой Mac»
w00t
2
Я закончил тем, что удалил это, потому что я никогда не запускаю ненадежный код. Apple, добавляющая функции, влияющие на производительность, не предоставляя простой способ их отключения (например, настройка plist, управляемая новым полем prefpane Security), кажется немного не крутой.
Дххдхд
2

Это на самом деле не потребляет вашу оперативную память. Вероятно, при чтении этих файлов используется сопоставленный с памятью ввод-вывод, но это означает лишь то, что содержимое файла сопоставлено с пространством виртуальной памяти, но фактически это не означает, что используется физическая память. Для фактического использования вам нужно посмотреть на «Реальный объем памяти в Activity Monitor.

Мэтт К.
источник
1
На самом деле он использует ОЗУ (а также ввод-вывод с отображением памяти тоже использует ОЗУ - вот и вся идея!), В результате чего уже использованная ОЗУ сжимается и / или вытесняется для замены, что еще больше ухудшает удобство использования системы, в то время как это бежит
Грег А. Вудс
Это не то, как работает ввод-вывод файла с отображением в память. Он просто отображает файл в адресное пространство памяти, но фактически не выделяет для него память. Адресное пространство на 64-битных платформах имеет размер 2 ^ 64 (теоретически, в зависимости от платформы некоторые биты могут иметь специальное назначение), что значительно превышает объем физической памяти.
Мэтт К.
1
Отображаемый в память ввод-вывод определенно «выделяет» физическую память - и, таким образом, вызывает «давление» памяти, заставляя ядро ​​сжимать и / или выгружать страницы, иначе активная память все еще используется для других целей. Вы не можете поместить что-то в память, если у вас нет места в реальной физической памяти, выделенного для копирования. Адресное пространство виртуальной памяти напрямую сопоставляется с физической памятью всякий раз, когда процесс обращается к ней любым способом, даже если эта конкретная область поддерживается вторичным хранилищем, как при отображении в памяти ввода-вывода.
Грег А. Вудс
Конечно, к отображенным в память файлам обращаются через физическую память, но эти блоки обрабатываются как кеш, и они первыми подвергаются давлению памяти. Ни одна разумная реализация подкачки операционной системы не будет сжимать или менять местами страницы активной памяти, сохраняя при этом значительное количество отображаемых страниц. В этом случае YaraScanService на моем компьютере было сопоставлено более 20 гигабайт, но использовалось только около 300 МБ физической памяти. По сути, утверждение о том, что ввод-вывод из сопоставленного с памятью файла вызывает нехватку памяти, равнозначно утверждению, что дисковый кэш вызывает перестановку и нехватку памяти.
Мэтт К.
1
Операции ввода-вывода с отображением памяти требуют намного больше физической памяти, чем эквивалентный буферный кэш, особенно с некоторыми шаблонами доступа. Если вы посмотрите на величину давления памяти (на графике на вкладке «Память» на мониторе активности) и рост использования сжатой памяти и / или подкачки, когда YaraScanService работает на любой машине с большой и полной файловой системой и множеством других при выполнении больших процессов вы увидите, что это приводит к серьезным сбоям в той степени, в которой это иногда приводит к перебоям. Даже когда Chrome теряет память и становится огромным, это не такая свинья, как YSS.
Грег А. Вудс,