142
IBM Security AppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Embed Size (px)

Citation preview

Page 1: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

IBM Security AppScan SourceUtilitiesVersion 9.0.0.1

Benutzerhandbuch für OS X

���

Page 2: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X
Page 3: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

IBM Security AppScan SourceUtilitiesVersion 9.0.0.1

Benutzerhandbuch für OS X

���

Page 4: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

(C) Copyright IBM Corp. und ihrer Lizenzgeber 2003, 2014. Alle Rechte vorbehalten.

IBM, das IBM Logo, ibm.com, Rational, AppScan, Rational Team Concert, WebSphere und ClearQuest sind Marken oder eingetra-gene Marken der International Business Machines Corp. Weitere Produkt- und Servicenamen können Marken von IBM oder ande-ren Herstellern sein. Eine aktuelle Liste der IBM Marken finden Sie auf der Webseite "Copyright and trademark information" unterhttp://www.ibm.com/legal/copytrade.shtml. Linux ist eine eingetragene Marke von Linus Torvalds in den USA und/oder ande-ren Ländern. Microsoft, Windows, Windows NT und das Windows-Logo sind Marken der Microsoft Corporation in den USAund/oder anderen Ländern. Unix ist eine eingetragene Marke von The Open Group in den USA und anderen Ländern. Java undalle auf Java basierenden Marken und Logos sind Marken oder eingetragene Marken der Oracle Corporation und/oder ihrer ver-bundenen Unternehmen.

Dieses Programm enthält Jacorb 2.3.0, Copyright 1997-2006 The JacORB project; sowie and XOM1.0d22, Copyright 2003 ElliotteRusty Harold, die jeweils unter der GNU Library General Public License (LGPL) zur Verfügung gestellt werden. Eine Kopie ist inder Notices-Datei verfügbar, die im Lieferumfang dieses Programms enthalten ist.

Page 5: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Inhaltsverzeichnis

Kapitel 1. AppScan Source-Befehlzeilen-schnittstelle (CLI) . . . . . . . . . . 1Objekte und Kontext. . . . . . . . . . . . 1Berechtigungen für die AppScan Source-Befehlzeilen-schnittstelle (CLI) . . . . . . . . . . . . . 2AppScan Source-Befehlzeilenschnittstelle (CLI) star-ten. . . . . . . . . . . . . . . . . . 2

AppScan Source-Befehlzeilenschnittstelle (CLI) inLandessprachen anzeigen . . . . . . . . . 2

Befehlssyntax . . . . . . . . . . . . . . 3Befehle für die AppScan Source-Befehlzeilenschnitt-stelle (CLI) . . . . . . . . . . . . . . . 4

Zusammenfassung der Befehle der AppScan Sour-ce-Befehlzeilenschnittstelle (CLI) . . . . . . . 4about (a) . . . . . . . . . . . . . . 8delete (del) . . . . . . . . . . . . . 9deleteassess (da) . . . . . . . . . . . 10deleteuser (du) . . . . . . . . . . . . 10delvar (dv) . . . . . . . . . . . . . 10details (det) . . . . . . . . . . . . 10echo . . . . . . . . . . . . . . . . 11getaseinfo (gase) . . . . . . . . . . . 12help (?) . . . . . . . . . . . . . . 12import (im) . . . . . . . . . . . . . 13info (i) . . . . . . . . . . . . . . 13list (ls, dir) . . . . . . . . . . . . 14listassess (la) . . . . . . . . . . . . 14listgroups (lgrp) . . . . . . . . . . . 15listusers (lu) . . . . . . . . . . . . 15log . . . . . . . . . . . . . . . . 16login (in) . . . . . . . . . . . . . 16login_local (local) . . . . . . . . . . 18logout (out) . . . . . . . . . . . . . 18moduser (mu) . . . . . . . . . . . . . 18newuser (nu) . . . . . . . . . . . . . 20openapplication (oa) . . . . . . . . . . 23openassessmentfile (oaf) . . . . . . . . 23password (passwd) . . . . . . . . . . . 24printuser (pu) . . . . . . . . . . . . 24publishassess (pa) . . . . . . . . . . 25publishassessase (pase) . . . . . . . . . 26quit . . . . . . . . . . . . . . . . 27record (rc) . . . . . . . . . . . . . 27refresh (rf) . . . . . . . . . . . . . 28register (reg) . . . . . . . . . . . . 28removeassess (da) . . . . . . . . . . . 28report (rpt) . . . . . . . . . . . . . 29scan (sc) . . . . . . . . . . . . . . 30script (scr) . . . . . . . . . . . . . 32setaseinfo (sase) . . . . . . . . . . . 33setcurrentobject (set, cd) . . . . . . . 34setvar (sv) . . . . . . . . . . . . . 34unregister (unreg) . . . . . . . . . . 35

Automatisierte Beurteilungen durchführen . . . . 35

Kapitel 2. Das Ounce/Ant-Buildtool . . 39Integration von Ounce/Ant und Apache/Ant . . . 39

Ounce/Ant-Eigenschaften . . . . . . . . 40Eigenschaften festlegen . . . . . . . . . 41

Projekte erstellen . . . . . . . . . . . . 41ounceCreateProject . . . . . . . . . . 42ounceSourceRoot . . . . . . . . . . . . 42ounceWeb . . . . . . . . . . . . . . 43ounceExclude . . . . . . . . . . . . . 43Projekte benennen . . . . . . . . . . . 43

Anwendungen erstellen und benennen . . . . . 44Integration eines Builds . . . . . . . . . . 44

Kapitel 3. AppScan Source-Data Ac-cess-API . . . . . . . . . . . . . . 45Data Access-API-Objektmodell . . . . . . . . 46Data Access-API verwenden . . . . . . . . . 48

Beurteilung aus einer Datei öffnen. . . . . . 48Liste der Ergebnisse ausgeben . . . . . . . 48Liste veröffentlichter Beurteilungen abrufen . . 49Trace ausgeben . . . . . . . . . . . . 49

Klassen und Methoden der Data Access-API . . . 50AssessedFile . . . . . . . . . . . . . 50Beurteilung . . . . . . . . . . . . . 51AssessmentDiff . . . . . . . . . . . . 53AssessmentFilter . . . . . . . . . . . 53AssessmentResults . . . . . . . . . . . 54Call . . . . . . . . . . . . . . . . 57ClassificationType . . . . . . . . . . 59DateProximityUnit . . . . . . . . . . . 60Factory . . . . . . . . . . . . . . . 60Finding . . . . . . . . . . . . . . . 63Trace . . . . . . . . . . . . . . . 69SeverityType . . . . . . . . . . . . . 69OunceException . . . . . . . . . . . . 70

Kapitel 4. Ounce/Maven-Plug-in . . . . 71Ounce/Maven installieren . . . . . . . . . 71Ounce/Maven verwenden . . . . . . . . . 72Ounce/Maven-Szenarios . . . . . . . . . . 72

Anwendungs- und Projektdateien erstellen . . . 72Anwendungen überprüfen . . . . . . . . 73Berichterstellung. . . . . . . . . . . . 73Berichte mit dem Siteziel integrieren . . . . . 73

Ounce/Maven-Zielanfragen . . . . . . . . . 73ounce:application . . . . . . . . . . . 74ounce:project . . . . . . . . . . . . 74ounce:project-only . . . . . . . . . . 75ounce:scan . . . . . . . . . . . . . 75ounce:report . . . . . . . . . . . . . 75

© Copyright IBM Corp. 2003, 2014 iii

Page 6: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Kapitel 5. AppScan Source for Automa-tion . . . . . . . . . . . . . . . . 77Berechtigungsnachweise für Automatisierungsserverüber Befehlszeile angeben . . . . . . . . . 77Konfigurationsdatei für den Automatisierungsserver 78Automatisierungsserver-Protokollierung . . . . . 79ounceauto über die Befehlszeile verwenden. . . . 79

GenerateReport . . . . . . . . . . . . 80PublishAssessment . . . . . . . . . . . 81PublishAssessmentASE . . . . . . . . . . 82ScanApplication . . . . . . . . . . . . 82Wait . . . . . . . . . . . . . . . . 84

Kapitel 6. Framework for Frameworks-APIs handhaben . . . . . . . . . . 85Framework for Frameworks-API - Hauptkomponen-ten . . . . . . . . . . . . . . . . . 86Framework for Frameworks-APIs verwenden . . . 86

Informationen zu diesem Beispiel . . . . . . 87Beispielprojekt in Eclipse oder Rational Applica-tion Developer for WebSphere Software (RAD)importieren . . . . . . . . . . . . . 87Klasse erstellen, die F4FHandler implementiert. . 90Manifestdatei für Ihren Handler erstellen . . . 91

JAR für Ihren Handler erstellen. . . . . . . 91JAR in waflgens exportieren . . . . . . . . 94

Vom Handler ausgeführte allgemeine Aktionen . . 94Framework for Frameworks API classes and me-thods . . . . . . . . . . . . . . . . 95

F4FActions . . . . . . . . . . . . . 95F4FApp . . . . . . . . . . . . . . 100F4FHandler . . . . . . . . . . . . . 102TaintedParam . . . . . . . . . . . . 103Übergeordnete synthetische Methoden . . . . 104

Neues Web-Service-Framework for Frameworks-Handler mit dem vorhandenen angepassten WebService Description Language-Scanner integrieren . 111

Den Web-Service-F4F-Handler mit dem ange-passten WSDL-Scanner verbinden . . . . . 111Signaturzuordnung . . . . . . . . . . 113

Kapitel 7. Fehlernachrichten inAppScan Source-Clientkomponenten . 115

Rechtliche Bemerkungen . . . . . . 129

Index . . . . . . . . . . . . . . . 133

iv IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 7: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Kapitel 1. AppScan Source-Befehlzeilenschnittstelle (CLI)

Die CLI bildet die Schnittstelle zur Kernfunktionalität von AppScan Source.

Die CLI unterstützt die Ausführung der Funktionen von AppScan Source über dieBefehlszeile oder die Ausführung von Scriptdateien, die bei einer interaktiven Sit-zung ausgegebene Befehle aufzeichnen. Die CLI gibt während der AusführungRückmeldungen für den Benutzer, die an der Konsole oder optional in eine Proto-kolldatei ausgegeben werden.

Objekte und Kontext

Die AppScan Source-Objektbaumstruktur

Die Objektbaumstruktur zeigt die grundlegende Struktur der Objekte in AppScanSource an. Sie können alle Objekte (Anwendungen, Projekte oder Quellendateien)in der Baumstruktur überprüfen.

Application(*.paf)

AppScan Source rootAllApplications>>

Application(*.paf)

Project(*.ppf, *.vbproj,*.jsproj, etc.)

Project

Source

...

Source

Source

Source

Project

Project

© Copyright IBM Corp. 2003, 2014 1

Page 8: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Aktive Objekte und aktueller Kontext

Viele Befehle der AppScan Source-Befehlzeilenschnittstelle (CLI) sind nur im aktu-ellen Kontext anwendbar, also im Arbeitsverzeichnis oder auf eine angegebene Da-tei. Verwenden Sie den Befehl SetCurrentObject (SET, CD), um zu dem Objekt zugelangen, bevor Sie Befehle aufrufen, die nur im aktuellen Kontext gültig sind.

Außerdem sind einige Befehle der CLI nur auf aktive Objekte anwendbar. Daskann die aktuell ausgewählte Quellendatei, ein Projekt oder eine Anwendung miteiner Beurteilung sein.

Berechtigungen für die AppScan Source-Befehlzeilenschnittstelle (CLI)Für viele CLI-Befehle ist es erforderlich, dass Sie über die entsprechenden AppScanSource-Berechtigungen verfügen.

Wenn Sie keine Berechtigung für eine bestimmte Aktion haben, erscheint eine Feh-lernachricht. Dabei ist zu beachten, dass die CLI-Befehle Scan (SC), Publish undReport (RPT) eine Lizenz für AppScan Source for Automation erfordern.

Wenden Sie sich an Ihren Administrator, wenn Sie weitere Informationen benöti-gen.

AppScan Source-Befehlzeilenschnittstelle (CLI) startenv Suchen Sie das Verzeichnis /Applications/AppScanSource.app/bin, und führen

Sie appscansrccli aus, indem Sie den Befehl ./appscansrccli eingeben.

Die CLI ermöglicht beim Anwendungsstart die Übergabe eines einzigen gültigenBefehls in der Befehlszeile.

Beispiel:

Die CLI übergibt den Befehl script zur automatischen Ausführung einer vollstän-digen CLI-Sitzung.<installationsverzeichnis>\bin\AppScanSrcCli script myscript.txt

AppScan Source-Befehlzeilenschnittstelle (CLI) in Landesspra-chen anzeigen

In diesem Abschnitt werden die Schritte beschrieben, die erforderlich sind, um dieCLI in verschiedenen Landessprachen anzuzeigen.

Vorgehensweisev Öffnen Sie die Datei <datenverzeichnis>\config\cli.cp in einem Texteditor

(wobei <datenverzeichnis> die Position Ihrer AppScan Source-Programmdatenist, die in Kapitel 8, „Positionen für Installations- und Benutzerdatendateien”, aufSeite 125 beschrieben wird). Fügen Sie die folgende Zeile der Datei hinzu:-Duser.language=<sprache>

Hierbei ist <sprache> die Sprache, die Sie anzeigen wollen. Folgende Werte wer-den unterstützt:– de für Deutsch– es für Spanisch– fr für Französisch

2 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 9: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

– it für Italienisch– ja für Japanisch– ko für Koreanisch– pt_BR oder pt-BR für brasilianisches Portugiesisch– zh_CN oder zh-CN für vereinfachtes Chinesisch– zh_TW oder zh-TW für traditionelles ChinesischSpeichern Sie die Datei, nachdem Sie diese Zeile hinzugefügt haben.

v Öffnen Sie die Datei <datenverzeichnis>\config\ounce.ozsettings in einemTexteditor. Suchen Sie die Einstellung locale in der Datei. Diese Einstellung istder folgenden ähnlich:<Setting

name="locale"value=""default_value=""description="The language (and optionally the Country/Region)

in which UI and messages should be displayed. E.g. fr forFrench, or pt-BR for Portuguese (Brazil)"

display_name="Locale"type="text"available_values=""read_only="false"hidden="false"force_upgrade="false"

/>

Ändern Sie in dieser Einstellung das Attribut value, so dass dafür die gleicheSpracheinstellung festgelegt ist, die im obigen Schritt angegeben wurde. Beispiel:wenn Sie im obigen Schritt -Duser.language=de, hinzugefügt haben, ändern Siedas Attribut value in value="de".Speichern Sie die Datei, nachdem Sie diese Einstellung geändert haben.

v Starten Sie die CLI (wenn diese Änderungen vorgenommen wurden, währenddie CLI bereits ausgeführt wurde, müssen Sie die CLI neu starten).

BefehlssyntaxDie Befehle der AppScan Source-Befehlzeilenschnittstelle (CLI) entsprechen einerSyntaxvorlage, die erforderliche und optionale Argumente enthält und einer Be-fehlsshell gleicht. Bei Befehlen der CLI muss die Groß-/Kleinschreibung nicht be-achtet werden und sie erfordern keine Schalter zwischen verschiedenen Argumen-ten.

Die Syntax für alle CLI-Befehle lautet wie folgt:Befehl erforderliche_Argumente [optionale_Argumente]

Die Beschreibungen der Befehle und deren Verwendung halten an den folgendenKonventionen fest:v Befehl: Der eigentliche Befehl, an der Schriftart Courier fett erkenntlich.v Erforderliche Argumente: erkenntlich an der Schriftart Courier.v Literale: erkenntlich an der Kursivschrift.v Optionale Argumente: in eckigen Klammern [ ].v Erforderliche Argumente mit Optionen: in geschweiften Klammern {}.v Einige Argumente benötigen zugeordnete Werte (erkennbar an den spitzen

Klammern < >). Wenn diese Argumente ohne Werte verwendet werden, wirdeine Fehlernachricht angezeigt.

Kapitel 1. AppScan Source-Befehlzeilenschnittstelle (CLI) 3

Page 10: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

v Alle Befehle bestehen aus einem ausgeschriebenen Namen und einer Kurzform.Die Kurzform können Sie in runden Klammern in der Befehlsüberschrift finden.

v Alle Befehlsnamen bestehen aus einem Wort ohne Leerzeichen oder Tabulatoren.v Argumente benötigen zwar keine Befehlsschalter, sind aber abhängig von der

Reihenfolge.

Wichtig: Diese Abhängigkeit von der Reihenfolge ist wichtig.

Argumente können Leerzeichen und Tabulatoren enthalten. Schließen Sie Argu-mente, die Leerzeichen oder Tabulatoren enthalten, in einfache Anführungszeichenein (’ ’), da sie sonst syntaktisch als multiple Argumente analysiert werden.

Befehle für die AppScan Source-Befehlzeilenschnittstelle (CLI)

Dieser Abschnitt beschreibt alle verfügbaren Befehle der CLI, erforderliche und op-tionale Argumente sowie Beispiele. Jeder Befehl entspricht einer bestimmten Be-fehlskategorie, wie in „Zusammenfassung der Befehle der AppScan Source-Befehl-zeilenschnittstelle (CLI)” beschrieben.

Alle Befehle bestehen aus einem ausgeschriebenen Namen und einer Kurzform.Der Befehl zum Überprüfen einer Anwendung, eines Projekts oder einer Datei undzur Erstellung einer Beurteilung lautet beispielsweise scan mit der Kurzform sc.

Zusammenfassung der Befehle der AppScan Source-Befehl-zeilenschnittstelle (CLI)

Die folgende Tabelle enthält Befehle für die CLI, eine Beschreibung jedes Befehlsund die Angabe, ob eine Anmeldung erforderlich ist.

Tabelle 1. Befehle für die CLI

Befehl und Kurzform Beschreibung Anmeldung erforderlich

about (a) Zeigt dieBefehlszeilenversion undCopyrightvermerke fürAppScan Source an.

delete (del) Löscht ein untergeordnetesObjekt des aktuellen Objekts.

Ja

deleteassess (da) Dieser Befehl wurde umbe-nannt. Weitere Informationenhierzu finden Sie inremoveassess (da).

deleteuser (du) Löscht einen Benutzer ausder AppScan Source-Daten-bank.

Ja

delvar (dv) Löscht eine einzelne Variable. Ja

details (det) Zeigt Details der Beurteilungdes aktuellen Objekts an.

Ja

echo Meldet alle Ein- und Ausga-ben an den Bildschirm zu-rück.

4 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 11: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Tabelle 1. Befehle für die CLI (Forts.)

Befehl und Kurzform Beschreibung Anmeldung erforderlich

getaseinfo (gase) Zeigt die Einstellungen fürden AppScan Enterprise Ser-ver an.

Ja

help (?) Zeigt Hilfetexte für alle Be-fehle oder einen einzelnenBefehl an.

import (im) Verwenden Sie den Befehlimport, um Projekte (wie.ppf) einer bestehenden An-wendung hinzuzufügen.

Ja

info (i) Zeigt Informationen zu denEigenschaften und Wertendes aktuellen Objekts an.

Ja

list (ls, dir) Zeigt alle untergeordnetenObjekte des aktuellen Ob-jekts in derObjektbaumstruktur an. DieBaumstruktur wird als grafi-sche Darstellung von Objekt-ID, name und Typ angezeigt.

Ja

listassess (la) Zeigt die Objekt-ID undDatum/Uhrzeit der Beurtei-lung für das aktuelle Objektin der Objektbaumstrukturan. Verwenden Sielistassess, um eine ID fürdie Verwendung mit demBefehl details zu erhalten.

Ja

listgroups (lgrp) Zeigt alle Gruppen, derenBerechtigungen und eine Be-schreibung jeder Gruppe an.

Ja

listusers (lu) Listet alle AppScan Source-Benutzer auf.

Ja

log Schaltet dieNachrichtenprotokollierungein oder aus.

login (in) Meldet den Benutzer beiAppScan Enterprise Serveran (ersetzt login_local(local)).

logout (out) Meldet den Benutzer vonAppScan Source ab und be-endet die AppScan Source-Befehlzeilenschnittstelle(CLI)-Sitzung derBefehlszeilenschnittstelle.

Ja

moduser (mu) ModifiziertBenutzerinformationen wieProgrammzugriff, Berechti-gungen, Benutzer-ID undE-Mail für einen Benutzervon AppScan Source oderAppScan Enterprise Server.

Ja

Kapitel 1. AppScan Source-Befehlzeilenschnittstelle (CLI) 5

Page 12: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Tabelle 1. Befehle für die CLI (Forts.)

Befehl und Kurzform Beschreibung Anmeldung erforderlich

newuser (nu) Erstellt einen neuen AppScanSource-Benutzer (ein gültigerBenutzername, Kennwort,vollständiger Name und E-Mail-Adresse sind erforder-lich). AppScan Source-Benutzer können imBenutzerrepository vonAppScan Enterprise Serversowie in der AppScanSource-Date nbank enthaltensein. Wenn es Benutzer gibt,die nicht auf den Server zu-greifen sollen, können dieselokal als AppScan Source-Benutzer erstellt werden. Siehaben auch die Möglichkeit,einen neuen AppScanSource-Benutzer zu erstellen,der bereits auf dem AppScanEnterprise Server eingerichtetist.

Ja

openapplication (oa) Dieser Befehl kann verwen-det werden, um eine vorhan-dene Anwendung zu öffnen,oder um eine neue AppScanSource-Anwendungsdatei zuerstellen.

Ja

openassessmentfile (oaf) Öffnet eine Beurteilungsdateifür AppScan Source(file_name.ozasmt).

Ja

password (passwd) Sie können den Befehlpassword dazu verwenden,Ihr Kennwort oder, mit ent-sprechendenAdministratorberechtigungen,das Kennwort eines anderenBenutzers zu ändern.

Ja

printuser (pu) Der Befehl printuser (pu)zeigt Informationen zu einemeinzelnen Benutzer auf demBildschirm an.

Ja

6 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 13: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Tabelle 1. Befehle für die CLI (Forts.)

Befehl und Kurzform Beschreibung Anmeldung erforderlich

publishassess (pa) Publiziert die aktuelle Beur-teilung oder eine ausgewähl-te Beurteilung auf demAppScan Source-Datenbank.Bei Verwendung dieses Be-fehls wird die Beurteilungeinem AppScan Source-Clientwie z.B. AppScan Source forAnalysis zugänglich ge-macht, jedoch nicht derAppScan Enterprise Console(verwenden Sie den Befehl„publishassessase (pase)”auf Seite 26, um sie in derAppScan Enterprise Consolezu veröffentlichen).

Ja

publishassessase (pase) Veröffentlicht die aktuelleBeurteilung oder eine ausge-wählte Beurteilung inAppScan Enterprise Console.Bei Verwendung dieses Be-fehls wird die BeurteilungAppScan Source-Clients wiez.B. AppScan Source for Ana-lysis nicht zugänglich ge-macht (verwenden Sie denBefehl „publishassess (pa)”auf Seite 25 für die Veröffent-lichung in AppScan Source-Clients).

Ja

quit Beendet und schließt die ak-tuelle Sitzung derBefehlszeilenschnittstelle vonAppScan Source. Ein Abmel-dung erfolgt, wenn Sie ange-meldet waren.

record (rc) Schaltet dieBefehlsaufzeichnung ein oderaus.

refresh (rf) Refresh stellt das aktuelleProjekt oder die aktuelle An-wendung von einem Daten-träger wieder her.

Ja

register (reg) Registriert Projekte und An-wendungen in der AppScanSource-Datenbank.

Ja

removeassess (da) Löscht die ausgewählte oderaktuelle Beurteilung imHauptspeicher.

Ja

Kapitel 1. AppScan Source-Befehlzeilenschnittstelle (CLI) 7

Page 14: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Tabelle 1. Befehle für die CLI (Forts.)

Befehl und Kurzform Beschreibung Anmeldung erforderlich

report (rpt) Der Befehl Report erstellteinen Bericht des angegebe-nen Typs für AppScanSource, der Berichte überUntersuchungsergebnisseund AppScan Source-Berichteenthält. Zur Verwendungdieses Befehls ist eine gültigeAppScan Source for Automa-tion-Lizenz erforderlich.

Ja

scan (sc) Durchsucht eine Anwendung(oder alle Anwendungen),ein Projekt oder eine Datei,Zur Verwendung dieses Be-fehls ist eine gültigeAppScan Source for Automa-tion-Lizenz erforderlich.

Ja

script (scr) Führt ein Befehlsscript aus.

setaseinfo (sase) Legt die Einstellungen fürEnterprise Console fest.

Ja

setcurrentobject (set, cd) Verwenden Siesetcurrentobject zum Navi-gieren in derObjektbaumstruktur.

Ja

setvar (sv) Erstellt eine neue Variableoder ändert eine bestehendeVariable.

Ja

unregister (unreg) Nimmt die Registrierung ei-ner zuvor registrierten An-wendung oder einesregistrierten Projekts des ak-tuellen Knotens zurück.

Ja

Die folgenden Befehle wurden aus der CLI entfernt oder werden nicht weiter un-terstützt:v add: Wird nicht weiter unterstützt. Bitte nicht verwenden.v listproducts (lprod): Wird nicht weiter unterstützt. Bitte nicht verwenden.v liststopobject (lstop): Wird nicht weiter unterstützt. Bitte nicht verwenden.v login_admin: Wurde entfernt. Bitte nicht verwenden.v login_local (local): Wird nicht weiter unterstützt. Verwenden Sie login (in).v new: Wird nicht weiter unterstützt. Verwenden Sie openapplication (oa).v reset (r): Wurde entfernt. Bitte nicht verwenden.v runassess (ra): Wird nicht weiter unterstützt. Verwenden Sie scan (sc).

about (a)

Beschreibung

Zeigt die Befehlszeilenversion und Copyrightvermerke für AppScan Source an.

8 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 15: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Syntaxabout

BeispielAllApplications>> About---------------------------------------------------------------------------------| Security AppScan Source 8.5.0.0 Build 175.|| Lizenziertes Material - Eigentum der IBM Corp. (C) Copyright IBM| Corp. und ihre Lizenzgeber 2003, 2011. Alle Rechte vorbehalten. IBM,| das IBM Logo, ibm.com, Rational, AppScan und ClearQuest sind| Marken oder eingetragene Marken der International Business| Machines Corp.| Weitere Produkt- und Servicenamen können Marken von IBM oder| anderen Herstellern sein. Eine aktuelle Liste der IBM Marken finden Sie| auf der Webseite ’Copyright and trademark information’ unter| www.ibm.com/legal/copytrade.shtml. Linux ist eine eingetragene| Marke von Linus Torvalds in den USA und/oder| anderen Ländern. Microsoft, Windows, Windows NT und das| Windows Logo sind Marken der Microsoft Corporation in den| USA und/oder anderen Ländern. UNIX ist eine eingetragene| Marke von The Open Group in den USA und anderen| Ländern. Java und alle auf Java basierenden Marken und Logos sind| Marken von Sun Microsystems, Inc. in den USA| und/oder anderen Ländern.|| Dieses Programm beinhaltet: Jacorb 2.3.0, Copyright 1997-2006 Das| Projekt JacORB; Jericho HTML Parser 2.1, Copyright 2005 Martin| Jericho; und XOM 1.0d22, Copyright 2003 Elliotte Rusty Harold,| die alle unter der Gnu Library General Public License| (LGPL) verfügbar sind, wovon eine Kopie in der Notices-Datei,| die diesem Programm beigefügt wurde, enthalten ist.--------------------------------------------------------------------------------

delete (del)

Beschreibung

Löscht ein untergeordnetes Objekt des aktuellen Objekts.

Verwenden Sie den Befehl list (ls, dir), um die untergeordneten Elemente desaktuellen Objekts anzuzeigen.

Geben Sie den Namen oder die ID des untergeordneten Objekts an, das Sie löschenmöchten.

Syntaxdel {Name|ID Objekt-ID}

v Name: Name des untergeordneten Objekts. Verwenden Sie den Befehl list, umalle untergeordneten Elemente des aktuellen Objekts anzuzeigen.

v ID: Literal. Zeigt an, dass eine Löschung nach Objekt-ID stattfindet.v Objekt-ID: Erforderliches Argument bei Löschung nach ID. Die Objekt-ID ist die

numerische ID des untergeordneten Elements, das gelöscht werden soll.

Beispielev Gehen Sie wie folgt vor, um eine Anwendung mit dem Namen App1 zu löschen:

AllApplications>> Delete App1

v Gehen Sie wie folgt vor, um ein Projekt mit der ID 40 zu löschen:

Kapitel 1. AppScan Source-Befehlzeilenschnittstelle (CLI) 9

Page 16: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

AllApplications\App1>> Delete id 40

deleteassess (da)

Dieser Befehl wurde umbenannt. Weitere Informationen hierzu finden Sie inremoveassess (da).

deleteuser (du)

Beschreibung

Löscht einen Benutzer aus der AppScan Source-Datenbank.

Syntaxdu Benutzername

Benutzername: Der zu löschende AppScan Source-Benutzer.

Beispiel

Gehen Sie wie folgt vor, um den Benutzer agraham zu löschen:AllApplications>> deleteuser agrahamAllApplications>> Benutzer ’agraham’ wurde gelöscht.

delvar (dv)

Beschreibung

Löscht eine einzelne Variable.

Syntaxdelvar <Variablenname>

Variablenname: Der Name der Variablen, die gelöscht werden soll. Wenn eine Vari-able mit diesem Namen existiert, wird sie unverzüglich gelöscht und es wird eineNachricht über die erfolgreiche Ausführung angezeigt.

Beispiel

Gehen Sie wie folgt vor, um die Variable myvar zu löschen:AllApplications>> delvar myvarVariable ’%myvar%’ wurde gelöscht.

details (det)

Beschreibung

Zeigt Details der Beurteilung des aktuellen Objekts an.

Ruft Details einer laufenden oder nach der Beurteilungs-ID ausgewählten Beurtei-lung ab. Verwenden Sie listassess (la), um eine Liste von Beurteilungen mit denzugehörigen IDs abzurufen.

10 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 17: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Tipp: Verwenden Sie den Befehl log, um die Protokollierung zu aktivieren, bevorSie den Befehl details ausführen. Sie können eine Protokolldatei in durch Kom-mas getrenntem Text (Format .csv) erstellen, die in Microsoft Excel oder einem an-deren Programm, das CSV-Daten akzeptiert, geöffnet werden kann.

Syntaxdetails [ID]

ID: Die Objekt-ID einer Beurteilung der aktuellen Sitzung. Wenn keine ID angege-ben wird, werden Details der letzten Beurteilung angezeigt (oder an eine Protokoll-datei gesendet).

Beispiel

Gehen Sie wie folgt vor, um Details der letzten Beurteilung anzuzeigen:AllApplications\Myapps>> detailsDatei, Zeile, Spalte, Name, Typ, Schweregrad, ZuverlässigkeitC:\MyApps\WebGoat\webgoat\src\lessons\CommandInjection.java, 119, 0, java.lang.Throwable.printStackTrace, Vulnerability.Info, 3-SeverityType_info, 3-ConfidenceType_low

.

.

.C:\MyApps\WebGoat\webgoat\src\session\ECSFactory.java, 625, 0, java.lang.String.equalsIgnoreCase, Vulnerability.Info, 3-SeverityType_info, 3-ConfidenceType_low

-------------------Gesamtzahl der Aufrufseiten: 1283Gesamtzahl der definitiven Security-Ergebnisse mit hohem Schweregrad: 10Gesamtzahl der definitiven Security-Ergebnisse mit mittlerem Schweregrad: 15Gesamtzahl der definitiven Security-Ergebnisse mit niedrigem Schweregrad: 53Gesamtzahl der fehlerverdächtigen Security-Ergebnisse mit hohem Schweregrad: 24Gesamtzahl der fehlerverdächtigen Security-Ergebnisse mit mittlerem Schweregrad: 25Gesamtzahl der fehlerverdächtigen Security-Ergebnisse mit niedrigem Schweregrad: 6Gesamtzahl der Scan-Abdeckungsergebnisse mit hohem Schweregrad: 123Gesamtzahl der Scan-Abdeckungsergebnisse mit mittlerem Schweregrad: 69Gesamtzahl der Scan-Abdeckungsergebnisse mit niedrigem Schweregrad: 56Gesamtzahl der Zeilen: 17197Max. S-Dichte: 929.8482293423273Max. V/KLoC: 22.155027039599933S-Dichte: 929.8482293423273V/KLoC: 22.155027039599933

echo

Beschreibung

Meldet alle Ein- und Ausgaben an den Bildschirm zurück.

Wird normalerweise in Scripts verwendet.

Kapitel 1. AppScan Source-Befehlzeilenschnittstelle (CLI) 11

Page 18: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Syntaxecho

Beispiel

Gehen Sie wie folgt vor, um Kommentare auszugeben:3/11/08 2:15 PM AllApplications>>3/11/08 2:16 PM echo "Dies ist ein Test"3/11/08 2:16 PM Dies ist ein Test

getaseinfo (gase)

Beschreibung

Zeigt die Einstellungen für den AppScan Enterprise Server an.

Dieser Befehl zeigt die Konfiguration von AppScan Enterprise Server an, die mitdem Befehl setaseinfo (sase) festgelegt wurde.

Syntaxgetaseinfo

Anmerkung:

v Sie müssen bei der AppScan Source-Befehlzeilenschnittstelle (CLI) mit der Be-rechtigung AppScan Enterprise-Einstellungen verwalten angemeldet sein, umeinen Wert für url festlegen zu können. Informationen zu Benutzeraccounts undBerechtigungen finden Sie im Abschnitt AppScan Source verwalten im IBM Securi-ty AppScan Source Installations- und Administrationshandbuch.

v Der benutzername und das kennwort werden auf der Maschine gespeichert, aufder der AppScan Source-Client (z. B. AppScan Source for Analysis) ausgeführtwird, während url auf dem Enterprise Server gespeichert wird (der sich auf ei-ner fernen Maschine befinden kann). Sie können auf die Informationenbenutzername und kennwort von der fernen Maschine aus zugreifen (beispiels-weise, indem Sie den Befehl getaseinfo von dieser Maschine aus absetzen).

BeispielAllApplications>> getaseinfo

Benutzername: meine_Domäne\mein_BenutzernameURL: http://my_aseserver/ase

help (?)

Beschreibung

Zeigt Hilfetexte für alle Befehle oder einen einzelnen Befehl an.

Die Hilfetexte der AppScan Source-Befehlzeilenschnittstelle (CLI) zeigen für dieeinzelnen Befehle die Befehlssyntax, Aliasnamen und Anwendungsbeispiele an.Hilfe ist bei einzelnen Befehlen verfügbar. Sie können aber auch eine Liste aller Be-fehle mit einer kurzen Übersicht über jeden Befehl anfordern.

Syntaxhelp [Befehl]

12 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 19: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Befehl: Der Befehl der CLI, zu dem Sie die Onlinehilfe anzeigen möchten. Sie müs-sen sich auf einer entsprechenden Ebene der Baumstruktur befinden, damit Hilfe-text für ein bestimmtes Objekt verfügbar ist.

Beispielev Gehen Sie wie folgt vor, um Hilfetext für alle gültigen Befehle anzuzeigen:

AllApplications>> ?

v Gehen Sie wie folgt vor, um Hilfetext für den Befehl register (reg) anzuzeigen:AllApplications>> Help register

import (im)

Beschreibung

Verwenden Sie den Befehl import, um Projekte (wie .ppf) einer bestehenden An-wendung hinzuzufügen.

Wenn dieser Befehl zum Hinzufügen eines Projekts verwendet wird, werden fol-gende Projektdateien unterstützt:v AppScan Source-Projektdateien (.ppf).v Xcode-Projekte (.xcodeproj)

Sie können beim Projektimport anstatt der vollständigen Dateinamen und/oderDateierweiterungen Platzhalterzeichen verwenden. Sie können auch ein zusätzli-ches Argument angeben, um alle Projekte im angegebenen Verzeichnis zu importie-ren (rekursiver Bericht).

Syntaximport Pfad [true|false]

v Die Anzahl der Argumente hängt von der Art der importierten Objekte ab.v Pfad: Vollständiger Pfad des importierten Objekts.v true oder false: Optional. Schließt Unterverzeichnisse ein oder aus. Die Stan-

dardeinstellung lautet false (Unterverzeichnisse ausschließen).

BeispielAllApplications\testit>> import c:\testapps\java\webgoat\*.ppfAllApplications\testit>> ls23942: webgoat (Project [local])

info (i)

Beschreibung

Zeigt Informationen zu den Eigenschaften und Werten des aktuellen Objekts an.

SyntaxInformation

Beispiel

Gehen Sie wie folgt vor, um die ID und den Namen der aktuellen Anwendung an-zuzeigen:AllApplications\Myapp>> Info

Kapitel 1. AppScan Source-Befehlzeilenschnittstelle (CLI) 13

Page 20: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Die Ausgabe ist der folgenden ähnlich:Objekt: Myapp(Anwendung)ID: 1

...

list (ls, dir)

Beschreibung

Zeigt alle untergeordneten Objekte des aktuellen Objekts in der Objektbaumstruk-tur an. Die Baumstruktur wird als grafische Darstellung von Objekt-ID, name undTyp angezeigt.

Syntaxlist [all]

v all: Optional. Zeigt alle Objekte in der Objektbaumstruktur an.v Ohne Angabe weiterer Argumente werden nur die unmittelbar untergeordneten

Elemente des aktuellen Objekts angezeigt.

Beispielev Gehen Sie wie folgt vor, um die Objekte in der aktuellen Objektbaumstruktur

anzuzeigen:AllApplications>> List1: WebGoat_4_0 (Application [local] [registered])2: test_application (Application [local] [registered])

v Gehen Sie wie folgt vor, um alle Objekte in der Objektbaumstruktur anzuzeigen:AllApplications>> LS all

1: WebGoat_4_0 (Application [local] [registered])|----198: compile (Project [local] [registered])|----|----470: WebContent\lp\JavaScriptValidation.html (Source)|----|----475: WebContent\lp\RemoteAdminFlaw.html (Source)|----|----483: WebContent\lp\WelcomeScreeen.html (Source)|----|----474: WebContent\lp\ReflectedXSS.html (Source)|----|----477: WebContent\lp\SqlInjection.html (Source). . .

listassess (la)

Beschreibung

Zeigt die Objekt-ID und Datum/Uhrzeit der Beurteilung für das aktuelle Objekt inder Objektbaumstruktur an. Verwenden Sie listassess, um eine ID für die Ver-wendung mit dem Befehl details zu erhalten.

Syntaxlistassess [all]

all: Optional. Zeigt alle im Speicher vorhandenen Beurteilungen an.

Beispielv Gehen Sie wie folgt vor, um Objektinformationen zur aktuellen Beurteilung an-

zuzeigen:

14 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 21: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

AllApplications\WebGoat_4_0>> listassess

AllApplications\WebGoat_4_0>> 4762: WebGoat_4_0 (Application, Tue Mar 11 14:20:23EDT 2008)AllApplications\WebGoat_4_0>> 9033: WebGoat_4_0 (Application, Tue Mar 11 14:43:31EDT 2008)

listgroups (lgrp)

Beschreibung

Zeigt alle Gruppen, deren Berechtigungen und eine Beschreibung jeder Gruppe an.

Syntaxlistgroups

BeispielAllApplications>> ListGroups

-----------------------------------------| Gruppe: APPS| Beschreibung: Anwendungs- und Projektmanagement| Berechtigungen:| REGISTER (Register)| ATTRAPPLY (Attribute anwenden)| ATTRMODIFY (Attribute verwalten)| SCAN (Überprüfung)| VIEWREGISTER (Registeransicht)| Gruppe: ASSESSMENTS| Beschreibung: Beurteilungsverwaltung| Berechtigungen:| ASMNTDELETE (Veröffentlichte Beurteilungen löschen)| ASMNTPUBLISH (Beurteilungen veröffentlichen)| ASMNTSAVE (Beurteilungen speichern)| ASMNTVIEWPUBLISH (Veröffentlichte Beurteilungen anzeigen)| Gruppe: KB| Beschreibung: Wissensbasisverwaltung| Berechtigungen:| CUSTOM (Angepasste Regeln verwalten)| PATTERN (Muster verwalten)| Gruppe: ADMIN| Beschreibung: Verwaltung| Berechtigungen:| ASE (AppScan Enterprise-Einstellungen verwalten)| LDAP (LDAP-Einstellungen verwalten)| USER (Benutzer verwalten)-----------------------------------------

listusers (lu)

Beschreibung

Listet alle AppScan Source-Benutzer auf.

Falls verfügbar, enthält die Ausgabe den Vor- und Nachnamen sowie die E-Mail-Adresse.

Syntaxlistusers

Kapitel 1. AppScan Source-Befehlzeilenschnittstelle (CLI) 15

Page 22: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Beispiel

Gehen Sie wie folgt vor, um alle AppScan Source-Benutzer aufzulisten:AllApplications>> ListusersAlle Benutzer

admin (admin admin)jsmith(John Smith)joandarcy(Joan Darcy)

AllApplications>>

log

Beschreibung

Schaltet die Nachrichtenprotokollierung ein oder aus.

Protokolliert eine Sitzung in eine angegebene Datei oder zeigt den aktuellen Proto-kollierungsstatus an. Protokolliert die ganze Sitzung, einschließlich der Ausgabe, indie angegebene Datei.

Tipp: Verwenden Sie den Befehl record (rc), um nur die Befehlseingabe zu proto-kollieren.

Syntaxlog {on Datei|off}

v Das Argument on oder off ist erforderlich, um die Protokollierung ein- oder aus-zuschalten. Log ohne Argument zeigt den aktuellen Status an.

v on: Erforderlich, um die Protokollierung einzuschalten. On erfordert den Nameneiner Datei.

v Datei: Name der Protokolldatei. Sie können den Dateityp angeben, der erstelltwerden soll, also .txt oder .csv.

v off: Schaltet die laufende Protokollierung aus.

Beispielev Gehen Sie wie folgt vor, um in eine Datei mit dem Namen MyLogFile.txt zu

protokollieren:AllApplications>> Log on c:\MyLogFile.txt

v Gehen Sie wie folgt vor, um die Protokollierung abzuschalten:AllApplications>> Log off

login (in)

Beschreibung

Meldet den Benutzer bei AppScan Enterprise Server an (ersetzt login_local (lo-cal)).

Bei erfolgreicher Anmeldung wechselt die Eingabeaufforderung zuAllApplications>> und zeigt damit an, dass Sie angemeldet sind.

Syntaxlogin server benutzer-id kennwort [-persist] [-acceptssl]

v server: Erforderlich. Geben Sie die URL für Ihre Enterprise Server-Instanz an.

16 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 23: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

v benutzer-id: Geben Sie Ihre Enterprise Server-Benutzer-ID an. Nur erforderlich,wenn die Option 'persist' nicht zuvor zum Speichern einer Datei vom Typcli.token verwendet wurde. Die Datei cli.token befindet sich im Ordner.ounce im Ausgangsverzeichnis des Benutzers. Wenn die Datei cli.token ge-löscht wird, sind ein Benutzername und ein Kennwort für die Anmeldung erfor-derlich.

v kennwort: Geben Sie das Kennwort für Ihre Enterprise Server-Benutzer-ID an.Nur erforderlich, wenn die Option 'persist' nicht zuvor zum Speichern einer Da-tei vom Typ cli.token verwendet wurde.

v -persist: Optional. Speichert die Berechtigungsnachweise für die Anmeldungauf Platte in einer Schlüsseldatei. Bei Verwendung des Arguments 'persist' spei-chert der Befehl login den Benutzernamen und das Kennwort in einer ver-schlüsselten Schlüsseldatei mit dem Namen cli.token.

v -acceptssl: Optional. Akzeptiert SSL-Zertifikate automatisch. Weitere Informati-onen finden Sie in „SSL-Zertifikate von AppScan Enterprise Server”.

Wichtig: Wenn dieses Argument nicht eingeschlossen ist. schlägt die Anmeldungbzw. die Veröffentlichung in AppScan Enterprise Console mit einem Fehler fehl,wenn ein ungültiges Zertifikat gefunden wird (wenn Sie nicht bereits permanentdas Zertifikat akzeptiert haben, während Sie sich über ein anderes AppScanSource-Clientprodukt angemeldet haben).

Beispiel

Benutzer John Smith meldet sich am AppScan Enterprise Server an, der durch sei-nen Administrator eingerichtet wurde:>> Login https://myserver:9443/asc/ johnsmith mypasswordAnmeldung erfolgreich.AllApplications>>

SSL-Zertifikate von AppScan Enterprise ServerBei der Installation von AppScan Enterprise Server muss das System so konfigu-riert werden, dass ein gültiges SSL-Zertifikat verwendet wird. Falls dies nicht vor-genommen wird, erhalten Sie eine nicht gesicherte Verbindungsnachricht, wenn Siesich von AppScan Source for Analysis oder der AppScan Source-Befehlzeilen-schnittstelle (CLI) - oder AppScan Source for Development unter Windows undLinux aus beim Server anmelden.

Speicherposition des SSL-Zertifikats

Zertifikate, die permanent akzeptiert wurden, werden an den Positionen<datenverzeichnis>\config\cacertspersonal und <datenverzeichnis>\config\cacertspersonal.pem gespeichert (wobei <datenverzeichnis> die Position IhrerAppScan Source-Programmdaten ist, die in Kapitel 8, „Positionen für Installations-und Benutzerdatendateien”, auf Seite 125 beschrieben wird). Entfernen Sie diesebeiden Dateien, wenn Sie die Zertifikate nicht länger als permanent speichern wol-len.

AppScan Source for Automation und Gültigkeitsprüfung des SSL-Zerti-fikats

Zertifikate werden bei Verwendung von AppScan Source for Automation standard-mäßig akzeptiert. Dieses Verhalten wird durch die Einstellung fürounceautod_accept_ssl in der Konfigurationsdatei des Automatisierungsserversfestgelegt (<datenverzeichnis>\config\ounceautod.ozsettings (wobei

Kapitel 1. AppScan Source-Befehlzeilenschnittstelle (CLI) 17

Page 24: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

<datenverzeichnis> die Position Ihrer AppScan Source-Programmdaten ist, die inKapitel 8, „Positionen für Installations- und Benutzerdatendateien”, auf Seite 125beschrieben wird)). Wenn diese Einstellung bearbeitet wird, sodass stattvalue="true" die Einstellung value="false" festgelegt wird, wird die SSL-Gültig-keitsprüfung ausgeführt und die Anmeldung bei bzw. die Veröffentlichung inAppScan Enterprise Console schlägt mit einem Fehler fehl, wenn ein ungültigesZertifikat gefunden wird.

AppScan Source-Befehlzeilenschnittstelle (CLI) und Gültigkeitsprüfungdes SSL-Zertifikats

Wenn Sie den CLI login verwenden, wird standardmäßig versucht, die SSL-Gültig-keitsprüfung durchzuführen und die Anmeldung bei bzw. die Veröffentlichung inAppScan Enterprise Console schlägt mit einem Fehler fehl, wenn ein ungültigesZertifikat gefunden wird (wenn Sie nicht bereits permanent das Zertifikat akzep-tiert haben, während Sie sich über ein anderes AppScan Source-Clientprodukt an-gemeldet haben). Dieses Verhalten kann mithilfe des Optionsparameters-acceptssl bei Eingabe des Befehls login geändert werden. Wenn dieser Parameterverwendet wird, dann werden SSL-Zertifikate automatisch akzeptiert.

login_local (local)

Beschreibung

Wird in AppScan Source Version 6 nicht weiter unterstützt. Verwenden Sie login(in).

logout (out)

Beschreibung

Meldet den Benutzer von AppScan Source ab und beendet die AppScan Source-Befehlzeilenschnittstelle (CLI)-Sitzung der Befehlszeilenschnittstelle.

Wenn kein Benutzer angemeldet ist, ist der Befehl logout ungültig.

Syntaxlogout

Beispiel

Gehen Sie wie folgt vor, um sich abzumelden:AllApplications>> Logout>> Abgemeldet.>> Die Befehlszeilenschnittstelle von Security AppScan Source wird beendet...

moduser (mu)

Beschreibung

Modifiziert Benutzerinformationen wie Programmzugriff, Berechtigungen, Benut-zer-ID und E-Mail für einen Benutzer von AppScan Source oder AppScan Enterpri-se Server.

18 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 25: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Syntaxmoduser --userid|-u <benutzer-id>[--fullname|-f <vorname_und_nachname_des_benutzers>][--email|-e <e-mail-adresse>][--local {true|false}][--group [Gruppe[:Berechtigung[;Berechtigung...][--group...]][--removegroup [Gruppe[:Berechtigung[;permission...] [--removegroup...]]

Benutzername

--username|-u: Erforderlich. Ein gültiger Benutzername für AppScan Source oderAppScan Enterprise Server.

AppScan Enterprise Server-Benutzer und AppScan Source-Be-nutzer ändern

Optional.

Wenn Sie einen Benutzer ändern, ohne das Argument local anzugeben, wird derArgumentwert local, der zum erstellen des Benutzers verwendet wurde, vorausge-setzt. Um die Position von Benutzern zu ändern, modifizieren Sie die Einstellunglocal:v Wenn sich die Benutzer-ID aktuell im AppScan Enterprise Server-Benutzerreposi-

tory befindet (dies bedeutet, dass die Benutzer-ID sowohl auf dem Server alsauch lokal in der AppScan Source-Datenbank vorhanden ist), legen Sie moduser-u <benutzer-id> -local true fest, um die ID so zu ändern, dass der Benutzerunter Verwendung des angegebenen Kennworts authentifiziert wird (d. h., erwird nicht durch den AppScan Enterprise Server authentifiziert).

v Wenn sich die Benutzer-ID aktuell im AppScan Source-Benutzerrepository befin-det und nicht auf dem Server vorhanden ist, legen Sie moduser -u<benutzer-id> -local false fest, um die ID so zu ändern, dass der Benutzerüber den AppScan Enterprise Server authentifiziert wird.

Identifizierung von Informationen

Werte, die an diese Argumente angehängt sind, werden in dem Benutzersatz geän-dert:v --fullname|-f: Optional. Der vollständige Name des Benutzers. Wenn der Ein-

trag Leerzeichen enthält, setzen Sie diese in Anführungszeichen (") - beispiels-weise: -f "Joe Smith".

v --email|-e: Optional. E-Mail-Adresse des Benutzers.

Gruppen und Berechtigungen

Optional.

Gruppen und Berechtigungen geben die zulässigen AppScan Source-Tasks für die-sen Benutzer an. Aufgaben, die nicht ausdrücklich als Teil einer Berechtigung ange-geben wurden, stehen allen Benutzern zur Verfügung.

--group: Die Gruppen und Gruppenberechtigungen, die diesem Benutzer hinzuge-fügt werden sollen. Die Angabe einer Gruppe ohne Berechtigungen erteilt dem Be-nutzer alle Berechtigungen dieser Gruppe.

Kapitel 1. AppScan Source-Befehlzeilenschnittstelle (CLI) 19

Page 26: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

oder

--removegroup: Die Gruppen und Berechtigungen, die von diesem Benutzer ge-löscht werden sollen. Die Angabe einer Gruppe ohne Berechtigungen entfernt alleBerechtigungen dieser Gruppe.

Die Gruppen und Berechtigungen lauten wie folgt:v ASSESSMENTS: Berechtigungen auf Beurteilungsebene

– ASMNTDELETE: Veröffentlichte Beurteilungen löschen.– ASMNTPUBLISH: Beurteilungen veröffentlichen.– ASMNTSAVE: Beurteilungen speichern.– ASMNTVIEWPUBLISH: Veröffentlichte Beurteilungen anzeigen.

v ADMIN: Verwaltungsberechtigungen.– ASE: Einstellungen von AppScan Enterprise verwalten– USER: Benutzereinstellungen verwalten einschließlich Hinzufügen und Löschen

von Benutzern sowie Ändern von Berechtigungen.v APPS: Berechtigungen auf Anwendungs- und Projektebene.

– ATTRAPPLY: Attribute auf Anwendungen anwenden.– ATTRMODIFY: Attribute erstellen, löschen und modifizieren.– VIEWREGISTER: Registrierte Anwendungen und Projekte anzeigen.– REGISTER: Registrierung von Anwendungen und Projekten eintragen/

aufheben. Schließt die Berechtigung VIEWREGISTER ein.– SCAN: Anwendungen und Projekte überprüfen

v KB: Berechtigungen für die Wissensbasis-Verwaltung.– CUSTOM: Angepasste Regeln verwalten.– PATTERN: Muster erstellen, bearbeiten oder löschen.

v FILTER: Filter-Management– SHAREDFILTERS: Gemeinsam genutzte Filter verwalten.

v SCANCONFIG: Scankonfigurationsverwaltung– SHAREDCONFIGS: Gemeinsam genutzte Scankonfigurationen verwalten.

Beispiel

Nachdem Joan Darcys Benutzerberechtigungen erstellt wurden (mit dem Befehlnewuser (nu), entschied der Systemadministrator, dass sie nur Berechtigungen zumSpeichern, Veröffentlichen und Anzeigen, aber nicht zum Löschen benötigt. Joanbenötigt zusätzlich Berechtigungen für Wissensbasis-Muster:moduser --userid joandarcy --removegroupASSESSMENTS:ASMNTDELETE --group KB:PATTERN

newuser (nu)

Beschreibung

Erstellt einen neuen AppScan Source-Benutzer (ein gültiger Benutzername, Kenn-wort, vollständiger Name und E-Mail-Adresse sind erforderlich). AppScan Source-Benutzer können im Benutzerrepository von AppScan Enterprise Server sowie inder AppScan Source-Date nbank enthalten sein. Wenn es Benutzer gibt, die nichtauf den Server zugreifen sollen, können diese lokal als AppScan Source-Benutzererstellt werden. Sie haben auch die Möglichkeit, einen neuen AppScan Source-Be-

20 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 27: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

nutzer zu erstellen, der bereits auf dem AppScan Enterprise Server eingerichtet ist.

Syntaxnewuser --userid|-u <benutzer-id>--password|-p <kennwort>--fullname|-f <vorname_und_nachname_des_benutzers>--email|-e <e-mail-adresse>[--local {true|false}][--group [Gruppe[:Berechtigung[;Berechtigung...][--group...]]

Identifizierung von Informationenv --userid|-u: Erforderlich. Benutzer-ID. Leerzeichen sind unzulässig.v --password|-p: Benutzerkennwort. Dieser Parameter ist erforderlich, wenn

-local auf true gesetzt ist; der Parameter wird ignoriert, wenn -local auf falsegesetzt ist.

v --fullname|-f: Der vollständiger Name des Benutzers. Wenn der Eintrag Leer-zeichen enthält, setzen Sie diese in Anführungszeichen (") - beispielsweise: -f"Joe Smith". Dieser Parameter ist erforderlich, wenn -local auf false gesetztist; der Parameter ist optional, wenn -local auf true gesetzt ist.

v --email|-e: E-Mail-Adresse des Benutzers. Dieser Parameter ist erforderlich,wenn -local auf false gesetzt ist; der Parameter ist optional, wenn -local auftrue gesetzt ist.

AppScan Enterprise Server-Benutzer und AppScan Source-Be-nutzer erstellen

Optional. Mit dem Befehl newuser wird immer ein Benutzer in der AppScan Sour-ce-Datenbank erstellt; standardmäßig erstellt der Befehl den Benutzer ebenfalls aufdem AppScan Enterprise Server. Um die Position des Benutzers festzulegen, ver-wenden Sie das Argument --local. Standardmäßig lautet der Wert für dieses Ar-gument false; dies bedeutet, dass die Benutzer sowohl auf dem AppScan Enterpri-se Server als auch in den AppScan Source-Benutzerrepositorys erstellt werden.Wenn das Argument auf true gesetzt ist, wird der Benutzer nur lokal als AppScanSource-Benutzer erstellt.

Lokale Benutzer können Scanergebnisse nicht in der AppScan Enterprise Consolepublizieren; sie können Ergebnisse jedoch in der AppScan Source-Datenbank publi-zieren. Beim Anmelden bei AppScan Source müssen lokale Benutzer zusammenmit ihren AppScan Source-Benutzerberechtigungen einen gültigen AppScan Enter-prise Server angeben (ein Server muss für den Zugriff auf die AppScan Source-Da-tenbank bereitgestellt werden).

Gruppen und Berechtigungen

Optional. Gruppen und Berechtigungen geben die zulässigen AppScan Source-Tasks für diesen Benutzer an. Aufgaben, die nicht ausdrücklich als Teil einer Be-rechtigung angegeben wurden, stehen allen Benutzern zur Verfügung.

--group: Die Gruppen und Gruppenberechtigungen dieses Benutzers. Die Angabeeiner Gruppe ohne Berechtigungen erteilt dem Benutzer alle Berechtigungen dieserGruppe. Die Gruppen und deren Berechtigungen lauten wie folgt:v ASSESSMENTS: Berechtigungen auf Beurteilungsebene

– ASMNTDELETE: Veröffentlichte Beurteilungen löschen.– ASMNTPUBLISH: Beurteilungen veröffentlichen.

Kapitel 1. AppScan Source-Befehlzeilenschnittstelle (CLI) 21

Page 28: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

– ASMNTSAVE: Beurteilungen speichern.– ASMNTVIEWPUBLISH: Veröffentlichte Beurteilungen anzeigen.

v ADMIN: Verwaltungsberechtigungen.– ASE: Einstellungen von AppScan Enterprise verwalten– USER: Benutzereinstellungen verwalten einschließlich Hinzufügen und Löschen

von Benutzern sowie Ändern von Berechtigungen.v APPS: Berechtigungen auf Anwendungs- und Projektebene.

– ATTRAPPLY: Attribute auf Anwendungen anwenden.– ATTRMODIFY: Attribute erstellen, löschen und modifizieren.– VIEWREGISTER: Registrierte Anwendungen und Projekte anzeigen.– REGISTER: Registrierung von Anwendungen und Projekten eintragen/

aufheben. Schließt die Berechtigung VIEWREGISTER ein.– SCAN: Anwendungen und Projekte überprüfen

v KB: Berechtigungen für die Wissensbasis-Verwaltung.– CUSTOM: Angepasste Regeln verwalten.– PATTERN: Muster erstellen, bearbeiten oder löschen.

v FILTER: Filter-Management– SHAREDFILTERS: Gemeinsam genutzte Filter verwalten.

v SCANCONFIG: Scankonfigurationsverwaltung– SHAREDCONFIGS: Gemeinsam genutzte Scankonfigurationen verwalten.

LDAP-Authentifizierung

Sie können LDAP-Benutzer nicht zum AppScan Source-Benutzerrepository hinzu-fügen, wenn sie nicht bereits im AppScan Enterprise Server-Benutzerrepositoryvorhanden sind. Zum Hinzufügen eines AppScan Source-Benutzers, der überLDAP authentifiziert wird, muss das AppScan Enterprise Server-Benutzerreposito-ry für die Verwendung eines LDAP-Repositorys konfiguriert sein. Informationenhierzu finden Sie in der Veröffentlichung AppScan Enterprise Server Planning & In-stallation Guide.

Wenn Sie die LDAP-Authentifizierung verwenden und einen AppScan Source-Be-nutzer hinzufügen wollen, der nicht zu einer LDAP-Benutzergruppe gehört, setzenSie den Befehl newuser mit der Option -local true ab, um den Benutzer lokal imAppScan Source-Benutzerrepository zu erstellen.

Beispiel

Erstellen Sie einen Benutzer mit dem Namen Joan Darcy auf dem AppScan Enter-prise Server. Die E-Mail-Adresse von Joan lautet [email protected]. Ihr Benutzer-name lautet joandarcy und ihr Kennwort ist 123456. Joan kann AppScan Source inden Gruppen APPS und ASSESSMENTS mit allen Berechtigungen sowie innerhalbder Gruppe KB mit der Berechtigung für angepasste Regeln verwenden:AllApplications>> newuser --userid joandarcy --password 123456--fullname "Joan Darcy" --email [email protected] APPS --group ASSESSMENTS --group KB:CUSTOMAllApplications>> Created user ’joandarcy’. User ID: 888

22 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 29: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

openapplication (oa)

Beschreibung

Dieser Befehl kann verwendet werden, um eine vorhandene Anwendung zu öff-nen, oder um eine neue AppScan Source-Anwendungsdatei zu erstellen.

Wenn dieser Befehl zum Öffnen einer Anwendung verwendet wird, werden folgen-de Anwendungsdateien unterstützt:v Anwendungsdateien für AppScan Source (.paf).v Arbeitsbereiche von Eclipse (.ewf) und projekten (.epf)

Anmerkung: Diese Dateien werden geneirert, wenn Sie openapplication zumÖffnen eines Arbeitsbereichsverzeichnisses verwenden (durch Angabe desPfads).

v Xcode-Projekte (.xcodeproj)

Syntaxopenapplication Pfad_Datei

Pfad_Datei

v Wenn Sie den Befehl zum Öffnen einer Anwendung verwenden, geben Sie denPfad und den Dateinamen der vorhandenen Anwendung an.

v Wenn Sie den Befehl zum Erstellen einer Anwendung verwenden, geben Sie ei-nen gültigen Pfad und einen neuen Dateinamen an (stellen Sie dabei sicher, dassder neue Dateiname nicht bereits vorhanden ist).

v Wenn Sie den Befehl zum Öffnen eines Eclipse-Arbeitsbereichs verwenden, kön-nen Sie lediglich nur den Arbeitsbereichspfad angeben.

Beispielev Gehen Sie wie folgt vor, um ein Xcode-Projekt zu öffnen:

AllApplications>> openapplication /User/myname/Documents/myproject.xcodeproj

v Gehen Sie wie folgt vor, um einen Eclipse-Arbeitsbereich zu öffnen:AllApplications>> oa /User/myname/Documents/myworkspace

oderAllApplications>> oa /User/myname/Documents/myworkspace/myworkspace.ewf

openassessmentfile (oaf)

Beschreibung

Öffnet eine Beurteilungsdatei für AppScan Source (file_name.ozasmt).

Eine geöffnete Beurteilungsdatei wird zur aktuellen Beurteilung.

Syntaxopenassessmentfile pfad_datei

pfad_datei: Pfad und Dateiname der vorhandenen Beurteilungsdatei.

Kapitel 1. AppScan Source-Befehlzeilenschnittstelle (CLI) 23

Page 30: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Beispiel

Gehen Sie wie folgt vor, um eine zuvor gespeicherte Beurteilung zu öffnen:AllApplications>> OpenAssessmentFile c:\priority.ozasmt

password (passwd)

Beschreibung

Sie können den Befehl password dazu verwenden, Ihr Kennwort oder, mit entspre-chenden Administratorberechtigungen, das Kennwort eines anderen Benutzers zuändern.

Geben Sie das neue Kennwort zweimal ein, um ein Kennwort zu ändern. BeideEingaben des neuen Kennworts müssen identisch sein, damit die Änderung wirk-sam wird. Wenn Sie Ihr eigenes Kennwort ändern, müssen Sie das aktuelle Kenn-wort zuerst eingeben.

Syntaxpassword [Benutzername]

Benutzername: Name des Benutzers, dessen Kennwort geändert wird. Wenn keinBenutzername angegeben wird, ändern Sie Ihr eigenes Kennwort.

Beispielev Gehen Sie wie folgt vor, um Ihr Kennwort zu ändern:

AllApplications>> PasswordAktuelles Kennwort eingeben: ******Neues Kennwort eingeben: *******Neues Kennwort bestätigen: *******Kennwort geändert.AllApplications>>

v Gehen Sie wie folgt vor, um das Kennwort eines anderen Benutzers zu ändern(wenn Sie über Administratorberechtigungen verfügen):AllApplications>> passwd johnsmithKennwort für Benutzer johnsmith wird geändertNeues Kennwort eingeben: *******Neues Kennwort bestätigen: *******Kennwort geändert.AllApplications>>

printuser (pu)

Beschreibung

Der Befehl printuser (pu) zeigt Informationen zu einem einzelnen Benutzer aufdem Bildschirm an.

Syntaxprintuser benutzername

benutzername: AppScan Source-Benutzername

Beispiel

Zeigen Sie die ursprünglichen Benutzerdaten des Benutzers Joan Darcy an.

24 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 31: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

printuser joandarcyBenutzer: joandarcyVorname: JoanNachname: DarcyE-Mail-Adresse: [email protected]:- APPS (Anwendungs- und Projektmanagement)REGISTER (Register)ATTRAPPLY (Attribute anwenden)ATTRMODIFY (Attribute verwalten)SCAN (Überprüfung)VIEWREGISTER (Registeransicht)-(ASSESSMENTS) (Beurteilungsverwaltung)ASMTDELETE (Veröffentlichte Beurteilungen löschen)ASMNTPUBLISH (Beurteilungen veröffentlichen)ASMNTSAVE (Beurteilungen speichern)ASMNTVIEWPUBLISH (Veröffentlichte Beurteilungen anzeigen)-[KB] (Wissensbasisverwaltung)CUSTOM (Angepasste Regeln verwalten)-[ADMIN] (Verwaltung)

Anmerkung: Eckige Klammern [ ] bedeuten, dass der Benutzer nicht über alleBerechtigungen in dieser Gruppe verfügt.

publishassess (pa)

Beschreibung

Publiziert die aktuelle Beurteilung oder eine ausgewählte Beurteilung auf demAppScan Source-Datenbank. Bei Verwendung dieses Befehls wird die Beurteilungeinem AppScan Source-Client wie z.B. AppScan Source for Analysis zugänglich ge-macht, jedoch nicht der AppScan Enterprise Console (verwenden Sie den Befehl„publishassessase (pase)” auf Seite 26, um sie in der AppScan Enterprise Conso-le zu veröffentlichen).

Zur Verwendung dieses Befehls ist eine gültige AppScan Source for Automation-Lizenz erforderlich.

Bei der Veröffentlichung einer Beurteilung mithilfe dieses Befehls wird die Beurtei-lung automatisch bei AppScan Enterprise Server registriert. Sie müssen die Beurtei-lung bei Verwendung dieses Befehls nicht manuell registrieren.

Syntaxpa [ID]

ID: Optionales Literal. Identifiziert die Beurteilungs-ID. Wenn keine ID angegebenwird, findet der Befehl Anwendung auf die letzte Überprüfung. Verwenden Sieden Befehl listassess (la), um die Beurteilungs-ID zu suchen.

Beispiel

Im folgenden Beispiel legen wir die Anwendung 'pebble' als aktuelles Objekt fest,überprüfen das Projekt 'pebble' und veröffentlichen anschließend die Beurteilung(die gleichzeitig automatisch registriert wird).AllApplications>> cd pebbleAllApplications\pebble>> scan pebbleNeue Überprüfung gestartet

Überprüfung von Projekt pebble (1 von 1)

Kapitel 1. AppScan Source-Befehlzeilenschnittstelle (CLI) 25

Page 32: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Projekt wird für Überprüfung vorbereitet.....

Sicherheitslückenanalyse vorbereiten...Sicherheitslückenanalyse durchführen...Ergebnisse generieren...Projekt wird für Überprüfung vorbereitet...

.

.Überprüftes Projekt ’pebble’:

Gesamtzahl der Dateien: 15Gesamtzahl der Ergebnisse: 167Gesamtzahl der Zeilen: 385vkloc: 0.44448395412925595S-Dichte: 22.446439683527426Überprüfte Anwendung ’pebble’:

Gesamtzahl der Dateien: 15Gesamtzahl der Ergebnisse: 167Gesamtzahl der Zeilen: 385vkloc: 0.44448395412925595S-Dichte: 22.446439683527426Überprüfung beendet:

Gesamtzahl der Dateien: 15Gesamtzahl der Ergebnisse: 167Gesamtzahl der Zeilen: 385vkloc: 0.44448395412925595S-Dichte: 22.446439683527426Ablaufzeit - 18 Sekunden

AllApplications\pebble>> publishassess

Beurteilung wurde erfolgreich veröffentlicht.

publishassessase (pase)

Beschreibung

Veröffentlicht die aktuelle Beurteilung oder eine ausgewählte Beurteilung inAppScan Enterprise Console. Bei Verwendung dieses Befehls wird die BeurteilungAppScan Source-Clients wie z.B. AppScan Source for Analysis nicht zugänglich ge-macht (verwenden Sie den Befehl „publishassess (pa)” auf Seite 25 für die Veröf-fentlichung in AppScan Source-Clients).

Syntaxpublishassessase [ID] [Pfad][-folder <Speicherposition>] [-name <Name der veröffentlichten Beurteilung>][-aseapplication <ASE-Anwendung>]

v ID: Optionales Literal. Identifiziert die Beurteilungs-ID. Verwenden Sie den Be-fehl listassess (la), um die Beurteilungs-ID zu suchen.

v Pfad: Optionales Literal. Pfad und Dateiname der Beurteilungsdatei.v -folder <Speicherposition>: Optional. Der Enterprise Console-Ordner, in den

veröffentlicht wird. Wenn dieses Argument nicht verwendet wird, wird die Beur-teilung in Ihrem Enterprise Console-Standardordner veröffentlicht.

v -name <Name der veröffentlichten Beurteilung>: Optional. Der Name, mit demdie Beurteilung in Enterprise Console gespeichert wird. Wenn dieses Argumentnicht verwendet wird, wird ein Name anhand der überprüften AppScan Source-Anwendung generiert, um die Beurteilung zu erstellen. (Dieser Name wird alsPräfix zu AppScan Source: hinzugefügt.)

v -aseapplication <ASE-Anwendung>: Optional. Enterprise Console-Anwendung,der die Beurteilung zugeordnet wird.

26 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 33: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Wenn das optionale Argument eine Ganzzahl ist, geht der Befehl davon aus, dasses sich um die Beurteilungs-ID handelt. Wenn das optionale Argument keine Ganz-zahl ist, geht der Befehl davon aus, dass es sich um den Pfad zu einer gespeicher-ten Beurteilungsdatei handelt.

Wenn eine Beurteilung nicht mit dem Befehl id oder path angegeben wird, wirddie Beurteilung vorausgesetzt, die durch die aktuelle Überprüfung generiert wur-de.

quit

Beschreibung

Beendet und schließt die aktuelle Sitzung der Befehlszeilenschnittstelle vonAppScan Source. Ein Abmeldung erfolgt, wenn Sie angemeldet waren.

Syntaxquit

BeispielAllApplications>> Quit

>> Abgemeldet.>> Die Befehlszeilenschnittstelle von Security AppScan Source wird beendet...

record (rc)

Beschreibung

Schaltet die Befehlsaufzeichnung ein oder aus.

Record erfasst nur Befehle und Argumente, aber nicht die Ausgabe.

Tipp: Verwenden Sie den Befehl log, um die Ausgabe zu erfassen.

Syntaxrecord {on Datei|off}

v on oder off: Erforderlich, um die Aufzeichnung ein- oder auszuschalten.v Datei: Name der aufgezeichneten Datei. Record On erfordert das Argument Da-

tei, das den gültigen Dateipfad enthält. Falls diese Datei noch nicht existiert,wird sie von der AppScan Source-Befehlzeilenschnittstelle (CLI) erstellt. Fallsdiese Datei schon existiert, werden die Protokolldaten an das Dateiende ange-hängt.

v Record ohne Argument zeigt an, ob die Aufzeichnung ein- oder ausgeschaltet ist.

Beispielv Gehen Sie wie folgt vor, um in eine Datei mit dem Namen MyCommands.txt zu

protokollieren:AllApplications>> Record on C:\MyCommands.txt

v Gehen Sie wie folgt vor, um die Aufzeichnung abzuschalten:AllApplications>> RC off

Kapitel 1. AppScan Source-Befehlzeilenschnittstelle (CLI) 27

Page 34: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

refresh (rf)

Beschreibung

Refresh stellt das aktuelle Projekt oder die aktuelle Anwendung von einem Daten-träger wieder her.

Verwenden Sie refresh, wenn Sie ein Projekt oder eine Anwendung erneut ladenmöchten, das möglicherweise geändert wurde.

Syntaxrefresh

Beispiel

Gehen Sie wie folgt vor, um MeinProjekt zu aktualisieren:AllApplications\MyApplication\MyProject>> Refresh

register (reg)

Beschreibung

Registriert Projekte und Anwendungen in der AppScan Source-Datenbank.

register ermöglicht es, die Anwendung oder das Projekt auf dem aktuellen Kno-ten bei AppScan Source zu registrieren. Die Registrierung weist AppScan Sourceauf Anwendungen und Projekte hin. Registrierte Anwendungen und Projekte kön-nen (mit dem Befehl publishassess (pa)) veröffentlicht werden.

Die Registrierung bereits registrierter Anwendungen oder Projekte kann mit demBefehl unregister (unreg) aufgehoben werden.

Syntaxregister

BeispielAllApplications>> cd pebbleAllApplications\pebble>> registerAllApplications\pebble>> ’pebble’ erfolgreich registriert.

removeassess (da)

Beschreibung

Löscht die ausgewählte oder aktuelle Beurteilung im Hauptspeicher.

Syntaxremoveassess [id]

ID: Optionales Literal. Identifiziert die Beurteilungs-ID. Wenn keine ID angegebenwird, findet der Befehl Anwendung auf die letzte Beurteilung. Verwenden Sielistassess (la), um eine Beurteilungs-ID zu suchen.

28 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 35: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

report (rpt)

Beschreibung

Der Befehl Report erstellt einen Bericht des angegebenen Typs für AppScan Source,der Berichte über Untersuchungsergebnisse und AppScan Source-Berichte enthält.Zur Verwendung dieses Befehls ist eine gültige AppScan Source for Automation-Li-zenz erforderlich.

Die verfügbaren Berichtsausgabeformate sind HTML, PDF und Zip-Dateien.

Syntaxreport "<Berichtstyp>" <Aufgabeformat> <Speicherposition der Ausgabe>[<Beurteilungs-ID>] [-includeSrcBefore:<n>] [-includeSrcAfter:<n>]

v Berichtstyp: Der Name des Berichts in Anführungszeichen, der erstellt werdensoll. Geben Sie einen der folgenden Berichtstypen an:– Einen Untersuchungsergebnisbericht:

- Ergebnisse nach Bundle

- Ergebnisse nach API

- Ergebnisse nach Klassifizierung

- Ergebnisse

- DTS-Aktivität

- Ergebnisse nach Typ

- Ergebnisse nach CWE

- Ergebnisse nach Datei

– Einen AppScan Source-Bericht:- CWE SANS Top 25 2011

- DISA Application Security and Development STIG V3 R5

- OWASP Mobile Top 10

- OWASP Top 10 2013

- PCI Data Security Standard V1.1

- PCI Data Security Standard V2.0

- Softwaresicherheitsprofil

– Falls verfügbar, ein angepasster Bericht.Geben Sie den Berichtstyp in Anführungszeichen exakt genauso ein wie in derListe oben. Beispiel:Findings by Classification oder Software Security Profi-le.

v Ausgabeformat: Geben Sie eines der folgenden Formate für diesen Bericht an:– HTML: Erstellt den Bericht als HTML-Datei und zeigt ihn online an.– ZIP: Erstellt eine ZIP-Datei, die alle HTML-Berichtskomponenten enthält.– Bei Berichten im PDF-Format können Sie den Detaillierungsgrad angeben:

- pdf-summary: Enthält Zählungen für jede angepasste Berichtsgruppe.- pdf-detailed: Enthält Zählungen für jedes API und für jede Sicherheitslü-

ckeneigenschaft.- pdf-comprehensive: Enthält Tabellen mit allen Ergebnissen für jedes API.- pdf-annotated: Enthält alle Ergebnisse, alle Anmerkungen zu den Ergebnis-

sen und bestimmte Codefragmente.

Kapitel 1. AppScan Source-Befehlzeilenschnittstelle (CLI) 29

Page 36: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

- Speicherposition der Ausgabe: Der Pfad, in dem der Bericht geschriebenwird.

v Speicherposition der Ausgabe: Geben Sie absoluten Pfad- und Dateinnamen fürdie Speicherung des Berichts an.

v Beurteilungs-ID: Optional. Die Beurteilungs-ID, die Sie mit dem Befehllistassess (la) erhalten. Wenn Sie die Beurteilungs-ID übergehen, wird ein Be-richt der letzten Überprüfung erstellt.

v -includeSrcBefore:<n>: Optional. Die Anzahl der Quellcodezeilen, die vor je-dem Ergebnis in den Bericht eingefügt werden.

v -includeSrcAfter:<n>: Optional. Die Anzahl der Quellcodezeilen, die nach je-dem Ergebnis in den Bericht eingefügt werden.

Beispielev Fordern Sie einen Bericht Ergebnisse nach API, der in HTML geschrieben ist, an:

AllApplications>> report "Findings by API" html C:\reports\findings.html

v Fordern Sie einen OWASP Top 10 für AppScan Source an, der als PDF mit umfas-senden Details geschrieben wird und die bestehende Beurteilung 542 verwendet:AllApplications>> report "OWASP Top 10 2013" pdf-comprehensive/reports/webgoat_OWASP_13_comp.pdf 542

scan (sc)

Beschreibung

Durchsucht eine Anwendung (oder alle Anwendungen), ein Projekt oder eine Da-tei, Zur Verwendung dieses Befehls ist eine gültige AppScan Source for Automati-on-Lizenz erforderlich.

Anmerkung: Wenn Sie ein IBM® Worklight-Projekt überprüfen, dessen Dateien ge-ändert wurden, müssen Sie das Projekt mit IBM Worklight neu erstellen und dannIhre AppScan Source-Anwendung oder das Projekt vor dem Überprüfen aktualisie-ren. Wenn Sie das Projekt nicht mit IBM Worklight neu erstellen, Werden alle anDateien vorgenommenen Änderungen von AppScan Source ignoriert.

Syntaxscan [path][config <projektkonfiguration>][-name <beurteilungsname>][-scanconfig <name_der_scankonfiguration>]

v path: Optional. Vollständiger Pfad und Dateiname (.ozasmt), unter dem die ex-portierte Beurteilung gespeichert wird.

Anmerkung:

– Wenn Sie ein gültiges Verzeichnis ohne einen Dateinamen angeben, wird eineBeurteilungsdatei (.ozasmt) auf der Basis des Anwendungsnamens, des Pro-jektnames und der Scankonfiguration erstellt, die beim Erstellen der Beurtei-lung verwendet wurde.

– Wenn Sie ein gültiges Verzeichnis mit einem Dateinamen angeben, der nichtvorhanden ist, wird eine Beurteilungsdatei in dieser Position erstellt und eswird der angegebene Dateiname verwendet.

– Wenn Sie eine Datei angeben, die bereits vorhanden ist, wird die vorhandeneDatei überschrieben.

– Wenn Sie einen Dateinamen (.ozasmt) in einem Verzeichnis angeben, dasnicht vorhandenist, wird die Beurteilung gesüeichert.

30 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 37: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

v config <projektkonfiguration>: Optional. Dieses Argument gilt nur für Beurtei-lungen auf Projektebene. Wenn Ihr Projekt eine Konfigurationsdatei aufweist, ge-ben Sie sie mithilfe dieses Arguments an.

v -name <beurteilungsname>: Optional. Ein Name für die Beurteilung. Diese Namewird im AppScan Source-Clientprodukten zur Unterscheidung von Beurteilun-gen untereinander verwendet (beispielsweise erscheint in AppScan Source forAnalysis der Name in der Spalte Name der Ansicht 'Meine Beurteilungen').

v -scanconfig <name_der_scankonfiguration>: Optional. Geben Sie den Namen ei-ner Scankonfiguration an, die für die Überprüfung verwendet werden soll. Wennkeine Scankonfiguration angegeben wird, verwendet das System für die Über-prüfung die Standardscankonfiguration.

Beispielev Gehen Sie wie folgt vor, um die Standardkonfiguration der Projekte in allen An-

wendungen zu überprüfen:AllApplications>> Scan

Die Ergebnisse werden wie folgt angezeigt:Neue Überprüfung gestartet

.

.Sicherheitslückenanalyse vorbereiten...Sicherheitslückenanalyse durchführen...Ergebnisse generieren...Projekt wird für Überprüfung vorbereitet...

.

.Überprüftes Projekt:

Gesamtzahl der Dateien: 15Gesamtzahl der Ergebnisse: 167Gesamtzahl der Zeilen: 385vkloc: 0.44448395412925595S-Dichte: 22.446439683527426Überprüfte Anwendung:

Gesamtzahl der Dateien: 15Gesamtzahl der Ergebnisse: 167Gesamtzahl der Zeilen: 385vkloc: 0.44448395412925595S-Dichte: 22.446439683527426Überprüfung beendet:

Gesamtzahl der Dateien: 15Gesamtzahl der Ergebnisse: 167Gesamtzahl der Zeilen: 385vkloc: 0.44448395412925595S-Dichte: 22.446439683527426Ablaufzeit - 18 Sekunden

Neue Überprüfung gestartet Bitte warten...Beurteilung beendet-------------------Gesamtzahl der Aufrufseiten: 75Gesamtzahl der definitiven Security-Ergebnisse mit hohem Schweregrad: 25Gesamtzahl der definitiven Security-Ergebnisse mit mittlerem Schweregrad: 37Gesamtzahl der definitiven Security-Ergebnisse mit niedrigem Schweregrad: 9Gesamtzahl der fehlerverdächtigen Security-Ergebnisse mit hohem Schweregrad: 20Gesamtzahl der fehlerverdächtigen Security-Ergebnisse mit mittlerem Schweregrad: 80Gesamtzahl der fehlerverdächtigen Security-Ergebnisse mit niedrigem Schweregrad: 60Gesamtzahl der Scan-Abdeckungsergebnisse mit hohem Schweregrad: 50Gesamtzahl der Scan-Abdeckungsergebnisse mit mittlerem Schweregrad: 33Gesamtzahl der Scan-Abdeckungsergebnisse mit niedrigem Schweregrad: 17Gesamtzahl der Zeilen: 3000...

v Gehen Sie wie folgt vor, um die Debugkonfiguration von Prj1 zu überprüfen:

Kapitel 1. AppScan Source-Befehlzeilenschnittstelle (CLI) 31

Page 38: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

AllApplications\Prj1>> SC config debug

script (scr)

Beschreibung

Führt ein Befehlsscript aus.

Das Script kann alle gültigen Befehle der AppScan Source-Befehlzeilenschnittstelle(CLI) mit Argumenten enthalten. Der Befehl record (rc) kann zum Erstellen derScriptdatei verwendet werden.

Scripts können bei Verwendung der Notation ${VAR} auf Umgebungsvariablen ver-weisen (wobei VAR der Name einer Umgebungsvariablen ist).

Wenn der Befehl script von der Befehlszeile an AppScanSrcCli übergeben wird,beendet er AppScanSrcCli automatisch am Ende des Scripts.

Syntaxscript Scriptdatei

Scriptdatei: Vollständiger Pfad-und Dateiname der Scriptdatei, die Sie ausführenwollen.

Kommentare in Scripts

Eine Zeile, der ein Nummernzeichen (#) vorausgeht, ist ein Kommentar. Die CLIüberspringt Kommentare, wenn sie im Dialogbetrieb oder über eine Scriptdateiausgeführt wird.

Das folgende Beispielscript enthält Kommentare:login localhost User 123456#zu meinem Arbeitsbereich navigierencd MeineAnwendung#meine Anwendung überprüfenÜberprüfunglogout

Beispiele

Ein Benutzer, der sich normal anmeldet und die CLI im Dialogbetrieb verwendet,möchte möglicherweise ein Script aufzeichnen, um es bei Bedarf über die Konsoleerneut ausführen zu können. Mit dem Befehl record (rc) können Sie eine voll-ständige Sitzung aufzeichnen und das Script beliebig oft oder zu einem geplantenZeitpunkt ausführen. Ein Script kann eine ganze Sitzung automatisieren, indemeinzelne Stapeldateien oder Scripts zum Anmeldung, zum Erstellen von Projekten,zum Überprüfen, zum Kopieren von Dateien und so weiter verwendet werden.v Gehen Sie wie folgt vor, um ein Script mit dem Namen myscript.txt auszufüh-

ren:AllApplications>> Script c:\myscript.txt

v Das folgende Beispielscript meldet den Benutzer an, aktiviert die Protokollie-rung, erstellt eine Anwendung, importiert alle ppf-Projekte in einem angegebe-nen Verzeichnis, führt eine Beurteilung aus und beendet das Script:

32 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 39: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

log on C:\mylogfile.lognew MeineAnwendung C:\MeineAnwendungcd MeineAnwendungim C:\Projekte\*.ppfÜberprüfunglogout

Dabei ist zu beachten, dass logout nicht notwendig ist, wenn das Script immervon der Befehlszeile AppScanSrcCli ausgeführt wird.

setaseinfo (sase)Wenn Ihr AppScan Enterprise Server mit der Option 'AppScan Enterprise Console'installiert wurde, können Sie Beurteilungen auf dem Server publizieren. Die Enter-prise Console stellt zahlreiche Tools für das Arbeiten mit Beurteilungen zur Verfü-gung, z. B. Berichtsfunktionen, Problemmanagement, Trendanalyse und Dash-boards.

Beschreibung

Legt die Einstellungen für Enterprise Console fest.

Wenn Sie Beurteilungen von AppScan Source in Enterprise Console publizierenwollen, verwenden Sie den Befehl setaseinfo, um die Verbindungseinstellungenvon Enterprise Console anzugeben.

Syntaxsetaseinfo --userid|-u <benutzername>--password|-p <kennwort>--url|-l <url>[--domain|-d <domäne>]

v benutzername: Der Benutzername, den Sie zum Herstellen der Verbindung zuEnterprise Console verwenden. Sie müssen mindestens ein QuickScan-Benutzersein und auf dem Enterprise Server über einen eigenen Benutzerordner verfü-gen.

v kennwort: Das Kennwort, das zum Anmelden bei AppScan Enterprise verwendetwird (das Kennwort für den eingegebenen Benutzernamen).

v url: Die URL, die für den Zugriff auf die Enterprise Console-Webanwendungverwendet wird.Das Format dieser URL ist:http(s)://<hostname>:<port>/ase/

Hierbei ist <hostname> der Name der Maschine, auf der die Enterprise Consoleinstalliert ist, und <port> ist der Port, an dem die Konsole ausgeführt wird. EineBeispiel-URL wäre http://myhost.mydomain.ibm.com/ase.

Anmerkung: Dieses Argument ist optional, wenn die Enterprise Console-URLbereits festgelegt wurde.

v domäne: Die Domäne, in der AppScan Enterprise installiert ist.

Anmerkung:

v Sie müssen bei der AppScan Source-Befehlzeilenschnittstelle (CLI) mit der Be-rechtigung AppScan Enterprise-Einstellungen verwalten angemeldet sein, umeinen Wert für url festlegen zu können. Informationen zu Benutzeraccounts undBerechtigungen finden Sie im Abschnitt AppScan Source verwalten im IBM Securi-ty AppScan Source Installations- und Administrationshandbuch.

Kapitel 1. AppScan Source-Befehlzeilenschnittstelle (CLI) 33

Page 40: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

v Der benutzername und das kennwort werden auf der Maschine gespeichert, aufder der AppScan Source-Client (z. B. AppScan Source for Analysis) ausgeführtwird, während url auf dem Enterprise Server gespeichert wird (der sich auf ei-ner fernen Maschine befinden kann). Sie können auf die Informationenbenutzername und kennwort von der fernen Maschine aus zugreifen (beispiels-weise, indem Sie den Befehl getaseinfo von dieser Maschine aus absetzen).

BeispielAllApplications>> setaseinfo --userid MeinBenutzername --password MeinKennwort--url http://Mein_aseServer/ase --domain MeineDomäneInformationen zur AppScan Enterprise Integration wurden konfiguriert.AllApplications>>

setcurrentobject (set, cd)

Beschreibung

Verwenden Sie setcurrentobject zum Navigieren in der Objektbaumstruktur.

Legt das aktuell ausgewählte Objekt in der Objektbaumstruktur fest. Das Objektmuss ein gültiges untergeordnetes Element des aktuellen Objekts sein. VerwendenSie den Befehl list (ls, dir), um alle untergeordneten Elemente des aktuellenObjekts anzuzeigen. Wählen Sie das Objekt nach Namen oder ID aus.

Syntaxsetcurrentobject {Name|ID Objekt-ID}

v Name: Der Name des festzulegenden untergeordneten Elements. Dieser ist erfor-derlich, wenn durch die Baumstruktur nach dem Objektnamen navigiert wird.

v ID: Literal. Wählen Sie die ID nach der Objekt-ID aus.v Objekt-ID: Die numerische ID des untergeordneten Elements. Dies ist erforder-

lich, wenn nach der ID ausgewählt wird.

Beispielev Gehen Sie wie folgt vor, um vom Stammverzeichnis zu der Anwendung, deren

ID gleich 1 ist, zu navigieren:AllApplications>> SetCurrentObject applicationsAllApplications>> CD id 1AllApplications\Applications>>

v Gehen Sie wie folgt vor, um eine Ebene zurück zu navigieren:AllApplications\Applications>> CD ..

v Gehen Sie wie folgt vor, um zum Anfang (Stammverzeichnis) der Objektbaum-struktur zurückzukehren:AllApplications\Applications>> Set /

oderAllApplications\Applications>> Set \

setvar (sv)

Beschreibung

Erstellt eine neue Variable oder ändert eine bestehende Variable.

34 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 41: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Syntaxsetvar <Name> <Pfad>

v Name: Der Name der Variablen. Wenn die Variable bereits vorhanden ist, aktuali-siert die AppScan Source-Befehlzeilenschnittstelle (CLI) den Pfad. Falls die Varia-ble noch nicht existiert, wird sie von der CLI mit dem Wert des genannten Pfadserstellt.

v Pfad: Eine bestehender Pfad für die Variable. Wenn dieser Pfad nicht besteht,wird die Variable nicht erstellt.

Beispielev Gehen Sie wie folgt vor, um die AppScan Source-Variable Myvar mit dem Pfad

C:\Myapps zu erstellen:AllApplications>> SetVar Myvar C:\MyappAllApplications>> Neue Variable ’%Myvar%’ wurde erstellt.

v Gehen Sie wie folgt vor, um eine AppScan Source-Variable mit dem NamenSRC_ROOT basierend auf dem Wert der Systemumgebungsvariablen SRC_ROOT zuerstellen:# Anmeldunglogin localhost admin# Erstellen der Variablen SRC_ROOT mit dem Wert# der Umgebungsvariablen SRC_ROOTsetvar SRC_ROOT ${SRC_ROOT}

unregister (unreg)

Beschreibung

Nimmt die Registrierung einer zuvor registrierten Anwendung oder eines regist-rierten Projekts des aktuellen Knotens zurück.

Nachdem die Registrierung aufgehoben wurde, kann die Anwendung oder dasProjekt nicht veröffentlicht werden. Weitere Informationen hierzu finden Sie unterdem Befehl register (reg).

Syntaxunregister

BeispielAllApplications\Myapp>> UnregisterAllApplications\Myapp>> Die Registrierung von ’Myapp’ wurde erfolgreich aufgehoben.

Automatisierte Beurteilungen durchführenDie AppScan Source-Befehlzeilenschnittstelle (CLI) ermöglicht das automatischeImportieren einer AppScan Source-Projektdatei (.ppf) sowie die Überprüfung desQuellcodes. Sie können von der Befehlszeile zum Beispiel ein Script wie das fol-gende Run_Assessments.txt ausführen.AppScanSrcCli scr c:\<Installationsverzeichnis>\bin\Run_Assessments.txt

Beispielscript Run_Assessments.txt# Melden Sie sich an.Login <Hostname> <Benutzername> <Kennwort># Aktivieren Sie die Protokollierunglog on c:\myLogFile.log# Erstellen Sie eine neue Anwendung mit dem Namen ’testit’.

Kapitel 1. AppScan Source-Befehlzeilenschnittstelle (CLI) 35

Page 42: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

new testit c:\AppTest# Navigieren Sie zu der neu erstellten Anwendung.cd testit# Importieren Sie die Projektdateien (.ppfs) unter c:\projects\joans.im c:\projects\joans\*.ppf# Aktualisieren Sie das Projekt.refresh

# Führen Sie eine Beurteilung durch.Überprüfung# Registrieren Sie die Beurteilung.register# Veröffentlichen Sie die Beurteilung.publishassess# Melden Sie sich ab und beenden Sie die Sitzung der Befehlszeilenschnittstelle.quit

AusgabeProtokollierung in ’c:\mylogfile.log’...

AllApplications>> new testit c:\AppTestAllApplications>> cd testitAllApplications\testit>> import c:\TestApps\testproj\*.ppfAllApplications\testit>> refreshAllApplications\testit>> ls

214: testproj (Project [local])

AllApplications\testit>> la

testit hat keine aktuellen Beurteilungen.

ÜberprüfungNeue Überprüfung gestartet um 15:41:55Überprüfung von Projekt ’testproj’ (1 von 1)Projekt wird für Überprüfung vorbereitet......

Datei C:\TestApps\\testproj\src\se\bluefish\blueblog\metarepository\Meta wird durchsuchtCategory.java (21 von 33)Datei C:\TestApps\testproj\src\se\bluefish\blueblog\metarepository\Meta wird durchsuchtRepository.java (22 von 33)

-------------------Gesamtzahl der Aufrufseiten: 348Gesamtzahl der definitiven Security-Ergebnisse mit hohem Schweregrad: 5Gesamtzahl der definitiven Security-Ergebnisse mit mittlerem Schweregrad: 1Gesamtzahl der definitiven Security-Ergebnisse mit niedrigem Schweregrad: 4Gesamtzahl der fehlerverdächtigen Security-Ergebnisse mit hohem Schweregrad: 0Gesamtzahl der fehlerverdächtigen Security-Ergebnisse mit mittlerem Schweregrad: 8Gesamtzahl der fehlerverdächtigen Security-Ergebnisse mit niedrigem Schweregrad: 0Gesamtzahl der Scan-Abdeckungsergebnisse mit hohem Schweregrad: 16Gesamtzahl der Scan-Abdeckungsergebnisse mit mittlerem Schweregrad: 27Gesamtzahl der Scan-Abdeckungsergebnisse mit niedrigem Schweregrad: 16Gesamtzahl der Zeilen: 7386Max S-Dichte: 732.2772813430815Max V/KLoC: 10.42512862171676S-Dichte: 732.2772813430815V/KLoC: 10.42512862171676

AllApplications\testit>> registerAllApplications\testit>> ’testit’ wurde erfolgreich registriert.AllApplications\testit>> pa

36 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 43: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Beurteilung erfolgreich veröffentlicht.

AllApplications\testit>> la

AllApplications\testit>> 27001: testit (Application, Fri Mar 14 15:41:55 EDT 2008)

AllApplications\testit>>

Kapitel 1. AppScan Source-Befehlzeilenschnittstelle (CLI) 37

Page 44: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

38 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 45: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Kapitel 2. Das Ounce/Ant-Buildtool

Dieser Abschnitt beschreibt, wie Ounce/Ant, ein AppScan Source-Builddienstpro-gramm, das AppScan Source und Apache Ant integriert, verwendet wird. Die Inte-gration von Ounce/Ant mit Ihrer Ant-Umgebung hilft Ihnen bei der Automatisie-rung von Builds und Codebeurteilungen.

Ounce/Ant ist ein AppScan Source-Buildtool, das sich in Ihre Apache Ant-Build-umgebung integriert. Statt AppScan Source-Projekt- und -Anwendungsdateien inAppScan Source for Analysis manuell zu erstellen und zu konfigurieren, erstelltOunce/Ant automatisch AppScan Source-Projekte und -Anwendungen, die alle er-forderlichen Angaben enthalten, wie z. B. Quellendateien und den Klassenpfad.AppScan Source kann die Projekt- und Anwendungsdateien dann überprüfen.

Die folgenden Versionen von Apache Ant und dem Java™ JDK sind für die Ver-wendung mit Ounce/Ant erforderlich:v Apache Ant Version 1.7 oder höherv Java JDK Version 1.3.1 oder höherv Java JDK Version 1.4 für die Verwendung mit der Task var erforderlich

Integration von Ounce/Ant und Apache/AntDie in diesem Taskabschnitt beschriebenen Schritte sind erforderlich, um Ounce/Ant in die Apache/Ant-Buildumgebung zu integrieren.

Vorgehensweise1. Kopieren Sie die Datei ounceant.jar und optional auch ant-contrib-1.0b3.jar

in das Verzeichnis ant lib.Die AppScan Source-Installation platziert ounceant.jar undant-contrib-1.0b3.jar in <installationsverzeichnis>\lib (wobei<installationsverzeichnis> die Position Ihrer AppScan Source-Installation ist).

2. Optional: Überschreiben Sie die Eigenschaft build.compiler.(Unter „Projekte erstellen” auf Seite 41 finden Sie weitere Informationen zumÜberschreiben von build.compiler.)Überschreiben Sie diese Eigenschaft mithilfe einer der folgenden Methoden:v Verwenden Sie ein Eigenschaftstag in der Datei build.xml.

<property name="build.compiler"value="com.ouncelabs.ounceant.OunceCompilerAdapter"/>

v Geben Sie den Wert für build.compiler in der Befehlszeile ein, wenn Sie Antmit der Option -D aufrufen.ant -Dbuild.compiler=com.ouncelabs.ounceant.OunceCompilerAdapter

v Nehmen Sie den Wert für build.compiler in eine Textdatei auf und weisenSie Ant wie in der Ant-Dokumentation beschrieben an, die Eigenschaften indieser Datei mit der Option properties zu laden.

3. Erstellen Sie taskdef-Tasks.Um Ounce/Ant-Tasks verwenden zu können, müssen Sie ounceant.jar in einertaskdef-Task definieren. Beispiel:

© Copyright IBM Corp. 2003, 2014 39

Page 46: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

<taskdef resource="com/ouncelabs/ounceant/task/ounce.xml"classpath="ounceant.jar"/>

Damit Sie die Task var verwenden können, muss ant-contrib-1.0b3.jar dieTask taskdef wie folgt referenzieren:<taskdef resource="net/sf/antcontrib/antlib.xml"/>

Ounce/Ant-EigenschaftenDie Tabelle in diesem Abschnitt beschreibt die optionalen Ounce/Ant-Eigenschaf-ten.

EigenschaftGültige Werte/Standardwerte Beschreibung

ounce.default.configuration_name

<Konfigurationsname> Im AppScan Source-ProjekterstellterKonfigurationsname.

Sofern nicht festgelegt, wird'Configuration 1' verwendet.

ounce.build.compiler Compilername Name der ausführbarenCompilerdatei, die verwen-det wird, wenn die Ant-Ei-genschaft build.compiler fürdie Verwendung vonOunceCompilerAdapter konfi-guriert ist.

Sofern nicht festgelegt, wirdjavac verwendet.

ounce.project_name name Projektname.

Sofern nicht festgelegt, gene-riert Ounce/Ant einen Na-men. Weitere Informationenfinden Sie in „Projektebenennen” auf Seite 43.

ounce.project_dir

(Erforderlich zur Festlegungvon ounce.project_name)

<Projektverzeichnis> Arbeitsverzeichnis des Pro-jekts.

Sofern nicht festgelegt, wirddas Verzeichnis der aktuellenBuilddatei verwendet.

ounce.application_name <Anwendungsname> Anwendungsname. WeitereInformationen hierzu findenSie in „Anwendungen erstel-len und benennen” auf Seite44.

ounce.application_dir

(Erforderlich zur Festlegungvon ounce.application_name)

<Anwendungsverzeichnis> Arbeitsverzeichnis der An-wendung.

Sie müssenounce.application_name undounce.application_dir fest-legen, um ein Projekt zu ei-ner Anwendung hinzufügenzu können.

40 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 47: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

EigenschaftGültige Werte/Standardwerte Beschreibung

ounce.projects.store_full_paths

(optional)

true oder false Speichert absolute Pfade, diein Anwendungen und Pro-jekten erstellt werden.

Sofern nicht festgelegt, wer-den relative Pfade verwen-det.

Eigenschaften festlegenSie können mithilfe der Task var Eigenschaften beliebig oft festlegen. Beim explizi-ten oder impliziten Aufruf verwendet ounceCreateProject die aktuellen Eigen-schaftswerte. Sie können Eigenschaften mithilfe eines der Verfahren festlegen, dieim Abschnitt zu dieser Task skizziert sind.

Vorgehensweisev Verwenden Sie ein Attribut für eine Ounce/Ant-Task, wenn das Attribut vorhan-

den ist.v Verwenden Sie vor der entsprechenden AppScan Source-Task eine var-Task. Ei-

genschaften, die mit var festgelegt werden, verbleiben im Geltungsbereich nurderjenigen Datei, in der sie festgelegt werden. Um die Task var zu benutzen,muss die Ant-Beitragsbibliothek im Ant-Verzeichnis lib vorhanden sein und dieTask taskdef muss sie referenzieren.<taskdef resource="net/sf/antcontrib/antlib.xml"/>

v Verwenden Sie -D auf der Ant-Befehlszeile.v Legen Sie die Eigenschaft in einer Buildeigenschaftsdatei (normalerweise mit

dem Namen build.properties) fest.

Projekte erstellenDie Task ounceCreateProject generiert AppScan Source-Projekte.

Verwenden Sie ounceCreateProject explizit oder implizit:v Rufen Sie ounceCreateProject explizit in einer Ant-Builddatei auf.v Rufen Sie ounceCreateProject implizit jedes Mal auf, wenn die Task javac auf-

gerufen wird, indem Sie die Eigenschaft build.compiler überschreiben.

Projekte können zu Anwendungen gruppiert werden. Sie können das optionaleAnwendungsattribut oder die passenden Ounce/Ant-Eigenschaften verwenden,um das erstellte Projekt in einer Anwendung zu platzieren.

Projekte können mit Ounce/Ant auch erweitert werden. Projektattribute aus meh-reren Projekten können in einem AppScan Source-Projekt zusammengeführt wer-den. Wenn mehrere javac- oder ounceCreateProject-Tasks dasselbe Projekt erwei-tern sollen, behalten Sie denselben Namen und das Verzeichnis bei.

Anmerkung: Wenn Sie build.compiler zum Erstellen von Projekten überschreiben,führen Sie zuerst ant clean aus.

Informationen zur Verwendung von Eigenschaften und ihren verschachtelten Attri-buten finden Sie in „ounceCreateProject-Taskbeispiel” auf Seite 42.

Kapitel 2. Das Ounce/Ant-Buildtool 41

Page 48: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

ounceCreateProject

ounceCreateProject akzeptiert die folgenden Parameter und verschachtelten Ele-mente:

Als Attribute angegebene Parameter Beschreibung

name Name für das Projekt.

workingDir Arbeitsverzeichnis für das Projekt.

classpath Klassenpfad für das Projekt.

sourcepath Quellenpfad für dieProjektquellenabhängigkeiten. Diese Dateienwerden nicht auf Sicherheitslücken über-prüft.

jdkName AppScan Source-JDK-Name, der beim Scan-nen des Projekts verwendet werden muss.(Muss in AppScan Source for Analysis er-stellt werden.)

appName Anwendung, die dieses Projekt enthält (opti-onal).

appDir Anwendungsverzeichnis (optional)

Als verschachtelte Elemente angegebeneParameter Beschreibung

ounceSourceRoot Gibt die Projektquellenstammverzeichnissean

ounceWeb Gibt die Projektwebinhalte an

ounceExclude Ermöglicht den Ausschluss bestimmter Da-teien aus der im übergeordneten Elementangegebenen Dateigruppe.

ounceCreateProject-Taskbeispiel<ounceCreateProjectname="myProjectName"workingDir="${sandbox}/myProject"classpath="${my.class.path}"sourcepath="${my.source.path}"jdkName="jdk15"appName="myApp"appDir="${sandbox}><ounceSourceRoot dir="src"/><ounceExclude dir="src/test"/><ounceExclude file="src/mydir/Bad.java"/><ounceSourceRoot dir="src2"/><ounceSourceRoot file="src3/mydir.java"/><ounceWeb webContextRoot="web/myProject.war"/><ounceExclude dir="web/test"/><ounceExclude file="web/partial.jsp"/></ounceCreateProject>

ounceSourceRoot

ounceSourceRoot akzeptiert die folgenden Parameter, die als Attribute angegebenwerden:

42 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 49: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Als Attribute angegebene Parameter Beschreibung

dir Pfad zu einem gültigen Java-Quellenstammverzeichnis

file Pfad zu einer einzelnen Datei

ounceWeb

ounceWeb akzeptiert die folgenden Parameter, die als Attribute angegeben werden.

Als Attribute angegebene Parameter Beschreibung

webContextRoot Pfad zu einem gültigenWebkontextstammverzeichnis oder einerwar-Datei.

ounceExclude

ounceExclude akzeptiert die folgenden Parameter, die als Attribute angegeben wer-den:

Als Attribute angegebene Parameter Beschreibung

dir Pfad zum auszuschließenden Verzeichnis

file Pfad zu einer einzelnen auszuschließendenDatei

Projekte benennenSie können ein Projekt unter Verwendung der Standardbenennungskonventionoder durch manuelle Erstellung eines Projektnamens benennen.

Standardbenennung von Projekten

Das Standardbenennungsschema in Ounce/Ant gestattet die Erstellung eindeutigerProjektnamen.<Verzeichnis>_<Zielname>[_<Zahl>]

v <Verzeichnis>: Name des Projektverzeichnisses (schließt nicht den gesamtenPfad ein)

v <Zielname>: Name des aktuellen Zielsv <Zahl>: Eine ganze Zahl beginnend bei 1, die nach Bedarf erhöht wird, um zu

garantieren, dass sie eindeutig ist. Beachten Sie, dass <Zahl> nur bei Vorliegen ei-nes Konflikts auftritt.

Beispiel

Mit den folgenden Parametern wird der Name zu test_compile. Wenn zwei Pro-jekte am Kompilierungsziel erstellt werden, wird der zweite Name zu test_com-pile_1.<Arbeitsverzeichnis> = C:\mydir\test<Verzeichnis> = test<Zielname> = compile

Kapitel 2. Das Ounce/Ant-Buildtool 43

Page 50: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Projekte manuell benennen

Wenn Sie ein Projekt mit ounceCreateProject erstellen, können Sie das Attributname zur Angabe eines Projektnamens verwenden. Wenn das Attribut name nichtangegeben ist oder Sie Projekte mithilfe von javac erstellen, fragt die AppScanSource-Task die Eigenschaft ounce.project_name ab. Ist diese festgelegt, dann wirddieser Wert als Projektname verwendet. Deswegen kann die Eigenschaftounce.project_name mithilfe von var vor jedem Aufruf der Task javac festgelegtwerden, wodurch für jedes erstellte Projekt ein eindeutiger Name bereitgestelltwird.

Anwendungen erstellen und benennenOunce/Ant kann im laufenden Betrieb AppScan Source-Anwendungen erstellenund die erstellten AppScan Source-Projekte in den Anwendungen gruppieren.

Sie können diese Anwendungen mit zwei Ant-Eigenschaften erstellen:v ounce.application_name

v ounce.application_dir

Wichtig: Um die Anwendung zu erstellen, müssen Sie entweder beide Eigenschaf-ten festlegen oder die Attribute appName und AppDir der Task ounceCreateProjectfestlegen.

Wenn diese Eigenschaften während der Projekterstellung festgelegt werden, wirddas Projekt zu einer Anwendung mit dem Namen hinzugefügt, deren Name durchounce.application_name und deren Arbeitsverzeichnis durchounce.application_dir angegeben ist.

Sie können diese Eigenschaften auch mehrfach mithilfe der Task var festlegen, umProjekte in den gewünschten Anwendungen zu gruppieren. Ein Anwendungsnameist geeignet, wenn aus ihm die Kombination der Projekte in einer einzelnen An-wendung hervorgeht.

Tipp: Wenn Sie ounceCreateProject verwenden, sollten Sie auch mithilfe der Attri-bute appName und appDir die Anwendung angeben, in die das Projekt eingeschlos-sen werden soll.

Integration eines BuildsDie Task ounceCli ermöglicht den Zugriff auf die AppScan Source-Befehlzeilen-schnittstelle (CLI), um während eines Builds eine Überprüfung durchzuführen. DieTask ounceCli kann cli aus Ant aufrufen.

ounceCli erfordert die Angabe der folgenden Parameter als Attribute:v dir: Position des AppScan Source-Installationsverzeichnissesv script: Position der auszuführenden cli-Scriptdateiv output: Position der cli-Ausgabedatei

Beispiel<ounceClidir="${installDir}"script="${scripts}/cli_script.txt"output="log.txt"/>

44 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 51: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Kapitel 3. AppScan Source-Data Access-API

Die Data Access-API ermöglicht Zugriff auf Beurteilungsergebnisse, einschließlichvon Untersuchungsergebnissen und Details zu Untersuchungsergebnissen, die vonAppScan Source generiert wurden. Sie bietet auch Zugriff auf Beurteilungskenn-zahlen wie Datum und Zeit der Analyse, Codezeilen, Dichte der Sicherheitslückenund Anzahl der Ergebnisse.

Die Data Access-API ist in der Installation der folgenden AppScan Source-Kompo-nenten enthalten:v AppScan Source for Analysisv AppScan Source-Befehlzeilenschnittstelle (CLI)

Die Data Access-API wird installiert als <installationsverzeichnis>\sdk\ouncesdk.jar (wobei <installationsverzeichnis> die Position Ihrer AppScanSource-Installation ist).

Wenn ein Programm, das das SDK verwendet, ausgeführt wird, müssen Sie die fol-genden Argumente von Java Virtual Machine (JVM) in der Befehlszeile angeben:java -classpath<Installationsverzeichnis>\lib\avalon-framework-4.1.5.jar;<Installationsverzeichnis>\lib\icu4j-4_8.jar;<Installationsverzeichnis>\lib\jacorb.jar;<Installationsverzeichnis>\lib\log4j-1.2.8.jar;<Installationsverzeichnis>\lib\logkit-1.2.jar;<Installationsverzeichnis>\sdk\ouncesdk.jar;<Installationsverzeichnis>\lib\xml-apis.jar;<Installationsverzeichnis>\lib\saxon9.jar... com.company.product.ClassName

Die Data Access-API erfordert JDK ab Version 1.5.

© Copyright IBM Corp. 2003, 2014 45

Page 52: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Data Access-API-Objektmodell

Diagramm 1 - UML-Diagramm (UML = Unified Modeling Langua-ge) mit Objektmodell für Beurteilungen

- getAssessments()

1

*

AssessedFile

- getPublishedAssessments()- openAssessment()

- getAssessments()- getAssessmentForApplication()- getAssessmentForProject()

- getAssessedFiles()

1

1..*

1

*

Factory

AssessmentResults

Assessment

1

*

46 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 53: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Diagramm 2 - UML-Diagramm (UML = Unified Modeling Langua-ge) mit Objektmodell für Ergebnisse

Call

- getFindings()

- getTrace()

- getCalls()

- getFindings()

- getFindings()

1

*

1

*

1

*

1

0..1

1

1..*

AssessmentResults

*

Assessment

Finding

1

AssessedFile

Trace

Diagramm 1 - UML-Diagramm (UML = Unified Modeling Lan-guage) mit Objektmodell für Beurteilungen

Oben im Diagramm befindet sich die Klasse Factory. Die Klasse Factory verfügtüber eine Beziehung zur Klasse AssessmentResults, die über zwei Methoden in derKlasse Factory hergestellt wird: openAssessment() und getPublishedAssess-ments(). Die Beziehung zwischen diesen beiden Klassen besteht zwischen einerKlasse Factory und einer oder mehreren Klasse(n) AssessmentResults.

Unter der Klasse Factory ist im Diagramm die Klasse AssessmentResults darge-stellt. Die Klasse AssessmentResults verfügt über eine Beziehung zur Klasse As-sessment, die über drei Methoden (getAssessments(),getAssessmentForApplication() und getAssessmentForProject()) hergestellt wird.Die Beziehung zwischen diesen beiden Klassen verläuft besteht zwischen einerKlasse AssessmentResults und null oder mehr Klassen Assessment.

Unter der Klasse AssessmentResults ist im Diagramm die Klasse Assessment darge-stellt. Eine Klasse Assessment verfügt über eine Beziehung zu null oder mehr Klas-sen AssessedFile, die über die Methode getAssessedFiles() hergestellt wird. DieKlasse Assessment hat auch eine Beziehung zu sich selbst, die über die Methode

Kapitel 3. AppScan Source-Data Access-API 47

Page 54: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

getAssessments() hergestellt wird. Diese Beziehung besteht zwischen einer KlasseAssessment zu null oder mehr untergeordneten Klassen Assessment.

Unter der Klasse Assessment ist im Diagramm die Klasse AssessedFile dargestellt.Eine Klasse Assessment verfügt über eine Beziehung zu null oder mehr KlassenAssessedFile, die über die Methode getAssessedFiles() hergestellt wird.

Diagramm 2 - UML-Diagramm (UML = Unified Modeling Lan-guage) mit Objektmodell für Ergebnisse

Oben im Diagramm sind die drei Klassen AssessmentResults, Assessment undAssessedFile dargestellt. Jede dieser drei Klassen verfügt über eine Beziehung zurKlasse Finding, die über die Methode getFindings() hergestellt wird. Die Bezie-hung besteht zwischen einer der erstgenannten Klassen zu null oder mehr KlassenFinding. Die Klasse Assessment verfügt auch über eine Beziehung zu sich selbst,die zwischen der Klasse Assessment und null oder mehr untergeordneten KlassenAssessment besteht.

Unter der Klasse Finding ist im Diagramm die Klasse Trace dargestellt. Eine Klas-se Finding verfügt über eine Beziehung zu null oder mehr Klassen Trace, die überdie Methode getTrace() hergestellt wird.

Unter der Klasse Trace ist im Diagramm die Klasse Call dargestellt. Eine KlasseTrace verfügt über eine Beziehung zu einer oder zu mehreren Klassen Call, dieüber die Methode getCalls() hergestellt wird.

Data Access-API verwendenDieser Abschnitt enthält eine Anzahl von Szenarios, für die Sie die Data Access-API verwenden können. Umfassendere Beispiele finden Sie in den DateienSamplePublished.java und SampleSdk.java, die im Verzeichnis<installationsverzeichnis>\sdk\sample\com\ouncelabs\sdk\sample enthalten sind(wobei <installationsverzeichnis> die Position Ihrer AppScan Source-Installationist).

Beurteilung aus einer Datei öffnenDieser Beispielcode wird als Muster für das Öffnen einer Beurteilung aus einer Da-tei bereitgestellt.Factory factory = new Factory();try {factory.init(install_dir);factory.login("admin", "123456", "localhost");AssessmentResults assessmentResults =factory.openAssessment("myApp.ozasmt");printAssessmentResults(assessmentResults);} finally {factory.shutdown();}

Liste der Ergebnisse ausgebenDieser Beispielcode wird als Muster für das Ausgeben einer Liste der Ergebnissebereitgestellt.private void printAssessment(AssessmentResults results)

throws OunceException {Assessment childAssessment = assessmentResults.getAssessmentForApplication("myApp");Finding[] findings = childAssessment.getFindings();

48 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 55: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

for (int i = 0; i < findings.length; ++i) {Finding finding = findings[i];Object[] data = new Object[] {finding.getApiName(),finding.getVulnerabilityType(),finding.getClassification(),finding.getSeverity(),finding.getFilename(),new Integer(finding.getLineNumber()),finding.getSrcContext(),Boolean.valueOf(finding.isExcluded()),};printData(i,data);Trace trace = finding.getTrace();if (trace != null) {printTrace(trace);}}}

Liste veröffentlichter Beurteilungen abrufenDieser Beispielcode wird als Muster für das Ausgeben einer Liste von veröffent-lichten Beurteilungen bereitgestellt.Factory factory = new Factory();try {factory.init(install_dir);factory.login("admin", "123456", "localhost");

AssessmentFilter filter = new AssessmentFilter(20);filter.setUserName("joe");filter.setDateProximity(2.5, DateProximityUnit.DAY);AssessmentResults[] publishedAssessments =factory.getPublishedAssessments(filter);printAssessmentList(publishedAssessments);} finally {factory.shutdown();}

Trace ausgebenDieser Beispielcode wird als Muster für das Ausgeben eines Trace bereitgestellt.private void printTrace(Trace trace) throws OunceException {Call[] calls = trace.getCalls();for (int i = 0; i < calls.length; ++i) {printCall(calls[i], 1);}}private void printCall(Call call, int indentLevel) throwsOunceException {printSpaces(indentLevel * 4);Object data[] = new Object[] {call.getFilename(),call.getClassName(),call.getMethodName(),call.getSrcContext()};printData(data);Call[] calls = call.getCalls();for (int i = 0; i < calls.length; ++i) {printCall(calls[i], indentLevel + 1);}}

Kapitel 3. AppScan Source-Data Access-API 49

Page 56: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Klassen und Methoden der Data Access-API

Dieser Abschnitt enthält eine detaillierte Beschreibung der Klassen und Methodender AppScan Source-Data Access-API. Die Klassen lauten wie folgt:v com.ouncelabs.sdk.Factory

v com.ouncelabs.sdk.assessment.AssessedFile

v com.ouncelabs.sdk.assessment.Assessment

v com.ouncelabs.sdk.assessment.AssessmentDiff

v com.ouncelabs.sdk.assessment.AssessmentResults

v com.ouncelabs.sdk.assessment.Finding

v com.ouncelabs.sdk.assessment.Trace

v com.ouncelabs.sdk.assessment.Call

v com.ouncelabs.sdk.assessment.SeverityType

v com.ouncelabs.sdk.assessment.ClassificationType

v com.ouncelabs.sdk.assessment.AssessmentFilter

v com.ouncelabs.sdk.assessment.OunceException

AssessedFileDie Klasse com.ouncelabs.sdk.assessment.AssessedFile stellt eine Beurteilung ei-ner einzelnen Datei dar. Sie bietet Zugriff auf die Beurteilungsdaten einer Datei,wie zum Beispiel Ergebnisse und Statistikdaten.

AssessedFile.getFindings

Signaturpublic Finding[] getFindings()

Beschreibung

Bietet Zugriff auf alle Ergebnisse der vorliegenden AssessedFile.

Rückgabewert

Ein Array von Ergebnisobjekten für diese beurteilte Datei.

Löst aus

OunceException, wenn die Data Access-API die Ergebnisse nicht abrufen kann.

AssessedFile.getStats

Signaturpublic AssessmentStats getStats()

Beschreibung

Bietet Zugriff auf zusammengefasste Statistikdaten für diese Datei, wie zum Bei-spiel die Gesamtzahl der Ergebnisse, Gesamtzahl der Zeilen und so weiter.

Rückgabewert

AssessmentStats-Objekt mit den Statistikdaten dieser Beurteilung.

50 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 57: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Löst aus

OunceException, wenn die Data Access-API die Statistikdaten nicht abrufen kann.

AssessedFile.getFilename

Signaturpublic String getFilename()

Beschreibung

Bietet Zugriff auf den absoluten Pfad zu der durch AssessedFile dargestellten Da-tei.

Rückgabewert

Zeichenfolge. die den absoluten Pfad zu der durch AssessedFile dargestellten Da-tei enthält.

BeurteilungDie Klasse com.ouncelabs.sdk.assessment.Assessment stellt eine Beurteilung einerAnwendung oder eines Projekts dar.

Assessment.getFindings

Signaturpublic Finding[] getFindings()

Beschreibung

Bietet Zugriff auf alle Ergebnisse der vorliegenden Beurteilung.

Rückgabewert

Ein Array von Ergebnisobjekten für diese Beurteilung.

Assessment.getStats

Signaturpublic AssessmentStats getStats()

Beschreibung

Eine vollständige Liste von Statistikdaten, einschließlich: Gesamtzahl der anaylsier-ten Dateien, Gesamtzahl der gefundenen Sicherheitslücken, Zeitpunkt der Über-prüfung und Dichte der Sicherheitslücken.

Rückgabewert

AssessmentStats-Objekt mit den Statistikdaten dieser Beurteilung.

Assessment.getAssessments

Signaturpublic Assessment[] getAssessments()

Kapitel 3. AppScan Source-Data Access-API 51

Page 58: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Beschreibung

Gibt die untergeordneten Elemente der Assessment-Objekte dieser Beurteilung wie-der. Da Projektbeurteilungen keine untergeordneten Elemente haben, werden un-tergeordnete Beurteilungsobjekte nur bei Anwendungsbeurteilungen wiedergege-ben.

Rückgabewertv Bei Anwendungsbeurteilungen wird ein Array von Assessment-Objekten wieder-

gegeben, ein Objekt für jedes überprüfte Projekt in der Anwendung.v Bei Projektbeurteilungen wird ein leeres Array wiedergegeben.

Löst aus

OunceException, wenn die Data Access-API die Beurteilungen nicht abrufen kann.

Assessment.getFiles

Signaturpublic AssessedFile[] getFiles()

Beschreibung

Bietet Zugriff auf jede Datei, die Teil dieser Beurteilung war.

Rückgabewert

Ein Array von AssessedFile-Objekten. Dabei stellt jedes Objekt eine Datei dar, dieTeil der Beurteilung war.

Löst aus

OunceException, wenn die Data Access-API die beurteilten Dateien nicht abrufenkann.

Assessment.getFileByPath

Signaturpublic AssessedFile getFileByPath(filePath)

Beschreibung

Bietet Zugriff auf eine beurteilte Datei nach dem Pfad.

Rückgabewert

Das AssessmentFile-Objekt, das einem angegebenen Dateipfad entspricht, oderNull, wenn der angegebene Dateipfad nicht mit einer beurteilten Datei überein-stimmt.

Löst aus

OunceException, wenn die Data Access-API die beurteilten Dateien nicht abrufenkann.

52 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 59: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Assessment.getAssesseeName

Signaturpublic String getAssesseeName()

Beschreibung

Zeigt den Namen der Anwendung oder des Projekts an, von dem diese Beurtei-lung erstellt wurde.

Rückgabewert

Name einer Anwendung oder eines Projekts.

AssessmentDiffDie Klasse com.ouncelabs.sdk.assessment.AssessmentDiff enthält den Unterschiedzwischen zwei Beurteilungen, gibt also das Delta zwischen zwei Beurteilungen an.

AssessmentDiff.getCommonFindings

Signaturpublic Finding[] getCommonFindings()

Beschreibung

Ruft die Ergebnisse ab, die in beiden Beurteilungen vorhanden sind.

AssessmentDiff.getLostFindings

Signaturpublic Finding[] getLostFindings()

Beschreibung

Ruft die Ergebnisse ab, die in der ersten, nicht aber in der zweiten Beurteilung vor-handen waren.

AssessmentDiff.getNewFindings

Signaturpublic Finding[] getNewFindings()

Beschreibung

Ruft die Ergebnisse ab, die in der zweiten, nicht aber in der ersten Beurteilung vor-handen waren.

AssessmentFilterVerwenden Sie die Klasse com.ouncelabs.sdk.assessment.AssessmentFilter, umFilterbedingungen für den Abruf veröffentlichter Beurteilungen anzugeben.

AssessmentFilter.AssessmentFilter

Signaturpublic AssessmentFilter(int maxResults)

Kapitel 3. AppScan Source-Data Access-API 53

Page 60: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Beschreibung

Konstruktorfunktion, die nur die maximale Anzahl der veröffentlichten Beurteilun-gen, die abgerufen werden sollen, angibt. Sie können zusätzliche Filteroptionen an-geben, indem Sie die festgelegten Methoden in der Klasse aufrufen (zum BeispielsetUserName(), um nach veröffentlichten Benutzern zu filtern).

Parameterv maxResults: Die maximale Anzahl der zurückgegebenen Ergebnisse.

AssessmentFilter.AssessmentFilter

Signaturpublic AssessmentFilter(String appName,String userName,Double dateProximityDuration,int DateProximityUnit,Long dateRangeStart, Long dateRangeEnd,int maxResults)

Beschreibung

Konstruktorfunktion, die alle Kriterienoptionen als Argumente nimmt.

Parameterv appName: Der Anwendungsname. (Null, wenn nicht von appName gefiltert.)v userName: Der Benutzer, der die Anwendung veröffentlicht hat. (Null, wenn

nicht nach Benutzername gefiltert wurde.)v dateProximityDuration: Wenn paarweise verbunden mit dateProximityUnit, die

Anzahl der zu filternden Einheiten (Tage, Wochen usw.) beginnend mit dem ak-tuellen Datum. (Null, wenn nicht nach Datumsnähe gefiltert wurde.)

v dateProximityUnit: Wenn paarweise verbunden mit dateProximityDuration, dieEinheit, wie Tage, Wochen usw., nach der gezählt wird. Erforderlich, wenndateProximityDuration angegeben wird. Weitere Informationen zu gültigen Ein-heiten finden Sie in „DateProximityUnit.value” auf Seite 60.

v dateRangeStart: Der Start eines Datumsbereichs. (Null, wenn nicht nach Da-tumsbereich gefiltert wird.)

v dateRangeEnd: Das Ende des Datumsbereichs (Null, wenn nicht nach Datumsbe-reich gefiltert wird.)

v maxResults: Die maximale Anzahl der zurückgegebenen Ergebnisse.

AssessmentResults+Die Klasse com.ouncelabs.sdk.assessment.AssessmentResults stellt die gesamteBeurteilung dar.

AssessmentResults.getFindings

Signaturpublic Finding[] getFindings()

Beschreibung

Bietet Zugriff auf alle Ergebnisse der Klasse AssessmentResults.

54 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 61: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Rückgabewert

Ein Array von Ergebnisobjekten für diese Beurteilung.

Löst aus

OunceException, wenn die Data Access-API die Ergebnisse nicht abrufen kann.

AssessmentResults.getAssessments

Signaturpublic Assessment[] getAssessments()

Beschreibung

Bietet Zugriff auf die Beurteilungsdaten jeder Anwendung, die als Teil der KlasseAssessmentResults beurteilt wurde.

Rückgabewert

Ein Array von Beurteilungsobjekten, jeweils eines für jede Anwendung, die Teil derKlasse AssessmentResults war.

Löst aus

OunceException, wenn die Data Access-API die Beurteilungen nicht abrufen kann.

AssessmentResults.getStats

Signaturpublic AssessmentStats getStats()

Beschreibung

Bietet Zugriff auf zusammengefasste Statistikdaten für diese Beurteilung, wie zumBeispiel die Gesamtzahl der beurteilten Dateien, Gesamtzahl der Zeilen und soweiter.

Rückgabewert

AssessmentStats-Objekt mit den Statistikdaten dieser Beurteilung.

Löst aus

OunceException, wenn die Data Access-API die Beurteilungsstatistikdaten nicht ab-rufen kann.

AssessmentResults.getAssessmentForApplication

Signaturpublic Assessment[] getAssessmentForApplication(String applicationName)

Beschreibung

Bietet Zugriff auf die Beurteilungsdaten der angegebenen Anwendung.

Kapitel 3. AppScan Source-Data Access-API 55

Page 62: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Parameter

applicationName: Der Anwendungsname.

Rückgabewert

Ein Array von Beurteilungsobjekten, jeweils eines für jede Anwendung, die demangegebenen Namen entspricht.

Löst aus

OunceException, wenn die Data Access-API die Beurteilungen nicht abrufen kann.

Hinweis zur Kompatibilität

Diese Methode ist nur gültig für Beurteilungen, die mit AppScan Source (Ounce)ab Version 6.0 ausgeführt wurden. Wird sie für Beurteilungen aufgerufen, die miteiner früheren Version von AppScan Source erstellt wurden, wird stets ein leeresArray zurückgegeben.

AssessmentResults.getAssessmentForProject

Signaturpublic Assessment[]getAssessmentForProject(String projectName, String applicationName)

Beschreibung

Bietet Zugriff auf die Beurteilungsdaten für das angegebene Projekt in der angege-benen Anwendung.

Parameter

projectName: Der Projektname.

applicationName: Der Name der Anwendung, in der sich das Projekt befindet.

Rückgabewert

Ein Array von Beurteilungsobjekten, jeweils eines für jedes Projekt, das dem ange-gebenen Namen entspricht.

Löst aus

OunceException, wenn die Data Access-API die Beurteilungen nicht abrufen kann.

Hinweis zur Kompatibilität

Diese Methode ist nur gültig für Beurteilungen, die mit AppScan Source (bisherunter der Bezeichnung 'Ounce' bekannt) ab Version 6.0 ausgeführt wurden. Wirdsie für Beurteilungen aufgerufen, die mit einer früheren Version von AppScanSource erstellt wurden, wird stets ein leeres Array zurückgegeben.

56 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 63: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

AssessmentResults.getName

Signaturpublic String getName()

Beschreibung

Gibt den Namen der AssessmentResults zurück.

Rückgabewert

Zeichenfolge, die den Namen der AssessmentResults enthält.

AssessmentResults.getMessages

Signaturpublic Message[] getMessages()

Beschreibung

Bietet Zugriff auf alle Statusnachrichten, die bei Ausführung der Beurteilung inAppScan Source for Analysis in der Konsole angezeigt wurden.

Rückgabewert

Ein Array von Nachrichtenobjekten.

Löst aus

OunceException, wenn die Data Access-API die Nachrichten nicht abrufen kann.

CallDie Klasse com.ouncelabs.sdk.assessment.Call stellt einen Knoten in einem Tracevon AppScan Source-Trace dar.

Call.getCalls

Signaturpublic Call[] getCalls()

Beschreibung

Bietet Zugriff auf die Aufrufe, die im Kontext dieses Aufrufs erfolgt sind.

Rückgabewert

Ein Array von Aufrufobjekten in der Reihenfolge, in der sie aufgerufen wurden.

Löst aus

OunceException, wenn die Data Access-API die Aufrufe nicht abrufen kann.

Call.getFilename

Signaturpublic String getFilename()

Kapitel 3. AppScan Source-Data Access-API 57

Page 64: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Beschreibung

Bietet Zugriff auf den Dateinamen, in dem dieser Aufruf erfolgt ist.

Rückgabewert

Der Dateiname dieses Aufrufs.

Call.getLineNumber

Signaturpublic int getLineNumber()

Beschreibung

Bietet Zugriff auf die Zeilennummer, bei der der Aufruf erfolgte.

Rückgabewert

Die Zeilennummer dieses Aufrufs.

Call.getColumnNumber

Signaturpublic int getColumnNumber()

Beschreibung

Dieser Aufruf bietet Zugriff auf die Spaltennummer, bei der der Aufruf erfolgte.

Rückgabewert

Die Spaltennummer, bei der der Aufruf erfolgte.

Call.getSignature

Signaturpublic String getSignature()

Beschreibung

Bietet Zugriff auf die Signatur der API, die aufgerufen wurde.

Rückgabewert

Die Signatur dieses Aufrufs.

Call.getSrcContext

Signaturpublic String getSrcContext()

Beschreibung

Bietet Zugriff auf den Quellenkontext dieses Aufrufs.

58 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 65: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Rückgabewert

Der Quellenkontext dieses Aufrufs.

Call.getMethodName

Signaturpublic String getMethodName()

Beschreibung

Bietet Zugriff auf den Methodennamen, der aufgerufen wurde.

Rückgabewert

Der Methodenname dieses Aufrufs.

Call.getClassName

Signaturpublic String getClassName()

Beschreibung

Bietet Zugriff auf den Klassennamen, zu dem die aufgerufene Methode gehört.

Rückgabewert

Der Klassenname dieser aufgerufenen Methode.

Call.getTraceType

Signaturpublic TraceType getTraceType()

Beschreibung

Bietet Zugriff auf den Tracetyp dieses Aufrufs. Der Tracetyp kann zum Beispiel an-geben, ob der Aufruf eine Quelle oder ein Sink ist.

Rückgabewert

TraceType-Objekt, das den Tracetyp des Aufrufs darstellt.

ClassificationTypeDie Klasse com.ouncelabs.sdk.assessment.ClassificationType stellt die Klassifi-zierung eines Ergebnisses dar.

Statische Elementev ClassificationType.Vulnerability

v ClassificationType.Type1

v ClassificationType.Type2

v ClassificationType.Unknown

Kapitel 3. AppScan Source-Data Access-API 59

Page 66: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

ClassificationType.value

Signaturpublic int value()

Beschreibung

Bietet Zugriff auf den Wert dieses ClassificationType-Objekts. Der zurückgegebe-ne Wert entspricht einem der Werte der statischen Elemente.

Rückgabewert

Der Klassifizierungswert für dieses ClassificationType-Objekt.

DateProximityUnitWenn com.ouncelabs.sdk.assessment.DateProximityUnit mitdateProximityDuration paarweise verbunden wird, bezeichnet dies die Einheit,nach der gezählt wird (also etwa Tage, Wochen usw.). Erforderlich, wenndateProximityDuration angegeben ist. Gültige Einheiten sind in diesem Abschnittbeschrieben.

Statische Elementev DateProximityUnit.Hour

v DateProximityUnit.Day

v DateProximityUnit.Week

v DateProximityUnit.Month

v DateProximityUnit.Year

DateProximityUnit.value

Signaturpublic EnumType value()

Beschreibung

Bietet Zugriff auf den Wert dieses DateProximityUnit-Objekts. Der zurückgegebeneWert entspricht einem der Werte der statischen Elemente.

Rückgabewert

Der Datumswert für dieses DateProximityUnit-Objekt.

Factorycom.ouncelabs.sdk.Factory stellt Methoden für die Initialisierung, die Anmeldungund das Öffnen von Beurteilungen bereit. Diese Klasse ist der Eingangspunkt indie Data Access-API.

Factory.init

Signaturpublic void init(String installDir, boolean acceptInvalidSSLCerts)

60 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 67: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Beschreibung

Initialisiert die Data Access-API. Sie müssen Factory.init aufrufen, bevor Sie eineandere Methode aufrufen.

Parameterv installDir: Pfad zum AppScan Source-Installationsverzeichnis (siehe

„Standardinstallationsverzeichnis” auf Seite 125).v acceptInvalidSSLCerts: Setzen Sie den booleschen Wert auf 'true', wenn Sie un-

gültige SSL-Zertifikate akzeptieren wollen (für SSL-Zertifikate wird keine Prü-fung erforderlich sein).

Löst aus

OunceException, wenn die Initialisierung fehlschlägt. Tritt im Allgemeinen nur auf,wenn Sie das falsche Verzeichnis angeben.

Factory.shutdown

Signaturpublic void shutdown()

Beschreibung

Beendet die Data Access-API. Wenn Factory.init aufgerufen wird, müssen SieFactory.shutdown aufrufen, damit die Data Access-API ordnungsgemäß geschlos-sen wird. Wird der Aufruf versäumt, dann wird OunceScanner.exe möglicherweiseweiter als bösartiger Prozess ausgeführt.

Factory.clearCache

Signaturpublic void clearCache()

Beschreibung

Dieser Aufruf löscht den Cache für die Data Access-API. Er sollte regelmäßig ver-wendet werden, wenn die Verarbeitung zahlreicher Ergebnisse zu einer übermäßi-gen Speicherbelegung führt.

Factory.login

Signaturpublic void login(String ’Benutzername’, String ’Kennwort’, String ’Hostname’ [int :’Port’])

Beschreibung

Meldet sich beim AppScan Enterprise Server an, der an der angegebenen URL oderauf dem durch Namen angegebenen Host ausgeführt wird. Zum Publizieren vonBeurteilungen in der AppScan Source-Datenbank müssen Sie sich anmelden.

Parameterv Benutzername: Der Benutzername des Benutzers, der sich anmeldet.v Kennwort: Das Kennwort des Benutzers, der sich anmeldet.

Kapitel 3. AppScan Source-Data Access-API 61

Page 68: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

v Hostname: Die URL oder der Hostname des AppScan Enterprise Servers, an demSie sich anmelden möchten. Hostname kann entweder eine IP-Adresse oder einDomänenname sein.

Sofern erforderlich, können Sie den AppScan Enterprise Server-Port durch Anhän-gen von :<Port> angeben. Beispiel: public void login("hwall", "shhh2008", "My-Host:2880").

Löst aus

OunceException, wenn die Anmeldung fehlschlägt.

Factory.openAssessment

Signaturpublic AssessmentResults openAssessment(String ’Pfadname’)

Beschreibung

Öffnet die über den Pfadnamen angegebene Beurteilung.

Parameter

Pfadname: Pfadname zu einer Beurteilungsdatei.

Rückgabewert

Das AssessmentResults-Objekt, das die überPfadname angegebene Beurteilung dar-stellt.

Löst ausv FileNotFoundException, wenn der angegebene Dateiname nicht vorhanden ist

oder nicht geöffnet werden kann.v OunceException, wenn die Data Access-API die Beurteilungsdatei nicht laden

kann.

Factory.getPublishedAssessments

Signaturpublic AssessmentResults[] getPublishedAssessments(AssessmentFilter filter)

Beschreibung

Bietet Zugriff auf veröffentlichte Beurteilungen. Nimmt ein AssessmentFilter-Ob-jekt entgegen, mit dem Sie den Satz der abzurufenden veröffentlichten Beurteilun-gen angeben können.

Parameter

filter: Ein AssessmentFilter-Objekt, das den Satz abzurufender veröffentlichterBeurteilungen angibt.

Rückgabewert

Ein Array mit AssessmentResults-Objekten, die mit dem angegebenen Filter über-einstimmen.

62 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 69: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Löst aus

OunceException, wenn die Data Access-API die Beurteilungsergebnisse nicht abru-fen kann.

Factory.diffAssessments

Signaturpublic AssessmentDiff diffAssessments(AssessmentResults result1, AssessmentResults result2)

Beschreibung

Ermittelt den Unterschied zwischen zwei Beurteilungsergebnissen.

Löst aus

OunceException.

FindingDie Klasse com.ouncelabs.sdk.assessment.Finding stellt ein einzelnes Ergebnis ineiner Beurteilung dar. Sie bietet Zugriff auf alle zu einem Ergebnis gehörenden Da-ten, z. B. Klassifizierung und Schweregrad.

Finding.getFilename

Signaturpublic String getFilename()

Beschreibung

Bietet Zugriff auf den Dateinamen, in dem dieses Ergebnis gefunden wurde.

Rückgabewert

Eine Zeichenfolge, die den absoluten Pfad zu der Datei enthält, in der dieses Er-gebnis gefunden wurde.

Finding.getLineNumber

Signaturpublic int getLineNumber()

Beschreibung

Bietet Zugriff auf die Zeilennummer, in der das Ergebnis gefunden wurde.

Rückgabewert

Zeilennummer für dieses Ergebnis.

Finding.getApiName

Signaturpublic String getApiName()

Kapitel 3. AppScan Source-Data Access-API 63

Page 70: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Beschreibung

Bietet Zugriff auf den Namen des API für dieses Ergebnis.

Rückgabewert

API-Name für dieses Ergebnis.

Finding.getCallerName

Signaturpublic String getCallerName()

Beschreibung

Bietet Zugriff auf die Signatur der Methode, die den Aufruf des API enthielt, dendieses Ergebnis darstellt.

Rückgabewert

Die Signatur des Aufrufenden.

Finding.getClassification

Signaturpublic ClassificationType getClassification()

Beschreibung

Bietet Zugriff auf die aktuelle Klassifizierung des Ergebnisses.

Rückgabewert

ClassificationType-Objekt, das die Klassifizierung des Ergebnisses darstellt.

Finding.getSeverity

Signaturpublic SeverityType getSeverity()

Beschreibung

Ruft den aktuellen Wert des Schweregrades im Ergebnis ab.

Rückgabewert

Das SeverityType-Objekt, das den Schweregrad des Ergebnisses darstellt.SeverityType wird unter „SeverityType.value” auf Seite 70 beschrieben.

Finding.getVulnerabilityType

Signaturpublic String getVulnerabilityType()

64 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 71: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Beschreibung

Bietet Zugriff auf den aktuellen Sicherheitslückentyp des Ergebnisses.

Rückgabewert

Sicherheitslückentyp für dieses Ergebnis. Sicherheitslückentypen wie z. B. Pufferü-berlauf oder SQL-Injection sind in der AppScan Source-Sicherheits-Wissensbasis be-schrieben.

Finding.getOriginalClassification

Signaturpublic ClassificationType getOriginalClassification()

Beschreibung

Bietet Zugriff auf die ursprüngliche Klassifizierung des Ergebnisses. Wenn das Er-gebnis nicht geändert wurde, ist getOriginal dasselbe wie getClassification.

Rückgabewert

ClassificationType-Objekt, das die ursprüngliche Klassifizierung eines Ergebnis-ses darstellt, dessen Klassifizierung geändert wurde.

Finding.getOriginalSeverity

Signaturpublic SeverityType getOriginalSeverity()

Beschreibung

Ruft den ursprünglichen Wert des Schweregrades im Ergebnis ab. Wenn das Ergeb-nis nicht geändert wurde, ist getOriginalSeverity dasselbe wie getSeverity.

Rückgabewert

Das SeverityType-Objekt, das den ursprünglichen Schweregrad eines Ergebnissesdarstellt, dessen Schweregrad geändert wurde.

Finding.getOriginalVulnerabilityType

Signaturpublic String getOriginalVulnerabilityType()

Beschreibung

Bietet Zugriff auf den ursprünglichen Sicherheitslückentyp des Ergebnisses. Wenndas Ergebnis nicht geändert wurde, ist getOriginalVulnerabilityType dasselbe wiegetVulnerability.

Rückgabewert

Ein VulnerablilityType-Objekt, das den ursprünglichen Sicherheitslückentyp einesErgebnisses darstellt, dessen Sicherheitslückentyp geändert wurde.

Kapitel 3. AppScan Source-Data Access-API 65

Page 72: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Finding.getModifiedClassification

Signaturpublic ClassificationType getModifiedClassification()

Beschreibung

Bietet Zugriff auf die geänderte Klassifizierung des Ergebnisses.

Rückgabewert

ClassificationType-Objekt, das die Klassifizierung eines Ergebnisses darstellt, des-sen Klassifizierung geändert wurde. ('NULL' bei fehlender Übereinstimmung.)

Finding.getModifiedSeverity

Signaturpublic SeverityType getModifiedSeverity()

Beschreibung

Ruft den geänderten Wert des Schweregrades ab. Ist dasselbe wie getSeverity(),falls geändert.

Rückgabewert

Das SeverityType-Objekt, das den Schweregrad eines Ergebnisses darstellt, dessenSchweregrad geändert wurde. ('NULL' bei fehlender Übereinstimmung.)

Finding.getModifiedVulnerabilityType

Signaturpublic String getModifiedVulnerabilityType()

Beschreibung

Bietet Zugriff auf den geänderten Sicherheitslückentyp des Ergebnisses.

Rückgabewert

Ein VulnerablilityType-Objekt, das den Sicherheitslückentyp eines Ergebnissesdarstellt, dessen Sicherheitslückentyp geändert wurde. ('NULL' bei fehlender Über-einstimmung.)

Finding.getSrcContext

Signaturpublic String getSrcContext()

Beschreibung

Bietet Zugriff auf den Quellenkontext für dieses Ergebnis.

Rückgabewert

Quellenkontext für dieses Ergebnis.

66 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 73: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Finding.getDefectSubmissionUser

Signaturpublic String getDefectSubmissionUser()

Beschreibung

Bietet Zugriff auf den Namen des Benutzers, der dieses Ergebnis zuletzt an ein ex-ternes Fehlererfassungssystem übermittelt hat. Beachten Sie, dass es sich hier umden Benutzernamen auf dem Fehlererfassungssystem handelt; dieser kann anderslauten als der AppScan Source-Benutzername.

Rückgabewert

Der Benutzer der letzten Übergabe dieses Ergebnisses an ein Fehlererfassungssys-tem.

Finding.getDefectSubmissionDate

Signaturpublic String getDefectSubmissionDate()

Beschreibung

Bietet Zugriff auf die Zeichenfolge des Datums, an dem dieses Ergebnis zuletzt anein externes Fehlererfassungssystem übermittelt wurde.

Rückgabewert

Die Übergabedatumszeichenfolge der letzten Übergabe dieses Ergebnisses an einFehlererfassungssystem.

Finding.getDefectInfo

Signaturpublic String getDefectInfo()

Beschreibung

Bietet Zugriff auf die externe Fehlererfassungssystem-ID, unter der dieses Ergebniszuletzt an ein externes Fehlererfassungssystem übermittelt wurde.

Rückgabewert

Eine Zeichenfolge mit Fehler-IDs, die zu diesem Ergebnis gehören.

Finding.getProperties

Signaturpublic String[] getProperties()

Beschreibung

Dieser Aufruf bietet Zugriff auf die zu diesem Ergebnis gehörenden Eigenschaften.Diese Eigenschaften bieten Informationen zum Sicherheitslückentyp und zum APIdieses Ergebnisses.

Kapitel 3. AppScan Source-Data Access-API 67

Page 74: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Rückgabewert

Array mit Eigenschaften:v Vulnerability.’Wert’: In den Ergebnissichten gemeldeter Sicherheitslückentyp,

z. B.:Vulnerability.BufferOverflowVulnerability.Injection.SQL

v Mechanism.’Wert’: API-Sicherheitsmechanismus; wird zur Definition angepassterBerichtskategorien verwendet, z. B.:Mechanism.AccessControlMechanism.Cryptography

v Technology.’Wert’: API-Technologie; wird zur Definition angepasster Berichtska-tegorien verwendet, z. B.:Technology.Communications.HTTPTechnology.Database

v Attribute.’Wert’: API-Methodentag, z. B.:Attribute.DeprecatedAttribute.Modifier.Protected

Ausführliche Informationen zu Eigenschaftswerten entnehmen Sie der AppScanSource-Sicherheits-Wissensbasis.

Löst aus

OunceException, wenn die Data Access-API die Eigenschaften nicht abrufen kann.

Finding.isExcluded

Signaturpublic boolean isExcluded()

Beschreibung

Gibt an, ob dieses Ergebnis aus der Beurteilung ausgeschlossen wird. Ausgeschlos-sene Ergebnisse tragen nicht zu Statistikdaten für die Beurteilung bei.

Rückgabewert

Falls ausgeschlossen, true, falls nicht ausgeschlossen, false.

Finding.getTrace

Signaturpublic Trace getTrace()

Beschreibung

Bietet Zugriff auf den AppScan Source-Trace, der diesem Ergebnis zugeordnet ist(sofern vorhanden).

Rückgabewert

Traceobjekt für das Ergebnis, sofern vorhanden; andernfalls 'NULL'.

68 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 75: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Löst aus

OunceException, wenn die Data Access-API den Trace nicht abrufen kann.

Finding.getNotes

Signaturpublic String getNotes()

Beschreibung

Bietet Zugriff auf die Notizen zu einem Ergebnis.

Rückgabewert

Vorhandene Notizen für das Ergebnis; 'NULL', falls keine Notizen vorhanden sind.

Löst aus

OunceException, wenn die Data Access-API die Notizen nicht abrufen kann.

TraceDie Klasse com.ouncelabs.sdk.assessment.Trace stellt den AppScan Source-Tracefür ein Ergebnis dar.

Trace.getCalls

Signaturpublic Call[] getCalls()

Beschreibung

Bietet Zugriff auf den Rootaufruf des AppScan Source-Trace.

Rückgabewert

Ein Array mit Call-Objekten. Enthält gegenwärtig immer ein einzelnes Objekt.

Löst aus

OunceException, wenn die Data Access-API die Aufrufe nicht abrufen kann.

SeverityTypeDie Klasse com.ouncelabs.sdk.assessment.SeverityType stellt den Schweregrad ei-nes Ergebnisses dar.

Statische Elemente

Schweregradstypen sind:v SeverityType.High

v SeverityType.Medium

v SeverityType.Low

v SeverityType.Info

v SeverityType.Unknown

Kapitel 3. AppScan Source-Data Access-API 69

Page 76: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

SeverityType.value

Signaturpublic int value()

Beschreibung

Bietet Zugriff auf den Wert dieses SeverityType-Objekts. Der zurückgegebene Wertentspricht einem der Werte der statischen Elemente.

Rückgabewert

Der Schweregradswert für dieses SeverityType-Objekt.

OunceExceptioncom.ouncelabs.sdk.assessment.OunceException ist die Ausnahmeklasse, die vonder Data Access-API verwendet wird. Um weitere Informationen zu einer Ausnah-me zu erhalten, rufen Sie getMessage() für die Ausnahme auf.

70 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 77: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Kapitel 4. Ounce/Maven-Plug-in

Dieser Abschnitt beschreibt das Ounce/Maven-Plug-in, das das Apache-Erstel-lungstool Maven zur Integration von AppScan Source in den Maven-Workflow ver-wendet.

Das Ounce/Maven-Plug-in ermöglicht es Ihnen, in AppScan Source Anwendungs-und Projektdateien zu erstellen. Wenn AppScan Source for Automation ebenfallsinstalliert ist, verwenden Sie Ounce/Maven zum Ausführen von Quellcodesicher-heitsüberprüfungen und zum Generieren umfassender Sicherheitsberichte.

Informationen zu AppScan Source for Automation finden Sie in Kapitel 5,„AppScan Source for Automation”, auf Seite 77.

Weitere Informationen zur Produktfamilie von AppScan Source finden Sie unterder Webadresse http://www.ibm.com/software/rational/products/appscan/source/.

Ounce/Maven installieren

Vorbereitende Schritte

Für die Installation und Ausführung von Ounce/Maven gelten die folgenden Vor-aussetzungen:v Apache Maven Version 2.x: Informationen zur Bereitstellung und Verwendung

von Maven-Plug-ins finden Sie auf der Apache Maven Project-Website unterhttp://maven.apache.org/.

v AppScan Source for Automation: Weitere Informationen finden Sie in Kapitel 5,„AppScan Source for Automation”, auf Seite 77.

Informationen zu diesem Vorgang

Nachdem Sie Maven installiert und konfiguriert haben, wird Ounce/Maven beimersten Verweis darauf heruntergeladen.

Die Ounce/Maven-Sitedokumentation schließt Beschreibungen der Ounce/Maven-Ziele, deren Parameter, Beispiele, Hinweise zur Verwendung und ausführlicheBeispiele ein.

Sie finden die Sitedokumentation unter http://mojo.codehaus.org/ounce-maven-plugin.

Vorgehensweise1. Wenn Maven nicht bereits installiert ist, installieren Sie Maven von http://

maven.apache.org/. Folgen Sie den Anweisungen auf der Maven-Website.2. Führen Sie einen der folgenden Schritte aus:

v Bearbeiten Sie eine Maven-pom-Datei so, dass sie ein oder mehrere Ounce/Maven-Zielanfragen einschließt, wie es auch in der Ounce/Maven-Sitedoku-mentation beschrieben ist.

v Rufen Sie eine oder mehrere Ounce/Maven-Zielanfragen über die Befehlszei-le auf, wie es in der Ounce/Maven-Sitedokumentation beschrieben ist.

© Copyright IBM Corp. 2003, 2014 71

Page 78: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Ounce/Maven verwendenDas Ounce/Maven-Plug-in gestattet Ihnen die Verwendung von Ounce/Maven,um AppScan Source-Anwendungen und -Projekte zu erstellen, die Anwendungenzu überprüfen, die resultierenden Beurteilungen zu veröffentlichen und AppScanSource-Berichte zu generieren. Geben Sie die Ounce/Maven-Zielanfragen und -Pa-rameter wie bei jedem anderen Maven-Plug-in auch an.

Sie können Ounce/Maven-Befehle auf zweierlei Weise aufrufen:v Mithilfe einer Maven-Datei mit der Endung pom (Builddatei): Mit der pom-Datei

können Sie AppScan Source-Anwendungs- und -Projektdateien als Teil IhresBuilds erstellen. Nach der Installation von Ounce/Maven können Sie eine Ma-ven-Datei mit der Endung pom modifizieren, um die Zielanfragenounce:application und ounce:project-only wie für Ihre AppScan Source-Taskserforderlich anzugeben.

v Über die Befehlszeile: Rufen Sie die Zielanfragen ounce:project, ounce:scan undounce:report über die Befehlszeile auf, um AppScan Source-Projektdateien zuerstellen (oder Projektdateiparameter aus der pom-Datei zu überschreiben),AppScan Source-Scans zu starten, Beurteilungen zu veröffentlichen und AppScanSource-Berichte zu generieren.

Jede Ounce/Maven-Zielanfrage schließt eine Anzahl Parameter ein.v Informationen zu Ounce/Maven-Zielanfragen finden Sie in

„Ounce/Maven-Zielanfragen” auf Seite 73.v Informationen zu den Parametern für die einzelnen Zielanfragen entnehmen Sie

der Ounce/Maven-Sitedokumentation unter http://mojo.codehaus.org/ounce-maven-plugin.

Ounce/Maven-Szenarios

Ounce/Maven ermöglicht Ihnen Folgendes:v Anwendungs- und Projektdateien in AppScan Source erstellenv Anwendungen überprüfen und die Ergebnisse (Beurteilungen) in der AppScan

Source-Datenbank publizierenv Berichte aus Beurteilungsergebnissen erstellenv AppScan Source-Berichte in das Ziel site integrieren

Der vorliegende Abschnitt stellt diese Tasks kurz dar. Ausführliche Informationenzu AppScan Source-spezifischen Konzepten und der Sprache finden Sie imAppScan Source for Analysis-Benutzerhandbuch.

Anwendungs- und Projektdateien erstellen

AppScan Source verwendet wie im Folgenden beschrieben ein Anwendungs- undProjektmodell zur Verwaltung von Daten:v Anwendung: Eine Anwendung enthält Konfigurationsdaten und anpassbare In-

formationen sowie eine Liste der Projekte in dieser Anwendung.v Projekt: Ein Projekt umfasst eine Gruppe von Dateien (einschließlich des Quell-

codes) und zugehörige Informationen (z. B. Konfigurationsdaten). Damit ein Pro-jekt überprüft werden kann, muss es Teil einer Anwendung sein.

72 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 79: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Die Zielanfrage ounce:application erstellt AppScan Source-Anwendungsdateien(.paf-Dateien), während die Zielanfragen ounce:project und ounce:project-onlyAppScan Source-Projektdateien (.ppf-Dateien) erstellen.

Im AppScan Source for Analysis-Benutzerhandbuch finden Sie Informationen zu weite-ren Formaten für Anwendungs- und Projektdateien.

Anwendungen überprüfenEine AppScan Source-Überprüfung analysiert den Quellcode auf Sicherheitslücken.Das Ergebnis eines Scans ist eine Beurteilung in Form einer XML-Datei.

Anmerkung: Ausführliche Informationen zu den Funktionen von AppScan Sourcefinden Sie im IBM Security AppScan Source for Analysis Benutzerhandbuch.

Verwenden Sie die Zielanfrage ounce:scan in der Befehlszeile, um die Anwendungund die zugehörigen Projekte zu überprüfen und aus der Beurteilung optional ei-nen Bericht zu generieren.

Nach Abschluss des Scans ermöglicht Ounce/Maven Ihnen Folgendes:v Beurteilung in der AppScan Source-Datenbank publizieren. Dies macht die Beur-

teilungsergebnisse anderen Benutzern mit Zugriff auf die Datenbank und den er-forderlichen Berechtigungen verfügbar.

v Einen Bericht erstellen.

BerichterstellungHäufig wird als Ausgabe von AppScan Source ein detaillierter Bericht gewünscht,der Daten zu den Beurteilungen bereitstellt. Die Zielanfrage ounce:report ermög-licht Ihnen die Erzeugung solcher Berichte aus neuen oder früheren Beurteilungen.Die Zielanfrage ounce:report kann bei Bedarf eine Anwendung überprüfen unddie Beurteilung dann veröffentlichen oder Berichte dazu erstellen. Anders alsounce:scan können Sie ounce:report jedoch verwenden, um Berichte für vorhande-ne Beurteilungen zu erstellen.

Berichte mit dem Siteziel integrierenUm ounce:report mit dem Siteziel zu integrieren, fügen Sie das Ounce/Maven-Plug-in zum Abschnitt 'reporting' der pom-Datei hinzu. Das Siteziel führtounce:report aus und die Berichtsausgabe wird Teil der Sitedokumentation fürIhre Anwendung.

Bei der Integration mit dem Siteziel müssen Sie keine zusätzlichen Parameter ange-ben. Sie können den Berichtstyp als einen der Werte angeben, die in„reportType-Werte” auf Seite 75 beschrieben sind. Wenn Sie keinen Berichtstyp an-geben, ist der Standardbericht Ergebnisse.

Ounce/Maven-Zielanfragen

Ounce/Maven bietet die folgenden Zielanfragen zur Durchführung von AppScanSource-Funktionen:v ounce:application: Generiert eine AppScan Source-Anwendungsdatei, die Ver-

weise auf alle untergeordneten Projekte enthält, wie sie in der pom-Datei definiertsind. Eine Anwendung ist für das Überprüfen (und somit für die Berichterstel-lung) erforderlich.

Kapitel 4. Ounce/Maven-Plug-in 73

Page 80: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

v ounce:project: Erstellt abhängig von der Anzahl untergeordneter Maven-Projek-te eine oder mehrere AppScan Source-Projektdateien. Die Zielanfrageounce:project ist für die Ausführung über die Befehlszeile vorgesehen undschließt den Maven-Build in die Zielanfrage ein.

v ounce:project-only: Erstellt abhängig von der Anzahl untergeordneter Maven-Projekte eine oder mehrere AppScan Source-Projektdateien. Die Zielanfrageounce:project-only wird bereitgestellt, um die Erstellung von AppScan Source-Projektdateien in den Lebenszyklus des Maven-Builds zu integrieren.

v ounce:scan: Überprüft eine Anwendung. Sie können die Beurteilung optionalveröffentlichen oder einen Bericht erstellen. Führen Sie ounce:scan über die Be-fehlszeile aus.

v ounce:report: Generiert einen AppScan Source-Bericht. Bei Bedarf führen Sie,um die Ergebnisse zu aktualisieren, eine Überprüfung aus, bevor Sie den Berichterstellen. Führen Sie ounce:report über die Befehlszeile aus.

Anmerkung:

v Um Ihre Anwendungs- und Projektdateien portabel zu machen, erstellen Sie Pfa-dvariablen und verknüpfen Dateipfade mit ihren Speicherpositionen.

v Beispiele für die Verwendung von Ounce/Maven-Zielanfragen entnehmen Sieder Ounce/Maven-Sitedokumentation unter http://mojo.codehaus.org/ounce-maven-plugin/.

ounce:application

Beschreibung

Generiert eine AppScan Source-Anwendungsdatei, die Verweise auf alle unterge-ordneten Projekte enthält, wie sie durch die POM-Datei definiert sind. Eine An-wendung ist für das Überprüfen und die Berichterstellung erforderlich. Währendounce:application keine AppScan Source-Projektdateien erstellt, können Sieounce:project-only ausführen, um das Projekt innerhalb derselben Builddatei zuerstellen.

ounce:project

Beschreibung

Verwenden Sie ounce:project über die Befehlszeile. Die Zielanfrage ounce:projecterstellt abhängig von der Anzahl untergeordneter Maven-Projekte eine oder mehre-re AppScan Source-Projektdateien.

ounce:project verwenden

Wenn Sie die Zielanfrage ounce:project über die Befehlszeile aufrufen, werden alleerforderlichen Abhängigkeiten automatisch erstellt. Wenn keine Anwendungsdateivorhanden ist, wird diese von ounce:project erstellt.

Alle Parameter zu ounce:project sind optional. Der Projektname wird in Mavendurch artifactId bestimmt und Sie können ihn nicht überschreiben.

Führen Sie Maven mit der Zielanfrage ounce:project aus dem Verzeichnis herausaus, das die Datei pom.xml der obersten Ebene enthält (oder, wenn nur eine Teil-menge des Builds erforderlich ist, aus einem Unterverzeichnis heraus, das eine un-tergeordnete Datei pom.xml enthält).

74 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 81: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

ounce:project-only

Beschreibung

Die Zielanfrage ounce:project-only wird aus einer pom-Datei heraus verwendet.Die Zielanfrage ounce:project-only erstellt abhängig von der Anzahl untergeord-neter Maven-Projekte eine oder mehrere AppScan Source-Projektdateien.

ounce:project-only verwenden

Alle Parameter zu ounce:project-only sind optional. Der Projektname wird in Ma-ven durch artifactId bestimmt und kann nicht überschrieben werden.

ounce:scan

Beschreibung

Die Zielanfrage ounce:scan generiert einen Scan einer gegebenen Anwendung, aufden optional ein Bericht mit den Beurteilungsergebnissen folgt. Führen Sieounce:scan über die Befehlszeile aus.

Anmerkung: Die Zielanfrage ounce:scan ist nicht als Teil des Maven-Buildlebens-zyklus gedacht.

ounce:scan verwenden

Wenn Sie ounce:scan angeben, können Sie anfordern, dass Ounce/Maven unmittel-bar auf die Überprüfung folgend einen Bericht aus der Beurteilung ausführt. Indiesem Fall geben Sie die in „reportType-Werte” und „reportOutputType-Werte”auf Seite 76 beschriebenen Berichtsparameter an. Wenn Sie reportType angeben,müssen Sie auch reportOutputType und reportOutputPath angeben.

Anmerkung: Die Zielanfrage ounce:scan erstellt oder aktualisiert bei Bedarf An-wendungs- und Projektdateien.

ounce:report

Beschreibung

Die Zielanfrage ounce:report erstellt einen Bericht aus einer Beurteilung. Wenn Siekeine vorhandene Beurteilung angeben, führt ounce:report vor dem Erstellen desBerichts ounce:scan aus. Führen Sie ounce:report über die Befehlszeile aus.

Geben Sie die in „reportType-Werte” und „reportOutputType-Werte” auf Seite 76beschriebenen Berichtsparameter an. Wenn Sie reportType angeben, müssen Sieauch reportOutputType und reportOutputPath angeben.

reportType-Wertev Einen Untersuchungsergebnisbericht:

– Ergebnisse nach Bundle

– Ergebnisse nach API

– Ergebnisse nach Klassifizierung

– Ergebnisse

Kapitel 4. Ounce/Maven-Plug-in 75

Page 82: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

– DTS-Aktivität

– Ergebnisse nach Typ

– Ergebnisse nach CWE

– Ergebnisse nach Datei

v Einen AppScan Source-Bericht:– CWE SANS Top 25 2011

– DISA Application Security and Development STIG V3 R5

– OWASP Mobile Top 10

– OWASP Top 10 2013

– PCI Data Security Standard V1.1

– PCI Data Security Standard V2.0

– Softwaresicherheitsprofil

v Falls verfügbar, ein angepasster Bericht.

reportOutputType-Wertev Geben Sie eines der folgenden Formate für diesen Bericht an:

– HTML: Erstellt den Bericht als HTML-Datei und zeigt ihn online an.– ZIP: Erstellt eine ZIP-Datei, die alle HTML-Berichtskomponenten enthält.

v Bei Berichten im PDF-Format können Sie den Detaillierungsgrad angeben:– pdf-summary: Enthält Zählungen für jede angepasste Berichtsgruppe.– pdf-detailed: Enthält Zählungen für jedes API und für jede Sicherheitslücke-

neigenschaft.– pdf-comprehensive: Enthält Tabellen mit allen Ergebnissen für jedes API.– pdf-annotated: Enthält alle Ergebnisse, alle Anmerkungen zu den Ergebnissen

und bestimmte Codefragmente.– pdf-annotated: Erstellt einen mit Annotationen versehenen Bericht als PDF-

Datei.

76 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 83: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Kapitel 5. AppScan Source for Automation

Der Automatisierungsserver (ounceautod) ermöglicht Ihnen die Automatisierungvon wichtigen Aspekten des AppScan Source-Workflows und das Integrieren vonSicherheitsfunktionen in Buildumgebungen während des Softwareentwicklungsle-benszyklus (SDLC). Der Automatisierungsserver ermöglicht es Ihnen, Anforderun-gen zur Überprüfung und Veröffentlichung von Beurteilungen in eine Warteschlan-ge einzureihen und Berichte zur Sicherheit des Anwendungscodes zu generieren.

Über die ausführbare Befehlszeilendatei (ounceauto) des AppScan Source for Auto-mation-Clients übergeben Sie Anforderungen an den Server. Beim Verarbeiten derAnforderungen läuft der Automatisierungsserver als Client des zugehörigenAppScan Enterprise Servers und kann eine Verbindung zu nur einem einzigenAppScan Enterprise Server herstellen. Er überwacht einen TCP-Anschluss (Stan-dard: 13205) nur auf Verbindungen vom lokalen Host.v Auf OS X wird Automatisierungsserver als Service ausgeführt:

– Um den Service zu stoppen, müssen Sie den folgenden Befehl eingeben:launchctl stop com.ibm.appscan.autod

– Um den Service zu starten, müssen Sie den folgenden Befehl eingeben:launchctl start com.ibm.appscan.autod

Der Automatisierungsserver verarbeitet Anforderungen als ein angegebenerAppScan Source-Benutzer und übernimmt damit die Berechtigungen dieses Benut-zers. Die Benutzer-ID muss über die erforderlichen Berechtigungen entsprechendden auszuführenden Befehlen verfügen. Beispiel: Wenn die Benutzer-ID den BefehlPublishAssessment ausführen muss, können der Benutzer-ID Berechtigungen fürdas Veröffentlichen und das Registrieren übertragen werden. Sie benötigt jedochkeine Berechtigung für die Überprüfung (weitere Informationen finden Sie im Ab-schnitt AppScan Source verwalten im AppScan Source Installations- und Administrati-onshandbuch). Für das Übergeben einer Anforderung an den Automatisierungsser-ver werden keine Benutzerberechtigungen benötigt.

Berechtigungsnachweise für Automatisierungsserver über Befehlszeileangeben

Wenn Sie während des Installationsprozesses keinen Benutzernamen und keinKennwort angegeben haben, wie dies im IBM Security AppScan Source Installati-ons- und Administrationshandbuch beschrieben wird, dann müssen Sie den Auto-matisierungsserver nach der Installation zur Ausführung als AppScan Source-Benutzer konfigurieren.

Informationen zu diesem Vorgang

Wenn der angegebene Benutzer noch nicht existiert, müssen Sie ihn in der Installa-tionsanzeige oder über die Befehlszeile angeben und ihn dann manuell (nach derInstallation) mit AppScan Source for Analysis oder der AppScan Source-Befehlzei-lenschnittstelle (CLI) erstellen. Um den neuen Benutzer über die Befehlszeile zu er-stellen, verwenden Sie den Befehl „newuser (nu)” auf Seite 20. Wenn Sie den neu-en Benutzer erstellen, müssen Sie sicherstellen, dass Sie denselben Benutzernamenund dasselbe Kennwort angeben, die auch für die Anmeldung am Automatisie-rungsserver verwendet werden. Die anderen Einstellungen, z. B. für Berechtigun-gen, können nach Ihren Wünschen festgelegt werden.

© Copyright IBM Corp. 2003, 2014 77

Page 84: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Alle Befehlsargumente, die nachstehend aufgelistet werden, sind obligatorisch.

Vorgehensweise

Suchen Sie /Applications/AppScanSource.app/bin, und geben Sie den Befehlounceautod.exe -u <benutzername> -p <kennwort> --persist ein; hierbei gilt Fiol-gendes:v <installationsverzeichnis> die Position Ihrer AppScan Source-Installation istv -u <benutzername>: Der Benutzer, mit dem sich der Automatisierungsserver au-

thentifiziert, wenn er eine Anforderung verarbeitet. Der Benutzer muss inAppScan Source for Analysis mit den erforderlichen Berechtigungen definiertsein.

v -p <kennwort>: Das Kennwort des Benutzers. Wenn Sie einen Benutzernamenangeben, müssen Sie das Kennwort angeben.

v --persist: Speichert die Berechtigungsnachweise für die Anmeldung auf Platte.Es wird eine verschlüsselte Schlüsseldatei mit dem angegebenen Benutzernamenund Kennwort erstellt.

Ergebnisse

Nachdem Sie einen Benutzernamen und ein Kennwort angegeben haben, werdendie Berechtigungsnachweise auf der Platte gespeichert.

Konfigurationsdatei für den Automatisierungsserver

Die ounceautod-Konfigurationsdatei ounceautod.ozsettings gibt die Eigenschaftenfür den Automatisierungsserver-Dämon an. Die Datei ounceautod.ozsettings ist in<datenverzeichnis>\config enthalten (wobei <datenverzeichnis> die Position Ih-rer AppScan Source-Programmdaten ist, die in Kapitel 8, „Positionen für Installati-ons- und Benutzerdatendateien”, auf Seite 125 beschrieben wird).

Die Datei ounceautod.ozsettings enthält diese Eigenschaften:

Eigenschaft Wert Beschreibung

ounceautod_max_concurrent_requests

1 (Standard) Anzahl der zulässigen gleich-zeitigen Anforderungen.

ounceautod_accept_ssl true (Standard) Akzeptiert SSL-Zertifikateautomatisch. Weitere Infor-mationen finden Sie in „SSL-Zertifikate von AppScanEnterprise Server” auf Seite17.

ounceautod_port 13205 (Standard) Portnummer, über dieounceautod ausgeführt wird.Anmerkung: Der Portwertin dieser Einstellung mussmit der Porteinstellung inder Dateiounceauto.ozsettings unter<datenverzeichnis>\configübereinstimmen.

78 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 85: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Eigenschaft Wert Beschreibung

ounceautod_server_hostname <Hostname>:port Der Hostname des Compu-ters, auf dem AppScanEnterprise Server installiertwurde, und der Port, überden das Produkt auf demComputer ausgeführt wird.

Wenn diese Datei geändert wird, müssen Sie den Service für den Automatisie-rungsserver erneut starten (siehe Kapitel 5, „AppScan Source for Automation”, aufSeite 77).

Automatisierungsserver-Protokollierung

Der Automatisierungsserver generiert eine Protokolldatei mit dem Namen oun-ceautod.log, in der alle Anforderungen, die an den Automatisierungsserver vorge-nommen wurden, sowie die zugehörige Antwort protokolliert werden. Protokoll-einträge sind in <datenverzeichnis>\logs\ounceautod.log abgelegt (wobei<datenverzeichnis> die Position Ihrer AppScan Source-Programmdaten ist, die inKapitel 8, „Positionen für Installations- und Benutzerdatendateien”, auf Seite 125beschrieben wird).

Der Automatisierungsserver protokolliert für alle Anforderungen folgende Ereig-nisse:v Anforderung erhaltenv Anforderung gestartetv Anforderung fertiggestelltv Anforderung fehlgeschlagen

Jeder Protokolleintrag enthält:v Zeitmarke des Protokolleintragsv Ereignistypv Anforderungstypv Anforderungs-IDv Aufrufender, falls angegebenv Anforderungsspezifische Informationen

ounceauto über die Befehlszeile verwendenDie Schnittstelle zu AppScan Source for Automation, ounceauto, setzt Befehle anden Server ab, der durch Befehlszeilenargumente angegeben wurde, gibt ggf. dieAusgabe aus und kehrt dann zurück. Jeder Anforderung wird eine Anforderungs-ID zugeordnet und alle Protokolleinträge zur Anforderung enthalten diese Anfor-derungs-ID zu Identifikationszwecken.

Führen Sie ounceauto wie folgt über die Befehlszeile aus:ounceauto <Befehlsname> <Befehlsargumente>

Die folgenden ounceauto-Befehle sind vorhanden:v GenerateReport

v PublishAssessment

Kapitel 5. AppScan Source for Automation 79

Page 86: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

v PublishAssessmentASE

v ScanApplication

v Wait

GenerateReport

Beschreibung

Erstellt einen Bericht aus einer Beurteilung.

Syntaxounceauto GenerateReport-assessment <Beurteilungspfad>-type <Berichtstyp>-output <Ausgabeformat>-file <Ausgabeposition>[-caller <Aufrufender>][-includeSrcBefore <n>][-includeSrcAfter <n>]

v -assessment <Beurteilungspfad>: Pfad zu der Beurteilungsdatei, für die Sie denBericht erstellen möchten.

v -type "<report type>": Name des Berichtstyps in Anführungszeichen. Zu denBerichtstypen gehören Ergebnisberichte, AppScan Source-Berichte und angepass-te Berichte.Die AppScan Source-Berichte können folgende Typen aufweisen:– Einen Untersuchungsergebnisbericht:

- Ergebnisse nach Bundle

- Ergebnisse nach API

- Ergebnisse nach Klassifizierung

- Ergebnisse

- DTS-Aktivität

- Ergebnisse nach Typ

- Ergebnisse nach CWE

- Ergebnisse nach Datei

– Einen AppScan Source-Bericht:- CWE SANS Top 25 2011

- DISA Application Security and Development STIG V3 R5

- OWASP Mobile Top 10

- OWASP Top 10 2013

- PCI Data Security Standard V1.1

- PCI Data Security Standard V2.0

- Softwaresicherheitsprofil

– Falls verfügbar, ein angepasster Bericht.Geben Sie den Berichtstyp in Anführungszeichen exakt genauso ein wie in derListe oben. Beispiel:Findings by Classification oder Software Security Profi-le.

v -output <Ausgabeformat>: Gibt eines der folgenden Formate für diesen Berichtan:– HTML: Erstellt den Bericht als HTML-Datei und zeigt ihn online an.– ZIP: Erstellt eine ZIP-Datei, die alle HTML-Berichtskomponenten enthält.

80 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 87: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

– Bei Berichten im PDF-Format können Sie den Detaillierungsgrad angeben:- pdf-summary: Enthält Zählungen für jede angepasste Berichtsgruppe.- pdf-detailed: Enthält Zählungen für jedes API und für jede Sicherheitslü-

ckeneigenschaft.- pdf-comprehensive: Enthält Tabellen mit allen Ergebnissen für jedes API.- pdf-annotated: Enthält alle Ergebnisse, alle Anmerkungen zu den Ergebnis-

sen und bestimmte Codefragmente.- Speicherposition der Ausgabe: Der Pfad, in dem der Bericht geschrieben

wird.v -file <Speicherposition der Ausgabe>: Gibt Pfad- und Dateinamen für den

Speicherort des Berichts an.v -caller <Aufrufender>: Optional. Gibt einen Aufrufenden für den Berichterstel-

lungsvorgang an. Der Aufrufende kann der Name eines tatsächlichen Benutzerssein, doch ist dies nicht erforderlich. Der Name des Aufrufenden wird in dieProtokolldatei ounceauto geschrieben.

v -includeSrcBefore <n>: Optional. Anzahl der Quellcodezeilen, die vor den ein-zelnen Ergebnissen eingeschlossen werden.

v -includeSrcAfter <n>: Optional. Anzahl der Quellcodezeilen, die nach den ein-zelnen Ergebnissen eingeschlossen werden.

Rückgabewert

Im Erfolgsfall die Anforderungs-ID; wenn die Anforderungsübergabe nicht erfolg-reich war, -1.

Beispielev So generieren Sie einen Bericht des Typs 'Findings by API' als HTML-Datei:

ounceauto generatereport -assessment C:\Ounce\Data\Webgoat.ozasmt-type "Findings by API" -output html-file C:\reports\Webgoat_Findings.html

v Gehen Sie wie folgt vor, um in AppScan Source einen Bericht des Typs 'OWASPTop 10 2013' als PDF-Datei zu generieren:ounceauto generatereport -assessment C:\Ounce\Data\Webgoat.ozasmt-type "OWASP Top 10 2013" -output pdf-annotated-file C:\Reports\Webgoat_OWASP.pdf

PublishAssessment

Beschreibung

Veröffentlicht die ausgewählte Beurteilung in der AppScan Source-Datenbank.

Syntaxounceauto PublishAssessment -file <Beurteilung.ozasmt>[-caller <Aufrufender>]

v -file <Beurteilungsdatei>: Vollständiger Pfad zu einer Beurteilungsdatei.v -caller <Aufrufender>: Optional. Gibt einen Aufrufenden für den Berichterstel-

lungsvorgang an. Der Aufrufende kann der Name eines tatsächlichen Benutzerssein, doch ist dies nicht erforderlich. Der Name des Aufrufenden wird in dieProtokolldatei 'ounceauto' geschrieben.

Kapitel 5. AppScan Source for Automation 81

Page 88: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Rückgabewert

Im Erfolgsfall die Anforderungs-ID; wenn die Anforderungsübergabe nicht erfolg-reich war, -1.

Beispiel

So veröffentlichen Sie die Beurteilung WebGoat_Internal:ounceauto publishassessment -file C:\Ounce\Data\WebGoat_Internal.ozasmt

PublishAssessmentASE

Beschreibung

Veröffentlicht die ausgewählte Beurteilung in AppScan Enterprise Console.

Syntaxounceauto PublishAssessmentASE -file <Beurteilungsdatei>[-caller <Aufrufender>] [-folder <Speicherposition>][-name <Name der veröffentlichten Beurteilung>][-aseapplication <ASE-Anwendung>]

v -file <Beurteilungsdatei>: Erforderlich. Pfad und Dateiname der Beurteilungs-datei.

v -caller <Aufrufender>: Optional. Gibt einen Aufrufenden für den Berichterstel-lungsvorgang an. Der Aufrufende kann der Name eines tatsächlichen Benutzerssein, doch ist dies nicht erforderlich. Der Name des Aufrufenden wird in dieProtokolldatei ounceauto geschrieben.

v -folder <Speicherposition>: Optional. Der Enterprise Console-Ordner, in denveröffentlicht wird. Wenn dieses Argument nicht verwendet wird, wird die Beur-teilung in Ihrem Enterprise Console-Standardordner veröffentlicht.

v -name <Name der veröffentlichten Beurteilung>: Optional. Der Name, mit demdie Beurteilung in Enterprise Console gespeichert wird. Wenn dieses Argumentnicht verwendet wird, wird ein Name anhand der überprüften AppScan Source-Anwendung generiert, um die Beurteilung zu erstellen. (Dieser Name wird alsPräfix zu AppScan Source: hinzugefügt.)

v -aseapplication <ASE-Anwendung>: Optional. Enterprise Console-Anwendung,der die Beurteilung zugeordnet wird.

Rückgabewert

Im Erfolgsfall die Anforderungs-ID; wenn die Anforderungsübergabe nicht erfolg-reich war, -1.

Beispiel

So veröffentlichen Sie die Beurteilung WebGoat_Internal:ounceauto publishassessmentase -file C:\Ounce\Data\WebGoat_Internal.ozasmt

ScanApplication

Beschreibung

Prüft die angegebene Anwendung. Speichern Sie optional die Bewertung oder ge-nerieren Sie einen Bewertungsbericht.

82 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 89: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Syntaxounceauto ScanApplication<-application <Anwendungsname>|-application_file <Anwendungsdatei>>[-name <Beurteilungsname>][-save <Dateiname>][-caller <Aufrufender>][-publish][-report <Berichtstyp> <Ausgabeformat><Ausgabeposition>][-includeSrcBefore <n>[-includeSrcAfter <n>][-scanconfig <name_der_scankonfiguration>]

v -application <Anwendungsname>: Name der zu prüfenden Anwendung.v -application_file <Pfad zur AppScan Source-Anwendungsdatei>: Pfad zu einer

AppScan Source-Anwendungsdatei.v -name <Beurteilungsname>: Optional. Name der Beurteilung.v -save <Dateiname>: Optional. Speichert die Beurteilungsergebnisse in diese Da-

tei.v -caller <Aufrufender>: Optional. Gibt einen Aufrufenden für den Berichterstel-

lungsvorgang an. Der Aufrufende kann der Name eines tatsächlichen Benutzerssein, doch ist dies nicht erforderlich. Der Name des Aufrufenden wird in dieProtokolldatei 'ounceauto' geschrieben.

v -publish: Optional. Veröffentlicht die Beurteilung nach der Prüfung.v -report: Optional. Generiert einen Bericht nach der Prüfung.v <Berichtstyp>: Name des Berichtstyps. Zu den Berichtstypen gehören Ergebnis-

berichte, AppScan Source-Berichte und angepasste Berichte. Weitere Informatio-nen zu den Optionen finden Sie unter „GenerateReport” auf Seite 80.

v <Ausgabeformat>: Gibt das Berichtsformat an. Weitere Informationen zu den Op-tionen finden Sie unter „GenerateReport” auf Seite 80.

v <Ausgabeposition>: Speicherposition, an die der Bericht geschrieben wird.v -includeSrcBefore <n>: Optional. Anzahl der Quellcodezeilen, die vor den ein-

zelnen Ergebnissen eingeschlossen werden.v -includeSrcAfter <n>: Optional. Anzahl der Quellcodezeilen, die nach den ein-

zelnen Ergebnissen eingeschlossen werden.v -scanconfig <name_der_scankonfiguration>: Optional. Geben Sie den Namen ei-

ner Scankonfiguration an, die für die Überprüfung verwendet werden soll. Wennkeine Scankonfiguration angegeben wird, verwendet das System für die Über-prüfung die Standardscankonfiguration.

Rückgabewert

Im Erfolgsfall die Anforderungs-ID; wenn die Anforderungsübergabe nicht erfolg-reich war, -1.

Beispielev So prüfen Sie mit John Smith als Aufrufendem die WebGoat-Anwendung, veröf-

fentlichen sie und versehen das Protokoll mit Anmerkungen:ounceauto scanapplication -application_file C:\WebGoat\WebGoat.paf-publish -caller JohnSmith

v So prüfen Sie die WebGoat-Anwendung und erstellen einen Ergebnisbericht imVerzeichnis C:\WebGoat:ounceauto scanapplication -application WebGoat-report Findings html C:\WebGoat\MyReport.html

Kapitel 5. AppScan Source for Automation 83

Page 90: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Wait

Beschreibung

Blockiert, bis die angegebene Anforderung fertiggestellt ist.

Syntaxounceauto wait -requestid <Anforderungs-ID>

-requestid <Anforderungs-ID>: Die ID der Anforderung, auf die gewartet werdensoll.

Rückgabewert

Wenn die Anforderung, die <Anforderungs-ID> entspricht, erfolgreich beendetwird, lautet der Rückgabewert 0, andernfalls 1.

84 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 91: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Kapitel 6. Framework for Frameworks-APIs handhaben

AppScan Source bietet eine Gruppe von Java-APIs, die das Hinzufügen von Unter-stützung für Frameworks ermöglichen, die in Ihren Anwendungen verwendet wer-den. Die in diesen APIs bereitgestellten Klassen und Methoden ermöglichen Ihnendie Berücksichtigung von Frameworks, für die integrierte Unterstützung nicht be-reitsteht.

Anmerkung: AppScan Source umfasst integrierte Unterstützung für die folgendenFrameworks:v Apache Struts 1 und 2v Spring MVC 2.5 und 3v Enterprise JavaBeans (EJB) 2v J2EEv JavaServer Faces (JSF) 2v nJax - RS (V1.0 und V1.1)v Jax - WS (V2.2)

Moderne Frameworks haben es mit einer großen Menge an Informationen zu tun,die das Laufzeitverhalten von Anwendungen aus normalem Quellcode in Konfigu-rationsdateien und Anmerkungen betreffen. In der Vergangenheit führte diese oftzu Lücken bei der statischen Analyse. Produktteams konnten zwar angepasste Re-geln für einzelne Anwendungen erstellen, es war jedoch kein Framework vorhan-den, das flexibel die Aktivitäten dieser Frameworks auf eine automatisierte Artund Weise beschreiben konnte.

Durch die Verwendung der Framework for Frameworks-APIs können Sie schnellund einfach die Unterstützung neuer Frameworks direkt in AppScan Source reali-sieren. Dies wird erreicht, indem die den Frameworks zugeordneten Konfigurati-onsinformationen verarbeitet werden und indem diese Daten über die zugeordne-ten APIs wieder zurück an AppScan Source geliefert werden.

Die Framework for Frameworks-APIs sind bei der Installation dieser Produkte ent-halten:v AppScan Source for Automationv AppScan Source for Analysisv AppScan Source for Development

Die APIs werden in <installationsverzeichnis>\walalib (wobei<installationsverzeichnis> die Position Ihrer AppScan Source-Installation ist) ins-talliert.

Ein Beispielprojektarchiv wird in <datenverzeichnis>\samples\F4FEjbExample.zipinstalliert (wobei <datenverzeichnis> die Position Ihrer AppScan Source-Pro-grammdaten ist, die in Kapitel 8, „Positionen für Installations- undBenutzerdatendateien”, auf Seite 125 beschrieben wird).

Anmerkung: Traceknoten mit Klassennamen, die mit Appscan.Synthetic,Appscan.Synthetic.Validator und AppScan.Synthetic.Replacement beginnen, ent-sprechen den Methoden, die von AppScan Source synthetisch erstellt werden.

© Copyright IBM Corp. 2003, 2014 85

Page 92: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

v Die AppScan.Synthetic-Methoden werden verwendet, um Traces in einem An-wendungscode, der Frameworks verwendet, zusammenzufügen.

v Die AppScan.Synthetic.Validator-Methode modelliert die zugrunde liegendeÜberprüfung, die von der Frameworklaufzeit durchgeführt wird. Sie könneneine Validatormethode auswählen und Sie bei Bedarf als Validator markieren.

v Die AppScan.Synthetic.Replacement-Methode gibt an, dass eine Methode im An-wendungscode durch AppScan Source ersetzt wurde, um den Datenfluss zwi-schen zusammenhangslosen Komponenten (z. B. Controller und Ansichten) desFrameworks zu erfassen.

Framework for Frameworks-API - Hauptkomponenten

F4FHandler

F4FHandler ist die abstrakte Klasse, die alle neuen Framework-Handler erweiternmüssen. Dadurch wird ein Workflow eines Framework-Handlers über abstrakteMethoden erzwungen, die außer Kraft gesetzt werden müssen. Darüber hinauswird der Zugriff auf die anderen beiden API-Komponenten F4FApp und F4FActionbereitgestellt.

F4FApp

Stellt Informationen zu der überprüften Anwendung (einschließlich Informationenaus ihrer Konfiguration, z. B. Quellenstammverzeichnis und Web-Root) bereit. Die-se Komponente bietet auch Zugriff auf jede Klasse in der Anwendung zum Zweckdes Bestimmens der erforderlichen Informationen, wie beispielsweise Anmerkun-gen und die Superklasse.

F4FAction

Stellt für AppScan Source Informationen zu der Anwendung bereit, die geradeüberprüft wird. Eingangspunkte, Verbindungen zwischen abstrakten Methodenund deren Implementierungen und weitere Elemente können in der Überprüfungs-engine beschrieben werden, indem die Methoden aufgerufen werden, die in dieserAPI bereitgestellt werden.

Framework for Frameworks-APIs verwendenDieser Abschnitt beschreibt die Schritte, die erforderlich sind, wenn die Frameworkfor Frameworks-APIs verwendet werden. Diese Schritte werden (wann immer zu-treffend) dem aufgeführten Beispiel zugeordnet, so dass Sie die Vorgehensweise be-obachten können.

In diesem Beispiel werden Sie Folgendes ausführen:v Erstellen einer Klasse, die F4FHandler erweitertv Implementieren von zwei abstrakten Methoden von F4FHandler

v Erstellen eines Java-Archivs (.jar) mit einer Manifestdatei, die Ihre Handler-Klasse identifiziert

v Exportieren der .jar-Datei in das waflgens-Verzeichnis von AppScan Source.v „Informationen zu diesem Beispiel” auf Seite 87v „Beispielprojekt in Eclipse oder Rational Application Developer for WebSphere

Software (RAD) importieren” auf Seite 87v „Klasse erstellen, die F4FHandler implementiert” auf Seite 90

86 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 93: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

v „Manifestdatei für Ihren Handler erstellen” auf Seite 91v „JAR für Ihren Handler erstellen” auf Seite 91v „JAR in waflgens exportieren” auf Seite 94

Informationen zu diesem Beispiel

In der Installation von AppScan Source ist ein Beispielhandler enthalten, derFramework for Frameworks-Informationen zu Enterprise Java Bean (EJB) 2-Anwen-dungen (auch als Enterprise Java Beans oder nur Beans bezeichnet) liest und be-reitstellt.

EJB ist ein Framework, mit dem die Arbeit und erneute Verwendung von Kompo-nenten zur Geschäftslogik wesentlich vereinfacht wird. Jede Bean stellt eine Busi-ness-Komponente dar, die über zugeordnete Schnittstellenklassen verfügen muss,die wiederum andere Beans zur Interaktion mit der Business-Komponente verwen-den müssen. Diese Schnittstellenklassen werden der Bean über die EJB-Konfigurati-onsdatei der Anwendung zugeordnet (EJB-jar.xml). An dieser Stelle tritt jedocheine Lücke auf, da die statische Analyse-Engine diese Zuordnungen in der Quellenicht berücksichtigt; das EJB-Framework ist dadurch ganz besonders geeignet mitFramework for Frameworks zu arbeiten.

Beispielprojekt in Eclipse oder Rational Application Developerfor WebSphere Software (RAD) importieren

Vorgehensweise1. Starten Sie Eclipse.2. Erstellen Sie einen neuen Arbeitsbereich für Ihr Handler-Projekt.

3. Wählen Sie Datei > Importieren im Hauptmenü der Workbench aus.

Kapitel 6. Framework for Frameworks-APIs handhaben 87

Page 94: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

4. Wählen Sie auf der Seite Auswählen des Importassistenten die Option Vorhan-dene Projekte in Arbeitsbereich aus und klicken Sie dann auf Weiter.

5. Wählen Sie die Schaltfläche Archivdatei auswählen aus und klicken Sie an-schließend auf Durchsuchen. Suchen Sie im Dialogfeld Archiv auswählen, dasdie zu importierenden Projekte enthält den Pfad <datenverzeichnis>\samples\F4FEjbExample.zip (wobei <datenverzeichnis> die Position IhrerAppScan Source-Programmdaten ist, die in Kapitel 8, „Positionen für Installati-ons- und Benutzerdatendateien”, auf Seite 125 beschrieben wird). Klicken Sieanschließend auf Öffnen.Diese ZIP-Datei ist ein Eclipse-Archiv, dass die Konfiguration und den Quell-code für das Ejb2xHandler-Framework-Handler-Beispiel enthält.Klicken Sie zum Importieren des Archivs auf Fertigstellen.

88 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 95: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

6. Nach dem Import des Archivs wird eine Reihe vom Buildfehlern angezeigt. DasBeispiel hat eine Klassenpfadvariable, die auf ein Verzeichnis verweist, in demdie Bibliotheken gespeichert sind.

7. Als nächstes definieren Sie eine Variable. Wählen Sie im Hauptmenü der Work-bench Fenster > Benutzervorgaben aus.

8. Wählen Sie im Dialogfeld 'Benutzervorgaben' die Optionen Java > Buildpfad >Klassenpfadvariablen aus, um die Benutzervorgabenseite 'Klassenpfadvariab-len' zu öffnen. Klicken Sie auf Neu.

Kapitel 6. Framework for Frameworks-APIs handhaben 89

Page 96: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

9. Erstellen Sie eine neue Variable mit dem Namen APPSCANSRCWALALIB_HOME undlegen Sie als Pfad den Wert <installationsverzeichnis>\walalib fest (wobei<installationsverzeichnis> die Position Ihrer AppScan Source-Installation ist).

Nach dem Klicken auf OK in allen Dialogfeldern sollte das Beispiel komplettohne Fehler erstellt werden.

Klasse erstellen, die F4FHandler implementiertZum Erstellen eines neuen Framework-Handlers müssen Sie zuerst eine Klasse er-stellen, die F4FHandler implementiert. Es müssen zwei Methoden implementiertwerden, damit die Funktionalität von Framework for Frameworks unterstütztwird.

isApplicable außer Kraft setzen

Zweck: AppScan Source ruft isApplicable auf, um zu ermitteln, ob damit IhrHandler ausgeführt werden soll. Wenn Sie True zurückgeben, wird dadurch IhrHandler durch Aufruf von handleApp ausgeführt. Wenn Sie False zurückgeben,wird nichts weiter aufgerufen.

Anmerkung: isApplicable umfasst eine Prüfung am Anfang der Methode, um si-cherzustellen, dass die Anwendung eine Java-Anwendung ist; erst dann wird fort-gefahren.

Dazu ein Beispiel: In Ejb2xHandler, prüft isApplicable zuerst, ob die Spracherpassend ist (da EJB nur in Java-Anwendungen vorhanden ist). wenn die Anwen-dung Java-basiert ist, sucht isApplicable anschließend nach allen Instanzen vonejb-jar.xml; dies ist die erforderliche Konfigurationsdatei für eine EJB 2-Anwen-

90 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 97: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

dung. Wenn Konfigurationsdateien gefunden werden, werden sie in den Handlergelesen und True wird zurückgegeben, so dass AppScan Source bekannt ist, dasshandleApp aufgerufen werden soll, um mit den Informationen in den Konfigurati-onsdateien zu arbeiten.

handleApp außer Kraft setzen

Zweck: AppScan Source ruft handleApp auf, damit Sie Informationen zu den mo-mentan von der überprüften Anwendung benutzten Frameworks ermitteln undfestlegen können. Die Parameter F4FApp und F4FAction werden verwendet, um In-formationen zur Anwendung abzurufen und um Spezifikationen zur Behandlungder Frameworks, die vorhanden sind und die Ihr Handler verwendet, festzulegen.

Manifestdatei für Ihren Handler erstellenErstellen Sie eine Datei mit dem Namen Manifest.txt, die die Informationen ent-hält, die für das Manifest Ihrer JAR erforderlich sind, wenn diese exportiert wird.AppScan Source sucht beim Laden Ihrer Handler-JAR insbesondere nach demFramework-Handler-Eintrag, um die Klasse zu ermitteln, die die F4FHandler-Funkti-onalität enthält.

Stellen Sie diese zwei Zeilen in die Datei Manifest.txt:Manifest-Version: 1.0Framework-Handler: package.HandlerClassName

Hierbei ist package.HandlerClassName der vollständige Paket- und Klassenname fürIhre Klasse, die die Schnittstelle F4FHandler implementiert.

Dazu ein Beispiel: Manifest.txt enthält die Informationen, die JAR-Manifestdateivon Ejb2xHandler bei deren Erstellung gestellt werden. Es sind nur zwei Zeilenvorhanden: eine Zeile listet die Version auf, und die andere Zeile gibt die Frame-work-Handling-Klasse an: Framework-Handler:com.ibm.appscan.frameworks.highlevelapi.ejb2xhandler.Ejb2xHandler.

JAR für Ihren Handler erstellen

Vorgehensweise1. Klicken Sie mit der rechten Maustaste auf Ihr Projekt in der Ansicht "Eclipse-

Projekt-Explorer" und wählen Sie Exportieren aus.

Kapitel 6. Framework for Frameworks-APIs handhaben 91

Page 98: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

2. Wählen Sie im Exportassistenten die Option JAR-Datei aus und klicken Sie an-schließend auf Weiter.

3. Wählen Sie im Abschnitt "JAR-Export" unter Exportziel auswählen eine passen-de Position für Ihre JAR-Datei aus und geben Sie einen Namen an. Klicken Sieauf Weiter.

92 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 99: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

4. Klicken Sie erneut auf Weiter. Sie können optional auch eine Position und ei-nen Namen für eine Beschreibungsdatei festlegen. Dadurch wird eine .jardesc-Datei in Ihrem Projekt gespeichert, die alle JAR-Exporteinstellungen von diesemExport enthält. Damit können Sie den Export wiederholen, ohne die Einstellun-gen erneut anzugeben.

5. Wählen Sie die Schaltfläche Vorhandenes Manifest von Arbeitsbereich ver-wenden aus und klicken Sie auf Durchsuchen. Wählen Sie die zuvor erstellteDatei Manifest.txt aus.

Kapitel 6. Framework for Frameworks-APIs handhaben 93

Page 100: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

6. Klicken Sie auf Fertigstellen.

JAR in waflgens exportieren

Wenn Sie die Handler-JAR nicht direkt in das Verzeichnis waflgens während derErstellung exportiert haben, kopieren Sie die jetzt in dieses Verzeichnis. Der voll-ständige Pfad lautet <installationsverzeichnis>\waflgens (wobei<installationsverzeichnis> die Position Ihrer AppScan Source-Installation ist).

Vom Handler ausgeführte allgemeine Aktionen

Web-Service-Eingangspunkt erstellen

Viele Frameworks bieten eigene Eingangspunkte in eine Anwendung. Ein allgemei-nes Beispiel ist die Auswahl von Web-Services, die entweder in einer Konfigurati-onsdatei oder in Anmerkungen im Code identifiziert werden. Nach dem Suchen inden Konfigurationsdateien der Anwendung oder direkt im Bytecode für bestimmteEingangspunkte kann die Methode F4FAction.addTaintedCallback verwendet wer-den, um einen versuchsweisen Dateneingangspunkt in der entsprechenden Metho-de zu erstellen.

Dazu ein Beispiel: In EJB 2 werden Web-Service-Eingangspunkte durch Definitionvon Endpunkten in der Konfigurationsdatei (ejb-jar.xml) der Anwendung dekla-riert. Anschließend durchläuft handleApp durch die Beans, die in ejb-jar.xml de-klariert sind, in einer Schleife; wann immer eine Endpunktklasse definiert ist, wirddie Liste der Methodennamen abgerufen. Anschließend werden die entsprechendenImplementierungen als Web-Service-Eingangspunkte mit der MethodeaddTaintedCallback deklariert.

94 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 101: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Methode ersetzen

Moderne Frameworks verwenden häufig virtuelle Funktionen und Abstraktionen,um Business-Komponenten flexibel zu verbinden. Dies kann zwar eine Verbesse-rung im Entwicklungsprozess darstellen, es tauchen jedoch auch Schwierigkeitenfür die statische Analyse aus, wenn die Verbindung zwischen der virtuellen Funk-tion und ihrer Implementierung in einer Konfigurationsdatei oder über Anmerkun-gen im Code abgewickelt abgearbeitet wird. F4FAction.replaceCalls ermöglicht eseinem Handler, diese Verbindungen zu bezeichnen.

Dazu ein Beispiel: In EJB 2 hat jede Bean eine Gruppe von Schnittstellen (lokalund fern(, die deklarieren, wie andere Beans mit dieser Bean interagieren. Dies be-deutet, dass immer dann, wenn die Schnittstelle class.method der Bean aufgerufenwird, diese durch das Framework mit der tatsächlichenImplementationClass.method ersetzt wird.

Ab Zeile 62 durchläuft unser Beispiel-Handler jede Bean in einer Schleife undnimmt deren ferne und lokale Schnittstellen und ersetzt diese durch die tatsächli-chen Implementierungen.

Protokollierung

Ein Handler kann die Klasse com.ibm.wala.andromeda.util.logging.TaintLoggerverwenden, um Informationsnachrichten während der Ausführung zu protokollie-ren - und um zu bewirken, dass Fehlernachrichten in der Benutzerschnittstelle vonAppScan Source angezeigt werden. Die Klasse TaintLogger verwendet die Biblio-thek log4j. Zum Protokollieren einer Nachricht besorgen Sie sich zunächst ein Log-ger-Objekt, indem Sie TaintLogger.i().getLogger() aufrufen. Rufen sie anschlie-ßend Protokollierungsmethoden mit dem Logger auf (Beispiel: Logger.warn), umdie gewünschten Nachrichten zu protokollieren. Protokollnachrichten werden in<datenverzeichnis>\logs\scanner_exceptions.log aufgelistet (wobei<datenverzeichnis> die Position Ihrer AppScan Source-Programmdaten ist, die inKapitel 8, „Positionen für Installations- und Benutzerdatendateien”, auf Seite 125beschrieben wird). Wenn Logger.error oder Logger.fatal zum Protokollieren einerNachricht verwendet wird, wird die Fehlernachricht auch in der Ansicht "Konsole"in der Benutzerschnittstelle von AppScan Source angezeigt.

Framework for Frameworks API classes and methodsThis section contains the Framework for Frameworks API classes and methods,abbreviated for Adobe PDF. To access the complete set of API documentation,launch the AppScan Source for Analysis online help and navigate to Reference >Framework for Frameworks handling APIs > Framework for Frameworks API clas-ses and methods.v „F4FActions”v „F4FApp” auf Seite 100v „F4FHandler” auf Seite 102v „TaintedParam” auf Seite 103

F4FActionsjava.lang.Object

extended by com.ibm.appscan.frameworks.highlevelapi.F4FActions

public class F4FActionsextends java.lang.Object

Kapitel 6. Framework for Frameworks-APIs handhaben 95

Page 102: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Class for specifying how the application's framework constructs should be mo-deled. An F4FHandler mutates the F4FAction object passed toF4FHandler.handleApp(F4FApp, F4FActions) as it analyzes the application.

Constructor DetailF4FActions

public F4FActions()

Create an empty F4FActions object. Should not be needed for implementing a newframework handler, as the relevant F4FActions object will be passed toF4FHandler.handleApp(F4FApp, F4FActions).

addTaintedCallbackpublic void addTaintedCallback(IMethod method,

int numParams)

Same as „addTaintedCallback” (String, int), but takes an IMethod directly ratherthan a VDB signature

addTaintedCallbackpublic void addTaintedCallback(java.lang.String vdbMethodSig,

int numParams)

Make a method a tainted callback, with all parameters tainted.

Anmerkung: For .NET apps, we need fully-qualified VDB signatures. So, insteadof int as a parameter type, we need System.Int32, etc. To see the full mappingfrom fully-qualified names to the names usually used in VDB, seeDotNetVDBUtil.systemName2VDBShortName.

Parameters:

v vdbMethodSig - the signature of the callback methodv numParams - the number of parameters for the callback method, including the

this parameter

replaceCallspublic void replaceCalls(java.lang.String oldVDBSig,

java.lang.String newVDBSig)

Replace all calls to one method with calls to another method. We require that thedescriptors for the old and new method (i.e., the number of arguments, argumenttype, and return type) are identical.

Anmerkung: replacement will only occur when oldVDBSig is the _declared_ targetat a call site. So, if oldVDBSig is Integer.toString(), and we see a call to Object-.toString(), we will _not_ perform a replacement at that call site, even though itmight invoke Integer.toString().

Anmerkung: for .NET apps, we need fully-qualified VDB signatures. So, instead ofint as a parameter type, we need System.Int32, etc. To see the full mapping fromfully-qualified names to the names usually used in VDB, seeDotNetVDBUtil.systemName2VDBShortName

Parameters:

96 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 103: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

v oldVDBSig - signature of method whose calls should be replacedv newVDBSig - signature of method to replace calls with

replaceCallsWithSyntheticExprpublic void replaceCallsWithSyntheticExpr(java.lang.String vdbSig,

com.ibm.appscan.frameworks.specinfo.SyntheticExpr expr)

Replace all calls to a method with an arbitrary WAFL SyntheticExpr. For example,one could replace calls with an assignment via an AssignmentExpr.

Anmerkung: replacement will only occur when oldVDBSig is the _declared_ targetat a call site. So, if oldVDBSig is Integer.toString(), and we see a call to Object-.toString(), we will _not_ perform a replacement at that call site, even though itmight invoke Integer.toString().

Anmerkung: for .NET apps, we need fully-qualified VDB signatures. So, instead ofint as a parameter type, we need System.Int32, etc. To see the full mapping fromfully-qualified names to the names usually used in VDB, seeDotNetVDBUtil.systemName2VDBShortName

Parameters:

v vdbSig - signature of method whose calls should be replacedv expr - synthetic expression to replace calls with

replaceCallsWithParamPatternpublic void replaceCallsWithParamPattern(java.lang.String oldVDBSig,

java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,java.util.regex.Pattern>>newSig2Pattern)

Replace calls to one method with calls to another method only if the parameters ofString type are constants meeting specified patterns. We require that the descrip-tors for the old and new method (i.e., the number of arguments, argument type,and return type) are identical.

Anmerkung: replacement will only occur when oldVDBSig is the _declared_ targetat a call site. So, if oldVDBSig is Integer.toString(), and we see a call to Object-.toString(), we will _not_ perform a replacement at that call site, even though itmight invoke Integer.toString().

Anmerkung: for .NET apps, we need fully-qualified VDB signatures. So, instead ofint as a parameter type, we need System.Int32, etc. To see the full mapping fromfully-qualified names to the names usually used in VDB, seeDotNetVDBUtil.systemName2VDBShortName

Parameters:

v oldVDBSig - signature of method whose calls should be replacedv newSig2Pattern - maps VDB signature of each possible replacement method m to

a map M from integer parameter positions to Patterns. If the string constant pa-rameters in the appropriate positions match the patterns in M at some call site, areplacement to m will be performed.

Kapitel 6. Framework for Frameworks-APIs handhaben 97

Page 104: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

addFrameworkInfopublic void addFrameworkInfo(com.ibm.appscan.frameworks.specinfo.IFrameworkInfo info)

Add arbitrary additional framework info. This method should only be needed forrare cases where the other APIs provided are insufficient.

addTaintedCallbackpublic void addTaintedCallback(java.lang.String vdbMethodSig,

java.util.Collection<TaintedParam>taintedParams)

Make some method a tainted callback, with only certain parameter access pathsbeing treated as tainted.

Anmerkung: for .NET apps, we need fully-qualified VDB signatures. So, instead ofint as a parameter type, we need System.Int32, etc. To see the full mapping fromfully-qualified names to the names usually used in VDB, seeDotNetVDBUtil.systemName2VDBShortName

Parameters:

v vdbMethodSig - the signature of the callback method, in VDB formatv taintedParams - information on which parameter access paths should be tainted

addHighLevelSyntheticMethodpublic void addHighLevelSyntheticMethod(HighLevelSyntheticMethod m)

equivalent to addHighLevelSyntheticMethod(m, true)

addHighLevelSyntheticMethodpublic void addHighLevelSyntheticMethod(HighLevelSyntheticMethod m,

boolean isEntrypoint)

Add a high-level synthetic method. A corresponding WAFL synthetic method (pos-sibly an entrypoint) will be generated.

Parameters:

v m - the methodv isEntrypoint - should the method be marked as an entrypoint in WAFL?

createGlobalpublic Global createGlobal(java.lang.String name,

java.lang.String declaredVDBType,boolean isEntrypointScoped)

Create a new global that can be accessed from HighLevelSyntheticMethods.

Parameters:

v name - name for the globalv declaredVDBType - the declared type of the global (e.g., java.lang.String).

Anmerkung: for .NET apps, we need a fully-qualified VDB type. So, instead ofint as a parameter type, we need System.Int32, etc. To see the full mappingfrom fully-qualified names to the names usually used in VDB, seeDotNetVDBUtil.systemName2VDBShortName

98 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 105: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

v isEntrypointScoped - if true, the global is scoped to a single entrypoint (i.e., it isrequest-scoped). Otherwise, the global is scoped across entrypoints (i.e., it is"session" or "application" scoped)

Returns:

v a Global object, which can be read/written inside a HighLevelSyntheticMethod

createGlobalpublic Global createGlobal(java.lang.String name,

IClass declaredClass,boolean isEntrypointScoped)

Just like „createGlobal” auf Seite 98(String, String, boolean), but takes anIClass for the declared type instead of a type name

getGlobalspublic java.util.Collection<Global> getGlobals()

For internal usage.

getAdditionalFrameworkInfopublic java.util.Collection<com.ibm.appscan.frameworks.specinfo.IFrameworkInfo>getAdditionalFrameworkInfo()

For internal usage.

getCallReplacement2SigsInfopublic java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,java.util.regex.Pattern>>>getCallReplacement2SigsInfo()

For internal usage.

getCallReplacement2ExprInfopublic java.util.Map<java.lang.String,com.ibm.appscan.frameworks.specinfo.SyntheticExpr>getCallReplacement2ExprInfo()

For internal usage.

getCallback2TaintedParamspublic java.util.Map<java.lang.String,java.util.Collection<TaintedParam>>getCallback2TaintedParams()

For internal usage.

getHighLevelSyntheticMethodspublic java.util.List<com.ibm.wala.util.collections.Pair<HighLevelSyntheticMethod,java.lang.Boolean>>getHighLevelSyntheticMethods()

For internal usage.

Kapitel 6. Framework for Frameworks-APIs handhaben 99

Page 106: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

toStringpublic java.lang.String toString()

Overrides:

v toString in class java.lang.Object

F4FAppjava.lang.Object

extended by com.ibm.appscan.frameworks.highlevelapi.F4FApp

public class F4FAppextends java.lang.Object

Representation of an application, with methods to query various properties of clas-ses, methods, etc. Implemented mostly by delegating to methods from the T.J. Wat-son Libraries for Analysis (WALA); the goal is to consolidate the most usefulWALA methods in a single type. See the WALA home page (http://wala.sourceforge.net) for full details on WALA APIs.

Constructor Detailpublic F4FApp(IClassHierarchy cha)

Should not be needed to implement a new handler. The relevant F4FApp object willbe passed as a parameter to F4FHandler.handleApp(F4FApp, F4FActions)

getAppClass@Deprecatedpublic IClass getAppClass(java.lang.String vdbClassName)

Deprecated. Use getIClass(String) instead; this method simply delegates to thatone.

getIClasspublic IClass getIClass(java.lang.String vdbClassName)

get the IClass for some class in the application, including library jars/DLLs. If noclass with the provided name is found, return null

Parameters:

v vdbClassName - class name in VDB format, e.g., java.lang.String

getClassAnnotationspublic java.util.Collection<Annotation>getClassAnnotations(IClass klass)

Get the annotations/attributes for a class. For .NET, the result will include inheri-ted attributes.

Parameters:

v klass - the class whose annotations are desired

getMethodAnnotationspublic java.util.Collection<Annotation>getMethodAnnotations(IMethod method)

100 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 107: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Get the annotations / attributes for a method. For .NET, these will include inheri-ted attributes.

Parameters:

v method - the method whose annotations are desired

getFieldAnnotationspublic java.util.Collection<Annotation>getFieldAnnotations(IField field)

Get the annotations / attributes for a field.

Parameters:

v field - the field whose annotations are desired

getMethodParametersAnnotationspublic java.util.Collection<Annotation>[]getMethodParametersAnnotations(IMethod method)

Get annotations on parameters as an array of Collections, where each array ele-ment gives the annotations on the corresponding parameter. Note that the this pa-rameter for an instance method cannot have annotations.

Parameters:

v method - the method whose parameter annotations are desired

getAllApplicationClassespublic java.util.Collection<IClass>getAllApplicationClasses()

Get all the classes in the application (i.e., excluding those in library jars).

getClassHierarchypublic IClassHierarchy getClassHierarchy()

Get the WALA class hierarchy for the application. Most handlers should be able towork via the other methods in this class and shouldn't need to operate directly onthe class hierarchy. But, access is provided for advanced use.

getMethodsDeclaredInClasspublic java.util.Collection<IMethod>getMethodsDeclaredInClass(IClass klass)

Get all the static and instance methods declared in klass

getClassMethodspublic java.util.Collection<IMethod>getClassMethods(java.lang.String className,

java.lang.String methodName)

Get all the methods in an class with a particular name. If the class cannot befound, returns an empty Collection.

Parameters:

Kapitel 6. Framework for Frameworks-APIs handhaben 101

Page 108: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

v className - the class name in VDB (i.e., source-level) format, e.g.,java.lang.String

v methodName -

getClassMethodspublic java.util.Collection<IMethod>getClassMethods(IClass appClass,

java.lang.String methodName)

Get all the methods in an class with a particular name.

Parameters:

v appClass - the classv methodName -

getStringConstantsReturnedByMethodpublic java.util.Collection<java.lang.String>getStringConstantsReturnedByMethod(IMethod method)

Get the possible String constants returned by the method. E.g., if the method has astatement return "result";, then "result" will be in the returned Collection. Throwsan IllegalArgumentException if the return type of method is not String.

F4FHandlerjava.lang.Object

com.ibm.appscan.frameworks.highlevelapi.F4FHandler

public abstract class F4FHandlerextends java.lang.Object

The abstract class that any new framework handler should extend.

Anmerkung: Any sub-class of F4FHandler must have a no-argument constructor,for instantiation using reflection

Constructor DetailF4FHandler

public F4FHandler()

handleApppublic abstract void handleApp(F4FApp app,

F4FActions actions)

Define what actions should be represented in the generated WAFL specification tohandle the given application.

Parameters:

v app - the application to be analyzedv actions - the actions to be taken; implementations of handleApp(F4FApp,

F4FActions) should mutate this parameter and store the desired actions

isApplicablepublic abstract boolean isApplicable()

102 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 109: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Is the framework handler applicable for the target application? Implementationsshould check the language of the app, whether relevant configuration files are pre-sent, etc.

setFrameworksInputpublic void setFrameworksInput(FrameworksInput input)

Should not be invoked by a framework handler.

getFrameworksInputprotected FrameworksInput getFrameworksInput()

Get the parsed representation of the input parameters to the frameworks code.

TaintedParamjava.lang.Object

extended by com.ibm.appscan.frameworks.highlevelapi.TaintedParam

public class TaintedParamextends java.lang.Object

A type used to represented how some method parameter may reference tainteddata.

Constructor Detailpublic TaintedParam(int paramPos,

java.lang.String accessPath)

Creates a new TaintedParam object for a particular parameter position and accesspath.

Parameters:

v paramPos - the position of the tainted parameter, numbered starting from 0 (whe-re the this parameter of an instance method is parameter 0)

v accessPath - access path of fields from the parameter that should be tainted,e.g., "f.g". Use "" to indicate the parameter itself should be tainted.

getParamPospublic int getParamPos()

getAccessPathpublic java.lang.String getAccessPath()

hashCodepublic int hashCode()

Overrides:

v hashCode in class java.lang.Object

equalspublic boolean equals(java.lang.Object obj)

Overrides:

v equals in class java.lang.Object

Kapitel 6. Framework for Frameworks-APIs handhaben 103

Page 110: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

toStringpublic java.lang.String toString()

Overrides:

v toString in class java.lang.Object

Übergeordnete synthetische Methoden

Synthetische Methoden sind ein nützliches Konstrukt zum Modellieren eines er-weiterten Datenflusses in Frameworks. Beispielsweise favorisieren viele Standard-frameworks (wie z. B. Struts und Spring) eine Modell-Ansicht-Controller-Architektur(MVC - Model View Controller) (MVC) (siehe http://st-www.cs.illinois.edu/users/smarch/st-docs/mvc.html) für die Anwendung. Mit einer Model View Controller-Struktur, wird die Formularübergabe des Clients häufig auf folgende Weise behan-delt:1. Legen Sie basierend auf der URL fest, dass die Modellklasse M der Anwendung

die übergebenen Formulardaten enthält und dass die Controllerklasse C die Ge-schäftslogik enthält.

2. Erstellen Sie ein Modellobjekt mit dem Typ M und legen Sie die zugehörigen Ei-genschaften basierend auf den (nicht gesicherten) Formulardaten in der HTTP-Anforderung fest. Die Eigenschaften werden in der Regel mithilfe von setterJavaBeans (z. B. setName() oder setAddress()) festgelegt.

3. Führen Sie eine Überprüfung der Daten im M-Objekt durch.4. Erstellen Sie ein Controller-Objekt mit dem Typ C und übergeben Sie das M-Ob-

jekt an eine Methode C.execute(), die die Geschäftslogik ausführt. In der Regelgibt execute() den Namen einer Ansicht zurück, in der die Ergebnisse bereitge-stellt werden.

5. Legen Sie basierend auf dem Namen der Ansicht die entsprechende Ansichtda-tei (beispielsweise eine JavaServer-Seite) für die Anzeige fest. Häufig werdendie Daten im M-Objekt über Attribute des Anforderungs- oder des Sitzungsob-jekts an die Ansicht übergeben.

Alle oben genannten Funktionen können mithilfe von synthetischen Methoden vonFramework for Frameworks modelliert werden und machen auf diese Weise dasunterschiedliche Verhalten für eine Analyse durch AppScan Source verfügbar. DieFramework for Frameworks-API bietet übergeordnete synthetische Methoden, umdie einfache Durchführbarkeit der Generierung von synthetischen Methoden si-cherzustellen.

Anmerkung: Traceknoten mit Klassennamen, die mit Appscan.Synthetic,Appscan.Synthetic.Validator und AppScan.Synthetic.Replacement beginnen, ent-sprechen den Methoden, die von AppScan Source synthetisch erstellt werden.v Die AppScan.Synthetic-Methoden werden verwendet, um Traces in einem An-

wendungscode, der Frameworks verwendet, zusammenzufügen.v Die AppScan.Synthetic.Validator-Methode modelliert die zugrunde liegende

Überprüfung, die von der Frameworklaufzeit durchgeführt wird. Sie könneneine Validatormethode auswählen und Sie bei Bedarf als Validator markieren.

v Die AppScan.Synthetic.Replacement-Methode gibt an, dass eine Methode im An-wendungscode durch AppScan Source ersetzt wurde, um den Datenfluss zwi-schen zusammenhangslosen Komponenten (z. B. Controller und Ansichten) desFrameworks zu erfassen.

104 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 111: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

VDB-FormatMethoden in der Framework for Frameworks-API erfordern, dass Strings, dieTypnamen oder Methodensignaturen darstellen, das VDB-Format aufweisen. VDB-Typnamen sind lediglich vollständig qualifizierte Namen auf Quellebene (z. B.java.lang.String) oder werden im Fall von untergeordneten inneren Klassen miteinem Dollar-Symbol ($) dargestellt (z. B. javax.swing.text.DefaultEditorKit$De-faultKeyTypedAction). Für .NET sollten kurze Namen wie int und string vermie-den werden, wenn die Framework for Frameworks-API verwendet wird. Verwen-den Sie stattdessen vollständig qualifizierte Namen wie System.Int32 undSystem.String.

Eine VDB-Methodensignatur besteht aus zwei Teilen:1. Methodenname, einschließlich des vollständig qualifizierten Namens der ein-

schließenden Klasse (z. B. java.lang.String.substring).2. Deskriptor für die Methode, der die Parametertypen und den Rückgabetyp an-

gibt. Die Parametertypen werden in runde Klammern eingeschlossen unddurch Semikola voneinander getrennt (;). Auf die rechte runde Klammer folgtein Semikolon (:) und anschließend der Rückgabetyp.

Beispiel für eine VDB-Methodensignatur:java.lang.String.substring(int;int):java.lang.String

Beispiel für eine VDB-Methodensignatur aus einer inneren Klasse:javax.swing.text.DefaultEditorKit$DefaultKeyTypedAction.

actionPerformed(ActionEvent):void

Für die meisten API-Methoden, die einen String in VDB-Format erfordern, ist häu-fig eine funktional entsprechende Methode vorhanden, die stattdessen ein IClass-oder IMethod-Objekt akzeptiert. Beispielsweise erfordert die MethodeF4FActions.addTaintedCallback(String,int), dass der erste zugehörige Parametereine Methodensignatur im VDB-Format ist, währendF4FActions.addTaintedCallback(IMethod,int) die Methode durch ein IMethod-Objekt angibt. Die Verwendung der API-Methode, die IClass- und IMethod-Objekteakzeptiert, kann aus folgenden Gründen bequemer sein:1. Der Benutzer muss sich keine Gedanken über das VDB-Format dieser Metho-

den machen, da dieses Problem intern behandelt wird.2. Durch Abrufen des IClass- bzw. des IMethod-Objekts (z. B. über

F4FApp.getClassMethods()) wird sichergestellt, dass die entsprechende Klasseoder Methode im Anwendungscode tatsächlich enthalten ist.

Verwendung von übergeordneten synthetischen MethodenIn diesem Thema wird dargestellt, wie einige der Schlüsselfunktionen übergeord-neter synthetischer Methoden verwendet werden. Vollständige Details finden Sie inder Javadoc-Dokumentation zu den Klassen und Methoden der Framework forFramework-API.v „Übergeordnete synthetische Methode erstellen” auf Seite 106v „Lokale Variablen erstellen” auf Seite 106v „Aufrufe hinzufügen” auf Seite 106v „Rückgabewert hinzufügen” auf Seite 107v „Globals” auf Seite 107

Kapitel 6. Framework for Frameworks-APIs handhaben 105

Page 112: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Übergeordnete synthetische Methode erstellen

Verwenden Sie zum Erstellen einer übergeordneten synthetischen Methode undzum Hinzufügen dieser Methode zum F4FActions-Objekt actions Code ähnlichdem folgenden:HighLevelSyntheticMethod m = HighLevelSyntheticMethod.make();actions.addHighLevelSyntheticMethod(m);

Sie können den Namen, die Parametertypen und den Rückgabetyp der syntheti-schen Methode angeben, indem Sie eine VDB-Methodensignatur anHighLevelSyntheticMethod.make() übergeben.

Lokale Variablen erstellen

Eine neue lokale Variable für eine übergeordnete synthetische Methode m kann auffolgende Weise erstellt werden:Local l = m.newLocal("java.lang.String");

Konstrukturfunktionen müssen in synthetischen Methoden nicht aufgerufen wer-den. Bei Zugrundelegung des oben genannten Codes kann vorausgesetzt werden,dass l auf ein String-Objekt ungleich null verweist, wenn weitere Anweisungenzu der synthetischen Methode hinzugefügt werden.

Aufrufe hinzufügen

Bei den meisten Anweisungen in übergeordneten synthetischen Methoden wird essich um Methodenaufrufe handeln, die über die Methode addCall() hinzugefügtwerden. Die Parameter für addCall() stellen die aufzurufende Methode dar, Positi-onsdaten zur Datei für den Aufruf sowie Parameter, die beim Aufruf übergebenwerden. Dies ist ein Beispiel für das Hinzufügen eines Aufrufs zu der Setter-Me-thode sample.BeanType.setName(), bei dem das F4FApp-Objekt app vorausgesetztwird:Collection<IMethod> setterMethods =

app.getClassMethods("sample.BeanType", "setName");// unter der Voraussetzung, dass in BeanType genau eine Methode "setName" vorhanden istIMethod setter = setterMethods.iterator().next();HighLevelSyntheticMethod m = HighLevelSyntheticMethod.make();Local l = m.newLocal("sample.BeanType");m.addCall(setter, null, l, Taint.taint());

Die Schritte 2-5 für die Behandlung einer Formularübergabe durch einen Client ineiner Model View Controller-Architektur (wie in „Übergeordnete synthetischeMethoden” auf Seite 104 dargestellt) können bis zu einem bestimmten Grad alledurch Hinzufügen von entsprechenden Aufrufen zu einer synthetischen Methodeauf die oben gezeigte Weise modelliert werden.

Die Parameter für einen Aufruf werden durch Objekte des Typs Param dargestellt.Dabei kann es sich um folgende Objekte handeln:v Ein Objekt Local, das eine lokale Variable darstellt.v Ein Objekt Taint, das nicht gesicherte oder unzuverlässige Daten darstellt.v Ein Objekt EnclosingFormal, das einen formalen Parameter der übergeordneten

synthetischen Methode darstellt. Wenn Sie beispielsweise eine synthetische Me-thode mit der Signatur synthMethod(int):void haben, bezieht sichEnclosingFormal.FIRST auf den Parameter int der Methode.

v Ein Global-Objekt, das sich auf eine globale Variable bezieht (wird in „Globals”auf Seite 107 behandelt).

106 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 113: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Anmerkung: Bei nicht statischen Instanzdefinitionsmethoden muss der als this zuübergebende Wert für addCall() bereitgestellt werden. Im oben genannten Beispielwird der Wert in l als this für setName() bereitgestellt.

Rückgabewert hinzufügen

Eine synthetische Methode kann mithilfe der Methode setReturnedValue() einenWert zurückgeben. Rückgabewerte können zum Generieren von Markierungsme-thoden nützlich sein, mit denen die Überprüfung komplexer Frameworks model-liert wird. Wenn Sie beispielsweise ein Framework verwenden, das eine komplexePrüfung eines als unsicher eingestuften HTTP-Anforderungswerts ausführt, bevordieser Wert an die setter-Methode eines Modellobjekts weitergegeben wird, könnenSie die Prüfung für von AppScan Source erkannte Traces durch die Verwendungvon Code ähnlich dem folgenden verfügbar machen:String validatorSig =

"Synth.validatorModel(java.lang.String):java.lang.String";

HighLevelSyntheticMethod validator =HighLevelSyntheticMethod.make(validatorSig);

// Geben Sie den übergebenen Parameter einfach zurückvalidator.setReturnedValue(EnclosingFormal.FIRST);HighLevelSyntheticMethod m = ...;Local validated = m.addCall(validatorSig, null, Taint.taint());// Jetzt kann der geprüfte Wert an eine setter-Methode übergeben werden

Die synthetische Methode Synth.validatorModel() gibt die an sie als Parameterübergebene String (Zeichenfolge) einfach zurück. Anschließend wird in einer an-deren synthetischen Methode ein Aufruf an Synth.validatorModel() hinzugefügt,indem ein als unsicher eingestufter Wert als Argument übergeben wird. Das Ergeb-nis dieses Aufrufs wird in validated gespeichert, das in einem nachfolgenden Auf-ruf an eine setter-Methode übergeben werden kann (wie durch das Beispiel in„Aufrufe hinzufügen” auf Seite 106 dargestellt). Traces, die diese als unsicher ein-gestuften Daten enthalten, beinhalten den Aufruf an Synth.validatorModel() undein AppScan Source-Benutzer kann auswählen, die Traces zu filtern, falls die Prü-fung als ausreichend angesehen wird.

Globals

Globals stellen eine erweiterte Funktion dar, die verwendet werden kann, um Da-tenfluss zwischen unterschiedlichen und voneinander unabhängigen Teilen einerAnwendung verfügbar zu machen. Globals können beispielsweise verwendet wer-den, um den Datenfluss von einem Controller zu einer Ansicht über Anforderungs-oder Sitzungsattribute zu modellieren. Die wichtigsten Operationen zum Erstellenund Zugreifen auf Globals lauten wie folgt:v Zum Erstellen eines Global-Objekts, das ein Global darstellt, verwenden Sie

F4FActions.createGlobal().v Zum Schreiben eines Globals verwenden Sie HighLevelSyntheticMethod.addGlo-

balWrite().v Zum Lesen aus einem Global übergeben Sie das Global-Objekt als Parameter

Param in einem Aufruf an HighLevelSyntheticMethod.addCall() - oder erhaltenSie es über HighLevelSyntheticMethod.setReturnedValue() von einer syntheti-schen Methode zurück.

Beispiel: Eine Controllerklasse schreibt den Vornamen eines Benutzers an das An-forderungsattribut firstName und die Ansicht liest anschließend dieses Anforde-rungsattribut und gibt den Wert an die Antwort aus. Auf einer übergeordnetenEbene können Sie diesen Ablauf wie folgt modellieren:

Kapitel 6. Framework for Frameworks-APIs handhaben 107

Page 114: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Global firstNameGlobal = actions.createGlobal("firstName", "java.lang.String", true);

HighLevelSyntheticMethod controller = ...;Local firstNameLocal = controller.newLocal("java.lang.String");controller.addGlobalWrite(firstNameGlobal, firstNameLocal, null);HighLevelSyntheticMethod view = ...;view.addCall("Response.write(java.lang.String):void",

null, firstNameGlobal);

Indem Sie in der synthetischen Methode des Controllers ein 'write' zufirstNameGlobal hinzufügen und anschließend firstNameGlobal in der syntheti-schen Methode view an Response.write() übergeben, wird der Datenfluss vomController zur Ansicht verfügbar gemacht.

Anmerkung: Dieses Beispiel enthält viele Vereinfachungen. Eine Vollversion würdeunter anderem den ordnungsgemäßen Fluss von Daten an firstNameLocal verfüg-bar machen müssen.

Beispiel: Synthetische Methoden erstellenIn diesem Beispiel wird die Erstellung einer synthetischen Methode veranschau-licht. In dieser synthetischen Methode wird zunächst ein Klassenfeld verbreitet unddann ein Aufruf zu einer Methode im Benutzercode hinzugefügt und schließlichdas Ergebnis dieses Methodenaufrufs an eine Senke übergeben.v „Anwendungsszenario”v „Elemente, die in der synthetischen Methode modelliert werden”v „Schritt 1: Eine leere synthetische Methode erstellen” auf Seite 109v „Schritt 2: Die Verbreitung eines Klassenfelds modellieren” auf Seite 109v „Schritt 3: Das Aufrufen der createUser()-Methode modellieren” auf Seite 110v „Schritt 4: Die Datenrückgabe an den Client modellieren” auf Seite 110

Anwendungsszenario

In diesem Beispiel ist createUser eine REST-API, die im JAX-RS-Framework imple-mentiert ist. Ein Benutzer kann diese API mit einer URL aufrufen, z. B. http://host:port/users/createUser. Da der Pfad übereinstimmt, leitet die Framework-Laufzeit diesen Auftrag an UserRestService.createUser() weiter. Zusätzlichinitialisiert die Framework-Laufzeit die Klassenvariable urlInfo aus den Clientda-ten, bevor createUser() aufgerufen wird. Als letzter Schritt werden die durchcreateUser() zurückgegebenen Daten von der Laufzeit an den Client zurückgesen-det.

Elemente, die in der synthetischen Methode modelliert werden

Um das „Anwendungsszenario” mit einer synthetischen Methode zu behandeln,werden die folgenden Elemente modelliert:v Die als unsicher eingestufte Klassenvariable urlInfo von UserRestService.v Der Aufruf an UserRestService.createUser().v Die Rückgabe von Daten an den Client.

Dies istd er Code für die Methode createUser():import java.io.BufferedWriter;

@Path("users")public class UserRestService {

@ContextUriInfo urlInfo;

108 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 115: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

@Path("/createUser")public User createUser(){

MultivaluedMap<String, String> queryParams =urlInfo.getQueryParameters();

String name = queryParams.getFirst("name");User user = new User(name);return user;

}}

Schritt 1: Eine leere synthetische Methode erstellen22 public class JAXRSHandler extends F4FHandler{23 @Override

public void handleApp(F4FApp app, F4FActions actions) {24 HighLevelSyntheticMethod synthMethod = HighLevelSyntheticMethod.make();

v In Zeile 24 wird das Objekt der synthetischen Methode initialisiert.

Schritt 2: Die Verbreitung eines Klassenfelds modellieren

Das Code-Snippet unten veranschaulicht, wie bestimmte Klassenfelder verbreitetwerden können. In diesem Beispiel sollen die Klassenfelder verbreitet werden, diedie Anmerkung @Context haben.27 // Erstellen Sie eine lokale Variable des entsprechenden Typs28 Local userRestServiceClazzInstance =

synthMethod.newLocal("com.ibm.appscan.UserRestService");2930 // Rufen Sie alle Klassenfelder ab31 for(IField field: app.getIClass

("com.ibm.appscan.UserRestService").getDeclaredInstanceFields()){3233 // Rufen Sie alle Anmerkungen zu diesem Feld ab34 Collection<Annotation> fieldAnnotations = app.getFieldAnnotations(field);3536 // Prüfen Sie bei jeder Anmerkung des Felds, ob es sich um eine @Context-Anmerkung handelt37 for (Annotation annotation : fieldAnnotations) {3839 if (annotation.getType().getName().toString().equals

("Ljavax/ws/rs/core/Context")) {4041 // Rufen Sie die F4F-API auf, um die Verbreitung dem Feld zuzuordnen43 synthMethod.addInstanceVariableWrite(

userRestServiceClazzInstance /*Variable representingclass instance*/,

44 field /*field to taint */,Taint.taint() /* taint */,null);

45 }46 }47 }

Die Framework for Framework-API addInstanceVariableWrite hat vier Argumen-te:1. Das erste Argument ist die Klassenreferenz, deren Feld verbreitet werden soll.

Im genannten Beispiel bezieht sich die lokale VariableuserRestServiceClazzInstance auf dieses Argument.

2. Das erste Argument ist das Klassenfeld, das verbreitet werden soll.3. Das dritte Argument ist der neue Wert, der dem Klassenvariablenfeld zugeord-

net werden soll. In diesem Beispiel soll diese Variable so verbreitet werden,dass Taint.taint() übergeben wird.

4. Das letzte Argument ist FilePositionInfo, das in diesem Beispiel null ist.

Kapitel 6. Framework for Frameworks-APIs handhaben 109

Page 116: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Schritt 3: Das Aufrufen der createUser()-Methode modellieren

In diesem Schritt wird der Aufruf in der synthetische Methode simuliert.50 // Rufen Sie ’createUser()’ auf und speichern Sie den zurückgegebenen Wert in eine lokale Variable51 Local returnObj = synthMethod.addCall(52 "com.ibm.appscan.UserRestService.createUser():com.ibm.appscan.User"

/* signature of the method to be called */,null, /* FilePositionInfo */

53 userRestServiceClazzInstance /* Object on which the methodwill be called */);

Die übergeordnete API addCall benötigt drei Argumente:v Das erste Argument ist die Signatur der Methode, die aufgerufen werden soll. In

diesem Fall sollUser.createUser() aufgerufen werden, da seine Signatur ver-wendet wird.

v Das zweite Argument ist FilePositionInfo. Es wird als null weitergereicht, daes für dieses Beispiel nicht erforderlich ist.

v Das letzte Argument stellt die Liste der Parameter dar, die erforderlich sind, umdie createUser()-Methode aufzurufen.

Da createUser() keine Argumente annimmt, ist das einzige Argument, das an die-sen Aufruf übergeben wird, das this-Objekt, das eine Local-Variable (userRestSer-viceClazzInstance) des Typs User ist. Die Methode createUser() gibt einen neuerstellten User zurück, der in einer neuen Local-Variable mit dem NamenreturnedObj (siehe Zeile 51) gespeichert wird.

Schritt 4: Die Datenrückgabe an den Client modellieren

In diesem letzten Schritt wird eine Senke erstellt, um die Rückgabe der Daten anden Client zu modellieren.58 // Erstellen Sie ein PrintWriter-Objekt59 Local printWriterObj = synthMethod.newLocal("java.io.PrintWriter");6061 // Die Print-API soll im PrintWriter-Objekt aufgerufen werden.

// Die Print-API nimmt ein einziges Argument des Objekttyps gibt ’void’ zurück6263 // Erstellen Sie eine Parameterliste der Größe 2. Das erste Element in der Liste ist immer das

// ’this’-Objekt. Der Rest sind tatsächliche Methodenargumente.64 Param[] printWriterObjParam = new Param[2];65 printWriterObjParam[0] = printWriterObj; // Das "this"-Objekt

// Der Wert, der vom Aufruf an die createUser-Methode zurückgegeben wird66 printWriterObjParam[1] = returnObj;6768 // Fügen Sie jetzt der Print-Methode einen Aufruf hinzu69 synthMethod.addCall("java.io.PrintWriter.print(java.lang.Object):void",

null, printWriterObjParam);70 }

v In Zeile 59 soll ein lokales Objekt für die Klasse PrintWriter in der syntheti-schen Methode erstellt werden.

v In den Zeilen 64 bis 66 wird die Liste der Parameter vorbereitet, die für denAufruf der Methode print in der Klasseninstanz PrintWriter erforderlich ist(printWriterObj):– Der erste Parameter ist der Objektverweis selbst (printWriterObj).– Der zweite Parameter ist das Argument für die Methode print. Der zurückge-

gebene Werte, der in der lokalen returnObj-Variable gespeichert ist, soll zu-rückgegeben werden.

110 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 117: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

v In Zeile 69 wird der PrintWriter.print-Methode ein Aufruf hinzugefügt, umdie Rückgabe der Daten an den Client zu modellieren.

Neues Web-Service-Framework for Frameworks-Handler mit dem vor-handenen angepassten Web Service Description Language-Scanner in-tegrieren

Informationen zu diesem Vorgang

Beim Überprüfen einer JAX-RS- oder JAX-WS-Anwendung mit AppScan Sourcesollten Sie sicherstellen, dass Sie alle Webserviceeingangspunkte erfassen, sodassSie keine Schwachstellen in Ihrer Anwendung übersehen. In diesem Dokumentwird ein Verfahren beschrieben, wie Sie dies durchführen können. Es werden dieSchritte beschrieben, um einen neuen Framework for Frameworks (F4F)-Handlerzu integrieren, der für die Analyse von nicht unterstützten Web-Service-Frame-works mit dem angepassten Web Service Description Language (WSDL)-Scannerverwendet wird.

Dies ist notwendig, damit der WSDL-Scanner zwischen den Webserviceeingangs-punkten, die vom neuen F4F-Handler bereits ermittelt wurden, und den Webser-viceeingangspunkten, die in der WSDL-Datei vorhanden sind, unterscheiden kann.Mit diesen Informationen kann der WSDL-Scanner die Konfigurationsergebnisseeliminieren, die bereits vom neuen F4F-Handler analysiert wurden.v „Den Web-Service-F4F-Handler mit dem angepassten WSDL-Scanner verbinden”v „Signaturzuordnung” auf Seite 113

Den Web-Service-F4F-Handler mit dem angepassten WSDL-Scanner verbinden

Vorbereitende Schritte

In diesem Abschnitt wird vorausgesetzt, dass der Haupt-F4F-Handler und die syn-thetische Methodengeneration bereits entwickelt und getestet wurden.

Vorgehensweise1. Fügen Sie eine Abhängigkeit von Ihrem Plug-in zu

com.ibm.appscan.frameworks.wsdl.util hinzu, der die Helper-APIs zum Mel-den der gefundenen Services einschließt. Sie ist auch im Ordner walalib vor-handen.

2. Fügen Sie im Haupt-Handler (der die Klasse F4FHandler erweitert), vor der Me-thode handleApp() diese Zeilen hinzu:String filePath = WSDLReportingUtil.getServicesFilePath

(getFrameworksInput().getFileLocs());if (filePath!=null) {WSDLReportingUtil.initXmlDocument(filePath);}

Mit diesen Zeilen wird eine temporäre Datei erstellt, die vom angepasstenWSDL-Scanner verwendet wird.

3. Fügen Sie am Ende der Methode handleApp() folgende Zeile hinzu, um sicher-zustellen, dass alle gemeldeten Services gespeichert werden, bevor der F4F-Handler beendet wird:WSDLReportingUtil.saveXmlDocument();

Kapitel 6. Framework for Frameworks-APIs handhaben 111

Page 118: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

4. Um einen Service zu melden, fügen Sie einen Aufruf zu einer dieser APIs ausder API WSDLReportingUtil hinzu:v reportService(String targetNameSpace, String serviceName, String

methodSignature)

v reportService(String targetNamespace, String serviceName, StringoperationName, ArrayList<String> wsdlParams)

Hierbei gilt:v targetNameSpace ist der Zielnamensbereich des Services. In JAX-WS befindet

er sich in den Anmerkungen oder er entspricht dem Package-Namen.v serviceName ist der Name des Services. Er befindet sich in den Anmerkungen

oder er entspricht dem Namen der Serviceklasse.v methodSignature ist die Signatur der Methode aus der WSDL-Datei mit eini-

gen Vereinfachungen.v operationName ist der Name der Methode, der mit dem Namen der Operati-

on in einem Porttyp in der WSDL-Datei verbunden ist.v wsdlParams ist die Liste der Parametertypen in einem einfachen WSDL-For-

mat.5. Zurzeit kann der angepasste WSDL-Scanner als Standalone-Scanner oder als

Bestandteil einer Java/JSP-Prüfung verwendet werden. Wenn der neue F4F-Web-Service-Handler mit einer anderen Sprache als Java (beispielsweise .NET)verwendet werden soll, stellen Sie sicher, dass der angepasste WSDL-Scannermit dem richtigen Überprüfungstyp aufgerufen wird. Führen Sie dazu folgendeSchritte durch:a. Gehen Sie zum <data_dir>/ltd-Verzeichnis (wobei <datenverzeichnis> die

Position Ihrer AppScan Source-Programmdaten ist, die in Kapitel 8, „Positio-nen für Installations- und Benutzerdatendateien”, auf Seite 125 beschriebenwird).

b. Erstellen Sie eine Backup-Kopie aller Dateien, um unerwartete Probleme zuvermeiden.

c. Öffnen Sie die .ltd-Datei, die dem richtigen Überprüfungstyp entspricht.Für C++ öffnen Sie beispielsweise die Datei cpp.ltd.

d. Fügen Sie die folgende Zeile hinzu, bevor Sie den Tag<LanguageTypeDefinition> schließen:<Scanner name="wsdl"/>

e. Kopieren Sie den Wert file_extention_set_name, der für den nächstenSchritt erforderlich ist.

f. Öffnen Sie file_extensions.xml und suchen Sie nach FileExtensionSet, indem der Name enthalten ist, der im vorherigen Schritt kopiert wurde.

g. Fügen Sie die folgende Zeile der Datei hinzu:<FileExtension extension="wsdl" assess="true"/>

h. Speichern Sie alle Dateien und starten Sie AppScan Source neu. Der ange-passte WSDL-Scanner wird jetzt als Bestandteil der vollständigen Anwen-dungsüberprüfung ausgeführt.

Ergebnisse

An dieser Stelle zeigt der angepasste WSDL-Scanner nur Konfigurationsergebnisse(in der Ansicht 'Ergebnisse') der WSDL-Dateien an, die von Ihrem Frameworknicht implementiert wurden. Alle Services von WSDL-Dateien, die bereits in derAnwendung implementiert wurden, werden nicht als Konfigurationsergebnis ange-zeigt. Sie werden von neuen Web-Services-F4F-Handler analysiert.

112 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 119: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

SignaturzuordnungInformationen zu diesem Vorgang

Der angepasste WSDL-Scanner versucht, die gemeldeten Methoden mit den ent-sprechenden WSDL-Services, WSDL-Porttypen und WSDL-Operationen abzuglei-chen. Daher werden die Web-Services im WSDL-Format gemeldet. Einige Vereinfa-chungen wurden hinzugefügt, um das Verständnis zu erleichtern:v Für die primitiven XSD-Typen muss kein Zielnamensbereich hinzugefügt wer-

den, sondern nur der Name (z. B. string, int, float, double).v Für Sammlungen und Arrays wird [] nach dem Typ hinzugefügt (z. B. string[],

int[]).v Bei Klassentypen, die den komplexen XSD-Typen (mit JAX-B oder anderen Tech-

nologien) zugeordnet werden, wird der Typ wie folgt angezeigt:http//my-types/myxsdnamespace/:Customer

Der Namensbereich sollte als Teil der Java-Anmerkung verfügbar sein. Wenn erkein Teil der Java-Anmerkung ist, sollte er dem Namensbereich des aufrufendenServices oder des Pakets je nach Implementierung des Frameworks sein.

Anmerkung: Zuordnungsfehler verhindern häufig, dass der angepasste WSDL-Scanner Ihre gemeldete Web-Service-API mit der dazugehörigen WSDL-Operationabgeglichen wird. Wenn dies der Fall ist, wird ein zusätzliches Konfigurationser-gebnis angezeigt. Dieses zusätzliche Ergebnis ist ein Fehlalarm und weist auf einZuordnungsproblem hin.

Wenn Sie nicht wissen, wie die erwartete Signatur aussehen soll, führen Sie eineWSDL-Überprüfung von AppScan Source auf den WSDL-Dateien selbst durch. Da-durch werden Ergebnisse für alle Operationen der WSDL-Services generiert. WennSie auf ein Ergebnis klicken, wird die Methodensignatur in der Ansicht für die Er-gebnisdetails angezeigt.

Kapitel 6. Framework for Frameworks-APIs handhaben 113

Page 120: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

114 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 121: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Kapitel 7. Fehlernachrichten in AppScan Source-Clientkompo-nenten

CRWSA0900E Das ausgeschlossene Bundle kann nicht umbe-nannt werden.

Das 'Ausgeschlossene Bundle' ist ein integriertes Bundle, das alle ausgeschlossenenErgebnisse enthält. Es kann nicht umbenannt werden.

CRWSA0907E Hinzufügen von <> ist fehlgeschlagen, weil es be-reits in der Datenbank vorhanden ist und nicht überschriebenwerden kann.

Die angepasste Regel ist bereits in der AppScan Source-Datenbank vorhanden undkann daher nicht neu erstellt oder überschrieben werden. Dies tritt in einer der fol-genden Situationen auf:v Die Regel, die im Lieferumfang der Datenbank enthalten ist, ist als Senke mar-

kiert. Sie versuchen, eine angepasste Regel zu erstellen, die die Senke als Ver-breitung von als unsicher eingestuften Daten markiert.

v Die Regel, die im Lieferumfang der Datenbank enthalten ist, ist als Verbreitungvon als unsicher eingestuften Daten markiert. Sie versuchen, eine angepasste Re-gel zu erstellen, die diese Regel ändert, indem eine Verbreitung von als unsichereingestuften Daten hinzugefügt wird.

CRWSA0920E Beim Importieren der Signaturen in das Projektsind Fehler aufgetreten.

Stellen Sie vor dem Importieren von Signaturen sicher, dass das Projekt ordnungs-gemäß konfiguriert ist.

CRWSA0925E Der für "{0}" eingegebene Wert ist ungültig.

Der eingegebene Wert weist kein gültiges Format auf. Geben Sie ein gültiges For-mat ein.

CRWSA0930E Das für "{0}" eingegebene Datenformat ist ungül-tig.

CRWSA0935E Das für "{0}" eingegebene Zahlenformat ist ungül-tig.

CRWSA0940E Unbekannter Benutzer.

Stellen Sie sicher, dass der Benutzer auf dem Enterprise Server vorhanden ist unddass Sie die Benutzerdaten ordnungsgemäß eingegeben haben.

CRWSA0945E Die angegebene Benutzer-ID ist zu kurz. Benutzer-IDs müssen eine Mindestlänge von 1 Zeichen aufweisen.

CRWSA0950E Das angegebene Kennwort ist zu kurz. Kennwörtermüssen eine Mindestlänge von 6 Zeichen aufweisen.

© Copyright IBM Corp. 2003, 2014 115

Page 122: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

CRWSA0955E Die angegebene Benutzer-ID ist zu lang. Benutzer-IDs dürfen höchstens 255 Zeichen lang sein.

CRWSA0960E Die angegebene Benutzer-ID enthält ungültige Zei-chen.

CRWSA0965E Das angegebene Kennwort ist zu lang. Kennwörterdürfen höchstens 16 Zeichen lang sein.

CRWSA0970E Die angegebenen Kennwörter stimmen nicht über-ein. Geben Sie die Kennwörter noch einmal ein.

CRWSA0975E Der Benutzer mit Administratorberechtigung kannnicht geändert werden.

CRWSA0980E Die angegebene E-Mail-Adresse ist ungültig. Daserforderliche Format lautet <Benutzer>@<Domäne>, wobei <Do-mäne> nicht die Länge von 255 Zeichen überschreiten darf.

CRWSA0985E Eine Angabe im Feld 'E-Mail' ist erforderlich.

CRWSA0990E Eine Angabe im Feld 'Name' ist erforderlich.

CRWSA0995E Die angegebene Benutzer-ID ist im Repository vor-handen; die Felder 'Name' und 'E-Mail' wurden aktualisiert.

CRWSA1010W Benutzer {0} konnte nicht hinzugefügt werden.

Informationen finden Sie in der Hilfe zu AppScan Enterprise Server.

CRWSA1050E Unerwarteter Fehler beim Laden des externen Edi-tors.

Stellen Sie sicher, dass der externe Editor verfügbar ist und ordnungsgemäß funkti-oniert.

CRWSA1055E Fehler beim Laden des externen Editors. Die Ei-genschaftendatei ist beschädigt.

Stellen Sie sicher, dass der externe Editor verfügbar ist und ordnungsgemäß funkti-oniert.

CRWSA1060E Fehler beim Laden des externen Editors. Die Ei-genschaftendatei fehlt.

Stellen Sie sicher, dass der externe Editor verfügbar ist und ordnungsgemäß funkti-oniert.

CRWSA1065E Fehler beim Laden des externen Editors. Der be-vorzugte Editor kann nicht geladen werden.

Stellen Sie sicher, dass der externe Editor verfügbar ist und ordnungsgemäß funkti-oniert.

116 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 123: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

CRWSA1070E Fehler beim Laden des externen Editors. Das Edi-tor-Plug-in meldete einen Fehler.

Stellen Sie sicher, dass der externe Editor verfügbar ist und ordnungsgemäß funkti-oniert.

CRWSA1075E Fehler beim Laden des externen Editors. Die aus-führbare Instanz kann nicht erstellt werden.

Stellen Sie sicher, dass der externe Editor verfügbar ist und ordnungsgemäß funkti-oniert.

CRWSA1080E Fehler beim Laden von Eclipse. Verbindungsauf-bau fehlgeschlagen.

Stellen Sie sicher, dass Sie Eclipse ordnungsgemäß konfiguriert haben, sodass es alsexterner Editor verwendet werden kann (verwenden Sie eine Eclipse-Instanz, diedie Datei com.ouncelabs.core.filelauncher.jar im zugehörigen Verzeichnisplugins\ enthält).

CRWSA1085E Fehler beim Laden von Eclipse. Keine Antwortvom Server.

Stellen Sie sicher, dass Sie Eclipse ordnungsgemäß konfiguriert haben, sodass es alsexterner Editor verwendet werden kann (verwenden Sie eine Eclipse-Instanz, diedie Datei com.ouncelabs.core.filelauncher.jar im zugehörigen Verzeichnisplugins\ enthält).

CRWSA1090E Fehler beim Laden von Eclipse. Protokollfehler.

CRWSA1095E Fehler beim Laden von Eclipse. Pfad zu Eclipse istungültig.

Stellen Sie sicher, dass Sie Eclipse ordnungsgemäß konfiguriert haben, sodass es alsexterner Editor verwendet werden kann (verwenden Sie eine Eclipse-Instanz, diedie Datei com.ouncelabs.core.filelauncher.jar im zugehörigen Verzeichnisplugins\ enthält).

CRWSA1100E Fehler beim Laden des angepassten Editors. {0}kann nicht ausgeführt werden.

CRWSA1120E Überprüfung fehlgeschlagen.

CRWSA1125E Beim Abrufen der Überprüfungsergebnisse ist einFehler aufgetreten.

CRWSA1150W Warnung: Wenn "{0}" als Prüfroutine markiertwird, hat dies keine Auswirkung auf das aktuelle Ergebnis bzw.auf das Tracediagramm. Möchten Sie den Stammknoten wirklichals Prüfroutine hinzufügen?

CRWSA1155E Mindestens eine Quelle, eine Senke, eine Quellen-eigenschaft oder eine Senkeneigenschaft ist erforderlich.

CRWSA1160E Der Assistent für angepasste Regeln kann nichtgestartet werden, wenn eine Beurteilung durchgeführt wird.

Kapitel 7. Fehlernachrichten in AppScan Source-Clientkomponenten 117

Page 124: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

CRWSA1165E Fehler beim Hinzufügen der angepassten Regeln.

CRWSA1170E Hinzufügen von {0} ist fehlgeschlagen.

CRWSA1175E Hinzufügen von {0} ist fehlgeschlagen, weil es be-reits in der Datenbank vorhanden ist und nicht überschriebenwerden kann.

CRWSA1185E Die Überprüfung ist aufgrund eines Fehlers in derKompilierung fehlgeschlagen.

CRWSA1190E Kompilierung fehlgeschlagen.

CRWSA1195E Beim Versuch, den Editor zu öffnen, ist ein Fehleraufgetreten.

Versuchen Sie AppScan Source erneut zu starten, falls das Öffnen des Editors fehl-schlägt.

CRWSA1200E Die ausgewählte Datei wurde auf diesem Systemnicht gefunden.

CRWSA1205E Beim Erstellen von Quellcodemarkierungen für dieBeurteilung ist ein Fehler aufgetreten.

CRWSA1210E Mindestens eine Quellendatei konnte nicht zurNutzung durch die Snippetfunktion für Quellcode gefunden wer-den. Möchten Sie nach der Speicherposition der fehlenden Datei-en abgefragt werden?

CRWSA1215E Herstellen einer Verbindung zu AppScan Enterpri-se Console ist fehlgeschlagen. Überprüfen Sie, dass der Serveran der angegebenen Position aktiv ist.

CRWSA1220E Überschreitung des Anmeldezeitlimits nach{0,number} Sekunden. Es wird empfohlen, dass Sie die AppScanEnterprise Console-Services erneut starten.

CRWSA1225E Fehler beim Ablegen nicht gespeicherter Filter. DieÄnderungen an den Filtern werden nicht gespeichert.

CRWSA1230E Während des Durchsuchens kann die Beurteilungnicht gespeichert werden.

CRWSA1240E Anwendung nicht gefunden.

CRWSA1245E {0} konnte nicht gefunden werden.

Überprüfen Sie die Speicherposition der angegebenen Java Runtime Environment(JRE).

CRWSA1250E 'startup.jar' oder das Plug-in 'org.eclipse.equinox-.launcher' kann nicht gefunden werden.

Überprüfen Sie die angegebene Eclipse-basierte Installation.

118 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 125: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

CRWSA1290W Mindestens ein Projekt weist kein Java Develop-ment Kit (JDK) auf. Für diese Projekte wurde das standardmäßi-ge JDK festgelegt.

Das angegebene JDK eines importierten Projekts wurde von AppScan Source nichterkannt. Um dies zu korrigieren, fügen Sie es als erkannte JDK hinzu, indem Siedie Seite für Java und JSP-Benutzervorgaben verwenden.

CRWSA1295W Das Projekt weist kein Java Development Kit(JDK) auf. Für dieses Projekt wurde das standardmäßige JDKfestgelegt.

Das angegebene JDK eines importierten Projekts wurde von AppScan Source nichterkannt. Um dies zu korrigieren, fügen Sie es als erkannte JDK hinzu, indem Siedie Seite für Java und JSP-Benutzervorgaben verwenden.

CRWSA1300E Mindestens ein Projekt weist kein JDK auf und esist kein Standard-JDK festgelegt. Nachdem Sie auf 'OK' geklickthaben, werden Sie zur Wahl Ihres Standard-JDKs aufgefordert.Künftig wird dieses JDK für alle Projekte verwendet, bei denenkein JDK explizit festgelegt ist.

CRWSA1305E Die Anwendung ist schreibgeschützt. Änderungen,die an der Beurteilung vorgenommen werden, bleiben bei künfti-gen Überprüfungen nicht bestehen.

Es ist möglich, dass es sich um eine ferne Anwendung handelt oder dass sie ge-speichert werden muss. In beiden Fällen stehen Änderungen, die an der Beurtei-lung vorgenommen werden, zukünftigen Überprüfungen nicht zur Verfügung.

CRWSA1340E Registrierung von "{0}" fehlgeschlagen.

CRWSA1345E Die Anwendungsdatei ist nicht beschreibbar.

CRWSA1350E Fehler beim Löschen von Einträgen.

CRWSA1355E Eine Anwendung kann nicht gelöscht werden,während eine Beurteilung ausgeführt wird.

CRWSA1360E Ein Projekt kann nicht gelöscht werden, währendeine Beurteilung ausgeführt wird.

CRWSA1365W Alle Projekte, auf die die Änderungen Anwendungfinden sollen, müssen aktualisiert werden.

CRWSA1370W Einige der ausgewählten Ergebnisse verfügenüber bestehende Anmerkungen. Möchten Sie sie wirklich über-schreiben?

CRWSA1375W Export in Datei fehlgeschlagen.

CRWSA1380W Keine Ergebnisse für Export vorhanden. In denBeurteilungsergebnissen fehlen alle ausgewählten Ergebnisse.

CRWSA1383E Keine Ergebnisse zur Übergabe. Alle ausgewähl-ten Ergebnisse wurden zuvor übergeben und die Vorgabe 'Fehler

Kapitel 7. Fehlernachrichten in AppScan Source-Clientkomponenten 119

Page 126: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

nur einmal übergeben' wurde festgelegt.

CRWSA1385W Die folgenden Felder müssen ausgefüllt werden,um einen Fehler zu übergeben:

CRWSA1395W Bundle erfolgreich in {0} gespeichert.

CRWSA1400E Die Projektdatei "{0}" konnte nicht gefunden wer-den.

Prüfen Sie, ob die AppScan Source-Projektdatei vorhanden ist.

CRWSA1405E Das ASP.NET-Verzeichnis "{0}" konnte nicht gefun-den werden.

Prüfen Sie, ob das ASP.NET-Verzeichnis vorhanden ist.

CRWSA1410E Fehler beim Importieren der Projektdatei "{0}".

CRWSA1415E Fehler beim Importieren des ASP.NET-Verzeichnis-ses "{0}".

CRWSA1420E Fehler beim Erstellen des Projekts.

CRWSA1425E Das Arbeitsverzeichnis "{0}" existiert nicht. Wäh-len Sie ein gültiges Verzeichnis aus.

CRWSA1430E Das Web-Kontextstammelement "{0}" existiertnicht. Wählen Sie ein gültiges Verzeichnis oder eine gültigeWAR-Datei aus.

CRWSA1435E Bei dem Web-Kontextstammverzeichnis "{0}" darfes sich nicht um ein übergeordnetes Verzeichnis oder um das-selbe Verzeichnis wie das Projektverzeichnis "{1}" handeln.

CRWSA1440E Das Kontextstammelement "{0}" ist nicht vorhan-den. Wählen Sie ein gültiges Verzeichnis aus.

CRWSA1445E Die Datei bzw. das Verzeichnis "{0}" ist nicht vor-handen. Wählen Sie eine gültige Datei bzw. ein gültiges Verzeich-nis aus.

CRWSA1450E Bei dem Inhaltsstammverzeichnis "{0}" darf essich nicht um ein übergeordnetes Verzeichnis oder um dasselbeVerzeichnis wie das Projektverzeichnis "{1}" handeln.

CRWSA1455E Die Methode "{0}" verfügt bereits über ein Aktions-objekt für Typ "{1}".

CRWSA1460E "{0}" ist kein gültiges Verzeichnis.

CRWSA1465E JDK für Projekt fehlt.

CRWSA1470E Dieses Java-/JSP-Projekt verweist auf ein ungülti-ges Java Development Kit ({0}). Es wird ein Standard-JDK zurVerfügung gestellt.

120 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 127: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

CRWSA1475E JDK-Name ist bereits vorhanden.

CRWSA1480E Ein JDK namens "{0}" ist bereits vorhanden.

Geben Sie einen eindeutigen JDK-Namen an.

CRWSA1485E Der JDK-Name muss über mindestens ein Zeichenverfügen.

CRWSA1490E Für diese Operation muss ein JDK ausgewähltwerden.

Ein vorhandenes JDK muss ausgewählt werden.

CRWSA1495E Speichern nicht möglich.

CRWSA1500E Speichern nicht möglich, während eine Beurtei-lung ausgeführt wird.

CRWSA1505E Das Quellenstammelement "{0}" ist bereits alsStammelement vorhanden.

CRWSA1510E Das Verzeichnis "{0}" ist nicht vorhanden. WählenSie ein gültiges Verzeichnis aus.

CRWSA1515E Das Vorkompilierungsverzeichnis "{0}" ist nichtvorhanden. Wählen Sie ein gültiges Verzeichnis aus.

CRWSA1520E Die Klasse {0} ist sowohl in der Abhängigkeit {1}als auch auf dem Quellenpfad vorhanden.

Überprüfen Sie die angegebenen Abhängigkeiten.

CRWSA1525E Nicht erwarteter Dateityp auf Klassenpfad ({0}).

Stellen Sie sicher, dass Ihr Java-Projekt nur .jar-, .class- oder .java-Dateien ent-hält.

CRWSA1530E Projekte können nicht validiert werden, währendeine Überprüfung ausgeführt wird.

CRWSA1535E

CRWSA1540E Der Konfigurationsname ist leer.

CRWSA1545E Ungültiges Quellenstammverzeichnis.

CRWSA1550E Quellenstammverzeichnis "{0}" ist ungültig. Quel-lenstammverzeichnisse, die Dateien sind, müssen sich unterdem Arbeitsverzeichnis befinden.

CRWSA1555E Es konnte kein gültiges Web-Kontextstammver-zeichnis gefunden werden.

CRWSA1565E Codierungsroutine für {0} erfolgreich erstellt.

Kapitel 7. Fehlernachrichten in AppScan Source-Clientkomponenten 121

Page 128: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

CRWSA1568E Variablen im Pfad "{0}" konnten nicht aufgelöstwerden.

Fügen Sie die Pfadvariable auf der Vorgabenseite 'Variablen ändern' hinzu.

CRWSA1570E Ungültiger Attributname {0}.

CRWSA1575E Ungültiger Attributwert {0}.

CRWSA1580E Sie müssen zunächst ein Attribut erstellen, bevorSie Werte hinzufügen können.

CRWSA1585E Die Anwendung muss einen nicht leeren Namenhaben.

CRWSA1590E Doppelter Eintrag "{0}". Geben Sie einen eindeuti-gen Wert an.

CRWSA1595E Der Name darf nicht leer sein.

CRWSA1600E Zum Generieren des Berichts muss eine Ansichtmit Ergebnissen ausgewählt werden.

CRWSA1625E Zugriff verweigert. Aktuelles Konto hat keine Be-rechtigung für {0}.

CRWSA1630E Beim Import des Arbeitsbereichs ist ein Fehleraufgetreten. Stellen Sie sicher, dass Ihr Importmodul unter 'Vor-gaben > Importmodule des Eclipse-Arbeitsbereichs' ordnungsge-mäß konfiguriert ist.

CRWSA1640E Projekt kann nicht hinzugefügt werden. {0} ist einVerweis oder eine schreibgeschützte Anwendung.

Die Anwendung ist schreibgeschützt oder es handelt sich um einen Verweis auf ei-nen Eclipse-Arbeitsbereich . Es können keine Projekte hinzugefügt werden.

CRWSA1650E Formatvorlage {0} kann nicht gefunden werden.

CRWSA1655E Für das Muster ist ein Name erforderlich.

CRWSA1660E Für das Muster muss mindestens ein Kriterium an-gegeben werden.

CRWSA1665E Die Kriterien dürfen nicht leer sein.

CRWSA1670E Für das Muster ist eine Datei erforderlich.

CRWSA1675E Eine Überprüfungsregel mit dem Namen "{0}" istbereits vorhanden. Wählen Sie einen eindeutigen Namen aus.

CRWSA1700E Der Berichtsentwurf ist derzeit leer. Fügen Sie inder Registerkarte 'Berichtsentwurf' Berichtselemente hinzu.

CRWSA1705E Es sind keine zu exportierenden Bundles vorhan-den.

122 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 129: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

CRWSA1710E Es ist keine offene Beurteilung vorhanden, die ex-portiert werden kann.

CRWSA1715E Die Kennwörter, die Sie in den Feldern 'NeuesKennwort' und 'Neues Kennwort bestätigen' eingegeben haben,stimmen nicht überein.

CRWSA1725E Das Kennwort ist zu kurz. Geben Sie ein Kennwortmit mindestens 6 und maximal 16 Zeichen ein.

CRWSA1730E Das Kennwort ist zu lang. Geben Sie ein Kennwortmit mindestens 6 und maximal 16 Zeichen ein.

CRWSA1735E Datei mit Einstellungen "{0}" hat keinen Anzeige-namen und wird übersprungen.

CRWSA1736E Datei <dateiname> konnte nicht geöffnet werden.Stellen Sie sicher, dass der Benutzer, für den der Automations-server läuft, aktiv ist und ausreichend Berechtigungen für dieDatei hat.

CRWSA1737E Datei <dateiname> konnte nicht geöffnet werden.Stellen Sie sicher, dass der Benutzer, für den der Automations-server läuft, aktiv ist und ausreichend Berechtigungen für dieDatei hat und dass es sich um eine lokale Anwendung handelt.

CRWSA1740E Die Datei mit Einstellungen namens "{0}" ist be-reits geöffnet.

CRWSA1745E Die Datei mit Einstellungen "{0}" ist für den Benut-zer nicht sichtbar.

CRWSA1750I Diese Registerkarte enthält einige Einstellungen,die einen Neustart der Services von AppScan Source erfordern,damit Änderungen wirksam werden. Schließen Sie vor dem Neu-start der Services von AppScan Source alle Clientanwendungenvon AppScan Source, die auf diesem Computer ausgeführt wer-den oder mit ihm verbunden sind. Möchten Sie die Services jetzterneut starten?

CRWSA1755E {0} verfügt über eine Einstellung, bei der mindes-tens eines der erforderlichen Attribute (name, display_name odertype) fehlt. Diese Datei wird nicht geladen.

CRWSA1760E Es ist ein Lizenzierungsfehler aufgetreten:

CRWSA1775E Die Initialisierung der Verbindung der AppScanEnterprise Console ist fehlgeschlagen. Überprüfen Sie die Ver-fügbarkeit der AppScan Enterprise Console mit diesen Einstel-lungen in einem externen Browser.

CRWSA1780E CRWSA1780E Die Initialisierung der Verbindungder AppScan Enterprise Console ist fehlgeschlagen. Prüfen Siedie Protokolle und/oder überprüfen Sie die Verfügbarkeit derAppScan Enterprise Console mit diesen Einstellungen in einemexternen Browser. - Fehlerdetails: - {0}

Kapitel 7. Fehlernachrichten in AppScan Source-Clientkomponenten 123

Page 130: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

CRWSA1790E Veröffentlichung der Beurteilung in AppScanEnterprise Console ist fehlgeschlagen. Prüfen Sie die Protokolleund/oder wenden Sie sich an Ihren Systemadministrator.

CRWSA1795E Initialisierung des Veröffentlichungsservice fehlge-schlagen. Prüfen Sie die Verbindungseinstellungen IhrerAppScan Enterprise Console.

CRWSA1800E Initialisierung des Veröffentlichungsservice fehlge-schlagen. Überprüfen Sie die Verfügbarkeit der AppScan Enter-prise Console und Ihre Fähigkeit, sich anzumelden.

CRWSA1805E Datei kann nicht heruntergeladen werden. BeimVersuch, eine Verbindung zu der Site aufzubauen, ist ein Fehleraufgetreten.

Stellen Sie sicher, dass Ihre Internetverbindung funktioniert und dass die Site ver-fügbar ist.

CRWSA1810E Bevor das in der Produktversion 7.0.0 erstellteBundle geöffnet werden kann, müssen Sie sich anmelden.

CRWSA9999E AppScan Source for Analysis hat einen kritischenFehler festgestellt und muss geschlossen werden.

124 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 131: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Kapitel 8. Positionen für Installations- und Benutzerdatenda-teien

Wenn Sie AppScan Source installieren, werden Benutzerdaten- und Konfigurations-dateien außerhalb des Installationsverzeichnisses gespeichert.v „Standardinstallationsverzeichnis”v „Standarddatenverzeichnis für AppScan Source”v „Position der temporären Dateien von AppScan Source” auf Seite 126

Standardinstallationsverzeichnis

Wenn AppScan Source installiert wird, dann wird die Software unter einer der fol-genden Standardpositionen abgelegt:v 32-Bit-Versionen von Microsoft Windows:

<SYSTEMDRIVE>:\Program Files\IBM\AppScanSource

v 64-Bit-Versionen von Microsoft Windows:<SYSTEMDRIVE>:\Program Files (x86)\IBM\AppScanSource

v Linux: Wenn Sie der Rootbenutzer sind, dann installiert der InstallationsassistentIhre Software in /opt/ibm/appscansource. Wenn Sie nicht der Rootbenutzer sind,können Sie das AppScan Source for Development-Eclipse-Plug-in installieren,das standardmäßig in <ausgangsverzeichnis>/AppScan_Source installiert wird.

v OS X: /Applications/AppScanSource.app

Wichtig:

v Der Name des Installationsverzeichnisses darf nur englische Zeichen enthalten.Ordner mit Namen, die andere als englische Zeichen enthalten, sind nicht zuläs-sig.

v Wenn Sie unter Windows installieren, müssen Sie über Administratorrechte ver-fügen, um AppScan Source-Komponenten installieren zu können.

v Wenn Sie unter Linux installieren, müssen Sie über Rootberechtigungen verfü-gen, um AppScan Source-Serverkomponenten installieren zu können.

Standarddatenverzeichnis für AppScan Source

AppScan Source-Daten bestehen aus Elementen wie z. B. Konfigurations-, Beispiel-und Protokolldateien. Wenn AppScan Source installiert wird, dann werden Daten-dateien standardmäßig unter den folgenden Positionen abgelegt:v Microsoft Windows: <SYSTEMDRIVE>:\ProgramData\IBM\AppScanSource

Anmerkung: Bei ProgramData\ handelt es sich um einen verdeckten Ordner. Umihn anzuzeigen, müssen Sie die Benutzervorgaben für die Anzeige im Explorerändern, um verdeckte Dateien und Ordner anzuzeigen.

v Linux: /var/opt/ibm/appscansourcev OS X: /Users/Shared/AppScanSource

Informationen zum Ändern der Position des AppScan Source-Datenverzeichnissesfinden Sie in „Datenverzeichnis für AppScan Source ändern” auf Seite 126.

© Copyright IBM Corp. 2003, 2014 125

Page 132: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Position der temporären Dateien von AppScan Source

Bestimmte AppScan Source-Operationen führen zur Erstellung temporärer Dateien,die standardmäßig unter den folgenden Positionen abgelegt sind:v Microsoft Windows: <SYSTEMDRIVE>:\ProgramData\IBM\AppScanSource\temp

Anmerkung: Bei ProgramData\ handelt es sich um einen verdeckten Ordner. Umihn anzuzeigen, müssen Sie die Benutzervorgaben für die Anzeige im Explorerändern, um verdeckte Dateien und Ordner anzuzeigen.

v Linux: /var/opt/ibm/appscansource/tempv OS X: /Users/Shared/AppScanSource/temp

Die Position der temporären Dateien befindet sich immer in einem temporären Ver-zeichnis (temp) im Datenverzeichnis von AppScan Source. Sie können die Positionder temporären Dateien ändern, indem Sie das Datenverzeichnis wie in „Datenver-zeichnis für AppScan Source ändern” beschrieben ändern. Dadurch wird das Ver-zeichnis temp unter das Datenverzeichnis versetzt, das Sie ausgewählt haben.

Datenverzeichnis für AppScan Source ändernBei Bedarf kann die Position des Datenverzeichnisses von AppScan Source geän-dert werden, um den Festplattenspeicherplatz zu verwalten. Sie können die Positi-on nach der AppScan Source-Installation ändern, indem Sie die in diesem Ab-schnitt aufgeführten Schritte ausführen.

Vorbereitende Schritte

Bevor Sie diese Aufgabe ausführen, müssen Sie sicherstellen, dass alle AppScanSource-Clientanwendungen beendet oder heruntergefahren wurden. FolgendeAppScan Source-Clientanwendungen stehen zur Verfügung:v AppScan Source for Analysisv AppScan Source for Development (Eclipse- oder Visual Studio-Plug-in) (nur un-

ter Windows und Linux unterstützt)v AppScan Source-Befehlzeilenschnittstelle (CLI)v AppScan Source for Automation

Darüber hinaus müssen Sie, wenn auf ihrem System AppScan Source for Automati-on installiert wurde, sicherstellen, dass der Automatisierungsserver heruntergefah-ren wurde:v Unter Windows müssen Sie den Dienst (Service) IBM Security AppScan Source

Automation stoppen.v Unter Linux müssen Sie den folgenden Befehl eingeben: /etc/init.d/ounceautod

stop

v Geben Sie auf OS X diesen Befehl ein: launchctl stop com.ibm.appscan.autod

Vorgehensweise1. Definieren Sie die Umgebungsvariable

APPSCAN_SOURCE_SHARED_DATA=<datenverzeichnis>. Hierbei steht<datenverzeichnis> für die Position, unter der die Daten von AppScan Sourcegespeichert werden sollen.

Anmerkung:

126 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 133: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

v Die Position von <datenverzeichnis> muss mit einem vollständigen und ab-soluten Pfad angegeben werden, der auf demselben System, auf dem auchdie AppScan Source-Installation implementiert ist, bereits vorhanden seinmuss.

v Der Verzeichnisname <data_dir> darf nur englische Zeichen enthalten. Ord-ner mit Namen, die andere als englische Zeichen enthalten, sind nicht zuläs-sig.

2. Suchen Sie das Standarddatenverzeichnis, das bei der Installation von AppScanSource erstellt wurde (weitere Informationen zur Position des Standarddaten-verzeichnisses finden Sie in „Standarddatenverzeichnis für AppScan Source”auf Seite 125).

3. Kopieren Sie den Inhalt des Standarddatenverzeichnisses an die Position von<datenverzeichnis>, die in der Umgebungsvariablen angegeben wurde, oderverschieben Sie den Inhalt dorthin.

4. Gilt nur, wenn AppScan Source for Automation unter Linux Linux installiertwurde:a. Bearbeiten Sie die Datei /etc/init.d/ounceautod.b. Suchen Sie die folgende Zeile:

su - ounce -c’export LD_LIBRARY_PATH="/opt/IBM/AppScan_Source/bin":$LD_LIBRARY_PATH &&cd "/opt/IBM/AppScan_Source/bin" &&"/opt/IBM/AppScan_Source/bin/ounceautod" -s’ >>"/var/opt/ibm/appscansource/logs/ounceautod_output.log" 2>&1 &

Ersetzen Sie sie durch den folgenden Code:su - ounce -c’export APPSCAN_SOURCE_SHARED_DATA=<new data directory path here> &&export LD_LIBRARY_PATH="/opt/IBM/AppScan_Source/bin":$LD_LIBRARY_PATH &&cd "/opt/IBM/AppScan_Source/bin" &&"/opt/IBM/AppScan_Source/bin/ounceautod" -s’ >>"<new data directory path here>/logs/ounceautod_output.log" 2>&1 &

Anmerkung: Der obige Befehl stellt eine Zeile dar.c. Speichern Sie die Datei /etc/init.d/ounceautod.

Nächste Schritte

Wenn Sie AppScan Source for Automation installiert haben, dann starten Sie denAutomatisierungsserver:v Unter Windows müssen Sie den Dienst (Service) IBM Security AppScan Source

Automation starten.v Unter Linux müssen Sie den folgenden Befehl eingeben: /etc/init.d/unceautod

start

v Geben Sie auf OS X diesen Befehl ein: launchctl start com.ibm.appscan.autod

Kapitel 8. Positionen für Installations- und Benutzerdatendateien 127

Page 134: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

128 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 135: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Rechtliche Bemerkungen

(C) Copyright IBM Corporation 2003, 2014.

Teile des Produkts basieren auf Design Patterns: Elements of Reusable Object-Ori-ented Software von Erich Gamma, Richard Helm, Ralph Johnson und John Vlissi-des, Copyright (C) 1995 von Addison-Wesley Publishing Company, Inc. Alle Rechtevorbehalten.

(C) Copyright IBM Deutschland GmbH 2003, 2012.

Die vorliegenden Informationen wurden für Produkte und Services entwickelt, dieauf dem deutschen Markt angeboten werden. Möglicherweise bietet IBM may diein dieser Dokumentation beschriebenen Produkte, Services oder Funktionen in an-deren Ländern nicht an. Informationen über die gegenwärtig im jeweiligen Landverfügbaren Produkte und Services sind beim zuständigen IBM Ansprechpartnererhältlich. Hinweise auf IBM Lizenzprogramme oder andere IBM Produkte bedeu-ten nicht, dass nur Programme, Produkte oder Services von IBM verwendet wer-den können. Anstelle der IBM Produkte, Programme oder Services können auchandere, ihnen äquivalente Produkte, Programme oder Services verwendet werden,solange diese keine gewerblichen oder anderen Schutzrechte von IBM verletzen.Die Verantwortung für den Betrieb von Produkten, Programmen und Services an-derer Anbieter liegt beim Kunden.

Für in diesem Handbuch beschriebene Erzeugnisse und Verfahren kann es IBM Pa-tente oder Patentanmeldungen geben. Mit der Auslieferung dieser Dokumentationist keine Lizenzierung dieser Patente verbunden. Lizenzanforderungen sind schrift-lich an folgende Adresse zu richten (Anfragen an diese Adresse müssen auf Eng-lisch formuliert werden):

IBM Director of LicensingIBM Europe, Middle East & AfricaTour Descartes2, avenue Gambetta92066 Paris La DefenseFrance

Trotz sorgfältiger Bearbeitung können technische Ungenauigkeiten oder Druckfeh-ler in dieser Veröffentlichung nicht ausgeschlossen werden. Die hier enthaltenen In-formationen werden in regelmäßigen Zeitabständen aktualisiert und als Neuausga-be veröffentlicht. IBM kann ohne weitere Mitteilung jederzeit Verbesserungen und/oder Änderungen an den in dieser Veröffentlichung beschriebenen Produkten und/oder Programmen vornehmen.

Verweise in diesen Informationen auf Websites anderer Anbieter werden lediglichals Service für den Kunden bereitgestellt und stellen keinerlei Billigung des Inhaltsdieser Websites dar. Das über diese Websites verfügbare Material ist nicht Bestand-teil des Materials für dieses IBM Produkt. Die Verwendung dieser Websites ge-schieht auf eigene Verantwortung.

Werden an IBM Informationen eingesandt, können diese beliebig verwendet wer-den, ohne dass eine Verpflichtung gegenüber dem Einsender entsteht.

© Copyright IBM Corp. 2003, 2014 129

Page 136: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Lizenznehmer des Programms, die Informationen zu diesem Produkt wünschenmit der Zielsetzung: (i) den Austausch von Informationen zwischen unabhängigvoneinander erstellten Programmen und anderen Programmen (einschließlich desvorliegenden Programms) sowie (ii) die gemeinsame Nutzung der ausgetauschtenInformationen zu ermöglichen, wenden sich an folgende Adresse:

Intellectual Property Dept. for Rational SoftwareIBM Corporation20 Maguire RoadLexington, Massachusetts 02421-3112U.S.A.

Die Bereitstellung dieser Informationen kann unter Umständen von bestimmtenBedingungen - in einigen Fällen auch von der Zahlung einer Gebühr - abhängigsein.

Die Lieferung des in diesem Dokument beschriebenen Lizenzprogramms sowie deszugehörigen Lizenzmaterials erfolgt auf der Basis der IBM Rahmenvereinbarungbzw. der Allgemeinen Geschäftsbedingungen von IBM, der IBM InternationalenNutzungsbedingungen für Programmpakete oder einer äquivalenten Vereinbarung.

Alle in diesem Dokument enthaltenen Leistungsdaten stammen aus einer kontrol-lierten Umgebung. Die Ergebnisse, die in anderen Betriebsumgebungen erzielt wer-den, können daher erheblich von den hier erzielten Ergebnissen abweichen. EinigeDaten stammen möglicherweise von Systemen, deren Entwicklung noch nicht ab-geschlossen ist. Eine Gewährleistung, dass diese Daten auch in allgemein verfügba-ren Systemen erzielt werden, kann nicht gegeben werden. Darüber hinaus wurdeneinige Daten unter Umständen durch Extrapolation berechnet. Die tatsächlichen Er-gebnisse können davon abweichen. Benutzer dieses Dokuments sollten die entspre-chenden Daten in ihrer spezifischen Umgebung prüfen.

Alle Informationen zu Produkten anderer Anbieter stammen von den Anbieternder aufgeführten Produkte, deren veröffentlichten Ankündigungen oder anderenallgemein verfügbaren Quellen. IBM hat diese Produkte nicht getestet und kanndaher keine Aussagen zu Leistung, Kompatibilität oder anderen Merkmalen ma-chen. Fragen zu den Leistungsmerkmalen von Produkten anderer Anbieter sind anden jeweiligen Anbieter zu richten.

Aussagen über Pläne und Absichten von IBM unterliegen Änderungen oder kön-nen zurückgenommen werden und repräsentieren nur die Ziele von IBM.

Diese Veröffentlichung enthält Beispiele für Daten und Berichte des alltäglichenGeschäftsablaufs. Sie sollen nur die Funktionen des Lizenzprogramms illustrierenund können Namen von Personen, Firmen, Marken oder Produkten enthalten. Allediese Namen sind frei erfunden; Ähnlichkeiten mit tatsächlichen Namen und Ad-ressen sind rein zufällig.

Copyrightlizenz

Diese Veröffentlichung enthält Beispielanwendungsprogramme, die in Quellenspra-che geschrieben sind und Programmiertechniken in verschiedenen Betriebsumge-bungen veranschaulichen. Sie dürfen diese Beispielprogramme kostenlos kopieren,ändern und verteilen, wenn dies zu dem Zweck geschieht, Anwendungsprogram-me zu entwickeln, zu verwenden, zu vermarkten oder zu verteilen, die mit derAnwendungsprogrammierschnittstelle für die Betriebsumgebung konform sind, fürdie diese Beispielprogramme geschrieben werden. Diese Beispiele wurden nicht

130 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 137: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

unter allen denkbaren Bedingungen getestet. Daher kann IBM die Zuverlässigkeit,Wartungsfreundlichkeit oder Funktion dieser Programme weder zusagen nochgewährleisten.

Kopien oder Teile der Beispielprogramme bzw. daraus abgeleiteter Code müssenfolgenden Copyrightvermerk beinhalten:

(C) (Name Ihrer Firma) (Jahr). Teile des vorliegenden Codes wurden aus Beispiel-programmen der IBM Corp. abgeleitet. (C) Copyright IBM Corp 2003, 2012.

Wird dieses Buch als Softcopy (Book) angezeigt, erscheinen keine Fotografien oderFarbabbildungen.

Marken

Siehe http://www.ibm.com/legal/copytrade.shtml.

Rechtliche Bemerkungen 131

Page 138: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

132 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 139: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Index

AAnforderungs-ID 79Anwendungen

erstellen mit Ounce/Ant 44AppScan Enterprise Server

SSL-Zertifikat 17AppScan Source

AppScan Enterprise Server-Anmel-dung

SSL-Zertifikat 17AppScan Source for Automation 71, 77

Anmeldung 77Befehlszeile 79Einstellungsdatei 78

max_concurrent_requests 78port 78server_hostname 78

Protokollierung 79Automatisierungsserver

Anforderungs-ID 80Befehlszeile 79Einstellungsdatei 78

max_concurrent_requests 78port 78server_hostname 78

Protokollierung 79

BBefehlszeilenschnittstelle 1

automatisierte Beurteilungen durch-führen 35

Befehle 4Anmeldung 16delete 9deleteassess 10deleteuser 10delvar 10details 10echo 11getaseinfo 12help 12importieren 13info 13Informationen 8list 14listassess 14listgroups 15listusers 15log 16login_local 18logout 18moduser 18newuser 20openapplication 23openassessmentfile 23password 24printuser 24publishassess 25publishassessase 26

Befehlszeilenschnittstelle (Forts.)Befehle (Forts.)

quit 27record 27refresh 28register 28removeassess 28report 29scan 30script 32setaseinfo 33setcurrentobject 34setvar 34unregister 35Zusammenfassung 4

Berechtigungen 2in Landessprache anzeigen 2Kontext 1Objektbaumstruktur 1starten 2Syntax 3über Builddienstprogramm Ounce/

Ant aufrufen 44Befehlszeilenschnittstelle - Ausgabeforma-

te 29Berechtigungen

Befehl moduser 18newuser, Befehl 20

Berichte 29Berichtsausgabeformate 80

html 80pdf-annotated 80pdf-comprehensive 80pdf-detailed 80pdf-summary 80zip 80

Berichtstypen suchen 80

CCLI (siehe Befehlszeilenschnittstelle) 1

DData Access-API 45

JVM-Argumente 45Objektmodell 46verwenden 48

Beurteilung öffnen 48Ergebnisse ausgeben 48Trace ausgeben 49veröffentlichte Beurteilungen abru-

fen 49

FFehlernachrichten

Clientkomponenten 115Framework for Frameworks 85

angepasster WSDL-Scanner 111

Framework for Frameworks (Forts.)ausgeführte allgemeine Aktionen 94Beispiel 86

importieren 87Informationen 87JAR-Datei erstellen 91JAR-Datei exportieren 94Manifest erstellen 91

Hauptkomponenten 86übergeordnete synthetische Metho-

den 104Beispiel 108VDB-Format 105verwenden 105

verwendenF4FHandler-Klasse erstellen 90

IInstallation

Dateiposition 125Datenposition 125

ändern 126

KKlassen und Methoden der Data Access-

API 50AssessedFile 50

getFilename 51getFindings 50getStats 50

AssessmentDiff 53AssessmentFilter 53

AssessmentFilter 53, 54AssessmentResults 54

getAssessmentForApplication 55getAssessmentForProject 56getAssessments 55getFindings 54getMessages 57getName 57getStats 55

Aufruf 57getCalls 57getClassName 59getColumnNumber 58getFilename 57getLineNumber 58getMethodName 59getSignature 58getSrcContext 58getTraceType 59

Beurteilung 51getAssesseeName 53getAssessments 51getFileByPath 52getFiles 52getFindings 51getStats 51

© Copyright IBM Corp. 2003, 2014 133

Page 140: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

Klassen und Methoden der Data Access-API (Forts.)

ClassificationType 59statische Elemente 59value 60

com.ouncelabs.sdk.AssessmentDiffgetCommonFindings 53getLostFindings 53getNewFindings 53

com.ouncelabs.sdk.Factory 60Anmeldung 61clearCache 61diffAssessments 63getPublishedAssessments 62init 60openAssessment 62shutdown 61

DateProximityUnit 60statische Elemente 60value 60

Ergebnis 63getApiName 63getCallerName 64getClassification 64getDefectInfo 67getDefectSubmissionDate 67getDefectSubmissionUser 67getFilename 63getLineNumber 63getModifiedClassification 66getModifiedSeverity 66getModifiedVulnerabilityType 66getNotes 69getOriginalClassification 65getOriginalSeverity 65getOriginalVulnerabilityType 65getProperties 67getSeverity 64getSrcContext 66getTrace 68getVulnerabilityType 64isExcluded 68

OunceException 71SeverityType 69

statische Elemente 69value 70

Trace 69getCalls 69

LLinux

Befehlszeilenschnittstelle starten 2

OOunce/Ant, Builddienstprogramm

Buildintegration 44ounceCli-Task 44

Ounce/Ant-Erstellungsdienstpro-gramm 39

Anwendungen erstellen 44Apache/Ant-Integration 39Eigenschaften 40

festlegen 41Jar-Datei ant-contrib 39

Ounce/Ant-Erstellungsdienstprogramm(Forts.)

Java JDK-Version 39ounceant.jar 39Projekte benennen 43Projekte erstellen 41

ounceCreateProject 42ounceExclude 43ounceSourceRoot 42ounceWeb 43

Ounce/Maven 71installieren 71Szenarios 72verwenden 72Zielanfragen 73

ounce:application 74ounce:project 74ounce:project-only 75ounce:report 75ounce:scan 75

Ounce/Maven-Plug-inSzenarios

Anwendungen überprüfen 73Anwendungs- und Projektdateien

erstellen 72Berichte mit dem Siteziel integrie-

ren 73Berichterstellung 73

ounceautod 77Anmeldung über die Befehlszeile 77Befehle 79

GenerateReport 80PublishAssessment 81PublishAssessmentASE 82ScanApplication 82Wait 84

Befehlszeile 79Einstellungsdatei 78Protokollierung 79

PProjekte

benennen mit Ounce/Ant 43erstellen mit Ounce/Ant 41

ounceCreateProject 42ounceExclude 43ounceSourceRoot 42ounceWeb 43

SStandardinstallationsverzeichnis 125

WWindows

Befehlszeilenschnittstelle starten 2

134 IBM Security AppScan Source Utilities: Benutzerhandbuch für OS X

Page 141: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X
Page 142: IBM SecurityAppScan Source Utilities Version 9.0.0 · PDF fileIBM SecurityAppScan Source Utilities Version 9.0.0.1 Benutzerhandbuch für OS X

����

Gedruckt in Deutschland