- macOS-i zombiprotsessid on lõpetatud tütarprotsessid, mis jäävad loendisse ülemprotsessi tõrgete tõttu ja tavaliselt ei tarbi need protsessori ressursse.
- Botivõrgus olev „zombi-Mac” on teistsugune: see on nakatunud arvuti, mis osaleb DDoS-rünnakutes või muudes pahatahtlikes tegevustes.
- Tööriistad nagu Activity Monitor, ps, top, lsof ja pmset võimaldavad tuvastada anomaalseid protsesse ja kummalist süsteemikäitumist.
- Kahtlaste protsesside ülevaatamine, zombide eemaldamine ja Apple'i diagnostika kasutamine aitab teie Maci stabiilsena, turvalisena ja hästi toimivana hoida.

Kui märkad, et sinu Mac töötab tavapärasest aeglasemalt, ventilaator töötab ilma nähtava põhjuseta täiskiirusel või aku tühjeneb kiiresti isegi suletud kaanega, on üsna tõenäoline, et taustal toimuvad ebatavalised protsessid, mis ressursse tarbivad . Nende hulka kuuluvad nn zombiprotsessid ja halvimal juhul pahavara või isegi botnetidega seotud protsessid.
Kuigi macOS on üsna turvaline süsteem, pole see puutumatu. On dokumenteeritud juhtumeid, kus Apple'i arvutid on sattunud "zombi" võrgustikku, mida kasutatakse DDoS-rünnakute käivitamiseks , eriti kui on installitud piraatrakendusi nagu iWork või Photoshop. Lisaks, kuna macOS on UNIX-põhine süsteem, pärib see ka zombiprotsessi tehnilise kontseptsiooni , millel pole viirustega mingit pistmist, kuid mida on siiski oluline mõista ja teada, kuidas neid tuvastada.
Mis täpselt on zombiprotsess macOS-is (ja UNIX-i-laadsetes süsteemides)?
UNIX-is ja UNIX-põhistes süsteemides, näiteks macOS-is, luuakse iga programmi käivitamisel vähemalt üks vanemprotsess ja sageli üks või mitu tütarprotsessi, mis tegelevad konkreetsete ülesannetega . Igal protsessil on identifikaator (PID), omanik, protsessori kasutus, mälukasutus, täitmisaeg jne.
Kui tütarprotsess oma töö lõpetab, saadab see vanemprotsessile väljumissignaali (väljumiskutse), mis näitab, et see on oma ülesande täitnud. Tavaliselt saab vanemprotsess selle teabe wait-funktsiooni (või variants) kutsudes, loeb väljumisolekut ja operatsioonisüsteem eemaldab tütarprotsessi kirje protsesside tabelist.
Siiski ei pruugi vanemprotsess seda väljundinfot hästi käsitleda. Kui vanemprotsess ei suuda lugeda juba lõpetatud alamprotsessi olekut , kuvatakse alamprotsess lõpetatuna, kuid hõivab protsessitabelis endiselt kirjet. Seda "varjundi" kirjet, mis enam midagi ei tee, vaid jääb loendisse, nimetatakse zombiprotsessiks.
Mõtle sellele nagu ehitustöölisele, kes enam palka ei saa, ei tee midagi, aga istub ikka veel ehitusplatsil ja võtab ruumi . Zombiprotsess on juba "surnud": see ei käivita koodi ega kasuta protsessorit, kuid selle põhiteave (PID, väljumisolek, mõned metaandmed) jääb mällu, kuni vanemprotsess selle kätte saab või süsteem selle puhastab.
Jõudluse seisukohast ei ole paar zombistunud protsessi tõsine probleem . Aga kui rakendus on halvasti programmeeritud ja jätab zombisid tapmata, võib see lõpuks paljud neist tappa, mis võib tarbetult mälu tarbida ja süsteemi protsesside haldamist takistada.
Zombiprotsessi ja botnetis oleva „zombi” Maci erinevus

Oluline on eristada kahte mõistet, mida sageli segamini aetakse: zombiprotsess on operatsioonisüsteemi sisemine tehniline funktsioon; zombi-Mac on arvuti, mida kontrollib kolmas osapool rünnakute läbiviimiseks, tavaliselt eemalt.
Varem avastati troojalasi iWork'09 ja Photoshop CS4 piraatversioonides, mis installisid Macile komponendi nimega iWorkServices (või iworkserv) . See protsess muutis arvuti osaks botvõrgust, mida kasutati hajutatud teenusetõkestamise (DDoS) rünnakute läbiviimiseks konkreetsete sihtmärkide vastu.
Selles kontekstis muutub teie arvuti nakatunud arvutite võrgustikus zombiks: keegi võib teie Maci kasutada internetiserverite ründamiseks teie teadmata. Kuigi viirusetõrje- ja turvatööriistad tuvastavad tänapäeval neid konkreetseid troojalasi üsna kergesti, on piraattarkvara installimise korral siiski soovitatav oma süsteemi skannida.
Seega, kuigi zombistunud protsessid ei käivita midagi ega ründa teid , teeb botnetis olev zombistunud Mac ebaseaduslikku tegevust, tarbib ressursse ja seab teid ohtu nii juriidiliste kui ka turvaprobleemidega.
Huvitav on see, et nii teie Maci zombiks muutva pahavara tuvastamiseks kui ka "klassikaliste" UNIX-i zombiprotsesside leidmiseks kasutate väga sarnaseid tööriistu: tegevuse monitori ja terminali käske.
Kuidas tuvastada, kas teie Mac on osa botnetivõrgust (iWorkServices'i juhtum ja sarnased)
Kui olete kunagi installinud iWork'09, Photoshop CS4 või muu piraattarkvara mitteametlikke versioone, on oluline kontrollida oma süsteemi vana botnetiga seotud kahtlaste protsesside või muude puhaste installide puhul harva esinevate protsesside suhtes.
Selleks saate kasutada terminali. Avage Spotlight, tippige Terminal ja vajutage sisestusklahvi. Kui olete sees, kasutage seda lihtsat käsku, et kontrollida, kas iWorkServices (iworkserv) protsess töötab:
sudo ps aux | grep -i iworkserv | grep -v "grep"
Käsk loetleb kõik protsessid ja filtrid kahtlase nime järgi. Kui käivitamine ei tagasta ühtegi kirjet, võite suhteliselt rahulikult hingata : põhimõtteliselt teil see protsess ei tööta. Kui aga vaste ilmub, on väga tõenäoline, et seal on vana ohu jäänuseid või midagi sarnast.
Järgmine samm on kontrollida, kas sellel protsessil on avatud faile või ühendusi. Võite kasutada järgmist:
sudo lsof -i -P | grep -i iworkserv
Kui näete selle protsessiga seotud avatud faile või võrguühendusi, on peaaegu kindel, et olete nakatunud või et nakkuse jäänused on alles. Failide leidmiseks kettal kasutage järgmist.
sudo find / -iname "iworkserv*" -print
See otsing näitab tee kõikide failideni, mille nimed algavad tähtedega "iworkserv", võimaldades teil kinnitada pahatahtliku komponendi olemasolu. Tol ajal soovitati trooja automaatseks eemaldamiseks kasutada turvateenuse pakkuja (näiteks SecureMac) tasuta tööriista ; tänapäeval on praktilisem kasutada ajakohastatud viirusetõrjeprogrammi või pöörduda kahtluste korral Apple'i ametliku toe poole.
Aktiivsusmonitor: teie esimene aken macOS-i protsessidesse
Enne Terminali süvenemist on hea mõte tutvuda Activity Monitoriga – macOS-i graafilise utiliidiga , mis võimaldab teil näha, mis teie arvutis igal ajahetkel töötab. Selle leiate menüüst Rakendused > Utiliidid > Activity Monitor.
Selle avamisel näete protsesside loendit veergudega nagu PID, nimi, kasutaja, protsessori %, protsessori aeg, lõimed, mälu, graafikakaardi kasutus ja muud andmed. Saate sortida mis tahes veeru järgi, klõpsates vastaval päisel, mis aitab teil kiiresti tuvastada, mis tarbib kõige rohkem ressursse.
Ülaosas on mitu vahekaarti: Protsessor, Mälu, Toide, Ketas ja Võrk. Igaüks neist näitab konkreetset teavet: millised protsessid kasutavad kõige rohkem protsessorit, kui palju muutmälu kasutatakse , millised rakendused tühjendavad akut või ketast või millised protsessid genereerivad võrguliiklust.
Nendest vahekaartidest vasakul näete kolme põhinuppu: Stopp, Hangi infot ja menüü Näidis/Diagnostika . Stopp-nupp on sisuliselt kasutajasõbralik liides protsessile tapmissignaalide saatmiseks, täpselt nagu terminalis. Valite protsessi ja vajutate selle sulgemiseks Stopp.
Kui valite „Hangi teavet”, avaneb aken protsessi üksikasjadega: kasutatud mälu, statistika, avatud failid, aktiivsed pordid jne. Samast aknast saate genereerida „näidise”, mis jäädvustab protsessi sisemise oleku koos kasutatavate kõnepinude ja raamistikega, mis on kasulik ummikseisude või ebatavalise käitumise silumiseks.
Terminali käsud macOS-i protsesside analüüsimiseks
Kasutajatele, kes soovivad veidi kaugemale minna, pakub Terminal mitmeid klassikalisi UNIX-i tööriistu süsteemis töötavate andmete ja käitumise analüüsimiseks ning prioriteetide kontrollimiseks vaadake praktilisi näiteid nice'i ja renice'i kasutamise kohta.
Kõige tuntum käsk on topSee kuvab reaalajas kõige aktiivsemaid protsesse, sarnaselt tekstipõhisele tegevuste monitorile. Lihtsalt tippige:
top
ja vajutage sisestusklahvi (Enter). Näete regulaarselt uuendatavat tabelit, kus protsessid on sorteeritud protsessori kasutuse järgi, koos süsteemistatistikaga. Kõigi selle valikute kohta lisateabe saamiseks võite vaadata selle kasutusjuhendit:
man top
Teine väga praktiline kasutusala on psSee võimaldab teil eksportida kõigi aktiivsete protsesside loendi faili või kuvada neid ekraanil. Näiteks kui soovite protsesside hetktõmmise töölauale tekstifaili salvestada, saate kasutada järgmist.
ps -A > /Users/TU_USUARIO/Desktop/procesos.txt
Asendades TEIE_KASUTAJANIMI oma tegeliku süsteemi kasutajanimega. Seda tekstifaili saab käsitsi analüüsida või üles laadida veebiteenustesse (nagu klassikaline Triviaware), mis kirjeldavad iga protsessi ja aitavad teil tuvastada õigustatud programme ja potentsiaalselt pahatahtlikke protsesse.
Kuidas terminalist zombiprotsesse leida ja analüüsida
Zombiprotsesside leidmine macOS-is on standardsete käskude abil üsna lihtne. Zombiprotsessid on `ps` väljundis tähistatud olekuga "Z", seega saate need filtreerida järgmiselt:
ps aux | grep Z
See käsk kuvab protsessiread, mille olekus on täht Z , mis tähistab "zombie". Pane tähele, et võib ilmuda ka grep käsurea ise; oluline on tuvastada kirjed, mille olekus tegelikult zombiprotsessi esineb.
Kui leiate ühe või mitu, pidage meeles, et need ei kasuta protsessori ressursse ega tee aktiivset tööd; nad lihtsalt hõivavad protsesside tabelis kirje, kuna vanemprotsess pole oma väljumisolekut saavutanud.
Tavaliselt kasutatakse SIGKILL-i reaalajas protsesside lõpetamiseks (näiteks koos kill -9 PID), aga zombide puhul see ei toimi: Sa ei saa "tappa" midagi, mis on tehniliselt juba surnud.Peamine on tegutseda vanemprotsessi alusel.
Kuidas proovida zombiprotsesse kõrvaldada (ilma liiga suurt segadust tekitamata)
Teoreetiliselt on kõige elegantsem viis zombidest puhastamiseks saata signaal vanemprotsessile, et see hankiks surnud laste oleku. Paljud UNIX-süsteemid kasutavad järgmist meetodit:
kill -s SIGCHLD PID_DEL_PADRE
Asendage PID_DEL_PADRE ps-i väljundis vanemprotsessina loetletud protsessi identifikaatoriga. See signaal kutsub vanemprotsessi käivitama ooterežiimi ja puhastama kõik ootel olevad zombistatud lapsed.
Praktikas aga, kui rakendus on halvasti programmeeritud ja ei käsitle neid signaale õigesti, on kõige tõhusam lahendus tavaliselt vanemprotsessi lõpetamine . Kui vanemprotsess lõpetab töö, määrab operatsioonisüsteem oma alamprotsessid (sh zombid) init-protsessile (või selle ekvivalendile macOS-is), mis need automaatselt kogub ja puhastab.
Kuigi see lahendus on tõhus, tuleks rakendada teatud tervet mõistust: kriitiliste süsteemiprotsesside peatamine pole soovitatav, kuna see võib põhjustada ebastabiilsust, ootamatuid väljalogimisi või taaskäivitusi. Enne mis tahes protsessi peatamist veenduge, et teate, mida see protsess teeb (kasutades tegevusmonitori, uurides dokumentatsiooni või kasutades protsessianalüüsi teenuseid).
Kuidas tuvastada kahtlaseid protsesse ja kummalist käitumist macOS-is
Lisaks zombidele võib teid muretsema panna ka arvuti kummaline käitumine: aku tühjeneb kiiresti, kui kaas on suletud, ventilaator ei peatu, sülearvuti kuumeneb seljakotis jne. Paljudel juhtudel viitavad need sümptomid sellele, et mõni protsess takistab korralikku und või kasutab pidevalt protsessorit.
Tänapäevastes Maci sülearvutites on suhteliselt tavaline näha indekseerimisprotsesside (näiteks Spotlighti või Photosiga seotud protsesside) koormust arvuti sisselülitatud olekus. Probleem tekib siis, kui see jätkub isegi suletud kaanega või ajal, mil süsteem peaks olema unerežiimis.
Selleks, et uurida, mis neil aegadel juhtub, võite kasutada käsku pmset -g log Terminalis, mis kuvab energiatarbimise, süsteemi une ja ärkamisega seotud logisid. Nende logide analüüsimine võimaldab teil tuvastada, milline protsess või teenus takistab või põhjustab unerežiimi. pidevad äratused, mis tühjendavad akut.
Kui teil on logi mõistmisega raskusi, on probleemi tõrkeotsingu lihtsam viis kontrollida tegevuste monitori, sorteerides andmeid energiatarbimise ja protsessori kasutuse järgi, eriti kohe pärast kaane avamist või kui märkate, et arvuti on soe. Iga protsess, mis nendes vaadetes töötab, on kahtlane ja seda tuleks uurida.
Riistvaraprobleemide välistamiseks kasutage Apple'i diagnostikat
Mõnikord võib ebatavaline käitumine, mida me omistame petturitele või zombiprotsessidele, olla tegelikult põhjustatud riistvaraprobleemist ( vigane aku, ventilaator, temperatuuriandurid jne). Nende põhjuste välistamiseks saate kasutada Macidega kaasasolevat Apple Diagnosticsi.
Esmalt on hea mõte installida uusimad macOS-i värskendused . Seejärel lülitage Mac täielikult välja. Kui see ei reageeri, vajutage ja hoidke toitenuppu (või tänapäevaste sülearvutite puhul Touch ID-d) umbes 10 sekundit all, kuni see välja lülitub.
Ühendage lahti kõik välisseadmed peale klaviatuuri, hiire, kuvari, toitejuhe ja Etherneti-ühenduse (kui see on olemas). Optimaalse testimise tagamiseks asetage Mac kindlale, tasasele ja hästi ventileeritavale pinnale.
Siit edasi muutub protseduur veidi olenevalt sellest, kas teil on Apple'i kiibiga (M1, M2 jne) või Inteli protsessoriga Mac. Mõlemal juhul juhendab süsteem teid ekraanil samm-sammult, paludes teil vajadusel valida WiFi-võrgu või lubades teil internetiühenduse puudumisel käivitada võrguühenduseta diagnostikat.
Süsteemi uuemates versioonides (näiteks macOS sisemise nimega Tahoe 26 ja uuemad) palub diagnostikatööriist teil ise valida, millist tüüpi testi soovite käivitada : ekraan, klaviatuur, puuteplaat jne. Varasemates versioonides on need testid automaatsemad ja vähem konfigureeritavad.
Kui diagnostikaprotsess on lõppenud, näete ühte või mitut viitekoodi. Nende koodide täpse tähenduse leiate Apple'i ametlikult tugilehelt. Kui te ei suuda probleemi selle teabe abil lahendada, on soovitatav külastada Apple'i poodi, volitatud teenusepakkujat või sõltumatut remonditöökoda ja võtta koodid kaasa, kuna need aitavad probleemi oluliselt täpsustada.
Täiustatud protsesside haldamine: vaated, veerud ja lisadiagnostika
Tegevusmonitori juurde tagasi tulles on seal mitu "peidetud" valikut, mis võimaldavad teil süsteemis toimuva üle palju täpsemat kontrolli omada ja muuseas aitavad teil zombistunud või kahtlaseid protsesse jahtida.
Menüüs Vaade > Veerud saate lisaks vaikimisi kuvatavatele veergudele lubada ja keelata palju lisaveerge : äratuste arv, prioriteet, avatud pordid, graafikakaardi kasutus jne. Nende veergude vastavalt oma vajadustele kohandamine lihtsustab ebatavaliste protsesside tuvastamist.
Samast menüüst Vaade saate muuta ka loendi värskendamise sagedust , filtreerida protsessi tüübi järgi (ainult kasutajaprotsessid, süsteemiprotsessid, praeguse kasutaja aknad jne) või tühjendada protsessori ajaloo. See on kasulik, kui kavatsete süsteemi käitumist paar minutit jälgida ja soovite alustada nullist.
Menüüst „Aken“ leiad otseteed ujuvatele graafikutele, mis näitavad protsessori ajalugu, kohest protsessori kasutust ja graafikakaardi ajalugu . Need graafikud saab nurka dokkida, mis võimaldab sul lühidalt näha, kas aktiivsuses on järsku tõusu ajal, mil sul ei tohiks midagi ressursimahukat avatud olla.
Lõpuks saab aktiivsuse monitori dokiikooni seadistada protsessori kasutuse või süsteemi koormuse reaalajas indikaatoriks, mis annab teile pideva visuaalse vihje selle kohta, kas protsessid masinat koormavad, isegi kui rakendus pole esiplaanil.
DNS, võrguprotsessid ja nende kaudne seos anomaalsete protsessidega
Kuigi Maci DNS-vahemälu tühjendamine ei kõrvalda zombiprotsesse ega pahavara, võib see olla abiks, kui teil tekib probleeme teatud veebisaitidele juurdepääsuga või kahtlustate, et domeeninimede lahendamisega on midagi valesti.
DNS-vahemälu on sisuliselt kohalik loend, kuhu süsteem salvestab uusimad domeeninime ja IP-aadressi teisendused. Nii ei pea macOS veebisaidile uuesti külastades välisele DNS-serverile päringut esitama , mis kiirendab oluliselt sirvimist. Kui aga sait on serverit või IP-aadressi vahetanud või kui DNS-i lahendamisega on probleeme, võib see vahemälu aeguda ja põhjustada vahelduvaid probleeme.
macOS Big Suris ja varasemates versioonides saate DNS-vahemälu käsitsi tühjendada, avades terminali ja kasutades järgmist:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Süsteem küsib teie administraatori parooli. Selle käivitamisel tühjendatakse sisemine vahemälu ja mDNSResponderi teenus taaskäivitub. Pidage meeles, et mõne veebisaidi laadimine võib veidi kauem aega võtta , kuna teie Mac peab oma eraldusvõime vahemälu nullist uuesti looma.
Süsteemi varasemates versioonides on käsk veidi muutunud. Näiteks macOS Sierras kasutatakse tavaliselt järgmist:
sudo killall -HUP mDNSResponder; say DNS cache has been flushed
Ja see formaat on levinud OS X El Capitanis ja Yosemite'is:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; say cache flushed
Samuti on olemas kolmandate osapoolte rakendusi, näiteks mõned hoolduspaketid nagu CleanMyMac X, mis sisaldavad graafilist valikut DNS-vahemälu tühjendamiseks ilma Terminali kasutamata . Need tööriistad võivad olla mugavad, kuid alati on parem need alla laadida usaldusväärsetest allikatest ja võimaluse korral Apple'i sertifitseeritud allikatest.
Igal juhul peaksite DNS-vahemälu tühjendama ainult siis, kui see on mõistlik: pärast veebisaidi migreerimist, serveri IP-aadressi muutmist või püsivate lahendusprobleemide tuvastamisel . See ei ole toiming, mida peaks regulaarselt kordama, ega lahenda see iseenesest zombistunud protsesside või liigse protsessorikasutusega seotud probleeme.
Kõike eelnevat – tegevusmonitori, käske nagu ps, top, lsof, pmset logisid ja vähemal määral DNS-i haldust – kombineerides saate üsna täieliku ülevaate sellest, mis teie Macis igal ajahetkel töötab, mis käitub ebanormaalselt ja kuidas seda parandada. Mõistes erinevust kahjutute zombiprotsesside, jälgi jätvate halvasti programmeeritud protsesside ja tõeliselt „zombi” Maci vahel botnetis, on oluline vältida ülemäärast ärevust, aga ka valvsuse säilitamiseks.
Kirglik kirjanik baitide maailmast ja üldse tehnoloogiast. Mulle meeldib jagada oma teadmisi kirjutamise kaudu ja just seda ma selles ajaveebis teengi, näitan teile kõike kõige huvitavamat vidinate, tarkvara, riistvara, tehnoloogiliste suundumuste ja muu kohta. Minu eesmärk on aidata teil digimaailmas lihtsal ja meelelahutuslikul viisil navigeerida.
