Frage

Ich habe einen kräftigen Prozess creation penalty genossen auf meinem Windows XP Home SP3 für etwa zwei Monate. Das Problem ist, die meisten manifest und ärgerlich mit Aufgaben, die viele Prozesse, wie zum Beispiel Shell-Skripten erstellen (übrigens Bash-Skripte auf Cygwin), Makefiles oder ein IzPack Paket wie die Springsource Tool Suite Installer Auspacken (viele getrennte unpack200.exe JAR-Extraktor Prozesse). Ich bin sicher, dass es die Prozesserstellung von Bash-Skript Diagnoseausgang beobachtet oder beobachten Prozesse im Task-Manager angezeigt. Es gibt keine merkliche Verzögerung, sobald ein Prozess in Betrieb ist.

Ich habe berichtet, dass Problem auf der Cygwin-Mailingliste, wie ich anfangs und fälschlicherweise dachte nur wurde Cygwin betroffen ist, einen Fehler in der Cygwin DLL zu ahnen, oder Dingsbums.

Verlangsamung nach dem Update auf Win32 (XP Home) - (Link zu meinem Beitrag auf die Cygwin Liste)

Ich frage mich, ob etwas etwas Mist in einen Prozess Schaffung Haken installiert hat, das nehme ich an möglicherweise auf Windows vorhanden sind. (Wie bei der Sicherheits-Manager in Java .) Ein Virus oder Sicherheitssoftware? Ich habe nicht bewusst entweder installiert. Ich habe auch ein Microsoft-Update Glitch vermutet, aber ich denke, dass sie das jetzt behoben haben.

Soweit ich weiß, Prozesse auf Win32 von CreateProcess erstellt werden.

Wie kann ich herausfinden, warum Prozesserstellung so lange dauert, und was genau ist denn hier los? Gibt es so etwas wie strace für Linux, oder vielleicht sogar etwas besser?

War es hilfreich?

Lösung

Vielen Dank an Lukas für mich in der richtigen Richtung. Procmon ist ein fantastisches Werkzeug. Wörtlich eröffnet eine neue Welt im Inneren des Systems für mich. Und der Schuldige war schnell durch Setzen eines Filters umfassen parent process ID = WINPID of a Cygwin bash.exe gefunden und dann die Überwachung nur einen einzigen ls Befehl. Es war Malware hooked in einen Registrierungsschlüssel AppCertDlls genannt, von denen ich natürlich überhaupt nicht bewusst war vor.

Nachdem ich die Malware clipmote.dll aus system32, Prozesserstellung Geschwindigkeit bewegt wurde sofort wieder normal.

Ich glaube, ich diesen Virus infiziert durch vergiftete Freeware installieren.

ich einige Zeit damit verbracht dieses Problem zu untersuchen und fand es sowohl beängstigend und interessant, so ist hier, was ich gefunden habe, und natürlich werde ich für alle zusätzliche Informationen oder Kommentare dankbar sein, Sie haben könnten.

Der Malware-DLL wurde in jedem einzelnen Benutzer-Prozess geladen, auch Explorer, taskmgr und ProcMon selbst. Nur verarbeitet unter SYSTEM (wie unter in procexp.exe) scheinen nicht infiziert sind geblieben.

Das Problem hier ist, dass HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCertDlls geprüft (zumindest auf meinem System, aber möglicherweise auf vielen Systeme, und wahrscheinlich sogar in der Standardeinstellung) DLLs zu laden, die ein Mitspracherecht darüber, ob oder nicht einig binären ausgeführt werden darf oder nicht haben können durch einen Wert aus einer Funktion zurückkehrt, die auf sie aufgerufen wird:

NTSTATUS STDCALL CreateProcessNotify (LPCWSTR lpApplicationName, ULONG Reason); 

In der Tat hatte ich einen Eintrag unter dem Schlüssel namens sethdown, aber der Name könnte alles sein.

RegEnumValue HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCertDlls

Index:  0
Name:   sethdown
Type:   REG_SZ
Length: 66
Data:   C:\WINDOWS\system32\clipmote.dll

Von Berichte im Netz fand ich schließen, dass die AppCertDlls Haken ein fester Bestandteil des Windows-Betriebssystems ist, und nicht einige Gauner-Erweiterung. Wenn das so ist, ist es ein Virus Einstiegspunkt, da es configure Malware in einen Prozess dynamisch ermöglicht.

Sieht aus wie es ist tatsächlich - und ironisch - bedeutete ein Sicherheitsmerkmal, nicht unähnlich die Sicherheit Krippe in der JVM zu sein (meine ursprüngliche Frage). Ein Microsoft-Dienstprogramm namens appsec.exe wird berichtet, diesen Schlüssel zu verwenden. Die Funktion, die dann auf der „Sicherheit“ DLL aufgerufen wird, die geladen wird, ist CreateProcessNotify, wie oben zitiert. Von dem, was ich verstanden habe, wird angenommen, sagen nur ja oder nein -. Aber es kann sie will tun, was

In meinem Fall und die einzige Instanz ls.exe laufen, dass ich analysiert, erstellt es fünf Threads. Sie laden oder versuchen, andere DLLs und die Interaktion mit der Registrierung zu laden. Und wer weiß, was sonst.

Wenn jemand mehr über diesen gefährlichen Mechanismus weiß, ich ist ganz Ohr.

Hier ist, was ich auf AppCertDlls gefunden:

frühe Erwähnung in 01/2007 (Re 5 : ?????????? ??????? ??????????)

AppCertDlls auf Sysinternals-Forum berichtet (Autoruns), 10/2007

über AppCertDlls - Virus erwähnt 01/2008

Aber Microsoft selbst diese weit verwenden Merkmal, genau, es war in der Tat als „one-time“ Ding konzipiert. Nur für den Gebrauch als - Art und Weise der begrenzen Anwendungen, die unter die ausgeführt werden können, Terminal-Server-2000 - Andrew Worobow

mehr Details über den AppCertDlls Schlüssel und CreateProcessNotify, 01/2008

06/2010 Infektion Bericht mit einige Details

Die Malware versucht, Bankkonto-Informationen (und Geld, natürlich) zu stehlen, aber es möglicherweise so konfiguriert werden, könnten andere th zu tunIngs auch. Es gab zusätzliche Registrierungseinträge unter HKEY_CURRENT_USER\Software\AppDataLow\{some GUID here}. Es muss etwas Screen Scraping getan, während ich Online-Banking tat; sie wußte, gebrauchten TANs. Ich erinnere mich, wenn ich den Eindruck, meine Bank hatte gehackt wurde, als kurz vor oder (wahrscheinlich) nach dem Login sah ich einen Bildschirm für etwa zwanzig TANs auf einmal zu fragen. WTF, dachte ich, der Browser die falsche URL bekam, und ich schloss das Fenster. Ich sollte mehr besorgt haben sein. Ich hätte nicht gedacht, das ganze Thema so gefährlich zu sein. Zum Glück kein Schaden. Einfach Glück, schätze ich.

Hier ist eine Liste der bedeutenden aussehenden Saiten, die ich im Innern des Virus gefunden:

  • client.dll
  • EAPSFILT.dll
  • KERNEL32.dll

Ich denke, die ersten beiden anderen Virus-Bibliotheken zu laden versucht sein könnte.

  • _aullshr
  • CompareStringA
  • CreateEventA
  • CreateFileA
  • CreateFileMappingA
  • CreateProcessNotify
  • CtfImmIsCiceroStartedInThread
  • CtfImmTIMActivate
  • DllCleanupServer
  • DllStartupServer
  • ExitProcess
  • GetThreadContext
  • ImmDisableIme
  • ImmDisableIME
  • ImmGetConversionListA
  • ImmGetVirtualKey
  • ImmRegisterWordA
  • ImmSetCandidateWindow
  • InterlockedExchangeAdd
  • iswlower
  • lstrcmpA
  • MapViewOfFile
  • memset
  • OpenThread
  • ReadFile
  • RealDriveType
  • RegenerateUserEnvironment
  • RestartDialog
  • SetFilePointer
  • Sleep
  • strchr
  • TerminateThread
  • UnmapViewOfFile
  • vDbgPrintExWithPrefix
  • VirtualQueryEx
  • WaitForMultipleObjects

Die Cicero Funktion sah Schelm zu mir, aber es ist ein Teil von C:\WINDOWS\system32\imm32.dll, die "Windows IMM32 API-Client-Bibliothek." - was immer das ist

Ich lief sfc.exe, Microsofts „Systemdateiprüfung“. Werde auf meinen Programmdateien mehr Kontrolle tun. Und einen Virenscanner bekommen. Empfehlungen begrüßen zu können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top