Sie öffnen die Aktivitätsanzeige, weil sich Ihr Mac träge anfühlt, und weit oben in der Liste steht etwas namens nsurlsessiond, photoanalysisd oder trustd. Sie haben nie etwas mit diesem Namen installiert. Eine schnelle Suche fördert Forenbeiträge zutage, die selbstbewusst und einander widersprechend antworten. Dieser Leitfaden gibt Ihnen ein wiederholbares Vorgehen an die Hand — vier Prüfungen, die einen normalen macOS-Systemdienst von etwas trennen, das tatsächlich Misstrauen verdient.
Kurze Antwort
Die meisten seltsam benannten Mac-Prozesse sind normale Systemdienste, doch der Name allein beweist nichts. Prüfen Sie zuerst, wo die ausführbare Datei liegt und ob ihre Codesignatur gültig ist und zur behaupteten Identität passt. Ein Systemname in einem temporären oder beschreibbaren Verzeichnis, eine ungültige Signatur oder ein unerwarteter Signierer sind starke Warnsignale, aber noch kein Beweis. Elternprozess, Persistenz und Verhalten gehören ebenfalls zur Beurteilung. ProcXray zeigt Signaturdaten und den vollständigen Pfad direkt am laufenden Prozess.
Warum der Name allein nichts aussagt
macOS führt auf einem unbeschäftigten System mehrere Hundert Hintergrundprozesse aus. Die meisten haben knappe, unerklärte Namen, weil sie nie für Anwender gedacht waren — bird, secd, distnoted, rapportd, hidd. Keiner davon ist in Apples anwenderorientierter Dokumentation beschrieben, weshalb die Suche nach einem Prozessnamen so oft in einem Forenbeitrag endet, in dem drei Leute raten und einer eine Neuinstallation von macOS empfiehlt.
Schlimmer noch: Der Name ist die eine Eigenschaft, die Schadsoftware trivial kopieren kann. Eine bösartige Binärdatei kann sich WindowServer oder mdworker nennen und erscheint in der Aktivitätsanzeige genau so. Eine Beurteilung nach dem Namen ist damit genau verkehrt herum: Sie vertraut dem einzigen Feld, das ein Angreifer vollständig kontrolliert.
Die folgenden vier Prüfungen sind danach geordnet, wie schnell sie die Frage klären.
Prüfung 1: Wo liegt die Binärdatei?
Diese eine Prüfung entscheidet die Mehrzahl der Fälle.
macOS Catalina führte ein eigenes schreibgeschütztes Systemvolume ein; macOS Big Sur ergänzte die kryptografischen Schutzmechanismen des Signed System Volume. Bei unveränderter Standardsicherheitskonfiguration kann laufende Software nicht einfach eine Binärdatei zu /System/ hinzufügen. SIP beschränkt außerdem Änderungen an weiteren geschützten Systemorten.
Orte legitimer Systemdienste:
/System/Library/...— Frameworks, private Frameworks und deren Hilfsprogramme/usr/libexec/— die Mehrzahl der kleinen Hintergrunddienste/usr/sbin/und/usr/bin/— Systemwerkzeuge/sbin/— Kernwerkzeuge einschließlichlaunchdselbst/Applications/— installierte Programme; der Ort allein macht eine App nicht vertrauenswürdig
Orte, die einen zweiten Blick verdienen:
/tmp/,/var/tmp/,/private/tmp/— hier sollte dauerhaft nichts Legitimes laufen~/Library/— einige legitime Hilfsprogramme liegen hier, der Großteil der Mac-Adware allerdings auch/Users/Shared/— ein verbreitetes Ablageverzeichnis für Schadsoftware/usr/local/bin/und/opt/homebrew/bin/— typische Homebrew-Pfade auf Intel- beziehungsweise Apple-silicon-Macs; der Ort beweist keine Vertrauenswürdigkeit
So sehen Sie anhand der PID schnell Name und Elternprozess:
ps -o pid,ppid,user,comm -p <pid>
So sehen Sie die vom Prozess gemeldete Befehlszeile:
ps -ww -o pid,ppid,user,args -p <pid>
Behandeln Sie comm und besonders args nur als Hinweise: Ein Prozess kann die von ps angezeigten Argumente ändern, und die Ausgabe zeigt nicht immer den tatsächlichen Programmpfad. In der Aktivitätsanzeige kann Geöffnete Dateien und Ports die Datei zwischen anderen Einträgen zeigen. Weitere Methoden beschreibt Laufende Prozesse auf dem Mac prüfen.
Prüfung 2: Wer hat sie signiert?
Signaturprüfung und Anzeige der aufgezeichneten Identität sind zwei getrennte Schritte:
# Signaturintegrität prüfen. Bei Erfolg erfolgt keine Ausgabe.
codesign --verify --strict --verbose=2 /usr/libexec/trustd
# Signaturdetails anzeigen.
codesign -dvvv /usr/libexec/trustd
Der erste Befehl prüft die Signatur; codesign -d allein zeigt nur Metadaten. Die Anzeige variiert je nach macOS-Version und Binärdatei:
- Apple-Systemcode sollte die Prüfung bestehen und an einem geschützten Systemort liegen. Je nach Datei erscheinen eine Apple-Zertifikatskette, eine Apple-ID oder Plattformattribute. Ein fehlender
TeamIdentifierist bei vielen Systemdateien normal. Authority=Developer ID Application: Irgendeine Firma (AB12CD34EF)— eine Drittanbieter-App außerhalb des App Store, signiert mit einer von Apple ausgestellten und widerrufbaren Developer ID. Der Firmenname sollte zu der App passen, für die Sie sie halten.Authority=Apple Mac OS Application Signing— eine aus dem Mac App Store installierte App.
Untersuchen Sie insbesondere:
- Eine fehlgeschlagene Prüfung — die Signatur ist ungültig oder versiegelter Inhalt wurde verändert.
code object is not signed at all— bei lokalen Skripten möglich, für eine dauerhaft laufende Download-App ungewöhnlich.Signature=adhocaußerhalb eines geschützten Systemorts — weist keine bestätigte Entwickleridentität nach. Manche Apple-Systemdateien werden ähnlich angezeigt, weshalb der Pfad mitbewertet werden muss.
Sie können Gatekeeper auch direkt nach seiner Einschätzung eines Programmpakets fragen:
spctl --assess --verbose=4 /Applications/SomeApp.app
accepted mit source=Notarized Developer ID bedeutet, dass Apples automatisierter Dienst genau diesen Build geprüft und ein Ticket ausgestellt hat. Das ist ein nützliches Signal, keine Sicherheitsgarantie. rejected bedeutet nur, dass die geprüfte Richtlinie nicht erfüllt wird; auch alte Software und lokale Builds können so bewertet werden.
Die Lücke dabei: Die Aktivitätsanzeige legt nichts davon offen. Keine Signaturspalte, kein Ausstellerfeld, kein Beglaubigungsstatus. Die Frage „Ist das von Apple signiert?” lässt sich mit Apples eigener Prozessanzeige nicht beantworten — Sie müssen sie verlassen und ins Terminal wechseln.
Prüfung 3: Was hat ihn gestartet?
Der Elternprozess verrät, wie ein Prozess entstanden ist, und das ist oft aufschlussreicher als der Prozess selbst.
ps -o pid,ppid,user,args -p <pid>
Ist die PPID gleich 1, ist launchd der aktuelle Elternprozess. Er kann den Prozess als konfigurierten Job gestartet oder einen verwaisten Prozess übernommen haben. Daraus folgt nicht automatisch ein Neustart nach dem Beenden; das hängt etwa von KeepAlive und bedarfsgesteuerten Triggern ab. Prüfen Sie bei Persistenzverdacht die möglichen Jobs:
# Jobs, die als Ihr Benutzer laufen
ls -la ~/Library/LaunchAgents/
# Jobs für alle Benutzer
ls -la /Library/LaunchAgents/ /Library/LaunchDaemons/
Apples eigene Jobs liegen in /System/Library/LaunchAgents/ und /System/Library/LaunchDaemons/ auf dem versiegelten Systemvolume. Die /Library/-Varianten ohne /System gehören Drittanbietern — dort legen legitime Installer ihre Einträge ab, und unerwünschte Software ebenso. Eine .plist mit zufällig wirkendem Reverse-Domain-Namen, die auf eine Binärdatei in Ihrem Benutzerordner zeigt, ist das klassische Adware-Muster.
Ein Browser, Dokumentbetrachter, eine Shell oder ein Installer als Elternprozess ist eine weitere nützliche Spur.
Prüfung 4: Was tut er?
Passen Pfad, Signatur und Elternprozess zur behaupteten Identität, sinkt die unmittelbare Sorge. Sicheres Verhalten ist damit aber nicht bewiesen:
- Netzwerkverbindungen. Ein Hintergrunddienst, der dauerhaft mit einem unbekannten Host spricht, ist eine Untersuchung wert. Viele legitime Apple-Dienste sprechen allerdings mit Apple-Servern —
nsurlsessiondundclouddtun das ständig und völlig normal. - Geladene Bibliotheken. Eine Bibliothek aus einem beschreibbaren Verzeichnis in einem geschützten Systemprozess ist ungewöhnlich. Drittanbieter-Apps und Plugin-Hosts können Benutzermodule jedoch legitim laden.
- Dauerhafte Auslastung ohne Auslöser. Dass
photoanalysisdnach dem Import einer Fotomediathek eine Stunde lang einen Kern belegt, ist zu erwarten. Dieselbe Last auf einem Mac, der seit Tagen unbeschäftigt ist, nicht.
Prozesse, die am häufigsten für Viren gehalten werden
Jeder Prozess in dieser Tabelle ist ein normaler Bestandteil von macOS.
| Prozess | Aufgabe | Speicherort |
|---|---|---|
kernel_task | Der Kernel selbst; verwaltet auch die thermische Last | Kein Pfad — er ist der Kernel |
launchd | PID 1; startet und überwacht jeden anderen Dienst | /sbin/ |
WindowServer | Setzt alles zusammen, was auf dem Bildschirm gezeichnet wird | /System/Library/PrivateFrameworks/ |
mds, mds_stores, mdworker | Spotlight-Indizierung | /System/Library/Frameworks/ |
nsurlsessiond | Hintergrund-Downloads und -Uploads für Apps und iCloud | /usr/libexec/ |
trustd | Bewertet die Vertrauenswürdigkeit von Zertifikaten für TLS | /usr/libexec/ |
syspolicyd | Gatekeeper und Systemsicherheitsrichtlinien | /usr/libexec/ |
bird | Dokumentsynchronisation von iCloud Drive | /usr/libexec/ |
cloudd | CloudKit — iCloud-Daten für Apps | /System/Library/PrivateFrameworks/ |
secd | Schlüsselbund- und iCloud-Schlüsselbund-Synchronisation | /usr/libexec/ |
photoanalysisd | Durchsucht die Fotomediathek nach Gesichtern und Szenen | /System/Library/PrivateFrameworks/ |
mediaanalysisd | Livetext und Visuelles Nachschlagen | /System/Library/PrivateFrameworks/ |
rapportd | Continuity, Handoff und universelle Zwischenablage | /usr/libexec/ |
sharingd | AirDrop und Freigabedienste | /usr/libexec/ |
distnoted | Verteilte Benachrichtigungen zwischen Prozessen | /usr/sbin/ |
coreaudiod | Audio-Subsystem | /usr/sbin/ |
hidd | Tastatur, Trackpad und andere Eingabegeräte | /usr/libexec/ |
backupd | Time Machine | /System/Library/CoreServices/ |
com.apple.WebKit.WebContent | Ein Safari- bzw. WebKit-Renderer, einer pro Website | Innerhalb des WebKit-Frameworks |
Die Pfade sind typische Orte, keine dauerhaften Verträge; Apple kann Komponenten zwischen macOS-Versionen verschieben. Ein gleicher Name in einem beschreibbaren Verzeichnis ist ein starkes Warnsignal, ein anderer geschützter Systempfad sollte dagegen erst geprüft werden.
Was tatsächlich verdächtig aussieht
Echte Indikatoren, grob nach dem Grad der Besorgnis geordnet:
- Ein systemartig klingender Name, der aus einem Nicht-Systempfad läuft.
WindowServerin/Users/Shared/ist nichtWindowServer. - Unsigniert oder ad-hoc-signiert, laufend aus einem systemnahen Verzeichnis. Legitime Software, die an Anwender ausgeliefert wird, ist signiert.
- Ein Signaturaussteller, der nicht zur behaupteten Identität passt. Eine App, die sich als Adobe-Updater ausgibt, signiert von einer nicht verwandten Developer ID.
- Beinahe-Treffer bei Namen. Ein angehängtes Leerzeichen, ein vertauschtes Zeichen, ein verdoppelter Buchstabe —
mdworker_sharedgegenüber etwas, das ein Zeichen daneben liegt. - Ein Launch Agent in
~/Library/LaunchAgents/, der auf eine Binärdatei in einem Temp- oder Download-Verzeichnis zeigt. - Ein Prozess, der Sekunden nach dem Beenden mit neuer PID wieder auftaucht und den Sie nicht auf einen Apple-signierten Launch Daemon zurückführen können.
XProtect erkennt und blockiert bekannte Schadsoftware automatisch und enthält Technik zur regelmäßigen Bereinigungskontrolle. Fehlende Warnungen senken die Sorge vor bekannten Bedrohungen, beweisen aber nicht, dass jeder Prozess sicher ist. Mehr dazu: Verdächtige Prozesse unter macOS erkennen.
Alle vier Prüfungen auf einmal mit ProcXray
Das oben beschriebene Vorgehen erfordert das Hin und Her zwischen Aktivitätsanzeige und mehreren Terminal-Befehlen. ProcXray fasst die Informationen in einer Ansicht zusammen.
Wählen Sie einen beliebigen Prozess, und Sie erhalten in benachbarten Tabs eines einzigen Detailbereichs:
- Codesignatur und Entitlements — Signaturaussteller, Team-Identifier und was der Prozess tun darf. Genau die Prüfung, die die Aktivitätsanzeige überhaupt nicht leisten kann.
- Den vollständigen Binärpfad, zusammen mit Startargumenten und Arbeitsverzeichnis im Environment-Tab.
- Den Prozessbaum mit dem Elternprozess — ein von
launchdneu gestarteter Dienst ist damit sofort als solcher erkennbar. - Offene Verbindungen und Dateideskriptoren für die Verhaltensprüfung.
- Geladene Module, wo eine eingeschleuste Bibliothek als dylib aus einem unerwarteten Ort auffällt.
Neu gestartete Prozesse werden grün hervorgehoben, beendete bleiben rot sichtbar, sodass ein Neustart auffällt. Die Regex-Suche umfasst Namen, PIDs, Argumente und Pfade. Behandeln Sie jedoch nicht alles außerhalb von /System als Drittanbieter: Viele Apple-Prozesse laufen legitim aus /usr/libexec, /usr/sbin, /usr/bin und /sbin.
FAQ
Ist nsurlsessiond ein Virus?
Nein. nsurlsessiond ist Apples Hintergrunddienst für Netzwerkübertragungen und zuständig für Downloads und Uploads, die weiterlaufen, wenn eine App nicht im Vordergrund ist — iCloud-Synchronisation, App-Store-Updates und jede App, die URLSession-Hintergrundübertragungen nutzt. Er liegt in /usr/libexec/ und ist von Apple signiert. Hohe Netzwerk- oder CPU-Aktivität bedeutet in der Regel, dass gerade eine große iCloud-Synchronisation oder ein Hintergrund-Download läuft.
Wie erkenne ich, ob ein Mac-Prozess legitim ist?
Beginnen Sie mit dem Pfad, prüfen Sie die Signatur mit codesign --verify --strict --verbose=2 <Pfad> und zeigen Sie die Identität mit codesign -dvvv <Pfad> an. Geschützter Pfad, passende gültige Signatur, erwarteter Elternprozess und erklärbares Verhalten sind sich ergänzende Signale; keine einzelne Prüfung beweist Sicherheit oder Schadsoftware.
Warum sagt mir die Aktivitätsanzeige nicht, ob ein Prozess sicher ist?
Die Aktivitätsanzeige zeigt Ressourcenverbrauch, nicht Herkunft. Sie hat keine Spalte für Codesignatur, Signaturaussteller oder Beglaubigungsstatus, und der Binärpfad ist nur indirekt über „Geöffnete Dateien und Ports” erreichbar. Die Beurteilung, ob ein Prozess legitim ist, erfordert Informationen, die die Aktivitätsanzeige nicht offenlegt — deshalb führt der Weg normalerweise über das Terminal oder ein Werkzeug wie ProcXray.
Kann sich Schadsoftware unter macOS als Systemprozess ausgeben?
Den Namen kann sie beliebig kopieren. Bei normaler Sicherheitskonfiguration kann gewöhnliche Software aber nicht einfach eine Datei zum Signed System Volume hinzufügen oder eine gültige Signatur als Apple erzeugen. Das schreibgeschützte Volume kam mit Catalina, der kryptografische SSV-Schutz mit Big Sur.
Sollte ich einen Prozess beenden, den ich nicht kenne?
Nein — jedenfalls nicht als ersten Schritt. Viele unbekannte Dienste sind tragend, und ein Beenden reicht von sinnlos (launchd startet sie sofort neu) bis störend (WindowServer beendet Ihre Anmeldesitzung). Identifizieren Sie den Prozess zuerst mit den vier Prüfungen. Stellt er sich als unerwünschte Software heraus, ist das Entfernen des startenden Launch Agent die eigentliche Lösung; das Beenden des Prozesses gibt ihm nur Gelegenheit zurückzukehren.
Hat macOS einen eingebauten Schadsoftwareschutz?
Ja. XProtect prüft beim ersten Start, nach Änderungen an einer App und nach Signaturupdates auf bekannte Schadsoftware. Gatekeeper prüft heruntergeladene Software, die Beglaubigung ergänzt eine automatisierte Apple-Analyse. Benutzer können manche Gatekeeper-Entscheidungen übergehen; diese Mechanismen sind eine starke Grundlage, keine Garantie.
Quellen und Referenzen
- Apple: Schutz vor Schadsoftware in macOS
- Apple: Sicherheit des signierten Systemvolumes
- Apple: Über den Systemintegritätsschutz auf dem Mac
- macOS-Manpage-Spiegel: codesign(1)
- macOS-Manpage-Spiegel: spctl(8)
ProcXray herunterladen → — kostenlose Basisversion und 14-tägige Premium-Testphase, macOS Sonoma und neuer.