Mit einer Software-Signatur kann die installierte Software auf den Agenten identifiziert werden, die mit dem IT Client Automation-Server registriert sind. Eine Signatur ist eine XML-Vorlage, die allgemeine Systeminformationen, Dateiinhalte, Eigenschaften und Registrierungsinhalte (unter Windows) oder Paketinformationen (unter UNIX) der installierten Software enthält.
In diesem Anhang werden folgende Konzeptinformationen der Signatur-XML-Tags, Schlüsselattribute und Beispielsignaturen erklärt:
Eine Software-Signatur verwendet folgende XML-Tags, um Signaturdaten im XML-Format zu erfassen:
Ermöglicht es, den Windows-Registrierungsschlüssel bzw. die Windows-Registrierungswerte zu analysieren. Beispiel:
<group type="and"> <registry name="HKEY_LOCAL_MACHINE\SOFTWARE\ComputerAssociates\eTrustAntivirus\CurrentVersion\Version" match=" 7.1" /> <registry name="HKEY_LOCAL_MACHINE\SOFTWARE\ComputerAssociates\eTrustAntivirus\CurrentVersion\Build" match="501" /> </group>
Ermöglicht es, den Dateinamen, die Version, die Größe, das Änderungsdatum und den Pfad zu analysieren, und es können auch die Inhalte der Datei durchsucht werden.
Überprüft das Vorhandensein einer Datei, indem Werte wie %systemroot% und %windir% unter Windows verwendet werden. Der Platzhalter * durchsucht das gesamte Dateisystem. Beispiel:
Überprüft das gesamte Dateisystem.
Überprüft die Datei "acrord32.exe" beim Leser des Teilpfads:
Überprüft den Pfad, der den absoluten Wert übernimmt.
Analysiert die Inhalte der Datei. Gibt "true" (wahr) zurück, wenn die Datei die gleichen Daten enthält, die in den Übereinstimmungskriterien definiert sind. Beispiel: <file name="Ouactrl.ocx" match="2\.0\.0\.0" path="*" />
Überprüft die Informationen der Dateiversion nur unter Windows. Unter UNIX wird immer "false" (falsch) zurückgegeben.
Wenn die Dateiversionsnummer größer ist als der angegebene Wert oder mit dem angegebenen Wert übereinstimmt, dann gibt das Attribut "minversion" den Wert "true" (wahr) zurück.
Wenn die Dateiversionsnummer kleiner ist als der angegebene Wert oder mit dem angegebenen Wert übereinstimmt, dann gibt das Attribut "maxversion" den Wert "true" (wahr) zurück.
Hinweis: Die Versionsnummer hat das Format "W.X.Y.Z", wobei W, X, Y und Z 16-Bit-numerische Werte sind. Durch das Kombinieren von "minversion" und "maxversion" kann eine hohe Flexibilität beim Überprüfen der Versionsbereiche erreicht werden. Beispiel:
<file name="QuickTimePlayer.exe" minversion="5.0.2.15" maxversion="5.0.2.15" path="*"/>
<file name="InoRT.exe" minversion=" 7.1.192.0" maxversion=" 7.1.500.0" path="*" />
Überprüft das Änderungsdatum der Datei. Zum Beispiel: <file name="ErwDSM.exe" minmodified="2004-10-28T00:00:00Z" maxmodified="2004-10-28T 23:59:59Z" path="*"/>
Überprüft die Größe der Datei. Zum Beispiel: <file name="BPSyncER.exe" minfilesize="151603" maxfilesize="151603" path="*"/>
Ermöglicht es, folgende Betriebssysteminformationen zu analysieren:
Unter UNIX wird der Name von der Ausgabe von "uname -s" abgeleitet.
Für Windows-Versionen ist der "osname" immer "Windows".
Beispiel: <sysinfo osname="HP-UX"/>
Unter UNIX sind die Informationen, die abgeglichen werden sollen, das Äquivalent zur Ausgabe von uname -v.
Unter Windows ist diese Information die Service Pack-Zeichenfolge, die von Microsoft bereitgestellt wird (zum Beispiel Service Pack 3).
Beispiel: <sysinfo osversion=".*Version 6\.3.*"/>
Unter UNIX ist diese Information das Äquivalent zur Ausgabe von "uname -r"
Unter Windows ist diese Information "NT 4.0", "2000" oder "XP"
Beispiel: <sysinfo osrelease="2\.4\.*/>
Unter UNIX sind die Informationen, die abgeglichen werden sollten, das Äquivalent zur Ausgabe von "uname -m".
Unter Windows ist die Zeichenfolge, die abgeglichen werden soll, immer "x86".
Beispiel: <sysinfo platform="sun4.*"/>
Unter Solaris sind die Informationen, die abgeglichen werden sollten, das Äquivalent zur Ausgabe von "uname -p".
Für HP-UX ist der Prozessor definiert als "pa-riscX.Y" oder "unknown" wobei X. Y für 1.0, 1.1, 1.2 oder 2.0 steht.
Unter Windows ist die Zeichenfolge, die abgeglichen werden soll, immer "unknown".
Unter AIX ist der Prozessor als einer der folgenden Werte identifiziert: RS1, RSC, RS2, 601, 603, 604, 620, 630, A35, RS64II, RS64III, POWER4, mpc7450, POWER5 oder "unknown".
Unter Linux wird der Prozessor immer als "unknown" aufgelistet.
Beispiel: <sysinfo processor="sparc"/>
Ermöglicht es, die Paketinformationen aus der installierten Programmdatenbank abzufragen.
Diese Informationen sind im folgenden Deinstallations-Registrierungsabschnitt verfügbar:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Hinweis: Der Anzeigename ist der Wert des Namens im Paket-Tag, und die Anzeigeversion ist der Wert der Version im Paket-Tag.
Diese Informationen sind in der RPM-Datenbank verfügbar.
Diese Informationen sind in der Datenbank des Systempakets verfügbar.
Diese Informationen sind in der Datenbank des Systempakets verfügbar.
"lslpp -l" listet die installierten Pakete auf dem Computer auf.
Diese Informationen sind in der Datenbank des Systempakets verfügbar.
"pkginfo –l" listet die installierten Pakete auf dem Computer auf. Beispiel:
<package name="ca-unicenter-servicedesk"/> <package name="ca-unicenter-servicedesk" version="11.2.0.0"/>
Wenn Version und Release angegeben sind, müssen beide übereinstimmen.
Nachfolgend werden Schlüsselattribute aufgelistet, die für das Erfassen der Signaturdaten der installierten Software verwendet werden.
Registrierungsdaten können von allen Registrierungsstrukturen erfasst werden. In den meisten Fällen wird normalerweise "HKLM\Software" verwendet. Beispiel:
Hinweis: Sie können alle "Software"-Einträge in einem der folgenden Registrierungsspeicherorte finden:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\VLC media player
Die Signatur von VLC Media Player 2.1.3 enthält folgende Registrierungskennung:
Es werden eindeutige Softwaredateien identifiziert, die von der Installation mit folgenden Attributen entfernt werden:
Wie im Eigenschaftsfenster der .exe-Datei angezeigt. Beispiel,
<file name="igateway.exe" path ="*" minversion="4.0.60220.0" maxversion="4.0.60220.0"/>

Wie unter "Geändert" im Eigenschaftsfenster der .exe-Datei angezeigt.
Wie im Eigenschaftsfenster der .exe-Datei angezeigt. Beispiel:
<file name="igateway.exe" path ="*" minfilesize="98304" maxfilesize="98304" minmodified="2006-02-20T00:00:00Z" maxmodified="2006-02-20T23:59:59Z"/>

Enthält die Versionsinformationen, die der Parser lesen kann. Der Parser liest die Inhalte der Datei und sucht nach Daten, die in den Übereinstimmungskriterien angegeben sind. Zum Beispiel: <file name="igateway.conf" path="*" match="4.0.060220" />

Hinweis: Das Erstellen von Signaturen mithilfe von Konfigurationsdateien ist hilfreicher, um Unix-Signaturen zu erstellen, bei denen Sie keine Dateiversion und Registrierung haben.
Der Schlüssel "HKLM\SOFTWARE\Wow6432Node" wird von 32-Bit-Anwendungen auf einem 64-Bit-Windows-BS verwendet und ist gleichwertig und separat zu "HKLM\SOFTWARE". Normalerweise werden 64-bit-Binärdateien von selbst bei "HKLM\SOFTWARE" registriert, während 32-bit-Binärdateien ihre Informationen unter "HKLM\SOFTWARE\Wow6432Node" schreiben. Entsprechend sehen 32-Bit-Anwendungen "%SystemRoot%\Syswow64" als "%SystemRoot%\System32". Es gibt zwei Verzeichnisse mit dem Namen "Program Files" (Programme), die sowohl für 32-Bit-Anwendungen als auch für 64-Bit-Anwendungen sichtbar sind. Das Verzeichnis, das die 32-Bit-Dateien speichert, hat den Namen "Programme (x86)", um die beiden Verzeichnisse zu differenzieren, während die 64-Bit-Dateien im normalen Verzeichnis "Programme" ohne zusätzliche Kennzeichner beibehalten werden.
Wichtig! Standardmäßig betrachtet der CA Client Automation-Agent die Registrierung bzw. den Dateipfad als 32-Bit, wenn das arch="64"-Tag nicht vorhanden ist. Beachten Sie, dass das arch="64"-Tag nur auf die Registrierung und die Dateinamen-Tags angewendet wird. Stellen Sie sicher, dass Sie je nach Architektur der Anwendung die entsprechenden Registrierungsschlüssel verwenden.
Beispiel: <registry name="HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.6.0" arch="64" /> ODER <file name="bin\java.exe" match="1.6.0-b105" path="*" arch="64" />
Gruppiert mehrere Registrierungsschlüsselwerte und Dateiattribute. Sie können mehr als ein Datenobjekt/-Tag gruppieren, um das Vorhandensein der erforderlichen installierten Software zu bestätigen, indem Sie folgende logische Bedingungen mit dem Gruppen-Tag verwenden:
Bewertet alle Objekte und Gruppen unter der AND-Gruppe als "TRUE" (Wahr).
Beispiel:
<group type="and">
<registry name="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox (2.0.0.3)"/>
<file name="firefox.exe" minversion="1.8.20070.30919" maxversion="1.8.20070.30919" path="*"/>
</group>
Bewertet mindestens eins der Objekte oder eine der Gruppen unter der OR-Gruppe als "TRUE" (Wahr)
Beispiel:
<group type="or">
<group type="and">
<file name="sw3eng.exe" path="*" minversion="3.0.1.73"/>
<file name="EngineApplet.exe" path="*" minversion="3.0.1.73"/>
</group>
<group type="and">
<file name="LGClient.exe" path="*" minversion="3.0.1.73"/>
<file name="LGWorkspace.exe" path="*" minversion="3.01.73"/>
</group>
</group>
Bewertet die Gruppe als "FALSE" (Falsch), wenn das Objekt oder die Gruppe darunter als "TRUE" (Wahr) bewertet wird.
Beispiel:
<group type="and" >
<sysinfo osname="AIX" />
<file name="LDS-em-client.jar" minfilesize="183308" maxfilesize="183308" path="*" />
<group type="not" >
<file name="LDS-descriptions.jar" path="*" />
</group>
</group>
Sehen Sie sich folgende Beispielsignaturen an, um benutzerdefinierte Signaturen zu erstellen
Lesen der Dateiversion:
<file name="ABTRep\BIN\assgnwiz.exe" path="*" minversion="1.0" maxversion="1.0" />
Lesen der Informationen mithilfe des Paketnamen-Tag:
<package name = "IBM 32-bit Runtime Environment for Java 2, v1.4.1" />
Überprüfen des Vorhandenseins des Registrierungsschlüssels:
<registry name="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\InCtrl5" />
Signatur innerhalb einer Gruppe mit "AND"-Bedingung mit Dateinamen und Paketnamen-Tag:
<group type="and"> <package name = "Toad for Oracle 10.6" /> <file name="TOAD.exe" minversion="10.6" maxversion="10.6" path="*" /> </group>
Signatur mit einer "AND"-Gruppe, die den Paketnamen und das "sysinfo osname"-Tag verwenden:
<group type="and"> <sysinfo osname="AIX" /> <package name="ldap.client.adt" version="4.1.0.0" /> </group>
Signatur, die das Dateinamen-Tag mit Datei-Datumsattributen verwendet
<file name="ABTRep\BIN\Pbm.exe" minmodified="1998-10-11T00:00:00Z" maxmodified="1998-10-13T23:59:59Z" path="*" />
Signatur mit einer "AND"-Gruppe, die den Registrierungsnamen und das Paketnamen-Tag verwendet:
<group type="and"> <package name="FedEx Ship Manager API" /> <registry name="HKEY_LOCAL_MACHINE\SOFTWARE\FedEx\FedEx Ship Manager API\8.50.002" /> </group>
Signatur mit einer "AND"-Gruppe, die den Registrierungsnamen, den Dateinamen (Lesen der Dateiversion) und Paketnamen-Tags verwendet:
<group type="and"> <package name="PrimalScript 2011" version="6.0.*" /> <registry name="HKEY_LOCAL_MACHINE\SOFTWARE\SAPIEN Technologies, Inc.\PrimalScript\2011\" /> <file name="PrimalScript 2011\PrimalScript.exe" path="*" minversion="6.0" maxversion="6.0" /> </group>
Signatur mit einer "AND"-Gruppe, die den Registrierungsnamen, den Dateinamen (Überprüfen des Vorhandenseins der Datei) und Paketnamen-Tags verwendet:
<group type="and"> <package name="X1 Professional Client" version="6.7" /> <registry name="HKEY_LOCAL_MACHINE\SOFTWARE\X1 Desktop Search" /> <file name="X1.exe" path="*" /> </group>
Signatur mit einer "AND"-Gruppe, die "sysinfo osname", den Dateinamen (Überprüfen des Vorhandenseins der Datei) und Paketnamen-Tags verwendet:
<group type="and"> <sysinfo osname="Linux" /> <package name = "iproute" version="2.6.9" release="4.el4" /> <file name="/etc/redhat-release"/> </group>
Signatur mit verschachtelten Gruppen (eine "OR"- und "NOT"-Bedingung innerhalb von "AND"), die Paketnamen (Verwenden von Platzhaltern), Registrierungsnamen und Dateinamen (Lesen der Dateiversionen/Überprüfen des Vorhandenseins der Datei/Lesen des Dateiinhalts):
<group type="and"> <group type="or"> <package name = "Lotus Notes 8.5.1" version="8.51.*" /> <registry name="HKEY_LOCAL_MACHINE\SOFTWARE\Lotus\Notes\Version" match="080501" /> </group> <file name="notes.exe" minversion="8.5.10" maxversion="8.5.10" path="*" /> <group type="not"> <file name="notes.ini" match="FaultRecovery_Build=Release 8.5.1 FP1" path="*" /> </group> </group>
Signatur mit einer "AND"-Gruppe, die Registrierungsnamen und Dateinamen (Überprüfen des Vorhandenseins der Datei durch Angabe des Teilpfads/Lesen des Dateiinhalts):
<group type="and"> <registry name = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\IBM Lotus Workforce Management" /> <file name="Web-App_6.1.0\Packages\lwm.builders.base.pkg" path="*" /> <file name=".com.zerog.registry.xml" path="*" match="Web-App_6.1.0\\Packages\\lwm.builders.checklist.pkg" /> </group>
Signatur mit einer "AND"-Gruppe, die die sysinfo-Plattform und Dateinamen-Tags mit Dateigrößenattributen verwendet:
<group type="and"> <sysinfo platform="Power Macintosh" /> <file name="MacOS/Adobe Reader" minfilesize="9140" maxfilesize="9140" path="*" /> </group>
Signatur mit einer "AND"-Gruppe, die den Paketnamen und die Dateinamen-Tags mit Dateigrößenattributen verwendet:
<group type="and"> <package name="CA AllFusion Erwin Data Modeler r7" /> <file name="ERwin.exe" minfilesize="3883008" maxfilesize="3883008" path="*" /> <file name="ERwin.exe" minmodified="2007-05-21T00:00:00Z" maxmodified="2007-05-21T23:59:59Z" path="*" /> </group>
Signatur mit verschachtelten Gruppen (zwei "OR" -Bedingungen innerhalb von "AND"), die Registrierungsnamen mit Platzhaltern und Dateinamen (Lesen der Dateiversionen) verwendet:
<group type ="and">
<registry name="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Project" />
<group type="or">
<registry name="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{90120000-00B4-0409-0000-0000000FF1CE}" />
<registry name="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{91120000-00B4-0409-0000-0000000FF1CE}" />
</group>
<group type="or">
<registry name="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{90120000-003A-0000-0000-0000000FF1CE}\DisplayVersion" match="12.0.4518.*" />
<registry name="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{91120000-003A-0000-0000-0000000FF1CE}\DisplayVersion" match="12.0.4518.*" />
</group>
<file name="OFFICE12\WINPROJ.EXE" minversion="12.0" maxversion="12.0" path="*" />
</group>
|
Copyright © 2014 CA Technologies.
Alle Rechte vorbehalten.
|
|