Co to jest „YaraScanService”, który pojawia się w macOS Mojave Beta (10.14) i macOS High Sierra (10.13.6)?

27

Właśnie zaktualizowałem system do wersji macOS Mojave 10.14 Beta i zauważyłem nowy proces o nazwie YaraScanService. Proces zużywa zbyt dużo pamięci RAM (około 10 GB). Zabiłem proces za pomocą Monitora aktywności, ale wrócił godzinę później.

  • Czym jest ten proces i co dokładnie robi?
  • Czy istnieje sposób, aby go wyłączyć i / lub powstrzymać przed zapychaniem pamięci?
Farabi Abdelwahed
źródło
1
Pochodzi z narzędzia Apple do usuwania złośliwego oprogramowania (/System/Library/CoreServices/MRT.app/). Zobacz W 10.14 Beta 2 - co robi YaraScanService? . Zobacz Jak usunąć Yarascan z osx? a czym jest aplikacja MRT? . Jest to wynik aktualizacji Mojave i powinien w końcu przestać skanować. Nie usuwaj MRT.app, jeśli w ogóle polegasz na zabezpieczeniach Apple.
user187561,
Czy istnieje możliwość ograniczenia użycia pamięci RAM? czy jest to koszt użycia wersji Beta
Farabi Abdelwahed

Odpowiedzi:

17

MRT / YaraScan to narzędzie antywirusowe chronione prawami autorskimi MacOS. Przyczyną tego nieprzyzwoitego użycia pamięci jest w zasadzie to, dlaczego OSX nie ma formalnego „antywirusa”.

Mówiąc prościej, YaraScan jest tutaj częścią „pakietu zmienności”; https://www.volatilityfoundation.org/about

Zdaj sobie sprawę, że zarówno wirus, jak i nielegalnie piracki materiał są wykrywane tylko przez „podpisowy” zestaw ścieżek kodu i oba często polegają na błędach, exploitach i słabych łatkach, więc należy się spodziewać, że najsilniejszy współczesny program antywirusowy wyrósł z praw autorskich narzędzie do wykrywania naruszeń.

YaraScan uruchamia się raz po aktualizacji Mojave, a następnie usuwa się. Widać również, że utrzymuje się na niektórych systemach MacOS w MRT. Powodem, dla którego wykorzystuje tak dużo pamięci, jest to, że jeśli nie zostanie to inaczej zaprogramowane (jak w przypadku rezygnacji), proces, który musi przeskanować dużą liczbę plików w poszukiwaniu pliku o nieznanej wielkości, który może być zaszyfrowany w wymienionych wyszukiwanych plikach, użyje dużego ilość nieaktywnej pamięci, aby zapisać wszystkie odszyfrowane zeskanowane pliki przez ograniczony czas, ponieważ są one ponownie potrzebne. Czemu? Ponieważ pusta pamięć RAM jest zmarnowaną pamięcią RAM, mam na myśli, że nadal musisz dać jej waty, więc po co usuwać z niej rzeczy, gdy coś innego nie chce tam być? Odzyskanie go zajmuje 100 razy dłużej.

Co ważniejsze, jeśli korzystasz z Filevault lub APFS, WSZYSTKIE te dane są szyfrowane i muszą zostać odszyfrowane, aby można je było odczytać. Wiele aplikacji faktycznie wymaga uruchomienia, a następnie skanowania po załadowaniu, ponieważ wiele plików może się łączyć, tworząc zagrożenie w przestrzeni pamięci jako pojedynczy „plik współbieżny”. Wirusy mogą być częściowo przechowywane w dylib dla całkowicie niepowiązanej aplikacji.

Ilość czasu jest aktywnie ustalana przez Grand Central Dispatch na twoim Macu i jak tylko spróbujesz użyć programu, który potrzebuje tej logicznej pamięci RAM, spróbuje go wyczyścić. Należy pamiętać, że pamięć wirtualna w tym przypadku powinna być duża, ponieważ wszystkie odszyfrowane elementy są tam lepiej przechowywane, dopóki dosłownie zabraknie miejsca niż skasowane przy drugim przejściu wkrótce po wielokrotnym utworzeniu.

Jest to nowe zachowanie w dobie dysków SSD, aby zmaksymalizować żywotność dysku ponad czas reakcji. Obecne zachowanie GCD sugeruje, że spowolnienia wynikają z szybkiego procesora, który tworzy odszyfrowane dane szybciej niż można je zapisać na dysk, a inne żądania do RAM muszą czekać na zakończenie SSD / HDD.

użytkownik1901982
źródło
10
Więc Apple szpieguje pamięć ludzi bez ich wiedzy? Jak to nie jest na pierwszej stronie a-la Sony DRM-gate?
dhchdhd
4
YaraScan runs once after Mojave update, and then deletes itself. Działa dla mnie po panice jądra, więc zakładam, że system ładuje go z dysku odzyskiwania w razie potrzeby. Po prostu dla ciebie.
Shelton,
1
Dobrze wiedzieć, że jest to jednorazowa oferta. Właśnie odświeżyłem swój system operacyjny po serii problemów, a potem pojawił się nieznany program związany z wirusami.
Dan Loughney
7
Zdecydowanie nie usunął się po uruchomieniu na moim komputerze. W szczycie monitor aktywności pokazał, że używa 80,50 GB pamięci RAM (moje pudełko ma 32 GB pamięci RAM). Pozwoliłem mu działać, aż proces zniknął. Plik wykonywalny nadal istnieje w /System/Library/CoreServices/MRT.app/Contents/XPCServices/YaraScanService.xpc. To jest na MacOS 10.13.6.
pjv
1
YaraScan jest teraz częścią XProtect / MRT / Gatekeeper. MRT to dosłownie narzędzie do usuwania złośliwego oprogramowania. Przed 10.13 wierzę, że jest w instalatorze, ale jestem w tym samym systemie i nie mam go. Zaktualizuję tę odpowiedź, aby to odzwierciedlić. Jeśli chodzi o użycie dużej pamięci RAM, pamiętaj, że jest to pamięć wirtualna, AKA plik na dysku o rozmiarze X (z bonusem tego pliku zawsze usuwany przy zamknięciu). Będzie znacznie większy niż pamięć RAM, ponieważ MRT nie zużywa dużo pamięci RAM do przechowywania odszyfrowanych bajtów, po prostu zrzuć go na dysk, aż zabraknie miejsca, a następnie martw się o usunięcie.
user1901982,
7

Działa również na 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

Wygląda prawdopodobnie na https://github.com/virustotal/yara

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

dhchdhd
źródło
3
W rzeczy samej. Z tego, co mogę powiedzieć, YaraScanService jest tylko częścią MRT i przynajmniej w 10.13.6 MRT wydaje się działać po każdym ponownym uruchomieniu. Nie zawsze może uruchamiać część YaraScanService, ale z mojego doświadczenia wynika, że ​​tak.
Greg A. Woods,
4
Taki świetny sposób na zwiększenie przestarzałości starszych komputerów Mac… Ja: „Mój Mac jest powolny z powodu Yary!” Apple: „Więc chcesz mieć wirusy? Lepiej zaktualizuj swój komputer Mac”
w00t,
2
Skończyło się na tym, że go usunąłem. Nigdy nie uruchamiam niezaufanego kodu. Apple dodając funkcje wpływające na wydajność bez łatwego sposobu ich wyłączenia (np. Ustawienie plist zarządzane przez nowe pole przedpana zabezpieczeń) wydaje się nieco niechlujne.
dhchdhd
2

Tak naprawdę nie zużywa pamięci RAM. Prawdopodobnie korzysta z mapowanych we / wy pamięci podczas odczytu tych plików, ale oznacza to tylko, że zawartość pliku jest mapowana na przestrzeń pamięci wirtualnej, to wcale nie oznacza, że ​​używana jest pamięć fizyczna. W celu rzeczywistego użycia należy spojrzeć na „Rzeczywisty rozmiar pamięci w monitorze aktywności.

Matt K.
źródło
1
W rzeczywistości korzysta z pamięci RAM (a także we / wy mapowane na pamięć używa pamięci RAM - to cały pomysł!), Powodując kompresję już używanej pamięci RAM i / lub wypchnięcie jej do wymiany, co dodatkowo pogarsza użyteczność systemu podczas działa
Greg A. Woods,
Nie działa to we / wy pliku mapowanego w pamięci. Po prostu mapuje plik do przestrzeni adresowej pamięci, w rzeczywistości nie przydziela mu żadnej pamięci. Przestrzeń adresowa na platformach 64-bitowych ma wielkość 2 ^ 64 (teoretycznie, w zależności od platformy niektóre bity mogą mieć specjalne przeznaczenie), co znacznie wykracza poza pojemność pamięci fizycznej.
Matt K.,
1
Odwzorowane w pamięci we / wy zdecydowanie „alokuje” pamięć fizyczną - a zatem powoduje „nacisk” pamięci, zmuszając jądro do kompresji i / lub stronicowania, w przeciwnym razie aktywnej pamięci używanej do innych celów. Nie możesz zapisać czegoś w pamięci, jeśli nie masz przydzielonego miejsca w rzeczywistej pamięci fizycznej do skopiowania. Przestrzeń adresowa pamięci wirtualnej jest bezpośrednio odwzorowywana na pamięć fizyczną, ilekroć proces uzyskuje do niej dostęp w jakikolwiek sposób, nawet jeśli ten konkretny obszar jest wspierany przez pamięć dodatkową, jak w przypadku operacji we / wy mapowanych na pamięć.
Greg A. Woods,
Oczywiście do plików mapowanych w pamięci można uzyskać dostęp za pośrednictwem pamięci fizycznej, ale te bloki są traktowane jak pamięć podręczna i najpierw są poddawane presji pamięci. Żadna rozsądna implementacja stronicowania systemu operacyjnego nie kompresowałaby ani nie zamieniała stron aktywnych w pamięci, zachowując przy tym znaczną liczbę stron w kształcie mm. W tym przypadku YaraScanService na moim komputerze zamapował ponad 20 gigabajtów, ale zużył tylko około 300 MB pamięci fizycznej. Zasadniczo twierdzenie, że operacje we / wy pliku odwzorowanego w pamięci powodują presję pamięci, jest takie samo, jak twierdzenie, że pamięć podręczna dysku powoduje zamianę i presję pamięci.
Matt K.
1
Mapowane we / wy pamięci wymaga dużo więcej pamięci fizycznej niż równoważna pamięć podręczna bufora, szczególnie w przypadku niektórych wzorców dostępu. Jeśli spojrzysz na wielkość presji pamięci (na wykresie w zakładce „Pamięć” Monitora aktywności) i wzrost wykorzystania pamięci skompresowanej i / lub wymiany, podczas gdy YaraScanService działa na dowolnym komputerze z dużym i pełnym systemem plików i mnóstwem innych przy dużych uruchomionych procesach zobaczysz, że powoduje to poważne zakłócenia w stopniu, w jakim czasami powoduje thrashowanie. Nawet gdy Chrome przecieka pamięć i rośnie, to nie jest tak świnia jak YSS.
Greg A. Woods,