IBM Security AppScan, previously known as IBM Rational AppScan, is a family of web security testing and monitoring tools from the Rational Software division of IBM. AppScan is intended to test Web applications for security vulnerabilities during the development process, when it is least expensive to fix such problems. The product learns the behavior of each application, whether an off-the-shelf application or internally developed, and develops a program intended to test all of its functions for both common and application-specific vulnerabilities.
- AppScan Enterprise Edition– Client-server version used to scale security testing.
- AppScan Standard Edition– Desktop software for automated Web application security testing environment for IT Security, auditors, and penetration testers
- AppScan Source Edition– Prevent data breaches by locating security flaws in the source code
- AppScan Dynamic Analyzer– Help secure web applications deployed on IBM Bluemix.
- AppScan Mobile Analyzer– Help secure mobile applications by detecting dozens of pervasive, published security vulnerabilities.
- Arxan Application Protection for IBM Solutions– Extend vulnerability analysis capabilities to mobile application hardening and runtime protection.
- Virtual Forge CodeProfiler for IBM Security AppScan Source – Identify and remediate vulnerabilities in Advanced Business Application Programming (ABAP) code.
- Installing AppScan:
A summary of the minimum hardware and software required to run Rational AppScan, Version 8.0.
|Processor||Pentium® P4, 2.4 GHz Memory|
|Memory||2 GB RAM|
|Disk Space||30 GB|
|Network||1 NIC 100 Mbps for network communication with configured TCP/IP|
Operating system and software requirements:
|Operating System||·Supported operating systems (both 32–bit and 64–bit editions):
·Windows® XP: Professional, SP2 and SP3
·Windows 2003: Standard and Enterprise, SP1 and SP2 . Windows Vista: Business, Ultimate and Enterprise, SP1 and SP2
·Windows Server 2008: Standard and Enterprise, SP1 and SP2
Note: Rational AppScan smart tags, used when creating custom reports, are not supported for Vista or Windows Server 2008.
|Browser||Microsoft® Internet Explorer Version 6 or later|
|Other||Microsoft .NET Framework Version 2.0 or later (Version 3.0 or later is required for some optional, additional functionality)
(Optional) Adobe® Flash Player for Internet Explorer, Version 126.96.36.199 through 10.0.45.2 inclusive is required for Flash execution (and for viewing instructional videos in some of the advisories).
Earlier and later versions are not supported for Flash execution. For instructions for downloading a supported version see the main User Guide or Online Help. (Optional) Word 2003 or 2007 for using AppScan® smart tags to insert fields for custom report templates. In the case of Word 2003 the following update must also be installed: Update for Office 2003: KB907417
- Close any Microsoft Office applications that are open.
Note: If you have Microsoft Word 2003 or higher installed, Rational AppScan smart tags will be added to its smart tag options during installation. These can be used to insert field codes for creating custom report templates. In order for this to be done, Microsoft Word and any other Microsoft Office programs that use it (such as Microsoft Outlook) must be closed during installation.
- Start Rational AppScan Setup and follow the online instructions. The Installation wizard guides you through the fast and simple installation.
Note: Depending on your operating system, .NET Framework Version 2.0 or 3.0 may be required to operate Rational AppScan. If you have an earlier version, or do not yet have it at all, you are asked if you want to install the required version. (If you select No, installation stops, as Rational AppScan cannot function correctly without the correct version of .NET Framework.)
- You will be asked if you want to install/download GSC (Generic Service Client). This is necessary for exploring Web Services in order to configure a Web Services scan, but is not needed if you will be scanning only Web applications.
- If the GSC installation file is available locally, you are asked if you want to install GSC. If you click Yes it is installed and the Rational AppScan installation completes.
- If the GSC installation file is not available locally you are asked if you want to download it and the Rational AppScan installation completes. To download the GSC installation file click Yes and save the file to your computer. After the download is complete, double-click on the file to install GSC for use with Rational AppScan in scanning Web services.
- Silent install:You can install Rational AppScan “silently”, using the command line and the following parameters: AppScan_Setup.exe /z”InstallMode” /l”LanguageCode” /s /v”INSTALLDIR=\”InstallPath””
Note: Silent installation automatically installs or updates .NET Framework Version 2.0 or 3.0, if required for your operating system.
Important: If you wish to install Generic Service Client (required for scanning Web services, but not for scanning only Web applications) at the same time as you install Rational AppScan, you must run the command line from the folder that contains both the setup (.exe) files.
To install an English version of Rational AppScan in the default directory enter:
AppScan_Setup.exe /l”1033″ /s
To install Japanese versions of Rational AppScan and GSC in the default directories enter: AppScan_Setup.exe /z”GSC” /l”1041″ /s
Note: To include GSC in the installation, this command must be run from the folder that contains both the Rational AppScan and the GSC setup (.exe) files.
To install a Korean version of Rational AppScan in D:\Program Files\AppScan\ enter: AppScan_Setup.exe /l”1042″ /s /v”INSTALLDIR=\”D:\Program Files\AppScan\””
AppScan_Setup.exe /z”REMOVE” /s
- Test-run :If you have an evaluation copy of Rational AppScan (i.e. you have not purchased a license), you can “test-run” the product by scanning IBM’s “AltoroMutual Bank” website, which has been created for demonstration purposes. Use the following URL and login
credentials: URL http://demo.testfire.net/
Note: If you are using an evaluation copy of AppScan, the AltoroMutual Bank website is the only site you can scan.
- Scan stages and scan phases:A Rational AppScan Full Scan consists of two stages: Explore and Test. It is useful to understand the principal behind this, even though most of the scan process is in fact seamless to the user, and little user input is required until the scan is complete.
Explore stage: During the first stage, the site is explored and an application tree is constructed. This is the Explore stage. AppScan analyzes the responses to each request it sends, looking for any indication of a potential vulnerability. When AppScan receives responses that may indicate security vulnerability, it automatically creates tests, as well as noting the validation rules needed to determine which results constitute vulnerability, and the level of security risk involved.
Test stage: During the Test stage, AppScan sends thousands of custom test requests that it created during the Explore stage. It records and analyzes the application’s response to identify security problems and rank their level of security risk.
Scan phases: In practice, the Test stage frequently reveals new links within a site, and more potential security risks. Therefore, after completing the first “phase” of Explore and Test, AppScan automatically begins a new “phase” to deal with the new information. (The default number of phases is four.)
- Web applications vs Web services.AppScan can scan both Web applications and Web services.
Web applications: In the case of regular applications (without Web services) it may be sufficient to supply AppScan with the start URL and login authentication credentials for it to be able to test the site. If necessary you can also manually crawl the site, to give AppScan access to areas that can only be reached through specific user input.
Web services: In the case of Web services the integrated Generic Service Client (GSC) uses the service’s WSDL file to display the individual methods available in a tree format, and creates a user-friendly GUI for sending requests to the service. You can use this interface to input parameters and view the results. The process is “recorded” by AppScan and used to create tests for the service.
|View selector||Main panes|
|Application Tree||As the scan progresses the application tree is populated. By the end of the scan the tree shows all the folders, URLs and files that were found in your application.|
|Result list||Shows relevant results for the selected node in the application tree|
|Detail pane||Shows relevant details for the selected node in the result list, in three tabs: Advisory, Fix Recommendation, and full Request/Response.|
|Dashboard||Shows information about the current results in the form of panels that can be “played” in succession.|
- Workflow :
This section describes a simple workflow using the Scan Configuration Wizard, most suited to new users, or users with a pre-configured scan template. More advanced users may prefer to configure their scan using the Scan Configuration dialog box, Explore some of the site manually (to show Rational AppScan some typical user behavior), and then start the scan.
To scan using the wizard:
- Select a scan template. (You can later adjust the configuration as required.)
- Open the Scan Configuration wizard and choose Web Application Scan or Web Service Scan.
- Use the wizard to set up the scan:
To scan an application:
- Type in the starting URL.
- (Recommended) Perform the login procedure manually.
- (Optional) Review the Test Policy.
To scan a Web service:
- Type in the WSDL file location.
- (Optional) Review the Test Policy.
- Use Generic Service Client (which opens automatically) to send requests to the service while Rational AppScan records your input and the responses received.
Note: You must send at least one request to the service for AppScan to be able to test it.
- (Optional, applications only) Run Scan Expert:
- Run Scan Expert to review the effectiveness of your configuration for the application being scanned. b. Review suggested configuration changes and apply selectively. Note: You can configure Scan Expert to perform its analysis and apply some of its recommendations automatically, when you start the scan.
- Start Automatic Scan.
- (Optional) Run Result Expert to process scan results and add information to the Issue Information tab (Detail pane).
- (Optional) Run Malware Tests to analyze pages and links on your site for malicious or otherwise unwanted content. Note: Malware Test uses data gathered during the Explore stage of a regular scan, so you must have some Explore results for it to function.
- Review Results to evaluate the security status of the site (Result Expert can help you with this), and
- Explore additional links manually
- Print Reports
- Review remediation tasks
- Log defects to your defect tracking system
This section describes standard application scan configuration using the wizard. For advanced configuration methods, and details of Web service scan configuration, refer to the main user guide and online help.
- Launch AppScan.
- In the Welcome Screen, click Create new Scan.
- In the New Scan dialog box, verify that the Launch wizard checkbox is selected.
- In the Predefined Templates area, click Default to use the default template. (If you are using AppScan to scan one of the test sites for which there is a specialized pre-defined template, select that template: Demo.Testfire, Foundstone, or WebGoat.)
- Select Web Application Scan, and click Next for Step 1 of the three-stage setup.
- Type in the URL where the scan will start. Note: Click Advanced if you need to add additional servers or domains.
- Click Next to advance to Step 2.
- Select Recorded Login, then click New. A message appears describing the procedure for recording a login.
- Click OK. The embedded browser opens with the Record button pressed (grayed out).
- Browse to the login page, record a valid login sequence, and then close the browser.
- In the Session Information dialog box, review the login sequence and click OK.
- Click Next to advance to Step 3. At this stage you can review the Test Policy that will be used for the scan (i.e. which categories are used for the scan. Note: By default all except invasive tests are used. Note: The Advanced button lets you control additional test options including privilege escalation (testing the extent to which privileged resources are accessible to users with insufficient access privileges) and multiphase scanning.
- The In-Session Detection checkbox is selected by default, and text indicating that the response is “in-session” is highlighted. During the scan AppScan sends heartbeat requests, checking the responses for this text to verify that it is still logged in (and logs in again as necessary). Verify that the highlighted text is indeed proof of a valid session.
- Click Next.
- Select the appropriate radio button to start Automatic Scan, start with Manual Explore or Later (to start the scan later by clicking the Start icon on the toolbar).
- (Optional) By default the Scan Expert checkbox is selected so that Scan Expert will run when you complete the wizard. You can clear this to proceed directly to the scan stage.
- Click Finish to exit the wizard
- Manual exploring:
Manual Explore lets you browse the application yourself, clicking on links and inputting data. AppScan records your actions, and uses the data to create tests. There are three reasons you might want to explore manually:
To pass anti-automation mechanisms (such as the requirement to type in a random word, displayed as an image) 10 IBM Rational AppScan Standard Edition Getting Started
To explore a specific user process (the URLs, files and parameters that a user would access given a certain scenario)
Because interactive links were discovered during a scan, and you want to fill in the required data to enable a more thorough scan Note: After creating a Manual Explore, you may want to continue with an automatic Explore stage, so that the scan covers your entire application.
- Procedure :
- Click Scan > Manual Explore The embedded browser opens.
- Browse the site, clicking on links and filling in fields as required.
- When finished close the browser.
- Note: You can create a manual explore that contains multiple processes by clicking Pause, browsing to a different location, and then clicking Record to resume recording. The Explored URLs dialog box appears, displaying the URLs that you visited.
- Click OK.
- AppScan checks if any of your input is suitable for adding to the Automatic Form Filler, presents a list, and asks if so asks whether you want to add All, None or Selected Parameters.
- If you want some of your input to be added to the Automatic Form Filler, click Add Selected. Then select items in the Temporary Form Parameters list, and click Move (to move them to the Existing Form Parameters list). Then click OK.
- Click OK. AppScan analyzes the URLs that you crawled and creates tests based on this analysis.
- To run the new tests, click Scan > Continue Scan.
When the scan begins, the Progress Panel appears in the upper part of the screen, and together with the status bar (along the bottom of the screen), shows details of scan progress. The panes are populated with real-time results as they are processed.
- Scheduling scans :
You can schedule scans to start automatically once or at regular intervals.
- Click Tools > Scan Scheduler, then click New.
- Type in a name for the schedule, and fill-in the options you require:
Select Current Scan or a Saved scan (if Saved, browse to the required .scan file)
- Select Daily, Weekly, Monthly, or Once Only.
- Select Date and Time for the scan
- Type in Domain Name and Password
- Click OK.
The schedule name appears in the Scan Scheduler dialog box.
- Working with results:
Results can be displayed in three views: Security Issues, Remediation Tasks, and Application Data. The view is selected by clicking a button in the view selector. The data displayed in all three panes varies with the view selected.
|Security Issues view||Shows the actual issues discovered, from overview level down to individual requests/responses. This is the default view.
Application Tree: Complete application tree. Counters next to each item show the number of issues found for the item.
Result List: Lists issues for the selected note in the application tree, and the severity of each issue.
Detail Pane: Shows advisory, fix recommendations and request/response (including all variants used) for the issue selected in the Result List
|Remediation Tasks view||Provides a To Do list of specific remediation tasks to fix the issues found by the scan.
Application Tree: Complete application tree. Counters next to each item show the number of fix recommendations for that item.
Result List: Lists remediation tasks for the selected node in the application tree, and the priority of each task.
Detail Pane: Shows details of the remediation task selected in the Result List, and all the issues that this remediation will solve.
Application Tree: Complete application tree.
Result List: Select a filter from the pop-up list at the top of the Result List, to determine which information is displayed.
Detail Pane: Details of the item selected in the Result List
Unlike the other two views, Application data view is available even if AppScan has only completed the Explore stage. Use the pop-up list at the top of the Result list to filter the data.
Severity levels The Result List displays the issues for whatever item is selected in the application tree. These can be for:
- Root level: All site issues are displayed
- Page level: All issues for the page
- Parameter level: All issues for a particular request to a particular page
Each issue is assigned one of four security levels:
- High security issue
- Medium security issue
- Low security issue
- Informational security issue
- Security issues tabs:In Security Issues view the vulnerability details for the selected issue appear in the Detail pane in four tabs:
Issue Information A summary of the information available on the other Detail pane tabs. Its main purpose lies in the display of additional information added by Result Expert. This information includes CVSS Metric scorings for the issue, and relevant screen shots, that can be saved with the results and included in reports. Advisory Technical details on the selected issue and links for more information. What has to be fixed and why Fix Recommendations The exact tasks that should be done to make your web application secure against the specific selected issue. Request/Response Shows the speciic tests that were sent to the application, and its response (can be viewed as HTML or in a Web browser).
Variants: If there are variants (different parameters that were sent to the same URL), they can be viewed by clicking the < and > buttons at the top of the tab.
Two tabs at the right of this tab let you view Variant Details and add a Screenshot that will be saved with the results.
- Result Expert: Result Expert consists of various modules that are used to process scan results. The processed results are added to the Issue Information tab of the Detail pane, making the information displayed there more comprehensive and detailed, including screen shots where relevant.
Result Expert is usually run automatically following a full scan, however it can also be run manually at any time, on full or partial scan results. When time is limited and the volume of results is large, you may decide not to run Result Expert, or to disable one or more of its modules. To update the Issue Information tabs of all issues found, click Tools > Run Scan Expert.
- Testing for malware :The Test for malware feature tests your application for malware and links to malicious external domains. It does this by analyzing results obtained from the Explore stage of a regular scan. It is run as a separate set of tests after a regular scan, or at least the Explore stage of a regular scan. The Malware Test icon is only active when there are existing Explore results.
The feature consists of two modules:
Check application content for malicious patterns
Analyzes your application content, as well as content available from links that lead to other domains, for malware patterns, such as malicious executable code. This module can check for malicious patterns in
- Content of visited URLs
- Content retrieved from external links
- File types that are excluded from regular scans
- Check for links to malicious external Web sites Examines all links that lead from your site to a different domain, and for each link returns its ISS category. An Internet connection is required for this, in order to connect to the ISS database.
By default, both modules are selected, but you can adjust this from the Scan Configuration dialog box.
To test for malware:
- Verify that you have Explore stage results for the site, or part of the site, that you want to test. These can be from a full regular scan, from an Explore Only, or from a Manual Explore.
- To make any configuration changes click Scan > Scan Configuration > Malware tab.
- Click the icon on the toolbar, or click Scan > Test for malware. Chapter
The malware progress dialog box appears, and closes when malware testing is over. A status message indicates the success of the testing process. The results are added to the regular scan results in the form of additional Issue Types in the Result List, and full details in the Detail Pane.
You can export the complete scan results as an XML file, or as a relational database. (The database option exports the results into a Firebird database structure. This is open source, and follows ODBC and JDBC standards.)
- Click File > Export and select XML or DB.
- Browse to the location you want, and type in a name for the file.
- Click Save.